@mastra/playground-ui 68.0.0-alpha.0 → 68.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (779) hide show
  1. package/dist/{ActionRow-BfK77pCT.cjs → ActionRow-BlC9GAef.cjs} +4 -4
  2. package/dist/ActionRow-BlC9GAef.cjs.map +1 -0
  3. package/dist/{ActionRow-Cd6tOC2K.js → ActionRow-DCrRCvBq.js} +4 -4
  4. package/dist/ActionRow-DCrRCvBq.js.map +1 -0
  5. package/dist/{Button-Bw1e3ONi.js → Button-CLXTbAY8.js} +42 -13
  6. package/dist/Button-CLXTbAY8.js.map +1 -0
  7. package/dist/{Button-YQRflC47.cjs → Button-DLcMcuUL.cjs} +58 -11
  8. package/dist/Button-DLcMcuUL.cjs.map +1 -0
  9. package/dist/{CodeEditor-CJ9jC9lu.cjs → CodeEditor-CLzs0yVc.cjs} +4 -4
  10. package/dist/{CodeEditor-CJ9jC9lu.cjs.map → CodeEditor-CLzs0yVc.cjs.map} +1 -1
  11. package/dist/{CodeEditor-CPVxj7WS.js → CodeEditor-COnz9c6B.js} +4 -4
  12. package/dist/{CodeEditor-CPVxj7WS.js.map → CodeEditor-COnz9c6B.js.map} +1 -1
  13. package/dist/{Comment-VFJq2wRp.js → Comment-0n98b_f_.js} +3 -3
  14. package/dist/{Comment-VFJq2wRp.js.map → Comment-0n98b_f_.js.map} +1 -1
  15. package/dist/{Comment-KYUQzeSu.cjs → Comment-Cg0f7eLa.cjs} +3 -3
  16. package/dist/{Comment-KYUQzeSu.cjs.map → Comment-Cg0f7eLa.cjs.map} +1 -1
  17. package/dist/{DataCodeSection-CZRPsStI.cjs → DataCodeSection-CcPmJPTp.cjs} +8 -8
  18. package/dist/{DataCodeSection-CZRPsStI.cjs.map → DataCodeSection-CcPmJPTp.cjs.map} +1 -1
  19. package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-KJRyRD1Q.js} +6 -6
  20. package/dist/{DataCodeSection-Ckd47p_S.js.map → DataCodeSection-KJRyRD1Q.js.map} +1 -1
  21. package/dist/{DataDetailsPanel-_CK0Huk6.js → DataDetailsPanel-CohEKPm4.js} +5 -5
  22. package/dist/{DataDetailsPanel-_CK0Huk6.js.map → DataDetailsPanel-CohEKPm4.js.map} +1 -1
  23. package/dist/{DataDetailsPanel-DFhM9H5D.cjs → DataDetailsPanel-DiyjEXqK.cjs} +6 -6
  24. package/dist/{DataDetailsPanel-DFhM9H5D.cjs.map → DataDetailsPanel-DiyjEXqK.cjs.map} +1 -1
  25. package/dist/{DataList-2tIlQsLc.js → DataList-CUhRQAv6.js} +2 -2
  26. package/dist/{DataList-2tIlQsLc.js.map → DataList-CUhRQAv6.js.map} +1 -1
  27. package/dist/{DataList-Czwmwyvp.cjs → DataList-Cj0mfk19.cjs} +2 -2
  28. package/dist/{DataList-Czwmwyvp.cjs.map → DataList-Cj0mfk19.cjs.map} +1 -1
  29. package/dist/{DataPanel-CY1W5LHJ.js → DataPanel-Bv4M17xO.js} +3 -3
  30. package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-Bv4M17xO.js.map} +1 -1
  31. package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-BwB1Oifd.cjs} +3 -3
  32. package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-BwB1Oifd.cjs.map} +1 -1
  33. package/dist/{Dialog-CjaiCrkv.cjs → Dialog-BvWF9HE-.cjs} +2 -2
  34. package/dist/{Dialog-CjaiCrkv.cjs.map → Dialog-BvWF9HE-.cjs.map} +1 -1
  35. package/dist/{Dialog-CKtTR8h3.js → Dialog-DaWtxwd9.js} +2 -2
  36. package/dist/{Dialog-CKtTR8h3.js.map → Dialog-DaWtxwd9.js.map} +1 -1
  37. package/dist/{ErrorBoundary-Bm0LL_b7.cjs → ErrorBoundary-B5GjmA6V.cjs} +2 -2
  38. package/dist/{ErrorBoundary-Bm0LL_b7.cjs.map → ErrorBoundary-B5GjmA6V.cjs.map} +1 -1
  39. package/dist/{ErrorBoundary-95_6A77S.js → ErrorBoundary-Cat3KU86.js} +2 -2
  40. package/dist/{ErrorBoundary-95_6A77S.js.map → ErrorBoundary-Cat3KU86.js.map} +1 -1
  41. package/dist/{FilterBar--4oguuVe.js → FilterBar-BO-vvvyq.js} +18 -22
  42. package/dist/FilterBar-BO-vvvyq.js.map +1 -0
  43. package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-Buw0tv51.cjs} +18 -22
  44. package/dist/FilterBar-Buw0tv51.cjs.map +1 -0
  45. package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
  46. package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
  47. package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
  48. package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
  49. package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
  50. package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
  51. package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
  52. package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
  53. package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
  54. package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
  55. package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
  56. package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
  57. package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
  58. package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
  59. package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
  60. package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
  61. package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
  62. package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
  63. package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
  64. package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
  65. package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
  66. package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
  67. package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
  68. package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
  69. package/dist/{ask-user-BdjH9F7G.js → ask-user-B225wzWc.js} +2 -2
  70. package/dist/{ask-user-BdjH9F7G.js.map → ask-user-B225wzWc.js.map} +1 -1
  71. package/dist/{ask-user-C82m_G9W.cjs → ask-user-DdYz56qH.cjs} +2 -2
  72. package/dist/{ask-user-C82m_G9W.cjs.map → ask-user-DdYz56qH.cjs.map} +1 -1
  73. package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
  74. package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
  75. package/dist/buttons-group-DkFlnMiL.js +35 -0
  76. package/dist/buttons-group-DkFlnMiL.js.map +1 -0
  77. package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
  78. package/dist/clear-filters-button-Buc973vw.cjs +27 -0
  79. package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
  80. package/dist/clear-filters-button-CNrRuHOY.js +22 -0
  81. package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
  82. package/dist/{combobox-8kNAJFlj.cjs → combobox-CMx2ayFN.cjs} +3 -3
  83. package/dist/{combobox-8kNAJFlj.cjs.map → combobox-CMx2ayFN.cjs.map} +1 -1
  84. package/dist/{combobox-wFudhN8F.js → combobox-CtCK0mNx.js} +3 -3
  85. package/dist/{combobox-wFudhN8F.js.map → combobox-CtCK0mNx.js.map} +1 -1
  86. package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-C1CugUAU.js} +11 -19
  87. package/dist/combobox-parts-C1CugUAU.js.map +1 -0
  88. package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-ScKcYjMR.cjs} +10 -18
  89. package/dist/combobox-parts-ScKcYjMR.cjs.map +1 -0
  90. package/dist/components/ActionRow.cjs.js +1 -1
  91. package/dist/components/ActionRow.es.js +1 -1
  92. package/dist/components/AlertDialog.cjs.js +2 -2
  93. package/dist/components/AlertDialog.es.js +2 -2
  94. package/dist/components/Button.cjs.js +4 -1
  95. package/dist/components/Button.es.js +2 -2
  96. package/dist/components/ButtonsGroup.cjs.js +3 -38
  97. package/dist/components/ButtonsGroup.es.js +1 -35
  98. package/dist/components/ClampedText.cjs.js +1 -1
  99. package/dist/components/ClampedText.es.js +1 -1
  100. package/dist/components/ClearFiltersButton.cjs.js +3 -0
  101. package/dist/components/ClearFiltersButton.d.ts +1 -0
  102. package/dist/components/ClearFiltersButton.es.js +1 -0
  103. package/dist/components/CodeBlock.cjs.js +3 -3
  104. package/dist/components/CodeBlock.es.js +3 -3
  105. package/dist/components/CodeEditor.cjs.js +1 -1
  106. package/dist/components/CodeEditor.es.js +1 -1
  107. package/dist/components/CollapsibleBox.cjs.js +1 -1
  108. package/dist/components/CollapsibleBox.es.js +1 -1
  109. package/dist/components/Combobox.cjs.js +2 -2
  110. package/dist/components/Combobox.es.js +2 -2
  111. package/dist/components/Command.cjs.js +3 -2
  112. package/dist/components/Command.cjs.js.map +1 -1
  113. package/dist/components/Command.es.js +3 -2
  114. package/dist/components/Command.es.js.map +1 -1
  115. package/dist/components/Comment.cjs.js +1 -1
  116. package/dist/components/Comment.es.js +1 -1
  117. package/dist/components/CopyButton.cjs.js +1 -1
  118. package/dist/components/CopyButton.es.js +1 -1
  119. package/dist/components/DataCodeSection.cjs.js +1 -1
  120. package/dist/components/DataCodeSection.es.js +1 -1
  121. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  122. package/dist/components/DataDetailsPanel.es.js +1 -1
  123. package/dist/components/DataList.cjs.js +3 -3
  124. package/dist/components/DataList.es.js +3 -3
  125. package/dist/components/DataPanel.cjs.js +1 -1
  126. package/dist/components/DataPanel.es.js +1 -1
  127. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  128. package/dist/components/DateRangeTimeline.es.js +1 -1
  129. package/dist/components/DateTimePicker.cjs.js +2 -2
  130. package/dist/components/DateTimePicker.es.js +2 -2
  131. package/dist/components/DateTimeRangePicker.cjs.js +2 -2
  132. package/dist/components/DateTimeRangePicker.es.js +1 -1
  133. package/dist/components/Dialog.cjs.js +1 -1
  134. package/dist/components/Dialog.es.js +1 -1
  135. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  136. package/dist/components/DisabledFeatureButton.es.js +1 -1
  137. package/dist/components/Drawer.cjs.js +1 -1
  138. package/dist/components/Drawer.es.js +1 -1
  139. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  140. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  141. package/dist/components/ErrorBoundary.cjs.js +1 -1
  142. package/dist/components/ErrorBoundary.es.js +1 -1
  143. package/dist/components/FilterBar.cjs.js +7 -2
  144. package/dist/components/FilterBar.es.js +4 -3
  145. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  146. package/dist/components/FormFieldBlocks.es.js +2 -2
  147. package/dist/components/InputGroup.cjs.js +1 -1
  148. package/dist/components/InputGroup.es.js +1 -1
  149. package/dist/components/InputNumber.cjs.js +2 -2
  150. package/dist/components/InputNumber.es.js +2 -2
  151. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  152. package/dist/components/JSONSchemaForm.es.js +2 -2
  153. package/dist/components/ListSearch.cjs.js +1 -1
  154. package/dist/components/ListSearch.es.js +1 -1
  155. package/dist/components/LogsDataList.cjs.js +2 -2
  156. package/dist/components/LogsDataList.es.js +2 -2
  157. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  158. package/dist/components/MarkdownRenderer.es.js +1 -1
  159. package/dist/components/Message.cjs.js +1 -1
  160. package/dist/components/Message.es.js +1 -1
  161. package/dist/components/Notice.cjs.js +1 -1
  162. package/dist/components/Notice.es.js +1 -1
  163. package/dist/components/PrevNextNav.cjs.js +1 -1
  164. package/dist/components/PrevNextNav.es.js +1 -1
  165. package/dist/components/PropertyFilter.cjs.js +3 -3
  166. package/dist/components/PropertyFilter.es.js +3 -3
  167. package/dist/components/RuleBuilder.cjs.js +2 -2
  168. package/dist/components/RuleBuilder.es.js +2 -2
  169. package/dist/components/SavedViews.cjs.js +4 -3
  170. package/dist/components/SavedViews.cjs.js.map +1 -1
  171. package/dist/components/SavedViews.es.js +4 -3
  172. package/dist/components/SavedViews.es.js.map +1 -1
  173. package/dist/components/SearchInput.cjs.js +5 -2
  174. package/dist/components/SearchInput.cjs.js.map +1 -1
  175. package/dist/components/SearchInput.es.js +5 -2
  176. package/dist/components/SearchInput.es.js.map +1 -1
  177. package/dist/components/Select.cjs.js +1 -1
  178. package/dist/components/Select.es.js +1 -1
  179. package/dist/components/SideDialog.cjs.js +5 -5
  180. package/dist/components/SideDialog.cjs.js.map +1 -1
  181. package/dist/components/SideDialog.es.js +4 -4
  182. package/dist/components/Sidebar.cjs.js +3 -3
  183. package/dist/components/Sidebar.es.js +3 -3
  184. package/dist/components/Tabs.cjs.js +2 -2
  185. package/dist/components/Tabs.es.js +2 -2
  186. package/dist/components/ThreadList.cjs.js +1 -1
  187. package/dist/components/ThreadList.es.js +1 -1
  188. package/dist/components/Toaster.cjs.js +2 -2
  189. package/dist/components/Toaster.es.js +2 -2
  190. package/dist/components/Truncate.cjs.js +1 -1
  191. package/dist/components/Truncate.es.js +1 -1
  192. package/dist/components/Workflow.cjs.js +1 -1
  193. package/dist/components/Workflow.es.js +1 -1
  194. package/dist/components/ai/activity.cjs.js +1 -1
  195. package/dist/components/ai/activity.es.js +1 -1
  196. package/dist/components/ai/ask-user.cjs.js +1 -1
  197. package/dist/components/ai/ask-user.es.js +1 -1
  198. package/dist/components/ai/plan.cjs.js +2 -2
  199. package/dist/components/ai/plan.es.js +2 -2
  200. package/dist/components/ai/tool-approval.cjs.js +1 -1
  201. package/dist/components/ai/tool-approval.es.js +1 -1
  202. package/dist/components/ai/tool-call.cjs.js +1 -1
  203. package/dist/components/ai/tool-call.es.js +1 -1
  204. package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
  205. package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
  206. package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
  207. package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
  208. package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
  209. package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
  210. package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
  211. package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
  212. package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
  213. package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
  214. package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
  215. package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
  216. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  217. package/dist/domains/auth/components/session-expired.es.js +2 -2
  218. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
  219. package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
  220. package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
  221. package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
  222. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  223. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  224. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  225. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  226. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  227. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  228. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  229. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  230. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  231. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  232. package/dist/domains/chat/activity/model/activity-words.cjs.js +1 -1
  233. package/dist/domains/chat/activity/model/activity-words.es.js +1 -1
  234. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  235. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  236. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  237. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  238. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  239. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  240. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  241. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  242. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +1 -1
  243. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +1 -1
  244. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  245. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  246. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  247. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  248. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  249. package/dist/domains/chat/messages/message-row.es.js +4 -4
  250. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  251. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  252. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  253. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  254. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  255. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  256. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  257. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  258. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  259. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  260. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  261. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  262. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  263. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  264. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  265. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  266. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  267. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  268. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  269. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  270. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  271. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  272. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  273. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  274. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  275. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  276. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  277. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  278. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  279. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  280. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +1 -1
  281. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +1 -1
  282. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
  283. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
  284. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  285. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  286. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  287. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  288. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  289. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  290. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  291. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  292. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  293. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  294. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  295. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  296. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +3 -3
  297. package/dist/domains/chat/tools/badges/workflow-badge.es.js +3 -3
  298. package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
  299. package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
  300. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  301. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  302. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  303. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  304. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
  305. package/dist/domains/chat/tools/tool-groups.es.js +1 -1
  306. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
  307. package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
  308. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
  309. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
  310. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
  311. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
  312. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
  313. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
  314. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
  315. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
  316. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +1 -1
  317. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +1 -1
  318. package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
  319. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  320. package/dist/domains/logs/components/log-data-panel.es.js +4 -4
  321. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  322. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  323. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  324. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  325. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  326. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  327. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  328. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  329. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  330. package/dist/domains/logs/hooks/use-logs-filter-persistence.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/metrics/components/card-action-buttons.cjs.js +1 -1
  336. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  337. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  338. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  339. package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
  340. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  341. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  342. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
  343. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
  344. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
  345. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
  346. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  347. package/dist/domains/metrics/drilldown.es.js +1 -1
  348. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  349. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  350. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
  351. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
  352. package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
  353. package/dist/domains/observability/observability-list-url-state.es.js +1 -1
  354. package/dist/domains/observability/saved-view-state.cjs.js +1 -1
  355. package/dist/domains/observability/saved-view-state.es.js +1 -1
  356. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  357. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  358. package/dist/domains/observability/saved-views.cjs.js +1 -1
  359. package/dist/domains/observability/saved-views.es.js +1 -1
  360. package/dist/domains/observability.cjs.js +1 -1
  361. package/dist/domains/observability.es.js +1 -1
  362. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  363. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  364. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  365. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  366. package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
  367. package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
  368. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  369. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  370. package/dist/domains/skills/skill-simple-form.cjs.js +2 -2
  371. package/dist/domains/skills/skill-simple-form.es.js +2 -2
  372. package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
  373. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  374. package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
  375. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  376. package/dist/domains/spans/components/spans-filter-bar.cjs.js +5 -5
  377. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  378. package/dist/domains/spans/components/spans-filter-bar.es.js +5 -5
  379. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  380. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
  381. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  382. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
  383. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  384. package/dist/domains/spans/span-filters.cjs.js +2 -2
  385. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  386. package/dist/domains/spans/span-filters.es.js +2 -2
  387. package/dist/domains/spans/span-filters.es.js.map +1 -1
  388. package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
  389. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  390. package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
  391. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  392. package/dist/domains/threads/components/threads-filter-bar.cjs.js +5 -5
  393. package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
  394. package/dist/domains/threads/components/threads-filter-bar.es.js +5 -5
  395. package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
  396. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
  397. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  398. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
  399. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  400. package/dist/domains/threads/thread-filters.cjs.js +2 -2
  401. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  402. package/dist/domains/threads/thread-filters.es.js +2 -2
  403. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  404. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
  405. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
  406. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  407. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  408. package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
  409. package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
  410. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  411. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  412. package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
  413. package/dist/domains/traces/components/span-outcome.es.js +1 -1
  414. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  415. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  416. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  417. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  418. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  419. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  420. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  421. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  422. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  423. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  424. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  425. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  426. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  427. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  428. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  429. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  430. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  431. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  432. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  433. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  434. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  435. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  436. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  437. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  438. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  439. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  440. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  441. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  442. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  443. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  444. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  445. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  446. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  447. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  448. package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -4
  449. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  450. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -4
  451. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  452. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  453. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  454. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  455. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  456. package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
  457. package/dist/domains/traces/components/trace-details-view.es.js +1 -1
  458. package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
  459. package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
  460. package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
  461. package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
  462. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  463. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  464. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  465. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  466. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  467. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  468. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  469. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  470. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  471. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  472. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
  473. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
  474. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -5
  475. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  476. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -5
  477. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  478. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
  479. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
  480. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  481. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  482. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
  483. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  484. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
  485. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  486. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  487. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  488. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  489. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  490. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  491. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  492. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  493. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  494. package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
  495. package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
  496. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  497. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  498. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  499. package/dist/domains/traces/trace-filters.es.js +1 -1
  500. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  501. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  502. package/dist/domains/traces.cjs.js +1 -1
  503. package/dist/domains/traces.es.js +1 -1
  504. package/dist/domains/workflows/components/workflow-combobox.cjs.js +2 -2
  505. package/dist/domains/workflows/components/workflow-combobox.es.js +2 -2
  506. package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
  507. package/dist/domains/workflows/components/workflow-information.es.js +2 -2
  508. package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
  509. package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
  510. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  511. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  512. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  513. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  514. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  515. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  516. package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
  517. package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
  518. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  519. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  520. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  521. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  522. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  523. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  524. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  525. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  526. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  527. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  528. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  529. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  530. package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
  531. package/dist/domains/workflows/workflow/utils.es.js +1 -1
  532. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  533. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  534. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  535. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  536. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  537. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  538. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  539. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  540. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  541. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  542. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  543. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  544. package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
  545. package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
  546. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  547. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  548. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  549. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  550. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  551. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  552. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
  553. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
  554. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
  555. package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
  556. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  557. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  558. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  559. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  560. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  561. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  562. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  563. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  564. package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
  565. package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
  566. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  567. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  568. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
  569. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
  570. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  571. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  572. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  573. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  574. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  575. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  576. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  577. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  578. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  579. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  580. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -3
  581. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +3 -3
  582. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  583. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  584. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  585. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  586. package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
  587. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  588. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  589. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  590. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  591. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  592. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  593. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  594. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  595. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  596. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  597. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  598. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
  599. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  600. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
  601. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  602. package/dist/ee/signals/examples-pager.es.js +1 -1
  603. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  604. package/dist/ee/signals/sankey-signals.es.js +1 -1
  605. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  606. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  607. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  608. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  609. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  610. package/dist/ee/signals/signals-error-state.es.js +1 -1
  611. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  612. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  613. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  614. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  615. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  616. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  617. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  618. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  619. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  620. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  621. package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-B4sV4gDm.js} +86 -71
  622. package/dist/filter-bar-chip-B4sV4gDm.js.map +1 -0
  623. package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-CIEsWcEw.cjs} +88 -79
  624. package/dist/filter-bar-chip-CIEsWcEw.cjs.map +1 -0
  625. package/dist/filter-bar-chip.css +22 -0
  626. package/dist/filter-bar-time-range-CXQMBgpz.js +60 -0
  627. package/dist/filter-bar-time-range-CXQMBgpz.js.map +1 -0
  628. package/dist/filter-bar-time-range-DvuaFnkI.cjs +83 -0
  629. package/dist/filter-bar-time-range-DvuaFnkI.cjs.map +1 -0
  630. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  631. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  632. package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
  633. package/dist/input-group-DVJLZDBL.cjs.map +1 -0
  634. package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
  635. package/dist/input-group-QKKV_ouF.js.map +1 -0
  636. package/dist/layout/tabbed-container.cjs.js +1 -1
  637. package/dist/layout/tabbed-container.es.js +1 -1
  638. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  639. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  640. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  641. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  642. package/dist/lib/form/components/date-field.cjs.js +1 -1
  643. package/dist/lib/form/components/date-field.es.js +1 -1
  644. package/dist/lib/form/components/error-message.cjs.js +1 -1
  645. package/dist/lib/form/components/error-message.es.js +1 -1
  646. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  647. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  648. package/dist/lib/form/components/record-field.cjs.js +1 -1
  649. package/dist/lib/form/components/record-field.es.js +1 -1
  650. package/dist/lib/form/components/select-field.cjs.js +1 -1
  651. package/dist/lib/form/components/select-field.es.js +1 -1
  652. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  653. package/dist/lib/form/components/submit-button.es.js +1 -1
  654. package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
  655. package/dist/list-search-BtRno5As.cjs.map +1 -0
  656. package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
  657. package/dist/list-search-CkhsTFdG.js.map +1 -0
  658. package/dist/{observability-saved-views-BNU3GkK6.cjs → observability-saved-views-BAzxxoAr.cjs} +3 -3
  659. package/dist/{observability-saved-views-BNU3GkK6.cjs.map → observability-saved-views-BAzxxoAr.cjs.map} +1 -1
  660. package/dist/{observability-saved-views-Zlz74syw.js → observability-saved-views-BBam8Fr5.js} +3 -3
  661. package/dist/{observability-saved-views-Zlz74syw.js.map → observability-saved-views-BBam8Fr5.js.map} +1 -1
  662. package/dist/primitives/control-icon.cjs.js +9 -0
  663. package/dist/primitives/control-icon.cjs.js.map +1 -0
  664. package/dist/primitives/control-icon.d.ts +1 -0
  665. package/dist/primitives/control-icon.es.js +8 -0
  666. package/dist/primitives/control-icon.es.js.map +1 -0
  667. package/dist/primitives/control-size.cjs.js +6 -0
  668. package/dist/primitives/control-size.cjs.js.map +1 -1
  669. package/dist/primitives/control-size.es.js +6 -1
  670. package/dist/primitives/control-size.es.js.map +1 -1
  671. package/dist/primitives/menu-item.cjs.js +3 -3
  672. package/dist/primitives/menu-item.cjs.js.map +1 -1
  673. package/dist/primitives/menu-item.es.js +3 -3
  674. package/dist/primitives/menu-item.es.js.map +1 -1
  675. package/dist/primitives/trigger-button.cjs.js +1 -1
  676. package/dist/primitives/trigger-button.es.js +1 -1
  677. package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BCeRLcXb.cjs} +18 -18
  678. package/dist/{property-filter-applied-DqsPFbYM.cjs.map → property-filter-applied-BCeRLcXb.cjs.map} +1 -1
  679. package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied-p3dTTDdb.js} +3 -3
  680. package/dist/{property-filter-applied-DRglaEj-.js.map → property-filter-applied-p3dTTDdb.js.map} +1 -1
  681. package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
  682. package/dist/select-BdIZEdcy.js.map +1 -0
  683. package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
  684. package/dist/select-Dg8L5ROX.cjs.map +1 -0
  685. package/dist/{span-payload-primitives-ChvD2RrN.js → span-payload-primitives-B3RdahsC.js} +3 -3
  686. package/dist/{span-payload-primitives-ChvD2RrN.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
  687. package/dist/{span-payload-primitives-w1vtAXAw.cjs → span-payload-primitives-_2d-pAOD.cjs} +3 -3
  688. package/dist/{span-payload-primitives-w1vtAXAw.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
  689. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
  690. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
  691. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  692. package/dist/src/domains/spans/span-filters.d.ts +1 -1
  693. package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
  694. package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
  695. package/dist/src/domains/threads/thread-filters.d.ts +1 -1
  696. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
  697. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
  698. package/dist/src/ds/components/Button/Button.d.ts +15 -0
  699. package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
  700. package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
  701. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
  702. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
  703. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
  704. package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
  705. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
  706. package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
  707. package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
  708. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
  709. package/dist/src/ds/primitives/control-icon.d.ts +3 -0
  710. package/dist/src/ds/primitives/control-size.d.ts +1 -0
  711. package/dist/style.css +118 -65
  712. package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-5j6dhoRX.js} +6 -6
  713. package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-5j6dhoRX.js.map} +1 -1
  714. package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-DQU7pVio.cjs} +6 -6
  715. package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-DQU7pVio.cjs.map} +1 -1
  716. package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
  717. package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
  718. package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
  719. package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
  720. package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
  721. package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
  722. package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
  723. package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
  724. package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
  725. package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
  726. package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
  727. package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
  728. package/dist/{tool-approval-Dfi0uAKU.cjs → tool-approval-1qiB4hhG.cjs} +4 -4
  729. package/dist/{tool-approval-Dfi0uAKU.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
  730. package/dist/{tool-approval-DHeCkWHT.js → tool-approval-B6MFcaKV.js} +4 -4
  731. package/dist/{tool-approval-DHeCkWHT.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
  732. package/dist/{tool-call-BCsDhIhs.cjs → tool-call-Bu66PkD-.cjs} +3 -3
  733. package/dist/{tool-call-BCsDhIhs.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
  734. package/dist/{tool-call-CILZa3tn.js → tool-call-Ch9-jjXU.js} +3 -3
  735. package/dist/{tool-call-CILZa3tn.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
  736. package/dist/{tool-card-CJ7Kxi-U.cjs → tool-card-DrqPZfPQ.cjs} +4 -4
  737. package/dist/{tool-card-CJ7Kxi-U.cjs.map → tool-card-DrqPZfPQ.cjs.map} +1 -1
  738. package/dist/{tool-card-C3sDFUWc.js → tool-card-sO6P2Qj4.js} +4 -4
  739. package/dist/{tool-card-C3sDFUWc.js.map → tool-card-sO6P2Qj4.js.map} +1 -1
  740. package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
  741. package/dist/trace-filters-CaWkw779.js.map +1 -0
  742. package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
  743. package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
  744. package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
  745. package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
  746. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
  747. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
  748. package/dist/utils/toast.cjs.js +1 -1
  749. package/dist/utils/toast.es.js +1 -1
  750. package/package.json +8 -8
  751. package/theme.css +4 -0
  752. package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
  753. package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
  754. package/dist/Button-Bw1e3ONi.js.map +0 -1
  755. package/dist/Button-YQRflC47.cjs.map +0 -1
  756. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
  757. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
  758. package/dist/FilterBar--4oguuVe.js.map +0 -1
  759. package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
  760. package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
  761. package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
  762. package/dist/components/ButtonsGroup.cjs.js.map +0 -1
  763. package/dist/components/ButtonsGroup.es.js.map +0 -1
  764. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
  765. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
  766. package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
  767. package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
  768. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
  769. package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
  770. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
  771. package/dist/input-group-g85FYfze.js.map +0 -1
  772. package/dist/input-group-uDpFNnSW.cjs.map +0 -1
  773. package/dist/list-search-BEJmYa9a.cjs.map +0 -1
  774. package/dist/list-search-bg7WzULj.js.map +0 -1
  775. package/dist/select-BbFpEBAY.js.map +0 -1
  776. package/dist/select-NySY9Men.cjs.map +0 -1
  777. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
  778. package/dist/trace-filters-BJaebsxJ.js.map +0 -1
  779. package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
@@ -5,7 +5,7 @@ let react_jsx_runtime = require("react/jsx-runtime");
5
5
  function ActionRowRoot({ className, ...props }) {
6
6
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
7
7
  "data-slot": "action-row",
8
- className: require_utils.cn("flex min-h-control-md flex-wrap items-center justify-between gap-2", className),
8
+ className: require_utils.cn("flex min-h-control-md flex-wrap items-center justify-between gap-1.5", className),
9
9
  ...props
10
10
  });
11
11
  }
@@ -13,7 +13,7 @@ function ActionRowRoot({ className, ...props }) {
13
13
  function ActionRowStart({ className, ...props }) {
14
14
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15
15
  "data-slot": "action-row-start",
16
- className: require_utils.cn("flex min-w-64 flex-1 flex-wrap items-center gap-2", className),
16
+ className: require_utils.cn("flex min-w-64 flex-1 flex-wrap items-center gap-1.5", className),
17
17
  ...props
18
18
  });
19
19
  }
@@ -21,7 +21,7 @@ function ActionRowStart({ className, ...props }) {
21
21
  function ActionRowEnd({ className, ...props }) {
22
22
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
23
23
  "data-slot": "action-row-end",
24
- className: require_utils.cn("ml-auto flex shrink-0 items-center gap-2", className),
24
+ className: require_utils.cn("ml-auto flex shrink-0 items-center gap-1.5", className),
25
25
  ...props
26
26
  });
27
27
  }
