@mastra/playground-ui 60.0.0-alpha.9 → 60.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (850) hide show
  1. package/README.md +21 -15
  2. package/dist/{Button-DbJn0bJX.cjs → Button-BnmR2HRc.cjs} +5 -1
  3. package/dist/Button-BnmR2HRc.cjs.map +1 -0
  4. package/dist/{Button-CHTvSq4d.js → Button-C6eUqcPI.js} +6 -2
  5. package/dist/Button-C6eUqcPI.js.map +1 -0
  6. package/dist/{Card-BbwF20OW.cjs → Card-BQsKHkyB.cjs} +5 -5
  7. package/dist/Card-BQsKHkyB.cjs.map +1 -0
  8. package/dist/{Card-DmT57Pve.js → Card-DVy0QS4m.js} +5 -5
  9. package/dist/Card-DVy0QS4m.js.map +1 -0
  10. package/dist/{ErrorBoundary-DDi5RBQv.js → ErrorBoundary-Bb2R5IMR.js} +2 -2
  11. package/dist/{ErrorBoundary-DDi5RBQv.js.map → ErrorBoundary-Bb2R5IMR.js.map} +1 -1
  12. package/dist/{ErrorBoundary-BRQxBc51.cjs → ErrorBoundary-CKrwONAU.cjs} +2 -2
  13. package/dist/{ErrorBoundary-BRQxBc51.cjs.map → ErrorBoundary-CKrwONAU.cjs.map} +1 -1
  14. package/dist/{Notice-JX9yuy6r.cjs → Notice-CEBwitdf.cjs} +2 -2
  15. package/dist/{Notice-JX9yuy6r.cjs.map → Notice-CEBwitdf.cjs.map} +1 -1
  16. package/dist/{Notice-b3XjkEVP.js → Notice-Ce3r5x-7.js} +2 -2
  17. package/dist/{Notice-b3XjkEVP.js.map → Notice-Ce3r5x-7.js.map} +1 -1
  18. package/dist/{activity-BYD9ugQK.cjs → activity-8egTNbaI.cjs} +2 -2
  19. package/dist/{activity-BYD9ugQK.cjs.map → activity-8egTNbaI.cjs.map} +1 -1
  20. package/dist/{activity-BnyR9d_6.js → activity-Duth8KP_.js} +2 -2
  21. package/dist/{activity-BnyR9d_6.js.map → activity-Duth8KP_.js.map} +1 -1
  22. package/dist/activity.css +3 -3
  23. package/dist/{alert-dialog-JQyJ-qjE.cjs → alert-dialog-BcOSIOSW.cjs} +3 -3
  24. package/dist/{alert-dialog-JQyJ-qjE.cjs.map → alert-dialog-BcOSIOSW.cjs.map} +1 -1
  25. package/dist/{alert-dialog-CAGfWxfv.js → alert-dialog-D1UYVW__.js} +3 -3
  26. package/dist/{alert-dialog-CAGfWxfv.js.map → alert-dialog-D1UYVW__.js.map} +1 -1
  27. package/dist/{ask-user-BSitQ3cU.js → ask-user-Crg1O-o6.js} +2 -2
  28. package/dist/{ask-user-BSitQ3cU.js.map → ask-user-Crg1O-o6.js.map} +1 -1
  29. package/dist/{ask-user-C8PIlzDe.cjs → ask-user-DJXmLJzy.cjs} +2 -2
  30. package/dist/{ask-user-C8PIlzDe.cjs.map → ask-user-DJXmLJzy.cjs.map} +1 -1
  31. package/dist/buttons-group.css +4 -14
  32. package/dist/{code-block-FI2Y_vRg.cjs → code-block-C7A4Hv96.cjs} +5 -5
  33. package/dist/{code-block-FI2Y_vRg.cjs.map → code-block-C7A4Hv96.cjs.map} +1 -1
  34. package/dist/{code-block-D1_YjIGG.js → code-block-C_pvalBv.js} +5 -5
  35. package/dist/{code-block-D1_YjIGG.js.map → code-block-C_pvalBv.js.map} +1 -1
  36. package/dist/{code-editor-8l_YoqYu.cjs → code-editor-BXchPl_F.cjs} +3 -3
  37. package/dist/code-editor-BXchPl_F.cjs.map +1 -0
  38. package/dist/{code-editor-m5ktiTwB.js → code-editor-Cltwid7c.js} +3 -3
  39. package/dist/code-editor-Cltwid7c.js.map +1 -0
  40. package/dist/{collapsible-DhhP5p1j.js → collapsible-BNUn4644.js} +2 -2
  41. package/dist/collapsible-BNUn4644.js.map +1 -0
  42. package/dist/{collapsible-BFSJouuI.cjs → collapsible-jfzzU7Gp.cjs} +2 -2
  43. package/dist/collapsible-jfzzU7Gp.cjs.map +1 -0
  44. package/dist/{combobox-DDvFeXkN.js → combobox-B_C0cNid.js} +4 -4
  45. package/dist/{combobox-DDvFeXkN.js.map → combobox-B_C0cNid.js.map} +1 -1
  46. package/dist/{combobox-Dm1hKirJ.cjs → combobox-rKV-Lksj.cjs} +4 -4
  47. package/dist/{combobox-Dm1hKirJ.cjs.map → combobox-rKV-Lksj.cjs.map} +1 -1
  48. package/dist/{combobox-styles-B0qifmU6.cjs → combobox-styles-C4Kq1NFV.cjs} +2 -2
  49. package/dist/{combobox-styles-B0qifmU6.cjs.map → combobox-styles-C4Kq1NFV.cjs.map} +1 -1
  50. package/dist/{combobox-styles-VF_qaHQZ.js → combobox-styles-CLxC7VLA.js} +2 -2
  51. package/dist/{combobox-styles-VF_qaHQZ.js.map → combobox-styles-CLxC7VLA.js.map} +1 -1
  52. package/dist/{command-DxGz6-Jx.js → command-C6JnofUJ.js} +3 -3
  53. package/dist/{command-DxGz6-Jx.js.map → command-C6JnofUJ.js.map} +1 -1
  54. package/dist/{command-B4ue1PCR.cjs → command-CpXMoss8.cjs} +3 -3
  55. package/dist/{command-B4ue1PCR.cjs.map → command-CpXMoss8.cjs.map} +1 -1
  56. package/dist/components/AlertDialog.cjs.js +1 -1
  57. package/dist/components/AlertDialog.es.js +1 -1
  58. package/dist/components/Button.cjs.js +1 -1
  59. package/dist/components/Button.es.js +2 -2
  60. package/dist/components/Card.cjs.js +1 -1
  61. package/dist/components/Card.es.js +1 -1
  62. package/dist/components/ClampedText.cjs.js +1 -1
  63. package/dist/components/ClampedText.es.js +1 -1
  64. package/dist/components/CodeBlock.cjs.js +1 -1
  65. package/dist/components/CodeBlock.es.js +1 -1
  66. package/dist/components/CodeEditor.cjs.js +1 -1
  67. package/dist/components/CodeEditor.es.js +1 -1
  68. package/dist/components/Collapsible.cjs.js +1 -1
  69. package/dist/components/Collapsible.es.js +1 -1
  70. package/dist/components/Combobox.cjs.js +2 -2
  71. package/dist/components/Combobox.es.js +2 -2
  72. package/dist/components/Command.cjs.js +1 -1
  73. package/dist/components/Command.es.js +1 -1
  74. package/dist/components/CommandPalette.cjs.js +2 -2
  75. package/dist/components/CommandPalette.es.js +2 -2
  76. package/dist/components/Comment.cjs.js +2 -2
  77. package/dist/components/Comment.es.js +2 -2
  78. package/dist/components/Composer.cjs.js +2 -2
  79. package/dist/components/Composer.es.js +2 -2
  80. package/dist/components/CopyButton.cjs.js +1 -1
  81. package/dist/components/CopyButton.es.js +1 -1
  82. package/dist/components/DataCodeSection.cjs.js +1 -1
  83. package/dist/components/DataCodeSection.es.js +1 -1
  84. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  85. package/dist/components/DataDetailsPanel.es.js +2 -2
  86. package/dist/components/DataList.cjs.js +5 -5
  87. package/dist/components/DataList.es.js +5 -5
  88. package/dist/components/DataPanel.cjs.js +1 -1
  89. package/dist/components/DataPanel.es.js +1 -1
  90. package/dist/components/DateRangeTimeline.cjs.js +5 -3
  91. package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
  92. package/dist/components/DateRangeTimeline.es.js +5 -3
  93. package/dist/components/DateRangeTimeline.es.js.map +1 -1
  94. package/dist/components/DateTimePicker.cjs.js +2 -2
  95. package/dist/components/DateTimePicker.es.js +2 -2
  96. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  97. package/dist/components/DateTimeRangePicker.es.js +1 -1
  98. package/dist/components/Dialog.cjs.js +2 -2
  99. package/dist/components/Dialog.es.js +2 -2
  100. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  101. package/dist/components/DisabledFeatureButton.es.js +1 -1
  102. package/dist/components/Drawer.cjs.js +1 -1
  103. package/dist/components/Drawer.es.js +1 -1
  104. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  105. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  106. package/dist/components/ErrorBoundary.cjs.js +1 -1
  107. package/dist/components/ErrorBoundary.es.js +1 -1
  108. package/dist/components/FilterBar.cjs.js +3 -3
  109. package/dist/components/FilterBar.es.js +4 -4
  110. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  111. package/dist/components/FormFieldBlocks.es.js +2 -2
  112. package/dist/components/HorizontalBars.cjs.js +1 -1
  113. package/dist/components/HorizontalBars.es.js +1 -1
  114. package/dist/components/InputGroup.cjs.js +1 -1
  115. package/dist/components/InputGroup.es.js +1 -1
  116. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  117. package/dist/components/JSONSchemaForm.es.js +2 -2
  118. package/dist/components/ListSearch.cjs.js +1 -1
  119. package/dist/components/ListSearch.es.js +1 -1
  120. package/dist/components/LogsDataList.cjs.js +2 -4
  121. package/dist/components/LogsDataList.cjs.js.map +1 -1
  122. package/dist/components/LogsDataList.es.js +2 -4
  123. package/dist/components/LogsDataList.es.js.map +1 -1
  124. package/dist/components/MainSidebar.cjs.js +1 -1
  125. package/dist/components/MainSidebar.es.js +2 -2
  126. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  127. package/dist/components/MarkdownRenderer.es.js +1 -1
  128. package/dist/components/Message.cjs.js +1 -1
  129. package/dist/components/Message.es.js +1 -1
  130. package/dist/components/MetricsCard.cjs.js +1 -1
  131. package/dist/components/MetricsCard.es.js +1 -1
  132. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  133. package/dist/components/MetricsKpiCard.es.js +1 -1
  134. package/dist/components/Notice.cjs.js +1 -1
  135. package/dist/components/Notice.es.js +1 -1
  136. package/dist/components/PrevNextNav.cjs.js +1 -1
  137. package/dist/components/PrevNextNav.es.js +1 -1
  138. package/dist/components/PropertyFilter.cjs.js +3 -3
  139. package/dist/components/PropertyFilter.es.js +4 -4
  140. package/dist/components/RelativeTimestamp.cjs.js +1 -1
  141. package/dist/components/RelativeTimestamp.es.js +1 -1
  142. package/dist/components/RuleBuilder.cjs.js +2 -2
  143. package/dist/components/RuleBuilder.es.js +2 -2
  144. package/dist/components/ScrollArea.cjs.js +1 -1
  145. package/dist/components/ScrollArea.es.js +1 -1
  146. package/dist/components/SectionCard.cjs.js +1 -12
  147. package/dist/components/SectionCard.cjs.js.map +1 -1
  148. package/dist/components/SectionCard.es.js +1 -12
  149. package/dist/components/SectionCard.es.js.map +1 -1
  150. package/dist/components/Select.cjs.js +1 -1
  151. package/dist/components/Select.es.js +1 -1
  152. package/dist/components/SideDialog.cjs.js +1 -1
  153. package/dist/components/SideDialog.es.js +1 -1
  154. package/dist/components/Slider.cjs.js +1 -1
  155. package/dist/components/Slider.es.js +1 -1
  156. package/dist/components/StatusIndicators.cjs.js +6 -18
  157. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  158. package/dist/components/StatusIndicators.es.js +6 -18
  159. package/dist/components/StatusIndicators.es.js.map +1 -1
  160. package/dist/components/Switch.cjs.js +1 -1
  161. package/dist/components/Switch.es.js +1 -1
  162. package/dist/components/Table.cjs.js +3 -2
  163. package/dist/components/Table.cjs.js.map +1 -1
  164. package/dist/components/Table.es.js +3 -2
  165. package/dist/components/Table.es.js.map +1 -1
  166. package/dist/components/Tabs.cjs.js +3 -3
  167. package/dist/components/Tabs.es.js +3 -3
  168. package/dist/components/ThreadList.cjs.js +1 -1
  169. package/dist/components/ThreadList.es.js +1 -1
  170. package/dist/components/ThreadRail.cjs.js +3 -2
  171. package/dist/components/ThreadRail.cjs.js.map +1 -1
  172. package/dist/components/ThreadRail.es.js +3 -2
  173. package/dist/components/ThreadRail.es.js.map +1 -1
  174. package/dist/components/Tree.cjs.js +2 -2
  175. package/dist/components/Tree.cjs.js.map +1 -1
  176. package/dist/components/Tree.es.js +2 -2
  177. package/dist/components/Tree.es.js.map +1 -1
  178. package/dist/components/Truncate.cjs.js +1 -1
  179. package/dist/components/Truncate.es.js +1 -1
  180. package/dist/components/Workflow.cjs.js +6 -6
  181. package/dist/components/Workflow.es.js +6 -6
  182. package/dist/components/ai/activity.cjs.js +4 -4
  183. package/dist/components/ai/activity.es.js +4 -4
  184. package/dist/components/ai/ask-user.cjs.js +1 -1
  185. package/dist/components/ai/ask-user.es.js +1 -1
  186. package/dist/components/ai/plan.cjs.js +1 -1
  187. package/dist/components/ai/plan.es.js +1 -1
  188. package/dist/components/ai/task-list.cjs.js +2 -2
  189. package/dist/components/ai/task-list.cjs.js.map +1 -1
  190. package/dist/components/ai/task-list.es.js +2 -2
  191. package/dist/components/ai/task-list.es.js.map +1 -1
  192. package/dist/components/ai/tool-approval.cjs.js +1 -1
  193. package/dist/components/ai/tool-approval.es.js +1 -1
  194. package/dist/components/ai/tool-call.cjs.js +4 -4
  195. package/dist/components/ai/tool-call.es.js +4 -4
  196. package/dist/{composer-D7ZOLVUX.cjs → composer-DyoM0j2m.cjs} +2 -2
  197. package/dist/{composer-D7ZOLVUX.cjs.map → composer-DyoM0j2m.cjs.map} +1 -1
  198. package/dist/{composer-a6qwEQIs.js → composer-eMyX1lBH.js} +2 -2
  199. package/dist/{composer-a6qwEQIs.js.map → composer-eMyX1lBH.js.map} +1 -1
  200. package/dist/composer.css +2 -2
  201. package/dist/{copy-button-89AmY5FU.cjs → copy-button-C6nXDjBz.cjs} +2 -2
  202. package/dist/{copy-button-89AmY5FU.cjs.map → copy-button-C6nXDjBz.cjs.map} +1 -1
  203. package/dist/{copy-button-rs9SJnvF.js → copy-button-DbmsTUum.js} +2 -2
  204. package/dist/{copy-button-rs9SJnvF.js.map → copy-button-DbmsTUum.js.map} +1 -1
  205. package/dist/{data-code-section-D01ggJy6.js → data-code-section-Bd2Xnckz.js} +6 -6
  206. package/dist/data-code-section-Bd2Xnckz.js.map +1 -0
  207. package/dist/{data-code-section-W_dIahDO.cjs → data-code-section-D5b6_jcB.cjs} +6 -6
  208. package/dist/data-code-section-D5b6_jcB.cjs.map +1 -0
  209. package/dist/{data-list-jJGA9T9_.cjs → data-list-D8bACyyK.cjs} +4 -4
  210. package/dist/{data-list-jJGA9T9_.cjs.map → data-list-D8bACyyK.cjs.map} +1 -1
  211. package/dist/{data-list-cF2lpf-v.js → data-list-DL_oFE4j.js} +4 -4
  212. package/dist/{data-list-cF2lpf-v.js.map → data-list-DL_oFE4j.js.map} +1 -1
  213. package/dist/{data-list-skeleton-DtU1wRbx.cjs → data-list-skeleton-BXPfL0s7.cjs} +2 -2
  214. package/dist/{data-list-skeleton-DtU1wRbx.cjs.map → data-list-skeleton-BXPfL0s7.cjs.map} +1 -1
  215. package/dist/{data-list-skeleton-BiWUa3JR.js → data-list-skeleton-Bk9LI0J0.js} +2 -2
  216. package/dist/{data-list-skeleton-BiWUa3JR.js.map → data-list-skeleton-Bk9LI0J0.js.map} +1 -1
  217. package/dist/{data-list-spacer-Cukij8de.js → data-list-spacer-CE6-4ZQq.js} +5 -4
  218. package/dist/data-list-spacer-CE6-4ZQq.js.map +1 -0
  219. package/dist/{data-list-spacer-D8zpJS7Z.cjs → data-list-spacer-_bFe0e2u.cjs} +5 -4
  220. package/dist/data-list-spacer-_bFe0e2u.cjs.map +1 -0
  221. package/dist/{data-list-top-KKXNLoP6.cjs → data-list-top-C-pLBax7.cjs} +4 -3
  222. package/dist/data-list-top-C-pLBax7.cjs.map +1 -0
  223. package/dist/{data-list-top-G11bdV77.js → data-list-top-DheFgb0M.js} +4 -3
  224. package/dist/data-list-top-DheFgb0M.js.map +1 -0
  225. package/dist/{data-panel-9GDF8Wx1.js → data-panel-42fdcagQ.js} +3 -3
  226. package/dist/{data-panel-9GDF8Wx1.js.map → data-panel-42fdcagQ.js.map} +1 -1
  227. package/dist/{data-panel-C4JszAuX.cjs → data-panel-CjvoI_lx.cjs} +3 -3
  228. package/dist/{data-panel-C4JszAuX.cjs.map → data-panel-CjvoI_lx.cjs.map} +1 -1
  229. package/dist/{date-time-range-picker-CmqD5SE4.cjs → date-time-range-picker-BORAuIJM.cjs} +3 -3
  230. package/dist/{date-time-range-picker-CmqD5SE4.cjs.map → date-time-range-picker-BORAuIJM.cjs.map} +1 -1
  231. package/dist/{date-time-range-picker-DZ-jZE2-.js → date-time-range-picker-C-pSI1u1.js} +3 -3
  232. package/dist/{date-time-range-picker-DZ-jZE2-.js.map → date-time-range-picker-C-pSI1u1.js.map} +1 -1
  233. package/dist/{dialog-4KIPO71S.cjs → dialog-DYpOpj9s.cjs} +3 -3
  234. package/dist/{dialog-4KIPO71S.cjs.map → dialog-DYpOpj9s.cjs.map} +1 -1
  235. package/dist/{dialog-action-C6yPBO21.cjs → dialog-action-B3AHq7mU.cjs} +3 -3
  236. package/dist/{dialog-action-C6yPBO21.cjs.map → dialog-action-B3AHq7mU.cjs.map} +1 -1
  237. package/dist/{dialog-action-DzTAl6AJ.js → dialog-action-BGmDoI5T.js} +3 -3
  238. package/dist/{dialog-action-DzTAl6AJ.js.map → dialog-action-BGmDoI5T.js.map} +1 -1
  239. package/dist/{dialog-DjXC42Zn.js → dialog-cKzR2TXI.js} +3 -3
  240. package/dist/{dialog-DjXC42Zn.js.map → dialog-cKzR2TXI.js.map} +1 -1
  241. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  242. package/dist/domains/auth/components/session-expired.es.js +1 -1
  243. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  244. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  245. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
  246. package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
  247. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  248. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  249. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  250. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  251. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  252. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  253. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  254. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  255. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  256. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  257. package/dist/domains/chat/messages/message-row.cjs.js +22 -5
  258. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  259. package/dist/domains/chat/messages/message-row.es.js +22 -5
  260. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  261. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  262. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  263. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  264. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  265. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  266. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  267. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  268. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  269. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js +6 -0
  270. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
  271. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js +6 -0
  272. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
  273. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  274. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  275. package/dist/domains/chat/messages/skill-activation.cjs.js +29 -0
  276. package/dist/domains/chat/messages/skill-activation.cjs.js.map +1 -0
  277. package/dist/domains/chat/messages/skill-activation.d.ts +2 -0
  278. package/dist/domains/chat/messages/skill-activation.es.js +25 -0
  279. package/dist/domains/chat/messages/skill-activation.es.js.map +1 -0
  280. package/dist/domains/chat/messages/skill-message.cjs.js +33 -0
  281. package/dist/domains/chat/messages/skill-message.cjs.js.map +1 -0
  282. package/dist/domains/chat/messages/skill-message.d.ts +2 -0
  283. package/dist/domains/chat/messages/skill-message.es.js +29 -0
  284. package/dist/domains/chat/messages/skill-message.es.js.map +1 -0
  285. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  286. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  287. package/dist/domains/chat/messages/tripwire-notice.cjs.js +1 -1
  288. package/dist/domains/chat/messages/tripwire-notice.es.js +1 -1
  289. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  290. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  291. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  292. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  293. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  294. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  295. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  296. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  297. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  298. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  299. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +3 -3
  300. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +3 -3
  301. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  302. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  303. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  304. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  305. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  306. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  307. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  308. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  309. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  310. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  311. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
  312. package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
  313. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +3 -4
  314. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  315. package/dist/domains/chat/tools/badges/workflow-badge.es.js +3 -4
  316. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  317. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  318. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  319. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  320. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  321. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  322. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  323. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  324. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  325. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  326. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  327. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  328. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  329. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  330. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  331. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  332. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  333. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  334. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  335. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  336. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  337. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  338. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  339. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  340. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  341. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  342. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  343. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  344. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  345. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  346. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  347. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  348. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  349. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  350. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  351. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  352. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  353. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  354. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  355. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  356. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  357. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  358. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  359. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  360. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  361. package/dist/domains/request-context/components/request-context-label.cjs.js +1 -5
  362. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  363. package/dist/domains/request-context/components/request-context-label.es.js +2 -6
  364. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  365. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  366. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  367. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  368. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  369. package/dist/domains/scores/components/trace-scores-tab.cjs.js +3 -4
  370. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  371. package/dist/domains/scores/components/trace-scores-tab.es.js +3 -4
  372. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  373. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  374. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  375. package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -6
  376. package/dist/domains/traces/components/span-data-panel-view.es.js +6 -6
  377. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  378. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  379. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  380. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  381. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +2 -2
  382. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +2 -2
  383. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +4 -4
  384. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +4 -4
  385. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  386. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  387. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
  388. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
  389. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  390. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  391. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  392. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  393. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  394. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  395. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +3 -3
  396. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +3 -3
  397. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  398. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  399. package/dist/domains/traces/components/span-timeline-row.cjs.js +3 -2
  400. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  401. package/dist/domains/traces/components/span-timeline-row.es.js +3 -2
  402. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  403. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  404. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  405. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +4 -4
  406. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +4 -4
  407. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  408. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  409. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  410. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  411. package/dist/domains/traces/components/timeline-name-col.cjs.js +3 -2
  412. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  413. package/dist/domains/traces/components/timeline-name-col.es.js +3 -2
  414. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  415. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  416. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  417. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +6 -6
  418. package/dist/domains/traces/components/trace-data-panel-view.es.js +6 -6
  419. package/dist/domains/traces/components/trace-data-panel.cjs.js +2 -3
  420. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  421. package/dist/domains/traces/components/trace-data-panel.es.js +2 -3
  422. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  423. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  424. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  425. package/dist/domains/traces/components/trace-messages-panel.cjs.js +1 -1
  426. package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
  427. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  428. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  429. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  430. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  431. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  432. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  433. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  434. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  435. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  436. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  437. package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
  438. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  439. package/dist/domains/traces/components/traces-list-view.es.js +5 -4
  440. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  441. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -3
  442. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  443. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -3
  444. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  445. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  446. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  447. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +3 -1
  448. package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -1
  449. package/dist/domains/workflows/components/workflow-entity-header.es.js +3 -1
  450. package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -1
  451. package/dist/domains/workflows/components/workflow-information.cjs.js +3 -3
  452. package/dist/domains/workflows/components/workflow-information.es.js +3 -3
  453. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  454. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  455. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  456. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  457. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +4 -3
  458. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
  459. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +4 -3
  460. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
  461. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +4 -4
  462. package/dist/domains/workflows/runs/workflow-run-list.es.js +4 -4
  463. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  464. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  465. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  466. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  467. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  468. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  469. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  470. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  471. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  472. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  473. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  474. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  475. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  476. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  477. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  478. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  479. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -1
  480. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +1 -1
  481. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  482. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  483. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  484. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  485. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  486. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  487. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  488. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  489. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -2
  490. package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -2
  491. package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +1 -1
  492. package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js.map +1 -1
  493. package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +2 -2
  494. package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js.map +1 -1
  495. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  496. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  497. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  498. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  499. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +5 -5
  500. package/dist/domains/workflows/workflow/workflow-run-data.es.js +5 -5
  501. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  502. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  503. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +2 -2
  504. package/dist/domains/workflows/workflow/workflow-run-header.es.js +2 -2
  505. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  506. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  507. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  508. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  509. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  510. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  511. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
  512. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
  513. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +6 -2
  514. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js.map +1 -1
  515. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +6 -2
  516. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js.map +1 -1
  517. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +2 -2
  518. package/dist/domains/workflows/workflow/workflow-timeline.es.js +2 -2
  519. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  520. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  521. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  522. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  523. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  524. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  525. package/dist/{drawer-6MeSDSfP.js → drawer-DXf50w71.js} +2 -2
  526. package/dist/{drawer-6MeSDSfP.js.map → drawer-DXf50w71.js.map} +1 -1
  527. package/dist/{drawer-KHIkRUe4.cjs → drawer-d81cZiSV.cjs} +2 -2
  528. package/dist/{drawer-KHIkRUe4.cjs.map → drawer-d81cZiSV.cjs.map} +1 -1
  529. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +2 -2
  530. package/dist/ee/signals/components/entity-index-compact-grid.es.js +2 -2
  531. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  532. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  533. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  534. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  535. package/dist/ee/signals/components/signals-empty-state.cjs.js +16 -20
  536. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  537. package/dist/ee/signals/components/signals-empty-state.es.js +16 -20
  538. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  539. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +4 -5
  540. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  541. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +4 -5
  542. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  543. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  544. package/dist/ee/signals/examples-pager.es.js +1 -1
  545. package/dist/ee/signals/flow-card.cjs.js +1 -1
  546. package/dist/ee/signals/flow-card.es.js +1 -1
  547. package/dist/ee/signals/lifeline-point.cjs.js +7 -2
  548. package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
  549. package/dist/ee/signals/lifeline-point.es.js +7 -2
  550. package/dist/ee/signals/lifeline-point.es.js.map +1 -1
  551. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  552. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  553. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  554. package/dist/ee/signals/sankey-signals.es.js +1 -1
  555. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -3
  556. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -3
  557. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  558. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  559. package/dist/ee/signals/signal-colors.cjs.js +6 -6
  560. package/dist/ee/signals/signal-colors.cjs.js.map +1 -1
  561. package/dist/ee/signals/signal-colors.es.js +6 -6
  562. package/dist/ee/signals/signal-colors.es.js.map +1 -1
  563. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  564. package/dist/ee/signals/signals-error-state.es.js +1 -1
  565. package/dist/ee/signals/snapshot-timeline.cjs.js +2 -2
  566. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  567. package/dist/ee/signals/snapshot-timeline.es.js +2 -2
  568. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  569. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  570. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  571. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  572. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  573. package/dist/ee/signals/trace-insight-view.cjs.js +2 -2
  574. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  575. package/dist/ee/signals/trace-insight-view.es.js +2 -2
  576. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  577. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  578. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  579. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  580. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  581. package/dist/{filter-bar-chip-u48DmCu5.js → filter-bar-chip-BNPOrSrD.js} +3 -3
  582. package/dist/{filter-bar-chip-u48DmCu5.js.map → filter-bar-chip-BNPOrSrD.js.map} +1 -1
  583. package/dist/{filter-bar-chip-CYKfWUTj.cjs → filter-bar-chip-D4CSm9KP.cjs} +3 -3
  584. package/dist/{filter-bar-chip-CYKfWUTj.cjs.map → filter-bar-chip-D4CSm9KP.cjs.map} +1 -1
  585. package/dist/{horizontal-bars-BYNeqSSF.js → horizontal-bars-BSRESJsp.js} +2 -2
  586. package/dist/{horizontal-bars-BYNeqSSF.js.map → horizontal-bars-BSRESJsp.js.map} +1 -1
  587. package/dist/{horizontal-bars-BK8snozs.cjs → horizontal-bars-DRD7JkHL.cjs} +2 -2
  588. package/dist/{horizontal-bars-BK8snozs.cjs.map → horizontal-bars-DRD7JkHL.cjs.map} +1 -1
  589. package/dist/{input-group-C0xpNsn1.js → input-group-B8bnoDrA.js} +2 -2
  590. package/dist/{input-group-C0xpNsn1.js.map → input-group-B8bnoDrA.js.map} +1 -1
  591. package/dist/{input-group-C1NamUEz.cjs → input-group-I8YVM_Ps.cjs} +2 -2
  592. package/dist/{input-group-C1NamUEz.cjs.map → input-group-I8YVM_Ps.cjs.map} +1 -1
  593. package/dist/layout/tabbed-container.cjs.js +6 -6
  594. package/dist/layout/tabbed-container.es.js +6 -6
  595. package/dist/lib/form/components/array-element-wrapper.cjs.js +3 -3
  596. package/dist/lib/form/components/array-element-wrapper.cjs.js.map +1 -1
  597. package/dist/lib/form/components/array-element-wrapper.es.js +3 -3
  598. package/dist/lib/form/components/array-element-wrapper.es.js.map +1 -1
  599. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  600. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  601. package/dist/lib/form/components/date-field.cjs.js +1 -1
  602. package/dist/lib/form/components/date-field.es.js +1 -1
  603. package/dist/lib/form/components/error-message.cjs.js +1 -1
  604. package/dist/lib/form/components/error-message.es.js +1 -1
  605. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  606. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  607. package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
  608. package/dist/lib/form/components/object-wrapper.es.js +1 -1
  609. package/dist/lib/form/components/record-field.cjs.js +1 -1
  610. package/dist/lib/form/components/record-field.es.js +1 -1
  611. package/dist/lib/form/components/select-field.cjs.js +1 -1
  612. package/dist/lib/form/components/select-field.es.js +1 -1
  613. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  614. package/dist/lib/form/components/submit-button.es.js +1 -1
  615. package/dist/{list-search-BgO_ksCX.js → list-search-9l8IEdxZ.js} +2 -2
  616. package/dist/{list-search-BgO_ksCX.js.map → list-search-9l8IEdxZ.js.map} +1 -1
  617. package/dist/{list-search-bEL_wzsG.cjs → list-search-DXb7HFX8.cjs} +2 -2
  618. package/dist/{list-search-bEL_wzsG.cjs.map → list-search-DXb7HFX8.cjs.map} +1 -1
  619. package/dist/{logs-data-list-D82JmBPJ.js → logs-data-list-C77r2FOj.js} +3 -3
  620. package/dist/{logs-data-list-D82JmBPJ.js.map → logs-data-list-C77r2FOj.js.map} +1 -1
  621. package/dist/{logs-data-list-DAh8by9h.cjs → logs-data-list-CEFyG1Xb.cjs} +3 -3
  622. package/dist/{logs-data-list-DAh8by9h.cjs.map → logs-data-list-CEFyG1Xb.cjs.map} +1 -1
  623. package/dist/{main-sidebar-link-active-DAiTpL8z.js → main-sidebar-link-active-1_ktyA8Q.js} +7 -7
  624. package/dist/main-sidebar-link-active-1_ktyA8Q.js.map +1 -0
  625. package/dist/{main-sidebar-link-active-DIMZKeHX.cjs → main-sidebar-link-active-BNko0jHZ.cjs} +7 -7
  626. package/dist/main-sidebar-link-active-BNko0jHZ.cjs.map +1 -0
  627. package/dist/{markdown-renderer-CY-jQjAm.js → markdown-renderer-Bl0V7FCo.js} +3 -3
  628. package/dist/{markdown-renderer-CY-jQjAm.js.map → markdown-renderer-Bl0V7FCo.js.map} +1 -1
  629. package/dist/{markdown-renderer-DtcId3Ul.cjs → markdown-renderer-CSwjfPaf.cjs} +3 -3
  630. package/dist/{markdown-renderer-DtcId3Ul.cjs.map → markdown-renderer-CSwjfPaf.cjs.map} +1 -1
  631. package/dist/{message-copy-button-D49yf_Fk.cjs → message-copy-button-ClJBX9qx.cjs} +2 -2
  632. package/dist/{message-copy-button-D49yf_Fk.cjs.map → message-copy-button-ClJBX9qx.cjs.map} +1 -1
  633. package/dist/{message-copy-button-iMfO-J5M.js → message-copy-button-DP3U-xA-.js} +2 -2
  634. package/dist/{message-copy-button-iMfO-J5M.js.map → message-copy-button-DP3U-xA-.js.map} +1 -1
  635. package/dist/{metrics-card-Cr6vbt9I.js → metrics-card-CloSmyRQ.js} +3 -3
  636. package/dist/{metrics-card-Cr6vbt9I.js.map → metrics-card-CloSmyRQ.js.map} +1 -1
  637. package/dist/{metrics-card-B29tubiE.cjs → metrics-card-HmQJHDNa.cjs} +3 -3
  638. package/dist/{metrics-card-B29tubiE.cjs.map → metrics-card-HmQJHDNa.cjs.map} +1 -1
  639. package/dist/{metrics-kpi-card-CHdaoCE8.cjs → metrics-kpi-card-CW24YjZp.cjs} +2 -2
  640. package/dist/{metrics-kpi-card-CHdaoCE8.cjs.map → metrics-kpi-card-CW24YjZp.cjs.map} +1 -1
  641. package/dist/{metrics-kpi-card-DaOkTfEn.js → metrics-kpi-card-DLDT28IB.js} +2 -2
  642. package/dist/{metrics-kpi-card-DaOkTfEn.js.map → metrics-kpi-card-DLDT28IB.js.map} +1 -1
  643. package/dist/new/sidebar.cjs.js +2 -2
  644. package/dist/new/sidebar.cjs.js.map +1 -1
  645. package/dist/new/sidebar.es.js +3 -3
  646. package/dist/new/sidebar.es.js.map +1 -1
  647. package/dist/{notification-activity-HAcSSfXh.js → notification-activity-B1_2BPe_.js} +2 -2
  648. package/dist/{notification-activity-HAcSSfXh.js.map → notification-activity-B1_2BPe_.js.map} +1 -1
  649. package/dist/{notification-activity-CzWIom28.cjs → notification-activity-BAn2fhYd.cjs} +2 -2
  650. package/dist/{notification-activity-CzWIom28.cjs.map → notification-activity-BAn2fhYd.cjs.map} +1 -1
  651. package/dist/{plan-XcVpRToL.js → plan-DJfH1c_u.js} +3 -3
  652. package/dist/{plan-XcVpRToL.js.map → plan-DJfH1c_u.js.map} +1 -1
  653. package/dist/{plan-rKBR_aWJ.cjs → plan-ZKAT5frg.cjs} +3 -3
  654. package/dist/{plan-rKBR_aWJ.cjs.map → plan-ZKAT5frg.cjs.map} +1 -1
  655. package/dist/primitives/form-element.cjs.js +3 -2
  656. package/dist/primitives/form-element.cjs.js.map +1 -1
  657. package/dist/primitives/form-element.es.js +3 -3
  658. package/dist/primitives/form-element.es.js.map +1 -1
  659. package/dist/primitives/menu-item.cjs.js +1 -1
  660. package/dist/primitives/menu-item.es.js +1 -1
  661. package/dist/primitives/raised-surface.cjs.js +3 -3
  662. package/dist/primitives/raised-surface.cjs.js.map +1 -1
  663. package/dist/primitives/raised-surface.es.js +3 -3
  664. package/dist/primitives/raised-surface.es.js.map +1 -1
  665. package/dist/primitives/selection-control.cjs.js +2 -2
  666. package/dist/primitives/selection-control.cjs.js.map +1 -1
  667. package/dist/primitives/selection-control.es.js +3 -3
  668. package/dist/primitives/selection-control.es.js.map +1 -1
  669. package/dist/primitives/transitions.cjs.js +6 -8
  670. package/dist/primitives/transitions.cjs.js.map +1 -1
  671. package/dist/primitives/transitions.es.js +5 -9
  672. package/dist/primitives/transitions.es.js.map +1 -1
  673. package/dist/primitives/trigger-button.cjs.js +1 -1
  674. package/dist/primitives/trigger-button.es.js +1 -1
  675. package/dist/{property-filter-applied-gYYOGNLL.cjs → property-filter-applied-D0F0BYMY.cjs} +2 -2
  676. package/dist/{property-filter-applied-gYYOGNLL.cjs.map → property-filter-applied-D0F0BYMY.cjs.map} +1 -1
  677. package/dist/{property-filter-applied-lIef4AFt.js → property-filter-applied-k0TOa9hf.js} +2 -2
  678. package/dist/{property-filter-applied-lIef4AFt.js.map → property-filter-applied-k0TOa9hf.js.map} +1 -1
  679. package/dist/{reasoning-activity-LdbnHPbR.cjs → reasoning-activity-CO0Ab1Za.cjs} +3 -3
  680. package/dist/{reasoning-activity-LdbnHPbR.cjs.map → reasoning-activity-CO0Ab1Za.cjs.map} +1 -1
  681. package/dist/{reasoning-activity-j1bIOIX8.js → reasoning-activity-D3oCzL58.js} +3 -3
  682. package/dist/{reasoning-activity-j1bIOIX8.js.map → reasoning-activity-D3oCzL58.js.map} +1 -1
  683. package/dist/{relative-timestamp-BzfR9tDU.cjs → relative-timestamp-D-IvjsVb.cjs} +2 -2
  684. package/dist/relative-timestamp-D-IvjsVb.cjs.map +1 -0
  685. package/dist/{relative-timestamp-SPgcvfH6.js → relative-timestamp-wERh5vUE.js} +2 -2
  686. package/dist/relative-timestamp-wERh5vUE.js.map +1 -0
  687. package/dist/resize/panel-drawer.cjs.js +1 -1
  688. package/dist/resize/panel-drawer.es.js +1 -1
  689. package/dist/{scroll-area-BE7FJqVA.cjs → scroll-area-CEuf7Omb.cjs} +2 -2
  690. package/dist/scroll-area-CEuf7Omb.cjs.map +1 -0
  691. package/dist/{scroll-area-PxtGm4w9.js → scroll-area-Ds-fJn5M.js} +3 -3
  692. package/dist/scroll-area-Ds-fJn5M.js.map +1 -0
  693. package/dist/{search-field-block-DHrgu8J5.cjs → search-field-block-B1eqMV8x.cjs} +2 -2
  694. package/dist/{search-field-block-DHrgu8J5.cjs.map → search-field-block-B1eqMV8x.cjs.map} +1 -1
  695. package/dist/{search-field-block-D9yr3kXG.js → search-field-block-Cj9lJsYi.js} +2 -2
  696. package/dist/{search-field-block-D9yr3kXG.js.map → search-field-block-Cj9lJsYi.js.map} +1 -1
  697. package/dist/{select-Y2dIzSBN.cjs → select-C0ZGSJYa.cjs} +2 -2
  698. package/dist/{select-Y2dIzSBN.cjs.map → select-C0ZGSJYa.cjs.map} +1 -1
  699. package/dist/{select-BH7BD11Z.js → select-ch8imm15.js} +2 -2
  700. package/dist/{select-BH7BD11Z.js.map → select-ch8imm15.js.map} +1 -1
  701. package/dist/{select-field-block-DwFt2fgr.cjs → select-field-block-Dy_N3tWv.cjs} +2 -2
  702. package/dist/{select-field-block-DwFt2fgr.cjs.map → select-field-block-Dy_N3tWv.cjs.map} +1 -1
  703. package/dist/{select-field-block-CNLNE9ps.js → select-field-block-_ZUzUs7l.js} +2 -2
  704. package/dist/{select-field-block-CNLNE9ps.js.map → select-field-block-_ZUzUs7l.js.map} +1 -1
  705. package/dist/{side-dialog-DQ3SzDXH.cjs → side-dialog-7P9aEC4v.cjs} +4 -4
  706. package/dist/{side-dialog-DQ3SzDXH.cjs.map → side-dialog-7P9aEC4v.cjs.map} +1 -1
  707. package/dist/{side-dialog-BgmY4v7P.js → side-dialog-D2O3Y7GB.js} +4 -4
  708. package/dist/{side-dialog-BgmY4v7P.js.map → side-dialog-D2O3Y7GB.js.map} +1 -1
  709. package/dist/{signal-activity-B5LFDj6X.js → signal-activity-1REUU8T_.js} +2 -2
  710. package/dist/{signal-activity-B5LFDj6X.js.map → signal-activity-1REUU8T_.js.map} +1 -1
  711. package/dist/{signal-activity-DXZ9j7xV.cjs → signal-activity-4OJb4kp6.cjs} +2 -2
  712. package/dist/{signal-activity-DXZ9j7xV.cjs.map → signal-activity-4OJb4kp6.cjs.map} +1 -1
  713. package/dist/{slider-MM3K0Pyv.js → slider-D9dd_fVN.js} +3 -3
  714. package/dist/{slider-MM3K0Pyv.js.map → slider-D9dd_fVN.js.map} +1 -1
  715. package/dist/{slider-C-Fda4HC.cjs → slider-T_BIZUV0.cjs} +3 -3
  716. package/dist/{slider-C-Fda4HC.cjs.map → slider-T_BIZUV0.cjs.map} +1 -1
  717. package/dist/{span-payload-primitives-0ha5dnaq.js → span-payload-primitives-CEflnpwW.js} +4 -4
  718. package/dist/{span-payload-primitives-0ha5dnaq.js.map → span-payload-primitives-CEflnpwW.js.map} +1 -1
  719. package/dist/{span-payload-primitives-fZJeJrtj.cjs → span-payload-primitives-CbXrqcs-.cjs} +4 -4
  720. package/dist/{span-payload-primitives-fZJeJrtj.cjs.map → span-payload-primitives-CbXrqcs-.cjs.map} +1 -1
  721. package/dist/src/domains/chat/messages/skill-activation.d.ts +8 -0
  722. package/dist/src/domains/chat/messages/skill-message.d.ts +4 -0
  723. package/dist/src/domains/workflows/components/workflow-layout.d.ts +1 -1
  724. package/dist/src/ds/components/DataList/shared.d.ts +2 -2
  725. package/dist/src/ds/components/Entity/entity.stories.d.ts +0 -1
  726. package/dist/src/ds/primitives/form-element.d.ts +1 -0
  727. package/dist/src/ds/primitives/transitions.d.ts +3 -6
  728. package/dist/src/ds/tokens/color-foundations.stories.d.ts +5 -4
  729. package/dist/src/ds/tokens/colors.d.ts +62 -1
  730. package/dist/src/ds/tokens/foundations-layout.d.ts +0 -1
  731. package/dist/src/ds/tokens/shadows.d.ts +0 -1
  732. package/dist/style.css +255 -180
  733. package/dist/{switch-CE9jTpUG.js → switch-88fWFfVz.js} +4 -3
  734. package/dist/switch-88fWFfVz.js.map +1 -0
  735. package/dist/{switch-6125Oajw.cjs → switch-Swt75_Sb.cjs} +4 -3
  736. package/dist/switch-Swt75_Sb.cjs.map +1 -0
  737. package/dist/{tabs-content-CcZEEfTc.cjs → tabs-content-DQNRMjup.cjs} +3 -3
  738. package/dist/tabs-content-DQNRMjup.cjs.map +1 -0
  739. package/dist/{tabs-content-gq5tjHFE.js → tabs-content-h2qqD8t-.js} +3 -3
  740. package/dist/{tabs-content-gq5tjHFE.js.map → tabs-content-h2qqD8t-.js.map} +1 -1
  741. package/dist/{tabs-root-DnL_e3X4.js → tabs-root-4vL8SHCO.js} +2 -2
  742. package/dist/{tabs-root-DnL_e3X4.js.map → tabs-root-4vL8SHCO.js.map} +1 -1
  743. package/dist/{tabs-root-CSTdrTYo.cjs → tabs-root-BqC8X_h6.cjs} +2 -2
  744. package/dist/{tabs-root-CSTdrTYo.cjs.map → tabs-root-BqC8X_h6.cjs.map} +1 -1
  745. package/dist/{tabs-tab-Deu7thdb.js → tabs-tab-7e2as-AV.js} +3 -3
  746. package/dist/tabs-tab-7e2as-AV.js.map +1 -0
  747. package/dist/{tabs-tab-DjDhpEEE.cjs → tabs-tab-lm4xyjtD.cjs} +3 -3
  748. package/dist/tabs-tab-lm4xyjtD.cjs.map +1 -0
  749. package/dist/{thread-list-BNO_C73l.js → thread-list-DGI6M6if.js} +2 -2
  750. package/dist/{thread-list-BNO_C73l.js.map → thread-list-DGI6M6if.js.map} +1 -1
  751. package/dist/{thread-list-CSNdqkMI.cjs → thread-list-DwASH1Vl.cjs} +2 -2
  752. package/dist/{thread-list-CSNdqkMI.cjs.map → thread-list-DwASH1Vl.cjs.map} +1 -1
  753. package/dist/{time-picker-078hPxCJ.cjs → time-picker-C0DCPWpR.cjs} +2 -2
  754. package/dist/{time-picker-078hPxCJ.cjs.map → time-picker-C0DCPWpR.cjs.map} +1 -1
  755. package/dist/{time-picker-7gF4eQAt.js → time-picker-CfZbLgMm.js} +2 -2
  756. package/dist/{time-picker-7gF4eQAt.js.map → time-picker-CfZbLgMm.js.map} +1 -1
  757. package/dist/tokens.cjs.js +63 -3
  758. package/dist/tokens.cjs.js.map +1 -1
  759. package/dist/tokens.es.js +63 -3
  760. package/dist/tokens.es.js.map +1 -1
  761. package/dist/{tool-approval-CfRaygjH.cjs → tool-approval-BAER9nxR.cjs} +2 -2
  762. package/dist/{tool-approval-CfRaygjH.cjs.map → tool-approval-BAER9nxR.cjs.map} +1 -1
  763. package/dist/{tool-approval-BViVo54e.js → tool-approval-xZvYiuBP.js} +2 -2
  764. package/dist/{tool-approval-BViVo54e.js.map → tool-approval-xZvYiuBP.js.map} +1 -1
  765. package/dist/{tool-call-arguments-9A5bjnZf.js → tool-call-arguments-D7PMJ6vj.js} +3 -3
  766. package/dist/{tool-call-arguments-9A5bjnZf.js.map → tool-call-arguments-D7PMJ6vj.js.map} +1 -1
  767. package/dist/{tool-call-arguments-pnni11q2.cjs → tool-call-arguments-ynBfg2dY.cjs} +3 -3
  768. package/dist/{tool-call-arguments-pnni11q2.cjs.map → tool-call-arguments-ynBfg2dY.cjs.map} +1 -1
  769. package/dist/{tool-call-group-DABeZh1M.cjs → tool-call-group-9Dtupqev.cjs} +3 -3
  770. package/dist/{tool-call-group-DABeZh1M.cjs.map → tool-call-group-9Dtupqev.cjs.map} +1 -1
  771. package/dist/{tool-call-group-BWKy3t21.js → tool-call-group-DJX7eUYY.js} +3 -3
  772. package/dist/{tool-call-group-BWKy3t21.js.map → tool-call-group-DJX7eUYY.js.map} +1 -1
  773. package/dist/{tool-call-mono-B1cNPKRM.cjs → tool-call-mono-DFSfVZ6E.cjs} +2 -2
  774. package/dist/{tool-call-mono-B1cNPKRM.cjs.map → tool-call-mono-DFSfVZ6E.cjs.map} +1 -1
  775. package/dist/{tool-call-mono-BKfoVlPN.js → tool-call-mono-gKG9Ek1m.js} +2 -2
  776. package/dist/{tool-call-mono-BKfoVlPN.js.map → tool-call-mono-gKG9Ek1m.js.map} +1 -1
  777. package/dist/{tool-call-output-3Ro33hUN.js → tool-call-output-DEoCE_Xn.js} +2 -2
  778. package/dist/{tool-call-output-3Ro33hUN.js.map → tool-call-output-DEoCE_Xn.js.map} +1 -1
  779. package/dist/{tool-call-output-BR0HdX36.cjs → tool-call-output-Dl4sVfCy.cjs} +2 -2
  780. package/dist/{tool-call-output-BR0HdX36.cjs.map → tool-call-output-Dl4sVfCy.cjs.map} +1 -1
  781. package/dist/{tool-card-j5PjYYXG.js → tool-card-BA1YcDoS.js} +4 -4
  782. package/dist/{tool-card-j5PjYYXG.js.map → tool-card-BA1YcDoS.js.map} +1 -1
  783. package/dist/{tool-card-CeRXZ67P.cjs → tool-card-DRqhTx-u.cjs} +4 -4
  784. package/dist/{tool-card-CeRXZ67P.cjs.map → tool-card-DRqhTx-u.cjs.map} +1 -1
  785. package/dist/{traces-data-list-Cj8_iaST.cjs → traces-data-list-CU93pUfj.cjs} +4 -4
  786. package/dist/{traces-data-list-Cj8_iaST.cjs.map → traces-data-list-CU93pUfj.cjs.map} +1 -1
  787. package/dist/{traces-data-list-DcHBQtgZ.js → traces-data-list-DaedGcID.js} +4 -4
  788. package/dist/{traces-data-list-DcHBQtgZ.js.map → traces-data-list-DaedGcID.js.map} +1 -1
  789. package/dist/{use-workflow-graph-runtime-XFvrHY2_.cjs → use-workflow-graph-runtime-D0ODPlNB.cjs} +3 -3
  790. package/dist/{use-workflow-graph-runtime-XFvrHY2_.cjs.map → use-workflow-graph-runtime-D0ODPlNB.cjs.map} +1 -1
  791. package/dist/{use-workflow-graph-runtime-BImilvH3.js → use-workflow-graph-runtime-XL5zreeR.js} +3 -3
  792. package/dist/{use-workflow-graph-runtime-BImilvH3.js.map → use-workflow-graph-runtime-XL5zreeR.js.map} +1 -1
  793. package/dist/{workflow-code-dialog-content-BaUrjNPW.js → workflow-code-dialog-content-Iz2Omi1P.js} +3 -3
  794. package/dist/{workflow-code-dialog-content-BaUrjNPW.js.map → workflow-code-dialog-content-Iz2Omi1P.js.map} +1 -1
  795. package/dist/{workflow-code-dialog-content-BZMdjs9s.cjs → workflow-code-dialog-content-vLneZlMd.cjs} +3 -3
  796. package/dist/{workflow-code-dialog-content-BZMdjs9s.cjs.map → workflow-code-dialog-content-vLneZlMd.cjs.map} +1 -1
  797. package/dist/{workflow-condition-card-BOeOKZa6.js → workflow-condition-card-B0Va5Amx.js} +9 -9
  798. package/dist/workflow-condition-card-B0Va5Amx.js.map +1 -0
  799. package/dist/{workflow-condition-card-CWzCPzQe.cjs → workflow-condition-card-CfjhZb0m.cjs} +9 -9
  800. package/dist/workflow-condition-card-CfjhZb0m.cjs.map +1 -0
  801. package/dist/{workflow-data-edge-view-DoD6VDID.cjs → workflow-data-edge-view-DXeWURnc.cjs} +2 -2
  802. package/dist/{workflow-data-edge-view-DoD6VDID.cjs.map → workflow-data-edge-view-DXeWURnc.cjs.map} +1 -1
  803. package/dist/{workflow-data-edge-view-fX21CQmu.js → workflow-data-edge-view-o7akvbpB.js} +2 -2
  804. package/dist/{workflow-data-edge-view-fX21CQmu.js.map → workflow-data-edge-view-o7akvbpB.js.map} +1 -1
  805. package/dist/{workflow-debug-controls-CIplFeXE.cjs → workflow-debug-controls-Bcb4vcek.cjs} +2 -2
  806. package/dist/{workflow-debug-controls-CIplFeXE.cjs.map → workflow-debug-controls-Bcb4vcek.cjs.map} +1 -1
  807. package/dist/{workflow-debug-controls-7EfBAsMX.js → workflow-debug-controls-DULCFa4s.js} +2 -2
  808. package/dist/{workflow-debug-controls-7EfBAsMX.js.map → workflow-debug-controls-DULCFa4s.js.map} +1 -1
  809. package/dist/{workflow-edge-data-button-Cy3liOpU.js → workflow-edge-data-button-BuZzeN2n.js} +4 -4
  810. package/dist/{workflow-edge-data-button-Cy3liOpU.js.map → workflow-edge-data-button-BuZzeN2n.js.map} +1 -1
  811. package/dist/{workflow-edge-data-button-DU3WYDe9.cjs → workflow-edge-data-button-CX-eSbSB.cjs} +4 -4
  812. package/dist/{workflow-edge-data-button-DU3WYDe9.cjs.map → workflow-edge-data-button-CX-eSbSB.cjs.map} +1 -1
  813. package/dist/{workflow-step-action-BnDqOyJd.js → workflow-step-action-Cf_XmOwj.js} +2 -2
  814. package/dist/{workflow-step-action-BnDqOyJd.js.map → workflow-step-action-Cf_XmOwj.js.map} +1 -1
  815. package/dist/{workflow-step-action-CDt3pxg-.cjs → workflow-step-action-JMkWtObA.cjs} +2 -2
  816. package/dist/{workflow-step-action-CDt3pxg-.cjs.map → workflow-step-action-JMkWtObA.cjs.map} +1 -1
  817. package/package.json +9 -9
  818. package/theme/colors.css +112 -0
  819. package/theme/data-viz.css +7 -5
  820. package/theme/status.css +23 -2
  821. package/theme/surfaces.css +1 -11
  822. package/theme.css +1 -1
  823. package/dist/Button-CHTvSq4d.js.map +0 -1
  824. package/dist/Button-DbJn0bJX.cjs.map +0 -1
  825. package/dist/Card-BbwF20OW.cjs.map +0 -1
  826. package/dist/Card-DmT57Pve.js.map +0 -1
  827. package/dist/code-editor-8l_YoqYu.cjs.map +0 -1
  828. package/dist/code-editor-m5ktiTwB.js.map +0 -1
  829. package/dist/collapsible-BFSJouuI.cjs.map +0 -1
  830. package/dist/collapsible-DhhP5p1j.js.map +0 -1
  831. package/dist/data-code-section-D01ggJy6.js.map +0 -1
  832. package/dist/data-code-section-W_dIahDO.cjs.map +0 -1
  833. package/dist/data-list-spacer-Cukij8de.js.map +0 -1
  834. package/dist/data-list-spacer-D8zpJS7Z.cjs.map +0 -1
  835. package/dist/data-list-top-G11bdV77.js.map +0 -1
  836. package/dist/data-list-top-KKXNLoP6.cjs.map +0 -1
  837. package/dist/main-sidebar-link-active-DAiTpL8z.js.map +0 -1
  838. package/dist/main-sidebar-link-active-DIMZKeHX.cjs.map +0 -1
  839. package/dist/relative-timestamp-BzfR9tDU.cjs.map +0 -1
  840. package/dist/relative-timestamp-SPgcvfH6.js.map +0 -1
  841. package/dist/scroll-area-BE7FJqVA.cjs.map +0 -1
  842. package/dist/scroll-area-PxtGm4w9.js.map +0 -1
  843. package/dist/signals-empty-state.css +0 -54
  844. package/dist/switch-6125Oajw.cjs.map +0 -1
  845. package/dist/switch-CE9jTpUG.js.map +0 -1
  846. package/dist/tabs-content-CcZEEfTc.cjs.map +0 -1
  847. package/dist/tabs-tab-Deu7thdb.js.map +0 -1
  848. package/dist/tabs-tab-DjDhpEEE.cjs.map +0 -1
  849. package/dist/workflow-condition-card-BOeOKZa6.js.map +0 -1
  850. package/dist/workflow-condition-card-CWzCPzQe.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIndicators.cjs.js","sources":["../../src/ds/components/StatusIndicators/status-dot-styles.ts","../../src/ds/components/StatusIndicators/status.tsx","../../src/ds/components/StatusIndicators/status-dot.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type StatusTone = 'success' | 'progress' | 'error' | 'neutral';\nexport type StatusDotGlyph = 'filled' | 'ring';\n\nexport type StatusPresentation = {\n label: string;\n tone: StatusTone;\n glyph?: StatusDotGlyph;\n description: string;\n};\n\nexport type StatusPresentationFn<T> = (status: T | null) => StatusPresentation;\n\nexport type DeployState = 'ready' | 'building' | 'idle' | 'queued' | 'stopped' | 'error';\n\nexport const deployStates = {\n ready: { label: 'Ready', tone: 'success' },\n building: { label: 'Building', tone: 'progress' },\n idle: { label: 'Idle', tone: 'neutral', glyph: 'ring' },\n queued: { label: 'Queued', tone: 'neutral', glyph: 'ring' },\n stopped: { label: 'Stopped', tone: 'neutral' },\n error: { label: 'Error', tone: 'error' },\n} satisfies Record<DeployState, Omit<StatusPresentation, 'description'>>;\n\nconst TONE_FILL: Record<StatusTone, string> = {\n success: 'bg-success-indicator',\n progress: 'bg-warning-indicator',\n error: 'bg-destructive-indicator',\n neutral: 'bg-muted-foreground',\n};\n\nconst TONE_RING: Record<StatusTone, string> = {\n success: 'border-success-indicator',\n progress: 'border-warning-indicator',\n error: 'border-destructive-indicator',\n neutral: 'border-muted-foreground',\n};\n\nconst PROGRESS_DECORATION =\n \"relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-warning-edge before:border-t-warning-indicator before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none\";\n\nexport function statusToneFill(tone: StatusTone): string {\n return TONE_FILL[tone];\n}\n\nexport function statusDotClass(\n { tone, glyph = 'filled' }: Pick<StatusPresentation, 'tone' | 'glyph'>,\n className?: string,\n): string {\n return cn(\n 'inline-block size-2 shrink-0 rounded-full',\n glyph === 'ring' ? cn('border bg-transparent', TONE_RING[tone]) : TONE_FILL[tone],\n tone === 'progress' && PROGRESS_DECORATION,\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { statusDotClass, type StatusPresentation } from './status-dot-styles';\nimport { cn } from '@/lib/utils';\n\nexport type StatusProps = Omit<ComponentPropsWithoutRef<'span'>, 'children'> & {\n presentation: StatusPresentation;\n};\n\nexport function Status({ presentation, className, ...props }: StatusProps) {\n return (\n <span className={cn('inline-flex items-center gap-2', className)} {...props}>\n <span className={statusDotClass(presentation)} aria-hidden />\n {presentation.label}\n </span>\n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { statusDotClass, type StatusPresentation, type StatusPresentationFn } from './status-dot-styles';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\nconst HOVER_POPOVER_LEAVE_MS = 120;\n\nfunction StatusDotPopoverInner<T>({\n status,\n presentation,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n}) {\n const [open, setOpen] = useState(false);\n const leaveTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const resolved = presentation(status);\n\n useEffect(\n () => () => {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n },\n [],\n );\n\n function onHoverOpen() {\n if (leaveTimer.current !== undefined) {\n clearTimeout(leaveTimer.current);\n leaveTimer.current = undefined;\n }\n setOpen(true);\n }\n\n function onHoverScheduleClose() {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => setOpen(false), HOVER_POPOVER_LEAVE_MS);\n }\n\n return (\n <span className=\"pointer-events-auto inline-flex\" onMouseEnter={onHoverOpen} onMouseLeave={onHoverScheduleClose}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n render={\n <button\n type=\"button\"\n aria-label={resolved.label}\n className={statusDotClass(\n resolved,\n 'outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-2',\n )}\n />\n }\n />\n <PopoverContent\n side=\"top\"\n align=\"start\"\n sideOffset={6}\n className=\"w-auto max-w-xs px-2.5 py-1.5 text-meta text-foreground\"\n onMouseEnter={onHoverOpen}\n onMouseLeave={onHoverScheduleClose}\n >\n <Txt variant=\"column\" tone=\"ink\">\n {resolved.label}\n </Txt>\n <p className=\"mt-1 text-pretty text-muted-foreground\">{resolved.description}</p>\n </PopoverContent>\n </Popover>\n </span>\n );\n}\n\nexport function StatusDot<T>({\n status,\n presentation,\n variant = 'popover',\n decorative = false,\n resolved,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n variant?: 'popover' | 'static';\n decorative?: boolean;\n resolved?: StatusPresentation;\n}) {\n if (decorative) {\n const presented = resolved ?? presentation(status);\n return <span className={statusDotClass(presented)} aria-hidden />;\n }\n\n if (variant === 'popover') {\n return <StatusDotPopoverInner status={status} presentation={presentation} />;\n }\n\n const presented = resolved ?? presentation(status);\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label={presented.label}\n className={statusDotClass(\n presented,\n 'outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background cursor-default focus-visible:ring-2 focus-visible:ring-offset-2',\n )}\n />\n }\n />\n <TooltipContent side=\"top\" className=\"max-w-xs text-pretty\">\n {presented.description}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"names":["cn","jsxs","jsx","useState","useRef","useEffect","Popover","PopoverTrigger","PopoverContent","Txt","presented","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
