@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-CXPbrw66.js","sources":["../src/ds/components/Command/command.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/ds/components/Dialog';\nimport type { DialogSize } from '@/ds/components/Dialog';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport type { ScrollAreaMask } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogProps = Omit<React.ComponentPropsWithoutRef<typeof Dialog>, 'children'> & {\n children?: React.ReactNode;\n title?: string;\n description?: string;\n size?: DialogSize;\n contentClassName?: string;\n commandClassName?: string;\n commandLabel?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst CommandDialog = ({\n children,\n title = 'Command Palette',\n description = 'Search for commands and actions',\n size,\n contentClassName,\n commandClassName,\n commandLabel,\n showOverlay = false,\n overlayClassName,\n ...props\n}: CommandDialogProps) => {\n const filter = React.useCallback((value: string, search: string) => {\n const normalizedValue = value.toLowerCase();\n const normalizedSearch = search.toLowerCase();\n const searchTerms = normalizedSearch.split(/\\s+/).filter(Boolean);\n\n const matches = searchTerms.every(term => normalizedValue.includes(term));\n return matches ? 1 : 0;\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') return;\n\n e.stopPropagation();\n }, []);\n\n return (\n <Dialog {...props}>\n <DialogContent\n size={size}\n showOverlay={showOverlay}\n overlayClassName={overlayClassName}\n className={cn('overflow-hidden py-0', contentClassName)}\n >\n <DialogTitle className=\"sr-only\">{title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{description}</DialogDescription>\n <Command\n label={commandLabel}\n loop\n filter={filter}\n onKeyDown={handleKeyDown}\n className={cn(\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:text-column **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2',\n '[&_[data-slot=command-input-wrapper]_svg]:size-5',\n '**:[[cmdk-input]]:h-12',\n '**:[[cmdk-item]]:p-2',\n '[&_[cmdk-item]_svg]:size-5',\n commandClassName,\n )}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\n rightSlot?: React.ReactNode;\n wrapperClassName?: string;\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\n ({ className, rightSlot, wrapperClassName, ...props }, ref) => (\n <div\n data-slot=\"command-input-wrapper\"\n className={cn('flex items-center border-b border-border px-3', transitions.colors, wrapperClassName)}\n >\n <Search className={cn('mr-2 size-4 shrink-0 text-muted-foreground', transitions.colors)} />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-8 min-w-0 flex-1 rounded-md bg-transparent py-2 text-body-sm text-foreground',\n 'placeholder:text-placeholder disabled:cursor-not-allowed disabled:opacity-50',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n className,\n )}\n {...props}\n />\n {rightSlot && (\n <div data-slot=\"command-input-right-slot\" className=\"ml-2 flex shrink-0 items-center text-muted-foreground\">\n {rightSlot}\n </div>\n )}\n </div>\n ),\n);\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\ntype CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\n scrollArea?: boolean;\n scrollAreaClassName?: string;\n scrollAreaViewportClassName?: string;\n scrollAreaMask?: ScrollAreaMask;\n /** Extra classes for the travelling hover surface (e.g. a different radius). */\n highlightClassName?: string;\n};\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, CommandListProps>(\n (\n {\n className,\n children,\n scrollArea = false,\n scrollAreaClassName,\n scrollAreaViewportClassName,\n scrollAreaMask,\n highlightClassName,\n ...props\n },\n ref,\n ) => {\n const menu = useFluidMenu<HTMLDivElement>({ activeAttr: 'data-selected' });\n const list = (\n <CommandPrimitive.List\n className={cn(\n 'outline-none focus:outline-none focus-visible:outline-none',\n scrollArea ? 'overflow-visible' : 'max-h-dropdown overflow-x-hidden overflow-y-auto',\n menu.containerClassName,\n className,\n )}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={highlightClassName}>\n {children}\n </FluidMenuItems>\n </CommandPrimitive.List>\n );\n\n if (!scrollArea) return list;\n\n return (\n <ScrollArea className={cn('min-h-0', scrollAreaClassName)} mask={scrollAreaMask}>\n <ScrollAreaViewport className={scrollAreaViewportClassName}>{list}</ScrollAreaViewport>\n </ScrollArea>\n );\n },\n);\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-body-sm text-muted-foreground\" {...props} />\n));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-muted-foreground',\n '[&_[cmdk-group-heading]]:text-meta **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:pt-1.5 **:[[cmdk-group-heading]]:pb-1 **:[[cmdk-group-heading]]:tracking-wider **:[[cmdk-group-heading]]:text-muted-foreground **:[[cmdk-group-heading]]:uppercase',\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n className={cn(\n 'relative flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 text-body-sm text-muted-foreground select-none',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n 'data-[selected=true]:text-foreground',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n '[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground',\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n className={cn('ml-auto tracking-wider tabular-nums', className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["CommandPrimitive"],"mappings":"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"}
@@ -6,7 +6,7 @@ const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
7
  const dialog = require('./dialog-d_AK1NQD.cjs');
8
8
  const scrollArea = require('./scroll-area-CEuf7Omb.cjs');
9
- const Txt = require('./Txt-DPmEpNbp.cjs');
9
+ const Txt = require('./Txt-DNnvlrBo.cjs');
10
10
  const primitives_fluidMenu = require('./primitives/fluid-menu.cjs.js');
11
11
  const primitives_transitions = require('./primitives/transitions.cjs.js');
12
12
  const utils_cn = require('./cn-DG0X1KEP.cjs');
@@ -34,7 +34,10 @@ const Command = React__namespace.forwardRef(({ className, ...props }, ref) => /*
34
34
  cmdk.Command,
35
35
  {
36
36
  ref,
37
- className: utils_cn.cn("flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground", className),
37
+ className: utils_cn.cn(
38
+ "flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent",
39
+ className
40
+ ),
38
41
  ...props
39
42
  }
40
43
  ));
@@ -181,7 +184,7 @@ const CommandItem = React__namespace.forwardRef(({ className, ...props }, ref) =
181
184
  primitives_transitions.transitions.colors,
182
185
  "data-[selected=true]:text-foreground",
183
186
  "data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
184
- "[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground data-[selected=true]:[&_svg]:text-foreground",
187
+ "[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground",
185
188
  className
186
189
  ),
187
190
  ...props
@@ -211,4 +214,4 @@ exports.CommandItem = CommandItem;
211
214
  exports.CommandList = CommandList;
212
215
  exports.CommandSeparator = CommandSeparator;
213
216
  exports.CommandShortcut = CommandShortcut;
214
- //# sourceMappingURL=command-Bm0VcX7X.cjs.map
217
+ //# sourceMappingURL=command-DD3WIrQX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-DD3WIrQX.cjs","sources":["../src/ds/components/Command/command.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/ds/components/Dialog';\nimport type { DialogSize } from '@/ds/components/Dialog';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport type { ScrollAreaMask } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogProps = Omit<React.ComponentPropsWithoutRef<typeof Dialog>, 'children'> & {\n children?: React.ReactNode;\n title?: string;\n description?: string;\n size?: DialogSize;\n contentClassName?: string;\n commandClassName?: string;\n commandLabel?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst CommandDialog = ({\n children,\n title = 'Command Palette',\n description = 'Search for commands and actions',\n size,\n contentClassName,\n commandClassName,\n commandLabel,\n showOverlay = false,\n overlayClassName,\n ...props\n}: CommandDialogProps) => {\n const filter = React.useCallback((value: string, search: string) => {\n const normalizedValue = value.toLowerCase();\n const normalizedSearch = search.toLowerCase();\n const searchTerms = normalizedSearch.split(/\\s+/).filter(Boolean);\n\n const matches = searchTerms.every(term => normalizedValue.includes(term));\n return matches ? 1 : 0;\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') return;\n\n e.stopPropagation();\n }, []);\n\n return (\n <Dialog {...props}>\n <DialogContent\n size={size}\n showOverlay={showOverlay}\n overlayClassName={overlayClassName}\n className={cn('overflow-hidden py-0', contentClassName)}\n >\n <DialogTitle className=\"sr-only\">{title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{description}</DialogDescription>\n <Command\n label={commandLabel}\n loop\n filter={filter}\n onKeyDown={handleKeyDown}\n className={cn(\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:text-column **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2',\n '[&_[data-slot=command-input-wrapper]_svg]:size-5',\n '**:[[cmdk-input]]:h-12',\n '**:[[cmdk-item]]:p-2',\n '[&_[cmdk-item]_svg]:size-5',\n commandClassName,\n )}\n >\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\n rightSlot?: React.ReactNode;\n wrapperClassName?: string;\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\n ({ className, rightSlot, wrapperClassName, ...props }, ref) => (\n <div\n data-slot=\"command-input-wrapper\"\n className={cn('flex items-center border-b border-border px-3', transitions.colors, wrapperClassName)}\n >\n <Search className={cn('mr-2 size-4 shrink-0 text-muted-foreground', transitions.colors)} />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-8 min-w-0 flex-1 rounded-md bg-transparent py-2 text-body-sm text-foreground',\n 'placeholder:text-placeholder disabled:cursor-not-allowed disabled:opacity-50',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n className,\n )}\n {...props}\n />\n {rightSlot && (\n <div data-slot=\"command-input-right-slot\" className=\"ml-2 flex shrink-0 items-center text-muted-foreground\">\n {rightSlot}\n </div>\n )}\n </div>\n ),\n);\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\ntype CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\n scrollArea?: boolean;\n scrollAreaClassName?: string;\n scrollAreaViewportClassName?: string;\n scrollAreaMask?: ScrollAreaMask;\n /** Extra classes for the travelling hover surface (e.g. a different radius). */\n highlightClassName?: string;\n};\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, CommandListProps>(\n (\n {\n className,\n children,\n scrollArea = false,\n scrollAreaClassName,\n scrollAreaViewportClassName,\n scrollAreaMask,\n highlightClassName,\n ...props\n },\n ref,\n ) => {\n const menu = useFluidMenu<HTMLDivElement>({ activeAttr: 'data-selected' });\n const list = (\n <CommandPrimitive.List\n className={cn(\n 'outline-none focus:outline-none focus-visible:outline-none',\n scrollArea ? 'overflow-visible' : 'max-h-dropdown overflow-x-hidden overflow-y-auto',\n menu.containerClassName,\n className,\n )}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={highlightClassName}>\n {children}\n </FluidMenuItems>\n </CommandPrimitive.List>\n );\n\n if (!scrollArea) return list;\n\n return (\n <ScrollArea className={cn('min-h-0', scrollAreaClassName)} mask={scrollAreaMask}>\n <ScrollAreaViewport className={scrollAreaViewportClassName}>{list}</ScrollAreaViewport>\n </ScrollArea>\n );\n },\n);\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-body-sm text-muted-foreground\" {...props} />\n));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-muted-foreground',\n '[&_[cmdk-group-heading]]:text-meta **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:pt-1.5 **:[[cmdk-group-heading]]:pb-1 **:[[cmdk-group-heading]]:tracking-wider **:[[cmdk-group-heading]]:text-muted-foreground **:[[cmdk-group-heading]]:uppercase',\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n className={cn(\n 'relative flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 text-body-sm text-muted-foreground select-none',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n 'data-[selected=true]:text-foreground',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n '[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground',\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n className={cn('ml-auto tracking-wider tabular-nums', className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["React","jsx","CommandPrimitive","cn","Dialog","jsxs","DialogContent","DialogTitle","DialogDescription","transitions","Search","scrollArea","useFluidMenu","FluidMenuItems","ScrollArea","ScrollAreaViewport","useFluidMenuItemRef","Txt"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { c as cva } from './index-Dubp6Qv4.js';
3
3
  import { createContext, useContext, forwardRef } from 'react';
4
- import { T as Txt } from './Txt-BP1SRHmL.js';
4
+ import { T as Txt } from './Txt-C3cYJgKU.js';
5
5
  import { raisedSurfaceStyle } from './primitives/raised-surface.es.js';
6
6
  import { c as cn } from './cn-65Adrsfj.js';
7
7
 
@@ -199,4 +199,4 @@ const CommentItemActions = forwardRef(
199
199
  CommentItemActions.displayName = "CommentItemActions";
200
200
 
201
201
  export { Comment as C, CommentItemTimestamp as a, CommentItemActions as b, CommentItemBody as c, CommentItem as d, CommentItemAvatar as e, CommentItemContent as f, CommentItemHeader as g, CommentList as h, CommentItemAuthor as i, useCommentVariant as u };
202
- //# sourceMappingURL=comment-DKWkzdMj.js.map
202
+ //# sourceMappingURL=comment-B1Cf9w4Z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-DKWkzdMj.js","sources":["../src/ds/components/Comment/comment-context.ts","../src/ds/components/Comment/comment.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type CommentVariant = 'default' | 'embed' | 'thread';\n\nexport const CommentContext = createContext<CommentVariant | null>(null);\n\nexport function useCommentVariant(): CommentVariant {\n const variant = useContext(CommentContext);\n if (!variant) throw new Error('Comment compounds must be rendered within Comment');\n return variant;\n}\n","import { cva } from 'class-variance-authority';\nimport type { ComponentPropsWithoutRef, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { CommentContext, useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { Txt } from '@/ds/components/Txt';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nconst commentVariants = cva('flex flex-col', {\n variants: {\n variant: {\n default: 'gap-2',\n embed: cn(raisedSurfaceStyle, 'gap-1 rounded-xl p-3'),\n thread: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport interface CommentProps extends ComponentPropsWithoutRef<'div'> {\n variant?: CommentVariant;\n}\n\nexport const Comment = forwardRef<HTMLDivElement, CommentProps>(({ className, variant = 'default', ...props }, ref) => (\n <CommentContext.Provider value={variant}>\n <div\n ref={ref}\n data-slot=\"comment\"\n data-variant={variant}\n className={cn(commentVariants({ variant }), className)}\n {...props}\n />\n </CommentContext.Provider>\n));\nComment.displayName = 'Comment';\n\nconst commentListGap: Record<CommentVariant, string> = {\n default: 'gap-3',\n embed: 'gap-2',\n thread: '',\n};\n\nexport type CommentListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport const CommentList = forwardRef<HTMLUListElement, CommentListProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <ul\n ref={ref}\n data-slot=\"comment-list\"\n className={cn('flex flex-col', commentListGap[variant], className)}\n {...props}\n />\n );\n});\nCommentList.displayName = 'CommentList';\n\nconst commentItemLayout: Record<CommentVariant, string> = {\n default: 'flex flex-col gap-1',\n embed: 'flex flex-col gap-1',\n thread: 'relative flex gap-2 rounded-lg px-2 hover:bg-fill-subtle',\n};\n\nexport interface CommentItemProps extends HTMLAttributes<HTMLElement> {\n /** Same author moments after the row above: the header is dropped and the row tightens. */\n continued?: boolean;\n /** The comment a link pointed at. */\n highlighted?: boolean;\n}\n\nexport const CommentItem = forwardRef<HTMLElement, CommentItemProps>(\n ({ className, continued = false, highlighted = false, ...props }, ref) => {\n const variant = useCommentVariant();\n // A thread row is a stream entry among runs and moves, not a list item.\n const Root = variant === 'thread' ? 'div' : 'li';\n\n return (\n <Root\n // Cast needed: `Root` is polymorphic, so TS narrows the expected ref to a single element type.\n ref={ref as never}\n data-slot=\"comment-item\"\n className={cn(\n 'group/comment-item',\n commentItemLayout[variant],\n variant === 'thread' && (continued ? 'py-0.5' : 'py-1.5'),\n highlighted && 'bg-info-subtle',\n className,\n )}\n {...props}\n />\n );\n },\n);\nCommentItem.displayName = 'CommentItem';\n\nexport type CommentItemAvatarProps = ComponentPropsWithoutRef<'div'>;\n\n/** Fixed gutter: left empty on a continuation row, it keeps the body aligned under the avatar above. */\nexport const CommentItemAvatar = forwardRef<HTMLDivElement, CommentItemAvatarProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-avatar\" className={cn('w-6 shrink-0 pt-0.5', className)} {...props} />\n));\nCommentItemAvatar.displayName = 'CommentItemAvatar';\n\nexport type CommentItemContentProps = ComponentPropsWithoutRef<'div'>;\n\n/** Everything beside the gutter, stacked and free to shrink so long words wrap instead of widening the row. */\nexport const CommentItemContent = forwardRef<HTMLDivElement, CommentItemContentProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-content\" className={cn('min-w-0 flex-1', className)} {...props} />\n ),\n);\nCommentItemContent.displayName = 'CommentItemContent';\n\nconst commentItemHeaderLayout: Record<CommentVariant, string> = {\n default: 'flex items-center gap-2',\n embed: 'flex items-center gap-2',\n thread: 'flex items-baseline gap-1.5',\n};\n\nexport type CommentItemHeaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const CommentItemHeader = forwardRef<HTMLDivElement, CommentItemHeaderProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-header\"\n className={cn(commentItemHeaderLayout[variant], className)}\n {...props}\n />\n );\n});\nCommentItemHeader.displayName = 'CommentItemHeader';\n\nconst commentItemAuthorSize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'subheading',\n embed: 'subheading',\n thread: 'column',\n};\n\nconst commentItemAuthorTone: Record<CommentVariant, string> = {\n default: 'text-foreground',\n embed: 'text-foreground',\n thread: 'truncate text-foreground',\n};\n\nexport type CommentItemAuthorProps = ComponentPropsWithoutRef<'span'>;\n\nexport const CommentItemAuthor = forwardRef<HTMLElement, CommentItemAuthorProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n as=\"span\"\n variant={commentItemAuthorSize[variant]}\n data-slot=\"comment-item-author\"\n className={cn(commentItemAuthorTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemAuthor.displayName = 'CommentItemAuthor';\n\nconst commentItemTimestampTone: Record<CommentVariant, string> = {\n default: 'text-caption text-muted-foreground',\n embed: 'text-caption text-muted-foreground',\n thread: 'text-meta text-placeholder shrink-0',\n};\n\nexport type CommentItemTimestampProps = ComponentPropsWithoutRef<'time'>;\n\nexport const CommentItemTimestamp = forwardRef<HTMLTimeElement, CommentItemTimestampProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <time\n ref={ref}\n data-slot=\"comment-item-timestamp\"\n className={cn(commentItemTimestampTone[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemTimestamp.displayName = 'CommentItemTimestamp';\n\nconst commentItemBodySize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'body',\n embed: 'body',\n thread: 'caption',\n};\n\nconst commentItemBodyTone: Record<CommentVariant, string> = {\n default: 'whitespace-pre-wrap text-foreground border-l border-border pl-3',\n embed: 'whitespace-pre-wrap text-foreground',\n thread: '',\n};\n\nexport type CommentItemBodyProps = ComponentPropsWithoutRef<'p'>;\n\nexport const CommentItemBody = forwardRef<HTMLElement, CommentItemBodyProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n // Rendered markdown brings its own blocks, which a paragraph cannot hold.\n as={variant === 'thread' ? 'div' : 'p'}\n variant={commentItemBodySize[variant]}\n data-slot=\"comment-item-body\"\n className={cn(commentItemBodyTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemBody.displayName = 'CommentItemBody';\n\nconst commentItemActionsLayout: Record<CommentVariant, string> = {\n default:\n 'flex items-center gap-1 opacity-0 group-focus-within/comment-item:opacity-100 group-hover/comment-item:opacity-100 motion-safe:transition-opacity',\n embed: '',\n // Inline at the end of the header row, revealed on hover/focus.\n // `pointer-fine` only: a touch screen has no hover to reveal it with.\n thread:\n 'ml-auto flex shrink-0 items-center gap-0.5 self-center transition-opacity duration-200 ease-out motion-reduce:transition-none pointer-fine:opacity-0 pointer-fine:group-focus-within/comment-item:opacity-100 pointer-fine:group-hover/comment-item:opacity-100',\n};\n\nexport type CommentItemActionsProps = ComponentPropsWithoutRef<'div'>;\n\n/** Hidden in the `embed` variant, which drops per-item actions. */\nexport const CommentItemActions = forwardRef<HTMLDivElement, CommentItemActionsProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n if (variant === 'embed') return null;\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-actions\"\n className={cn(commentItemActionsLayout[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemActions.displayName = 'CommentItemActions';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-B1Cf9w4Z.js","sources":["../src/ds/components/Comment/comment-context.ts","../src/ds/components/Comment/comment.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type CommentVariant = 'default' | 'embed' | 'thread';\n\nexport const CommentContext = createContext<CommentVariant | null>(null);\n\nexport function useCommentVariant(): CommentVariant {\n const variant = useContext(CommentContext);\n if (!variant) throw new Error('Comment compounds must be rendered within Comment');\n return variant;\n}\n","import { cva } from 'class-variance-authority';\nimport type { ComponentPropsWithoutRef, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { CommentContext, useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { Txt } from '@/ds/components/Txt';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nconst commentVariants = cva('flex flex-col', {\n variants: {\n variant: {\n default: 'gap-2',\n embed: cn(raisedSurfaceStyle, 'gap-1 rounded-xl p-3'),\n thread: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport interface CommentProps extends ComponentPropsWithoutRef<'div'> {\n variant?: CommentVariant;\n}\n\nexport const Comment = forwardRef<HTMLDivElement, CommentProps>(({ className, variant = 'default', ...props }, ref) => (\n <CommentContext.Provider value={variant}>\n <div\n ref={ref}\n data-slot=\"comment\"\n data-variant={variant}\n className={cn(commentVariants({ variant }), className)}\n {...props}\n />\n </CommentContext.Provider>\n));\nComment.displayName = 'Comment';\n\nconst commentListGap: Record<CommentVariant, string> = {\n default: 'gap-3',\n embed: 'gap-2',\n thread: '',\n};\n\nexport type CommentListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport const CommentList = forwardRef<HTMLUListElement, CommentListProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <ul\n ref={ref}\n data-slot=\"comment-list\"\n className={cn('flex flex-col', commentListGap[variant], className)}\n {...props}\n />\n );\n});\nCommentList.displayName = 'CommentList';\n\nconst commentItemLayout: Record<CommentVariant, string> = {\n default: 'flex flex-col gap-1',\n embed: 'flex flex-col gap-1',\n thread: 'relative flex gap-2 rounded-lg px-2 hover:bg-fill-subtle',\n};\n\nexport interface CommentItemProps extends HTMLAttributes<HTMLElement> {\n /** Same author moments after the row above: the header is dropped and the row tightens. */\n continued?: boolean;\n /** The comment a link pointed at. */\n highlighted?: boolean;\n}\n\nexport const CommentItem = forwardRef<HTMLElement, CommentItemProps>(\n ({ className, continued = false, highlighted = false, ...props }, ref) => {\n const variant = useCommentVariant();\n // A thread row is a stream entry among runs and moves, not a list item.\n const Root = variant === 'thread' ? 'div' : 'li';\n\n return (\n <Root\n // Cast needed: `Root` is polymorphic, so TS narrows the expected ref to a single element type.\n ref={ref as never}\n data-slot=\"comment-item\"\n className={cn(\n 'group/comment-item',\n commentItemLayout[variant],\n variant === 'thread' && (continued ? 'py-0.5' : 'py-1.5'),\n highlighted && 'bg-info-subtle',\n className,\n )}\n {...props}\n />\n );\n },\n);\nCommentItem.displayName = 'CommentItem';\n\nexport type CommentItemAvatarProps = ComponentPropsWithoutRef<'div'>;\n\n/** Fixed gutter: left empty on a continuation row, it keeps the body aligned under the avatar above. */\nexport const CommentItemAvatar = forwardRef<HTMLDivElement, CommentItemAvatarProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-avatar\" className={cn('w-6 shrink-0 pt-0.5', className)} {...props} />\n));\nCommentItemAvatar.displayName = 'CommentItemAvatar';\n\nexport type CommentItemContentProps = ComponentPropsWithoutRef<'div'>;\n\n/** Everything beside the gutter, stacked and free to shrink so long words wrap instead of widening the row. */\nexport const CommentItemContent = forwardRef<HTMLDivElement, CommentItemContentProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-content\" className={cn('min-w-0 flex-1', className)} {...props} />\n ),\n);\nCommentItemContent.displayName = 'CommentItemContent';\n\nconst commentItemHeaderLayout: Record<CommentVariant, string> = {\n default: 'flex items-center gap-2',\n embed: 'flex items-center gap-2',\n thread: 'flex items-baseline gap-1.5',\n};\n\nexport type CommentItemHeaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const CommentItemHeader = forwardRef<HTMLDivElement, CommentItemHeaderProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-header\"\n className={cn(commentItemHeaderLayout[variant], className)}\n {...props}\n />\n );\n});\nCommentItemHeader.displayName = 'CommentItemHeader';\n\nconst commentItemAuthorSize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'subheading',\n embed: 'subheading',\n thread: 'column',\n};\n\nconst commentItemAuthorTone: Record<CommentVariant, string> = {\n default: 'text-foreground',\n embed: 'text-foreground',\n thread: 'truncate text-foreground',\n};\n\nexport type CommentItemAuthorProps = ComponentPropsWithoutRef<'span'>;\n\nexport const CommentItemAuthor = forwardRef<HTMLElement, CommentItemAuthorProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n as=\"span\"\n variant={commentItemAuthorSize[variant]}\n data-slot=\"comment-item-author\"\n className={cn(commentItemAuthorTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemAuthor.displayName = 'CommentItemAuthor';\n\nconst commentItemTimestampTone: Record<CommentVariant, string> = {\n default: 'text-caption text-muted-foreground',\n embed: 'text-caption text-muted-foreground',\n thread: 'text-meta text-placeholder shrink-0',\n};\n\nexport type CommentItemTimestampProps = ComponentPropsWithoutRef<'time'>;\n\nexport const CommentItemTimestamp = forwardRef<HTMLTimeElement, CommentItemTimestampProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <time\n ref={ref}\n data-slot=\"comment-item-timestamp\"\n className={cn(commentItemTimestampTone[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemTimestamp.displayName = 'CommentItemTimestamp';\n\nconst commentItemBodySize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'body',\n embed: 'body',\n thread: 'caption',\n};\n\nconst commentItemBodyTone: Record<CommentVariant, string> = {\n default: 'whitespace-pre-wrap text-foreground border-l border-border pl-3',\n embed: 'whitespace-pre-wrap text-foreground',\n thread: '',\n};\n\nexport type CommentItemBodyProps = ComponentPropsWithoutRef<'p'>;\n\nexport const CommentItemBody = forwardRef<HTMLElement, CommentItemBodyProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n // Rendered markdown brings its own blocks, which a paragraph cannot hold.\n as={variant === 'thread' ? 'div' : 'p'}\n variant={commentItemBodySize[variant]}\n data-slot=\"comment-item-body\"\n className={cn(commentItemBodyTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemBody.displayName = 'CommentItemBody';\n\nconst commentItemActionsLayout: Record<CommentVariant, string> = {\n default:\n 'flex items-center gap-1 opacity-0 group-focus-within/comment-item:opacity-100 group-hover/comment-item:opacity-100 motion-safe:transition-opacity',\n embed: '',\n // Inline at the end of the header row, revealed on hover/focus.\n // `pointer-fine` only: a touch screen has no hover to reveal it with.\n thread:\n 'ml-auto flex shrink-0 items-center gap-0.5 self-center transition-opacity duration-200 ease-out motion-reduce:transition-none pointer-fine:opacity-0 pointer-fine:group-focus-within/comment-item:opacity-100 pointer-fine:group-hover/comment-item:opacity-100',\n};\n\nexport type CommentItemActionsProps = ComponentPropsWithoutRef<'div'>;\n\n/** Hidden in the `embed` variant, which drops per-item actions. */\nexport const CommentItemActions = forwardRef<HTMLDivElement, CommentItemActionsProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n if (variant === 'embed') return null;\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-actions\"\n className={cn(commentItemActionsLayout[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemActions.displayName = 'CommentItemActions';\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const index = require('./index-C-fBJhpb.cjs');
5
5
  const React = require('react');
6
- const Txt = require('./Txt-DPmEpNbp.cjs');
6
+ const Txt = require('./Txt-DNnvlrBo.cjs');
7
7
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
8
8
  const utils_cn = require('./cn-DG0X1KEP.cjs');
9
9
 
@@ -211,4 +211,4 @@ exports.CommentItemHeader = CommentItemHeader;
211
211
  exports.CommentItemTimestamp = CommentItemTimestamp;
212
212
  exports.CommentList = CommentList;
213
213
  exports.useCommentVariant = useCommentVariant;
214
- //# sourceMappingURL=comment-DWY6D0pZ.cjs.map
214
+ //# sourceMappingURL=comment-DnbibTOe.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-DWY6D0pZ.cjs","sources":["../src/ds/components/Comment/comment-context.ts","../src/ds/components/Comment/comment.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type CommentVariant = 'default' | 'embed' | 'thread';\n\nexport const CommentContext = createContext<CommentVariant | null>(null);\n\nexport function useCommentVariant(): CommentVariant {\n const variant = useContext(CommentContext);\n if (!variant) throw new Error('Comment compounds must be rendered within Comment');\n return variant;\n}\n","import { cva } from 'class-variance-authority';\nimport type { ComponentPropsWithoutRef, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { CommentContext, useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { Txt } from '@/ds/components/Txt';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nconst commentVariants = cva('flex flex-col', {\n variants: {\n variant: {\n default: 'gap-2',\n embed: cn(raisedSurfaceStyle, 'gap-1 rounded-xl p-3'),\n thread: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport interface CommentProps extends ComponentPropsWithoutRef<'div'> {\n variant?: CommentVariant;\n}\n\nexport const Comment = forwardRef<HTMLDivElement, CommentProps>(({ className, variant = 'default', ...props }, ref) => (\n <CommentContext.Provider value={variant}>\n <div\n ref={ref}\n data-slot=\"comment\"\n data-variant={variant}\n className={cn(commentVariants({ variant }), className)}\n {...props}\n />\n </CommentContext.Provider>\n));\nComment.displayName = 'Comment';\n\nconst commentListGap: Record<CommentVariant, string> = {\n default: 'gap-3',\n embed: 'gap-2',\n thread: '',\n};\n\nexport type CommentListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport const CommentList = forwardRef<HTMLUListElement, CommentListProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <ul\n ref={ref}\n data-slot=\"comment-list\"\n className={cn('flex flex-col', commentListGap[variant], className)}\n {...props}\n />\n );\n});\nCommentList.displayName = 'CommentList';\n\nconst commentItemLayout: Record<CommentVariant, string> = {\n default: 'flex flex-col gap-1',\n embed: 'flex flex-col gap-1',\n thread: 'relative flex gap-2 rounded-lg px-2 hover:bg-fill-subtle',\n};\n\nexport interface CommentItemProps extends HTMLAttributes<HTMLElement> {\n /** Same author moments after the row above: the header is dropped and the row tightens. */\n continued?: boolean;\n /** The comment a link pointed at. */\n highlighted?: boolean;\n}\n\nexport const CommentItem = forwardRef<HTMLElement, CommentItemProps>(\n ({ className, continued = false, highlighted = false, ...props }, ref) => {\n const variant = useCommentVariant();\n // A thread row is a stream entry among runs and moves, not a list item.\n const Root = variant === 'thread' ? 'div' : 'li';\n\n return (\n <Root\n // Cast needed: `Root` is polymorphic, so TS narrows the expected ref to a single element type.\n ref={ref as never}\n data-slot=\"comment-item\"\n className={cn(\n 'group/comment-item',\n commentItemLayout[variant],\n variant === 'thread' && (continued ? 'py-0.5' : 'py-1.5'),\n highlighted && 'bg-info-subtle',\n className,\n )}\n {...props}\n />\n );\n },\n);\nCommentItem.displayName = 'CommentItem';\n\nexport type CommentItemAvatarProps = ComponentPropsWithoutRef<'div'>;\n\n/** Fixed gutter: left empty on a continuation row, it keeps the body aligned under the avatar above. */\nexport const CommentItemAvatar = forwardRef<HTMLDivElement, CommentItemAvatarProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-avatar\" className={cn('w-6 shrink-0 pt-0.5', className)} {...props} />\n));\nCommentItemAvatar.displayName = 'CommentItemAvatar';\n\nexport type CommentItemContentProps = ComponentPropsWithoutRef<'div'>;\n\n/** Everything beside the gutter, stacked and free to shrink so long words wrap instead of widening the row. */\nexport const CommentItemContent = forwardRef<HTMLDivElement, CommentItemContentProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-content\" className={cn('min-w-0 flex-1', className)} {...props} />\n ),\n);\nCommentItemContent.displayName = 'CommentItemContent';\n\nconst commentItemHeaderLayout: Record<CommentVariant, string> = {\n default: 'flex items-center gap-2',\n embed: 'flex items-center gap-2',\n thread: 'flex items-baseline gap-1.5',\n};\n\nexport type CommentItemHeaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const CommentItemHeader = forwardRef<HTMLDivElement, CommentItemHeaderProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-header\"\n className={cn(commentItemHeaderLayout[variant], className)}\n {...props}\n />\n );\n});\nCommentItemHeader.displayName = 'CommentItemHeader';\n\nconst commentItemAuthorSize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'subheading',\n embed: 'subheading',\n thread: 'column',\n};\n\nconst commentItemAuthorTone: Record<CommentVariant, string> = {\n default: 'text-foreground',\n embed: 'text-foreground',\n thread: 'truncate text-foreground',\n};\n\nexport type CommentItemAuthorProps = ComponentPropsWithoutRef<'span'>;\n\nexport const CommentItemAuthor = forwardRef<HTMLElement, CommentItemAuthorProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n as=\"span\"\n variant={commentItemAuthorSize[variant]}\n data-slot=\"comment-item-author\"\n className={cn(commentItemAuthorTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemAuthor.displayName = 'CommentItemAuthor';\n\nconst commentItemTimestampTone: Record<CommentVariant, string> = {\n default: 'text-caption text-muted-foreground',\n embed: 'text-caption text-muted-foreground',\n thread: 'text-meta text-placeholder shrink-0',\n};\n\nexport type CommentItemTimestampProps = ComponentPropsWithoutRef<'time'>;\n\nexport const CommentItemTimestamp = forwardRef<HTMLTimeElement, CommentItemTimestampProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <time\n ref={ref}\n data-slot=\"comment-item-timestamp\"\n className={cn(commentItemTimestampTone[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemTimestamp.displayName = 'CommentItemTimestamp';\n\nconst commentItemBodySize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'body',\n embed: 'body',\n thread: 'caption',\n};\n\nconst commentItemBodyTone: Record<CommentVariant, string> = {\n default: 'whitespace-pre-wrap text-foreground border-l border-border pl-3',\n embed: 'whitespace-pre-wrap text-foreground',\n thread: '',\n};\n\nexport type CommentItemBodyProps = ComponentPropsWithoutRef<'p'>;\n\nexport const CommentItemBody = forwardRef<HTMLElement, CommentItemBodyProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n // Rendered markdown brings its own blocks, which a paragraph cannot hold.\n as={variant === 'thread' ? 'div' : 'p'}\n variant={commentItemBodySize[variant]}\n data-slot=\"comment-item-body\"\n className={cn(commentItemBodyTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemBody.displayName = 'CommentItemBody';\n\nconst commentItemActionsLayout: Record<CommentVariant, string> = {\n default:\n 'flex items-center gap-1 opacity-0 group-focus-within/comment-item:opacity-100 group-hover/comment-item:opacity-100 motion-safe:transition-opacity',\n embed: '',\n // Inline at the end of the header row, revealed on hover/focus.\n // `pointer-fine` only: a touch screen has no hover to reveal it with.\n thread:\n 'ml-auto flex shrink-0 items-center gap-0.5 self-center transition-opacity duration-200 ease-out motion-reduce:transition-none pointer-fine:opacity-0 pointer-fine:group-focus-within/comment-item:opacity-100 pointer-fine:group-hover/comment-item:opacity-100',\n};\n\nexport type CommentItemActionsProps = ComponentPropsWithoutRef<'div'>;\n\n/** Hidden in the `embed` variant, which drops per-item actions. */\nexport const CommentItemActions = forwardRef<HTMLDivElement, CommentItemActionsProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n if (variant === 'embed') return null;\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-actions\"\n className={cn(commentItemActionsLayout[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemActions.displayName = 'CommentItemActions';\n"],"names":["createContext","useContext","cva","cn","raisedSurfaceStyle","forwardRef","jsx","Txt"],"mappings":"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"}
1
+ {"version":3,"file":"comment-DnbibTOe.cjs","sources":["../src/ds/components/Comment/comment-context.ts","../src/ds/components/Comment/comment.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type CommentVariant = 'default' | 'embed' | 'thread';\n\nexport const CommentContext = createContext<CommentVariant | null>(null);\n\nexport function useCommentVariant(): CommentVariant {\n const variant = useContext(CommentContext);\n if (!variant) throw new Error('Comment compounds must be rendered within Comment');\n return variant;\n}\n","import { cva } from 'class-variance-authority';\nimport type { ComponentPropsWithoutRef, HTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { CommentContext, useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { Txt } from '@/ds/components/Txt';\nimport type { TxtProps } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nconst commentVariants = cva('flex flex-col', {\n variants: {\n variant: {\n default: 'gap-2',\n embed: cn(raisedSurfaceStyle, 'gap-1 rounded-xl p-3'),\n thread: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport interface CommentProps extends ComponentPropsWithoutRef<'div'> {\n variant?: CommentVariant;\n}\n\nexport const Comment = forwardRef<HTMLDivElement, CommentProps>(({ className, variant = 'default', ...props }, ref) => (\n <CommentContext.Provider value={variant}>\n <div\n ref={ref}\n data-slot=\"comment\"\n data-variant={variant}\n className={cn(commentVariants({ variant }), className)}\n {...props}\n />\n </CommentContext.Provider>\n));\nComment.displayName = 'Comment';\n\nconst commentListGap: Record<CommentVariant, string> = {\n default: 'gap-3',\n embed: 'gap-2',\n thread: '',\n};\n\nexport type CommentListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport const CommentList = forwardRef<HTMLUListElement, CommentListProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <ul\n ref={ref}\n data-slot=\"comment-list\"\n className={cn('flex flex-col', commentListGap[variant], className)}\n {...props}\n />\n );\n});\nCommentList.displayName = 'CommentList';\n\nconst commentItemLayout: Record<CommentVariant, string> = {\n default: 'flex flex-col gap-1',\n embed: 'flex flex-col gap-1',\n thread: 'relative flex gap-2 rounded-lg px-2 hover:bg-fill-subtle',\n};\n\nexport interface CommentItemProps extends HTMLAttributes<HTMLElement> {\n /** Same author moments after the row above: the header is dropped and the row tightens. */\n continued?: boolean;\n /** The comment a link pointed at. */\n highlighted?: boolean;\n}\n\nexport const CommentItem = forwardRef<HTMLElement, CommentItemProps>(\n ({ className, continued = false, highlighted = false, ...props }, ref) => {\n const variant = useCommentVariant();\n // A thread row is a stream entry among runs and moves, not a list item.\n const Root = variant === 'thread' ? 'div' : 'li';\n\n return (\n <Root\n // Cast needed: `Root` is polymorphic, so TS narrows the expected ref to a single element type.\n ref={ref as never}\n data-slot=\"comment-item\"\n className={cn(\n 'group/comment-item',\n commentItemLayout[variant],\n variant === 'thread' && (continued ? 'py-0.5' : 'py-1.5'),\n highlighted && 'bg-info-subtle',\n className,\n )}\n {...props}\n />\n );\n },\n);\nCommentItem.displayName = 'CommentItem';\n\nexport type CommentItemAvatarProps = ComponentPropsWithoutRef<'div'>;\n\n/** Fixed gutter: left empty on a continuation row, it keeps the body aligned under the avatar above. */\nexport const CommentItemAvatar = forwardRef<HTMLDivElement, CommentItemAvatarProps>(({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-avatar\" className={cn('w-6 shrink-0 pt-0.5', className)} {...props} />\n));\nCommentItemAvatar.displayName = 'CommentItemAvatar';\n\nexport type CommentItemContentProps = ComponentPropsWithoutRef<'div'>;\n\n/** Everything beside the gutter, stacked and free to shrink so long words wrap instead of widening the row. */\nexport const CommentItemContent = forwardRef<HTMLDivElement, CommentItemContentProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-slot=\"comment-item-content\" className={cn('min-w-0 flex-1', className)} {...props} />\n ),\n);\nCommentItemContent.displayName = 'CommentItemContent';\n\nconst commentItemHeaderLayout: Record<CommentVariant, string> = {\n default: 'flex items-center gap-2',\n embed: 'flex items-center gap-2',\n thread: 'flex items-baseline gap-1.5',\n};\n\nexport type CommentItemHeaderProps = ComponentPropsWithoutRef<'div'>;\n\nexport const CommentItemHeader = forwardRef<HTMLDivElement, CommentItemHeaderProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-header\"\n className={cn(commentItemHeaderLayout[variant], className)}\n {...props}\n />\n );\n});\nCommentItemHeader.displayName = 'CommentItemHeader';\n\nconst commentItemAuthorSize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'subheading',\n embed: 'subheading',\n thread: 'column',\n};\n\nconst commentItemAuthorTone: Record<CommentVariant, string> = {\n default: 'text-foreground',\n embed: 'text-foreground',\n thread: 'truncate text-foreground',\n};\n\nexport type CommentItemAuthorProps = ComponentPropsWithoutRef<'span'>;\n\nexport const CommentItemAuthor = forwardRef<HTMLElement, CommentItemAuthorProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n as=\"span\"\n variant={commentItemAuthorSize[variant]}\n data-slot=\"comment-item-author\"\n className={cn(commentItemAuthorTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemAuthor.displayName = 'CommentItemAuthor';\n\nconst commentItemTimestampTone: Record<CommentVariant, string> = {\n default: 'text-caption text-muted-foreground',\n embed: 'text-caption text-muted-foreground',\n thread: 'text-meta text-placeholder shrink-0',\n};\n\nexport type CommentItemTimestampProps = ComponentPropsWithoutRef<'time'>;\n\nexport const CommentItemTimestamp = forwardRef<HTMLTimeElement, CommentItemTimestampProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <time\n ref={ref}\n data-slot=\"comment-item-timestamp\"\n className={cn(commentItemTimestampTone[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemTimestamp.displayName = 'CommentItemTimestamp';\n\nconst commentItemBodySize: Record<CommentVariant, TxtProps['variant']> = {\n default: 'body',\n embed: 'body',\n thread: 'caption',\n};\n\nconst commentItemBodyTone: Record<CommentVariant, string> = {\n default: 'whitespace-pre-wrap text-foreground border-l border-border pl-3',\n embed: 'whitespace-pre-wrap text-foreground',\n thread: '',\n};\n\nexport type CommentItemBodyProps = ComponentPropsWithoutRef<'p'>;\n\nexport const CommentItemBody = forwardRef<HTMLElement, CommentItemBodyProps>(({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <Txt\n ref={ref}\n // Rendered markdown brings its own blocks, which a paragraph cannot hold.\n as={variant === 'thread' ? 'div' : 'p'}\n variant={commentItemBodySize[variant]}\n data-slot=\"comment-item-body\"\n className={cn(commentItemBodyTone[variant], className)}\n {...props}\n />\n );\n});\nCommentItemBody.displayName = 'CommentItemBody';\n\nconst commentItemActionsLayout: Record<CommentVariant, string> = {\n default:\n 'flex items-center gap-1 opacity-0 group-focus-within/comment-item:opacity-100 group-hover/comment-item:opacity-100 motion-safe:transition-opacity',\n embed: '',\n // Inline at the end of the header row, revealed on hover/focus.\n // `pointer-fine` only: a touch screen has no hover to reveal it with.\n thread:\n 'ml-auto flex shrink-0 items-center gap-0.5 self-center transition-opacity duration-200 ease-out motion-reduce:transition-none pointer-fine:opacity-0 pointer-fine:group-focus-within/comment-item:opacity-100 pointer-fine:group-hover/comment-item:opacity-100',\n};\n\nexport type CommentItemActionsProps = ComponentPropsWithoutRef<'div'>;\n\n/** Hidden in the `embed` variant, which drops per-item actions. */\nexport const CommentItemActions = forwardRef<HTMLDivElement, CommentItemActionsProps>(\n ({ className, ...props }, ref) => {\n const variant = useCommentVariant();\n if (variant === 'embed') return null;\n\n return (\n <div\n ref={ref}\n data-slot=\"comment-item-actions\"\n className={cn(commentItemActionsLayout[variant], className)}\n {...props}\n />\n );\n },\n);\nCommentItemActions.displayName = 'CommentItemActions';\n"],"names":["createContext","useContext","cva","cn","raisedSurfaceStyle","forwardRef","jsx","Txt"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const Avatar = require('../Avatar-B3PwGdWv.cjs');
5
+ const Avatar = require('../Avatar-DchBEEMO.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { A as Avatar } from '../Avatar-bHcyExU7.js';
1
+ export { A as Avatar } from '../Avatar-Bg_EZRgZ.js';
2
2
  //# sourceMappingURL=Avatar.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const Badge = require('../Badge-D3EctKQo.cjs');
5
+ const Badge = require('../Badge-DB59RxT5.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { B as Badge } from '../Badge-DmOqFpXW.js';
1
+ export { B as Badge } from '../Badge-DId-8rYY.js';
2
2
  //# sourceMappingURL=Badge.es.js.map
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
- const messageScroller = require('../message-scroller-E05PLPmT.cjs');
6
+ const messageScroller = require('../message-scroller-D-_KN9Fv.cjs');
7
7
  const utils_cn = require('../cn-DG0X1KEP.cjs');
8
8
 
9
9
  function ChatShellRoot({ className, scroller, ...props }) {
@@ -13,8 +13,8 @@ function ChatShellRoot({ className, scroller, ...props }) {
13
13
  "data-slot": "chat-shell",
14
14
  className: utils_cn.cn(
15
15
  "@container relative isolate flex min-h-0 min-w-0 flex-col",
16
- "[--chat-column:48rem] [--chat-fade:1.5rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]",
17
- "[--chat-surface:var(--color-background)] [--chat-veil:70%]",
16
+ "[--chat-column:48rem] [--chat-edge:0.5rem] [--chat-fade:2rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]",
17
+ "[--chat-surface:var(--color-background)] [--chat-veil:100%]",
18
18
  className
19
19
  ),
20
20
  ...props
@@ -32,7 +32,8 @@ function ChatShellViewport({ className, children, ...props }) {
32
32
  messageScroller.MessageScrollerViewport,
33
33
  {
34
34
  className: utils_cn.cn(
35
- "h-auto min-h-0 flex-1 pe-(--chat-inset-end)",
35
+ "h-auto min-h-0 flex-1 overscroll-none ps-(--chat-edge) pe-[calc(var(--chat-edge)+var(--chat-inset-end))]",
36
+ "[scrollbar-gutter:stable_both-edges]",
36
37
  "transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none",
37
38
  className
38
39
  ),
@@ -80,7 +81,7 @@ function ChatShellDock({ className, ...props }) {
80
81
  className: utils_cn.cn(
81
82
  "sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)",
82
83
  "before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10",
83
- "before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_calc(var(--chat-fade)*3))]",
84
+ "before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_var(--chat-fade))]",
84
85
  className
85
86
  ),
86
87
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"ChatShell.cjs.js","sources":["../../src/ds/components/ChatShell/chat-shell.tsx","../../src/ds/components/ChatShell/index.ts"],"sourcesContent":["import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\n\nimport {\n MessageScroller,\n MessageScrollerButton,\n MessageScrollerContent,\n MessageScrollerProvider,\n MessageScrollerViewport,\n} from '../MessageScroller';\nimport type {\n MessageScrollerButtonProps,\n MessageScrollerContentProps,\n MessageScrollerProviderProps,\n MessageScrollerViewportProps,\n} from '../MessageScroller';\n\nimport { cn } from '@/lib/utils';\n\nexport type ChatShellProps = ComponentPropsWithoutRef<'div'> & {\n scroller?: Omit<MessageScrollerProviderProps, 'children'>;\n};\n\n/**\n * A chat page frame with exactly one scroll container. Bars sit above it, the\n * composer docks inside it, every region shares one column.\n *\n * Tuned through custom properties, all defaulted here: `--chat-column` (column\n * width), `--chat-surface` (the colour the composer veil ramps to — the shell\n * paints no fill of its own and inherits whatever surface hosts it, so this has\n * to name that same surface), `--chat-fade` (the band the veil ramps in\n * across, above the composer), `--chat-veil` (strongest it ever gets — the\n * transcript keeps showing through), `--chat-gutter` (room below the composer),\n * `--chat-inset-end` (room an overlay panel claims on the end edge).\n */\nexport function ChatShellRoot({ className, scroller, ...props }: ChatShellProps) {\n return (\n <MessageScrollerProvider {...scroller}>\n <div\n data-slot=\"chat-shell\"\n className={cn(\n '@container relative isolate flex min-h-0 min-w-0 flex-col',\n '[--chat-column:48rem] [--chat-fade:1.5rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]',\n '[--chat-surface:var(--color-background)] [--chat-veil:70%]',\n className,\n )}\n {...props}\n />\n </MessageScrollerProvider>\n );\n}\n\n/**\n * Full-width row above the scroller (session header, goal bar). No end inset: the\n * overlay panel it would dodge floats inside the stage, below the bars.\n */\nexport function ChatShellBar({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <div data-slot=\"chat-shell-bar\" className={cn('min-w-0 shrink-0', className)} {...props} />;\n}\n\n/** Positioned region holding the scroller plus anything overlaying it. */\nexport function ChatShellStage({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <MessageScroller className={cn('h-auto min-h-0 flex-1', className)} {...props} />;\n}\n\n/**\n * The one scroll container. It takes the end inset itself — on an ancestor the\n * same room would drag the scrollbar inward, off the true edge.\n */\nexport function ChatShellViewport({ className, children, ...props }: MessageScrollerViewportProps) {\n return (\n <MessageScrollerViewport\n className={cn(\n 'h-auto min-h-0 flex-1 pe-(--chat-inset-end)',\n 'transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {/* Sticky against the scroller itself is clamped to its box, not the\n scrolled height, and strands the dock mid-transcript. */}\n <div data-slot=\"chat-shell-track\" className=\"relative flex min-h-full min-w-0 flex-col\">\n {children}\n </div>\n </MessageScrollerViewport>\n );\n}\n\n/** Scrolling content. The air above the composer belongs to the dock's fade band. */\nexport function ChatShellContent({ className, ...props }: MessageScrollerContentProps) {\n return <MessageScrollerContent className={cn('flex-1', className)} {...props} />;\n}\n\n/** The shared reading column. Every chat region must go through it. */\nexport function ChatShellColumn({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-column\"\n className={cn('mx-auto flex w-full max-w-(--chat-column) min-w-0 flex-col px-3 md:px-4', className)}\n {...props}\n />\n );\n}\n\nexport interface ChatShellTurnProps extends ComponentPropsWithoutRef<'div'> {\n /** Opened by a user message: the turn reserves room and releases it through a slow drift. */\n opensTurn?: boolean;\n /** Holds the reply's share of the screen open under the live turn while the run answers. */\n holdsRoom?: boolean;\n /** Restored mid-run: the room is already due, so it opens with no transition. */\n restored?: boolean;\n}\n\n/**\n * One user turn and the reply under it. The room is the answer's share of the\n * screen: the scroller parks the sent message exactly one room above the end of\n * the box, so wherever the composer ends the message rests with this much space\n * under it, and the scroller has nothing to follow until the answer outgrows it.\n * A full screen parked the message against the very top; 70 leaves it breathing.\n * Opening must outrun the scroller's trip; closing is the conversation settling.\n */\nexport function ChatShellTurn({ opensTurn, holdsRoom, restored, className, ...props }: ChatShellTurnProps) {\n return (\n <div\n data-slot=\"chat-shell-turn\"\n data-opens-turn={opensTurn ? 'true' : undefined}\n data-holds-room={holdsRoom ? 'true' : undefined}\n className={cn(\n 'flex flex-col',\n opensTurn &&\n 'min-h-0 transition-[min-height] duration-[1500ms] ease-[cubic-bezier(0.3,0,0.2,1)] motion-reduce:transition-none',\n holdsRoom && 'min-h-[70cqh] duration-[440ms] ease-[cubic-bezier(0.2,0,0.2,1)] starting:min-h-0',\n holdsRoom && restored && 'transition-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Composer region, sticky but left in flow: its own height reserves the room the\n * transcript scrolls behind, so nothing measures it and a composer growing under\n * the cursor resizes no box the scroller watches.\n *\n * Behind it, one sheet of the page masked in over `--chat-fade` of air and never\n * past `--chat-veil`, so the transcript dims as it slides under but stays\n * readable through the card's surroundings. The ramp runs three times the air, so\n * it tops out behind the card and its end never shows.\n */\nexport function ChatShellDock({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-dock\"\n className={cn(\n 'sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)',\n 'before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10',\n 'before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_calc(var(--chat-fade)*3))]',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Jump-to-latest, floating just above the dock. It belongs inside the dock:\n * anywhere else it centres on a box the scrollbar has not narrowed, landing off\n * the composer's axis.\n */\nexport function ChatShellScrollButton({ className, ...props }: MessageScrollerButtonProps) {\n return (\n <div\n data-slot=\"chat-shell-scroll-button\"\n className=\"pointer-events-none absolute inset-x-0 bottom-[calc(100%+0.5rem)] flex\"\n >\n <ChatShellColumn className=\"flex-row justify-center\">\n <MessageScrollerButton\n className={cn('pointer-events-auto static translate-x-0 rtl:translate-x-0', className)}\n {...props}\n />\n </ChatShellColumn>\n </div>\n );\n}\n","import {\n ChatShellBar,\n ChatShellColumn,\n ChatShellContent,\n ChatShellDock,\n ChatShellRoot,\n ChatShellScrollButton,\n ChatShellStage,\n ChatShellTurn,\n ChatShellViewport,\n} from './chat-shell';\n\nexport type { ChatShellProps, ChatShellTurnProps } from './chat-shell';\n\nexport const ChatShell = Object.assign(ChatShellRoot, {\n Bar: ChatShellBar,\n Column: ChatShellColumn,\n Content: ChatShellContent,\n Dock: ChatShellDock,\n ScrollButton: ChatShellScrollButton,\n Stage: ChatShellStage,\n Turn: ChatShellTurn,\n Viewport: ChatShellViewport,\n});\n"],"names":["jsx","MessageScrollerProvider","cn","MessageScroller","MessageScrollerViewport","MessageScrollerContent","MessageScrollerButton"],"mappings":"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"}
1
+ {"version":3,"file":"ChatShell.cjs.js","sources":["../../src/ds/components/ChatShell/chat-shell.tsx","../../src/ds/components/ChatShell/index.ts"],"sourcesContent":["import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\n\nimport {\n MessageScroller,\n MessageScrollerButton,\n MessageScrollerContent,\n MessageScrollerProvider,\n MessageScrollerViewport,\n} from '../MessageScroller';\nimport type {\n MessageScrollerButtonProps,\n MessageScrollerContentProps,\n MessageScrollerProviderProps,\n MessageScrollerViewportProps,\n} from '../MessageScroller';\n\nimport { cn } from '@/lib/utils';\n\nexport type ChatShellProps = ComponentPropsWithoutRef<'div'> & {\n scroller?: Omit<MessageScrollerProviderProps, 'children'>;\n};\n\n/**\n * A chat page frame with exactly one scroll container. Bars sit above it, the\n * composer docks inside it, every region shares one column.\n *\n * Tuned through custom properties, all defaulted here: `--chat-column` (column\n * width), `--chat-surface` (the colour the composer veil ramps to — the shell\n * paints no fill of its own and inherits whatever surface hosts it, so this has\n * to name that same surface), `--chat-fade` (the band the veil ramps in\n * across, above the composer), `--chat-veil` (strongest it gets, opaque by\n * default so nothing reads under the composer), `--chat-gutter` (room below the\n * composer), `--chat-edge` (room on both sides, so the scrollbar never overlaps\n * the composer), `--chat-inset-end` (room an overlay panel claims on the end edge).\n */\nexport function ChatShellRoot({ className, scroller, ...props }: ChatShellProps) {\n return (\n <MessageScrollerProvider {...scroller}>\n <div\n data-slot=\"chat-shell\"\n className={cn(\n '@container relative isolate flex min-h-0 min-w-0 flex-col',\n '[--chat-column:48rem] [--chat-edge:0.5rem] [--chat-fade:2rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]',\n '[--chat-surface:var(--color-background)] [--chat-veil:100%]',\n className,\n )}\n {...props}\n />\n </MessageScrollerProvider>\n );\n}\n\n/**\n * Full-width row above the scroller (session header, goal bar). No end inset: the\n * overlay panel it would dodge floats inside the stage, below the bars.\n */\nexport function ChatShellBar({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <div data-slot=\"chat-shell-bar\" className={cn('min-w-0 shrink-0', className)} {...props} />;\n}\n\n/** Positioned region holding the scroller plus anything overlaying it. */\nexport function ChatShellStage({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <MessageScroller className={cn('h-auto min-h-0 flex-1', className)} {...props} />;\n}\n\n/**\n * The one scroll container. It takes the end inset itself — on an ancestor the\n * same room would drag the scrollbar inward, off the true edge. No overscroll\n * bounce on either axis: the dock is sticky inside this box, so the rubber band\n * would carry the composer off its edge along with the transcript.\n *\n * The same edge room on both sides keeps the scrollbar clear of the composer and\n * the column centred, with a matching gutter for classic scrollbars.\n */\nexport function ChatShellViewport({ className, children, ...props }: MessageScrollerViewportProps) {\n return (\n <MessageScrollerViewport\n className={cn(\n 'h-auto min-h-0 flex-1 overscroll-none ps-(--chat-edge) pe-[calc(var(--chat-edge)+var(--chat-inset-end))]',\n '[scrollbar-gutter:stable_both-edges]',\n 'transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {/* Sticky against the scroller itself is clamped to its box, not the\n scrolled height, and strands the dock mid-transcript. */}\n <div data-slot=\"chat-shell-track\" className=\"relative flex min-h-full min-w-0 flex-col\">\n {children}\n </div>\n </MessageScrollerViewport>\n );\n}\n\n/** Scrolling content. The air above the composer belongs to the dock's fade band. */\nexport function ChatShellContent({ className, ...props }: MessageScrollerContentProps) {\n return <MessageScrollerContent className={cn('flex-1', className)} {...props} />;\n}\n\n/** The shared reading column. Every chat region must go through it. */\nexport function ChatShellColumn({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-column\"\n className={cn('mx-auto flex w-full max-w-(--chat-column) min-w-0 flex-col px-3 md:px-4', className)}\n {...props}\n />\n );\n}\n\nexport interface ChatShellTurnProps extends ComponentPropsWithoutRef<'div'> {\n /** Opened by a user message: the turn reserves room and releases it through a slow drift. */\n opensTurn?: boolean;\n /** Holds the reply's share of the screen open under the live turn while the run answers. */\n holdsRoom?: boolean;\n /** Restored mid-run: the room is already due, so it opens with no transition. */\n restored?: boolean;\n}\n\n/**\n * One user turn and the reply under it. The room is the answer's share of the\n * screen: the scroller parks the sent message exactly one room above the end of\n * the box, so wherever the composer ends the message rests with this much space\n * under it, and the scroller has nothing to follow until the answer outgrows it.\n * A full screen parked the message against the very top; 70 leaves it breathing.\n * Opening must outrun the scroller's trip; closing is the conversation settling.\n */\nexport function ChatShellTurn({ opensTurn, holdsRoom, restored, className, ...props }: ChatShellTurnProps) {\n return (\n <div\n data-slot=\"chat-shell-turn\"\n data-opens-turn={opensTurn ? 'true' : undefined}\n data-holds-room={holdsRoom ? 'true' : undefined}\n className={cn(\n 'flex flex-col',\n opensTurn &&\n 'min-h-0 transition-[min-height] duration-[1500ms] ease-[cubic-bezier(0.3,0,0.2,1)] motion-reduce:transition-none',\n holdsRoom && 'min-h-[70cqh] duration-[440ms] ease-[cubic-bezier(0.2,0,0.2,1)] starting:min-h-0',\n holdsRoom && restored && 'transition-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Composer region, sticky but left in flow: its own height reserves the room the\n * transcript scrolls behind, so nothing measures it and a composer growing under\n * the cursor resizes no box the scroller watches.\n *\n * Behind it, one sheet of the page masked in over `--chat-fade` of air, reaching\n * `--chat-veil` at the dock's top edge. The transcript fades out above the\n * composer and nothing shows through around or under the card.\n */\nexport function ChatShellDock({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-dock\"\n className={cn(\n 'sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)',\n 'before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10',\n 'before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_var(--chat-fade))]',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Jump-to-latest, floating just above the dock. It belongs inside the dock:\n * anywhere else it centres on a box the scrollbar has not narrowed, landing off\n * the composer's axis.\n */\nexport function ChatShellScrollButton({ className, ...props }: MessageScrollerButtonProps) {\n return (\n <div\n data-slot=\"chat-shell-scroll-button\"\n className=\"pointer-events-none absolute inset-x-0 bottom-[calc(100%+0.5rem)] flex\"\n >\n <ChatShellColumn className=\"flex-row justify-center\">\n <MessageScrollerButton\n className={cn('pointer-events-auto static translate-x-0 rtl:translate-x-0', className)}\n {...props}\n />\n </ChatShellColumn>\n </div>\n );\n}\n","import {\n ChatShellBar,\n ChatShellColumn,\n ChatShellContent,\n ChatShellDock,\n ChatShellRoot,\n ChatShellScrollButton,\n ChatShellStage,\n ChatShellTurn,\n ChatShellViewport,\n} from './chat-shell';\n\nexport type { ChatShellProps, ChatShellTurnProps } from './chat-shell';\n\nexport const ChatShell = Object.assign(ChatShellRoot, {\n Bar: ChatShellBar,\n Column: ChatShellColumn,\n Content: ChatShellContent,\n Dock: ChatShellDock,\n ScrollButton: ChatShellScrollButton,\n Stage: ChatShellStage,\n Turn: ChatShellTurn,\n Viewport: ChatShellViewport,\n});\n"],"names":["jsx","MessageScrollerProvider","cn","MessageScroller","MessageScrollerViewport","MessageScrollerContent","MessageScrollerButton"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { d as MessageScrollerProvider, e as MessageScrollerViewport, M as MessageScroller, a as MessageScrollerButton, b as MessageScrollerContent } from '../message-scroller-CiFr8MwT.js';
2
+ import { d as MessageScrollerProvider, e as MessageScrollerViewport, M as MessageScroller, a as MessageScrollerButton, b as MessageScrollerContent } from '../message-scroller-WWaQ-XU_.js';
3
3
  import { c as cn } from '../cn-65Adrsfj.js';
4
4
 
5
5
  function ChatShellRoot({ className, scroller, ...props }) {
@@ -9,8 +9,8 @@ function ChatShellRoot({ className, scroller, ...props }) {
9
9
  "data-slot": "chat-shell",
10
10
  className: cn(
11
11
  "@container relative isolate flex min-h-0 min-w-0 flex-col",
12
- "[--chat-column:48rem] [--chat-fade:1.5rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]",
13
- "[--chat-surface:var(--color-background)] [--chat-veil:70%]",
12
+ "[--chat-column:48rem] [--chat-edge:0.5rem] [--chat-fade:2rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]",
13
+ "[--chat-surface:var(--color-background)] [--chat-veil:100%]",
14
14
  className
15
15
  ),
16
16
  ...props
@@ -28,7 +28,8 @@ function ChatShellViewport({ className, children, ...props }) {
28
28
  MessageScrollerViewport,
29
29
  {
30
30
  className: cn(
31
- "h-auto min-h-0 flex-1 pe-(--chat-inset-end)",
31
+ "h-auto min-h-0 flex-1 overscroll-none ps-(--chat-edge) pe-[calc(var(--chat-edge)+var(--chat-inset-end))]",
32
+ "[scrollbar-gutter:stable_both-edges]",
32
33
  "transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none",
33
34
  className
34
35
  ),
@@ -76,7 +77,7 @@ function ChatShellDock({ className, ...props }) {
76
77
  className: cn(
77
78
  "sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)",
78
79
  "before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10",
79
- "before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_calc(var(--chat-fade)*3))]",
80
+ "before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_var(--chat-fade))]",
80
81
  className
81
82
  ),
82
83
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"ChatShell.es.js","sources":["../../src/ds/components/ChatShell/chat-shell.tsx","../../src/ds/components/ChatShell/index.ts"],"sourcesContent":["import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\n\nimport {\n MessageScroller,\n MessageScrollerButton,\n MessageScrollerContent,\n MessageScrollerProvider,\n MessageScrollerViewport,\n} from '../MessageScroller';\nimport type {\n MessageScrollerButtonProps,\n MessageScrollerContentProps,\n MessageScrollerProviderProps,\n MessageScrollerViewportProps,\n} from '../MessageScroller';\n\nimport { cn } from '@/lib/utils';\n\nexport type ChatShellProps = ComponentPropsWithoutRef<'div'> & {\n scroller?: Omit<MessageScrollerProviderProps, 'children'>;\n};\n\n/**\n * A chat page frame with exactly one scroll container. Bars sit above it, the\n * composer docks inside it, every region shares one column.\n *\n * Tuned through custom properties, all defaulted here: `--chat-column` (column\n * width), `--chat-surface` (the colour the composer veil ramps to — the shell\n * paints no fill of its own and inherits whatever surface hosts it, so this has\n * to name that same surface), `--chat-fade` (the band the veil ramps in\n * across, above the composer), `--chat-veil` (strongest it ever gets — the\n * transcript keeps showing through), `--chat-gutter` (room below the composer),\n * `--chat-inset-end` (room an overlay panel claims on the end edge).\n */\nexport function ChatShellRoot({ className, scroller, ...props }: ChatShellProps) {\n return (\n <MessageScrollerProvider {...scroller}>\n <div\n data-slot=\"chat-shell\"\n className={cn(\n '@container relative isolate flex min-h-0 min-w-0 flex-col',\n '[--chat-column:48rem] [--chat-fade:1.5rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]',\n '[--chat-surface:var(--color-background)] [--chat-veil:70%]',\n className,\n )}\n {...props}\n />\n </MessageScrollerProvider>\n );\n}\n\n/**\n * Full-width row above the scroller (session header, goal bar). No end inset: the\n * overlay panel it would dodge floats inside the stage, below the bars.\n */\nexport function ChatShellBar({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <div data-slot=\"chat-shell-bar\" className={cn('min-w-0 shrink-0', className)} {...props} />;\n}\n\n/** Positioned region holding the scroller plus anything overlaying it. */\nexport function ChatShellStage({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <MessageScroller className={cn('h-auto min-h-0 flex-1', className)} {...props} />;\n}\n\n/**\n * The one scroll container. It takes the end inset itself — on an ancestor the\n * same room would drag the scrollbar inward, off the true edge.\n */\nexport function ChatShellViewport({ className, children, ...props }: MessageScrollerViewportProps) {\n return (\n <MessageScrollerViewport\n className={cn(\n 'h-auto min-h-0 flex-1 pe-(--chat-inset-end)',\n 'transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {/* Sticky against the scroller itself is clamped to its box, not the\n scrolled height, and strands the dock mid-transcript. */}\n <div data-slot=\"chat-shell-track\" className=\"relative flex min-h-full min-w-0 flex-col\">\n {children}\n </div>\n </MessageScrollerViewport>\n );\n}\n\n/** Scrolling content. The air above the composer belongs to the dock's fade band. */\nexport function ChatShellContent({ className, ...props }: MessageScrollerContentProps) {\n return <MessageScrollerContent className={cn('flex-1', className)} {...props} />;\n}\n\n/** The shared reading column. Every chat region must go through it. */\nexport function ChatShellColumn({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-column\"\n className={cn('mx-auto flex w-full max-w-(--chat-column) min-w-0 flex-col px-3 md:px-4', className)}\n {...props}\n />\n );\n}\n\nexport interface ChatShellTurnProps extends ComponentPropsWithoutRef<'div'> {\n /** Opened by a user message: the turn reserves room and releases it through a slow drift. */\n opensTurn?: boolean;\n /** Holds the reply's share of the screen open under the live turn while the run answers. */\n holdsRoom?: boolean;\n /** Restored mid-run: the room is already due, so it opens with no transition. */\n restored?: boolean;\n}\n\n/**\n * One user turn and the reply under it. The room is the answer's share of the\n * screen: the scroller parks the sent message exactly one room above the end of\n * the box, so wherever the composer ends the message rests with this much space\n * under it, and the scroller has nothing to follow until the answer outgrows it.\n * A full screen parked the message against the very top; 70 leaves it breathing.\n * Opening must outrun the scroller's trip; closing is the conversation settling.\n */\nexport function ChatShellTurn({ opensTurn, holdsRoom, restored, className, ...props }: ChatShellTurnProps) {\n return (\n <div\n data-slot=\"chat-shell-turn\"\n data-opens-turn={opensTurn ? 'true' : undefined}\n data-holds-room={holdsRoom ? 'true' : undefined}\n className={cn(\n 'flex flex-col',\n opensTurn &&\n 'min-h-0 transition-[min-height] duration-[1500ms] ease-[cubic-bezier(0.3,0,0.2,1)] motion-reduce:transition-none',\n holdsRoom && 'min-h-[70cqh] duration-[440ms] ease-[cubic-bezier(0.2,0,0.2,1)] starting:min-h-0',\n holdsRoom && restored && 'transition-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Composer region, sticky but left in flow: its own height reserves the room the\n * transcript scrolls behind, so nothing measures it and a composer growing under\n * the cursor resizes no box the scroller watches.\n *\n * Behind it, one sheet of the page masked in over `--chat-fade` of air and never\n * past `--chat-veil`, so the transcript dims as it slides under but stays\n * readable through the card's surroundings. The ramp runs three times the air, so\n * it tops out behind the card and its end never shows.\n */\nexport function ChatShellDock({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-dock\"\n className={cn(\n 'sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)',\n 'before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10',\n 'before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_calc(var(--chat-fade)*3))]',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Jump-to-latest, floating just above the dock. It belongs inside the dock:\n * anywhere else it centres on a box the scrollbar has not narrowed, landing off\n * the composer's axis.\n */\nexport function ChatShellScrollButton({ className, ...props }: MessageScrollerButtonProps) {\n return (\n <div\n data-slot=\"chat-shell-scroll-button\"\n className=\"pointer-events-none absolute inset-x-0 bottom-[calc(100%+0.5rem)] flex\"\n >\n <ChatShellColumn className=\"flex-row justify-center\">\n <MessageScrollerButton\n className={cn('pointer-events-auto static translate-x-0 rtl:translate-x-0', className)}\n {...props}\n />\n </ChatShellColumn>\n </div>\n );\n}\n","import {\n ChatShellBar,\n ChatShellColumn,\n ChatShellContent,\n ChatShellDock,\n ChatShellRoot,\n ChatShellScrollButton,\n ChatShellStage,\n ChatShellTurn,\n ChatShellViewport,\n} from './chat-shell';\n\nexport type { ChatShellProps, ChatShellTurnProps } from './chat-shell';\n\nexport const ChatShell = Object.assign(ChatShellRoot, {\n Bar: ChatShellBar,\n Column: ChatShellColumn,\n Content: ChatShellContent,\n Dock: ChatShellDock,\n ScrollButton: ChatShellScrollButton,\n Stage: ChatShellStage,\n Turn: ChatShellTurn,\n Viewport: ChatShellViewport,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatShell.es.js","sources":["../../src/ds/components/ChatShell/chat-shell.tsx","../../src/ds/components/ChatShell/index.ts"],"sourcesContent":["import type { ComponentProps, ComponentPropsWithoutRef } from 'react';\n\nimport {\n MessageScroller,\n MessageScrollerButton,\n MessageScrollerContent,\n MessageScrollerProvider,\n MessageScrollerViewport,\n} from '../MessageScroller';\nimport type {\n MessageScrollerButtonProps,\n MessageScrollerContentProps,\n MessageScrollerProviderProps,\n MessageScrollerViewportProps,\n} from '../MessageScroller';\n\nimport { cn } from '@/lib/utils';\n\nexport type ChatShellProps = ComponentPropsWithoutRef<'div'> & {\n scroller?: Omit<MessageScrollerProviderProps, 'children'>;\n};\n\n/**\n * A chat page frame with exactly one scroll container. Bars sit above it, the\n * composer docks inside it, every region shares one column.\n *\n * Tuned through custom properties, all defaulted here: `--chat-column` (column\n * width), `--chat-surface` (the colour the composer veil ramps to — the shell\n * paints no fill of its own and inherits whatever surface hosts it, so this has\n * to name that same surface), `--chat-fade` (the band the veil ramps in\n * across, above the composer), `--chat-veil` (strongest it gets, opaque by\n * default so nothing reads under the composer), `--chat-gutter` (room below the\n * composer), `--chat-edge` (room on both sides, so the scrollbar never overlaps\n * the composer), `--chat-inset-end` (room an overlay panel claims on the end edge).\n */\nexport function ChatShellRoot({ className, scroller, ...props }: ChatShellProps) {\n return (\n <MessageScrollerProvider {...scroller}>\n <div\n data-slot=\"chat-shell\"\n className={cn(\n '@container relative isolate flex min-h-0 min-w-0 flex-col',\n '[--chat-column:48rem] [--chat-edge:0.5rem] [--chat-fade:2rem] [--chat-gutter:0.75rem] [--chat-inset-end:0px]',\n '[--chat-surface:var(--color-background)] [--chat-veil:100%]',\n className,\n )}\n {...props}\n />\n </MessageScrollerProvider>\n );\n}\n\n/**\n * Full-width row above the scroller (session header, goal bar). No end inset: the\n * overlay panel it would dodge floats inside the stage, below the bars.\n */\nexport function ChatShellBar({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <div data-slot=\"chat-shell-bar\" className={cn('min-w-0 shrink-0', className)} {...props} />;\n}\n\n/** Positioned region holding the scroller plus anything overlaying it. */\nexport function ChatShellStage({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return <MessageScroller className={cn('h-auto min-h-0 flex-1', className)} {...props} />;\n}\n\n/**\n * The one scroll container. It takes the end inset itself — on an ancestor the\n * same room would drag the scrollbar inward, off the true edge. No overscroll\n * bounce on either axis: the dock is sticky inside this box, so the rubber band\n * would carry the composer off its edge along with the transcript.\n *\n * The same edge room on both sides keeps the scrollbar clear of the composer and\n * the column centred, with a matching gutter for classic scrollbars.\n */\nexport function ChatShellViewport({ className, children, ...props }: MessageScrollerViewportProps) {\n return (\n <MessageScrollerViewport\n className={cn(\n 'h-auto min-h-0 flex-1 overscroll-none ps-(--chat-edge) pe-[calc(var(--chat-edge)+var(--chat-inset-end))]',\n '[scrollbar-gutter:stable_both-edges]',\n 'transition-[padding] duration-360 ease-out-custom motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {/* Sticky against the scroller itself is clamped to its box, not the\n scrolled height, and strands the dock mid-transcript. */}\n <div data-slot=\"chat-shell-track\" className=\"relative flex min-h-full min-w-0 flex-col\">\n {children}\n </div>\n </MessageScrollerViewport>\n );\n}\n\n/** Scrolling content. The air above the composer belongs to the dock's fade band. */\nexport function ChatShellContent({ className, ...props }: MessageScrollerContentProps) {\n return <MessageScrollerContent className={cn('flex-1', className)} {...props} />;\n}\n\n/** The shared reading column. Every chat region must go through it. */\nexport function ChatShellColumn({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-column\"\n className={cn('mx-auto flex w-full max-w-(--chat-column) min-w-0 flex-col px-3 md:px-4', className)}\n {...props}\n />\n );\n}\n\nexport interface ChatShellTurnProps extends ComponentPropsWithoutRef<'div'> {\n /** Opened by a user message: the turn reserves room and releases it through a slow drift. */\n opensTurn?: boolean;\n /** Holds the reply's share of the screen open under the live turn while the run answers. */\n holdsRoom?: boolean;\n /** Restored mid-run: the room is already due, so it opens with no transition. */\n restored?: boolean;\n}\n\n/**\n * One user turn and the reply under it. The room is the answer's share of the\n * screen: the scroller parks the sent message exactly one room above the end of\n * the box, so wherever the composer ends the message rests with this much space\n * under it, and the scroller has nothing to follow until the answer outgrows it.\n * A full screen parked the message against the very top; 70 leaves it breathing.\n * Opening must outrun the scroller's trip; closing is the conversation settling.\n */\nexport function ChatShellTurn({ opensTurn, holdsRoom, restored, className, ...props }: ChatShellTurnProps) {\n return (\n <div\n data-slot=\"chat-shell-turn\"\n data-opens-turn={opensTurn ? 'true' : undefined}\n data-holds-room={holdsRoom ? 'true' : undefined}\n className={cn(\n 'flex flex-col',\n opensTurn &&\n 'min-h-0 transition-[min-height] duration-[1500ms] ease-[cubic-bezier(0.3,0,0.2,1)] motion-reduce:transition-none',\n holdsRoom && 'min-h-[70cqh] duration-[440ms] ease-[cubic-bezier(0.2,0,0.2,1)] starting:min-h-0',\n holdsRoom && restored && 'transition-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Composer region, sticky but left in flow: its own height reserves the room the\n * transcript scrolls behind, so nothing measures it and a composer growing under\n * the cursor resizes no box the scroller watches.\n *\n * Behind it, one sheet of the page masked in over `--chat-fade` of air, reaching\n * `--chat-veil` at the dock's top edge. The transcript fades out above the\n * composer and nothing shows through around or under the card.\n */\nexport function ChatShellDock({ className, ...props }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n data-slot=\"chat-shell-dock\"\n className={cn(\n 'sticky bottom-0 z-10 mt-(--chat-fade) shrink-0 pb-(--chat-gutter)',\n 'before:pointer-events-none before:absolute before:inset-x-0 before:-top-(--chat-fade) before:bottom-0 before:-z-10',\n 'before:bg-(--chat-surface) before:[mask-image:linear-gradient(to_bottom,transparent,rgb(0_0_0/var(--chat-veil))_var(--chat-fade))]',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Jump-to-latest, floating just above the dock. It belongs inside the dock:\n * anywhere else it centres on a box the scrollbar has not narrowed, landing off\n * the composer's axis.\n */\nexport function ChatShellScrollButton({ className, ...props }: MessageScrollerButtonProps) {\n return (\n <div\n data-slot=\"chat-shell-scroll-button\"\n className=\"pointer-events-none absolute inset-x-0 bottom-[calc(100%+0.5rem)] flex\"\n >\n <ChatShellColumn className=\"flex-row justify-center\">\n <MessageScrollerButton\n className={cn('pointer-events-auto static translate-x-0 rtl:translate-x-0', className)}\n {...props}\n />\n </ChatShellColumn>\n </div>\n );\n}\n","import {\n ChatShellBar,\n ChatShellColumn,\n ChatShellContent,\n ChatShellDock,\n ChatShellRoot,\n ChatShellScrollButton,\n ChatShellStage,\n ChatShellTurn,\n ChatShellViewport,\n} from './chat-shell';\n\nexport type { ChatShellProps, ChatShellTurnProps } from './chat-shell';\n\nexport const ChatShell = Object.assign(ChatShellRoot, {\n Bar: ChatShellBar,\n Column: ChatShellColumn,\n Content: ChatShellContent,\n Dock: ChatShellDock,\n ScrollButton: ChatShellScrollButton,\n Stage: ChatShellStage,\n Turn: ChatShellTurn,\n Viewport: ChatShellViewport,\n});\n"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const Button = require('../Button-CXhSUBxN.cjs');
8
- const Txt = require('../Txt-DPmEpNbp.cjs');
8
+ const Txt = require('../Txt-DNnvlrBo.cjs');
9
9
  const icons_ChevronIcon = require('../icons/ChevronIcon.cjs.js');
10
10
  const hooks_useIsClamped = require('../hooks/use-is-clamped.cjs.js');
11
11
  const utils_cn = require('../cn-DG0X1KEP.cjs');
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { B as Button } from '../Button-D43ghVKt.js';
4
- import { T as Txt } from '../Txt-BP1SRHmL.js';
4
+ import { T as Txt } from '../Txt-C3cYJgKU.js';
5
5
  import { ChevronIcon } from '../icons/ChevronIcon.es.js';
6
6
  import { useIsClamped } from '../hooks/use-is-clamped.es.js';
7
7
  import { c as cn } from '../cn-65Adrsfj.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const code = require('../code-B-x-9sJ1.cjs');
5
+ const code = require('../code-D_sH618U.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as Code, t as tokenStyle, u as useHighlight } from '../code-BeWhOFT4.js';
1
+ export { C as Code, t as tokenStyle, u as useHighlight } from '../code-C8akLzcu.js';
2
2
  //# sourceMappingURL=Code.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const codeBlock = require('../code-block-C3DbSINk.cjs');
5
+ const codeBlock = require('../code-block-z2hVcNq7.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as CodeBlock } from '../code-block-Bnz7Pq0Q.js';
1
+ export { C as CodeBlock } from '../code-block-CXZNO_qi.js';
2
2
  //# sourceMappingURL=CodeBlock.es.js.map
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const useCollapsibleBox = require('../use-collapsible-box-CbQOkokQ.cjs');
5
+ const collapsibleBox = require('../collapsible-box-DdUueeh6.cjs');
6
+ const useCollapsibleBox = require('../use-collapsible-box-BI80L4h_.cjs');
6
7
 
7
8
 
8
9
 
9
- exports.CollapsibleBox = useCollapsibleBox.CollapsibleBox;
10
+ exports.CollapsibleBox = collapsibleBox.CollapsibleBox;
10
11
  exports.DEFAULT_COLLAPSED_HEIGHT = useCollapsibleBox.DEFAULT_COLLAPSED_HEIGHT;
11
12
  exports.useCollapsibleBox = useCollapsibleBox.useCollapsibleBox;
12
13
  //# sourceMappingURL=CollapsibleBox.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"CollapsibleBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,2 +1,3 @@
1
- export { C as CollapsibleBox, D as DEFAULT_COLLAPSED_HEIGHT, u as useCollapsibleBox } from '../use-collapsible-box-CCvsF_a9.js';
1
+ export { C as CollapsibleBox } from '../collapsible-box-DW-y0Oi1.js';
2
+ export { D as DEFAULT_COLLAPSED_HEIGHT, u as useCollapsibleBox } from '../use-collapsible-box-B0t2_SvP.js';
2
3
  //# sourceMappingURL=CollapsibleBox.es.js.map