@@ -37,4 +37,4 @@ Object.defineProperty(exports, "ActionRow", {
37
37
  }
38
38
  });
39
39
 
40
- //# sourceMappingURL=ActionRow-BfK77pCT.cjs.map
40
+ //# sourceMappingURL=ActionRow-BlC9GAef.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRow-BlC9GAef.cjs","names":["cn"],"sources":["../src/ds/components/ActionRow/action-row.tsx","../src/ds/components/ActionRow/index.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\ntype DivProps = ComponentPropsWithoutRef<'div'>;\n\n/** One toolbar line: a start group and an end group pushed apart, wrapping on narrow viewports. */\nexport function ActionRowRoot({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row\"\n className={cn('flex min-h-control-md flex-wrap items-center justify-between gap-1.5', className)}\n {...props}\n />\n );\n}\n\n/** Actions positioned on the left. Grows to fill the line; keeps a floor so the end group wraps under it instead of squeezing it. */\nexport function ActionRowStart({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row-start\"\n className={cn('flex min-w-64 flex-1 flex-wrap items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\n/** Actions positioned on the right. Never shrinks; wraps under the start group when needed. */\nexport function ActionRowEnd({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row-end\"\n className={cn('ml-auto flex shrink-0 items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n","import { ActionRowEnd, ActionRowRoot, ActionRowStart } from './action-row';\n\nexport const ActionRow = Object.assign(ActionRowRoot, {\n Start: ActionRowStart,\n End: ActionRowEnd,\n});\n"],"mappings":";;;;AAOA,SAAgB,cAAc,EAAE,WAAW,GAAG,SAAmB;CAC/D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,WAAWA,cAAAA,GAAG,wEAAwE,SAAS;EAC/F,GAAI;CACL,CAAA;AAEL;;AAGA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAAmB;CAChE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,WAAWA,cAAAA,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAgB,aAAa,EAAE,WAAW,GAAG,SAAmB;CAC9D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,aAAU;EACV,WAAWA,cAAAA,GAAG,8CAA8C,SAAS;EACrE,GAAI;CACL,CAAA;AAEL;;ACnCA,IAAa,YAAY,OAAO,OAAO,eAAe;CACpD,OAAO;CACP,KAAK;AACP,CAAC"}
@@ -5,7 +5,7 @@ import { jsx } from "react/jsx-runtime";
5
5
  function ActionRowRoot({ className, ...props }) {
6
6
  return /* @__PURE__ */ jsx("div", {
7
7
  "data-slot": "action-row",
8
- className: cn("flex min-h-control-md flex-wrap items-center justify-between gap-2", className),
8
+ className: cn("flex min-h-control-md flex-wrap items-center justify-between gap-1.5", className),
9
9
  ...props
10
10
  });
11
11
  }
