@mastra/playground-ui 60.2.1-alpha.0 → 61.0.0-alpha.2

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 (1149) hide show
  1. package/README.md +18 -0
  2. package/dist/{Avatar-bHcyExU7.js → Avatar-Bg_EZRgZ.js} +2 -2
  3. package/dist/{Avatar-bHcyExU7.js.map → Avatar-Bg_EZRgZ.js.map} +1 -1
  4. package/dist/{Avatar-B3PwGdWv.cjs → Avatar-DchBEEMO.cjs} +2 -2
  5. package/dist/{Avatar-B3PwGdWv.cjs.map → Avatar-DchBEEMO.cjs.map} +1 -1
  6. package/dist/{Badge-D3EctKQo.cjs → Badge-DB59RxT5.cjs} +3 -3
  7. package/dist/Badge-DB59RxT5.cjs.map +1 -0
  8. package/dist/{Badge-DmOqFpXW.js → Badge-DId-8rYY.js} +3 -3
  9. package/dist/Badge-DId-8rYY.js.map +1 -0
  10. package/dist/{EmptyState-DyyUFpzY.js → EmptyState-DGzBN0Ix.js} +2 -2
  11. package/dist/{EmptyState-DyyUFpzY.js.map → EmptyState-DGzBN0Ix.js.map} +1 -1
  12. package/dist/{EmptyState-CuoMGNP0.cjs → EmptyState-DvSib3QC.cjs} +2 -2
  13. package/dist/{EmptyState-CuoMGNP0.cjs.map → EmptyState-DvSib3QC.cjs.map} +1 -1
  14. package/dist/{Header-hTHhO02b.js → Header-BXl3AZgO.js} +2 -2
  15. package/dist/{Header-hTHhO02b.js.map → Header-BXl3AZgO.js.map} +1 -1
  16. package/dist/{Header-y51Sfo3G.cjs → Header-W3PBmXia.cjs} +2 -2
  17. package/dist/{Header-y51Sfo3G.cjs.map → Header-W3PBmXia.cjs.map} +1 -1
  18. package/dist/{Notice-B8RIClJD.js → Notice-D4gMAkVI.js} +2 -2
  19. package/dist/{Notice-B8RIClJD.js.map → Notice-D4gMAkVI.js.map} +1 -1
  20. package/dist/{Notice-C4Tgmtgb.cjs → Notice-D4zc_oTj.cjs} +2 -2
  21. package/dist/{Notice-C4Tgmtgb.cjs.map → Notice-D4zc_oTj.cjs.map} +1 -1
  22. package/dist/{Txt-BP1SRHmL.js → Txt-C3cYJgKU.js} +4 -1
  23. package/dist/Txt-C3cYJgKU.js.map +1 -0
  24. package/dist/{Txt-DPmEpNbp.cjs → Txt-DNnvlrBo.cjs} +4 -1
  25. package/dist/Txt-DNnvlrBo.cjs.map +1 -0
  26. package/dist/{activity-CbQG59Oc.cjs → activity-ClKZR5_o.cjs} +2 -2
  27. package/dist/{activity-CbQG59Oc.cjs.map → activity-ClKZR5_o.cjs.map} +1 -1
  28. package/dist/{activity-BoXbE4Kz.js → activity-D0SefV4r.js} +2 -2
  29. package/dist/{activity-BoXbE4Kz.js.map → activity-D0SefV4r.js.map} +1 -1
  30. package/dist/{ask-user-DE8TaPhb.js → ask-user-CqCUiZRR.js} +4 -4
  31. package/dist/{ask-user-DE8TaPhb.js.map → ask-user-CqCUiZRR.js.map} +1 -1
  32. package/dist/{ask-user-XYY0fUoI.cjs → ask-user-DBb0lUh2.cjs} +4 -4
  33. package/dist/{ask-user-XYY0fUoI.cjs.map → ask-user-DBb0lUh2.cjs.map} +1 -1
  34. package/dist/buttons-group.css +1 -1
  35. package/dist/{code-BeWhOFT4.js → code-C8akLzcu.js} +12 -9
  36. package/dist/code-C8akLzcu.js.map +1 -0
  37. package/dist/{code-B-x-9sJ1.cjs → code-D_sH618U.cjs} +12 -9
  38. package/dist/code-D_sH618U.cjs.map +1 -0
  39. package/dist/{code-block-Bnz7Pq0Q.js → code-block-CXZNO_qi.js} +6 -5
  40. package/dist/{code-block-Bnz7Pq0Q.js.map → code-block-CXZNO_qi.js.map} +1 -1
  41. package/dist/{code-block-C3DbSINk.cjs → code-block-z2hVcNq7.cjs} +7 -6
  42. package/dist/{code-block-C3DbSINk.cjs.map → code-block-z2hVcNq7.cjs.map} +1 -1
  43. package/dist/collapsible-box-DW-y0Oi1.js +67 -0
  44. package/dist/collapsible-box-DW-y0Oi1.js.map +1 -0
  45. package/dist/collapsible-box-DdUueeh6.cjs +69 -0
  46. package/dist/collapsible-box-DdUueeh6.cjs.map +1 -0
  47. package/dist/{combobox-RzEkcOuu.cjs → combobox-DPpiBLWV.cjs} +3 -3
  48. package/dist/{combobox-RzEkcOuu.cjs.map → combobox-DPpiBLWV.cjs.map} +1 -1
  49. package/dist/{combobox-DKFPbNMB.js → combobox-DoJgbq9N.js} +3 -3
  50. package/dist/{combobox-DKFPbNMB.js.map → combobox-DoJgbq9N.js.map} +1 -1
  51. package/dist/{combobox-styles-mbcWlNZQ.js → combobox-styles-BuHYzri9.js} +3 -3
  52. package/dist/combobox-styles-BuHYzri9.js.map +1 -0
  53. package/dist/{combobox-styles-qL3FSgmU.cjs → combobox-styles-zdW4cHSq.cjs} +3 -3
  54. package/dist/combobox-styles-zdW4cHSq.cjs.map +1 -0
  55. package/dist/{command-DFin7kHN.js → command-CXPbrw66.js} +7 -4
  56. package/dist/command-CXPbrw66.js.map +1 -0
  57. package/dist/{command-Bm0VcX7X.cjs → command-DD3WIrQX.cjs} +7 -4
  58. package/dist/command-DD3WIrQX.cjs.map +1 -0
  59. package/dist/{comment-DKWkzdMj.js → comment-B1Cf9w4Z.js} +2 -2
  60. package/dist/{comment-DKWkzdMj.js.map → comment-B1Cf9w4Z.js.map} +1 -1
  61. package/dist/{comment-DWY6D0pZ.cjs → comment-DnbibTOe.cjs} +2 -2
  62. package/dist/{comment-DWY6D0pZ.cjs.map → comment-DnbibTOe.cjs.map} +1 -1
  63. package/dist/components/Avatar.cjs.js +1 -1
  64. package/dist/components/Avatar.es.js +1 -1
  65. package/dist/components/Badge.cjs.js +1 -1
  66. package/dist/components/Badge.es.js +1 -1
  67. package/dist/components/ChatShell.cjs.js +6 -5
  68. package/dist/components/ChatShell.cjs.js.map +1 -1
  69. package/dist/components/ChatShell.es.js +6 -5
  70. package/dist/components/ChatShell.es.js.map +1 -1
  71. package/dist/components/ClampedText.cjs.js +1 -1
  72. package/dist/components/ClampedText.es.js +1 -1
  73. package/dist/components/Code.cjs.js +1 -1
  74. package/dist/components/Code.es.js +1 -1
  75. package/dist/components/CodeBlock.cjs.js +1 -1
  76. package/dist/components/CodeBlock.es.js +1 -1
  77. package/dist/components/CollapsibleBox.cjs.js +3 -2
  78. package/dist/components/CollapsibleBox.cjs.js.map +1 -1
  79. package/dist/components/CollapsibleBox.es.js +2 -1
  80. package/dist/components/CollapsibleBox.es.js.map +1 -1
  81. package/dist/components/Combobox.cjs.js +2 -2
  82. package/dist/components/Combobox.es.js +2 -2
  83. package/dist/components/Command.cjs.js +1 -1
  84. package/dist/components/Command.es.js +1 -1
  85. package/dist/components/CommandPalette.cjs.js +2 -2
  86. package/dist/components/CommandPalette.es.js +2 -2
  87. package/dist/components/Comment.cjs.js +4 -4
  88. package/dist/components/Comment.es.js +5 -5
  89. package/dist/components/DataCodeSection.cjs.js +1 -1
  90. package/dist/components/DataCodeSection.es.js +1 -1
  91. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  92. package/dist/components/DataDetailsPanel.es.js +2 -2
  93. package/dist/components/DataList.cjs.js +4 -4
  94. package/dist/components/DataList.es.js +4 -4
  95. package/dist/components/DataPanel.cjs.js +1 -1
  96. package/dist/components/DataPanel.es.js +1 -1
  97. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  98. package/dist/components/DateRangeTimeline.es.js +1 -1
  99. package/dist/components/DateTimePicker.cjs.js +2 -2
  100. package/dist/components/DateTimePicker.es.js +2 -2
  101. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  102. package/dist/components/DateTimeRangePicker.es.js +1 -1
  103. package/dist/components/EmptyState.cjs.js +1 -1
  104. package/dist/components/EmptyState.es.js +1 -1
  105. package/dist/components/Entity.cjs.js +1 -1
  106. package/dist/components/Entity.es.js +1 -1
  107. package/dist/components/EntityHeader.cjs.js +1 -1
  108. package/dist/components/EntityHeader.es.js +1 -1
  109. package/dist/components/Entry.cjs.js +1 -1
  110. package/dist/components/Entry.es.js +1 -1
  111. package/dist/components/EnvironmentVariablesEditor.cjs.js +5 -5
  112. package/dist/components/EnvironmentVariablesEditor.es.js +5 -5
  113. package/dist/components/Field.cjs.js +1 -1
  114. package/dist/components/Field.es.js +1 -1
  115. package/dist/components/FileDropBackdrop.cjs.js +1 -1
  116. package/dist/components/FileDropBackdrop.es.js +1 -1
  117. package/dist/components/FilterBar.cjs.js +3 -3
  118. package/dist/components/FilterBar.es.js +4 -4
  119. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  120. package/dist/components/FormFieldBlocks.es.js +2 -2
  121. package/dist/components/Header.cjs.js +1 -1
  122. package/dist/components/Header.es.js +1 -1
  123. package/dist/components/HorizontalBars.cjs.js +1 -1
  124. package/dist/components/HorizontalBars.es.js +1 -1
  125. package/dist/components/InputGroup.cjs.js +3 -1
  126. package/dist/components/InputGroup.cjs.js.map +1 -1
  127. package/dist/components/InputGroup.es.js +1 -1
  128. package/dist/components/InputNumber.cjs.js +95 -0
  129. package/dist/components/InputNumber.cjs.js.map +1 -0
  130. package/dist/components/InputNumber.d.ts +2 -0
  131. package/dist/components/InputNumber.es.js +68 -0
  132. package/dist/components/InputNumber.es.js.map +1 -0
  133. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  134. package/dist/components/JSONSchemaForm.es.js +2 -2
  135. package/dist/components/KeyValueList.cjs.js +1 -1
  136. package/dist/components/KeyValueList.es.js +1 -1
  137. package/dist/components/ListSearch.cjs.js +1 -1
  138. package/dist/components/ListSearch.es.js +1 -1
  139. package/dist/components/LogsDataList.cjs.js +3 -1
  140. package/dist/components/LogsDataList.cjs.js.map +1 -1
  141. package/dist/components/LogsDataList.es.js +3 -1
  142. package/dist/components/LogsDataList.es.js.map +1 -1
  143. package/dist/components/MainHeader.cjs.js +1 -1
  144. package/dist/components/MainHeader.es.js +1 -1
  145. package/dist/components/MainSidebar.cjs.js +11 -125
  146. package/dist/components/MainSidebar.cjs.js.map +1 -1
  147. package/dist/components/MainSidebar.es.js +1 -120
  148. package/dist/components/MainSidebar.es.js.map +1 -1
  149. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  150. package/dist/components/MarkdownRenderer.es.js +1 -1
  151. package/dist/components/Message.cjs.js +1 -1
  152. package/dist/components/Message.es.js +2 -2
  153. package/dist/components/MessageScroller.cjs.js +1 -1
  154. package/dist/components/MessageScroller.es.js +1 -1
  155. package/dist/components/MetricsCard.cjs.js +1 -1
  156. package/dist/components/MetricsCard.es.js +1 -1
  157. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  158. package/dist/components/MetricsKpiCard.es.js +1 -1
  159. package/dist/components/MetricsLineChart.cjs.js +2 -2
  160. package/dist/components/MetricsLineChart.es.js +2 -2
  161. package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
  162. package/dist/components/MetricsStackedBarChart.es.js +1 -1
  163. package/dist/components/Notice.cjs.js +1 -1
  164. package/dist/components/Notice.es.js +1 -1
  165. package/dist/components/PageHeader.cjs.js +1 -1
  166. package/dist/components/PageHeader.es.js +1 -1
  167. package/dist/components/PageLayout.cjs.js +1 -1
  168. package/dist/components/PageLayout.es.js +1 -1
  169. package/dist/components/ProductBadge.cjs.js +1 -1
  170. package/dist/components/ProductBadge.es.js +1 -1
  171. package/dist/components/PropertyFilter.cjs.js +3 -3
  172. package/dist/components/PropertyFilter.es.js +3 -3
  173. package/dist/components/RelativeTimestamp.cjs.js +1 -1
  174. package/dist/components/RelativeTimestamp.es.js +1 -1
  175. package/dist/components/RuleBuilder.cjs.js +2 -2
  176. package/dist/components/RuleBuilder.es.js +2 -2
  177. package/dist/components/ScatterPlotChart.cjs.js +1 -1
  178. package/dist/components/ScatterPlotChart.es.js +1 -1
  179. package/dist/components/SearchInput.cjs.js +1 -1
  180. package/dist/components/SearchInput.es.js +1 -1
  181. package/dist/components/Section.cjs.js +1 -1
  182. package/dist/components/Section.es.js +1 -1
  183. package/dist/components/SectionCard.cjs.js +1 -1
  184. package/dist/components/SectionCard.es.js +1 -1
  185. package/dist/components/Select.cjs.js +1 -1
  186. package/dist/components/Select.es.js +1 -1
  187. package/dist/components/SideDialog.cjs.js +1 -1
  188. package/dist/components/SideDialog.es.js +1 -1
  189. package/dist/components/StatusIndicators.cjs.js +1 -1
  190. package/dist/components/StatusIndicators.es.js +1 -1
  191. package/dist/components/Steps.cjs.js +1 -1
  192. package/dist/components/Steps.es.js +1 -1
  193. package/dist/components/Table.cjs.js +1 -1
  194. package/dist/components/Table.es.js +1 -1
  195. package/dist/components/Tabs.cjs.js +5 -4
  196. package/dist/components/Tabs.cjs.js.map +1 -1
  197. package/dist/components/Tabs.es.js +4 -3
  198. package/dist/components/Tabs.es.js.map +1 -1
  199. package/dist/components/Text.cjs.js +1 -1
  200. package/dist/components/Text.es.js +1 -1
  201. package/dist/components/ThinkingLevel.cjs.js +230 -0
  202. package/dist/components/ThinkingLevel.cjs.js.map +1 -0
  203. package/dist/components/ThinkingLevel.d.ts +2 -0
  204. package/dist/components/ThinkingLevel.es.js +223 -0
  205. package/dist/components/ThinkingLevel.es.js.map +1 -0
  206. package/dist/components/ThreadList.cjs.js +1 -1
  207. package/dist/components/ThreadList.es.js +1 -1
  208. package/dist/components/ThreadRail.cjs.js +1 -1
  209. package/dist/components/ThreadRail.es.js +1 -1
  210. package/dist/components/TokenBudget.cjs.js +1 -1
  211. package/dist/components/TokenBudget.es.js +1 -1
  212. package/dist/components/Tree.cjs.js +2 -487
  213. package/dist/components/Tree.cjs.js.map +1 -1
  214. package/dist/components/Tree.es.js +1 -471
  215. package/dist/components/Tree.es.js.map +1 -1
  216. package/dist/components/Truncate.cjs.js +1 -1
  217. package/dist/components/Truncate.es.js +1 -1
  218. package/dist/components/Txt.cjs.js +1 -1
  219. package/dist/components/Txt.es.js +1 -1
  220. package/dist/components/Workflow.cjs.js +4 -4
  221. package/dist/components/Workflow.es.js +4 -4
  222. package/dist/components/ai/activity.cjs.js +4 -4
  223. package/dist/components/ai/activity.es.js +4 -4
  224. package/dist/components/ai/ask-user.cjs.js +1 -1
  225. package/dist/components/ai/ask-user.es.js +1 -1
  226. package/dist/components/ai/plan.cjs.js +1 -1
  227. package/dist/components/ai/plan.es.js +1 -1
  228. package/dist/components/ai/task-list.cjs.js +1 -1
  229. package/dist/components/ai/task-list.es.js +1 -1
  230. package/dist/components/ai/tool-call.cjs.js +2 -2
  231. package/dist/components/ai/tool-call.es.js +2 -2
  232. package/dist/components/ai/transcript-divider.cjs.js +3 -11
  233. package/dist/components/ai/transcript-divider.cjs.js.map +1 -1
  234. package/dist/components/ai/transcript-divider.es.js +1 -13
  235. package/dist/components/ai/transcript-divider.es.js.map +1 -1
  236. package/dist/{data-code-section-Ds79F6W-.cjs → data-code-section-BK0bftM-.cjs} +3 -3
  237. package/dist/{data-code-section-Ds79F6W-.cjs.map → data-code-section-BK0bftM-.cjs.map} +1 -1
  238. package/dist/{data-code-section-DFxE6ckH.js → data-code-section-yMYmVciV.js} +3 -3
  239. package/dist/{data-code-section-DFxE6ckH.js.map → data-code-section-yMYmVciV.js.map} +1 -1
  240. package/dist/{data-list-CEIYm7FY.js → data-list-DdsyfT8B.js} +3 -3
  241. package/dist/{data-list-CEIYm7FY.js.map → data-list-DdsyfT8B.js.map} +1 -1
  242. package/dist/{data-list-Bqf-fhMx.cjs → data-list-DoKc-wSe.cjs} +3 -3
  243. package/dist/{data-list-Bqf-fhMx.cjs.map → data-list-DoKc-wSe.cjs.map} +1 -1
  244. package/dist/{data-list-spacer-BH2DjRdk.js → data-list-spacer-7QVTcgIS.js} +2 -2
  245. package/dist/{data-list-spacer-BH2DjRdk.js.map → data-list-spacer-7QVTcgIS.js.map} +1 -1
  246. package/dist/{data-list-spacer-DFvaAEqo.cjs → data-list-spacer-CD4hD-As.cjs} +2 -2
  247. package/dist/{data-list-spacer-DFvaAEqo.cjs.map → data-list-spacer-CD4hD-As.cjs.map} +1 -1
  248. package/dist/{data-panel-CbomKGJt.js → data-panel-GT4fMXR0.js} +4 -4
  249. package/dist/data-panel-GT4fMXR0.js.map +1 -0
  250. package/dist/{data-panel-o-QLWuFV.cjs → data-panel-mzQKwVkT.cjs} +4 -4
  251. package/dist/data-panel-mzQKwVkT.cjs.map +1 -0
  252. package/dist/{date-time-range-picker-Bb-CGVEL.cjs → date-time-range-picker-BbX8F_LY.cjs} +4 -4
  253. package/dist/{date-time-range-picker-Bb-CGVEL.cjs.map → date-time-range-picker-BbX8F_LY.cjs.map} +1 -1
  254. package/dist/{date-time-range-picker-B1zYIQTC.js → date-time-range-picker-DzPLKJol.js} +4 -4
  255. package/dist/{date-time-range-picker-B1zYIQTC.js.map → date-time-range-picker-DzPLKJol.js.map} +1 -1
  256. package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
  257. package/dist/domains/auth/components/permission-denied.es.js +1 -1
  258. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  259. package/dist/domains/auth/components/session-expired.es.js +1 -1
  260. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  261. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  262. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  263. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  264. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  265. package/dist/domains/chat/components/section-label.es.js +1 -1
  266. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
  267. package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
  268. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
  269. package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
  270. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  271. package/dist/domains/chat/messages/message-row.es.js +4 -4
  272. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  273. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  274. package/dist/domains/chat/messages/renderers/message-text.cjs.js +3 -3
  275. package/dist/domains/chat/messages/renderers/message-text.es.js +3 -3
  276. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  277. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  278. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  279. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  280. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  281. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  282. package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
  283. package/dist/domains/chat/messages/skill-message.es.js +3 -3
  284. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  285. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  286. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  287. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  288. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  289. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  290. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  291. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  292. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  293. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  294. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +3 -3
  295. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +3 -3
  296. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  297. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  298. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +3 -3
  299. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +3 -3
  300. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
  301. package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
  302. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  303. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  304. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  305. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  306. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -0
  307. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  308. package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -0
  309. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  310. package/dist/domains/chat/tools/badges/workspace-link.cjs.js +1 -1
  311. package/dist/domains/chat/tools/badges/workspace-link.es.js +1 -1
  312. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  313. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  314. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  315. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  316. package/dist/domains/logs/components/log-data-panel.cjs.js +2 -2
  317. package/dist/domains/logs/components/log-data-panel.es.js +2 -2
  318. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  319. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  320. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  321. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  322. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  323. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  324. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  325. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  326. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  327. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  328. package/dist/domains/memory/components/observation-detail-view.cjs.js +3 -3
  329. package/dist/domains/memory/components/observation-detail-view.es.js +3 -3
  330. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  331. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  332. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  333. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  334. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  335. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  336. package/dist/domains/metrics/components/latency-card-view.cjs.js +8 -7
  337. package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
  338. package/dist/domains/metrics/components/latency-card-view.es.js +7 -6
  339. package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
  340. package/dist/domains/metrics/components/memory-card-view.cjs.js +7 -6
  341. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  342. package/dist/domains/metrics/components/memory-card-view.es.js +6 -5
  343. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  344. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  345. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  346. package/dist/domains/metrics/components/scores-card-view.cjs.js +8 -7
  347. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  348. package/dist/domains/metrics/components/scores-card-view.es.js +7 -6
  349. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  350. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +7 -6
  351. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js.map +1 -1
  352. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +6 -5
  353. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js.map +1 -1
  354. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +8 -7
  355. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  356. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +7 -6
  357. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  358. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +7 -6
  359. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js.map +1 -1
  360. package/dist/domains/metrics/components/traces-volume-card-view.es.js +6 -5
  361. package/dist/domains/metrics/components/traces-volume-card-view.es.js.map +1 -1
  362. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  363. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  364. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +1 -1
  365. package/dist/domains/observability/components/trace-as-item-dialog.es.js +1 -1
  366. package/dist/domains/request-context/components/request-context-label.cjs.js +1 -1
  367. package/dist/domains/request-context/components/request-context-label.es.js +1 -1
  368. package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
  369. package/dist/domains/review/components/review-status-badge.es.js +1 -1
  370. package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
  371. package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
  372. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  373. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  374. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  375. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  376. package/dist/domains/scores/components/trace-scores-tab.cjs.js +5 -4
  377. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  378. package/dist/domains/scores/components/trace-scores-tab.es.js +5 -4
  379. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  380. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  381. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  382. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  383. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  384. package/dist/domains/traces/components/span-data-panel-view.cjs.js +21 -16
  385. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  386. package/dist/domains/traces/components/span-data-panel-view.es.js +20 -15
  387. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  388. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  389. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  390. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  391. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  392. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  393. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  394. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  395. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  396. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  397. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  398. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  399. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  400. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  401. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  402. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  403. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  404. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -2
  405. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  406. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -1
  407. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  408. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  409. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  410. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -3
  411. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -3
  412. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  413. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  414. package/dist/domains/traces/components/span-timeline-row.cjs.js +1 -1
  415. package/dist/domains/traces/components/span-timeline-row.es.js +1 -1
  416. package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
  417. package/dist/domains/traces/components/span-token-usage.es.js +1 -1
  418. package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
  419. package/dist/domains/traces/components/span-type-legend.es.js +1 -1
  420. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +5 -3
  421. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  422. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +5 -3
  423. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  424. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +4 -3
  425. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
  426. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +4 -3
  427. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
  428. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +8 -16
  429. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  430. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +8 -15
  431. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  432. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +3 -16
  433. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
  434. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +3 -16
  435. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
  436. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +27 -5
  437. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  438. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +27 -7
  439. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  440. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +29 -24
  441. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  442. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +30 -25
  443. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  444. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +45 -45
  445. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
  446. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +47 -47
  447. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
  448. package/dist/domains/traces/components/thread-trace.cjs.js +2 -1
  449. package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
  450. package/dist/domains/traces/components/thread-trace.es.js +4 -3
  451. package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
  452. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +43 -23
  453. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  454. package/dist/domains/traces/components/thread-view-by-trace.es.js +46 -26
  455. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  456. package/dist/domains/traces/components/thread-view-skeleton.cjs.js +28 -13
  457. package/dist/domains/traces/components/thread-view-skeleton.cjs.js.map +1 -1
  458. package/dist/domains/traces/components/thread-view-skeleton.es.js +28 -13
  459. package/dist/domains/traces/components/thread-view-skeleton.es.js.map +1 -1
  460. package/dist/domains/traces/components/timeline-name-col.cjs.js +5 -5
  461. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  462. package/dist/domains/traces/components/timeline-name-col.es.js +5 -5
  463. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  464. package/dist/domains/traces/components/timeline-timing-col.cjs.js +1 -1
  465. package/dist/domains/traces/components/timeline-timing-col.es.js +1 -1
  466. package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -3
  467. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -3
  468. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +72 -50
  469. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  470. package/dist/domains/traces/components/trace-data-panel-view.es.js +72 -50
  471. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  472. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -0
  473. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  474. package/dist/domains/traces/components/trace-data-panel.es.js +1 -0
  475. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  476. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  477. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  478. package/dist/domains/traces/components/trace-messages-panel.cjs.js +2 -16
  479. package/dist/domains/traces/components/trace-messages-panel.cjs.js.map +1 -1
  480. package/dist/domains/traces/components/trace-messages-panel.es.js +3 -17
  481. package/dist/domains/traces/components/trace-messages-panel.es.js.map +1 -1
  482. package/dist/domains/traces/components/trace-messages-skeleton.cjs.js +18 -15
  483. package/dist/domains/traces/components/trace-messages-skeleton.cjs.js.map +1 -1
  484. package/dist/domains/traces/components/trace-messages-skeleton.es.js +18 -15
  485. package/dist/domains/traces/components/trace-messages-skeleton.es.js.map +1 -1
  486. package/dist/domains/traces/components/trace-span-panel.cjs.js +77 -66
  487. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  488. package/dist/domains/traces/components/trace-span-panel.es.js +78 -67
  489. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  490. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +11 -13
  491. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
  492. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +11 -13
  493. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
  494. package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
  495. package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
  496. package/dist/domains/traces/components/trace-summary-description.cjs.js +2 -2
  497. package/dist/domains/traces/components/trace-summary-description.es.js +2 -2
  498. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +2 -2
  499. package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
  500. package/dist/domains/traces/components/trace-thread-item-view.es.js +2 -2
  501. package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
  502. package/dist/domains/traces/components/trace-thread-panel.cjs.js +32 -21
  503. package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
  504. package/dist/domains/traces/components/trace-thread-panel.es.js +32 -21
  505. package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
  506. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  507. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  508. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  509. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  510. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  511. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  512. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
  513. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  514. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
  515. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  516. package/dist/domains/traces/hooks/use-branch.cjs.js +0 -3
  517. package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -1
  518. package/dist/domains/traces/hooks/use-branch.es.js +0 -3
  519. package/dist/domains/traces/hooks/use-branch.es.js.map +1 -1
  520. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js +0 -3
  521. package/dist/domains/traces/hooks/use-trace-light-spans.cjs.js.map +1 -1
  522. package/dist/domains/traces/hooks/use-trace-light-spans.es.js +0 -3
  523. package/dist/domains/traces/hooks/use-trace-light-spans.es.js.map +1 -1
  524. package/dist/domains/traces/hooks/use-trace-or-branch-spans.cjs.js.map +1 -1
  525. package/dist/domains/traces/hooks/use-trace-or-branch-spans.es.js.map +1 -1
  526. package/dist/domains/traces/hooks/use-trace-query.cjs.js +2 -0
  527. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  528. package/dist/domains/traces/hooks/use-trace-query.es.js +2 -0
  529. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  530. package/dist/domains/traces/hooks/use-trace-search.cjs.js +7 -2
  531. package/dist/domains/traces/hooks/use-trace-search.cjs.js.map +1 -1
  532. package/dist/domains/traces/hooks/use-trace-search.es.js +7 -2
  533. package/dist/domains/traces/hooks/use-trace-search.es.js.map +1 -1
  534. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +1 -5
  535. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  536. package/dist/domains/traces/hooks/use-trace-spans.es.js +1 -5
  537. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  538. package/dist/domains/traces/utils/to-searchable-spans.cjs.js +0 -5
  539. package/dist/domains/traces/utils/to-searchable-spans.cjs.js.map +1 -1
  540. package/dist/domains/traces/utils/to-searchable-spans.es.js +1 -5
  541. package/dist/domains/traces/utils/to-searchable-spans.es.js.map +1 -1
  542. package/dist/domains/traces/utils.cjs.js +0 -1
  543. package/dist/domains/traces/utils.cjs.js.map +1 -1
  544. package/dist/domains/traces/utils.es.js +1 -1
  545. package/dist/domains/traces.cjs.js +0 -1
  546. package/dist/domains/traces.cjs.js.map +1 -1
  547. package/dist/domains/traces.es.js +1 -1
  548. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  549. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  550. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +2 -2
  551. package/dist/domains/workflows/components/workflow-entity-header.es.js +2 -2
  552. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  553. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  554. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  555. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  556. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +3 -3
  557. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +3 -3
  558. package/dist/domains/workflows/runs/workflow-run-details.cjs.js +1 -1
  559. package/dist/domains/workflows/runs/workflow-run-details.es.js +1 -1
  560. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  561. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  562. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  563. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  564. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  565. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  566. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  567. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  568. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -2
  569. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +2 -2
  570. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  571. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  572. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +2 -2
  573. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +2 -2
  574. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  575. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  576. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
  577. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
  578. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  579. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  580. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +1 -1
  581. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +1 -1
  582. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  583. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  584. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  585. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  586. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -1
  587. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  588. package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -1
  589. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  590. package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +1 -1
  591. package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +1 -1
  592. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +4 -4
  593. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +4 -4
  594. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +6 -5
  595. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js.map +1 -1
  596. package/dist/domains/workflows/workflow/workflow-run-data.es.js +5 -4
  597. package/dist/domains/workflows/workflow/workflow-run-data.es.js.map +1 -1
  598. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  599. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  600. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +3 -3
  601. package/dist/domains/workflows/workflow/workflow-run-header.es.js +3 -3
  602. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  603. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  604. package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js +1 -1
  605. package/dist/domains/workflows/workflow/workflow-steps-status.es.js +1 -1
  606. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  607. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  608. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
  609. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
  610. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  611. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  612. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  613. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  614. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +2 -2
  615. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +2 -2
  616. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  617. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  618. package/dist/domains/workspace/components/frontmatter.cjs.js +13 -0
  619. package/dist/domains/workspace/components/frontmatter.cjs.js.map +1 -0
  620. package/dist/domains/workspace/components/frontmatter.d.ts +2 -0
  621. package/dist/domains/workspace/components/frontmatter.es.js +9 -0
  622. package/dist/domains/workspace/components/frontmatter.es.js.map +1 -0
  623. package/dist/domains/workspace/components/mount-icon.cjs.js +42 -0
  624. package/dist/domains/workspace/components/mount-icon.cjs.js.map +1 -0
  625. package/dist/domains/workspace/components/mount-icon.d.ts +2 -0
  626. package/dist/domains/workspace/components/mount-icon.es.js +38 -0
  627. package/dist/domains/workspace/components/mount-icon.es.js.map +1 -0
  628. package/dist/domains/workspace/components/use-workspace-context.cjs.js +16 -0
  629. package/dist/domains/workspace/components/use-workspace-context.cjs.js.map +1 -0
  630. package/dist/domains/workspace/components/use-workspace-context.d.ts +2 -0
  631. package/dist/domains/workspace/components/use-workspace-context.es.js +11 -0
  632. package/dist/domains/workspace/components/use-workspace-context.es.js.map +1 -0
  633. package/dist/domains/workspace/components/workspace-active-file.cjs.js +72 -0
  634. package/dist/domains/workspace/components/workspace-active-file.cjs.js.map +1 -0
  635. package/dist/domains/workspace/components/workspace-active-file.d.ts +2 -0
  636. package/dist/domains/workspace/components/workspace-active-file.es.js +67 -0
  637. package/dist/domains/workspace/components/workspace-active-file.es.js.map +1 -0
  638. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +282 -0
  639. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -0
  640. package/dist/domains/workspace/components/workspace-add-skill-dialog.d.ts +2 -0
  641. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +278 -0
  642. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -0
  643. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +48 -0
  644. package/dist/domains/workspace/components/workspace-add-skill.cjs.js.map +1 -0
  645. package/dist/domains/workspace/components/workspace-add-skill.d.ts +2 -0
  646. package/dist/domains/workspace/components/workspace-add-skill.es.js +44 -0
  647. package/dist/domains/workspace/components/workspace-add-skill.es.js.map +1 -0
  648. package/dist/domains/workspace/components/workspace-context.cjs.js +88 -0
  649. package/dist/domains/workspace/components/workspace-context.cjs.js.map +1 -0
  650. package/dist/domains/workspace/components/workspace-context.d.ts +2 -0
  651. package/dist/domains/workspace/components/workspace-context.es.js +84 -0
  652. package/dist/domains/workspace/components/workspace-context.es.js.map +1 -0
  653. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +68 -0
  654. package/dist/domains/workspace/components/workspace-create-directory.cjs.js.map +1 -0
  655. package/dist/domains/workspace/components/workspace-create-directory.d.ts +2 -0
  656. package/dist/domains/workspace/components/workspace-create-directory.es.js +64 -0
  657. package/dist/domains/workspace/components/workspace-create-directory.es.js.map +1 -0
  658. package/dist/domains/workspace/components/workspace-error.cjs.js +26 -0
  659. package/dist/domains/workspace/components/workspace-error.cjs.js.map +1 -0
  660. package/dist/domains/workspace/components/workspace-error.d.ts +2 -0
  661. package/dist/domains/workspace/components/workspace-error.es.js +22 -0
  662. package/dist/domains/workspace/components/workspace-error.es.js.map +1 -0
  663. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +27 -0
  664. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js.map +1 -0
  665. package/dist/domains/workspace/components/workspace-markdown-preview.d.ts +2 -0
  666. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +23 -0
  667. package/dist/domains/workspace/components/workspace-markdown-preview.es.js.map +1 -0
  668. package/dist/domains/workspace/components/workspace-parts.cjs.js +94 -0
  669. package/dist/domains/workspace/components/workspace-parts.cjs.js.map +1 -0
  670. package/dist/domains/workspace/components/workspace-parts.d.ts +2 -0
  671. package/dist/domains/workspace/components/workspace-parts.es.js +84 -0
  672. package/dist/domains/workspace/components/workspace-parts.es.js.map +1 -0
  673. package/dist/domains/workspace/components/workspace-search.cjs.js +117 -0
  674. package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -0
  675. package/dist/domains/workspace/components/workspace-search.d.ts +2 -0
  676. package/dist/domains/workspace/components/workspace-search.es.js +111 -0
  677. package/dist/domains/workspace/components/workspace-search.es.js.map +1 -0
  678. package/dist/domains/workspace/components/workspace-tree-view.cjs.js +34 -0
  679. package/dist/domains/workspace/components/workspace-tree-view.cjs.js.map +1 -0
  680. package/dist/domains/workspace/components/workspace-tree-view.d.ts +2 -0
  681. package/dist/domains/workspace/components/workspace-tree-view.es.js +30 -0
  682. package/dist/domains/workspace/components/workspace-tree-view.es.js.map +1 -0
  683. package/dist/domains/workspace/components/workspace-tree.cjs.js +245 -0
  684. package/dist/domains/workspace/components/workspace-tree.cjs.js.map +1 -0
  685. package/dist/domains/workspace/components/workspace-tree.d.ts +2 -0
  686. package/dist/domains/workspace/components/workspace-tree.es.js +241 -0
  687. package/dist/domains/workspace/components/workspace-tree.es.js.map +1 -0
  688. package/dist/domains/workspace/components/workspace.cjs.js +25 -0
  689. package/dist/domains/workspace/components/workspace.cjs.js.map +1 -0
  690. package/dist/domains/workspace/components/workspace.d.ts +2 -0
  691. package/dist/domains/workspace/components/workspace.es.js +21 -0
  692. package/dist/domains/workspace/components/workspace.es.js.map +1 -0
  693. package/dist/domains/workspace/file-type.cjs.js +25 -0
  694. package/dist/domains/workspace/file-type.cjs.js.map +1 -0
  695. package/dist/domains/workspace/file-type.d.ts +2 -0
  696. package/dist/domains/workspace/file-type.es.js +17 -0
  697. package/dist/domains/workspace/file-type.es.js.map +1 -0
  698. package/dist/domains/workspace/hooks/use-skills-sh.cjs.js +72 -0
  699. package/dist/domains/workspace/hooks/use-skills-sh.cjs.js.map +1 -0
  700. package/dist/domains/workspace/hooks/use-skills-sh.d.ts +2 -0
  701. package/dist/domains/workspace/hooks/use-skills-sh.es.js +65 -0
  702. package/dist/domains/workspace/hooks/use-skills-sh.es.js.map +1 -0
  703. package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js +21 -0
  704. package/dist/domains/workspace/hooks/use-workspace-directory.cjs.js.map +1 -0
  705. package/dist/domains/workspace/hooks/use-workspace-directory.d.ts +2 -0
  706. package/dist/domains/workspace/hooks/use-workspace-directory.es.js +16 -0
  707. package/dist/domains/workspace/hooks/use-workspace-directory.es.js.map +1 -0
  708. package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js +22 -0
  709. package/dist/domains/workspace/hooks/use-workspace-file-content.cjs.js.map +1 -0
  710. package/dist/domains/workspace/hooks/use-workspace-file-content.d.ts +2 -0
  711. package/dist/domains/workspace/hooks/use-workspace-file-content.es.js +18 -0
  712. package/dist/domains/workspace/hooks/use-workspace-file-content.es.js.map +1 -0
  713. package/dist/domains/workspace/hooks/use-workspace-search.cjs.js +53 -0
  714. package/dist/domains/workspace/hooks/use-workspace-search.cjs.js.map +1 -0
  715. package/dist/domains/workspace/hooks/use-workspace-search.d.ts +2 -0
  716. package/dist/domains/workspace/hooks/use-workspace-search.es.js +49 -0
  717. package/dist/domains/workspace/hooks/use-workspace-search.es.js.map +1 -0
  718. package/dist/domains/workspace/path.cjs.js +17 -0
  719. package/dist/domains/workspace/path.cjs.js.map +1 -0
  720. package/dist/domains/workspace/path.d.ts +2 -0
  721. package/dist/domains/workspace/path.es.js +10 -0
  722. package/dist/domains/workspace/path.es.js.map +1 -0
  723. package/dist/domains/workspace.cjs.js +24 -0
  724. package/dist/domains/workspace.cjs.js.map +1 -0
  725. package/dist/domains/workspace.d.ts +2 -0
  726. package/dist/domains/workspace.es.js +9 -0
  727. package/dist/domains/workspace.es.js.map +1 -0
  728. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +2 -2
  729. package/dist/ee/signals/components/entity-index-compact-grid.es.js +2 -2
  730. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  731. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  732. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  733. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  734. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  735. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  736. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  737. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  738. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +4 -3
  739. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  740. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +4 -3
  741. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  742. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  743. package/dist/ee/signals/examples-pager.es.js +1 -1
  744. package/dist/ee/signals/flow-card.cjs.js +1 -1
  745. package/dist/ee/signals/flow-card.es.js +1 -1
  746. package/dist/ee/signals/lifeline-row.cjs.js +1 -1
  747. package/dist/ee/signals/lifeline-row.es.js +1 -1
  748. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  749. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  750. package/dist/ee/signals/sankey-signals.cjs.js +4 -3
  751. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  752. package/dist/ee/signals/sankey-signals.es.js +3 -2
  753. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  754. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -3
  755. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -3
  756. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  757. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  758. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  759. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  760. package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
  761. package/dist/ee/signals/signal-lifelines.es.js +1 -1
  762. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  763. package/dist/ee/signals/signals-error-state.es.js +1 -1
  764. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  765. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  766. package/dist/ee/signals/theme-compare.cjs.js +1 -1
  767. package/dist/ee/signals/theme-compare.es.js +1 -1
  768. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  769. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  770. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  771. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  772. package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
  773. package/dist/ee/signals/theme-lifelines.es.js +1 -1
  774. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  775. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  776. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
  777. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
  778. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  779. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  780. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +2 -1
  781. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
  782. package/dist/ee/topics/components/topic-trace-details-panel.es.js +2 -1
  783. package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
  784. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  785. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  786. package/dist/{entity-header-DEjkHoqj.cjs → entity-header-By57lpH8.cjs} +2 -2
  787. package/dist/{entity-header-DEjkHoqj.cjs.map → entity-header-By57lpH8.cjs.map} +1 -1
  788. package/dist/{entity-header-9qzr-3xQ.js → entity-header-DMjzE4Za.js} +2 -2
  789. package/dist/{entity-header-9qzr-3xQ.js.map → entity-header-DMjzE4Za.js.map} +1 -1
  790. package/dist/{field-BtvEQ68O.js → field-BiMIiq2Y.js} +3 -3
  791. package/dist/field-BiMIiq2Y.js.map +1 -0
  792. package/dist/{field-ip9xiOVa.cjs → field-BkeKcz_6.cjs} +3 -3
  793. package/dist/field-BkeKcz_6.cjs.map +1 -0
  794. package/dist/{field-error-id-4DYu4KZ2.cjs → field-error-id-4xiCVBJ_.cjs} +5 -5
  795. package/dist/field-error-id-4xiCVBJ_.cjs.map +1 -0
  796. package/dist/{field-error-id-BSQLcfHo.js → field-error-id-CSvLKtJE.js} +5 -5
  797. package/dist/field-error-id-CSvLKtJE.js.map +1 -0
  798. package/dist/{filter-bar-chip-Dmboyu1t.js → filter-bar-chip-CRejLco-.js} +2 -2
  799. package/dist/{filter-bar-chip-Dmboyu1t.js.map → filter-bar-chip-CRejLco-.js.map} +1 -1
  800. package/dist/{filter-bar-chip-BsWm7SQr.cjs → filter-bar-chip-Cr7kUN9G.cjs} +2 -2
  801. package/dist/{filter-bar-chip-BsWm7SQr.cjs.map → filter-bar-chip-Cr7kUN9G.cjs.map} +1 -1
  802. package/dist/hooks/use-fluid-hover.cjs.js +11 -0
  803. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  804. package/dist/hooks/use-fluid-hover.es.js +11 -0
  805. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  806. package/dist/{horizontal-bars-BSRESJsp.js → horizontal-bars-BL-GHeFh.js} +2 -2
  807. package/dist/{horizontal-bars-BSRESJsp.js.map → horizontal-bars-BL-GHeFh.js.map} +1 -1
  808. package/dist/{horizontal-bars-DRD7JkHL.cjs → horizontal-bars-D-rFCRbH.cjs} +2 -2
  809. package/dist/{horizontal-bars-DRD7JkHL.cjs.map → horizontal-bars-D-rFCRbH.cjs.map} +1 -1
  810. package/dist/icons/FileIcon.cjs.js +18 -0
  811. package/dist/icons/FileIcon.cjs.js.map +1 -0
  812. package/dist/icons/FileIcon.d.ts +2 -0
  813. package/dist/icons/FileIcon.es.js +14 -0
  814. package/dist/icons/FileIcon.es.js.map +1 -0
  815. package/dist/icons/SearchIcon.cjs.js +18 -0
  816. package/dist/icons/SearchIcon.cjs.js.map +1 -0
  817. package/dist/icons/SearchIcon.d.ts +2 -0
  818. package/dist/icons/SearchIcon.es.js +14 -0
  819. package/dist/icons/SearchIcon.es.js.map +1 -0
  820. package/dist/icons/TrashIcon.cjs.js +18 -0
  821. package/dist/icons/TrashIcon.cjs.js.map +1 -0
  822. package/dist/icons/TrashIcon.d.ts +2 -0
  823. package/dist/icons/TrashIcon.es.js +14 -0
  824. package/dist/icons/TrashIcon.es.js.map +1 -0
  825. package/dist/{input-group-wzirc-1k.js → input-group-D1XvzgI2.js} +10 -7
  826. package/dist/input-group-D1XvzgI2.js.map +1 -0
  827. package/dist/{input-group-BgCXLSRV.cjs → input-group-DBRe9V5t.cjs} +11 -6
  828. package/dist/input-group-DBRe9V5t.cjs.map +1 -0
  829. package/dist/layout/tabbed-container.cjs.js +11 -9
  830. package/dist/layout/tabbed-container.cjs.js.map +1 -1
  831. package/dist/layout/tabbed-container.es.js +9 -7
  832. package/dist/layout/tabbed-container.es.js.map +1 -1
  833. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  834. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  835. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  836. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  837. package/dist/lib/form/components/boolean-field.cjs.js +1 -1
  838. package/dist/lib/form/components/boolean-field.es.js +1 -1
  839. package/dist/lib/form/components/error-message.cjs.js +1 -1
  840. package/dist/lib/form/components/error-message.es.js +1 -1
  841. package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
  842. package/dist/lib/form/components/field-wrapper.es.js +1 -1
  843. package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
  844. package/dist/lib/form/components/object-wrapper.es.js +1 -1
  845. package/dist/lib/form/components/select-field.cjs.js +1 -1
  846. package/dist/lib/form/components/select-field.es.js +1 -1
  847. package/dist/lib/form/components/union-field.cjs.js +1 -1
  848. package/dist/lib/form/components/union-field.es.js +1 -1
  849. package/dist/{list-search-CTGQJCh1.cjs → list-search-CCHN2OMB.cjs} +2 -2
  850. package/dist/{list-search-CTGQJCh1.cjs.map → list-search-CCHN2OMB.cjs.map} +1 -1
  851. package/dist/{list-search-CmOCmTwL.js → list-search-DcACBmNB.js} +2 -2
  852. package/dist/{list-search-CmOCmTwL.js.map → list-search-DcACBmNB.js.map} +1 -1
  853. package/dist/{logs-data-list-B9CAqAHD.cjs → logs-data-list-BITdSK12.cjs} +4 -4
  854. package/dist/{logs-data-list-B9CAqAHD.cjs.map → logs-data-list-BITdSK12.cjs.map} +1 -1
  855. package/dist/{logs-data-list-DfzdzgXB.js → logs-data-list-PlH4_hgq.js} +4 -4
  856. package/dist/{logs-data-list-DfzdzgXB.js.map → logs-data-list-PlH4_hgq.js.map} +1 -1
  857. package/dist/{main-sidebar-link-active-buZAhlHo.js → main-sidebar-B0ivY7lW.js} +118 -6
  858. package/dist/main-sidebar-B0ivY7lW.js.map +1 -0
  859. package/dist/{main-sidebar-link-active-D8VSuJKx.cjs → main-sidebar-BWKVSRoQ.cjs} +117 -4
  860. package/dist/main-sidebar-BWKVSRoQ.cjs.map +1 -0
  861. package/dist/{markdown-renderer-DPwN7Vtm.cjs → markdown-renderer-4iyMU2Cm.cjs} +2 -2
  862. package/dist/{markdown-renderer-DPwN7Vtm.cjs.map → markdown-renderer-4iyMU2Cm.cjs.map} +1 -1
  863. package/dist/{markdown-renderer-zvB6a8uj.js → markdown-renderer-B3Pf1uW9.js} +2 -2
  864. package/dist/{markdown-renderer-zvB6a8uj.js.map → markdown-renderer-B3Pf1uW9.js.map} +1 -1
  865. package/dist/{message-C1c5oZE7.cjs → message-DGDmsmOT.cjs} +2 -2
  866. package/dist/{message-C1c5oZE7.cjs.map → message-DGDmsmOT.cjs.map} +1 -1
  867. package/dist/{message-C7hocqft.js → message-DoxVrgBX.js} +2 -2
  868. package/dist/{message-C7hocqft.js.map → message-DoxVrgBX.js.map} +1 -1
  869. package/dist/{message-scroller-E05PLPmT.cjs → message-scroller-D-_KN9Fv.cjs} +3 -1
  870. package/dist/message-scroller-D-_KN9Fv.cjs.map +1 -0
  871. package/dist/{message-scroller-CiFr8MwT.js → message-scroller-WWaQ-XU_.js} +3 -1
  872. package/dist/message-scroller-WWaQ-XU_.js.map +1 -0
  873. package/dist/{metrics-card-C1rTkbcn.js → metrics-card-DFEWxFkJ.js} +3 -3
  874. package/dist/{metrics-card-C1rTkbcn.js.map → metrics-card-DFEWxFkJ.js.map} +1 -1
  875. package/dist/{metrics-card-D7J9JDgn.cjs → metrics-card-xX9SHUpB.cjs} +3 -3
  876. package/dist/{metrics-card-D7J9JDgn.cjs.map → metrics-card-xX9SHUpB.cjs.map} +1 -1
  877. package/dist/{metrics-kpi-card-1hbihR2T.cjs → metrics-kpi-card-9L0j_oGY.cjs} +5 -14
  878. package/dist/metrics-kpi-card-9L0j_oGY.cjs.map +1 -0
  879. package/dist/{metrics-kpi-card-CiB88L41.js → metrics-kpi-card-DxcLqbDU.js} +5 -14
  880. package/dist/metrics-kpi-card-DxcLqbDU.js.map +1 -0
  881. package/dist/{metrics-line-chart-C3UMBQ38.js → metrics-line-chart-C9_EMuHK.js} +2 -2
  882. package/dist/{metrics-line-chart-C3UMBQ38.js.map → metrics-line-chart-C9_EMuHK.js.map} +1 -1
  883. package/dist/{metrics-line-chart-CjJxBbM-.cjs → metrics-line-chart-R-T_jyeP.cjs} +2 -2
  884. package/dist/{metrics-line-chart-CjJxBbM-.cjs.map → metrics-line-chart-R-T_jyeP.cjs.map} +1 -1
  885. package/dist/{metrics-line-chart-tooltip-DiXCgpik.cjs → metrics-line-chart-tooltip-BoG8nbkO.cjs} +2 -2
  886. package/dist/{metrics-line-chart-tooltip-DiXCgpik.cjs.map → metrics-line-chart-tooltip-BoG8nbkO.cjs.map} +1 -1
  887. package/dist/{metrics-line-chart-tooltip-mZXPH1yH.js → metrics-line-chart-tooltip-C3WAk3DN.js} +2 -2
  888. package/dist/{metrics-line-chart-tooltip-mZXPH1yH.js.map → metrics-line-chart-tooltip-C3WAk3DN.js.map} +1 -1
  889. package/dist/new/layout/page-header.cjs.js +1 -1
  890. package/dist/new/layout/page-header.es.js +1 -1
  891. package/dist/new/settings.cjs.js +2 -2
  892. package/dist/new/settings.es.js +2 -2
  893. package/dist/new/sidebar.cjs.js +35 -35
  894. package/dist/new/sidebar.cjs.js.map +1 -1
  895. package/dist/new/sidebar.es.js +3 -3
  896. package/dist/{notification-activity-CFR_b8eA.js → notification-activity-BDoleJAA.js} +4 -4
  897. package/dist/{notification-activity-CFR_b8eA.js.map → notification-activity-BDoleJAA.js.map} +1 -1
  898. package/dist/{notification-activity-Dk50wcE4.cjs → notification-activity-C_vZiswj.cjs} +4 -4
  899. package/dist/{notification-activity-Dk50wcE4.cjs.map → notification-activity-C_vZiswj.cjs.map} +1 -1
  900. package/dist/{page-header-DIS8V2TK.js → page-header-D5a7qrVc.js} +2 -2
  901. package/dist/{page-header-DIS8V2TK.js.map → page-header-D5a7qrVc.js.map} +1 -1
  902. package/dist/{page-header-C1WiOrTE.cjs → page-header-Dc2KSbnw.cjs} +2 -2
  903. package/dist/{page-header-C1WiOrTE.cjs.map → page-header-Dc2KSbnw.cjs.map} +1 -1
  904. package/dist/{plan-D8rM4i4S.cjs → plan-D49plJdQ.cjs} +7 -6
  905. package/dist/{plan-D8rM4i4S.cjs.map → plan-D49plJdQ.cjs.map} +1 -1
  906. package/dist/{plan-BtOryfz5.js → plan-DvkySMRk.js} +6 -5
  907. package/dist/{plan-BtOryfz5.js.map → plan-DvkySMRk.js.map} +1 -1
  908. package/dist/primitives/form-element.cjs.js +1 -1
  909. package/dist/primitives/form-element.cjs.js.map +1 -1
  910. package/dist/primitives/form-element.es.js +1 -1
  911. package/dist/primitives/form-element.es.js.map +1 -1
  912. package/dist/{reasoning-activity-DaXMgyr3.cjs → reasoning-activity-COiiln9U.cjs} +3 -3
  913. package/dist/{reasoning-activity-DaXMgyr3.cjs.map → reasoning-activity-COiiln9U.cjs.map} +1 -1
  914. package/dist/{reasoning-activity-6VkIbDT4.js → reasoning-activity-r7B4_j4d.js} +3 -3
  915. package/dist/{reasoning-activity-6VkIbDT4.js.map → reasoning-activity-r7B4_j4d.js.map} +1 -1
  916. package/dist/{relative-timestamp-BlmN8Vjn.cjs → relative-timestamp-Nnwtw7Rp.cjs} +2 -2
  917. package/dist/{relative-timestamp-BlmN8Vjn.cjs.map → relative-timestamp-Nnwtw7Rp.cjs.map} +1 -1
  918. package/dist/{relative-timestamp-Cnp4VeLp.js → relative-timestamp-Rn8mAobA.js} +2 -2
  919. package/dist/{relative-timestamp-Cnp4VeLp.js.map → relative-timestamp-Rn8mAobA.js.map} +1 -1
  920. package/dist/resize/panel-group.cjs.js +14 -2
  921. package/dist/resize/panel-group.cjs.js.map +1 -1
  922. package/dist/resize/panel-group.es.js +14 -2
  923. package/dist/resize/panel-group.es.js.map +1 -1
  924. package/dist/{search-input-BKXiYeed.js → search-input-63Y1_wgA.js} +3 -3
  925. package/dist/{search-input-BKXiYeed.js.map → search-input-63Y1_wgA.js.map} +1 -1
  926. package/dist/{search-input-T0orZ7Jf.cjs → search-input-CBhT3N4z.cjs} +3 -3
  927. package/dist/{search-input-T0orZ7Jf.cjs.map → search-input-CBhT3N4z.cjs.map} +1 -1
  928. package/dist/{section-Byml9qxH.cjs → section-C5r-Mtxk.cjs} +3 -3
  929. package/dist/{section-Byml9qxH.cjs.map → section-C5r-Mtxk.cjs.map} +1 -1
  930. package/dist/{section-DTooysg2.js → section-DYrbH35K.js} +3 -3
  931. package/dist/{section-DTooysg2.js.map → section-DYrbH35K.js.map} +1 -1
  932. package/dist/{select--ArpXYDc.js → select-CWxcmE3F.js} +2 -2
  933. package/dist/select-CWxcmE3F.js.map +1 -0
  934. package/dist/{select-DJQYAVcm.cjs → select-KV77JIvp.cjs} +2 -2
  935. package/dist/select-KV77JIvp.cjs.map +1 -0
  936. package/dist/{settings-row-B0jGFpVw.js → settings-row-Dc6ECXjj.js} +2 -2
  937. package/dist/{settings-row-B0jGFpVw.js.map → settings-row-Dc6ECXjj.js.map} +1 -1
  938. package/dist/{settings-row-Dt4WnnRf.cjs → settings-row-UPZXTcx1.cjs} +2 -2
  939. package/dist/{settings-row-Dt4WnnRf.cjs.map → settings-row-UPZXTcx1.cjs.map} +1 -1
  940. package/dist/{side-dialog-lQUx6B_M.cjs → side-dialog-CFTgnDXu.cjs} +2 -2
  941. package/dist/{side-dialog-lQUx6B_M.cjs.map → side-dialog-CFTgnDXu.cjs.map} +1 -1
  942. package/dist/{side-dialog-DZJc85m3.js → side-dialog-yvAvCday.js} +2 -2
  943. package/dist/{side-dialog-DZJc85m3.js.map → side-dialog-yvAvCday.js.map} +1 -1
  944. package/dist/{signal-activity-byCTRP86.cjs → signal-activity-BI-DRdjw.cjs} +4 -4
  945. package/dist/{signal-activity-byCTRP86.cjs.map → signal-activity-BI-DRdjw.cjs.map} +1 -1
  946. package/dist/{signal-activity-DW2ExjIp.js → signal-activity-_ChAbNsW.js} +4 -4
  947. package/dist/{signal-activity-DW2ExjIp.js.map → signal-activity-_ChAbNsW.js.map} +1 -1
  948. package/dist/{span-payload-primitives-CGamdu2t.js → span-payload-primitives-DceLKTQK.js} +3 -3
  949. package/dist/{span-payload-primitives-CGamdu2t.js.map → span-payload-primitives-DceLKTQK.js.map} +1 -1
  950. package/dist/{span-payload-primitives-SkL3U9hR.cjs → span-payload-primitives-DqeZJkw3.cjs} +3 -3
  951. package/dist/{span-payload-primitives-SkL3U9hR.cjs.map → span-payload-primitives-DqeZJkw3.cjs.map} +1 -1
  952. package/dist/src/domains/traces/components/span-data-panel-view.d.ts +3 -1
  953. package/dist/src/domains/traces/components/thread-trace/index.d.ts +23 -20
  954. package/dist/src/domains/traces/components/thread-trace/thread-trace-details.d.ts +1 -1
  955. package/dist/src/domains/traces/components/thread-trace/thread-trace-messages.d.ts +5 -15
  956. package/dist/src/domains/traces/components/thread-trace/thread-trace-root.d.ts +2 -2
  957. package/dist/src/domains/traces/components/thread-trace/thread-trace-row.d.ts +17 -2
  958. package/dist/src/domains/traces/components/thread-trace/thread-trace-span-panel.d.ts +3 -3
  959. package/dist/src/domains/traces/components/thread-trace/thread-trace-spans.d.ts +3 -4
  960. package/dist/src/domains/traces/components/thread-view-skeleton.d.ts +10 -4
  961. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +10 -3
  962. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +7 -5
  963. package/dist/src/domains/traces/components/trace-messages-panel.d.ts +2 -10
  964. package/dist/src/domains/traces/components/trace-messages-skeleton.d.ts +9 -6
  965. package/dist/src/domains/traces/components/trace-span-panel.d.ts +1 -1
  966. package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +4 -6
  967. package/dist/src/domains/traces/components/trace-thread-panel.d.ts +7 -5
  968. package/dist/src/domains/traces/hooks/use-branch.d.ts +2 -2
  969. package/dist/src/domains/traces/hooks/use-trace-light-spans.d.ts +2 -2
  970. package/dist/src/domains/traces/hooks/use-trace-or-branch-spans.d.ts +2 -2
  971. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +2 -0
  972. package/dist/src/domains/traces/hooks/use-trace-search.d.ts +11 -8
  973. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +1 -7
  974. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -0
  975. package/dist/src/domains/traces/utils/index.d.ts +1 -1
  976. package/dist/src/domains/traces/utils/to-searchable-spans.d.ts +2 -26
  977. package/dist/src/domains/workspace/components/frontmatter.d.ts +4 -0
  978. package/dist/src/domains/workspace/components/mount-icon.d.ts +6 -0
  979. package/dist/src/domains/workspace/components/use-workspace-context.d.ts +32 -0
  980. package/dist/src/domains/workspace/components/workspace-active-file.d.ts +13 -0
  981. package/dist/src/domains/workspace/components/workspace-add-skill-dialog.d.ts +39 -0
  982. package/dist/src/domains/workspace/components/workspace-add-skill.d.ts +10 -0
  983. package/dist/src/domains/workspace/components/workspace-context.d.ts +28 -0
  984. package/dist/src/domains/workspace/components/workspace-create-directory.d.ts +4 -0
  985. package/dist/src/domains/workspace/components/workspace-error.d.ts +5 -0
  986. package/dist/src/domains/workspace/components/workspace-markdown-preview.d.ts +4 -0
  987. package/dist/src/domains/workspace/components/workspace-parts.d.ts +25 -0
  988. package/dist/src/domains/workspace/components/workspace-search.d.ts +5 -0
  989. package/dist/src/domains/workspace/components/workspace-tree-view.d.ts +32 -0
  990. package/dist/src/domains/workspace/components/workspace-tree.d.ts +1 -0
  991. package/dist/src/domains/workspace/components/workspace.d.ts +18 -0
  992. package/dist/src/domains/workspace/file-type.d.ts +6 -0
  993. package/dist/src/domains/workspace/hooks/use-skills-sh.d.ts +51 -0
  994. package/dist/src/domains/workspace/hooks/use-workspace-directory.d.ts +17 -0
  995. package/dist/src/domains/workspace/hooks/use-workspace-file-content.d.ts +8 -0
  996. package/dist/src/domains/workspace/hooks/use-workspace-search.d.ts +11 -0
  997. package/dist/src/domains/workspace/index.d.ts +14 -0
  998. package/dist/src/domains/workspace/path.d.ts +6 -0
  999. package/dist/src/ds/components/Button/button.stories.d.ts +1 -0
  1000. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +13 -8
  1001. package/dist/src/ds/components/Code/code.d.ts +1 -1
  1002. package/dist/src/ds/components/CollapsibleBox/collapsible-box.d.ts +5 -2
  1003. package/dist/src/ds/components/CollapsibleBox/collapsible-box.stories.d.ts +1 -0
  1004. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -1
  1005. package/dist/src/ds/components/Command/command.stories.d.ts +1 -0
  1006. package/dist/src/ds/components/InputGroup/input-group.d.ts +2 -0
  1007. package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +0 -1
  1008. package/dist/src/ds/components/InputNumber/index.d.ts +1 -0
  1009. package/dist/src/ds/components/InputNumber/input-number.d.ts +26 -0
  1010. package/dist/src/ds/components/InputNumber/input-number.stories.d.ts +11 -0
  1011. package/dist/src/ds/components/Tabs/tabs-context.d.ts +0 -1
  1012. package/dist/src/ds/components/Tabs/tabs-list.d.ts +0 -7
  1013. package/dist/src/ds/components/Tabs/tabs-root.d.ts +1 -1
  1014. package/dist/src/ds/components/Tabs/tabs-tab.d.ts +3 -1
  1015. package/dist/src/ds/components/Tabs/tabs.stories.d.ts +0 -1
  1016. package/dist/src/ds/components/ThinkingLevel/index.d.ts +4 -0
  1017. package/dist/src/ds/components/ThinkingLevel/thinking-level-picker.d.ts +17 -0
  1018. package/dist/src/ds/components/ThinkingLevel/thinking-level-ramp.d.ts +9 -0
  1019. package/dist/src/ds/components/ThinkingLevel/thinking-level-slider.d.ts +13 -0
  1020. package/dist/src/ds/components/ThinkingLevel/thinking-level.stories.d.ts +14 -0
  1021. package/dist/src/ds/components/ThinkingLevel/use-thinking-level-stop.d.ts +29 -0
  1022. package/dist/src/ds/components/ai/transcript-divider/stories/transcript-divider.stories.d.ts +3 -0
  1023. package/dist/src/ds/components/ai/transcript-divider/transcript-divider.d.ts +6 -1
  1024. package/dist/src/ds/icons/FileIcon.d.ts +2 -0
  1025. package/dist/src/ds/icons/SearchIcon.d.ts +2 -0
  1026. package/dist/src/ds/icons/TrashIcon.d.ts +2 -0
  1027. package/dist/src/ds/icons/index.d.ts +3 -0
  1028. package/dist/src/ds/layout/tabbed-container/tabbed-container-root.d.ts +2 -1
  1029. package/dist/src/ds/tokens/fonts.d.ts +1 -1
  1030. package/dist/src/lib/resize/panel-group.d.ts +3 -1
  1031. package/dist/style.css +300 -127
  1032. package/dist/{tabs-content-DnscxcLI.cjs → tabs-content-DfH1hhpU.cjs} +3 -3
  1033. package/dist/{tabs-content-DnscxcLI.cjs.map → tabs-content-DfH1hhpU.cjs.map} +1 -1
  1034. package/dist/{tabs-content-CwbkTutf.js → tabs-content-OWF8un_n.js} +2 -2
  1035. package/dist/{tabs-content-CwbkTutf.js.map → tabs-content-OWF8un_n.js.map} +1 -1
  1036. package/dist/tabs-context-Cbuw7i0u.js +7 -0
  1037. package/dist/tabs-context-Cbuw7i0u.js.map +1 -0
  1038. package/dist/tabs-context-pnspPkI-.cjs +10 -0
  1039. package/dist/tabs-context-pnspPkI-.cjs.map +1 -0
  1040. package/dist/{tabs-root-C-ePF1y9.cjs → tabs-list-Tqj36HIL.cjs} +10 -43
  1041. package/dist/tabs-list-Tqj36HIL.cjs.map +1 -0
  1042. package/dist/{tabs-root-lrZZ3KwH.js → tabs-list-tLx5fgP0.js} +12 -44
  1043. package/dist/tabs-list-tLx5fgP0.js.map +1 -0
  1044. package/dist/tabs-root-BbzhUZl4.js +40 -0
  1045. package/dist/tabs-root-BbzhUZl4.js.map +1 -0
  1046. package/dist/tabs-root-Hkt7A6oq.cjs +42 -0
  1047. package/dist/tabs-root-Hkt7A6oq.cjs.map +1 -0
  1048. package/dist/tabs-root.css +0 -70
  1049. package/dist/{tabs-tab-BmIBFifi.cjs → tabs-tab-C-C2vX-D.cjs} +10 -7
  1050. package/dist/tabs-tab-C-C2vX-D.cjs.map +1 -0
  1051. package/dist/{tabs-tab-DoPSW-1s.js → tabs-tab-ClLIOGiC.js} +11 -6
  1052. package/dist/tabs-tab-ClLIOGiC.js.map +1 -0
  1053. package/dist/{text-and-icon-CuBm-Wjm.js → text-and-icon-Bo6NLLBl.js} +2 -2
  1054. package/dist/{text-and-icon-CuBm-Wjm.js.map → text-and-icon-Bo6NLLBl.js.map} +1 -1
  1055. package/dist/{text-and-icon-4eVhfmbb.cjs → text-and-icon-CvakH4YL.cjs} +2 -2
  1056. package/dist/{text-and-icon-4eVhfmbb.cjs.map → text-and-icon-CvakH4YL.cjs.map} +1 -1
  1057. package/dist/{thread-list-BTpezI4f.js → thread-list-D2zSEQWK.js} +2 -2
  1058. package/dist/{thread-list-BTpezI4f.js.map → thread-list-D2zSEQWK.js.map} +1 -1
  1059. package/dist/{thread-list-Drcptd4x.cjs → thread-list-DKBwiGfX.cjs} +2 -2
  1060. package/dist/{thread-list-Drcptd4x.cjs.map → thread-list-DKBwiGfX.cjs.map} +1 -1
  1061. package/dist/{time-picker-KE48KlpH.cjs → time-picker-Uz05Y0qU.cjs} +2 -2
  1062. package/dist/{time-picker-KE48KlpH.cjs.map → time-picker-Uz05Y0qU.cjs.map} +1 -1
  1063. package/dist/{time-picker-DRSAkFuj.js → time-picker-eQkyOP4X.js} +2 -2
  1064. package/dist/{time-picker-DRSAkFuj.js.map → time-picker-eQkyOP4X.js.map} +1 -1
  1065. package/dist/tokens.cjs.js +3 -0
  1066. package/dist/tokens.cjs.js.map +1 -1
  1067. package/dist/tokens.es.js +3 -0
  1068. package/dist/tokens.es.js.map +1 -1
  1069. package/dist/{tool-call-arguments-CtUKj7IB.js → tool-call-arguments-DQv3oaEC.js} +3 -3
  1070. package/dist/{tool-call-arguments-CtUKj7IB.js.map → tool-call-arguments-DQv3oaEC.js.map} +1 -1
  1071. package/dist/{tool-call-arguments-BemKsB9v.cjs → tool-call-arguments-DdO3E60i.cjs} +3 -3
  1072. package/dist/{tool-call-arguments-BemKsB9v.cjs.map → tool-call-arguments-DdO3E60i.cjs.map} +1 -1
  1073. package/dist/{tool-call-group-D_ioE9hT.cjs → tool-call-group-CALHT0zr.cjs} +3 -3
  1074. package/dist/{tool-call-group-D_ioE9hT.cjs.map → tool-call-group-CALHT0zr.cjs.map} +1 -1
  1075. package/dist/{tool-call-group-ZuYxpyDs.js → tool-call-group-UoMplOy2.js} +3 -3
  1076. package/dist/{tool-call-group-ZuYxpyDs.js.map → tool-call-group-UoMplOy2.js.map} +1 -1
  1077. package/dist/{traces-data-list-Dd8vMPQK.cjs → traces-data-list-D-wz-Je3.cjs} +5 -5
  1078. package/dist/{traces-data-list-Dd8vMPQK.cjs.map → traces-data-list-D-wz-Je3.cjs.map} +1 -1
  1079. package/dist/{traces-data-list-Fvl8mlih.js → traces-data-list-DmCgejAx.js} +5 -5
  1080. package/dist/{traces-data-list-Fvl8mlih.js.map → traces-data-list-DmCgejAx.js.map} +1 -1
  1081. package/dist/transcript-divider-273Bsdjs.cjs +30 -0
  1082. package/dist/transcript-divider-273Bsdjs.cjs.map +1 -0
  1083. package/dist/transcript-divider-CPIo8NUj.js +28 -0
  1084. package/dist/transcript-divider-CPIo8NUj.js.map +1 -0
  1085. package/dist/tree-DOVwqiSm.cjs +493 -0
  1086. package/dist/tree-DOVwqiSm.cjs.map +1 -0
  1087. package/dist/tree-DixCN7B0.js +472 -0
  1088. package/dist/tree-DixCN7B0.js.map +1 -0
  1089. package/dist/use-collapsible-box-B0t2_SvP.js +20 -0
  1090. package/dist/use-collapsible-box-B0t2_SvP.js.map +1 -0
  1091. package/dist/use-collapsible-box-BI80L4h_.cjs +23 -0
  1092. package/dist/use-collapsible-box-BI80L4h_.cjs.map +1 -0
  1093. package/dist/{use-workflow-graph-runtime-JQwLwNBD.js → use-workflow-graph-runtime-BF_NZEkj.js} +4 -4
  1094. package/dist/{use-workflow-graph-runtime-JQwLwNBD.js.map → use-workflow-graph-runtime-BF_NZEkj.js.map} +1 -1
  1095. package/dist/{use-workflow-graph-runtime-BNAtEa06.cjs → use-workflow-graph-runtime-r_OOpvSo.cjs} +4 -4
  1096. package/dist/{use-workflow-graph-runtime-BNAtEa06.cjs.map → use-workflow-graph-runtime-r_OOpvSo.cjs.map} +1 -1
  1097. package/dist/{workflow-condition-card-3J-As62x.js → workflow-condition-card-BCSYogql.js} +4 -4
  1098. package/dist/{workflow-condition-card-3J-As62x.js.map → workflow-condition-card-BCSYogql.js.map} +1 -1
  1099. package/dist/{workflow-condition-card-BjEAp0t6.cjs → workflow-condition-card-Dlo2PaKV.cjs} +4 -4
  1100. package/dist/{workflow-condition-card-BjEAp0t6.cjs.map → workflow-condition-card-Dlo2PaKV.cjs.map} +1 -1
  1101. package/dist/{workflow-data-edge-view-C4nbA2Fa.js → workflow-data-edge-view-JmkSlDp1.js} +2 -2
  1102. package/dist/{workflow-data-edge-view-C4nbA2Fa.js.map → workflow-data-edge-view-JmkSlDp1.js.map} +1 -1
  1103. package/dist/{workflow-data-edge-view-aHAZkZOH.cjs → workflow-data-edge-view-aNTgHQUk.cjs} +2 -2
  1104. package/dist/{workflow-data-edge-view-aHAZkZOH.cjs.map → workflow-data-edge-view-aNTgHQUk.cjs.map} +1 -1
  1105. package/dist/{workflow-debug-controls-tty6gLX2.js → workflow-debug-controls-CQc8ljAI.js} +3 -3
  1106. package/dist/{workflow-debug-controls-tty6gLX2.js.map → workflow-debug-controls-CQc8ljAI.js.map} +1 -1
  1107. package/dist/{workflow-debug-controls-VbxiluNZ.cjs → workflow-debug-controls-WXT05idC.cjs} +3 -3
  1108. package/dist/{workflow-debug-controls-VbxiluNZ.cjs.map → workflow-debug-controls-WXT05idC.cjs.map} +1 -1
  1109. package/dist/{workflow-edge-data-button-2aIkzgev.js → workflow-edge-data-button-B7bM7UqW.js} +2 -2
  1110. package/dist/{workflow-edge-data-button-2aIkzgev.js.map → workflow-edge-data-button-B7bM7UqW.js.map} +1 -1
  1111. package/dist/{workflow-edge-data-button-BFNO-TRL.cjs → workflow-edge-data-button-CHoNrfef.cjs} +2 -2
  1112. package/dist/{workflow-edge-data-button-BFNO-TRL.cjs.map → workflow-edge-data-button-CHoNrfef.cjs.map} +1 -1
  1113. package/package.json +10 -10
  1114. package/theme/colors.css +1 -1
  1115. package/theme/typography.css +19 -2
  1116. package/dist/Badge-D3EctKQo.cjs.map +0 -1
  1117. package/dist/Badge-DmOqFpXW.js.map +0 -1
  1118. package/dist/Txt-BP1SRHmL.js.map +0 -1
  1119. package/dist/Txt-DPmEpNbp.cjs.map +0 -1
  1120. package/dist/code-B-x-9sJ1.cjs.map +0 -1
  1121. package/dist/code-BeWhOFT4.js.map +0 -1
  1122. package/dist/combobox-styles-mbcWlNZQ.js.map +0 -1
  1123. package/dist/combobox-styles-qL3FSgmU.cjs.map +0 -1
  1124. package/dist/command-Bm0VcX7X.cjs.map +0 -1
  1125. package/dist/command-DFin7kHN.js.map +0 -1
  1126. package/dist/data-panel-CbomKGJt.js.map +0 -1
  1127. package/dist/data-panel-o-QLWuFV.cjs.map +0 -1
  1128. package/dist/field-BtvEQ68O.js.map +0 -1
  1129. package/dist/field-error-id-4DYu4KZ2.cjs.map +0 -1
  1130. package/dist/field-error-id-BSQLcfHo.js.map +0 -1
  1131. package/dist/field-ip9xiOVa.cjs.map +0 -1
  1132. package/dist/input-group-BgCXLSRV.cjs.map +0 -1
  1133. package/dist/input-group-wzirc-1k.js.map +0 -1
  1134. package/dist/main-sidebar-link-active-D8VSuJKx.cjs.map +0 -1
  1135. package/dist/main-sidebar-link-active-buZAhlHo.js.map +0 -1
  1136. package/dist/message-scroller-CiFr8MwT.js.map +0 -1
  1137. package/dist/message-scroller-E05PLPmT.cjs.map +0 -1
  1138. package/dist/metrics-kpi-card-1hbihR2T.cjs.map +0 -1
  1139. package/dist/metrics-kpi-card-CiB88L41.js.map +0 -1
  1140. package/dist/select--ArpXYDc.js.map +0 -1
  1141. package/dist/select-DJQYAVcm.cjs.map +0 -1
  1142. package/dist/tabs-root-C-ePF1y9.cjs.map +0 -1
  1143. package/dist/tabs-root-lrZZ3KwH.js.map +0 -1
  1144. package/dist/tabs-tab-BmIBFifi.cjs.map +0 -1
  1145. package/dist/tabs-tab-DoPSW-1s.js.map +0 -1
  1146. package/dist/use-collapsible-box-CCvsF_a9.js +0 -54
  1147. package/dist/use-collapsible-box-CCvsF_a9.js.map +0 -1
  1148. package/dist/use-collapsible-box-CbQOkokQ.cjs +0 -58
  1149. package/dist/use-collapsible-box-CbQOkokQ.cjs.map +0 -1