1
+ {"version":3,"file":"StatusIndicators.cjs.js","sources":["../../src/ds/components/StatusIndicators/status-dot-styles.ts","../../src/ds/components/StatusIndicators/status.tsx","../../src/ds/components/StatusIndicators/status-dot.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type StatusTone = 'success' | 'progress' | 'error' | 'neutral';\nexport type StatusDotGlyph = 'filled' | 'ring';\n\nexport type StatusPresentation = {\n label: string;\n tone: StatusTone;\n glyph?: StatusDotGlyph;\n description: string;\n};\n\nexport type StatusPresentationFn<T> = (status: T | null) => StatusPresentation;\n\nexport type DeployState = 'ready' | 'building' | 'idle' | 'queued' | 'stopped' | 'error';\n\nexport const deployStates = {\n ready: { label: 'Ready', tone: 'success' },\n building: { label: 'Building', tone: 'progress' },\n idle: { label: 'Idle', tone: 'neutral', glyph: 'ring' },\n queued: { label: 'Queued', tone: 'neutral', glyph: 'ring' },\n stopped: { label: 'Stopped', tone: 'neutral' },\n error: { label: 'Error', tone: 'error' },\n} satisfies Record<DeployState, Omit<StatusPresentation, 'description'>>;\n\nconst TONE_FILL: Record<StatusTone, string> = {\n success: 'bg-success-indicator',\n progress: 'bg-warning-bright',\n error: 'bg-destructive-indicator',\n neutral: 'bg-muted-foreground',\n};\n\nconst TONE_RING: Record<StatusTone, string> = {\n success: 'border-success-indicator',\n progress: 'border-warning-bright',\n error: 'border-destructive-indicator',\n neutral: 'border-muted-foreground',\n};\n\nconst PROGRESS_DECORATION =\n \"relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-border before:border-t-warning-bright before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none\";\n\nexport function statusToneFill(tone: StatusTone): string {\n return TONE_FILL[tone];\n}\n\nexport function statusDotClass(\n { tone, glyph = 'filled' }: Pick<StatusPresentation, 'tone' | 'glyph'>,\n className?: string,\n): string {\n return cn(\n 'inline-block size-2 shrink-0 rounded-full',\n glyph === 'ring' ? cn('border bg-transparent', TONE_RING[tone]) : TONE_FILL[tone],\n tone === 'progress' && PROGRESS_DECORATION,\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { statusDotClass, type StatusPresentation } from './status-dot-styles';\nimport { cn } from '@/lib/utils';\n\nexport type StatusProps = Omit<ComponentPropsWithoutRef<'span'>, 'children'> & {\n presentation: StatusPresentation;\n};\n\nexport function Status({ presentation, className, ...props }: StatusProps) {\n return (\n <span className={cn('inline-flex items-center gap-2', className)} {...props}>\n <span className={statusDotClass(presentation)} aria-hidden />\n {presentation.label}\n </span>\n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { statusDotClass, type StatusPresentation, type StatusPresentationFn } from './status-dot-styles';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst HOVER_POPOVER_LEAVE_MS = 120;\n\nfunction StatusDotPopoverInner<T>({\n status,\n presentation,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n}) {\n const [open, setOpen] = useState(false);\n const leaveTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const resolved = presentation(status);\n\n useEffect(\n () => () => {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n },\n [],\n );\n\n function onHoverOpen() {\n if (leaveTimer.current !== undefined) {\n clearTimeout(leaveTimer.current);\n leaveTimer.current = undefined;\n }\n setOpen(true);\n }\n\n function onHoverScheduleClose() {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => setOpen(false), HOVER_POPOVER_LEAVE_MS);\n }\n\n return (\n <span className=\"pointer-events-auto inline-flex\" onMouseEnter={onHoverOpen} onMouseLeave={onHoverScheduleClose}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n render={<button type=\"button\" aria-label={resolved.label} className={statusDotClass(resolved, focusRing)} />}\n />\n <PopoverContent\n side=\"top\"\n align=\"start\"\n sideOffset={6}\n className=\"w-auto max-w-xs px-2.5 py-1.5 text-meta text-foreground\"\n onMouseEnter={onHoverOpen}\n onMouseLeave={onHoverScheduleClose}\n >\n <Txt variant=\"column\" tone=\"ink\">\n {resolved.label}\n </Txt>\n <p className=\"mt-1 text-pretty text-muted-foreground\">{resolved.description}</p>\n </PopoverContent>\n </Popover>\n </span>\n );\n}\n\nexport function StatusDot<T>({\n status,\n presentation,\n variant = 'popover',\n decorative = false,\n resolved,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n variant?: 'popover' | 'static';\n decorative?: boolean;\n resolved?: StatusPresentation;\n}) {\n if (decorative) {\n const presented = resolved ?? presentation(status);\n return <span className={statusDotClass(presented)} aria-hidden />;\n }\n\n if (variant === 'popover') {\n return <StatusDotPopoverInner status={status} presentation={presentation} />;\n }\n\n const presented = resolved ?? presentation(status);\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label={presented.label}\n className={statusDotClass(presented, cn('cursor-default', focusRing))}\n />\n }\n />\n <TooltipContent side=\"top\" className=\"max-w-xs text-pretty\">\n {presented.description}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"names":["cn","jsxs","jsx","useState","useRef","useEffect","Popover","PopoverTrigger","focusRing","PopoverContent","Txt","presented","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { useState, useRef, useEffect } from 'react';
4
4
  import { P as Popover, b as PopoverTrigger, a as PopoverContent } from '../popover-Dg70UGyn.js';
5
5
  import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../tooltip-DsQPiynb.js';
6
6
  import { T as Txt } from '../Txt-BP1SRHmL.js';
7
+ import { focusRing } from '../primitives/transitions.es.js';
7
8
 
8
9
  const deployStates = {
9
10
  ready: { label: "Ready", tone: "success" },
@@ -15,17 +16,17 @@ const deployStates = {
15
16
  };
16
17
  const TONE_FILL = {
17
18
  success: "bg-success-indicator",
18
- progress: "bg-warning-indicator",
19
+ progress: "bg-warning-bright",
19
20
  error: "bg-destructive-indicator",
20
21
  neutral: "bg-muted-foreground"
21
22
  };
22
23
  const TONE_RING = {
23
24
  success: "border-success-indicator",
24
- progress: "border-warning-indicator",
25
+ progress: "border-warning-bright",
25
26
  error: "border-destructive-indicator",
26
27
  neutral: "border-muted-foreground"
27
28
  };
28
- const PROGRESS_DECORATION = "relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-warning-edge before:border-t-warning-indicator before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none";
29
+ const PROGRESS_DECORATION = "relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-border before:border-t-warning-bright before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none";
29
30
  function statusToneFill(tone) {
30
31
  return TONE_FILL[tone];
31
32
  }
@@ -74,17 +75,7 @@ function StatusDotPopoverInner({
74
75
  /* @__PURE__ */ jsx(
75
76
  PopoverTrigger,
76
77
  {
77
- render: /* @__PURE__ */ jsx(
78
- "button",
79
- {
80
- type: "button",
81
- "aria-label": resolved.label,
82
- className: statusDotClass(
83
- resolved,
84
- "outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-2"
85
- )
86
- }
87
- )
78
+ render: /* @__PURE__ */ jsx("button", { type: "button", "aria-label": resolved.label, className: statusDotClass(resolved, focusRing) })
88
79
  }
89
80
  ),
90
81
  /* @__PURE__ */ jsxs(
@@ -128,10 +119,7 @@ function StatusDot({
128
119
  {
129
120
  type: "button",
130
121
  "aria-label": presented.label,
131
- className: statusDotClass(
132
- presented,
133
- "outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background cursor-default focus-visible:ring-2 focus-visible:ring-offset-2"
134
- )
122
+ className: statusDotClass(presented, cn("cursor-default", focusRing))
135
123
  }
136
124
  )
137
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIndicators.es.js","sources":["../../src/ds/components/StatusIndicators/status-dot-styles.ts","../../src/ds/components/StatusIndicators/status.tsx","../../src/ds/components/StatusIndicators/status-dot.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type StatusTone = 'success' | 'progress' | 'error' | 'neutral';\nexport type StatusDotGlyph = 'filled' | 'ring';\n\nexport type StatusPresentation = {\n label: string;\n tone: StatusTone;\n glyph?: StatusDotGlyph;\n description: string;\n};\n\nexport type StatusPresentationFn<T> = (status: T | null) => StatusPresentation;\n\nexport type DeployState = 'ready' | 'building' | 'idle' | 'queued' | 'stopped' | 'error';\n\nexport const deployStates = {\n ready: { label: 'Ready', tone: 'success' },\n building: { label: 'Building', tone: 'progress' },\n idle: { label: 'Idle', tone: 'neutral', glyph: 'ring' },\n queued: { label: 'Queued', tone: 'neutral', glyph: 'ring' },\n stopped: { label: 'Stopped', tone: 'neutral' },\n error: { label: 'Error', tone: 'error' },\n} satisfies Record<DeployState, Omit<StatusPresentation, 'description'>>;\n\nconst TONE_FILL: Record<StatusTone, string> = {\n success: 'bg-success-indicator',\n progress: 'bg-warning-indicator',\n error: 'bg-destructive-indicator',\n neutral: 'bg-muted-foreground',\n};\n\nconst TONE_RING: Record<StatusTone, string> = {\n success: 'border-success-indicator',\n progress: 'border-warning-indicator',\n error: 'border-destructive-indicator',\n neutral: 'border-muted-foreground',\n};\n\nconst PROGRESS_DECORATION =\n \"relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-warning-edge before:border-t-warning-indicator before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none\";\n\nexport function statusToneFill(tone: StatusTone): string {\n return TONE_FILL[tone];\n}\n\nexport function statusDotClass(\n { tone, glyph = 'filled' }: Pick<StatusPresentation, 'tone' | 'glyph'>,\n className?: string,\n): string {\n return cn(\n 'inline-block size-2 shrink-0 rounded-full',\n glyph === 'ring' ? cn('border bg-transparent', TONE_RING[tone]) : TONE_FILL[tone],\n tone === 'progress' && PROGRESS_DECORATION,\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { statusDotClass, type StatusPresentation } from './status-dot-styles';\nimport { cn } from '@/lib/utils';\n\nexport type StatusProps = Omit<ComponentPropsWithoutRef<'span'>, 'children'> & {\n presentation: StatusPresentation;\n};\n\nexport function Status({ presentation, className, ...props }: StatusProps) {\n return (\n <span className={cn('inline-flex items-center gap-2', className)} {...props}>\n <span className={statusDotClass(presentation)} aria-hidden />\n {presentation.label}\n </span>\n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { statusDotClass, type StatusPresentation, type StatusPresentationFn } from './status-dot-styles';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\n\nconst HOVER_POPOVER_LEAVE_MS = 120;\n\nfunction StatusDotPopoverInner<T>({\n status,\n presentation,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n}) {\n const [open, setOpen] = useState(false);\n const leaveTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const resolved = presentation(status);\n\n useEffect(\n () => () => {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n },\n [],\n );\n\n function onHoverOpen() {\n if (leaveTimer.current !== undefined) {\n clearTimeout(leaveTimer.current);\n leaveTimer.current = undefined;\n }\n setOpen(true);\n }\n\n function onHoverScheduleClose() {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => setOpen(false), HOVER_POPOVER_LEAVE_MS);\n }\n\n return (\n <span className=\"pointer-events-auto inline-flex\" onMouseEnter={onHoverOpen} onMouseLeave={onHoverScheduleClose}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n render={\n <button\n type=\"button\"\n aria-label={resolved.label}\n className={statusDotClass(\n resolved,\n 'outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-2',\n )}\n />\n }\n />\n <PopoverContent\n side=\"top\"\n align=\"start\"\n sideOffset={6}\n className=\"w-auto max-w-xs px-2.5 py-1.5 text-meta text-foreground\"\n onMouseEnter={onHoverOpen}\n onMouseLeave={onHoverScheduleClose}\n >\n <Txt variant=\"column\" tone=\"ink\">\n {resolved.label}\n </Txt>\n <p className=\"mt-1 text-pretty text-muted-foreground\">{resolved.description}</p>\n </PopoverContent>\n </Popover>\n </span>\n );\n}\n\nexport function StatusDot<T>({\n status,\n presentation,\n variant = 'popover',\n decorative = false,\n resolved,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n variant?: 'popover' | 'static';\n decorative?: boolean;\n resolved?: StatusPresentation;\n}) {\n if (decorative) {\n const presented = resolved ?? presentation(status);\n return <span className={statusDotClass(presented)} aria-hidden />;\n }\n\n if (variant === 'popover') {\n return <StatusDotPopoverInner status={status} presentation={presentation} />;\n }\n\n const presented = resolved ?? presentation(status);\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label={presented.label}\n className={statusDotClass(\n presented,\n 'outline-hidden focus-visible:ring-ring focus-visible:ring-offset-background cursor-default focus-visible:ring-2 focus-visible:ring-offset-2',\n )}\n />\n }\n />\n <TooltipContent side=\"top\" className=\"max-w-xs text-pretty\">\n {presented.description}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"names":["presented"],"mappings":"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"}
1
+ {"version":3,"file":"StatusIndicators.es.js","sources":["../../src/ds/components/StatusIndicators/status-dot-styles.ts","../../src/ds/components/StatusIndicators/status.tsx","../../src/ds/components/StatusIndicators/status-dot.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport type StatusTone = 'success' | 'progress' | 'error' | 'neutral';\nexport type StatusDotGlyph = 'filled' | 'ring';\n\nexport type StatusPresentation = {\n label: string;\n tone: StatusTone;\n glyph?: StatusDotGlyph;\n description: string;\n};\n\nexport type StatusPresentationFn<T> = (status: T | null) => StatusPresentation;\n\nexport type DeployState = 'ready' | 'building' | 'idle' | 'queued' | 'stopped' | 'error';\n\nexport const deployStates = {\n ready: { label: 'Ready', tone: 'success' },\n building: { label: 'Building', tone: 'progress' },\n idle: { label: 'Idle', tone: 'neutral', glyph: 'ring' },\n queued: { label: 'Queued', tone: 'neutral', glyph: 'ring' },\n stopped: { label: 'Stopped', tone: 'neutral' },\n error: { label: 'Error', tone: 'error' },\n} satisfies Record<DeployState, Omit<StatusPresentation, 'description'>>;\n\nconst TONE_FILL: Record<StatusTone, string> = {\n success: 'bg-success-indicator',\n progress: 'bg-warning-bright',\n error: 'bg-destructive-indicator',\n neutral: 'bg-muted-foreground',\n};\n\nconst TONE_RING: Record<StatusTone, string> = {\n success: 'border-success-indicator',\n progress: 'border-warning-bright',\n error: 'border-destructive-indicator',\n neutral: 'border-muted-foreground',\n};\n\nconst PROGRESS_DECORATION =\n \"relative motion-safe:animate-pulse before:absolute before:-inset-1 before:rounded-full before:border before:border-border before:border-t-warning-bright before:content-[''] motion-safe:before:animate-spin motion-reduce:before:animate-none\";\n\nexport function statusToneFill(tone: StatusTone): string {\n return TONE_FILL[tone];\n}\n\nexport function statusDotClass(\n { tone, glyph = 'filled' }: Pick<StatusPresentation, 'tone' | 'glyph'>,\n className?: string,\n): string {\n return cn(\n 'inline-block size-2 shrink-0 rounded-full',\n glyph === 'ring' ? cn('border bg-transparent', TONE_RING[tone]) : TONE_FILL[tone],\n tone === 'progress' && PROGRESS_DECORATION,\n className,\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { statusDotClass, type StatusPresentation } from './status-dot-styles';\nimport { cn } from '@/lib/utils';\n\nexport type StatusProps = Omit<ComponentPropsWithoutRef<'span'>, 'children'> & {\n presentation: StatusPresentation;\n};\n\nexport function Status({ presentation, className, ...props }: StatusProps) {\n return (\n <span className={cn('inline-flex items-center gap-2', className)} {...props}>\n <span className={statusDotClass(presentation)} aria-hidden />\n {presentation.label}\n </span>\n );\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { statusDotClass, type StatusPresentation, type StatusPresentationFn } from './status-dot-styles';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/ds/components/Popover';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Txt } from '@/ds/components/Txt';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst HOVER_POPOVER_LEAVE_MS = 120;\n\nfunction StatusDotPopoverInner<T>({\n status,\n presentation,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n}) {\n const [open, setOpen] = useState(false);\n const leaveTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const resolved = presentation(status);\n\n useEffect(\n () => () => {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n },\n [],\n );\n\n function onHoverOpen() {\n if (leaveTimer.current !== undefined) {\n clearTimeout(leaveTimer.current);\n leaveTimer.current = undefined;\n }\n setOpen(true);\n }\n\n function onHoverScheduleClose() {\n if (leaveTimer.current !== undefined) clearTimeout(leaveTimer.current);\n leaveTimer.current = setTimeout(() => setOpen(false), HOVER_POPOVER_LEAVE_MS);\n }\n\n return (\n <span className=\"pointer-events-auto inline-flex\" onMouseEnter={onHoverOpen} onMouseLeave={onHoverScheduleClose}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger\n render={<button type=\"button\" aria-label={resolved.label} className={statusDotClass(resolved, focusRing)} />}\n />\n <PopoverContent\n side=\"top\"\n align=\"start\"\n sideOffset={6}\n className=\"w-auto max-w-xs px-2.5 py-1.5 text-meta text-foreground\"\n onMouseEnter={onHoverOpen}\n onMouseLeave={onHoverScheduleClose}\n >\n <Txt variant=\"column\" tone=\"ink\">\n {resolved.label}\n </Txt>\n <p className=\"mt-1 text-pretty text-muted-foreground\">{resolved.description}</p>\n </PopoverContent>\n </Popover>\n </span>\n );\n}\n\nexport function StatusDot<T>({\n status,\n presentation,\n variant = 'popover',\n decorative = false,\n resolved,\n}: {\n status: T | null;\n presentation: StatusPresentationFn<T>;\n variant?: 'popover' | 'static';\n decorative?: boolean;\n resolved?: StatusPresentation;\n}) {\n if (decorative) {\n const presented = resolved ?? presentation(status);\n return <span className={statusDotClass(presented)} aria-hidden />;\n }\n\n if (variant === 'popover') {\n return <StatusDotPopoverInner status={status} presentation={presentation} />;\n }\n\n const presented = resolved ?? presentation(status);\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label={presented.label}\n className={statusDotClass(presented, cn('cursor-default', focusRing))}\n />\n }\n />\n <TooltipContent side=\"top\" className=\"max-w-xs text-pretty\">\n {presented.description}\n </TooltipContent>\n </Tooltip>\n );\n}\n"],"names":["presented"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const _switch = require('../switch-6125Oajw.cjs');
5
+ const _switch = require('../switch-Swt75_Sb.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { S as Switch } from '../switch-CE9jTpUG.js';
1
+ export { S as Switch } from '../switch-88fWFfVz.js';
2
2
  //# sourceMappingURL=Switch.es.js.map
@@ -4,6 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
+ const primitives_transitions = require('../primitives/transitions.cjs.js');
7
8
  const utils_cn = require('../cn-DG0X1KEP.cjs');
8
9
  const icons_Icon = require('../icons/Icon.cjs.js');
9
10
  const Txt = require('../Txt-DPmEpNbp.cjs');
@@ -65,8 +66,8 @@ const Row = React.forwardRef(
65
66
  // Smooth hover transition
66
67
  "transition-colors duration-normal ease-out-custom",
67
68
  "hover:bg-fill-subtle",
68
- // Focus state
69
- "focus:bg-fill-subtle focus:ring-1 focus:ring-border-focus focus:outline-hidden focus:ring-inset",
69
+ "focus:bg-fill-subtle",
70
+ primitives_transitions.focusRingInset,
70
71
  selected && "bg-fill-hover",
71
72
  onClick && "cursor-pointer",
72
73
  className
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs.js","sources":["../../src/ds/components/Table/Table.tsx","../../src/ds/components/Table/Cells.tsx","../../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border bg-card', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'h-full text-left text-meta tracking-wide whitespace-nowrap text-placeholder uppercase first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-fill-subtle',\n // Focus state\n 'focus:bg-fill-subtle focus:ring-1 focus:ring-border-focus focus:outline-hidden focus:ring-inset',\n selected && 'bg-fill-hover',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-foreground first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex size-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"body-sm\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n return (\n <Cell {...props}>\n <Txt as=\"span\" variant=\"body\" className=\"shrink-0\">\n {formatDate(dateTime, 'date-time-seconds')}\n </Txt>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-foreground\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {name}\n </Txt>\n {description && (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"w-full max-w-75 truncate pt-1\">\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":["jsx","cn","forwardRef","useRef","useEffect","Txt","formatDate","jsxs","Icon","useState","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"Table.cjs.js","sources":["../../src/ds/components/Table/Table.tsx","../../src/ds/components/Table/Cells.tsx","../../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border bg-card', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'h-full text-left text-meta tracking-wide whitespace-nowrap text-placeholder uppercase first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-fill-subtle',\n 'focus:bg-fill-subtle',\n focusRingInset,\n selected && 'bg-fill-hover',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-foreground first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex size-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"body-sm\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n return (\n <Cell {...props}>\n <Txt as=\"span\" variant=\"body\" className=\"shrink-0\">\n {formatDate(dateTime, 'date-time-seconds')}\n </Txt>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-foreground\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {name}\n </Txt>\n {description && (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"w-full max-w-75 truncate pt-1\">\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":["jsx","cn","forwardRef","useRef","useEffect","focusRingInset","Txt","formatDate","jsxs","Icon","useState","useCallback"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { forwardRef, useRef, useEffect, useState, useCallback } from 'react';
3
+ import { focusRingInset } from '../primitives/transitions.es.js';
3
4
  import { c as cn } from '../cn-65Adrsfj.js';
4
5
  import { Icon } from '../icons/Icon.es.js';
5
6
  import { T as Txt } from '../Txt-BP1SRHmL.js';
@@ -61,8 +62,8 @@ const Row = forwardRef(
61
62
  // Smooth hover transition
62
63
  "transition-colors duration-normal ease-out-custom",
63
64
  "hover:bg-fill-subtle",
64
- // Focus state
65
- "focus:bg-fill-subtle focus:ring-1 focus:ring-border-focus focus:outline-hidden focus:ring-inset",
65
+ "focus:bg-fill-subtle",
66
+ focusRingInset,
66
67
  selected && "bg-fill-hover",
67
68
  onClick && "cursor-pointer",
68
69
  className
@@ -1 +1 @@
1
- {"version":3,"file":"Table.es.js","sources":["../../src/ds/components/Table/Table.tsx","../../src/ds/components/Table/Cells.tsx","../../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border bg-card', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'h-full text-left text-meta tracking-wide whitespace-nowrap text-placeholder uppercase first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-fill-subtle',\n // Focus state\n 'focus:bg-fill-subtle focus:ring-1 focus:ring-border-focus focus:outline-hidden focus:ring-inset',\n selected && 'bg-fill-hover',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-foreground first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex size-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"body-sm\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n return (\n <Cell {...props}>\n <Txt as=\"span\" variant=\"body\" className=\"shrink-0\">\n {formatDate(dateTime, 'date-time-seconds')}\n </Txt>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-foreground\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {name}\n </Txt>\n {description && (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"w-full max-w-75 truncate pt-1\">\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.es.js","sources":["../../src/ds/components/Table/Table.tsx","../../src/ds/components/Table/Cells.tsx","../../src/ds/components/Table/use-table-keyboard-navigation.ts"],"sourcesContent":["import type { CSSProperties, HTMLAttributes, ReactNode, ThHTMLAttributes } from 'react';\nimport { forwardRef, useEffect, useRef } from 'react';\nimport { focusRingInset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport interface TableProps {\n className?: string;\n children: ReactNode;\n size?: 'default' | 'small';\n style?: CSSProperties;\n}\n\nconst rowSize = {\n default: '[&>tbody>tr]:h-table-row',\n small: '[&>tbody>tr]:h-table-row-small',\n};\n\nexport const Table = ({ className, children, size = 'default', style }: TableProps) => {\n return (\n <table className={cn('w-full', rowSize[size], className)} style={style}>\n {children}\n </table>\n );\n};\n\nexport interface TheadProps {\n className?: string;\n children: ReactNode;\n}\n\nexport const Thead = ({ className, children }: TheadProps) => {\n return (\n <thead>\n <tr className={cn('h-table-header border-b border-border bg-card', className)}>{children}</tr>\n </thead>\n );\n};\n\nexport interface ThProps extends ThHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n style?: CSSProperties;\n children: ReactNode;\n}\n\nexport const Th = ({ className, children, ...props }: ThProps) => {\n return (\n <th\n className={cn(\n 'h-full text-left text-meta tracking-wide whitespace-nowrap text-placeholder uppercase first:pl-3 last:pr-3',\n className,\n )}\n {...props}\n >\n {children}\n </th>\n );\n};\n\nexport interface TbodyProps extends HTMLAttributes<HTMLTableSectionElement> {\n className?: string;\n children: ReactNode;\n}\n\nexport const Tbody = ({ className, children, ...props }: TbodyProps) => {\n return (\n <tbody className={cn('', className)} {...props}>\n {children}\n </tbody>\n );\n};\n\nexport interface RowProps {\n className?: string;\n children: ReactNode;\n selected?: boolean;\n style?: CSSProperties;\n onClick?: () => void;\n tabIndex?: number;\n /** When true, row receives focus and scrolls into view */\n isActive?: boolean;\n}\n\nexport const Row = forwardRef<HTMLTableRowElement, RowProps>(\n ({ className, children, selected = false, style, onClick, isActive = false, ...props }, ref) => {\n const internalRef = useRef<HTMLTableRowElement>(null);\n\n // Merge forwarded ref with internal ref\n useEffect(() => {\n if (!ref) return;\n if (typeof ref === 'function') {\n ref(internalRef.current);\n } else {\n ref.current = internalRef.current;\n }\n }, [ref]);\n\n // Focus and scroll into view when active\n useEffect(() => {\n if (isActive && internalRef.current) {\n internalRef.current.focus();\n internalRef.current.scrollIntoView({ block: 'nearest' });\n }\n }, [isActive]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTableRowElement>) => {\n if (event.key === 'Enter' && onClick) {\n onClick();\n }\n };\n\n return (\n <tr\n className={cn(\n 'border-b border-border',\n // Smooth hover transition\n 'transition-colors duration-normal ease-out-custom',\n 'hover:bg-fill-subtle',\n 'focus:bg-fill-subtle',\n focusRingInset,\n selected && 'bg-fill-hover',\n onClick && 'cursor-pointer',\n className,\n )}\n style={style}\n onClick={onClick}\n ref={internalRef}\n tabIndex={onClick ? 0 : undefined}\n onKeyDown={handleKeyDown}\n data-active={isActive || undefined}\n {...props}\n >\n {children}\n </tr>\n );\n },\n);\n","import React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { Txt } from '../Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDate } from '@/utils/date-format';\n\nexport interface CellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n className?: string;\n children: React.ReactNode;\n}\n\nexport const Cell = ({ className, children, ...props }: CellProps) => {\n return (\n <td className={cn('text-foreground first:pl-3 last:pr-3', className)} {...props}>\n <div className={cn('flex size-full shrink-0 items-center')}>{children}</div>\n </td>\n );\n};\n\nexport const TxtCell = ({ className, children }: CellProps) => {\n return (\n <Cell className={className}>\n <Txt as=\"span\" variant=\"body-sm\" className=\"w-full truncate\">\n {children}\n </Txt>\n </Cell>\n );\n};\n\nexport interface DateTimeCellProps extends Omit<CellProps, 'children'> {\n dateTime: Date;\n}\n\nexport const DateTimeCell = ({ dateTime, ...props }: DateTimeCellProps) => {\n return (\n <Cell {...props}>\n <Txt as=\"span\" variant=\"body\" className=\"shrink-0\">\n {formatDate(dateTime, 'date-time-seconds')}\n </Txt>\n </Cell>\n );\n};\n\nexport interface EntryCellProps extends Omit<CellProps, 'children'> {\n name: React.ReactNode;\n description?: React.ReactNode;\n icon?: React.ReactNode;\n meta?: React.ReactNode;\n}\n\nexport const EntryCell = ({ name, description, icon, meta, ...props }: EntryCellProps) => {\n return (\n <Cell {...props}>\n <div className=\"flex items-center gap-3.5\">\n {icon && (\n <Icon size=\"lg\" className=\"text-foreground\">\n {icon}\n </Icon>\n )}\n\n <div className=\"flex flex-col gap-0\">\n <Txt as=\"span\" variant=\"body\" tone=\"ink\">\n {name}\n </Txt>\n {description && (\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\" className=\"w-full max-w-75 truncate pt-1\">\n {description}\n </Txt>\n )}\n </div>\n {meta}\n </div>\n </Cell>\n );\n};\n","import { useState, useCallback, useEffect } from 'react';\n\nexport interface UseTableKeyboardNavigationOptions {\n /** Number of items in the list */\n itemCount: number;\n /** Initial active index (-1 = none) */\n initialIndex?: number;\n /** Wrap around at boundaries */\n wrap?: boolean;\n /** Callback when Enter pressed on active row */\n onSelect?: (index: number) => void;\n /** When true, registers keyboard handlers globally on the document */\n global?: boolean;\n}\n\nexport interface UseTableKeyboardNavigationReturn {\n /** Currently active index (-1 if none) */\n activeIndex: number;\n /** Set active index programmatically */\n setActiveIndex: React.Dispatch<React.SetStateAction<number>>;\n /** Returns props to spread on the Tbody element. Returns null when global is true. */\n getKeyboardProps: () => { onKeyDown: (e: React.KeyboardEvent) => void; tabIndex: number } | null;\n}\n\nexport function useTableKeyboardNavigation({\n itemCount,\n initialIndex = -1,\n wrap = false,\n onSelect,\n global = false,\n}: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn {\n const [activeIndex, setActiveIndex] = useState(initialIndex);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent | React.KeyboardEvent) => {\n // No-op for empty list\n if (itemCount === 0) return;\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return 0;\n if (prev >= itemCount - 1) {\n return wrap ? 0 : itemCount - 1;\n }\n return prev + 1;\n });\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n setActiveIndex(prev => {\n if (prev === -1) return itemCount - 1;\n if (prev <= 0) {\n return wrap ? itemCount - 1 : 0;\n }\n return prev - 1;\n });\n break;\n }\n case 'Home': {\n e.preventDefault();\n setActiveIndex(0);\n break;\n }\n case 'End': {\n e.preventDefault();\n setActiveIndex(itemCount - 1);\n break;\n }\n case 'Enter': {\n if (activeIndex >= 0 && onSelect) {\n e.preventDefault();\n onSelect(activeIndex);\n }\n break;\n }\n }\n },\n [itemCount, wrap, activeIndex, onSelect],\n );\n\n // Register global keyboard handlers when global option is enabled\n useEffect(() => {\n if (!global) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [global, handleKeyDown]);\n\n const getKeyboardProps = useCallback(() => {\n if (global) return null;\n return { onKeyDown: handleKeyDown as (e: React.KeyboardEvent) => void, tabIndex: 0 };\n }, [global, handleKeyDown]);\n\n return {\n activeIndex,\n setActiveIndex,\n getKeyboardProps,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const tabsRoot = require('../tabs-root-CSTdrTYo.cjs');
6
- const tabsTab = require('../tabs-tab-DjDhpEEE.cjs');
7
- const tabsContent = require('../tabs-content-CcZEEfTc.cjs');
5
+ const tabsRoot = require('../tabs-root-BqC8X_h6.cjs');
6
+ const tabsTab = require('../tabs-tab-lm4xyjtD.cjs');
7
+ const tabsContent = require('../tabs-content-DQNRMjup.cjs');
8
8
 
9
9
 
10
10
 
@@ -1,4 +1,4 @@
1
- export { T as TabList, a as Tabs } from '../tabs-root-DnL_e3X4.js';
2
- export { T as Tab } from '../tabs-tab-Deu7thdb.js';
3
- export { T as TabContent } from '../tabs-content-gq5tjHFE.js';
1
+ export { T as TabList, a as Tabs } from '../tabs-root-4vL8SHCO.js';
2
+ export { T as Tab } from '../tabs-tab-7e2as-AV.js';
3
+ export { T as TabContent } from '../tabs-content-h2qqD8t-.js';
4
4
  //# sourceMappingURL=Tabs.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const threadList = require('../thread-list-CSNdqkMI.cjs');
5
+ const threadList = require('../thread-list-DwASH1Vl.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { T as ThreadList, a as ThreadListEmpty, b as ThreadListItem, c as ThreadListItems, d as ThreadListNewItem, e as ThreadListSeparator } from '../thread-list-BNO_C73l.js';
1
+ export { T as ThreadList, a as ThreadListEmpty, b as ThreadListItem, c as ThreadListItems, d as ThreadListNewItem, e as ThreadListSeparator } from '../thread-list-DGI6M6if.js';
2
2
  //# sourceMappingURL=ThreadList.es.js.map
@@ -6,9 +6,10 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const messageScrollerHooks = require('../message-scroller-hooks-BxAf8k0Y.cjs');
9
- const scrollArea = require('../scroll-area-BE7FJqVA.cjs');
9
+ const scrollArea = require('../scroll-area-CEuf7Omb.cjs');
10
10
  const Txt = require('../Txt-DPmEpNbp.cjs');
11
11
  const primitives_raisedSurface = require('../primitives/raised-surface.cjs.js');
12
+ const primitives_transitions = require('../primitives/transitions.cjs.js');
12
13
  const hooks_useMeasuredAutoHeight = require('../hooks/use-measured-auto-height.cjs.js');
13
14
  const utils_cn = require('../cn-DG0X1KEP.cjs');
14
15
 
@@ -246,7 +247,7 @@ function ThreadRailItem({
246
247
  className: utils_cn.cn(
247
248
  "relative block h-px cursor-pointer rounded-full transition-[width,background-color] duration-normal ease-out",
248
249
  "before:absolute before:inset-x-0 before:-inset-y-1 before:content-['']",
249
- "focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:outline-hidden",
250
+ primitives_transitions.focusRing,
250
251
  size,
251
252
  tone
252
253
  )