@@ -13,7 +13,7 @@ function ActionRowRoot({ className, ...props }) {
13
13
  function ActionRowStart({ className, ...props }) {
14
14
  return /* @__PURE__ */ jsx("div", {
15
15
  "data-slot": "action-row-start",
16
- className: cn("flex min-w-64 flex-1 flex-wrap items-center gap-2", className),
16
+ className: cn("flex min-w-64 flex-1 flex-wrap items-center gap-1.5", className),
17
17
  ...props
18
18
  });
19
19
  }
@@ -21,7 +21,7 @@ function ActionRowStart({ className, ...props }) {
21
21
  function ActionRowEnd({ className, ...props }) {
22
22
  return /* @__PURE__ */ jsx("div", {
23
23
  "data-slot": "action-row-end",
24
- className: cn("ml-auto flex shrink-0 items-center gap-2", className),
24
+ className: cn("ml-auto flex shrink-0 items-center gap-1.5", className),
25
25
  ...props
26
26
  });
27
27
  }
@@ -32,4 +32,4 @@ var ActionRow = Object.assign(ActionRowRoot, {
32
32
  });
33
33
  export { ActionRow as t };
34
34
 
35
- //# sourceMappingURL=ActionRow-Cd6tOC2K.js.map
35
+ //# sourceMappingURL=ActionRow-DCrRCvBq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRow-DCrRCvBq.js","names":[],"sources":["../src/ds/components/ActionRow/action-row.tsx","../src/ds/components/ActionRow/index.ts"],"sourcesContent":["import type { ComponentPropsWithoutRef } from 'react';\n\nimport { cn } from '@/lib/utils';\n\ntype DivProps = ComponentPropsWithoutRef<'div'>;\n\n/** One toolbar line: a start group and an end group pushed apart, wrapping on narrow viewports. */\nexport function ActionRowRoot({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row\"\n className={cn('flex min-h-control-md flex-wrap items-center justify-between gap-1.5', className)}\n {...props}\n />\n );\n}\n\n/** Actions positioned on the left. Grows to fill the line; keeps a floor so the end group wraps under it instead of squeezing it. */\nexport function ActionRowStart({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row-start\"\n className={cn('flex min-w-64 flex-1 flex-wrap items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\n/** Actions positioned on the right. Never shrinks; wraps under the start group when needed. */\nexport function ActionRowEnd({ className, ...props }: DivProps) {\n return (\n <div\n data-slot=\"action-row-end\"\n className={cn('ml-auto flex shrink-0 items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n","import { ActionRowEnd, ActionRowRoot, ActionRowStart } from './action-row';\n\nexport const ActionRow = Object.assign(ActionRowRoot, {\n Start: ActionRowStart,\n End: ActionRowEnd,\n});\n"],"mappings":";;;;AAOA,SAAgB,cAAc,EAAE,WAAW,GAAG,SAAmB;CAC/D,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,wEAAwE,SAAS;EAC/F,GAAI;CACL,CAAA;AAEL;;AAGA,SAAgB,eAAe,EAAE,WAAW,GAAG,SAAmB;CAChE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,uDAAuD,SAAS;EAC9E,GAAI;CACL,CAAA;AAEL;;AAGA,SAAgB,aAAa,EAAE,WAAW,GAAG,SAAmB;CAC9D,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,8CAA8C,SAAS;EACrE,GAAI;CACL,CAAA;AAEL;;ACnCA,IAAa,YAAY,OAAO,OAAO,eAAe;CACpD,OAAO;CACP,KAAK;AACP,CAAC"}
@@ -3,32 +3,33 @@ import { t as cva } from "./dist-BhWtUEhi.js";
3
3
  import { i as TooltipTrigger, n as TooltipContent, t as Tooltip } from "./tooltip-HzcLyGtV.js";
4
4
  import { iconSizeClasses } from "./icons/icon-size-classes.es.js";
5
5
  import { Icon } from "./icons/Icon.es.js";
6
- import { controlHeight, controlSizeClasses } from "./primitives/control-size.es.js";
6
+ import { controlIconState } from "./primitives/control-icon.es.js";
7
+ import { controlHeight, controlSizeClasses, controlSpacing } from "./primitives/control-size.es.js";
7
8
  import { controlFocusBorderVisible, raisedControlSurfaceStyle, sharedFormElementDisabledStyle } from "./primitives/form-element.es.js";
8
9
  import { controlStateColorTransition, focusRing, focusRingOffset } from "./primitives/transitions.es.js";
9
10
  import React from "react";
10
11
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
12
+ import { ChevronDown } from "lucide-react";
11
13
  import { Button } from "@base-ui/react/button";
12
14
  // src/ds/components/Button/Button.tsx
13
- var TEXT_MODE_ADORNMENTS = cn("rounded-full px-(--button-px)", "has-[>[data-slot=button-icon]]:pl-[calc(var(--button-px)-2px)] has-[>svg]:pl-[calc(var(--button-px)-2px)]", "has-[>[data-slot=button-icon-end]]:pr-[calc(var(--button-px)-2px)]");
15
+ var TEXT_MODE_ADORNMENTS = cn("rounded-full px-[calc(var(--control-px)-var(--control-border,0px))]", "has-[>[data-slot=button-icon]]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]", "has-[>svg]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]", "has-[>[data-slot=button-icon-end]]:pr-[calc(var(--control-px)-2px-var(--control-border,0px))]");
14
16
  var LINK_LAYOUT = cn("relative size-auto gap-1 rounded-xs px-0 text-label", "before:absolute before:-inset-x-2", "has-[>[data-slot=button-icon-end]]:pr-0 has-[>[data-slot=button-icon]]:pl-0 has-[>svg]:pl-0");
15
17
  var LINK_LABEL = cn("relative inline-flex items-center gap-1", iconSizeClasses.sm, "[&>svg]:shrink-0", "after:absolute after:inset-x-0 after:bottom-0 after:h-px after:origin-left after:scale-x-0 after:bg-current", "after:transition-transform after:duration-fast after:ease-out-custom motion-reduce:after:transition-none");
16
- var NEUTRAL_ICON_STATE = cn("[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground");
17
18
  var buttonVariants = cva(cn("inline-flex cursor-pointer items-center justify-center", controlStateColorTransition, sharedFormElementDisabledStyle, "aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground", controlFocusBorderVisible), {
18
19
  variants: {
19
20
  variant: {
20
- default: cn("border-0", raisedControlSurfaceStyle, NEUTRAL_ICON_STATE, "disabled:bg-fill-subtle aria-disabled:bg-fill-subtle"),
21
- primary: cn("border border-transparent bg-fill-inverse text-background not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active", focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75"),
22
- destructive: cn("border border-transparent bg-fill-destructive text-fill-destructive-foreground not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active", focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground"),
23
- "destructive-ghost": cn("border border-transparent bg-transparent text-destructive-foreground not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active", "disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder"),
24
- ghost: cn("border border-transparent bg-transparent text-muted-foreground not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill", "disabled:bg-transparent aria-disabled:bg-transparent"),
21
+ default: cn("border-0", raisedControlSurfaceStyle, controlIconState, "disabled:bg-fill-subtle aria-disabled:bg-fill-subtle"),
22
+ primary: cn("border border-transparent bg-fill-inverse text-background [--control-border:1px] not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active", focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75"),
23
+ destructive: cn("border border-transparent bg-fill-destructive text-fill-destructive-foreground [--control-border:1px] not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active", focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground"),
24
+ "destructive-ghost": cn("border border-transparent bg-transparent text-destructive-foreground [--control-border:1px] not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active", "disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder"),
25
+ ghost: cn("border border-transparent bg-transparent text-muted-foreground [--control-border:1px] not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill", controlIconState, "disabled:bg-transparent aria-disabled:bg-transparent"),
25
26
  subtle: cn("border-0 bg-fill-hover text-foreground not-disabled:hover:bg-fill-hover not-disabled:active:bg-fill", focusRing, "disabled:bg-transparent aria-disabled:bg-transparent"),
26
27
  link: cn("border-0 bg-transparent text-muted-foreground not-disabled:hover:text-foreground", "not-disabled:hover:[&>[data-slot=button-label]]:after:scale-x-100 not-disabled:hover:[&>[data-slot=button-label]]:after:duration-normal", focusRingOffset, "disabled:text-placeholder aria-disabled:text-placeholder")
27
28
  },
28
29
  size: {
29
- sm: cn(controlSizeClasses.sm, iconSizeClasses.sm, "gap-1 [--button-px:.9em]", TEXT_MODE_ADORNMENTS),
30
- md: cn(controlSizeClasses.md, iconSizeClasses.md, "gap-1.5 [--button-px:.9em]", TEXT_MODE_ADORNMENTS),
31
- lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, "gap-1.5 [--button-px:1em]", TEXT_MODE_ADORNMENTS),
30
+ sm: cn(controlSizeClasses.sm, iconSizeClasses.sm, controlSpacing.sm, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
31
+ md: cn(controlSizeClasses.md, iconSizeClasses.md, controlSpacing.md, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
32
+ lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, controlSpacing.lg, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
32
33
  "icon-sm": cn(controlHeight.sm, "w-control-sm rounded-full"),
33
34
  "icon-md": cn(controlHeight.md, "w-control-md rounded-full"),
34
35
  "icon-lg": cn(controlHeight.lg, "w-control-lg rounded-full")
@@ -81,6 +82,34 @@ function adornmentIconSize(variant, size) {
81
82
  if (variant === "link") return "sm";
82
83
  return iconSizeMap[size];
83
84
  }
85
+ /** A trigger's leading icon. */
86
+ function ButtonIcon({ size, children }) {
87
+ return /* @__PURE__ */ jsx(ButtonAdornment, {
88
+ slot: "button-icon",
89
+ size: iconSizeMap[size],
90
+ children
91
+ });
92
+ }
93
+ /**
94
+ * The down chevron of a trigger that opens a list; static, it does not turn while open. Lucide's
95
+ * chevron ink spans the middle half of its box, twice a regular icon's inset, so it pulls in by
96
+ * 1/8em on each side to sit where a regular icon's ink would. Pass it as a Button's `iconEnd`.
97
+ */
98
+ function TriggerChevron() {
99
+ return /* @__PURE__ */ jsx(ChevronDown, {
100
+ "aria-hidden": true,
101
+ "data-slot": "trigger-chevron",
102
+ className: "mx-[-0.125em] shrink-0"
103
+ });
104
+ }
105
+ /** The trigger chevron in a Button's end slot. */
106
+ function ButtonChevron({ size }) {
107
+ return /* @__PURE__ */ jsx(ButtonAdornment, {
108
+ slot: "button-icon-end",
109
+ size: iconSizeMap[size],
110
+ children: /* @__PURE__ */ jsx(TriggerChevron, {})
111
+ });
112
+ }
84
113
  function ButtonAdornment({ slot, size, children }) {
85
114
  if (!children) return void 0;
86
115
  return /* @__PURE__ */ jsx(Icon, {
@@ -199,6 +228,6 @@ var Button$1 = React.forwardRef(({ className, render, as: asProp, href, to, targ
199
228
  return button;
200
229
  });
201
230
  Button$1.displayName = "Button";
202
- export { isIconButtonSize as i, ButtonLabel as n, buttonVariants as r, Button$1 as t };
231
+ export { TriggerChevron as a, ButtonLabel as i, ButtonChevron as n, buttonVariants as o, ButtonIcon as r, isIconButtonSize as s, Button$1 as t };
203
232
 
204
- //# sourceMappingURL=Button-Bw1e3ONi.js.map
233
+ //# sourceMappingURL=Button-CLXTbAY8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-CLXTbAY8.js","names":["Button","_Fragment","BaseButton"],"sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown } from 'lucide-react';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip/tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses } from '@/ds/icons/icon-size-classes';\nimport type { IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlIconState } from '@/ds/primitives/control-icon';\nimport { controlHeight, controlSizeClasses, controlSpacing } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRing, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Text-mode buttons are pills. Each size takes `--control-px` (the label's side padding) and\n// `--control-gap` from `controlSpacing`, shared with every other pill control. The\n// icon side gets 2px less, because a glyph draws inside its box: the icon then reads as far\n// from the edge as the label does (shadcn's Button uses the same 2px step).\n// - `[data-slot=button-icon(-end)]`: the `<Icon>` wrappers the `icon` / `iconEnd` props render.\n// - `>svg`: a bare SVG passed as a leading child, before the label.\n// A button with no label takes an icon-mode size instead: a fixed square with its own\n// `rounded-full`, so it reads as a circle rather than a padded pill (lint rule\n// `mastra/icon-button-size`).\n// Insets are measured from the outer edge, border included: a variant with a real border (or a\n// segment a ButtonsGroup gives one) sets `--control-border` and the padding gives that width\n// back, so its label sits where a borderless `default` button's does.\nconst TEXT_MODE_ADORNMENTS = cn(\n 'rounded-full px-[calc(var(--control-px)-var(--control-border,0px))]',\n 'has-[>[data-slot=button-icon]]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n 'has-[>svg]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n 'has-[>[data-slot=button-icon-end]]:pr-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n);\n\nconst LINK_LAYOUT = cn(\n 'relative size-auto gap-1 rounded-xs px-0 text-label',\n 'before:absolute before:-inset-x-2',\n 'has-[>[data-slot=button-icon-end]]:pr-0 has-[>[data-slot=button-icon]]:pl-0 has-[>svg]:pl-0',\n);\n\nconst LINK_LABEL = cn(\n 'relative inline-flex items-center gap-1',\n iconSizeClasses.sm,\n '[&>svg]:shrink-0',\n 'after:absolute after:inset-x-0 after:bottom-0 after:h-px after:origin-left after:scale-x-0 after:bg-current',\n 'after:transition-transform after:duration-fast after:ease-out-custom motion-reduce:after:transition-none',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center',\n controlStateColorTransition,\n sharedFormElementDisabledStyle,\n 'aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground',\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n // The raised card material, the same one a field wears: a neutral filled control is\n // one material system-wide. No border of its own — the material's rim is its edge,\n // and focus repaints that rim. Inside a ButtonsGroup the group flattens the rim and\n // hands every segment the same 1px border instead (see `buttons-group.css`).\n default: cn(\n 'border-0',\n raisedControlSurfaceStyle,\n controlIconState,\n 'disabled:bg-fill-subtle aria-disabled:bg-fill-subtle',\n ),\n // Filled variants take the opaque ladder: their rest fill is a colour, not a rung\n // layered on the surface, so a state that thinned it would let whatever the button\n // covers read through the hover it is meant to answer. Their glyph colour carries the\n // meaning, so they keep it with the label instead of taking `controlIconState`.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background [--control-border:1px] not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75',\n ),\n destructive: cn(\n 'border border-transparent bg-fill-destructive text-fill-destructive-foreground [--control-border:1px] not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground',\n ),\n 'destructive-ghost': cn(\n 'border border-transparent bg-transparent text-destructive-foreground [--control-border:1px] not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active',\n 'disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder',\n ),\n ghost: cn(\n 'border border-transparent bg-transparent text-muted-foreground [--control-border:1px] not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\n controlIconState,\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n // A persistent neutral fill for selected controls. Match default's borderless\n // box so switching between the raised and subtle surfaces keeps labels in place.\n subtle: cn(\n 'border-0 bg-fill-hover text-foreground not-disabled:hover:bg-fill-hover not-disabled:active:bg-fill',\n focusRing,\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n link: cn(\n 'border-0 bg-transparent text-muted-foreground not-disabled:hover:text-foreground',\n 'not-disabled:hover:[&>[data-slot=button-label]]:after:scale-x-100 not-disabled:hover:[&>[data-slot=button-label]]:after:duration-normal',\n focusRingOffset,\n 'disabled:text-placeholder aria-disabled:text-placeholder',\n ),\n },\n size: {\n sm: cn(\n controlSizeClasses.sm,\n iconSizeClasses.sm,\n controlSpacing.sm,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n md: cn(\n controlSizeClasses.md,\n iconSizeClasses.md,\n controlSpacing.md,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n lg: cn(\n controlSizeClasses.lg,\n iconSizeClasses.lg,\n controlSpacing.lg,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // so icon-mode and text-mode use the same press feedback. The glyph is sized by the `Icon`\n // wrapper the component puts around an icon-mode child, keyed off the same scale.\n 'icon-sm': cn(controlHeight.sm, 'w-control-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-control-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-control-lg rounded-full'),\n },\n },\n compoundVariants: [\n { variant: 'link', className: LINK_LAYOUT },\n { variant: 'link', size: ['sm', 'md', 'icon-sm', 'icon-md'], className: 'before:-inset-y-1' },\n { variant: 'link', size: ['lg', 'icon-lg'], className: 'before:-inset-y-1.5' },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n render?: BaseButton.Props['render'];\n className?: string;\n children: React.ReactNode;\n /** Leading icon, always rendered on the left of the label inside `<Icon>`. Ignored in icon-mode sizes. */\n icon?: React.ReactNode;\n iconEnd?: React.ReactNode;\n tooltip?: React.ReactNode;\n /** Side of the trigger the tooltip opens on. Defaults to `top`. */\n tooltipPosition?: 'top' | 'right' | 'bottom' | 'left';\n /** @deprecated Pass the element through `render` instead: `render={<Link href=\"/x\" />}`. */\n as?: React.ElementType;\n /** @deprecated Set it on the element passed to `render`. */\n href?: string;\n /** @deprecated Set it on the element passed to `render`. */\n to?: string;\n /** @deprecated Set it on the element passed to `render`. */\n target?: string;\n /** @deprecated Set it on the element passed to `render`. */\n prefetch?: boolean | null;\n}\n\n// A link is not a button. `render` always entered `BaseButton`, which warns in\n// development when the resolved element is not a native button. `nativeButton={false}`\n// is the worse fix: Base UI then adds `role=\"button\"` and Enter/Space handling, so a\n// screen reader announces a link as a button. Render links directly instead and keep\n// `BaseButton` for real buttons.\nfunction isLinkElement(\n element: React.ReactElement,\n): element is React.ReactElement<{ href?: unknown; to?: unknown; className?: string }> {\n if (element.type === 'a') return true;\n const { href, to } = element.props as { href?: unknown; to?: unknown };\n return href !== undefined || to !== undefined;\n}\n\nfunction preventLinkActivation(event: React.SyntheticEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\ntype LinkRenderProps = { href?: string; to?: string; target?: string; className?: string };\n\n// One icon step per control step: a glyph is sized by the rung it sits in, so the\n// same nominal size renders the same icon whether it arrives as an icon-mode child,\n// the `icon` prop, or a bare SVG.\nconst iconSizeMap: Record<ButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n 'icon-sm': 'sm',\n 'icon-md': 'md',\n 'icon-lg': 'lg',\n};\n\nfunction adornmentIconSize(variant: ButtonVariant, size: ButtonSize): IconSize {\n if (variant === 'link') return 'sm';\n return iconSizeMap[size];\n}\n\n/*\n * Adornments for triggers that take the Button recipe without the Button component (Select,\n * Combobox). They sit in the same slots as a Button's `icon` and `iconEnd`, so every trigger's\n * leading icon and chevron share one size and one inset from the edge.\n */\n\n/** A trigger's leading icon. */\nexport function ButtonIcon({ size, children }: { size: ButtonSize; children: React.ReactNode }) {\n return (\n <ButtonAdornment slot=\"button-icon\" size={iconSizeMap[size]}>\n {children}\n </ButtonAdornment>\n );\n}\n\n/**\n * The down chevron of a trigger that opens a list; static, it does not turn while open. Lucide's\n * chevron ink spans the middle half of its box, twice a regular icon's inset, so it pulls in by\n * 1/8em on each side to sit where a regular icon's ink would. Pass it as a Button's `iconEnd`.\n */\nexport function TriggerChevron() {\n return <ChevronDown aria-hidden data-slot=\"trigger-chevron\" className=\"mx-[-0.125em] shrink-0\" />;\n}\n\n/** The trigger chevron in a Button's end slot. */\nexport function ButtonChevron({ size }: { size: ButtonSize }) {\n return (\n <ButtonAdornment slot=\"button-icon-end\" size={iconSizeMap[size]}>\n <TriggerChevron />\n </ButtonAdornment>\n );\n}\n\nfunction ButtonAdornment({ slot, size, children }: { slot: string; size: IconSize; children: React.ReactNode }) {\n if (!children) return undefined;\n return (\n <Icon data-slot={slot} size={size}>\n {children}\n </Icon>\n );\n}\n\nexport function ButtonLabel({ variant, children }: { variant: ButtonVariant; children: React.ReactNode }) {\n if (variant !== 'link') return children;\n return (\n <span data-slot=\"button-label\" className={LINK_LABEL}>\n {children}\n </span>\n );\n}\n\n// True when every child is an element (no label text). A text-sized button can still hold\n// only an icon when its size is forwarded from a wrapper, and it then needs a name too.\n// `<></>` fragments are expanded first: `<><svg />Save</>` has a label.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(children).flatMap(child =>\n React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment\n ? flattenChildren(child.props.children)\n : [child],\n );\n}\n\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize`, so an icon-mode button can be\n// told from a text-mode one without a cast.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with Combobox's icon-only trigger\nexport function isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return size?.startsWith('icon-') ?? false;\n}\n\nexport const Button = React.forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n render,\n as: asProp,\n href,\n to,\n target,\n prefetch,\n size,\n variant = 'default',\n disabled,\n children,\n icon,\n iconEnd,\n tooltip,\n tooltipPosition,\n 'aria-label': ariaLabelProp,\n type,\n ...props\n },\n ref,\n ) => {\n const iconMode = variant !== 'link' && isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const resolvedVariant: ButtonVariant = variant ?? 'default';\n const adornmentSize = adornmentIconSize(resolvedVariant, resolvedSize);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel =\n ariaLabelProp ?? ((iconMode || isIconOnly(children)) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? (\n <Icon size={iconSizeMap[resolvedSize]}>{children}</Icon>\n ) : (\n <>\n <ButtonAdornment slot=\"button-icon\" size={adornmentSize}>\n {icon}\n </ButtonAdornment>\n <ButtonLabel variant={resolvedVariant}>{children}</ButtonLabel>\n <ButtonAdornment slot=\"button-icon-end\" size={adornmentSize}>\n {iconEnd}\n </ButtonAdornment>\n </>\n );\n\n const sharedProps = {\n disabled,\n // Base UI renders `type=\"button\"` when the prop is absent, which would quietly stop\n // a form button that relied on the native `submit` default from submitting. Passing\n // it through, `undefined` included, keeps native semantics: absent stays absent.\n type,\n 'aria-label': ariaLabel,\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.css).\n 'data-variant': variant,\n // Icon-mode is a square: a group that overrides the rung has to move the width with\n // the height or the circle turns into a pill (see buttons-group.css).\n 'data-shape': iconMode ? 'icon' : undefined,\n className: cn(buttonVariants({ variant, size: resolvedSize }), className),\n ...props,\n };\n\n // The deprecated `as` API keeps its original element path rather than going through\n // Base UI. Routing it through `render` drops props Base UI does not know about — a\n // router link loses its `to` and stops navigating — and Base UI warns that a\n // non-<button> contradicts `nativeButton`.\n const LegacyComponent = render ? undefined : asProp;\n\n // Only forward what the caller actually set. Passing `href={undefined}` through to a\n // router link overwrites the href that link derives from `to`, leaving an anchor that\n // renders correctly and navigates nowhere.\n const legacyLinkProps = {\n ...(href === undefined ? null : { href }),\n ...(to === undefined ? null : { to }),\n ...(target === undefined ? null : { target }),\n ...(prefetch === undefined ? null : { prefetch }),\n };\n\n const isLinkVariant = resolvedVariant === 'link';\n const linkHref = href ?? to;\n const linkRenderProps: LinkRenderProps = {\n ...(linkHref === undefined ? null : { href: linkHref }),\n ...(target === undefined ? null : { target }),\n };\n const renderedLink =\n React.isValidElement(render) && isLinkElement(render)\n ? render\n : isLinkVariant\n ? React.createElement('a', linkRenderProps)\n : undefined;\n const renderedLinkProps = renderedLink?.props;\n const disabledHref = renderedLink?.type !== 'a' && renderedLinkProps?.href !== undefined ? '' : undefined;\n const disabledTo = renderedLinkProps?.to !== undefined ? '' : undefined;\n const disabledLinkProps = disabled\n ? {\n ...(isLinkVariant ? null : { href: disabledHref }),\n ...(isLinkVariant ? null : { to: disabledTo }),\n 'aria-disabled': true,\n onClick: preventLinkActivation,\n onAuxClick: preventLinkActivation,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') preventLinkActivation(event);\n },\n }\n : undefined;\n\n const button = LegacyComponent ? (\n <LegacyComponent ref={ref} {...legacyLinkProps} {...sharedProps}>\n {content}\n </LegacyComponent>\n ) : renderedLink ? (\n React.cloneElement(renderedLink as React.ReactElement<Record<string, unknown>>, {\n ref,\n ...sharedProps,\n disabled: undefined,\n ...disabledLinkProps,\n className: cn(sharedProps.className, renderedLink.props.className),\n children: content,\n })\n ) : (\n <BaseButton ref={ref} render={render} {...sharedProps}>\n {content}\n </BaseButton>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={tooltipPosition}>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"mappings":"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"}
@@ -4,33 +4,34 @@ const require_dist = require("./dist-ClDKPtVq.cjs");
4
4
  const require_tooltip = require("./tooltip-BiRLT3Th.cjs");
5
5
  const require_icons_icon_size_classes = require("./icons/icon-size-classes.cjs.js");
6
6
  const require_icons_Icon = require("./icons/Icon.cjs.js");
7
+ const require_primitives_control_icon = require("./primitives/control-icon.cjs.js");
7
8
  const require_primitives_control_size = require("./primitives/control-size.cjs.js");
8
9
  const require_primitives_form_element = require("./primitives/form-element.cjs.js");
9
10
  const require_primitives_transitions = require("./primitives/transitions.cjs.js");
10
11
  let react = require("react");
11
12
  react = require_rolldown_runtime.__toESM(react, 1);
12
13
  let react_jsx_runtime = require("react/jsx-runtime");
14
+ let lucide_react = require("lucide-react");
13
15
  let _base_ui_react_button = require("@base-ui/react/button");
14
16
  // src/ds/components/Button/Button.tsx
15
- var TEXT_MODE_ADORNMENTS = require_utils.cn("rounded-full px-(--button-px)", "has-[>[data-slot=button-icon]]:pl-[calc(var(--button-px)-2px)] has-[>svg]:pl-[calc(var(--button-px)-2px)]", "has-[>[data-slot=button-icon-end]]:pr-[calc(var(--button-px)-2px)]");
17
+ var TEXT_MODE_ADORNMENTS = require_utils.cn("rounded-full px-[calc(var(--control-px)-var(--control-border,0px))]", "has-[>[data-slot=button-icon]]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]", "has-[>svg]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]", "has-[>[data-slot=button-icon-end]]:pr-[calc(var(--control-px)-2px-var(--control-border,0px))]");
16
18
  var LINK_LAYOUT = require_utils.cn("relative size-auto gap-1 rounded-xs px-0 text-label", "before:absolute before:-inset-x-2", "has-[>[data-slot=button-icon-end]]:pr-0 has-[>[data-slot=button-icon]]:pl-0 has-[>svg]:pl-0");
17
19
  var LINK_LABEL = require_utils.cn("relative inline-flex items-center gap-1", require_icons_icon_size_classes.iconSizeClasses.sm, "[&>svg]:shrink-0", "after:absolute after:inset-x-0 after:bottom-0 after:h-px after:origin-left after:scale-x-0 after:bg-current", "after:transition-transform after:duration-fast after:ease-out-custom motion-reduce:after:transition-none");
18
- var NEUTRAL_ICON_STATE = require_utils.cn("[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground");
19
20
  var buttonVariants = require_dist.cva(require_utils.cn("inline-flex cursor-pointer items-center justify-center", require_primitives_transitions.controlStateColorTransition, require_primitives_form_element.sharedFormElementDisabledStyle, "aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground", require_primitives_form_element.controlFocusBorderVisible), {
20
21
  variants: {
21
22
  variant: {
22
- default: require_utils.cn("border-0", require_primitives_form_element.raisedControlSurfaceStyle, NEUTRAL_ICON_STATE, "disabled:bg-fill-subtle aria-disabled:bg-fill-subtle"),
23
- primary: require_utils.cn("border border-transparent bg-fill-inverse text-background not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active", require_primitives_transitions.focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75"),
24
- destructive: require_utils.cn("border border-transparent bg-fill-destructive text-fill-destructive-foreground not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active", require_primitives_transitions.focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground"),
25
- "destructive-ghost": require_utils.cn("border border-transparent bg-transparent text-destructive-foreground not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active", "disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder"),
26
- ghost: require_utils.cn("border border-transparent bg-transparent text-muted-foreground not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill", "disabled:bg-transparent aria-disabled:bg-transparent"),
23
+ default: require_utils.cn("border-0", require_primitives_form_element.raisedControlSurfaceStyle, require_primitives_control_icon.controlIconState, "disabled:bg-fill-subtle aria-disabled:bg-fill-subtle"),
24
+ primary: require_utils.cn("border border-transparent bg-fill-inverse text-background [--control-border:1px] not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active", require_primitives_transitions.focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75"),
25
+ destructive: require_utils.cn("border border-transparent bg-fill-destructive text-fill-destructive-foreground [--control-border:1px] not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active", require_primitives_transitions.focusRingOffset, "focus-visible:border-transparent", "disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground"),
26
+ "destructive-ghost": require_utils.cn("border border-transparent bg-transparent text-destructive-foreground [--control-border:1px] not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active", "disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder"),
27
+ ghost: require_utils.cn("border border-transparent bg-transparent text-muted-foreground [--control-border:1px] not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill", require_primitives_control_icon.controlIconState, "disabled:bg-transparent aria-disabled:bg-transparent"),
27
28
  subtle: require_utils.cn("border-0 bg-fill-hover text-foreground not-disabled:hover:bg-fill-hover not-disabled:active:bg-fill", require_primitives_transitions.focusRing, "disabled:bg-transparent aria-disabled:bg-transparent"),
28
29
  link: require_utils.cn("border-0 bg-transparent text-muted-foreground not-disabled:hover:text-foreground", "not-disabled:hover:[&>[data-slot=button-label]]:after:scale-x-100 not-disabled:hover:[&>[data-slot=button-label]]:after:duration-normal", require_primitives_transitions.focusRingOffset, "disabled:text-placeholder aria-disabled:text-placeholder")
29
30
  },
30
31
  size: {
31
- sm: require_utils.cn(require_primitives_control_size.controlSizeClasses.sm, require_icons_icon_size_classes.iconSizeClasses.sm, "gap-1 [--button-px:.9em]", TEXT_MODE_ADORNMENTS),
32
- md: require_utils.cn(require_primitives_control_size.controlSizeClasses.md, require_icons_icon_size_classes.iconSizeClasses.md, "gap-1.5 [--button-px:.9em]", TEXT_MODE_ADORNMENTS),
33
- lg: require_utils.cn(require_primitives_control_size.controlSizeClasses.lg, require_icons_icon_size_classes.iconSizeClasses.lg, "gap-1.5 [--button-px:1em]", TEXT_MODE_ADORNMENTS),
32
+ sm: require_utils.cn(require_primitives_control_size.controlSizeClasses.sm, require_icons_icon_size_classes.iconSizeClasses.sm, require_primitives_control_size.controlSpacing.sm, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
33
+ md: require_utils.cn(require_primitives_control_size.controlSizeClasses.md, require_icons_icon_size_classes.iconSizeClasses.md, require_primitives_control_size.controlSpacing.md, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
34
+ lg: require_utils.cn(require_primitives_control_size.controlSizeClasses.lg, require_icons_icon_size_classes.iconSizeClasses.lg, require_primitives_control_size.controlSpacing.lg, "gap-(--control-gap)", TEXT_MODE_ADORNMENTS),
34
35
  "icon-sm": require_utils.cn(require_primitives_control_size.controlHeight.sm, "w-control-sm rounded-full"),
35
36
  "icon-md": require_utils.cn(require_primitives_control_size.controlHeight.md, "w-control-md rounded-full"),
36
37
  "icon-lg": require_utils.cn(require_primitives_control_size.controlHeight.lg, "w-control-lg rounded-full")
@@ -83,6 +84,34 @@ function adornmentIconSize(variant, size) {
83
84
  if (variant === "link") return "sm";
84
85
  return iconSizeMap[size];
85
86
  }
87
+ /** A trigger's leading icon. */
88
+ function ButtonIcon({ size, children }) {
89
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ButtonAdornment, {
90
+ slot: "button-icon",
91
+ size: iconSizeMap[size],
92
+ children
93
+ });
94
+ }
95
+ /**
96
+ * The down chevron of a trigger that opens a list; static, it does not turn while open. Lucide's
97
+ * chevron ink spans the middle half of its box, twice a regular icon's inset, so it pulls in by
98
+ * 1/8em on each side to sit where a regular icon's ink would. Pass it as a Button's `iconEnd`.
99
+ */
100
+ function TriggerChevron() {
101
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDown, {
102
+ "aria-hidden": true,
103
+ "data-slot": "trigger-chevron",
104
+ className: "mx-[-0.125em] shrink-0"
105
+ });
106
+ }
107
+ /** The trigger chevron in a Button's end slot. */
108
+ function ButtonChevron({ size }) {
109
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ButtonAdornment, {
110
+ slot: "button-icon-end",
111
+ size: iconSizeMap[size],
112
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerChevron, {})
113
+ });
114
+ }
86
115
  function ButtonAdornment({ slot, size, children }) {
87
116
  if (!children) return void 0;
88
117
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons_Icon.Icon, {
@@ -207,12 +236,30 @@ Object.defineProperty(exports, "Button", {
207
236
  return Button;
208
237
  }
209
238
  });
239
+ Object.defineProperty(exports, "ButtonChevron", {
240
+ enumerable: true,
241
+ get: function() {
242
+ return ButtonChevron;
243
+ }
244
+ });
245
+ Object.defineProperty(exports, "ButtonIcon", {
246
+ enumerable: true,
247
+ get: function() {
248
+ return ButtonIcon;
249
+ }
250
+ });
210
251
  Object.defineProperty(exports, "ButtonLabel", {
211
252
  enumerable: true,
212
253
  get: function() {
213
254
  return ButtonLabel;
214
255
  }
215
256
  });
257
+ Object.defineProperty(exports, "TriggerChevron", {
258
+ enumerable: true,
259
+ get: function() {
260
+ return TriggerChevron;
261
+ }
262
+ });
216
263
  Object.defineProperty(exports, "buttonVariants", {
217
264
  enumerable: true,
218
265
  get: function() {
@@ -226,4 +273,4 @@ Object.defineProperty(exports, "isIconButtonSize", {
226
273
  }
227
274
  });
228
275
 
229
- //# sourceMappingURL=Button-YQRflC47.cjs.map
276
+ //# sourceMappingURL=Button-DLcMcuUL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-DLcMcuUL.cjs","names":["cn","iconSizeClasses","cva","controlStateColorTransition","sharedFormElementDisabledStyle","controlFocusBorderVisible","raisedControlSurfaceStyle","controlIconState","focusRingOffset","focusRing","controlSizeClasses","controlSpacing","controlHeight","ChevronDown","Icon","React","_Fragment","BaseButton","Tooltip","TooltipTrigger","TooltipContent"],"sources":["../src/ds/components/Button/Button.tsx"],"sourcesContent":["import { Button as BaseButton } from '@base-ui/react/button';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { ChevronDown } from 'lucide-react';\nimport React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip/tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses } from '@/ds/icons/icon-size-classes';\nimport type { IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlIconState } from '@/ds/primitives/control-icon';\nimport { controlHeight, controlSizeClasses, controlSpacing } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRing, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Text-mode buttons are pills. Each size takes `--control-px` (the label's side padding) and\n// `--control-gap` from `controlSpacing`, shared with every other pill control. The\n// icon side gets 2px less, because a glyph draws inside its box: the icon then reads as far\n// from the edge as the label does (shadcn's Button uses the same 2px step).\n// - `[data-slot=button-icon(-end)]`: the `<Icon>` wrappers the `icon` / `iconEnd` props render.\n// - `>svg`: a bare SVG passed as a leading child, before the label.\n// A button with no label takes an icon-mode size instead: a fixed square with its own\n// `rounded-full`, so it reads as a circle rather than a padded pill (lint rule\n// `mastra/icon-button-size`).\n// Insets are measured from the outer edge, border included: a variant with a real border (or a\n// segment a ButtonsGroup gives one) sets `--control-border` and the padding gives that width\n// back, so its label sits where a borderless `default` button's does.\nconst TEXT_MODE_ADORNMENTS = cn(\n 'rounded-full px-[calc(var(--control-px)-var(--control-border,0px))]',\n 'has-[>[data-slot=button-icon]]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n 'has-[>svg]:pl-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n 'has-[>[data-slot=button-icon-end]]:pr-[calc(var(--control-px)-2px-var(--control-border,0px))]',\n);\n\nconst LINK_LAYOUT = cn(\n 'relative size-auto gap-1 rounded-xs px-0 text-label',\n 'before:absolute before:-inset-x-2',\n 'has-[>[data-slot=button-icon-end]]:pr-0 has-[>[data-slot=button-icon]]:pl-0 has-[>svg]:pl-0',\n);\n\nconst LINK_LABEL = cn(\n 'relative inline-flex items-center gap-1',\n iconSizeClasses.sm,\n '[&>svg]:shrink-0',\n 'after:absolute after:inset-x-0 after:bottom-0 after:h-px after:origin-left after:scale-x-0 after:bg-current',\n 'after:transition-transform after:duration-fast after:ease-out-custom motion-reduce:after:transition-none',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- exported variant helper is part of Button's public API\nexport const buttonVariants = cva(\n cn(\n 'inline-flex cursor-pointer items-center justify-center',\n controlStateColorTransition,\n sharedFormElementDisabledStyle,\n 'aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:text-muted-foreground',\n controlFocusBorderVisible,\n ),\n {\n variants: {\n variant: {\n // The raised card material, the same one a field wears: a neutral filled control is\n // one material system-wide. No border of its own — the material's rim is its edge,\n // and focus repaints that rim. Inside a ButtonsGroup the group flattens the rim and\n // hands every segment the same 1px border instead (see `buttons-group.css`).\n default: cn(\n 'border-0',\n raisedControlSurfaceStyle,\n controlIconState,\n 'disabled:bg-fill-subtle aria-disabled:bg-fill-subtle',\n ),\n // Filled variants take the opaque ladder: their rest fill is a colour, not a rung\n // layered on the surface, so a state that thinned it would let whatever the button\n // covers read through the hover it is meant to answer. Their glyph colour carries the\n // meaning, so they keep it with the label instead of taking `controlIconState`.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background [--control-border:1px] not-disabled:hover:bg-fill-inverse-hover not-disabled:active:bg-fill-inverse-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-inverse-disabled disabled:text-background/75 aria-disabled:bg-fill-inverse-disabled aria-disabled:text-background/75',\n ),\n destructive: cn(\n 'border border-transparent bg-fill-destructive text-fill-destructive-foreground [--control-border:1px] not-disabled:hover:bg-fill-destructive-hover not-disabled:active:bg-fill-destructive-active',\n focusRingOffset,\n 'focus-visible:border-transparent',\n 'disabled:bg-fill-destructive-disabled disabled:text-fill-destructive-disabled-foreground aria-disabled:bg-fill-destructive-disabled aria-disabled:text-fill-destructive-disabled-foreground',\n ),\n 'destructive-ghost': cn(\n 'border border-transparent bg-transparent text-destructive-foreground [--control-border:1px] not-disabled:hover:bg-destructive-subtle not-disabled:hover:text-destructive-foreground not-disabled:active:bg-destructive-subtle-active',\n 'disabled:bg-transparent disabled:text-placeholder aria-disabled:bg-transparent aria-disabled:text-placeholder',\n ),\n ghost: cn(\n 'border border-transparent bg-transparent text-muted-foreground [--control-border:1px] not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\n controlIconState,\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n // A persistent neutral fill for selected controls. Match default's borderless\n // box so switching between the raised and subtle surfaces keeps labels in place.\n subtle: cn(\n 'border-0 bg-fill-hover text-foreground not-disabled:hover:bg-fill-hover not-disabled:active:bg-fill',\n focusRing,\n 'disabled:bg-transparent aria-disabled:bg-transparent',\n ),\n link: cn(\n 'border-0 bg-transparent text-muted-foreground not-disabled:hover:text-foreground',\n 'not-disabled:hover:[&>[data-slot=button-label]]:after:scale-x-100 not-disabled:hover:[&>[data-slot=button-label]]:after:duration-normal',\n focusRingOffset,\n 'disabled:text-placeholder aria-disabled:text-placeholder',\n ),\n },\n size: {\n sm: cn(\n controlSizeClasses.sm,\n iconSizeClasses.sm,\n controlSpacing.sm,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n md: cn(\n controlSizeClasses.md,\n iconSizeClasses.md,\n controlSpacing.md,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n lg: cn(\n controlSizeClasses.lg,\n iconSizeClasses.lg,\n controlSpacing.lg,\n 'gap-(--control-gap)',\n TEXT_MODE_ADORNMENTS,\n ),\n // Icon sizes: square dimensions, fully rounded → circle. Active state inherits from variant\n // so icon-mode and text-mode use the same press feedback. The glyph is sized by the `Icon`\n // wrapper the component puts around an icon-mode child, keyed off the same scale.\n 'icon-sm': cn(controlHeight.sm, 'w-control-sm rounded-full'),\n 'icon-md': cn(controlHeight.md, 'w-control-md rounded-full'),\n 'icon-lg': cn(controlHeight.lg, 'w-control-lg rounded-full'),\n },\n },\n compoundVariants: [\n { variant: 'link', className: LINK_LAYOUT },\n { variant: 'link', size: ['sm', 'md', 'icon-sm', 'icon-md'], className: 'before:-inset-y-1' },\n { variant: 'link', size: ['lg', 'icon-lg'], className: 'before:-inset-y-1.5' },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n },\n);\n\n// Public types derived from cva — single source of truth. Adding a variant or size to\n// `buttonVariants` automatically updates these unions.\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\nexport type ButtonVariant = NonNullable<ButtonVariantsProps['variant']>;\nexport type ButtonSize = NonNullable<ButtonVariantsProps['size']>;\nexport type IconButtonSize = Extract<ButtonSize, `icon-${string}`>;\nexport type TextButtonSize = Exclude<ButtonSize, IconButtonSize>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, ButtonVariantsProps {\n render?: BaseButton.Props['render'];\n className?: string;\n children: React.ReactNode;\n /** Leading icon, always rendered on the left of the label inside `<Icon>`. Ignored in icon-mode sizes. */\n icon?: React.ReactNode;\n iconEnd?: React.ReactNode;\n tooltip?: React.ReactNode;\n /** Side of the trigger the tooltip opens on. Defaults to `top`. */\n tooltipPosition?: 'top' | 'right' | 'bottom' | 'left';\n /** @deprecated Pass the element through `render` instead: `render={<Link href=\"/x\" />}`. */\n as?: React.ElementType;\n /** @deprecated Set it on the element passed to `render`. */\n href?: string;\n /** @deprecated Set it on the element passed to `render`. */\n to?: string;\n /** @deprecated Set it on the element passed to `render`. */\n target?: string;\n /** @deprecated Set it on the element passed to `render`. */\n prefetch?: boolean | null;\n}\n\n// A link is not a button. `render` always entered `BaseButton`, which warns in\n// development when the resolved element is not a native button. `nativeButton={false}`\n// is the worse fix: Base UI then adds `role=\"button\"` and Enter/Space handling, so a\n// screen reader announces a link as a button. Render links directly instead and keep\n// `BaseButton` for real buttons.\nfunction isLinkElement(\n element: React.ReactElement,\n): element is React.ReactElement<{ href?: unknown; to?: unknown; className?: string }> {\n if (element.type === 'a') return true;\n const { href, to } = element.props as { href?: unknown; to?: unknown };\n return href !== undefined || to !== undefined;\n}\n\nfunction preventLinkActivation(event: React.SyntheticEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\ntype LinkRenderProps = { href?: string; to?: string; target?: string; className?: string };\n\n// One icon step per control step: a glyph is sized by the rung it sits in, so the\n// same nominal size renders the same icon whether it arrives as an icon-mode child,\n// the `icon` prop, or a bare SVG.\nconst iconSizeMap: Record<ButtonSize, IconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n 'icon-sm': 'sm',\n 'icon-md': 'md',\n 'icon-lg': 'lg',\n};\n\nfunction adornmentIconSize(variant: ButtonVariant, size: ButtonSize): IconSize {\n if (variant === 'link') return 'sm';\n return iconSizeMap[size];\n}\n\n/*\n * Adornments for triggers that take the Button recipe without the Button component (Select,\n * Combobox). They sit in the same slots as a Button's `icon` and `iconEnd`, so every trigger's\n * leading icon and chevron share one size and one inset from the edge.\n */\n\n/** A trigger's leading icon. */\nexport function ButtonIcon({ size, children }: { size: ButtonSize; children: React.ReactNode }) {\n return (\n <ButtonAdornment slot=\"button-icon\" size={iconSizeMap[size]}>\n {children}\n </ButtonAdornment>\n );\n}\n\n/**\n * The down chevron of a trigger that opens a list; static, it does not turn while open. Lucide's\n * chevron ink spans the middle half of its box, twice a regular icon's inset, so it pulls in by\n * 1/8em on each side to sit where a regular icon's ink would. Pass it as a Button's `iconEnd`.\n */\nexport function TriggerChevron() {\n return <ChevronDown aria-hidden data-slot=\"trigger-chevron\" className=\"mx-[-0.125em] shrink-0\" />;\n}\n\n/** The trigger chevron in a Button's end slot. */\nexport function ButtonChevron({ size }: { size: ButtonSize }) {\n return (\n <ButtonAdornment slot=\"button-icon-end\" size={iconSizeMap[size]}>\n <TriggerChevron />\n </ButtonAdornment>\n );\n}\n\nfunction ButtonAdornment({ slot, size, children }: { slot: string; size: IconSize; children: React.ReactNode }) {\n if (!children) return undefined;\n return (\n <Icon data-slot={slot} size={size}>\n {children}\n </Icon>\n );\n}\n\nexport function ButtonLabel({ variant, children }: { variant: ButtonVariant; children: React.ReactNode }) {\n if (variant !== 'link') return children;\n return (\n <span data-slot=\"button-label\" className={LINK_LABEL}>\n {children}\n </span>\n );\n}\n\n// True when every child is an element (no label text). A text-sized button can still hold\n// only an icon when its size is forwarded from a wrapper, and it then needs a name too.\n// `<></>` fragments are expanded first: `<><svg />Save</>` has a label.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n return React.Children.toArray(children).flatMap(child =>\n React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment\n ? flattenChildren(child.props.children)\n : [child],\n );\n}\n\nfunction isIconOnly(children: React.ReactNode): boolean {\n const flat = flattenChildren(children);\n return flat.length > 0 && flat.every(child => React.isValidElement(child));\n}\n\n// Type guard: narrows `ButtonSize` to `IconButtonSize`, so an icon-mode button can be\n// told from a text-mode one without a cast.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with Combobox's icon-only trigger\nexport function isIconButtonSize(size: ButtonSize | null | undefined): size is IconButtonSize {\n return size?.startsWith('icon-') ?? false;\n}\n\nexport const Button = React.forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n render,\n as: asProp,\n href,\n to,\n target,\n prefetch,\n size,\n variant = 'default',\n disabled,\n children,\n icon,\n iconEnd,\n tooltip,\n tooltipPosition,\n 'aria-label': ariaLabelProp,\n type,\n ...props\n },\n ref,\n ) => {\n const iconMode = variant !== 'link' && isIconButtonSize(size);\n const resolvedSize: ButtonSize = size ?? 'md';\n const resolvedVariant: ButtonVariant = variant ?? 'default';\n const adornmentSize = adornmentIconSize(resolvedVariant, resolvedSize);\n\n // Icon-only buttons need an a11y label. If a string tooltip is provided, reuse it.\n const ariaLabel =\n ariaLabelProp ?? ((iconMode || isIconOnly(children)) && typeof tooltip === 'string' ? tooltip : undefined);\n\n const content = iconMode ? (\n <Icon size={iconSizeMap[resolvedSize]}>{children}</Icon>\n ) : (\n <>\n <ButtonAdornment slot=\"button-icon\" size={adornmentSize}>\n {icon}\n </ButtonAdornment>\n <ButtonLabel variant={resolvedVariant}>{children}</ButtonLabel>\n <ButtonAdornment slot=\"button-icon-end\" size={adornmentSize}>\n {iconEnd}\n </ButtonAdornment>\n </>\n );\n\n const sharedProps = {\n disabled,\n // Base UI renders `type=\"button\"` when the prop is absent, which would quietly stop\n // a form button that relied on the native `submit` default from submitting. Passing\n // it through, `undefined` included, keeps native semantics: absent stays absent.\n type,\n 'aria-label': ariaLabel,\n // Expose the variant so a parent ButtonsGroup can detect FILLED segments in CSS\n // (filled buttons have an opaque background that hides a border seam, so the group\n // paints their divider as an inset box-shadow instead — see buttons-group.css).\n 'data-variant': variant,\n // Icon-mode is a square: a group that overrides the rung has to move the width with\n // the height or the circle turns into a pill (see buttons-group.css).\n 'data-shape': iconMode ? 'icon' : undefined,\n className: cn(buttonVariants({ variant, size: resolvedSize }), className),\n ...props,\n };\n\n // The deprecated `as` API keeps its original element path rather than going through\n // Base UI. Routing it through `render` drops props Base UI does not know about — a\n // router link loses its `to` and stops navigating — and Base UI warns that a\n // non-<button> contradicts `nativeButton`.\n const LegacyComponent = render ? undefined : asProp;\n\n // Only forward what the caller actually set. Passing `href={undefined}` through to a\n // router link overwrites the href that link derives from `to`, leaving an anchor that\n // renders correctly and navigates nowhere.\n const legacyLinkProps = {\n ...(href === undefined ? null : { href }),\n ...(to === undefined ? null : { to }),\n ...(target === undefined ? null : { target }),\n ...(prefetch === undefined ? null : { prefetch }),\n };\n\n const isLinkVariant = resolvedVariant === 'link';\n const linkHref = href ?? to;\n const linkRenderProps: LinkRenderProps = {\n ...(linkHref === undefined ? null : { href: linkHref }),\n ...(target === undefined ? null : { target }),\n };\n const renderedLink =\n React.isValidElement(render) && isLinkElement(render)\n ? render\n : isLinkVariant\n ? React.createElement('a', linkRenderProps)\n : undefined;\n const renderedLinkProps = renderedLink?.props;\n const disabledHref = renderedLink?.type !== 'a' && renderedLinkProps?.href !== undefined ? '' : undefined;\n const disabledTo = renderedLinkProps?.to !== undefined ? '' : undefined;\n const disabledLinkProps = disabled\n ? {\n ...(isLinkVariant ? null : { href: disabledHref }),\n ...(isLinkVariant ? null : { to: disabledTo }),\n 'aria-disabled': true,\n onClick: preventLinkActivation,\n onAuxClick: preventLinkActivation,\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') preventLinkActivation(event);\n },\n }\n : undefined;\n\n const button = LegacyComponent ? (\n <LegacyComponent ref={ref} {...legacyLinkProps} {...sharedProps}>\n {content}\n </LegacyComponent>\n ) : renderedLink ? (\n React.cloneElement(renderedLink as React.ReactElement<Record<string, unknown>>, {\n ref,\n ...sharedProps,\n disabled: undefined,\n ...disabledLinkProps,\n className: cn(sharedProps.className, renderedLink.props.className),\n children: content,\n })\n ) : (\n <BaseButton ref={ref} render={render} {...sharedProps}>\n {content}\n </BaseButton>\n );\n\n if (tooltip) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={tooltipPosition}>{tooltip}</TooltipContent>\n </Tooltip>\n );\n }\n\n return button;\n },\n);\n\nButton.displayName = 'Button';\n"],"mappings":"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"}
@@ -3,10 +3,10 @@ const require_utils = require("./utils-uDc1ofX1.cjs");
3
3
  const require_formatting = require("./formatting-BcPMU2NY.cjs");
4
4
  const require_dist = require("./dist-ClDKPtVq.cjs");
5
5
  const require_primitives_form_element = require("./primitives/form-element.cjs.js");
6
- const require_Button = require("./Button-YQRflC47.cjs");
6
+ const require_Button = require("./Button-DLcMcuUL.cjs");
7
7
  const require_field_control_aria = require("./field-control-aria-Dw0_ObOU.cjs");
8
- const require_toast_api = require("./toast-api-Bv87KHu_.cjs");
9
- const require_copy_button = require("./copy-button-BYEFKNpo.cjs");
8
+ const require_toast_api = require("./toast-api-qtkOucy2.cjs");
9
+ const require_copy_button = require("./copy-button-DJAQ6_3o.cjs");
10
10
  const require_highlight = require("./highlight-D0VoR2qO.cjs");
11
11
  let react = require("react");
12
12
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -512,4 +512,4 @@ Object.defineProperty(exports, "variableHighlight", {
512
512
  }
513
513
  });
514
514
 
515
- //# sourceMappingURL=CodeEditor-CJ9jC9lu.cjs.map
515
+ //# sourceMappingURL=CodeEditor-CLzs0yVc.cjs.map