@@ -4,7 +4,7 @@ import { useState, useId, createContext, useContext } from 'react';
4
4
  import { u as useArriving } from './use-watched-CG9KoWl3.js';
5
5
  import { C as Collapsible, b as CollapsibleTrigger, a as CollapsibleContent } from './collapsible-BNUn4644.js';
6
6
  import { S as Shimmer } from './shimmer-BN7Dzm37.js';
7
- import { T as Txt } from './Txt-BP1SRHmL.js';
7
+ import { T as Txt } from './Txt-C3cYJgKU.js';
8
8
  import { c as cn } from './cn-65Adrsfj.js';
9
9
 
10
10
  const ActivityContext = createContext(void 0);
@@ -223,4 +223,4 @@ function ActivityItem({
223
223
  }
224
224
 
225
225
  export { Activity as A, ActivityContent as a, ActivityDetail as b, ActivityDisclosure as c, ActivityHeader as d, ActivityHeadline as e, ActivityIcon as f, ActivityItem as g, ActivityLabel as h, ActivityLeading as i, ActivitySpacer as j, ActivitySummary as k, ActivityTrailing as l, ActivityTrigger as m };
226
- //# sourceMappingURL=activity-BoXbE4Kz.js.map
226
+ //# sourceMappingURL=activity-D0SefV4r.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity-BoXbE4Kz.js","sources":["../src/ds/components/ai/activity/activity.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ActivityStatus = 'idle' | 'running' | 'error';\n\ninterface ActivityContextValue {\n open: boolean;\n foldable: boolean;\n status: ActivityStatus;\n toggle: () => void;\n}\n\nconst ActivityContext = createContext<ActivityContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useActivity() {\n const context = useContext(ActivityContext);\n if (!context) throw new Error('Activity compounds must be rendered within Activity');\n return context;\n}\n\nexport interface ActivityProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n foldable?: boolean;\n status?: ActivityStatus;\n}\n\nexport function Activity({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n foldable = true,\n status = 'idle',\n className,\n children,\n ...props\n}: ActivityProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? (foldable && uncontrolledOpen);\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ActivityContext.Provider value={{ open, foldable, status, toggle: () => handleOpenChange(!open) }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n <span id={statusId} className=\"sr-only\" aria-live=\"polite\">\n {status === 'running' && 'Running'}\n {status === 'error' && 'Failed'}\n </span>\n </Collapsible>\n </ActivityContext.Provider>\n );\n}\n\nexport const ActivityTrigger = ({ className, children, ...props }: ComponentProps<'div'>) => {\n const { foldable } = useActivity();\n const lineId = useId();\n\n return (\n <div\n className={cn(\n 'group/row relative w-full min-w-0 rounded-md transition-colors motion-reduce:transition-none',\n foldable && 'hover:bg-fill',\n className,\n )}\n {...props}\n >\n {foldable && (\n <CollapsibleTrigger\n aria-labelledby={lineId}\n className=\"absolute inset-0 cursor-pointer rounded-md focus-visible:ring-1 focus-visible:ring-border-focus focus-visible:outline-hidden\"\n />\n )}\n <div id={lineId} className={cn(foldable && 'pointer-events-none relative')}>\n {children}\n </div>\n </div>\n );\n};\n\nexport const ActivityHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ActivityLeading = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { foldable, toggle } = useActivity();\n\n if (!children) return null;\n\n return (\n <span\n className={cn('pointer-events-auto flex shrink-0 empty:hidden', foldable && 'cursor-pointer', className)}\n onClick={foldable ? toggle : undefined}\n {...props}\n >\n {children}\n </span>\n );\n};\n\nexport const ActivityIcon = ({ className, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <span\n className={cn(\n 'flex size-4 shrink-0 items-center justify-center [&_svg]:size-3.5 [&_svg]:shrink-0 [&_svg]:[stroke-width:1.75]',\n status === 'error' ? 'text-destructive-foreground' : 'text-placeholder',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const ActivityLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport interface ActivityDetailProps extends Omit<ComponentProps<typeof Txt>, 'font'> {\n font?: 'mono' | 'sans';\n wrap?: boolean;\n}\n\nexport const ActivityDetail = ({ font = 'mono', wrap = false, className, ...props }: ActivityDetailProps) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font={font === 'mono' ? 'mono' : undefined}\n className={cn('min-w-0', wrap ? 'break-words' : 'truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ActivitySummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ActivitySpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ActivitySpacer = ({ rule, className, ...props }: ActivitySpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ActivityTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ActivityDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open, foldable } = useActivity();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground/60 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:text-muted-foreground group-has-focus-visible/row:text-muted-foreground',\n open && 'rotate-90 text-muted-foreground',\n !foldable && 'opacity-0',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ActivityHeadlineProps extends Omit<ComponentProps<typeof ActivityHeader>, 'children'> {\n leading?: ReactNode;\n icon: ReactNode;\n label: ReactNode;\n detail?: string;\n description?: string;\n detailFont?: ActivityDetailProps['font'];\n wrapDetail?: boolean;\n badges?: ReactNode;\n}\n\nexport const ActivityHeadline = ({\n leading,\n icon,\n label,\n detail,\n description,\n detailFont,\n wrapDetail,\n badges,\n ...props\n}: ActivityHeadlineProps) => {\n const { status } = useActivity();\n const hasBadges = Boolean(badges);\n\n return (\n <ActivityHeader {...props}>\n <ActivityLeading>{leading}</ActivityLeading>\n <ActivityIcon>{icon}</ActivityIcon>\n <span className={cn('contents', hasBadges && 'flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1')}>\n <ActivityLabel className={cn(description && 'max-w-none min-w-0 shrink')}>{description || label}</ActivityLabel>\n {badges}\n {!description && detail && (\n <ActivityDetail font={detailFont} wrap={wrapDetail} className={cn(hasBadges && 'grow basis-40')}>\n {detail}\n </ActivityDetail>\n )}\n </span>\n <ActivitySpacer className={cn(hasBadges && 'flex-none')} />\n {status === 'error' && (\n <ActivityTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-destructive-foreground\" />\n </ActivityTrailing>\n )}\n <ActivityDisclosure />\n </ActivityHeader>\n );\n};\n\nexport const ActivityContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ActivityItemProps extends Omit<ActivityProps, 'children' | 'open' | 'onOpenChange' | 'foldable'> {\n icon: ReactNode;\n label: string;\n detail?: string;\n detailFont?: ActivityDetailProps['font'];\n badges?: ReactNode;\n collapsible?: boolean;\n children?: ReactNode;\n 'aria-label': string;\n}\n\nexport function ActivityItem({\n icon,\n label,\n detail,\n detailFont,\n badges,\n collapsible = true,\n children,\n ...props\n}: ActivityItemProps) {\n const folds = collapsible && Boolean(children);\n\n return (\n <Activity {...props} foldable={folds} open={collapsible ? undefined : true}>\n <ActivityTrigger>\n <ActivityHeadline\n icon={icon}\n label={label}\n detail={detail}\n detailFont={detailFont}\n wrapDetail={!folds}\n badges={badges}\n />\n </ActivityTrigger>\n {children && <ActivityContent>{children}</ActivityContent>}\n </Activity>\n );\n}\n\nexport type { ActivityStatus };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity-D0SefV4r.js","sources":["../src/ds/components/ai/activity/activity.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ActivityStatus = 'idle' | 'running' | 'error';\n\ninterface ActivityContextValue {\n open: boolean;\n foldable: boolean;\n status: ActivityStatus;\n toggle: () => void;\n}\n\nconst ActivityContext = createContext<ActivityContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useActivity() {\n const context = useContext(ActivityContext);\n if (!context) throw new Error('Activity compounds must be rendered within Activity');\n return context;\n}\n\nexport interface ActivityProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n foldable?: boolean;\n status?: ActivityStatus;\n}\n\nexport function Activity({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n foldable = true,\n status = 'idle',\n className,\n children,\n ...props\n}: ActivityProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? (foldable && uncontrolledOpen);\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ActivityContext.Provider value={{ open, foldable, status, toggle: () => handleOpenChange(!open) }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n <span id={statusId} className=\"sr-only\" aria-live=\"polite\">\n {status === 'running' && 'Running'}\n {status === 'error' && 'Failed'}\n </span>\n </Collapsible>\n </ActivityContext.Provider>\n );\n}\n\nexport const ActivityTrigger = ({ className, children, ...props }: ComponentProps<'div'>) => {\n const { foldable } = useActivity();\n const lineId = useId();\n\n return (\n <div\n className={cn(\n 'group/row relative w-full min-w-0 rounded-md transition-colors motion-reduce:transition-none',\n foldable && 'hover:bg-fill',\n className,\n )}\n {...props}\n >\n {foldable && (\n <CollapsibleTrigger\n aria-labelledby={lineId}\n className=\"absolute inset-0 cursor-pointer rounded-md focus-visible:ring-1 focus-visible:ring-border-focus focus-visible:outline-hidden\"\n />\n )}\n <div id={lineId} className={cn(foldable && 'pointer-events-none relative')}>\n {children}\n </div>\n </div>\n );\n};\n\nexport const ActivityHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ActivityLeading = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { foldable, toggle } = useActivity();\n\n if (!children) return null;\n\n return (\n <span\n className={cn('pointer-events-auto flex shrink-0 empty:hidden', foldable && 'cursor-pointer', className)}\n onClick={foldable ? toggle : undefined}\n {...props}\n >\n {children}\n </span>\n );\n};\n\nexport const ActivityIcon = ({ className, ...props }: ComponentProps<'span'>) => {\n const { status } = useActivity();\n\n return (\n <span\n className={cn(\n 'flex size-4 shrink-0 items-center justify-center [&_svg]:size-3.5 [&_svg]:shrink-0 [&_svg]:[stroke-width:1.75]',\n status === 'error' ? 'text-destructive-foreground' : 'text-placeholder',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const ActivityLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport interface ActivityDetailProps extends Omit<ComponentProps<typeof Txt>, 'font'> {\n font?: 'mono' | 'sans';\n wrap?: boolean;\n}\n\nexport const ActivityDetail = ({ font = 'mono', wrap = false, className, ...props }: ActivityDetailProps) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font={font === 'mono' ? 'mono' : undefined}\n className={cn('min-w-0', wrap ? 'break-words' : 'truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ActivitySummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ActivitySpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ActivitySpacer = ({ rule, className, ...props }: ActivitySpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ActivityTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ActivityDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open, foldable } = useActivity();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground/60 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:text-muted-foreground group-has-focus-visible/row:text-muted-foreground',\n open && 'rotate-90 text-muted-foreground',\n !foldable && 'opacity-0',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ActivityHeadlineProps extends Omit<ComponentProps<typeof ActivityHeader>, 'children'> {\n leading?: ReactNode;\n icon: ReactNode;\n label: ReactNode;\n detail?: string;\n description?: string;\n detailFont?: ActivityDetailProps['font'];\n wrapDetail?: boolean;\n badges?: ReactNode;\n}\n\nexport const ActivityHeadline = ({\n leading,\n icon,\n label,\n detail,\n description,\n detailFont,\n wrapDetail,\n badges,\n ...props\n}: ActivityHeadlineProps) => {\n const { status } = useActivity();\n const hasBadges = Boolean(badges);\n\n return (\n <ActivityHeader {...props}>\n <ActivityLeading>{leading}</ActivityLeading>\n <ActivityIcon>{icon}</ActivityIcon>\n <span className={cn('contents', hasBadges && 'flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1')}>\n <ActivityLabel className={cn(description && 'max-w-none min-w-0 shrink')}>{description || label}</ActivityLabel>\n {badges}\n {!description && detail && (\n <ActivityDetail font={detailFont} wrap={wrapDetail} className={cn(hasBadges && 'grow basis-40')}>\n {detail}\n </ActivityDetail>\n )}\n </span>\n <ActivitySpacer className={cn(hasBadges && 'flex-none')} />\n {status === 'error' && (\n <ActivityTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-destructive-foreground\" />\n </ActivityTrailing>\n )}\n <ActivityDisclosure />\n </ActivityHeader>\n );\n};\n\nexport const ActivityContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ActivityItemProps extends Omit<ActivityProps, 'children' | 'open' | 'onOpenChange' | 'foldable'> {\n icon: ReactNode;\n label: string;\n detail?: string;\n detailFont?: ActivityDetailProps['font'];\n badges?: ReactNode;\n collapsible?: boolean;\n children?: ReactNode;\n 'aria-label': string;\n}\n\nexport function ActivityItem({\n icon,\n label,\n detail,\n detailFont,\n badges,\n collapsible = true,\n children,\n ...props\n}: ActivityItemProps) {\n const folds = collapsible && Boolean(children);\n\n return (\n <Activity {...props} foldable={folds} open={collapsible ? undefined : true}>\n <ActivityTrigger>\n <ActivityHeadline\n icon={icon}\n label={label}\n detail={detail}\n detailFont={detailFont}\n wrapDetail={!folds}\n badges={badges}\n />\n </ActivityTrigger>\n {children && <ActivityContent>{children}</ActivityContent>}\n </Activity>\n );\n}\n\nexport type { ActivityStatus };\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { MessageCircleQuestion, Check } from 'lucide-react';
3
3
  import { useState } from 'react';
4
- import { B as Badge } from './Badge-DmOqFpXW.js';
4
+ import { B as Badge } from './Badge-DId-8rYY.js';
5
5
  import { B as Button } from './Button-D43ghVKt.js';
6
6
  import { C as Checkbox } from './checkbox-DcNIsz5L.js';
7
- import { F as Field, e as FieldLabel, f as Fieldset, g as FieldsetLegend, d as FieldItem } from './field-BtvEQ68O.js';
7
+ import { F as Field, e as FieldLabel, f as Fieldset, g as FieldsetLegend, d as FieldItem } from './field-BiMIiq2Y.js';
8
8
  import './field-control-aria-DB6y41tQ.js';
9
9
  import { I as Input } from './input-D5_B67_r.js';
10
10
  import { a as RadioGroupItem, R as RadioGroup } from './radio-group-bvm7Sqq_.js';
11
- import { T as Txt } from './Txt-BP1SRHmL.js';
11
+ import { T as Txt } from './Txt-C3cYJgKU.js';
12
12
  import { Icon } from './icons/Icon.es.js';
13
13
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
14
14
  import { c as cn } from './cn-65Adrsfj.js';
@@ -212,4 +212,4 @@ const AskUser = ({ payload, ...props }) => {
212
212
  };
213
213
 
214
214
  export { AskUser as A, AskUserBody as a, AskUserContainer as b, AskUserLabel as c, AskUserOptionRow as d, AskUserOutput as e, AskUserPending as f, AskUserQuestion as g, AskUserSubmit as h };
215
- //# sourceMappingURL=ask-user-DE8TaPhb.js.map
215
+ //# sourceMappingURL=ask-user-CqCUiZRR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user-DE8TaPhb.js","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { 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 { Field, FieldItem, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldLabelProps } from '@/ds/components/Field';\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<FieldLabelProps, '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 <FieldItem disabled={disabled} className=\"contents\">\n <FieldLabel\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 data-disabled:opacity-50',\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 </FieldLabel>\n </FieldItem>\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 ? 'destructive' : 'success'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-destructive-foreground')}>\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 [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=\"success\">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 <Field>\n <FieldLabel className=\"text-subheading\">{payload.question}</FieldLabel>\n <div className=\"flex items-center gap-2\">\n <Input\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 </Field>\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 {isMulti ? (\n <Fieldset className=\"gap-2\">\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\n ) : (\n <Fieldset\n className=\"gap-2\"\n render={\n <RadioGroup\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 }\n >\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\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-CqCUiZRR.js","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { 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 { Field, FieldItem, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldLabelProps } from '@/ds/components/Field';\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<FieldLabelProps, '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 <FieldItem disabled={disabled} className=\"contents\">\n <FieldLabel\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 data-disabled:opacity-50',\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 </FieldLabel>\n </FieldItem>\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 ? 'destructive' : 'success'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-destructive-foreground')}>\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 [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=\"success\">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 <Field>\n <FieldLabel className=\"text-subheading\">{payload.question}</FieldLabel>\n <div className=\"flex items-center gap-2\">\n <Input\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 </Field>\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 {isMulti ? (\n <Fieldset className=\"gap-2\">\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\n ) : (\n <Fieldset\n className=\"gap-2\"\n render={\n <RadioGroup\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 }\n >\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\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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"}
@@ -3,14 +3,14 @@
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
5
  const React = require('react');
6
- const Badge = require('./Badge-D3EctKQo.cjs');
6
+ const Badge = require('./Badge-DB59RxT5.cjs');
7
7
  const Button = require('./Button-CXhSUBxN.cjs');
8
8
  const checkbox = require('./checkbox-Bkobte27.cjs');
9
- const field = require('./field-ip9xiOVa.cjs');
9
+ const field = require('./field-BkeKcz_6.cjs');
10
10
  require('./field-control-aria-WzMGs0A4.cjs');
11
11
  const input = require('./input-D0UPyj6A.cjs');
12
12
  const radioGroup = require('./radio-group-QV7yVrSX.cjs');
13
- const Txt = require('./Txt-DPmEpNbp.cjs');
13
+ const Txt = require('./Txt-DNnvlrBo.cjs');
14
14
  const icons_Icon = require('./icons/Icon.cjs.js');
15
15
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
16
16
  const utils_cn = require('./cn-DG0X1KEP.cjs');
@@ -222,4 +222,4 @@ exports.AskUserOutput = AskUserOutput;
222
222
  exports.AskUserPending = AskUserPending;
223
223
  exports.AskUserQuestion = AskUserQuestion;
224
224
  exports.AskUserSubmit = AskUserSubmit;
225
- //# sourceMappingURL=ask-user-XYY0fUoI.cjs.map
225
+ //# sourceMappingURL=ask-user-DBb0lUh2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user-XYY0fUoI.cjs","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { 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 { Field, FieldItem, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldLabelProps } from '@/ds/components/Field';\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<FieldLabelProps, '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 <FieldItem disabled={disabled} className=\"contents\">\n <FieldLabel\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 data-disabled:opacity-50',\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 </FieldLabel>\n </FieldItem>\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 ? 'destructive' : 'success'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-destructive-foreground')}>\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 [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=\"success\">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 <Field>\n <FieldLabel className=\"text-subheading\">{payload.question}</FieldLabel>\n <div className=\"flex items-center gap-2\">\n <Input\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 </Field>\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 {isMulti ? (\n <Fieldset className=\"gap-2\">\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\n ) : (\n <Fieldset\n className=\"gap-2\"\n render={\n <RadioGroup\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 }\n >\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\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":["jsx","cn","raisedSurfaceStyle","Icon","MessageCircleQuestion","Txt","FieldItem","jsxs","FieldLabel","Button","Check","Badge","useState","Field","Input","Fieldset","FieldsetLegend","Checkbox","RadioGroup","RadioGroupItem"],"mappings":"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"}
1
+ {"version":3,"file":"ask-user-DBb0lUh2.cjs","sources":["../src/ds/components/ai/ask-user/ask-user.tsx"],"sourcesContent":["import { Check, MessageCircleQuestion } from 'lucide-react';\nimport { 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 { Field, FieldItem, FieldLabel, Fieldset, FieldsetLegend } from '@/ds/components/Field';\nimport type { FieldLabelProps } from '@/ds/components/Field';\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<FieldLabelProps, '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 <FieldItem disabled={disabled} className=\"contents\">\n <FieldLabel\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 data-disabled:opacity-50',\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 </FieldLabel>\n </FieldItem>\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 ? 'destructive' : 'success'} className=\"justify-self-start\">\n {result.isError ? 'Error' : 'Answered'}\n </Badge>\n <Txt as=\"p\" variant=\"body\" tone=\"ink\" className={cn(result.isError && 'text-destructive-foreground')}>\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 [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=\"success\">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 <Field>\n <FieldLabel className=\"text-subheading\">{payload.question}</FieldLabel>\n <div className=\"flex items-center gap-2\">\n <Input\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 </Field>\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 {isMulti ? (\n <Fieldset className=\"gap-2\">\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\n ) : (\n <Fieldset\n className=\"gap-2\"\n render={\n <RadioGroup\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 }\n >\n <FieldsetLegend className=\"mb-1 text-subheading\">{payload.question}</FieldsetLegend>\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 </Fieldset>\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":["jsx","cn","raisedSurfaceStyle","Icon","MessageCircleQuestion","Txt","FieldItem","jsxs","FieldLabel","Button","Check","Badge","useState","Field","Input","Fieldset","FieldsetLegend","Checkbox","RadioGroup","RadioGroupItem"],"mappings":";;;;;;;;;;;;;;;;;AAkCO,MAAM,mBAAmB,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,qBACrDA,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,UAAA;AAAA,IACV,SAAA,EAAWC,WAAA,CAAGC,2CAAA,EAAoB,mCAAA,EAAqC,SAAS,CAAA;AAAA,IAC/E,GAAG;AAAA;AACN;AAGK,MAAM,eAAe,CAAC,EAAE,WAAW,UAAA,EAAY,SAAA,EAAW,GAAG,KAAA,EAAM,qCACvE,KAAA,EAAA,EAAI,WAAA,EAAU,kBAAiB,SAAA,EAAWD,WAAA,CAAG,8CAA8C,SAAS,CAAA,EAAI,GAAG,KAAA,EAC1G,QAAA,EAAA;AAAA,kBAAAD,cAAA,CAACG,mBAAK,IAAA,EAAK,IAAA,EAAK,WAAU,uBAAA,EACxB,QAAA,kBAAAH,cAAA,CAACI,qCAAsB,CAAA,EACzB,CAAA;AAAA,kBACAJ,cAAA,CAACK,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,SACnC,QAAA,EACH;AAAA,CAAA,EACF;AAGK,MAAM,cAAc,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,qBAChDL,cAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,iBAAgB,SAAA,EAAWC,WAAA,CAAG,kBAAkB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAGjF,MAAM,eAAA,GAAkB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,oCACnDI,OAAA,EAAA,EAAI,EAAA,EAAG,KAAI,OAAA,EAAQ,YAAA,EAAa,MAAK,KAAA,EAAO,GAAG,OAAO,SAAA,EAAWJ,WAAA,CAAG,MAAA,EAAQ,SAAS,CAAA,EAAG;AAUpF,MAAM,mBAAmB,CAAC;AAAA,EAC/B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACED,cAAA,CAACM,eAAA,EAAA,EAAU,QAAA,EAAoB,SAAA,EAAU,UAAA,EACvC,QAAA,kBAAAC,eAAA;AAAA,EAACC,gBAAA;AAAA,EAAA;AAAA,IAEC,iBAAe,QAAA,IAAY,MAAA;AAAA,IAC3B,SAAA,EAAWP,WAAA;AAAA,MACT,4FAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,sBACDM,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EACd,QAAA,EAAA;AAAA,wBAAAP,cAAA,CAACK,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,MAAA,EAAO,IAAA,EAAK,OAChC,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,QACC,WAAA,mBACCL,cAAA,CAACK,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,OAAA,EACnC,QAAA,EAAA,WAAA,EACH,CAAA,GACE;AAAA,OAAA,EACN;AAAA;AAAA;AACF,CAAA,EACF;AAKK,MAAM,aAAA,GAAgB,CAAC,EAAE,QAAA,GAAW,iBAAiB,GAAG,KAAA,EAAM,qBACnEL,cAAA,CAACS,aAAA,EAAA,EAAO,IAAA,iCAAOC,iBAAA,EAAA,EAAM,CAAA,EAAI,MAAK,QAAA,EAAS,IAAA,EAAK,MAAK,OAAA,EAAQ,SAAA,EAAW,GAAG,KAAA,EACpE,QAAA,EACH;AAGK,MAAM,cAAA,GAAiB,CAAC,EAAE,QAAA,GAAW,eAAe,GAAG,KAAA,uBAC5DV,cAAA,CAACK,OAAA,EAAA,EAAI,IAAG,MAAA,EAAO,IAAA,EAAK,UAAS,OAAA,EAAQ,SAAA,EAAU,MAAK,OAAA,EAAS,GAAG,OAC7D,QAAA,EACH;AAOK,MAAM,gBAAgB,CAAC,EAAE,QAAQ,SAAA,EAAW,GAAG,OAAM,qBAC1DE,eAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,iBAAA;AAAA,IACV,IAAA,EAAM,MAAA,CAAO,OAAA,GAAU,OAAA,GAAU,QAAA;AAAA,IACjC,SAAA,EAAWN,WAAA,CAAG,mCAAA,EAAqC,SAAS,CAAA;AAAA,IAC3D,GAAG,KAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAAD,cAAA,CAACW,WAAA,EAAA,EAAM,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,MAAA,CAAO,OAAA,GAAU,aAAA,GAAgB,SAAA,EAAW,SAAA,EAAU,oBAAA,EAC7E,QAAA,EAAA,MAAA,CAAO,OAAA,GAAU,UAAU,UAAA,EAC9B,CAAA;AAAA,sBACAX,cAAA,CAACK,OAAA,EAAA,EAAI,EAAA,EAAG,GAAA,EAAI,SAAQ,MAAA,EAAO,IAAA,EAAK,KAAA,EAAM,SAAA,EAAWJ,YAAG,MAAA,CAAO,OAAA,IAAW,6BAA6B,CAAA,EAChG,iBAAO,OAAA,EACV;AAAA;AAAA;AACF;AAYF,MAAM,YAAA,GAAe,CAAC,OAAA,KACpB,OAAA,EAAS,MAAA;AAAA,EAAO,CAAC,WACf,OAAA,CAAQ,MAAA,IAAU,OAAO,MAAA,CAAO,KAAA,KAAU,QAAA,IAAY,MAAA,CAAO,KAAK;AACpE,CAAA,IAAK,EAAC;AAMR,MAAM,eAAe,CAAC;AAAA,EACpB,OAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,YAAA,GAAe,KAAA;AAAA,EACf,QAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAyB;AACvB,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIW,eAAS,EAAE,CAAA;AACnC,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,cAAA,CAAmB,EAAE,CAAA;AAErD,EAAA,IAAI,UAAU,UAAA,EAAY;AACxB,IAAA,uBACEL,eAAA,CAAC,gBAAA,EAAA,EAAiB,aAAA,EAAY,UAAA,EAAY,GAAG,KAAA,EAC3C,QAAA,EAAA;AAAA,sBAAAP,cAAA,CAAC,YAAA,EAAA,EAAa,CAAA;AAAA,sCACb,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAA,cAAA,CAAC,eAAA,EAAA,EAAiB,kBAAQ,QAAA,EAAS,CAAA;AAAA,QAClC,MAAA,kCAAU,aAAA,EAAA,EAAc,MAAA,EAAgB,oBAAKA,cAAA,CAACW,WAAA,EAAA,EAAM,OAAA,EAAQ,SAAA,EAAU,QAAA,EAAA,UAAA,EAAQ;AAAA,OAAA,EACjF;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,aAAa,MAAM;AACvB,IAAA,MAAM,MAAA,GAAS,KAAK,IAAA,EAAK;AACzB,IAAA,IAAI,MAAA,IAAU,CAAC,YAAA,EAAc,QAAA,CAAS,MAAM,CAAA;AAAA,EAC9C,CAAA;AAEA,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAA2C;AACpE,IAAA,IAAI,KAAA,CAAM,QAAQ,OAAA,EAAS;AACzB,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,UAAA,EAAW;AAAA,IACb;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAA,CAAQ,WAAW,CAAA,EAAG;AACxB,IAAA,uBACEJ,eAAA,CAAC,gBAAA,EAAA,EAAiB,aAAA,EAAY,UAAA,EAAY,GAAG,KAAA,EAC3C,QAAA,EAAA;AAAA,sBAAAP,cAAA,CAAC,YAAA,EAAA,EAAa,CAAA;AAAA,sCACb,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAO,eAAA,CAACM,WAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAb,cAAA,CAACQ,gBAAA,EAAA,EAAW,SAAA,EAAU,iBAAA,EAAmB,QAAA,EAAA,OAAA,CAAQ,QAAA,EAAS,CAAA;AAAA,0BAC1DD,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,4BAAAP,cAAA;AAAA,cAACc,WAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAO,IAAA;AAAA,gBACP,QAAA,EAAU,CAAA,KAAA,KAAS,OAAA,CAAQ,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,gBAC7C,SAAA,EAAW,iBAAA;AAAA,gBACX,WAAA,EAAY,qBAAA;AAAA,gBACZ,QAAA,EAAU,YAAA;AAAA,gBACV,IAAA,EAAK;AAAA;AAAA,aACP;AAAA,4BACAd,cAAA;AAAA,cAAC,aAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,4BAAA;AAAA,gBACV,QAAA,EAAU,YAAA,IAAgB,CAAC,IAAA,CAAK,IAAA,EAAK;AAAA,gBACrC,OAAA,EAAS;AAAA;AAAA;AACX,WAAA,EACF;AAAA,SAAA,EACF,CAAA;AAAA,QACC,YAAA,mBAAeA,cAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,cAAa,CAAA,GAAK,IAAA;AAAA,QAC3D;AAAA,OAAA,EACH;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,OAAA,GAAU,QAAQ,aAAA,KAAkB,cAAA;AAE1C,EAAA,uBACEO,eAAA,CAAC,gBAAA,EAAA,EAAiB,aAAA,EAAY,UAAA,EAAY,GAAG,KAAA,EAC3C,QAAA,EAAA;AAAA,oBAAAP,cAAA,CAAC,YAAA,EAAA,EAAa,CAAA;AAAA,oCACb,WAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,OAAA,mBACCO,eAAA,CAACQ,cAAA,EAAA,EAAS,SAAA,EAAU,OAAA,EAClB,QAAA,EAAA;AAAA,wBAAAf,cAAA,CAACgB,oBAAA,EAAA,EAAe,SAAA,EAAU,sBAAA,EAAwB,QAAA,EAAA,OAAA,CAAQ,QAAA,EAAS,CAAA;AAAA,QAClE,OAAA,CAAQ,IAAI,CAAA,MAAA,qBACXhB,cAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YAEC,OAAO,MAAA,CAAO,KAAA;AAAA,YACd,aAAa,MAAA,CAAO,WAAA;AAAA,YACpB,QAAA,EAAU,YAAA;AAAA,YACV,OAAA,kBACEA,cAAA;AAAA,cAACiB,iBAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAU,QAAA;AAAA,gBACV,QAAA,EAAU,YAAA;AAAA,gBACV,OAAA,EAAS,QAAA,CAAS,QAAA,CAAS,MAAA,CAAO,KAAK,CAAA;AAAA,gBACvC,iBAAiB,MACf,WAAA;AAAA,kBAAY,aACV,OAAA,CAAQ,QAAA,CAAS,MAAA,CAAO,KAAK,IACzB,OAAA,CAAQ,MAAA,CAAO,CAAA,aAAA,KAAiB,aAAA,KAAkB,OAAO,KAAK,CAAA,GAC9D,CAAC,GAAG,OAAA,EAAS,OAAO,KAAK;AAAA;AAC/B;AAAA;AAEJ,WAAA;AAAA,UAhBG,MAAA,CAAO;AAAA,SAmBf,CAAA;AAAA,wBACDjB,cAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,yBAAA;AAAA,YACV,QAAA,EAAU,YAAA,IAAgB,QAAA,CAAS,MAAA,KAAW,CAAA;AAAA,YAC9C,OAAA,EAAS,MAAM,QAAA,CAAS,QAAQ,CAAA;AAAA,YACjC,QAAA,EAAA;AAAA;AAAA;AAED,OAAA,EACF,CAAA,mBAEAO,eAAA;AAAA,QAACQ,cAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,OAAA;AAAA,UACV,MAAA,kBACEf,cAAA;AAAA,YAACkB,qBAAA;AAAA,YAAA;AAAA,cACC,QAAA,EAAU,YAAA;AAAA,cACV,KAAA,EAAO,QAAA,CAAS,CAAC,CAAA,IAAK,IAAA;AAAA,cACtB,eAAe,CAAA,KAAA,KAAS;AACtB,gBAAA,MAAM,KAAA,GAAQ,OAAO,KAAK,CAAA;AAC1B,gBAAA,WAAA,CAAY,CAAC,KAAK,CAAC,CAAA;AACnB,gBAAA,QAAA,CAAS,KAAK,CAAA;AAAA,cAChB;AAAA;AAAA,WACF;AAAA,UAGF,QAAA,EAAA;AAAA,4BAAAlB,cAAA,CAACgB,oBAAA,EAAA,EAAe,SAAA,EAAU,sBAAA,EAAwB,QAAA,EAAA,OAAA,CAAQ,QAAA,EAAS,CAAA;AAAA,YAClE,OAAA,CAAQ,IAAI,CAAA,MAAA,qBACXhB,cAAA;AAAA,cAAC,gBAAA;AAAA,cAAA;AAAA,gBAEC,OAAO,MAAA,CAAO,KAAA;AAAA,gBACd,aAAa,MAAA,CAAO,WAAA;AAAA,gBACpB,QAAA,EAAU,YAAA;AAAA,gBACV,yBAASA,cAAA,CAACmB,yBAAA,EAAA,EAAe,WAAU,QAAA,EAAS,KAAA,EAAO,OAAO,KAAA,EAAO;AAAA,eAAA;AAAA,cAJ5D,MAAA,CAAO;AAAA,aAMf;AAAA;AAAA;AAAA,OACH;AAAA,MAED,YAAA,mBAAenB,cAAA,CAAC,cAAA,EAAA,EAAe,SAAA,EAAU,cAAa,CAAA,GAAK,IAAA;AAAA,MAC3D;AAAA,KAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ,CAAA;AAEO,MAAM,UAAU,CAAC,EAAE,OAAA,EAAS,GAAG,OAAM,KAAoB;AAC9D,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,OAAA,CAAQ,OAAO,CAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,SAAA,CAAU,CAAC,QAAQ,QAAA,EAAU,OAAA,CAAQ,GAAA,CAAI,CAAA,MAAA,KAAU,MAAA,CAAO,KAAK,CAAA,EAAG,OAAA,CAAQ,aAAa,CAAC,CAAA;AAEhH,EAAA,sCAAQ,YAAA,EAAA,EAA8B,OAAA,EAAkB,OAAA,EAAmB,GAAG,SAApD,UAA2D,CAAA;AACvF;;;;;;;;;;;;"}
@@ -122,7 +122,7 @@
122
122
  hover and open together, and a grouped trigger reads like the same trigger standing
123
123
  alone. The inset also clips to the padding box, so the wash cannot composite through
124
124
  the translucent border and lighten it — which is the whole point. */
125
- [data-slot='buttons-group'] > .shadow-raised {
125
+ [data-slot='buttons-group'] > :is(.shadow-raised, .shadow-input) {
126
126
  box-shadow: inset 0 0 0 9999px var(--surface-tint);
127
127
  border-width: 1px;
128
128
  }
@@ -1,25 +1,28 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { useState, useEffect } from 'react';
4
+ import { useDebounce } from 'use-debounce';
4
5
  import { h as highlight } from './highlight-BmpoELR4.js';
5
6
 
7
+ const HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;
6
8
  function useHighlight(code, lang) {
7
9
  const [highlighted, setHighlighted] = useState(null);
10
+ const [sampledCode] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
11
+ leading: true,
12
+ maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS
13
+ });
8
14
  useEffect(() => {
9
- if (!lang) {
10
- setHighlighted(null);
11
- return;
12
- }
15
+ if (!lang) return;
13
16
  let cancelled = false;
14
- void highlight(code, lang).then((tokens) => {
15
- if (!cancelled && tokens?.length) setHighlighted({ code, lang, tokens });
17
+ void highlight(sampledCode, lang).then((tokens) => {
18
+ if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });
16
19
  }).catch(() => {
17
20
  });
18
21
  return () => {
19
22
  cancelled = true;
20
23
  };
21
- }, [code, lang]);
22
- return highlighted;
24
+ }, [sampledCode, lang]);
25
+ return lang ? highlighted : null;
23
26
  }
24
27
  function tokenStyle(token) {
25
28
  if (token.htmlStyle && typeof token.htmlStyle === "object") {
@@ -72,4 +75,4 @@ const Code = React.memo(function Code2({ code, lang, lineClassName, ...props })
72
75
  });
73
76
 
74
77
  export { Code as C, tokenStyle as t, useHighlight as u };
75
- //# sourceMappingURL=code-BeWhOFT4.js.map
78
+ //# sourceMappingURL=code-C8akLzcu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-C8akLzcu.js","sources":["../src/ds/components/Code/use-highlight.ts","../src/ds/components/Code/code.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport type { ThemedToken } from 'shiki/core';\nimport { useDebounce } from 'use-debounce';\n\nimport { highlight } from '../CodeEditor/highlight';\n\nexport interface Highlighted {\n code: string;\n lang: string;\n tokens: ThemedToken[][];\n}\n\nconst HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;\n\n/** Tokens land a pass behind the code, so the value may still describe the previous code. */\nexport function useHighlight(code: string, lang: string | undefined): Highlighted | null {\n const [highlighted, setHighlighted] = useState<Highlighted | null>(null);\n // maxWait equal to the delay turns the debounce into a throttle.\n const [sampledCode] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {\n leading: true,\n maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS,\n });\n\n useEffect(() => {\n if (!lang) return;\n\n let cancelled = false;\n\n void highlight(sampledCode, lang)\n .then(tokens => {\n if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });\n })\n .catch(() => {});\n\n return () => {\n cancelled = true;\n };\n }, [sampledCode, lang]);\n\n return lang ? highlighted : null;\n}\n\nexport function tokenStyle(token: ThemedToken): CSSProperties | undefined {\n if (token.htmlStyle && typeof token.htmlStyle === 'object') {\n return token.htmlStyle as CSSProperties;\n }\n\n return token.color ? { color: token.color } : undefined;\n}\n","import * as React from 'react';\n\nimport { tokenStyle, useHighlight } from './use-highlight';\nimport type { Highlighted } from './use-highlight';\n\nexport interface CodeProps extends React.HTMLAttributes<HTMLPreElement> {\n code: string;\n lang?: string;\n /** Per-line class, e.g. for diff or search highlighting. When set, every line is wrapped in a `[data-line]` span. */\n lineClassName?: (lineIndex: number, lineText: string) => string | undefined;\n}\n\n/** Colors from an earlier pass still hold when the new code only appends to the old. */\nfunction usableHighlight(highlighted: Highlighted | null, code: string, lang?: string): Highlighted | null {\n if (!highlighted || highlighted.lang !== lang) return null;\n return code.startsWith(highlighted.code) ? highlighted : null;\n}\n\n/**\n * Low-level shiki token renderer shared by `CodeBlock` and `MarkdownRenderer`.\n * Dual-theme colors stay as `--shiki-light` / `--shiki-dark` CSS variables on\n * each token span; the `.shiki-token` class (index.css) picks the variant from\n * the `.dark` root class, so theme switching is pure CSS — no ThemeProvider\n * required. Renders plain text while highlighting is pending or when the\n * language is missing/unknown.\n *\n * A streaming fence re-renders on every delta while highlighting stays a sample\n * behind. Dropping the previous tokens each time would strobe the whole block\n * between colored and plain, so the settled prefix keeps its colors and only\n * the newly arrived tail waits, uncolored, for the next pass.\n */\nexport const Code = React.memo(function Code({ code, lang, lineClassName, ...props }: CodeProps) {\n const highlighted = useHighlight(code, lang);\n\n const usable = usableHighlight(highlighted, code, lang);\n if (!usable) {\n if (!lineClassName) return <pre {...props}>{code}</pre>;\n const lines = code.split('\\n');\n return (\n <pre {...props}>\n {lines.map((text, i) => (\n <React.Fragment key={i}>\n <span data-line={i} className={lineClassName(i, text)}>\n {text}\n </span>\n {i !== lines.length - 1 && '\\n'}\n </React.Fragment>\n ))}\n </pre>\n );\n }\n\n const tail = code.slice(usable.code.length);\n let codeOffset = 0;\n\n return (\n <pre {...props}>\n <code>\n {usable.tokens.map((line, lineIndex) => {\n const lineOffset = codeOffset;\n let tokenOffset = lineOffset;\n const tokenSpans = line.map(token => {\n const key = tokenOffset;\n tokenOffset += token.content.length;\n\n return (\n <span key={key} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n );\n });\n\n codeOffset = tokenOffset + 1;\n\n return (\n <React.Fragment key={lineOffset}>\n {lineClassName ? (\n <span\n data-line={lineIndex}\n className={lineClassName(lineIndex, line.map(token => token.content).join(''))}\n >\n {tokenSpans}\n </span>\n ) : (\n <span>{tokenSpans}</span>\n )}\n {lineIndex !== usable.tokens.length - 1 && '\\n'}\n </React.Fragment>\n );\n })}\n {tail}\n </code>\n </pre>\n );\n});\n"],"names":["Code"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const React = require('react');
5
+ const useDebounce = require('use-debounce');
5
6
  const highlight = require('./highlight-DK1dn-Fh.cjs');
6
7
 
7
8
  function _interopNamespaceDefault(e) {
@@ -23,23 +24,25 @@ function _interopNamespaceDefault(e) {
23
24
 
24
25
  const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
25
26
 
27
+ const HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;
26
28
  function useHighlight(code, lang) {
27
29
  const [highlighted, setHighlighted] = React.useState(null);
30
+ const [sampledCode] = useDebounce.useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {
31
+ leading: true,
32
+ maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS
33
+ });
28
34
  React.useEffect(() => {
29
- if (!lang) {
30
- setHighlighted(null);
31
- return;
32
- }
35
+ if (!lang) return;
33
36
  let cancelled = false;
34
- void highlight.highlight(code, lang).then((tokens) => {
35
- if (!cancelled && tokens?.length) setHighlighted({ code, lang, tokens });
37
+ void highlight.highlight(sampledCode, lang).then((tokens) => {
38
+ if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });
36
39
  }).catch(() => {
37
40
  });
38
41
  return () => {
39
42
  cancelled = true;
40
43
  };
41
- }, [code, lang]);
42
- return highlighted;
44
+ }, [sampledCode, lang]);
45
+ return lang ? highlighted : null;
43
46
  }
44
47
  function tokenStyle(token) {
45
48
  if (token.htmlStyle && typeof token.htmlStyle === "object") {
@@ -94,4 +97,4 @@ const Code = React__namespace.memo(function Code2({ code, lang, lineClassName, .
94
97
  exports.Code = Code;
95
98
  exports.tokenStyle = tokenStyle;
96
99
  exports.useHighlight = useHighlight;
97
- //# sourceMappingURL=code-B-x-9sJ1.cjs.map
100
+ //# sourceMappingURL=code-D_sH618U.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-D_sH618U.cjs","sources":["../src/ds/components/Code/use-highlight.ts","../src/ds/components/Code/code.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport type { CSSProperties } from 'react';\nimport type { ThemedToken } from 'shiki/core';\nimport { useDebounce } from 'use-debounce';\n\nimport { highlight } from '../CodeEditor/highlight';\n\nexport interface Highlighted {\n code: string;\n lang: string;\n tokens: ThemedToken[][];\n}\n\nconst HIGHLIGHT_SAMPLE_INTERVAL_MS = 75;\n\n/** Tokens land a pass behind the code, so the value may still describe the previous code. */\nexport function useHighlight(code: string, lang: string | undefined): Highlighted | null {\n const [highlighted, setHighlighted] = useState<Highlighted | null>(null);\n // maxWait equal to the delay turns the debounce into a throttle.\n const [sampledCode] = useDebounce(code, HIGHLIGHT_SAMPLE_INTERVAL_MS, {\n leading: true,\n maxWait: HIGHLIGHT_SAMPLE_INTERVAL_MS,\n });\n\n useEffect(() => {\n if (!lang) return;\n\n let cancelled = false;\n\n void highlight(sampledCode, lang)\n .then(tokens => {\n if (!cancelled && tokens?.length) setHighlighted({ code: sampledCode, lang, tokens });\n })\n .catch(() => {});\n\n return () => {\n cancelled = true;\n };\n }, [sampledCode, lang]);\n\n return lang ? highlighted : null;\n}\n\nexport function tokenStyle(token: ThemedToken): CSSProperties | undefined {\n if (token.htmlStyle && typeof token.htmlStyle === 'object') {\n return token.htmlStyle as CSSProperties;\n }\n\n return token.color ? { color: token.color } : undefined;\n}\n","import * as React from 'react';\n\nimport { tokenStyle, useHighlight } from './use-highlight';\nimport type { Highlighted } from './use-highlight';\n\nexport interface CodeProps extends React.HTMLAttributes<HTMLPreElement> {\n code: string;\n lang?: string;\n /** Per-line class, e.g. for diff or search highlighting. When set, every line is wrapped in a `[data-line]` span. */\n lineClassName?: (lineIndex: number, lineText: string) => string | undefined;\n}\n\n/** Colors from an earlier pass still hold when the new code only appends to the old. */\nfunction usableHighlight(highlighted: Highlighted | null, code: string, lang?: string): Highlighted | null {\n if (!highlighted || highlighted.lang !== lang) return null;\n return code.startsWith(highlighted.code) ? highlighted : null;\n}\n\n/**\n * Low-level shiki token renderer shared by `CodeBlock` and `MarkdownRenderer`.\n * Dual-theme colors stay as `--shiki-light` / `--shiki-dark` CSS variables on\n * each token span; the `.shiki-token` class (index.css) picks the variant from\n * the `.dark` root class, so theme switching is pure CSS — no ThemeProvider\n * required. Renders plain text while highlighting is pending or when the\n * language is missing/unknown.\n *\n * A streaming fence re-renders on every delta while highlighting stays a sample\n * behind. Dropping the previous tokens each time would strobe the whole block\n * between colored and plain, so the settled prefix keeps its colors and only\n * the newly arrived tail waits, uncolored, for the next pass.\n */\nexport const Code = React.memo(function Code({ code, lang, lineClassName, ...props }: CodeProps) {\n const highlighted = useHighlight(code, lang);\n\n const usable = usableHighlight(highlighted, code, lang);\n if (!usable) {\n if (!lineClassName) return <pre {...props}>{code}</pre>;\n const lines = code.split('\\n');\n return (\n <pre {...props}>\n {lines.map((text, i) => (\n <React.Fragment key={i}>\n <span data-line={i} className={lineClassName(i, text)}>\n {text}\n </span>\n {i !== lines.length - 1 && '\\n'}\n </React.Fragment>\n ))}\n </pre>\n );\n }\n\n const tail = code.slice(usable.code.length);\n let codeOffset = 0;\n\n return (\n <pre {...props}>\n <code>\n {usable.tokens.map((line, lineIndex) => {\n const lineOffset = codeOffset;\n let tokenOffset = lineOffset;\n const tokenSpans = line.map(token => {\n const key = tokenOffset;\n tokenOffset += token.content.length;\n\n return (\n <span key={key} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n );\n });\n\n codeOffset = tokenOffset + 1;\n\n return (\n <React.Fragment key={lineOffset}>\n {lineClassName ? (\n <span\n data-line={lineIndex}\n className={lineClassName(lineIndex, line.map(token => token.content).join(''))}\n >\n {tokenSpans}\n </span>\n ) : (\n <span>{tokenSpans}</span>\n )}\n {lineIndex !== usable.tokens.length - 1 && '\\n'}\n </React.Fragment>\n );\n })}\n {tail}\n </code>\n </pre>\n );\n});\n"],"names":["useState","useDebounce","useEffect","highlight","React","Code","jsx","jsxs"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { C as Code } from './code-BeWhOFT4.js';
2
+ import { C as Code } from './code-C8akLzcu.js';
3
3
  import { C as CopyButton } from './copy-button-DH8xtrWz.js';
4
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select--ArpXYDc.js';
5
- import { a as Tabs, T as TabList } from './tabs-root-lrZZ3KwH.js';
6
- import { T as Tab } from './tabs-tab-DoPSW-1s.js';
4
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-CWxcmE3F.js';
5
+ import { T as TabList } from './tabs-list-tLx5fgP0.js';
6
+ import { T as Tabs } from './tabs-root-BbzhUZl4.js';
7
+ import { T as Tab } from './tabs-tab-ClLIOGiC.js';
7
8
  import { transitions } from './primitives/transitions.es.js';
8
9
  import { c as cn } from './cn-65Adrsfj.js';
9
10
 
@@ -83,4 +84,4 @@ function CodeBlock({
83
84
  }
84
85
 
85
86
  export { CodeBlock as C };
86
- //# sourceMappingURL=code-block-Bnz7Pq0Q.js.map
87
+ //# sourceMappingURL=code-block-CXZNO_qi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-block-Bnz7Pq0Q.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\" className=\"w-auto\">\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-CXZNO_qi.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\" className=\"w-auto\">\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,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
- const code = require('./code-B-x-9sJ1.cjs');
4
+ const code = require('./code-D_sH618U.cjs');
5
5
  const copyButton = require('./copy-button-CGkFEDHF.cjs');
6
- const select = require('./select-DJQYAVcm.cjs');
7
- const tabsRoot = require('./tabs-root-C-ePF1y9.cjs');
8
- const tabsTab = require('./tabs-tab-BmIBFifi.cjs');
6
+ const select = require('./select-KV77JIvp.cjs');
7
+ const tabsList = require('./tabs-list-Tqj36HIL.cjs');
8
+ const tabsRoot = require('./tabs-root-Hkt7A6oq.cjs');
9
+ const tabsTab = require('./tabs-tab-C-C2vX-D.cjs');
9
10
  const primitives_transitions = require('./primitives/transitions.cjs.js');
10
11
  const utils_cn = require('./cn-DG0X1KEP.cjs');
11
12
 
@@ -38,7 +39,7 @@ function CodeBlock({
38
39
  children: [
39
40
  useTabs && firstOption && /* @__PURE__ */ jsxRuntime.jsx(tabsRoot.Tabs, { defaultTab: firstOption.value, value: activeValue, onValueChange: onValueChange ?? (() => {
40
41
  }), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-stretch", children: [
41
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(tabsRoot.TabList, { children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(tabsTab.Tab, { value: opt.value, children: opt.label }, opt.value)) }) }),
42
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(tabsList.TabList, { children: options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(tabsTab.Tab, { value: opt.value, children: opt.label }, opt.value)) }) }),
42
43
  actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center border-b border-border pr-2 pl-3", children: actions })
43
44
  ] }) }),
44
45
  useSelect && options && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-border-strong/40 px-2 py-1.5", children: [
@@ -85,4 +86,4 @@ function CodeBlock({
85
86
  }
86
87
 
87
88
  exports.CodeBlock = CodeBlock;
88
- //# sourceMappingURL=code-block-C3DbSINk.cjs.map
89
+ //# sourceMappingURL=code-block-z2hVcNq7.cjs.map