@mastra/playground-ui 63.0.0-alpha.1 → 63.0.0-alpha.3

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 (768) hide show
  1. package/README.md +98 -0
  2. package/dist/Avatar-0u68PVfu.cjs +184 -0
  3. package/dist/Avatar-0u68PVfu.cjs.map +1 -0
  4. package/dist/Avatar-BwkyFiED.js +182 -0
  5. package/dist/Avatar-BwkyFiED.js.map +1 -0
  6. package/dist/{Button-C8QDEN9j.js → Button-60jVnaHt.js} +10 -4
  7. package/dist/Button-60jVnaHt.js.map +1 -0
  8. package/dist/{Button-BfZzgZrA.cjs → Button-CAVPKK09.cjs} +10 -4
  9. package/dist/Button-CAVPKK09.cjs.map +1 -0
  10. package/dist/{ErrorBoundary-3wDeQWo0.js → ErrorBoundary-BqNfJHRT.js} +2 -2
  11. package/dist/{ErrorBoundary-3wDeQWo0.js.map → ErrorBoundary-BqNfJHRT.js.map} +1 -1
  12. package/dist/{ErrorBoundary-BLsO6xv6.cjs → ErrorBoundary-SRNDrd4h.cjs} +2 -2
  13. package/dist/{ErrorBoundary-BLsO6xv6.cjs.map → ErrorBoundary-SRNDrd4h.cjs.map} +1 -1
  14. package/dist/{alert-dialog-j626w-Qb.cjs → alert-dialog-C-ODvRWT.cjs} +3 -3
  15. package/dist/{alert-dialog-j626w-Qb.cjs.map → alert-dialog-C-ODvRWT.cjs.map} +1 -1
  16. package/dist/{alert-dialog-R9z2SJLl.js → alert-dialog-DVAC9zdj.js} +3 -3
  17. package/dist/{alert-dialog-R9z2SJLl.js.map → alert-dialog-DVAC9zdj.js.map} +1 -1
  18. package/dist/{ask-user-card-g8cqh8KI.cjs → ask-user-card-BMiCYmFY.cjs} +3 -2
  19. package/dist/{ask-user-card-g8cqh8KI.cjs.map → ask-user-card-BMiCYmFY.cjs.map} +1 -1
  20. package/dist/{ask-user-card-CwKfl6M2.js → ask-user-card-CmfZg1wt.js} +7 -6
  21. package/dist/{ask-user-card-CwKfl6M2.js.map → ask-user-card-CmfZg1wt.js.map} +1 -1
  22. package/dist/avatar-size-CNR0U-LW.js +27 -0
  23. package/dist/avatar-size-CNR0U-LW.js.map +1 -0
  24. package/dist/avatar-size-DxStOo5A.cjs +32 -0
  25. package/dist/avatar-size-DxStOo5A.cjs.map +1 -0
  26. package/dist/{checkbox-B3tvJLCl.js → checkbox-mmR3rD2j.js} +2 -2
  27. package/dist/{checkbox-B3tvJLCl.js.map → checkbox-mmR3rD2j.js.map} +1 -1
  28. package/dist/{code-block-DQJ3NHRf.cjs → code-block-BuGosknt.cjs} +4 -4
  29. package/dist/{code-block-DQJ3NHRf.cjs.map → code-block-BuGosknt.cjs.map} +1 -1
  30. package/dist/{code-block-9sT-CaoF.js → code-block-vvYFcnqm.js} +4 -4
  31. package/dist/{code-block-9sT-CaoF.js.map → code-block-vvYFcnqm.js.map} +1 -1
  32. package/dist/{code-editor-DgfDaPAD.js → code-editor-B_v1EfzX.js} +3 -3
  33. package/dist/{code-editor-DgfDaPAD.js.map → code-editor-B_v1EfzX.js.map} +1 -1
  34. package/dist/{code-editor-Dg6Y6Q8z.cjs → code-editor-CH8c-KF1.cjs} +2 -2
  35. package/dist/{code-editor-Dg6Y6Q8z.cjs.map → code-editor-CH8c-KF1.cjs.map} +1 -1
  36. package/dist/{collapsible-box-B7YQWv7L.js → collapsible-box-CMmJEn3f.js} +2 -2
  37. package/dist/{collapsible-box-B7YQWv7L.js.map → collapsible-box-CMmJEn3f.js.map} +1 -1
  38. package/dist/{collapsible-box-Bu2jHdsK.cjs → collapsible-box-oUO65pxW.cjs} +2 -2
  39. package/dist/{collapsible-box-Bu2jHdsK.cjs.map → collapsible-box-oUO65pxW.cjs.map} +1 -1
  40. package/dist/{combobox-D9CFzzx8.cjs → combobox-fEMKH9nJ.cjs} +3 -3
  41. package/dist/{combobox-D9CFzzx8.cjs.map → combobox-fEMKH9nJ.cjs.map} +1 -1
  42. package/dist/{combobox-DJu0ggNa.js → combobox-so2V71F7.js} +4 -4
  43. package/dist/{combobox-DJu0ggNa.js.map → combobox-so2V71F7.js.map} +1 -1
  44. package/dist/{combobox-styles-BGCZADLP.cjs → combobox-styles-BJPT0TpQ.cjs} +2 -2
  45. package/dist/{combobox-styles-BGCZADLP.cjs.map → combobox-styles-BJPT0TpQ.cjs.map} +1 -1
  46. package/dist/{combobox-styles-wLpeTjOR.js → combobox-styles-BQnNIOpr.js} +2 -2
  47. package/dist/{combobox-styles-wLpeTjOR.js.map → combobox-styles-BQnNIOpr.js.map} +1 -1
  48. package/dist/{command-DbZ6CSAy.cjs → command-B_C36ppQ.cjs} +2 -2
  49. package/dist/{command-DbZ6CSAy.cjs.map → command-B_C36ppQ.cjs.map} +1 -1
  50. package/dist/{command-DtIlcv-t.js → command-DMqzDhzs.js} +2 -2
  51. package/dist/{command-DtIlcv-t.js.map → command-DMqzDhzs.js.map} +1 -1
  52. package/dist/components/AlertDialog.cjs.js +1 -1
  53. package/dist/components/AlertDialog.es.js +1 -1
  54. package/dist/components/Avatar.cjs.js +1 -1
  55. package/dist/components/Avatar.es.js +1 -1
  56. package/dist/components/Button.cjs.js +1 -1
  57. package/dist/components/Button.es.js +2 -2
  58. package/dist/components/Checkbox.es.js +1 -1
  59. package/dist/components/ClampedText.cjs.js +1 -1
  60. package/dist/components/ClampedText.es.js +1 -1
  61. package/dist/components/CodeBlock.cjs.js +1 -1
  62. package/dist/components/CodeBlock.es.js +1 -1
  63. package/dist/components/CodeEditor.cjs.js +1 -1
  64. package/dist/components/CodeEditor.es.js +1 -1
  65. package/dist/components/CollapsibleBox.cjs.js +1 -1
  66. package/dist/components/CollapsibleBox.es.js +1 -1
  67. package/dist/components/Combobox.cjs.js +2 -2
  68. package/dist/components/Combobox.es.js +2 -2
  69. package/dist/components/Command.cjs.js +1 -1
  70. package/dist/components/Command.es.js +1 -1
  71. package/dist/components/CommandPalette.cjs.js +1 -1
  72. package/dist/components/CommandPalette.es.js +1 -1
  73. package/dist/components/Comment.cjs.js +3 -2
  74. package/dist/components/Comment.cjs.js.map +1 -1
  75. package/dist/components/Comment.es.js +4 -3
  76. package/dist/components/Comment.es.js.map +1 -1
  77. package/dist/components/CopyButton.cjs.js +1 -1
  78. package/dist/components/CopyButton.es.js +1 -1
  79. package/dist/components/DataCodeSection.cjs.js +1 -1
  80. package/dist/components/DataCodeSection.es.js +1 -1
  81. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  82. package/dist/components/DataDetailsPanel.es.js +2 -2
  83. package/dist/components/DataList.cjs.js +3 -3
  84. package/dist/components/DataList.es.js +4 -4
  85. package/dist/components/DataPanel.cjs.js +1 -1
  86. package/dist/components/DataPanel.es.js +1 -1
  87. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  88. package/dist/components/DateRangeTimeline.es.js +1 -1
  89. package/dist/components/DateTimePicker.cjs.js +3 -2
  90. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  91. package/dist/components/DateTimePicker.es.js +5 -4
  92. package/dist/components/DateTimePicker.es.js.map +1 -1
  93. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  94. package/dist/components/DateTimeRangePicker.es.js +1 -1
  95. package/dist/components/Dialog.cjs.js +2 -2
  96. package/dist/components/Dialog.es.js +2 -2
  97. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  98. package/dist/components/DisabledFeatureButton.es.js +1 -1
  99. package/dist/components/Drawer.cjs.js +1 -1
  100. package/dist/components/Drawer.es.js +1 -1
  101. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -3
  102. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  103. package/dist/components/EnvironmentVariablesEditor.es.js +5 -4
  104. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  105. package/dist/components/ErrorBoundary.cjs.js +1 -1
  106. package/dist/components/ErrorBoundary.es.js +1 -1
  107. package/dist/components/Field.es.js +2 -2
  108. package/dist/components/FilterBar.cjs.js +3 -3
  109. package/dist/components/FilterBar.es.js +4 -4
  110. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  111. package/dist/components/FormFieldBlocks.es.js +3 -3
  112. package/dist/components/Input.es.js +1 -1
  113. package/dist/components/InputGroup.cjs.js +1 -1
  114. package/dist/components/InputGroup.es.js +1 -1
  115. package/dist/components/InputNumber.cjs.js +2 -2
  116. package/dist/components/InputNumber.es.js +2 -2
  117. package/dist/components/JSONSchemaForm.cjs.js +3 -2
  118. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  119. package/dist/components/JSONSchemaForm.es.js +6 -5
  120. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  121. package/dist/components/ListSearch.cjs.js +1 -1
  122. package/dist/components/ListSearch.es.js +1 -1
  123. package/dist/components/LogsDataList.cjs.js +3 -3
  124. package/dist/components/LogsDataList.es.js +3 -3
  125. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  126. package/dist/components/MarkdownRenderer.es.js +1 -1
  127. package/dist/components/Message.cjs.js +1 -1
  128. package/dist/components/Message.es.js +1 -1
  129. package/dist/components/MetricsCard.cjs.js +1 -1
  130. package/dist/components/MetricsCard.es.js +1 -1
  131. package/dist/components/Pagination.cjs.js +17 -0
  132. package/dist/components/Pagination.cjs.js.map +1 -0
  133. package/dist/components/Pagination.d.ts +2 -0
  134. package/dist/components/Pagination.es.js +2 -0
  135. package/dist/components/Pagination.es.js.map +1 -0
  136. package/dist/components/PrevNextNav.cjs.js +1 -1
  137. package/dist/components/PrevNextNav.es.js +1 -1
  138. package/dist/components/ProductAvatar.cjs.js +19 -2
  139. package/dist/components/ProductAvatar.cjs.js.map +1 -1
  140. package/dist/components/ProductAvatar.es.js +19 -2
  141. package/dist/components/ProductAvatar.es.js.map +1 -1
  142. package/dist/components/PropertyFilter.cjs.js +4 -3
  143. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  144. package/dist/components/PropertyFilter.es.js +6 -5
  145. package/dist/components/PropertyFilter.es.js.map +1 -1
  146. package/dist/components/RadioGroup.es.js +1 -1
  147. package/dist/components/RuleBuilder.cjs.js +2 -2
  148. package/dist/components/RuleBuilder.es.js +3 -3
  149. package/dist/components/SavedViews.cjs.js +2 -2
  150. package/dist/components/SavedViews.es.js +2 -2
  151. package/dist/components/SearchInput.cjs.js +1 -1
  152. package/dist/components/SearchInput.es.js +1 -1
  153. package/dist/components/Section.cjs.js +1 -1
  154. package/dist/components/Section.es.js +1 -1
  155. package/dist/components/SegmentedControl.es.js +1 -1
  156. package/dist/components/Select.cjs.js +1 -1
  157. package/dist/components/Select.es.js +1 -1
  158. package/dist/components/SideDialog.cjs.js +1 -1
  159. package/dist/components/SideDialog.es.js +1 -1
  160. package/dist/components/Sidebar.cjs.js +3 -3
  161. package/dist/components/Sidebar.es.js +3 -3
  162. package/dist/components/Switch.es.js +1 -1
  163. package/dist/components/Table.cjs.js +286 -47
  164. package/dist/components/Table.cjs.js.map +1 -1
  165. package/dist/components/Table.es.js +284 -49
  166. package/dist/components/Table.es.js.map +1 -1
  167. package/dist/components/Tabs.cjs.js +1 -1
  168. package/dist/components/Tabs.es.js +1 -1
  169. package/dist/components/ThemeToggle.es.js +1 -1
  170. package/dist/components/ThreadList.cjs.js +1 -1
  171. package/dist/components/ThreadList.es.js +1 -1
  172. package/dist/components/Truncate.cjs.js +1 -1
  173. package/dist/components/Truncate.es.js +1 -1
  174. package/dist/components/Workflow.cjs.js +6 -6
  175. package/dist/components/Workflow.es.js +6 -6
  176. package/dist/components/ai/activity.cjs.js +1 -1
  177. package/dist/components/ai/activity.es.js +1 -1
  178. package/dist/components/ai/ask-user.cjs.js +1 -1
  179. package/dist/components/ai/ask-user.es.js +1 -1
  180. package/dist/components/ai/plan.cjs.js +1 -1
  181. package/dist/components/ai/plan.es.js +1 -1
  182. package/dist/components/ai/tool-approval.cjs.js +1 -1
  183. package/dist/components/ai/tool-approval.es.js +1 -1
  184. package/dist/components/ai/tool-call.cjs.js +3 -3
  185. package/dist/components/ai/tool-call.es.js +3 -3
  186. package/dist/{copy-button-CUVxXN4H.cjs → copy-button-5tVWqoTk.cjs} +2 -2
  187. package/dist/{copy-button-CUVxXN4H.cjs.map → copy-button-5tVWqoTk.cjs.map} +1 -1
  188. package/dist/{copy-button-CDyuUYUr.js → copy-button-Af_Qt7G1.js} +2 -2
  189. package/dist/{copy-button-CDyuUYUr.js.map → copy-button-Af_Qt7G1.js.map} +1 -1
  190. package/dist/{data-code-section-BTRNa1SD.cjs → data-code-section-Bs8sHDux.cjs} +5 -5
  191. package/dist/{data-code-section-BTRNa1SD.cjs.map → data-code-section-Bs8sHDux.cjs.map} +1 -1
  192. package/dist/{data-code-section-BGLC-hxm.js → data-code-section-CqdjmClK.js} +5 -5
  193. package/dist/{data-code-section-BGLC-hxm.js.map → data-code-section-CqdjmClK.js.map} +1 -1
  194. package/dist/{data-list-DDGpWucH.js → data-list-B2ArWwsJ.js} +3 -3
  195. package/dist/{data-list-DDGpWucH.js.map → data-list-B2ArWwsJ.js.map} +1 -1
  196. package/dist/{data-list-_yDPF5wR.cjs → data-list-BLfHObw8.cjs} +2 -2
  197. package/dist/{data-list-_yDPF5wR.cjs.map → data-list-BLfHObw8.cjs.map} +1 -1
  198. package/dist/{data-list-skeleton-maUWF7Ri.cjs → data-list-skeleton-BGJD4qMF.cjs} +2 -2
  199. package/dist/{data-list-skeleton-maUWF7Ri.cjs.map → data-list-skeleton-BGJD4qMF.cjs.map} +1 -1
  200. package/dist/{data-list-skeleton-CJFwZBlW.js → data-list-skeleton-BNsWWamC.js} +2 -2
  201. package/dist/{data-list-skeleton-CJFwZBlW.js.map → data-list-skeleton-BNsWWamC.js.map} +1 -1
  202. package/dist/{data-panel-Dhg7s3fD.cjs → data-panel-FG2S84x7.cjs} +45 -22
  203. package/dist/data-panel-FG2S84x7.cjs.map +1 -0
  204. package/dist/{data-panel-DfVGx0Ea.js → data-panel-nbeducTl.js} +46 -23
  205. package/dist/data-panel-nbeducTl.js.map +1 -0
  206. package/dist/{date-time-range-picker-BNaXCa7r.cjs → date-time-range-picker-ByNvjYuV.cjs} +4 -3
  207. package/dist/{date-time-range-picker-BNaXCa7r.cjs.map → date-time-range-picker-ByNvjYuV.cjs.map} +1 -1
  208. package/dist/{date-time-range-picker-C5x_33hB.js → date-time-range-picker-SU1Q1h1h.js} +5 -4
  209. package/dist/{date-time-range-picker-C5x_33hB.js.map → date-time-range-picker-SU1Q1h1h.js.map} +1 -1
  210. package/dist/{dialog-DQI9ChYf.cjs → dialog-B5nLi0ER.cjs} +3 -3
  211. package/dist/{dialog-DQI9ChYf.cjs.map → dialog-B5nLi0ER.cjs.map} +1 -1
  212. package/dist/{dialog-DlZmNahd.js → dialog-Jz2ZfO-z.js} +3 -3
  213. package/dist/{dialog-DlZmNahd.js.map → dialog-Jz2ZfO-z.js.map} +1 -1
  214. package/dist/{dialog-action-c4nfPomF.js → dialog-action-BxXhAz-P.js} +3 -3
  215. package/dist/{dialog-action-c4nfPomF.js.map → dialog-action-BxXhAz-P.js.map} +1 -1
  216. package/dist/{dialog-action-gdo9CwUv.cjs → dialog-action-DdkbsKfP.cjs} +3 -3
  217. package/dist/{dialog-action-gdo9CwUv.cjs.map → dialog-action-DdkbsKfP.cjs.map} +1 -1
  218. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  219. package/dist/domains/auth/components/session-expired.es.js +1 -1
  220. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  221. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  222. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  223. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  224. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  225. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  226. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  227. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  228. package/dist/domains/chat/messages/dataset-save-action.cjs.js +7 -5
  229. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  230. package/dist/domains/chat/messages/dataset-save-action.es.js +8 -6
  231. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  232. package/dist/domains/chat/messages/message-row.cjs.js +3 -2
  233. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  234. package/dist/domains/chat/messages/message-row.es.js +3 -2
  235. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  236. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  237. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  238. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  239. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  240. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  241. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  242. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  243. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  244. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  245. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  246. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  247. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  248. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  249. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  250. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  251. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  252. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  253. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  254. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  255. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  256. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  257. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  258. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  259. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  260. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  261. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  262. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  263. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  264. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  265. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  266. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -4
  267. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  268. package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -4
  269. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  270. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  271. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  272. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  273. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  274. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +12 -6
  275. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  276. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +13 -7
  277. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  278. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  279. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  280. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -3
  281. package/dist/domains/logs/components/logs-list-view.es.js +3 -3
  282. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  283. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  284. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  285. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  286. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  287. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  288. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  289. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  290. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -0
  291. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  292. package/dist/domains/memory/components/observation-detail-view.es.js +3 -2
  293. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  294. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  295. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  296. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  297. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  298. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  299. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  300. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  301. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  302. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  303. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  304. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  305. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  306. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  307. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  308. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  309. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  310. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  311. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  312. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  313. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  314. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  315. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  316. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  317. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  318. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +6 -4
  319. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  320. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +7 -5
  321. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  322. package/dist/domains/request-context/components/request-context-label.cjs.js +1 -0
  323. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  324. package/dist/domains/request-context/components/request-context-label.es.js +2 -1
  325. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  326. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  327. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  328. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  329. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  330. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  331. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  332. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  333. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  334. package/dist/domains/traces/components/span-data-panel-view.cjs.js +3 -2
  335. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  336. package/dist/domains/traces/components/span-data-panel-view.es.js +3 -2
  337. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  338. package/dist/domains/traces/components/span-details-view.cjs.js +1 -0
  339. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  340. package/dist/domains/traces/components/span-details-view.es.js +1 -0
  341. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  342. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  343. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  344. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  345. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  346. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  347. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  348. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  349. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  350. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  351. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  352. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  353. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  354. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
  355. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
  356. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  357. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  358. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  359. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  360. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  361. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  362. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  363. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  364. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  365. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  366. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  367. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  368. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +3 -1
  369. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  370. package/dist/domains/traces/components/thread-view-by-trace.es.js +3 -1
  371. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  372. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -4
  373. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  374. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -5
  375. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  376. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  377. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  378. package/dist/domains/traces/components/trace-data-panel.cjs.js +5 -2
  379. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  380. package/dist/domains/traces/components/trace-data-panel.es.js +5 -2
  381. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  382. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  383. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  384. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  385. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  386. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  387. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  388. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  389. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  390. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  391. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  392. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  393. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  394. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  395. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  396. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  397. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  398. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  399. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  400. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  401. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  402. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  403. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  404. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  405. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  406. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  407. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  408. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  409. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  410. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  411. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  412. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  413. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  414. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  415. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  416. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -1
  417. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -1
  418. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +3 -2
  419. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -1
  420. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +2 -1
  421. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  422. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -2
  423. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  424. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  425. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  426. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  427. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  428. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  429. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  430. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  431. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  432. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -0
  433. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
  434. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +3 -2
  435. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
  436. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  437. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  438. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  439. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  440. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  441. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  442. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  443. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  444. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -0
  445. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  446. package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -0
  447. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  448. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  449. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  450. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  451. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  452. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
  453. package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
  454. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  455. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  456. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  457. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  458. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  459. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  460. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  461. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  462. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -1
  463. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -1
  464. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -2
  465. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -1
  466. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  467. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  468. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  469. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  470. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  471. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  472. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  473. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  474. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  475. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  476. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +6 -5
  477. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  478. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +7 -6
  479. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  480. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  481. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  482. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  483. package/dist/domains/workspace/components/workspace-create-directory.es.js +3 -3
  484. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  485. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  486. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  487. package/dist/domains/workspace/components/workspace-search.es.js +2 -2
  488. package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
  489. package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
  490. package/dist/{drawer-CeUYCG-S.cjs → drawer-C6PBqg__.cjs} +2 -2
  491. package/dist/{drawer-CeUYCG-S.cjs.map → drawer-C6PBqg__.cjs.map} +1 -1
  492. package/dist/{drawer-CZlqOjd2.js → drawer-CwVDeB8H.js} +2 -2
  493. package/dist/{drawer-CZlqOjd2.js.map → drawer-CwVDeB8H.js.map} +1 -1
  494. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -6
  495. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  496. package/dist/ee/signals/components/entity-index-compact-grid.es.js +6 -8
  497. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  498. package/dist/ee/signals/components/entity-index-list.cjs.js +31 -32
  499. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  500. package/dist/ee/signals/components/entity-index-list.es.js +33 -34
  501. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  502. package/dist/ee/signals/components/entity-index-model.cjs.js +7 -0
  503. package/dist/ee/signals/components/entity-index-model.cjs.js.map +1 -1
  504. package/dist/ee/signals/components/entity-index-model.es.js +7 -1
  505. package/dist/ee/signals/components/entity-index-model.es.js.map +1 -1
  506. package/dist/ee/signals/components/entity-index-status.cjs.js +26 -0
  507. package/dist/ee/signals/components/entity-index-status.cjs.js.map +1 -0
  508. package/dist/ee/signals/components/entity-index-status.d.ts +2 -0
  509. package/dist/ee/signals/components/entity-index-status.es.js +22 -0
  510. package/dist/ee/signals/components/entity-index-status.es.js.map +1 -0
  511. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  512. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  513. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +14 -14
  514. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  515. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +14 -14
  516. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  517. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  518. package/dist/ee/signals/examples-pager.es.js +1 -1
  519. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  520. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  521. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +3 -2
  522. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  523. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +5 -4
  524. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  525. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  526. package/dist/ee/signals/settings/trace-signal-settings.es.js +2 -2
  527. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  528. package/dist/ee/signals/signals-error-state.es.js +1 -1
  529. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  530. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  531. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  532. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  533. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  534. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  535. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  536. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  537. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  538. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  539. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  540. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  541. package/dist/{field-Bc8Ewf_M.js → field-B89BEZg4.js} +2 -2
  542. package/dist/{field-Bc8Ewf_M.js.map → field-B89BEZg4.js.map} +1 -1
  543. package/dist/{field-control-aria-CCJ4-mUe.js → field-control-aria-DB6y41tQ.js} +2 -2
  544. package/dist/{field-control-aria-CCJ4-mUe.js.map → field-control-aria-DB6y41tQ.js.map} +1 -1
  545. package/dist/{filter-bar-chip-C_371aon.cjs → filter-bar-chip-BBErw_aR.cjs} +3 -3
  546. package/dist/{filter-bar-chip-C_371aon.cjs.map → filter-bar-chip-BBErw_aR.cjs.map} +1 -1
  547. package/dist/{filter-bar-chip-Dc6phYqZ.js → filter-bar-chip-DvRTWRwT.js} +3 -3
  548. package/dist/{filter-bar-chip-Dc6phYqZ.js.map → filter-bar-chip-DvRTWRwT.js.map} +1 -1
  549. package/dist/{input-Ds171RJ5.js → input-DQFUjtnh.js} +2 -2
  550. package/dist/{input-Ds171RJ5.js.map → input-DQFUjtnh.js.map} +1 -1
  551. package/dist/{input-group-Cxv64rPB.js → input-group-CIIwoggO.js} +3 -3
  552. package/dist/{input-group-Cxv64rPB.js.map → input-group-CIIwoggO.js.map} +1 -1
  553. package/dist/{input-group-Cy7k5JRg.cjs → input-group-DQuyC9Pz.cjs} +2 -2
  554. package/dist/{input-group-Cy7k5JRg.cjs.map → input-group-DQuyC9Pz.cjs.map} +1 -1
  555. package/dist/layout/tabbed-container.cjs.js +4 -4
  556. package/dist/layout/tabbed-container.es.js +4 -4
  557. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  558. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  559. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  560. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  561. package/dist/lib/form/components/boolean-field.cjs.js +1 -0
  562. package/dist/lib/form/components/boolean-field.cjs.js.map +1 -1
  563. package/dist/lib/form/components/boolean-field.es.js +3 -2
  564. package/dist/lib/form/components/boolean-field.es.js.map +1 -1
  565. package/dist/lib/form/components/date-field.cjs.js +1 -1
  566. package/dist/lib/form/components/date-field.es.js +2 -2
  567. package/dist/lib/form/components/field-wrapper.cjs.js +1 -0
  568. package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -1
  569. package/dist/lib/form/components/field-wrapper.es.js +2 -1
  570. package/dist/lib/form/components/field-wrapper.es.js.map +1 -1
  571. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  572. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  573. package/dist/lib/form/components/number-field.es.js +1 -1
  574. package/dist/lib/form/components/record-field.cjs.js +1 -1
  575. package/dist/lib/form/components/record-field.es.js +2 -2
  576. package/dist/lib/form/components/select-field.cjs.js +1 -1
  577. package/dist/lib/form/components/select-field.es.js +1 -1
  578. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  579. package/dist/lib/form/components/submit-button.es.js +1 -1
  580. package/dist/{list-search-C3yXcTRO.cjs → list-search-C5j3HYkb.cjs} +2 -2
  581. package/dist/{list-search-C3yXcTRO.cjs.map → list-search-C5j3HYkb.cjs.map} +1 -1
  582. package/dist/{list-search-CmPRFDsn.js → list-search-Cwp-OPvC.js} +2 -2
  583. package/dist/{list-search-CmPRFDsn.js.map → list-search-Cwp-OPvC.js.map} +1 -1
  584. package/dist/{logs-data-list-Cudh6b-c.js → logs-data-list-B-gmgU74.js} +2 -2
  585. package/dist/{logs-data-list-Cudh6b-c.js.map → logs-data-list-B-gmgU74.js.map} +1 -1
  586. package/dist/{logs-data-list-Bf_vIsFb.cjs → logs-data-list-CaXnNnC5.cjs} +2 -2
  587. package/dist/{logs-data-list-Bf_vIsFb.cjs.map → logs-data-list-CaXnNnC5.cjs.map} +1 -1
  588. package/dist/{markdown-renderer-DaXAim8y.cjs → markdown-renderer-BXTNiZbz.cjs} +3 -3
  589. package/dist/{markdown-renderer-DaXAim8y.cjs.map → markdown-renderer-BXTNiZbz.cjs.map} +1 -1
  590. package/dist/{markdown-renderer-Cly6VMDr.js → markdown-renderer-Ct-q_KTF.js} +3 -3
  591. package/dist/{markdown-renderer-Cly6VMDr.js.map → markdown-renderer-Ct-q_KTF.js.map} +1 -1
  592. package/dist/{message-copy-button-CREuo4t5.cjs → message-copy-button-Cni-zv0j.cjs} +2 -2
  593. package/dist/{message-copy-button-CREuo4t5.cjs.map → message-copy-button-Cni-zv0j.cjs.map} +1 -1
  594. package/dist/{message-copy-button-BlwQej7y.js → message-copy-button-DDgqbtbv.js} +2 -2
  595. package/dist/{message-copy-button-BlwQej7y.js.map → message-copy-button-DDgqbtbv.js.map} +1 -1
  596. package/dist/{metrics-card-oEbbYDo7.js → metrics-card-C33VsuXf.js} +2 -2
  597. package/dist/{metrics-card-oEbbYDo7.js.map → metrics-card-C33VsuXf.js.map} +1 -1
  598. package/dist/{metrics-card-Bv2A5G41.cjs → metrics-card-CxOVpP1t.cjs} +2 -2
  599. package/dist/{metrics-card-Bv2A5G41.cjs.map → metrics-card-CxOVpP1t.cjs.map} +1 -1
  600. package/dist/new/layout/app-shell.cjs.js +9 -4
  601. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  602. package/dist/new/layout/app-shell.es.js +10 -5
  603. package/dist/new/layout/app-shell.es.js.map +1 -1
  604. package/dist/new/settings.cjs.js +1 -1
  605. package/dist/new/settings.es.js +1 -1
  606. package/dist/pagination-range-BlUsZjqD.js +191 -0
  607. package/dist/pagination-range-BlUsZjqD.js.map +1 -0
  608. package/dist/pagination-range-C0i6gunh.cjs +200 -0
  609. package/dist/pagination-range-C0i6gunh.cjs.map +1 -0
  610. package/dist/{plan-CdtX72kw.cjs → plan-CL-lbDuy.cjs} +4 -4
  611. package/dist/{plan-CdtX72kw.cjs.map → plan-CL-lbDuy.cjs.map} +1 -1
  612. package/dist/{plan-DIbhFPRL.js → plan-TXWANP1R.js} +4 -4
  613. package/dist/{plan-DIbhFPRL.js.map → plan-TXWANP1R.js.map} +1 -1
  614. package/dist/primitives/menu-item.cjs.js +1 -1
  615. package/dist/primitives/menu-item.es.js +1 -1
  616. package/dist/primitives/raised-surface.cjs.js +2 -0
  617. package/dist/primitives/raised-surface.cjs.js.map +1 -1
  618. package/dist/primitives/raised-surface.es.js +2 -1
  619. package/dist/primitives/raised-surface.es.js.map +1 -1
  620. package/dist/primitives/textarea-control.es.js +1 -1
  621. package/dist/primitives/trigger-button.cjs.js +1 -1
  622. package/dist/primitives/trigger-button.es.js +1 -1
  623. package/dist/{property-filter-applied-BeLCh3zo.cjs → property-filter-applied-BBvaTC4B.cjs} +2 -2
  624. package/dist/{property-filter-applied-BeLCh3zo.cjs.map → property-filter-applied-BBvaTC4B.cjs.map} +1 -1
  625. package/dist/{property-filter-applied-DXH81ffT.js → property-filter-applied-Ru3OQoGo.js} +3 -3
  626. package/dist/{property-filter-applied-DXH81ffT.js.map → property-filter-applied-Ru3OQoGo.js.map} +1 -1
  627. package/dist/{radio-group-C2zsCipq.js → radio-group-Bk52hNNb.js} +2 -2
  628. package/dist/{radio-group-C2zsCipq.js.map → radio-group-Bk52hNNb.js.map} +1 -1
  629. package/dist/{reasoning-activity-DehWtcyc.cjs → reasoning-activity-CFEaSv4J.cjs} +2 -2
  630. package/dist/{reasoning-activity-DehWtcyc.cjs.map → reasoning-activity-CFEaSv4J.cjs.map} +1 -1
  631. package/dist/{reasoning-activity-B1r4JQxm.js → reasoning-activity-CHlEe011.js} +2 -2
  632. package/dist/{reasoning-activity-B1r4JQxm.js.map → reasoning-activity-CHlEe011.js.map} +1 -1
  633. package/dist/resize/panel-drawer.cjs.js +1 -1
  634. package/dist/resize/panel-drawer.es.js +1 -1
  635. package/dist/{search-input-DbEE2zEz.cjs → search-input-2DhcUIvn.cjs} +3 -2
  636. package/dist/{search-input-DbEE2zEz.cjs.map → search-input-2DhcUIvn.cjs.map} +1 -1
  637. package/dist/{search-input-D23h16CB.js → search-input-RybUdqzg.js} +4 -3
  638. package/dist/{search-input-D23h16CB.js.map → search-input-RybUdqzg.js.map} +1 -1
  639. package/dist/{section-CdaSS9M7.cjs → section-DhZbtWhu.cjs} +2 -2
  640. package/dist/{section-CdaSS9M7.cjs.map → section-DhZbtWhu.cjs.map} +1 -1
  641. package/dist/{section-DcjTdrqz.js → section-Dq6aFxlH.js} +2 -2
  642. package/dist/{section-DcjTdrqz.js.map → section-Dq6aFxlH.js.map} +1 -1
  643. package/dist/{segmented-control-BfY7F0NZ.js → segmented-control-CUnvFStD.js} +2 -2
  644. package/dist/{segmented-control-BfY7F0NZ.js.map → segmented-control-CUnvFStD.js.map} +1 -1
  645. package/dist/{select-BGAiIHnS.js → select-BvYdi3X0.js} +3 -3
  646. package/dist/{select-BGAiIHnS.js.map → select-BvYdi3X0.js.map} +1 -1
  647. package/dist/{select-Cdz5I0A5.cjs → select-D5cu0K7R.cjs} +2 -2
  648. package/dist/{select-Cdz5I0A5.cjs.map → select-D5cu0K7R.cjs.map} +1 -1
  649. package/dist/{settings-row-rOI4yGvi.cjs → settings-row-CwZ3JffC.cjs} +2 -1
  650. package/dist/{settings-row-rOI4yGvi.cjs.map → settings-row-CwZ3JffC.cjs.map} +1 -1
  651. package/dist/{settings-row-ylIw4rfC.js → settings-row-gpwIVAMN.js} +3 -2
  652. package/dist/{settings-row-ylIw4rfC.js.map → settings-row-gpwIVAMN.js.map} +1 -1
  653. package/dist/{side-dialog-OPXvmRDA.cjs → side-dialog-CUQGSSLs.cjs} +5 -5
  654. package/dist/{side-dialog-OPXvmRDA.cjs.map → side-dialog-CUQGSSLs.cjs.map} +1 -1
  655. package/dist/{side-dialog-CB_wrLtE.js → side-dialog-DSxU1To7.js} +5 -5
  656. package/dist/{side-dialog-CB_wrLtE.js.map → side-dialog-DSxU1To7.js.map} +1 -1
  657. package/dist/{span-payload-primitives-sEGOgFlX.cjs → span-payload-primitives-DIxmotnO.cjs} +2 -2
  658. package/dist/{span-payload-primitives-sEGOgFlX.cjs.map → span-payload-primitives-DIxmotnO.cjs.map} +1 -1
  659. package/dist/{span-payload-primitives-Cixom2Py.js → span-payload-primitives-dTs5UrjA.js} +2 -2
  660. package/dist/{span-payload-primitives-Cixom2Py.js.map → span-payload-primitives-dTs5UrjA.js.map} +1 -1
  661. package/dist/src/ds/components/Avatar/Avatar.d.ts +20 -9
  662. package/dist/src/ds/components/Avatar/avatar-badge.d.ts +6 -0
  663. package/dist/src/ds/components/Avatar/avatar-element.d.ts +3 -0
  664. package/dist/src/ds/components/Avatar/avatar-fallback.d.ts +5 -0
  665. package/dist/src/ds/components/Avatar/avatar-group-count.d.ts +3 -0
  666. package/dist/src/ds/components/Avatar/avatar-group.d.ts +6 -0
  667. package/dist/src/ds/components/Avatar/avatar-image.d.ts +6 -0
  668. package/dist/src/ds/components/Avatar/avatar-named.d.ts +10 -0
  669. package/dist/src/ds/components/Avatar/avatar-root.d.ts +8 -0
  670. package/dist/src/ds/components/Avatar/avatar-size.d.ts +5 -0
  671. package/dist/src/ds/components/DataPanel/data-panel-context.d.ts +3 -0
  672. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +28 -9
  673. package/dist/src/ds/components/DataPanel/index.d.ts +1 -1
  674. package/dist/src/ds/components/Pagination/index.d.ts +2 -0
  675. package/dist/src/ds/components/Pagination/pagination-context.d.ts +10 -0
  676. package/dist/src/ds/components/Pagination/pagination-range.d.ts +8 -0
  677. package/dist/src/ds/components/Pagination/pagination.d.ts +23 -0
  678. package/dist/src/ds/components/ProductAvatar/ProductAvatar.d.ts +3 -1
  679. package/dist/src/ds/components/ProductAvatar/product-avatar-size.d.ts +3 -0
  680. package/dist/src/ds/components/Table/Cells.d.ts +6 -2
  681. package/dist/src/ds/components/Table/Table.d.ts +30 -7
  682. package/dist/src/ds/components/Table/index.d.ts +10 -0
  683. package/dist/src/ds/components/Table/table-align.d.ts +7 -0
  684. package/dist/src/ds/components/Table/table-context.d.ts +4 -0
  685. package/dist/src/ds/components/Table/table-pagination.d.ts +7 -0
  686. package/dist/src/ds/components/Table/table-row-button.d.ts +3 -0
  687. package/dist/src/ds/components/Table/table-row-link.d.ts +3 -0
  688. package/dist/src/ds/components/Table/table-row-target.d.ts +2 -0
  689. package/dist/src/ds/components/Table/table-sort-button.d.ts +6 -0
  690. package/dist/src/ds/primitives/raised-surface.d.ts +5 -0
  691. package/dist/src/ee/signals/components/entity-index-model.d.ts +5 -0
  692. package/dist/src/ee/signals/components/entity-index-status.d.ts +4 -0
  693. package/dist/style.css +272 -33
  694. package/dist/{switch-BBeMfeQ2.js → switch-DiSlsWUt.js} +2 -2
  695. package/dist/{switch-BBeMfeQ2.js.map → switch-DiSlsWUt.js.map} +1 -1
  696. package/dist/{tabs-tab-D9ndsGQu.cjs → tabs-tab-CqcY4tHE.cjs} +2 -2
  697. package/dist/{tabs-tab-D9ndsGQu.cjs.map → tabs-tab-CqcY4tHE.cjs.map} +1 -1
  698. package/dist/{tabs-tab-BchiQf0E.js → tabs-tab-CzpXzpf-.js} +2 -2
  699. package/dist/{tabs-tab-BchiQf0E.js.map → tabs-tab-CzpXzpf-.js.map} +1 -1
  700. package/dist/{thread-list-D6tyuO1M.cjs → thread-list-D-VuTZnC.cjs} +2 -2
  701. package/dist/{thread-list-D6tyuO1M.cjs.map → thread-list-D-VuTZnC.cjs.map} +1 -1
  702. package/dist/{thread-list-2YHnS82L.js → thread-list-Duf5N74Z.js} +2 -2
  703. package/dist/{thread-list-2YHnS82L.js.map → thread-list-Duf5N74Z.js.map} +1 -1
  704. package/dist/{time-picker-Bo6GJcmz.js → time-picker-CF6_miti.js} +2 -2
  705. package/dist/{time-picker-Bo6GJcmz.js.map → time-picker-CF6_miti.js.map} +1 -1
  706. package/dist/{time-picker-D7hr3X0_.cjs → time-picker-DbDeIg8E.cjs} +2 -2
  707. package/dist/{time-picker-D7hr3X0_.cjs.map → time-picker-DbDeIg8E.cjs.map} +1 -1
  708. package/dist/{tool-approval-BpskZTWy.cjs → tool-approval-S6ml_xyU.cjs} +3 -3
  709. package/dist/{tool-approval-BpskZTWy.cjs.map → tool-approval-S6ml_xyU.cjs.map} +1 -1
  710. package/dist/{tool-approval-BQ6sDvyS.js → tool-approval-TB8r2U_c.js} +3 -3
  711. package/dist/{tool-approval-BQ6sDvyS.js.map → tool-approval-TB8r2U_c.js.map} +1 -1
  712. package/dist/{tool-call-arguments-B86JP3Dy.js → tool-call-arguments-CCkJ1btR.js} +3 -3
  713. package/dist/{tool-call-arguments-B86JP3Dy.js.map → tool-call-arguments-CCkJ1btR.js.map} +1 -1
  714. package/dist/{tool-call-arguments-Bj2MA4SW.cjs → tool-call-arguments-DyukJmhY.cjs} +3 -3
  715. package/dist/{tool-call-arguments-Bj2MA4SW.cjs.map → tool-call-arguments-DyukJmhY.cjs.map} +1 -1
  716. package/dist/{tool-call-mono-BAYC7OZl.js → tool-call-mono-CASKyxNt.js} +2 -2
  717. package/dist/{tool-call-mono-BAYC7OZl.js.map → tool-call-mono-CASKyxNt.js.map} +1 -1
  718. package/dist/{tool-call-mono-C42l0zrM.cjs → tool-call-mono-D8XffwXR.cjs} +2 -2
  719. package/dist/{tool-call-mono-C42l0zrM.cjs.map → tool-call-mono-D8XffwXR.cjs.map} +1 -1
  720. package/dist/{tool-call-output-CO6lqtGh.js → tool-call-output-qgqn19KC.js} +2 -2
  721. package/dist/{tool-call-output-CO6lqtGh.js.map → tool-call-output-qgqn19KC.js.map} +1 -1
  722. package/dist/{tool-call-output-BDua5O1z.cjs → tool-call-output-xx1drXqO.cjs} +2 -2
  723. package/dist/{tool-call-output-BDua5O1z.cjs.map → tool-call-output-xx1drXqO.cjs.map} +1 -1
  724. package/dist/{tool-card-C8IrtMuQ.js → tool-card-BftktBoV.js} +4 -4
  725. package/dist/{tool-card-C8IrtMuQ.js.map → tool-card-BftktBoV.js.map} +1 -1
  726. package/dist/{tool-card-C0pNVEva.cjs → tool-card-NFkMpChW.cjs} +4 -4
  727. package/dist/{tool-card-C0pNVEva.cjs.map → tool-card-NFkMpChW.cjs.map} +1 -1
  728. package/dist/{traces-data-list-L_r2GAtr.js → traces-data-list-1X6UBM6Y.js} +2 -2
  729. package/dist/{traces-data-list-L_r2GAtr.js.map → traces-data-list-1X6UBM6Y.js.map} +1 -1
  730. package/dist/{traces-data-list-DaFA1Ccg.cjs → traces-data-list-BXSXW3E6.cjs} +2 -2
  731. package/dist/{traces-data-list-DaFA1Ccg.cjs.map → traces-data-list-BXSXW3E6.cjs.map} +1 -1
  732. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs → use-workflow-graph-runtime-C8TkqjvM.cjs} +3 -3
  733. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs.map → use-workflow-graph-runtime-C8TkqjvM.cjs.map} +1 -1
  734. package/dist/{use-workflow-graph-runtime-DS7eWso7.js → use-workflow-graph-runtime-DX56livO.js} +3 -3
  735. package/dist/{use-workflow-graph-runtime-DS7eWso7.js.map → use-workflow-graph-runtime-DX56livO.js.map} +1 -1
  736. package/dist/{workflow-code-dialog-content-BUCZZoKf.js → workflow-code-dialog-content-DG-Lmvgu.js} +3 -3
  737. package/dist/{workflow-code-dialog-content-BUCZZoKf.js.map → workflow-code-dialog-content-DG-Lmvgu.js.map} +1 -1
  738. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs → workflow-code-dialog-content-vC_ddCYp.cjs} +3 -3
  739. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs.map → workflow-code-dialog-content-vC_ddCYp.cjs.map} +1 -1
  740. package/dist/{workflow-condition-card-DnSlcZ2s.js → workflow-condition-card-DMkPh5TM.js} +3 -3
  741. package/dist/{workflow-condition-card-DnSlcZ2s.js.map → workflow-condition-card-DMkPh5TM.js.map} +1 -1
  742. package/dist/{workflow-condition-card-CbaDpVa_.cjs → workflow-condition-card-bn5mrwKe.cjs} +3 -3
  743. package/dist/{workflow-condition-card-CbaDpVa_.cjs.map → workflow-condition-card-bn5mrwKe.cjs.map} +1 -1
  744. package/dist/{workflow-data-edge-view-BIiMA9zg.js → workflow-data-edge-view-De0xCrVu.js} +2 -2
  745. package/dist/{workflow-data-edge-view-BIiMA9zg.js.map → workflow-data-edge-view-De0xCrVu.js.map} +1 -1
  746. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs → workflow-data-edge-view-kmB6j-ui.cjs} +2 -2
  747. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs.map → workflow-data-edge-view-kmB6j-ui.cjs.map} +1 -1
  748. package/dist/{workflow-debug-controls-h7Q-RlJ2.js → workflow-debug-controls-CJTqoarc.js} +2 -2
  749. package/dist/{workflow-debug-controls-h7Q-RlJ2.js.map → workflow-debug-controls-CJTqoarc.js.map} +1 -1
  750. package/dist/{workflow-debug-controls-D9rmMeH-.cjs → workflow-debug-controls-CqaM7s-K.cjs} +2 -2
  751. package/dist/{workflow-debug-controls-D9rmMeH-.cjs.map → workflow-debug-controls-CqaM7s-K.cjs.map} +1 -1
  752. package/dist/{workflow-edge-data-button-D5oK4NS5.js → workflow-edge-data-button-CXbj67U9.js} +4 -4
  753. package/dist/{workflow-edge-data-button-D5oK4NS5.js.map → workflow-edge-data-button-CXbj67U9.js.map} +1 -1
  754. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs → workflow-edge-data-button-av1zCMfP.cjs} +4 -4
  755. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs.map → workflow-edge-data-button-av1zCMfP.cjs.map} +1 -1
  756. package/dist/{workflow-step-action-DmUW2AMM.js → workflow-step-action-AG05Ly8P.js} +2 -2
  757. package/dist/{workflow-step-action-DmUW2AMM.js.map → workflow-step-action-AG05Ly8P.js.map} +1 -1
  758. package/dist/{workflow-step-action-Ssz6Z2t5.cjs → workflow-step-action-BsBZk7j6.cjs} +2 -2
  759. package/dist/{workflow-step-action-Ssz6Z2t5.cjs.map → workflow-step-action-BsBZk7j6.cjs.map} +1 -1
  760. package/package.json +10 -10
  761. package/dist/Avatar-BPHG0wrq.cjs +0 -45
  762. package/dist/Avatar-BPHG0wrq.cjs.map +0 -1
  763. package/dist/Avatar-DAnyIHjm.js +0 -43
  764. package/dist/Avatar-DAnyIHjm.js.map +0 -1
  765. package/dist/Button-BfZzgZrA.cjs.map +0 -1
  766. package/dist/Button-C8QDEN9j.js.map +0 -1
  767. package/dist/data-panel-DfVGx0Ea.js.map +0 -1
  768. package/dist/data-panel-Dhg7s3fD.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-edge-data-button-D5oK4NS5.js","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,sBAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEA,GAAA,CAAC,UAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAA,IAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,YAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,OAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,mBAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"workflow-edge-data-button-CXbj67U9.js","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,sBAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEA,GAAA,CAAC,UAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAA,IAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,YAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACA,GAAA,CAAC,UAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,OAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,mBAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -3,9 +3,9 @@
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
5
  const React = require('react');
6
- const workflowCodeDialogContent = require('./workflow-code-dialog-content-B7YU2kfe.cjs');
7
- const Button = require('./Button-BfZzgZrA.cjs');
8
- const dialog = require('./dialog-DQI9ChYf.cjs');
6
+ const workflowCodeDialogContent = require('./workflow-code-dialog-content-vC_ddCYp.cjs');
7
+ const Button = require('./Button-CAVPKK09.cjs');
8
+ const dialog = require('./dialog-B5nLi0ER.cjs');
9
9
  const Txt = require('./Txt-DXjXpX9r.cjs');
10
10
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
11
11
  const utils_cn = require('./cn-TqD01zH-.cjs');
@@ -51,4 +51,4 @@ const WorkflowEdgeDataButton = ({
51
51
  };
52
52
 
53
53
  exports.WorkflowEdgeDataButton = WorkflowEdgeDataButton;
54
- //# sourceMappingURL=workflow-edge-data-button-Cz2rcoDr.cjs.map
54
+ //# sourceMappingURL=workflow-edge-data-button-av1zCMfP.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-edge-data-button-Cz2rcoDr.cjs","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":["useState","jsxs","Fragment","jsx","Button","cn","raisedSurfaceStyle","surfaceStateLayerStyle","Database","Dialog","DialogContent","DialogHeader","DialogTitle","DialogBody","Txt","WorkflowCodeContent"],"mappings":";;;;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAWC,WAAA;AAAA,UACTC,2CAAA;AAAA,UACAC,+CAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAMJ,cAAA,CAACK,oBAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEAL,cAAA,CAACM,iBAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAAR,eAAA,CAACS,oBAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAAP,cAAA,CAACQ,mBAAA,EAAA,EACC,QAAA,kBAAAR,cAAA,CAACS,kBAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACAT,cAAA,CAACU,iBAAA,EAAA,EACC,QAAA,kBAAAZ,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAACW,WAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACAX,cAAA,CAACY,6CAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"workflow-edge-data-button-av1zCMfP.cjs","sources":["../src/ds/components/Workflow/data/workflow-edge-data-button.tsx"],"sourcesContent":["import { Database } from 'lucide-react';\nimport { useState } from 'react';\nimport type { MouseEventHandler } from 'react';\nimport { WorkflowCodeContent } from './workflow-code-dialog-content';\nimport { Button } from '@/ds/components/Button';\nimport { Dialog, DialogBody, DialogContent, DialogHeader, DialogTitle } from '@/ds/components/Dialog';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle, surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nexport interface WorkflowEdgeDataButtonProps {\n previousStepId?: string;\n output?: unknown;\n label?: string;\n selected?: boolean;\n onInspect?: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const WorkflowEdgeDataButton = ({\n previousStepId,\n output,\n label,\n selected,\n onInspect,\n}: WorkflowEdgeDataButtonProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const dataLabel = label ?? (previousStepId ? `${previousStepId} output` : 'Previous output');\n\n if (output === undefined) {\n return null;\n }\n\n return (\n <>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n onClick={onInspect ?? (() => setIsOpen(true))}\n aria-label={`View ${dataLabel}`}\n aria-pressed={selected}\n className={cn(\n raisedSurfaceStyle,\n surfaceStateLayerStyle,\n 'h-7 rounded-lg px-2 text-foreground aria-pressed:before:bg-fill',\n )}\n icon={<Database className=\"text-muted-foreground\" />}\n >\n Data\n </Button>\n\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent size=\"xl\">\n <DialogHeader>\n <DialogTitle>Step output</DialogTitle>\n </DialogHeader>\n <DialogBody>\n <div className=\"min-w-0 rounded-lg border border-border bg-background p-3\">\n <Txt variant=\"caption\" tone=\"ink\" className=\"mb-2 block\">\n {dataLabel}\n </Txt>\n <WorkflowCodeContent data={output} />\n </div>\n </DialogBody>\n </DialogContent>\n </Dialog>\n </>\n );\n};\n"],"names":["useState","jsxs","Fragment","jsx","Button","cn","raisedSurfaceStyle","surfaceStateLayerStyle","Database","Dialog","DialogContent","DialogHeader","DialogTitle","DialogBody","Txt","WorkflowCodeContent"],"mappings":";;;;;;;;;;;;AAkBO,MAAM,yBAAyB,CAAC;AAAA,EACrC,cAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,KAAmC;AACjC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,KAAA,KAAU,cAAA,GAAiB,CAAA,EAAG,cAAc,CAAA,OAAA,CAAA,GAAY,iBAAA,CAAA;AAE1E,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,OAAA,EAAS,SAAA,KAAc,MAAM,SAAA,CAAU,IAAI,CAAA,CAAA;AAAA,QAC3C,YAAA,EAAY,QAAQ,SAAS,CAAA,CAAA;AAAA,QAC7B,cAAA,EAAc,QAAA;AAAA,QACd,SAAA,EAAWC,WAAA;AAAA,UACTC,2CAAA;AAAA,UACAC,+CAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,IAAA,kBAAMJ,cAAA,CAACK,oBAAA,EAAA,EAAS,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,QACnD,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBAEAL,cAAA,CAACM,iBAAO,IAAA,EAAM,MAAA,EAAQ,cAAc,SAAA,EAClC,QAAA,kBAAAR,eAAA,CAACS,oBAAA,EAAA,EAAc,IAAA,EAAK,IAAA,EAClB,QAAA,EAAA;AAAA,sBAAAP,cAAA,CAACQ,mBAAA,EAAA,EACC,QAAA,kBAAAR,cAAA,CAACS,kBAAA,EAAA,EAAY,QAAA,EAAA,aAAA,EAAW,CAAA,EAC1B,CAAA;AAAA,sBACAT,cAAA,CAACU,iBAAA,EAAA,EACC,QAAA,kBAAAZ,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,2DAAA,EACb,QAAA,EAAA;AAAA,wBAAAE,cAAA,CAACW,WAAI,OAAA,EAAQ,SAAA,EAAU,MAAK,KAAA,EAAM,SAAA,EAAU,cACzC,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,wBACAX,cAAA,CAACY,6CAAA,EAAA,EAAoB,IAAA,EAAM,MAAA,EAAQ;AAAA,OAAA,EACrC,CAAA,EACF;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { MoreVerticalIcon, ShieldAlertIcon, AlertCircleIcon, RotateCcwIcon, StepForwardIcon, PlayIcon, Clock3Icon, BracesIcon, PanelRightIcon } from 'lucide-react';
3
- import { B as Button } from './Button-C8QDEN9j.js';
3
+ import { B as Button } from './Button-60jVnaHt.js';
4
4
  import { D as DropdownMenu } from './dropdown-menu-D8GR_NhL.js';
5
5
 
6
6
  function WorkflowStepActions({ children }) {
@@ -46,4 +46,4 @@ function WorkflowStepAction({ action, isActive, onSelect }) {
46
46
  }
47
47
 
48
48
  export { WorkflowStepAction as W, WorkflowStepActions as a };
49
- //# sourceMappingURL=workflow-step-action-DmUW2AMM.js.map
49
+ //# sourceMappingURL=workflow-step-action-AG05Ly8P.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-step-action-DmUW2AMM.js","sources":["../src/ds/components/Workflow/controls/workflow-step-actions.tsx","../src/ds/components/Workflow/controls/workflow-step-action.tsx"],"sourcesContent":["import { MoreVerticalIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nexport function WorkflowStepActions({ children }: { children: ReactNode }) {\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Step actions\"\n title=\"Step actions\"\n className=\"nodrag nopan\"\n >\n <MoreVerticalIcon />\n </Button>\n }\n />\n <DropdownMenu.Content align=\"end\">{children}</DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n","import {\n AlertCircleIcon,\n BracesIcon,\n Clock3Icon,\n PanelRightIcon,\n PlayIcon,\n RotateCcwIcon,\n ShieldAlertIcon,\n StepForwardIcon,\n} from 'lucide-react';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nconst actions = {\n nested: { icon: PanelRightIcon, label: 'View nested graph', activeLabel: 'Hide nested graph' },\n map: { icon: BracesIcon, label: 'Map config', activeLabel: 'Hide map config' },\n timeTravel: { icon: Clock3Icon, label: 'Time travel' },\n runStep: { icon: PlayIcon, label: 'Run step' },\n continueRun: { icon: StepForwardIcon, label: 'Continue run' },\n resumeData: { icon: RotateCcwIcon, label: 'Resume data' },\n error: { icon: AlertCircleIcon, label: 'Error' },\n tripwire: { icon: ShieldAlertIcon, label: 'Tripwire' },\n};\n\nexport interface WorkflowStepActionProps {\n action: keyof typeof actions;\n isActive?: boolean;\n onSelect: () => void;\n}\n\nexport function WorkflowStepAction({ action, isActive, onSelect }: WorkflowStepActionProps) {\n const definition = actions[action];\n const ActionIcon = definition.icon;\n const label = isActive && 'activeLabel' in definition ? definition.activeLabel : definition.label;\n return (\n <DropdownMenu.Item onSelect={onSelect} className={action === 'tripwire' ? 'text-warning-foreground' : undefined}>\n <ActionIcon />\n <span>{label}</span>\n </DropdownMenu.Item>\n );\n}\n"],"names":[],"mappings":";;;;;AAKO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAA4B;AACzE,EAAA,4BACG,YAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,YAAA,CAAa,OAAA;AAAA,MAAb;AAAA,QACC,MAAA,kBACE,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,SAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,YAAA,EAAW,cAAA;AAAA,YACX,KAAA,EAAM,cAAA;AAAA,YACN,SAAA,EAAU,cAAA;AAAA,YAEV,8BAAC,gBAAA,EAAA,EAAiB;AAAA;AAAA;AACpB;AAAA,KAEJ;AAAA,wBACC,YAAA,CAAa,OAAA,EAAb,EAAqB,KAAA,EAAM,OAAO,QAAA,EAAS;AAAA,GAAA,EAC9C,CAAA;AAEJ;;ACZA,MAAM,OAAA,GAAU;AAAA,EACd,QAAQ,EAAE,IAAA,EAAM,gBAAgB,KAAA,EAAO,mBAAA,EAAqB,aAAa,mBAAA,EAAoB;AAAA,EAC7F,KAAK,EAAE,IAAA,EAAM,YAAY,KAAA,EAAO,YAAA,EAAc,aAAa,iBAAA,EAAkB;AAAA,EAC7E,UAAA,EAAY,EAAE,IAAA,EAAM,UAAA,EAAY,OAAO,aAAA,EAAc;AAAA,EACrD,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAW;AAAA,EAC7C,WAAA,EAAa,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,cAAA,EAAe;AAAA,EAC5D,UAAA,EAAY,EAAE,IAAA,EAAM,aAAA,EAAe,OAAO,aAAA,EAAc;AAAA,EACxD,KAAA,EAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAC/C,QAAA,EAAU,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,UAAA;AAC5C,CAAA;AAQO,SAAS,kBAAA,CAAmB,EAAE,MAAA,EAAQ,QAAA,EAAU,UAAS,EAA4B;AAC1F,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM,CAAA;AACjC,EAAA,MAAM,aAAa,UAAA,CAAW,IAAA;AAC9B,EAAA,MAAM,QAAQ,QAAA,IAAY,aAAA,IAAiB,UAAA,GAAa,UAAA,CAAW,cAAc,UAAA,CAAW,KAAA;AAC5F,EAAA,uBACE,IAAA,CAAC,aAAa,IAAA,EAAb,EAAkB,UAAoB,SAAA,EAAW,MAAA,KAAW,UAAA,GAAa,yBAAA,GAA4B,MAAA,EACpG,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,CAAA;AAAA,oBACZ,GAAA,CAAC,UAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACf,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"workflow-step-action-AG05Ly8P.js","sources":["../src/ds/components/Workflow/controls/workflow-step-actions.tsx","../src/ds/components/Workflow/controls/workflow-step-action.tsx"],"sourcesContent":["import { MoreVerticalIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nexport function WorkflowStepActions({ children }: { children: ReactNode }) {\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Step actions\"\n title=\"Step actions\"\n className=\"nodrag nopan\"\n >\n <MoreVerticalIcon />\n </Button>\n }\n />\n <DropdownMenu.Content align=\"end\">{children}</DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n","import {\n AlertCircleIcon,\n BracesIcon,\n Clock3Icon,\n PanelRightIcon,\n PlayIcon,\n RotateCcwIcon,\n ShieldAlertIcon,\n StepForwardIcon,\n} from 'lucide-react';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nconst actions = {\n nested: { icon: PanelRightIcon, label: 'View nested graph', activeLabel: 'Hide nested graph' },\n map: { icon: BracesIcon, label: 'Map config', activeLabel: 'Hide map config' },\n timeTravel: { icon: Clock3Icon, label: 'Time travel' },\n runStep: { icon: PlayIcon, label: 'Run step' },\n continueRun: { icon: StepForwardIcon, label: 'Continue run' },\n resumeData: { icon: RotateCcwIcon, label: 'Resume data' },\n error: { icon: AlertCircleIcon, label: 'Error' },\n tripwire: { icon: ShieldAlertIcon, label: 'Tripwire' },\n};\n\nexport interface WorkflowStepActionProps {\n action: keyof typeof actions;\n isActive?: boolean;\n onSelect: () => void;\n}\n\nexport function WorkflowStepAction({ action, isActive, onSelect }: WorkflowStepActionProps) {\n const definition = actions[action];\n const ActionIcon = definition.icon;\n const label = isActive && 'activeLabel' in definition ? definition.activeLabel : definition.label;\n return (\n <DropdownMenu.Item onSelect={onSelect} className={action === 'tripwire' ? 'text-warning-foreground' : undefined}>\n <ActionIcon />\n <span>{label}</span>\n </DropdownMenu.Item>\n );\n}\n"],"names":[],"mappings":";;;;;AAKO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAA4B;AACzE,EAAA,4BACG,YAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,YAAA,CAAa,OAAA;AAAA,MAAb;AAAA,QACC,MAAA,kBACE,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,SAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,YAAA,EAAW,cAAA;AAAA,YACX,KAAA,EAAM,cAAA;AAAA,YACN,SAAA,EAAU,cAAA;AAAA,YAEV,8BAAC,gBAAA,EAAA,EAAiB;AAAA;AAAA;AACpB;AAAA,KAEJ;AAAA,wBACC,YAAA,CAAa,OAAA,EAAb,EAAqB,KAAA,EAAM,OAAO,QAAA,EAAS;AAAA,GAAA,EAC9C,CAAA;AAEJ;;ACZA,MAAM,OAAA,GAAU;AAAA,EACd,QAAQ,EAAE,IAAA,EAAM,gBAAgB,KAAA,EAAO,mBAAA,EAAqB,aAAa,mBAAA,EAAoB;AAAA,EAC7F,KAAK,EAAE,IAAA,EAAM,YAAY,KAAA,EAAO,YAAA,EAAc,aAAa,iBAAA,EAAkB;AAAA,EAC7E,UAAA,EAAY,EAAE,IAAA,EAAM,UAAA,EAAY,OAAO,aAAA,EAAc;AAAA,EACrD,OAAA,EAAS,EAAE,IAAA,EAAM,QAAA,EAAU,OAAO,UAAA,EAAW;AAAA,EAC7C,WAAA,EAAa,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,cAAA,EAAe;AAAA,EAC5D,UAAA,EAAY,EAAE,IAAA,EAAM,aAAA,EAAe,OAAO,aAAA,EAAc;AAAA,EACxD,KAAA,EAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAC/C,QAAA,EAAU,EAAE,IAAA,EAAM,eAAA,EAAiB,OAAO,UAAA;AAC5C,CAAA;AAQO,SAAS,kBAAA,CAAmB,EAAE,MAAA,EAAQ,QAAA,EAAU,UAAS,EAA4B;AAC1F,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM,CAAA;AACjC,EAAA,MAAM,aAAa,UAAA,CAAW,IAAA;AAC9B,EAAA,MAAM,QAAQ,QAAA,IAAY,aAAA,IAAiB,UAAA,GAAa,UAAA,CAAW,cAAc,UAAA,CAAW,KAAA;AAC5F,EAAA,uBACE,IAAA,CAAC,aAAa,IAAA,EAAb,EAAkB,UAAoB,SAAA,EAAW,MAAA,KAAW,UAAA,GAAa,yBAAA,GAA4B,MAAA,EACpG,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,CAAA;AAAA,oBACZ,GAAA,CAAC,UAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACf,CAAA;AAEJ;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
- const Button = require('./Button-BfZzgZrA.cjs');
5
+ const Button = require('./Button-CAVPKK09.cjs');
6
6
  const dropdownMenu = require('./dropdown-menu-Bg96BCnK.cjs');
7
7
 
8
8
  function WorkflowStepActions({ children }) {
@@ -49,4 +49,4 @@ function WorkflowStepAction({ action, isActive, onSelect }) {
49
49
 
50
50
  exports.WorkflowStepAction = WorkflowStepAction;
51
51
  exports.WorkflowStepActions = WorkflowStepActions;
52
- //# sourceMappingURL=workflow-step-action-Ssz6Z2t5.cjs.map
52
+ //# sourceMappingURL=workflow-step-action-BsBZk7j6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-step-action-Ssz6Z2t5.cjs","sources":["../src/ds/components/Workflow/controls/workflow-step-actions.tsx","../src/ds/components/Workflow/controls/workflow-step-action.tsx"],"sourcesContent":["import { MoreVerticalIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nexport function WorkflowStepActions({ children }: { children: ReactNode }) {\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Step actions\"\n title=\"Step actions\"\n className=\"nodrag nopan\"\n >\n <MoreVerticalIcon />\n </Button>\n }\n />\n <DropdownMenu.Content align=\"end\">{children}</DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n","import {\n AlertCircleIcon,\n BracesIcon,\n Clock3Icon,\n PanelRightIcon,\n PlayIcon,\n RotateCcwIcon,\n ShieldAlertIcon,\n StepForwardIcon,\n} from 'lucide-react';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nconst actions = {\n nested: { icon: PanelRightIcon, label: 'View nested graph', activeLabel: 'Hide nested graph' },\n map: { icon: BracesIcon, label: 'Map config', activeLabel: 'Hide map config' },\n timeTravel: { icon: Clock3Icon, label: 'Time travel' },\n runStep: { icon: PlayIcon, label: 'Run step' },\n continueRun: { icon: StepForwardIcon, label: 'Continue run' },\n resumeData: { icon: RotateCcwIcon, label: 'Resume data' },\n error: { icon: AlertCircleIcon, label: 'Error' },\n tripwire: { icon: ShieldAlertIcon, label: 'Tripwire' },\n};\n\nexport interface WorkflowStepActionProps {\n action: keyof typeof actions;\n isActive?: boolean;\n onSelect: () => void;\n}\n\nexport function WorkflowStepAction({ action, isActive, onSelect }: WorkflowStepActionProps) {\n const definition = actions[action];\n const ActionIcon = definition.icon;\n const label = isActive && 'activeLabel' in definition ? definition.activeLabel : definition.label;\n return (\n <DropdownMenu.Item onSelect={onSelect} className={action === 'tripwire' ? 'text-warning-foreground' : undefined}>\n <ActionIcon />\n <span>{label}</span>\n </DropdownMenu.Item>\n );\n}\n"],"names":["DropdownMenu","jsx","Button","MoreVerticalIcon","PanelRightIcon","BracesIcon","Clock3Icon","PlayIcon","StepForwardIcon","RotateCcwIcon","AlertCircleIcon","ShieldAlertIcon","jsxs"],"mappings":";;;;;;;AAKO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAA4B;AACzE,EAAA,uCACGA,yBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACD,yBAAA,CAAa,OAAA;AAAA,MAAb;AAAA,QACC,MAAA,kBACEC,cAAA;AAAA,UAACC,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,SAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,YAAA,EAAW,cAAA;AAAA,YACX,KAAA,EAAM,cAAA;AAAA,YACN,SAAA,EAAU,cAAA;AAAA,YAEV,yCAACC,4BAAA,EAAA,EAAiB;AAAA;AAAA;AACpB;AAAA,KAEJ;AAAA,mCACCH,yBAAA,CAAa,OAAA,EAAb,EAAqB,KAAA,EAAM,OAAO,QAAA,EAAS;AAAA,GAAA,EAC9C,CAAA;AAEJ;;ACZA,MAAM,OAAA,GAAU;AAAA,EACd,QAAQ,EAAE,IAAA,EAAMI,4BAAgB,KAAA,EAAO,mBAAA,EAAqB,aAAa,mBAAA,EAAoB;AAAA,EAC7F,KAAK,EAAE,IAAA,EAAMC,wBAAY,KAAA,EAAO,YAAA,EAAc,aAAa,iBAAA,EAAkB;AAAA,EAC7E,UAAA,EAAY,EAAE,IAAA,EAAMC,sBAAA,EAAY,OAAO,aAAA,EAAc;AAAA,EACrD,OAAA,EAAS,EAAE,IAAA,EAAMC,oBAAA,EAAU,OAAO,UAAA,EAAW;AAAA,EAC7C,WAAA,EAAa,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,cAAA,EAAe;AAAA,EAC5D,UAAA,EAAY,EAAE,IAAA,EAAMC,yBAAA,EAAe,OAAO,aAAA,EAAc;AAAA,EACxD,KAAA,EAAO,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAC/C,QAAA,EAAU,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,UAAA;AAC5C,CAAA;AAQO,SAAS,kBAAA,CAAmB,EAAE,MAAA,EAAQ,QAAA,EAAU,UAAS,EAA4B;AAC1F,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM,CAAA;AACjC,EAAA,MAAM,aAAa,UAAA,CAAW,IAAA;AAC9B,EAAA,MAAM,QAAQ,QAAA,IAAY,aAAA,IAAiB,UAAA,GAAa,UAAA,CAAW,cAAc,UAAA,CAAW,KAAA;AAC5F,EAAA,uBACEC,eAAA,CAACZ,0BAAa,IAAA,EAAb,EAAkB,UAAoB,SAAA,EAAW,MAAA,KAAW,UAAA,GAAa,yBAAA,GAA4B,MAAA,EACpG,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAA,EAAA,EAAW,CAAA;AAAA,oBACZA,cAAA,CAAC,UAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACf,CAAA;AAEJ;;;;;"}
1
+ {"version":3,"file":"workflow-step-action-BsBZk7j6.cjs","sources":["../src/ds/components/Workflow/controls/workflow-step-actions.tsx","../src/ds/components/Workflow/controls/workflow-step-action.tsx"],"sourcesContent":["import { MoreVerticalIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nexport function WorkflowStepActions({ children }: { children: ReactNode }) {\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger\n render={\n <Button\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label=\"Step actions\"\n title=\"Step actions\"\n className=\"nodrag nopan\"\n >\n <MoreVerticalIcon />\n </Button>\n }\n />\n <DropdownMenu.Content align=\"end\">{children}</DropdownMenu.Content>\n </DropdownMenu>\n );\n}\n","import {\n AlertCircleIcon,\n BracesIcon,\n Clock3Icon,\n PanelRightIcon,\n PlayIcon,\n RotateCcwIcon,\n ShieldAlertIcon,\n StepForwardIcon,\n} from 'lucide-react';\nimport { DropdownMenu } from '@/ds/components/DropdownMenu';\n\nconst actions = {\n nested: { icon: PanelRightIcon, label: 'View nested graph', activeLabel: 'Hide nested graph' },\n map: { icon: BracesIcon, label: 'Map config', activeLabel: 'Hide map config' },\n timeTravel: { icon: Clock3Icon, label: 'Time travel' },\n runStep: { icon: PlayIcon, label: 'Run step' },\n continueRun: { icon: StepForwardIcon, label: 'Continue run' },\n resumeData: { icon: RotateCcwIcon, label: 'Resume data' },\n error: { icon: AlertCircleIcon, label: 'Error' },\n tripwire: { icon: ShieldAlertIcon, label: 'Tripwire' },\n};\n\nexport interface WorkflowStepActionProps {\n action: keyof typeof actions;\n isActive?: boolean;\n onSelect: () => void;\n}\n\nexport function WorkflowStepAction({ action, isActive, onSelect }: WorkflowStepActionProps) {\n const definition = actions[action];\n const ActionIcon = definition.icon;\n const label = isActive && 'activeLabel' in definition ? definition.activeLabel : definition.label;\n return (\n <DropdownMenu.Item onSelect={onSelect} className={action === 'tripwire' ? 'text-warning-foreground' : undefined}>\n <ActionIcon />\n <span>{label}</span>\n </DropdownMenu.Item>\n );\n}\n"],"names":["DropdownMenu","jsx","Button","MoreVerticalIcon","PanelRightIcon","BracesIcon","Clock3Icon","PlayIcon","StepForwardIcon","RotateCcwIcon","AlertCircleIcon","ShieldAlertIcon","jsxs"],"mappings":";;;;;;;AAKO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAA4B;AACzE,EAAA,uCACGA,yBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACD,yBAAA,CAAa,OAAA;AAAA,MAAb;AAAA,QACC,MAAA,kBACEC,cAAA;AAAA,UAACC,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,SAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,YAAA,EAAW,cAAA;AAAA,YACX,KAAA,EAAM,cAAA;AAAA,YACN,SAAA,EAAU,cAAA;AAAA,YAEV,yCAACC,4BAAA,EAAA,EAAiB;AAAA;AAAA;AACpB;AAAA,KAEJ;AAAA,mCACCH,yBAAA,CAAa,OAAA,EAAb,EAAqB,KAAA,EAAM,OAAO,QAAA,EAAS;AAAA,GAAA,EAC9C,CAAA;AAEJ;;ACZA,MAAM,OAAA,GAAU;AAAA,EACd,QAAQ,EAAE,IAAA,EAAMI,4BAAgB,KAAA,EAAO,mBAAA,EAAqB,aAAa,mBAAA,EAAoB;AAAA,EAC7F,KAAK,EAAE,IAAA,EAAMC,wBAAY,KAAA,EAAO,YAAA,EAAc,aAAa,iBAAA,EAAkB;AAAA,EAC7E,UAAA,EAAY,EAAE,IAAA,EAAMC,sBAAA,EAAY,OAAO,aAAA,EAAc;AAAA,EACrD,OAAA,EAAS,EAAE,IAAA,EAAMC,oBAAA,EAAU,OAAO,UAAA,EAAW;AAAA,EAC7C,WAAA,EAAa,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,cAAA,EAAe;AAAA,EAC5D,UAAA,EAAY,EAAE,IAAA,EAAMC,yBAAA,EAAe,OAAO,aAAA,EAAc;AAAA,EACxD,KAAA,EAAO,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,OAAA,EAAQ;AAAA,EAC/C,QAAA,EAAU,EAAE,IAAA,EAAMC,2BAAA,EAAiB,OAAO,UAAA;AAC5C,CAAA;AAQO,SAAS,kBAAA,CAAmB,EAAE,MAAA,EAAQ,QAAA,EAAU,UAAS,EAA4B;AAC1F,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM,CAAA;AACjC,EAAA,MAAM,aAAa,UAAA,CAAW,IAAA;AAC9B,EAAA,MAAM,QAAQ,QAAA,IAAY,aAAA,IAAiB,UAAA,GAAa,UAAA,CAAW,cAAc,UAAA,CAAW,KAAA;AAC5F,EAAA,uBACEC,eAAA,CAACZ,0BAAa,IAAA,EAAb,EAAkB,UAAoB,SAAA,EAAW,MAAA,KAAW,UAAA,GAAa,yBAAA,GAA4B,MAAA,EACpG,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,UAAA,EAAA,EAAW,CAAA;AAAA,oBACZA,cAAA,CAAC,UAAM,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACf,CAAA;AAEJ;;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mastra/playground-ui",
3
3
  "type": "module",
4
- "version": "63.0.0-alpha.1",
4
+ "version": "63.0.0-alpha.3",
5
5
  "description": "Mastra Playground components",
6
6
  "sideEffects": [
7
7
  "**/*.css"
@@ -202,12 +202,12 @@
202
202
  "react": ">=19.0.0",
203
203
  "react-dom": ">=19.0.0",
204
204
  "tailwindcss": "^4.0.0",
205
- "@mastra/ai-sdk": "^1.11.0",
206
- "@mastra/react": "1.10.0-alpha.1",
207
- "@mastra/client-js": "^1.54.0-alpha.1"
205
+ "@mastra/ai-sdk": "^1.11.1-alpha.0",
206
+ "@mastra/client-js": "^1.54.0-alpha.3",
207
+ "@mastra/react": "1.10.0-alpha.3"
208
208
  },
209
209
  "devDependencies": {
210
- "@modelcontextprotocol/sdk": "^1.31.0",
210
+ "@modelcontextprotocol/sdk": "^1.32.1",
211
211
  "@storybook/addon-a11y": "^10.6.0",
212
212
  "@storybook/addon-docs": "^10.6.0",
213
213
  "@storybook/addon-mcp": "^10.6.0",
@@ -250,11 +250,11 @@
250
250
  "vite-plugin-lib-inject-css": "^2.2.2",
251
251
  "vitest": "4.1.11",
252
252
  "@internal/lint": "0.0.142",
253
- "@mastra/ai-sdk": "1.11.0",
254
- "@mastra/client-js": "^1.54.0-alpha.1",
255
- "@mastra/core": "1.77.0-alpha.1",
256
- "@mastra/memory": "1.37.1-alpha.1",
257
- "@mastra/react": "1.10.0-alpha.1",
253
+ "@mastra/ai-sdk": "1.11.1-alpha.0",
254
+ "@mastra/client-js": "^1.54.0-alpha.3",
255
+ "@mastra/memory": "1.37.1-alpha.2",
256
+ "@mastra/core": "1.77.0-alpha.3",
257
+ "@mastra/react": "1.10.0-alpha.3",
258
258
  "@mastra/schema-compat": "1.3.13"
259
259
  },
260
260
  "homepage": "https://mastra.ai",
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- const jsxRuntime = require('react/jsx-runtime');
4
- const React = require('react');
5
- const Txt = require('./Txt-DXjXpX9r.cjs');
6
- const primitives_transitions = require('./primitives/transitions.cjs.js');
7
- const utils_cn = require('./cn-TqD01zH-.cjs');
8
-
9
- const sizeClasses = {
10
- sm: "h-avatar-sm w-avatar-sm",
11
- md: "h-avatar-md w-avatar-md",
12
- lg: "h-avatar-lg w-avatar-lg"
13
- };
14
- const Avatar = ({ src, name, size = "sm", interactive = false, color, textColor }) => {
15
- const [didError, setDidError] = React.useState(false);
16
- const initial = name.trim()[0]?.toUpperCase() ?? "A";
17
- const showImage = Boolean(src) && !didError;
18
- const showFallbackTint = !showImage && Boolean(color);
19
- return /* @__PURE__ */ jsxRuntime.jsx(
20
- "div",
21
- {
22
- className: utils_cn.cn(
23
- sizeClasses[size],
24
- "flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border",
25
- !showFallbackTint && "bg-fill",
26
- primitives_transitions.controlStateColorTransition,
27
- interactive && "cursor-pointer hover:border-border-hover"
28
- ),
29
- style: showFallbackTint ? { backgroundColor: color } : void 0,
30
- children: showImage ? /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: name, className: "size-full object-cover", onError: () => setDidError(true) }) : /* @__PURE__ */ jsxRuntime.jsx(
31
- Txt.Txt,
32
- {
33
- variant: "body",
34
- tone: showFallbackTint ? void 0 : "muted",
35
- className: "text-center",
36
- style: showFallbackTint && textColor ? { color: textColor } : void 0,
37
- children: initial
38
- }
39
- )
40
- }
41
- );
42
- };
43
-
44
- exports.Avatar = Avatar;
45
- //# sourceMappingURL=Avatar-BPHG0wrq.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-BPHG0wrq.cjs","sources":["../src/ds/components/Avatar/Avatar.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Txt } from '../Txt';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarProps = {\n src?: string;\n name: string;\n size?: AvatarSize;\n interactive?: boolean;\n color?: string;\n textColor?: string;\n};\n\nconst sizeClasses: Record<AvatarSize, string> = {\n sm: 'h-avatar-sm w-avatar-sm',\n md: 'h-avatar-md w-avatar-md',\n lg: 'h-avatar-lg w-avatar-lg',\n};\n\nexport const Avatar = ({ src, name, size = 'sm', interactive = false, color, textColor }: AvatarProps) => {\n const [didError, setDidError] = useState(false);\n const initial = name.trim()[0]?.toUpperCase() ?? 'A';\n const showImage = Boolean(src) && !didError;\n const showFallbackTint = !showImage && Boolean(color);\n\n return (\n <div\n className={cn(\n sizeClasses[size],\n 'flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border',\n !showFallbackTint && 'bg-fill',\n controlStateColorTransition,\n interactive && 'cursor-pointer hover:border-border-hover',\n )}\n style={showFallbackTint ? { backgroundColor: color } : undefined}\n >\n {showImage ? (\n <img src={src} alt={name} className=\"size-full object-cover\" onError={() => setDidError(true)} />\n ) : (\n <Txt\n variant=\"body\"\n tone={showFallbackTint ? undefined : 'muted'}\n className=\"text-center\"\n style={showFallbackTint && textColor ? { color: textColor } : undefined}\n >\n {initial}\n </Txt>\n )}\n </div>\n );\n};\n"],"names":["useState","jsx","cn","controlStateColorTransition","Txt"],"mappings":";;;;;;;;AAiBA,MAAM,WAAA,GAA0C;AAAA,EAC9C,EAAA,EAAI,yBAAA;AAAA,EACJ,EAAA,EAAI,yBAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,MAAM,MAAA,GAAS,CAAC,EAAE,GAAA,EAAK,IAAA,EAAM,IAAA,GAAO,IAAA,EAAM,WAAA,GAAc,KAAA,EAAO,KAAA,EAAO,SAAA,EAAU,KAAmB;AACxG,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,UAAU,IAAA,CAAK,IAAA,GAAO,CAAC,CAAA,EAAG,aAAY,IAAK,GAAA;AACjD,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,CAAC,QAAA;AACnC,EAAA,MAAM,gBAAA,GAAmB,CAAC,SAAA,IAAa,OAAA,CAAQ,KAAK,CAAA;AAEpD,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,YAAY,IAAI,CAAA;AAAA,QAChB,6FAAA;AAAA,QACA,CAAC,gBAAA,IAAoB,SAAA;AAAA,QACrBC,kDAAA;AAAA,QACA,WAAA,IAAe;AAAA,OACjB;AAAA,MACA,KAAA,EAAO,gBAAA,GAAmB,EAAE,eAAA,EAAiB,OAAM,GAAI,MAAA;AAAA,MAEtD,QAAA,EAAA,SAAA,mBACCF,cAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,GAAA,EAAK,IAAA,EAAM,SAAA,EAAU,wBAAA,EAAyB,OAAA,EAAS,MAAM,WAAA,CAAY,IAAI,GAAG,CAAA,mBAE/FA,cAAA;AAAA,QAACG,OAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,MAAA;AAAA,UACR,IAAA,EAAM,mBAAmB,MAAA,GAAY,OAAA;AAAA,UACrC,SAAA,EAAU,aAAA;AAAA,UACV,OAAO,gBAAA,IAAoB,SAAA,GAAY,EAAE,KAAA,EAAO,WAAU,GAAI,MAAA;AAAA,UAE7D,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,GAEJ;AAEJ;;;;"}
@@ -1,43 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useState } from 'react';
3
- import { T as Txt } from './Txt-BuzYj7Vy.js';
4
- import { controlStateColorTransition } from './primitives/transitions.es.js';
5
- import { c as cn } from './cn-coERSHz5.js';
6
-
7
- const sizeClasses = {
8
- sm: "h-avatar-sm w-avatar-sm",
9
- md: "h-avatar-md w-avatar-md",
10
- lg: "h-avatar-lg w-avatar-lg"
11
- };
12
- const Avatar = ({ src, name, size = "sm", interactive = false, color, textColor }) => {
13
- const [didError, setDidError] = useState(false);
14
- const initial = name.trim()[0]?.toUpperCase() ?? "A";
15
- const showImage = Boolean(src) && !didError;
16
- const showFallbackTint = !showImage && Boolean(color);
17
- return /* @__PURE__ */ jsx(
18
- "div",
19
- {
20
- className: cn(
21
- sizeClasses[size],
22
- "flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border",
23
- !showFallbackTint && "bg-fill",
24
- controlStateColorTransition,
25
- interactive && "cursor-pointer hover:border-border-hover"
26
- ),
27
- style: showFallbackTint ? { backgroundColor: color } : void 0,
28
- children: showImage ? /* @__PURE__ */ jsx("img", { src, alt: name, className: "size-full object-cover", onError: () => setDidError(true) }) : /* @__PURE__ */ jsx(
29
- Txt,
30
- {
31
- variant: "body",
32
- tone: showFallbackTint ? void 0 : "muted",
33
- className: "text-center",
34
- style: showFallbackTint && textColor ? { color: textColor } : void 0,
35
- children: initial
36
- }
37
- )
38
- }
39
- );
40
- };
41
-
42
- export { Avatar as A };
43
- //# sourceMappingURL=Avatar-DAnyIHjm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-DAnyIHjm.js","sources":["../src/ds/components/Avatar/Avatar.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { Txt } from '../Txt';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarProps = {\n src?: string;\n name: string;\n size?: AvatarSize;\n interactive?: boolean;\n color?: string;\n textColor?: string;\n};\n\nconst sizeClasses: Record<AvatarSize, string> = {\n sm: 'h-avatar-sm w-avatar-sm',\n md: 'h-avatar-md w-avatar-md',\n lg: 'h-avatar-lg w-avatar-lg',\n};\n\nexport const Avatar = ({ src, name, size = 'sm', interactive = false, color, textColor }: AvatarProps) => {\n const [didError, setDidError] = useState(false);\n const initial = name.trim()[0]?.toUpperCase() ?? 'A';\n const showImage = Boolean(src) && !didError;\n const showFallbackTint = !showImage && Boolean(color);\n\n return (\n <div\n className={cn(\n sizeClasses[size],\n 'flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border',\n !showFallbackTint && 'bg-fill',\n controlStateColorTransition,\n interactive && 'cursor-pointer hover:border-border-hover',\n )}\n style={showFallbackTint ? { backgroundColor: color } : undefined}\n >\n {showImage ? (\n <img src={src} alt={name} className=\"size-full object-cover\" onError={() => setDidError(true)} />\n ) : (\n <Txt\n variant=\"body\"\n tone={showFallbackTint ? undefined : 'muted'}\n className=\"text-center\"\n style={showFallbackTint && textColor ? { color: textColor } : undefined}\n >\n {initial}\n </Txt>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,WAAA,GAA0C;AAAA,EAC9C,EAAA,EAAI,yBAAA;AAAA,EACJ,EAAA,EAAI,yBAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEO,MAAM,MAAA,GAAS,CAAC,EAAE,GAAA,EAAK,IAAA,EAAM,IAAA,GAAO,IAAA,EAAM,WAAA,GAAc,KAAA,EAAO,KAAA,EAAO,SAAA,EAAU,KAAmB;AACxG,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,UAAU,IAAA,CAAK,IAAA,GAAO,CAAC,CAAA,EAAG,aAAY,IAAK,GAAA;AACjD,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,GAAG,CAAA,IAAK,CAAC,QAAA;AACnC,EAAA,MAAM,gBAAA,GAAmB,CAAC,SAAA,IAAa,OAAA,CAAQ,KAAK,CAAA;AAEpD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,YAAY,IAAI,CAAA;AAAA,QAChB,6FAAA;AAAA,QACA,CAAC,gBAAA,IAAoB,SAAA;AAAA,QACrB,2BAAA;AAAA,QACA,WAAA,IAAe;AAAA,OACjB;AAAA,MACA,KAAA,EAAO,gBAAA,GAAmB,EAAE,eAAA,EAAiB,OAAM,GAAI,MAAA;AAAA,MAEtD,QAAA,EAAA,SAAA,mBACC,GAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,GAAA,EAAK,IAAA,EAAM,SAAA,EAAU,wBAAA,EAAyB,OAAA,EAAS,MAAM,WAAA,CAAY,IAAI,GAAG,CAAA,mBAE/F,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,MAAA;AAAA,UACR,IAAA,EAAM,mBAAmB,MAAA,GAAY,OAAA;AAAA,UACrC,SAAA,EAAU,aAAA;AAAA,UACV,OAAO,gBAAA,IAAoB,SAAA,GAAY,EAAE,KAAA,EAAO,WAAU,GAAI,MAAA;AAAA,UAE7D,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,GAEJ;AAEJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-BfZzgZrA.cjs","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 React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses, type IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label and larger radius.\n// - `[data-slot=button-icon]` styles the `<Icon>` wrapper rendered by the `icon` prop — the only\n// supported way to pair an icon with a label (always on the left, fixed gap).\n// - `[&>svg]` only remains for label-less text-mode buttons (e.g. CopyButton) that pass a bare\n// SVG as children.\n// Excluded from icon-mode because icon-mode wraps children in `<Icon>` and uses its own\n// `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>[data-slot=button-icon]]:-ml-[.3em]',\n '[&>[data-slot=button-icon-end]]:-mr-1',\n '[&>svg]:mx-[-.3em]',\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 '[&>[data-slot=button-icon-end]]:mr-0 [&>[data-slot=button-icon]]:ml-0 [&>svg]:mx-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// An icon is secondary to the label beside it, and on a neutral surface it says so with\n// a colour token rather than opacity. Opacity dims against whatever sits behind the\n// control, so the same glyph clears contrast on one surface and fails on another, and it\n// left icon-only buttons with no hover response at all: only their background moved.\n// Filled variants opt out because there the glyph colour carries the meaning.\nconst NEUTRAL_ICON_STATE = cn(\n '[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground',\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 NEUTRAL_ICON_STATE,\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.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background 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 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 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 not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\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(controlSizeClasses.sm, iconSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, iconSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, 'px-[1em]', TEXT_MODE_ADORNMENTS),\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\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\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\nfunction 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// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\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 isLabelless = !iconMode && isIconOnly(children);\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 = ariaLabelProp ?? ((iconMode || isLabelless) && 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 renderedLink = React.isValidElement(render) && isLinkElement(render) ? render : 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 href: disabledHref,\n 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"],"names":["cn","iconSizeClasses","cva","controlStateColorTransition","sharedFormElementDisabledStyle","controlFocusBorderVisible","raisedControlSurfaceStyle","focusRingOffset","controlSizeClasses","controlHeight","jsx","Icon","tooltip","jsxs","Fragment","button","BaseButton","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-C8QDEN9j.js","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 React from 'react';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { iconSizeClasses, type IconSize } from '@/ds/icons/icon-size-classes';\nimport { controlHeight, controlSizeClasses } from '@/ds/primitives/control-size';\nimport {\n controlFocusBorderVisible,\n raisedControlSurfaceStyle,\n sharedFormElementDisabledStyle,\n} from '@/ds/primitives/form-element';\nimport { controlStateColorTransition, focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// Adornments for text-mode buttons: gap between icon+label and larger radius.\n// - `[data-slot=button-icon]` styles the `<Icon>` wrapper rendered by the `icon` prop — the only\n// supported way to pair an icon with a label (always on the left, fixed gap).\n// - `[&>svg]` only remains for label-less text-mode buttons (e.g. CopyButton) that pass a bare\n// SVG as children.\n// Excluded from icon-mode because icon-mode wraps children in `<Icon>` and uses its own\n// `rounded-full` (circle).\nconst TEXT_MODE_ADORNMENTS = cn(\n 'gap-[.75em] rounded-full',\n '[&>[data-slot=button-icon]]:-ml-[.3em]',\n '[&>[data-slot=button-icon-end]]:-mr-1',\n '[&>svg]:mx-[-.3em]',\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 '[&>[data-slot=button-icon-end]]:mr-0 [&>[data-slot=button-icon]]:ml-0 [&>svg]:mx-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// An icon is secondary to the label beside it, and on a neutral surface it says so with\n// a colour token rather than opacity. Opacity dims against whatever sits behind the\n// control, so the same glyph clears contrast on one surface and fails on another, and it\n// left icon-only buttons with no hover response at all: only their background moved.\n// Filled variants opt out because there the glyph colour carries the meaning.\nconst NEUTRAL_ICON_STATE = cn(\n '[&_svg]:text-muted-foreground not-disabled:hover:[&_svg]:text-foreground aria-disabled:[&_svg]:text-muted-foreground',\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 NEUTRAL_ICON_STATE,\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.\n primary: cn(\n 'border border-transparent bg-fill-inverse text-background 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 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 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 not-disabled:hover:bg-fill-subtle not-disabled:hover:text-foreground not-disabled:active:bg-fill',\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(controlSizeClasses.sm, iconSizeClasses.sm, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n md: cn(controlSizeClasses.md, iconSizeClasses.md, 'px-[.9em]', TEXT_MODE_ADORNMENTS),\n lg: cn(controlSizeClasses.lg, iconSizeClasses.lg, 'px-[1em]', TEXT_MODE_ADORNMENTS),\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\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\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\nfunction 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// Walks React children, expanding `<></>` fragments so `isIconOnly` can inspect the real\n// elements inside. `<Button><><Icon/></></Button>` should still count as icon-only.\nfunction flattenChildren(children: React.ReactNode): React.ReactNode[] {\n const result: React.ReactNode[] = [];\n React.Children.forEach(children, child => {\n if (React.isValidElement<{ children?: React.ReactNode }>(child) && child.type === React.Fragment) {\n result.push(...flattenChildren(child.props.children));\n } else {\n result.push(child);\n }\n });\n return result;\n}\n\n// True when every child is a React element (no text/label). Used in text-mode to brighten the\n// SVG of label-less buttons so the glyph reads stronger.\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 isLabelless = !iconMode && isIconOnly(children);\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 = ariaLabelProp ?? ((iconMode || isLabelless) && 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 renderedLink = React.isValidElement(render) && isLinkElement(render) ? render : 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 href: disabledHref,\n 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"],"names":["React","BaseButton"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-panel-DfVGx0Ea.js","sources":["../src/ds/components/DataPanel/data-panel-close-button.tsx","../src/ds/components/DataPanel/data-panel-content.tsx","../src/ds/components/DataPanel/data-panel-copy-id.tsx","../src/ds/components/DataPanel/data-panel-header.tsx","../src/ds/components/DataPanel/data-panel-header-actions.tsx","../src/ds/components/DataPanel/data-panel-header-content.tsx","../src/ds/components/DataPanel/data-panel-heading.tsx","../src/ds/components/DataPanel/data-panel-loading-data.tsx","../src/ds/components/DataPanel/data-panel-metadata.tsx","../src/ds/components/DataPanel/data-panel-next-prev-nav.tsx","../src/ds/components/DataPanel/data-panel-no-data.tsx","../src/ds/components/DataPanel/data-panel-root.tsx","../src/ds/components/DataPanel/data-panel.tsx"],"sourcesContent":["import { ArrowLeftIcon, XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n /** Accessible name; override it when the arrow leads somewhere other than \"closed\" (e.g. back to a parent view). */\n label?: string;\n /**\n * `arrow` (default) is the leading \"leave this panel\" control, rendered first in the header.\n * `x` dismisses a nested column in place and belongs in `HeaderActions`, on the right.\n */\n icon?: 'arrow' | 'x';\n className?: string;\n variant?: ButtonProps['variant'];\n}\n\nexport function DataPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n label = 'Close Panel',\n icon = 'arrow',\n className,\n variant = 'ghost',\n}: DataPanelCloseButtonProps) {\n return (\n <Button\n size=\"sm\"\n variant={variant}\n onClick={onClick}\n aria-label={label}\n tooltip={tooltip}\n className={cn('shrink-0', className)}\n >\n {icon === 'x' ? <XIcon /> : <ArrowLeftIcon />}\n </Button>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport type { ReactNode, Ref } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelContentProps {\n children: ReactNode;\n ref?: Ref<HTMLDivElement>;\n /** Layout overrides (e.g. padding) for the scroll container. */\n className?: string;\n}\n\n// `DrawerPrimitive.Content` marks the region as swipe-exempt so scrolling or\n// selecting text inside the panel body doesn't start a swipe-to-dismiss.\nexport function DataPanelContent({ children, ref, className }: DataPanelContentProps) {\n return (\n <DrawerPrimitive.Content ref={ref} className={cn('min-h-0 flex-1 overflow-y-auto px-2 py-3', className)}>\n {children}\n </DrawerPrimitive.Content>\n );\n}\n","import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface DataPanelCopyIdProps {\n id: string;\n /** Characters kept before the ellipsis. Defaults to 12. */\n maxLength?: number;\n}\n\n/**\n * Truncated identifier rendered inline in a `DataPanel.Heading`; clicking copies the full value.\n */\nexport function DataPanelCopyId({ id, maxLength = 12 }: DataPanelCopyIdProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({ text: id, showToast: false });\n const [open, setOpen] = useState(false);\n\n return (\n <Tooltip open={isCopied || open} onOpenChange={setOpen}>\n <TooltipTrigger\n render={\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" onClick={handleCopy}>\n {truncateString(id, maxLength)}\n </Button>\n }\n />\n <TooltipContent>{isCopied ? 'Copied to clipboard' : 'Copy to clipboard'}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeader({ className, children }: DataPanelHeaderProps) {\n return (\n <div\n className={cn(\n // Same box as the app `Header`. Single row: leading `CloseButton`, then the heading\n // (+ inline metadata via `HeaderContent`), then `HeaderActions` pushed to the right edge.\n // `gap-0.5` is the slight gap between the close arrow and the heading.\n 'flex min-h-header-default w-full items-center gap-0.5 px-2 py-1.5',\n // Bottom border only when something follows the header (i.e. the panel is expanded).\n // When the panel is collapsed and the header is the only child, the border auto-hides.\n 'not-last:border-b not-last:border-border',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","export interface DataPanelHeaderActionsProps {\n children: React.ReactNode;\n}\n\n/**\n * Right-side action slot of a `DataPanel.Header`. Mirrors `HeaderAction` with `gap-2`\n * (these are `size=\"sm\"` controls, like the page header actions) and wraps when the panel is too narrow.\n */\nexport function DataPanelHeaderActions({ children }: DataPanelHeaderActionsProps) {\n return <div className=\"ml-auto flex shrink-0 flex-wrap items-center justify-end gap-2 self-center\">{children}</div>;\n}\n","import { Children } from 'react';\n\nexport interface DataPanelHeaderContentProps {\n children: React.ReactNode;\n}\n\n/**\n * Left block of a `DataPanel.Header`: heading followed inline by optional `Metadata`, truncated when too long.\n * A vertical separator is rendered between the heading and the metadata when both are present.\n */\nexport function DataPanelHeaderContent({ children }: DataPanelHeaderContentProps) {\n const [heading, ...metadata] = Children.toArray(children);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-1 overflow-hidden\">\n {heading}\n {metadata.length > 0 && (\n <>\n <div aria-hidden=\"true\" className=\"mx-1 h-4 w-px shrink-0 bg-border-strong\" />\n {metadata}\n </>\n )}\n </div>\n );\n}\n","import { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeading({ className, children }: DataPanelHeadingProps) {\n return (\n <h3\n className={cn(\n // Same recipe as a current `Crumb` in the page header, with tight horizontal spacing:\n // inline children like `TraceIdButton` carry their own padding, so `gap-1` + `px-1`\n // is enough to keep the title close to the leading close arrow and the inline metadata.\n // `shrink-0`: the heading keeps its text; the inline `Metadata` row is what gets clipped.\n 'inline-flex max-w-full min-w-0 shrink-0 items-center gap-1 rounded-full px-1',\n controlSizeClasses.sm,\n 'cursor-default text-foreground [&>b]:text-caption [&>b]:text-muted-foreground',\n className,\n )}\n >\n {children}\n </h3>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataPanelLoadingData({ children }: DataPanelLoadingDataProps) {\n return (\n <div className=\"flex min-h-32 items-center justify-center gap-2 px-3 py-4 text-caption text-placeholder\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-placeholder\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, transitions } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelMetadataProps {\n children: React.ReactNode;\n}\n\n/** Row of `Meta` pills next to a `DataPanel.Heading`. Never wraps; overflowing pills are clipped. */\nexport function DataPanelMetadata({ children }: DataPanelMetadataProps) {\n return <ul className=\"flex min-w-0 flex-nowrap items-center gap-0.5 overflow-hidden\">{children}</ul>;\n}\n\nexport interface DataPanelMetaProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> {\n /** Element/component to render as (e.g. a router `Link`). Defaults to `span`. */\n as?: React.ElementType;\n href?: string;\n to?: string;\n /** Prefix icon (bare SVG). */\n icon?: React.ReactNode;\n /** Shown on hover/focus; for a static (non-link) meta a string tooltip also becomes the accessible name. */\n tooltip?: React.ReactNode;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport function DataPanelMeta({ as, icon, tooltip, children, className, ...props }: DataPanelMetaProps) {\n const Root = as ?? 'span';\n const isInteractive = Boolean(as || props.href || props.to || props.onClick);\n\n const hasTooltip = tooltip != null;\n const root = (\n <Root\n aria-label={!isInteractive && typeof tooltip === 'string' ? tooltip : undefined}\n tabIndex={!isInteractive && hasTooltip ? 0 : undefined}\n className={cn(\n // Same box as a `size=\"sm\"` ghost `Button` (e.g. `TraceIdButton`), so pills line up\n // with the heading and the trace ID on the same header row.\n 'inline-flex min-w-0 items-center gap-1.5 overflow-hidden rounded-full px-2',\n controlSizeClasses.sm,\n controlStateColorTransition,\n isInteractive\n ? cn(quietTextHover, 'cursor-pointer hover:bg-fill-subtle active:bg-fill')\n : cn('text-muted-foreground', hasTooltip && 'cursor-help'),\n className,\n )}\n {...props}\n >\n {icon && (\n <Icon size=\"xs\" className={cn('shrink-0 opacity-50 group-hover:opacity-100', transitions.opacity)}>\n {icon}\n </Icon>\n )}\n <span className=\"min-w-0 truncate\">{children}</span>\n </Root>\n );\n\n return (\n <li className=\"group flex h-control-sm min-w-0 shrink-0 items-center\">\n {!hasTooltip ? (\n root\n ) : (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n )}\n </li>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\n\nexport interface DataPanelNextPrevNavProps {\n onPrevious?: () => void;\n onNext?: () => void;\n previousLabel?: string;\n nextLabel?: string;\n variant?: ButtonProps['variant'];\n}\n\n/** Two independent previous/next buttons, laid out by the parent `HeaderActions` gap. */\nexport function DataPanelNextPrevNav({\n onPrevious,\n onNext,\n previousLabel = 'Go to previous',\n nextLabel = 'Go to next',\n variant = 'ghost',\n}: DataPanelNextPrevNavProps) {\n return (\n <>\n <Button size=\"sm\" variant={variant} tooltip={previousLabel} onClick={onPrevious} disabled={!onPrevious}>\n <ArrowUpIcon />\n </Button>\n <Button size=\"sm\" variant={variant} tooltip={nextLabel} onClick={onNext} disabled={!onNext}>\n <ArrowDownIcon />\n </Button>\n </>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\nexport interface DataPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataPanelNoData({ children }: DataPanelNoDataProps) {\n return (\n <Txt variant=\"caption\" tone=\"faint\" className=\"px-3 py-4\">\n {children ?? 'No data found.'}\n </Txt>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport * as React from 'react';\n\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\n// `drawer-popup` / `drawer-backdrop` carry the slide + fade transitions.\nimport '../Drawer/drawer.css';\n\nexport interface DataPanelProps {\n /** Whether the panel is shown. The panel is always a modal Drawer dialog. */\n open: boolean;\n /** Called when the user dismisses the panel (close button, Escape, backdrop, swipe). */\n onClose?: () => void;\n /** Accessible dialog name (screen-reader only; the visible title comes from `DataPanel.Heading`). */\n title: string;\n /** Accessible dialog description (screen-reader only). */\n description?: string;\n /**\n * Elevation level when several sibling panels are open at once (not nested in\n * the React tree, so Base UI's own stacking doesn't apply). A deeper panel is\n * narrower so the one beneath peeks out on the left. Siblings stack in mount\n * order: render the deeper panel after the shallower one.\n */\n depth?: 1 | 2 | 3;\n /**\n * Drawer width. `md` (default) is a narrow detail panel whose width shrinks\n * with `depth`. `half`/`wide`/`full` are for multi-column content (e.g. the\n * trace panel); each `depth` level trims them by a small fixed amount so a\n * same-size parent still peeks out beneath. Changing `size` while open\n * animates the width.\n */\n size?: 'md' | 'half' | 'wide' | 'full';\n children: React.ReactNode;\n className?: string;\n}\n\nconst DEPTH_WIDTH = { 1: 'w-xl', 2: 'w-lg', 3: 'w-md' } as const;\nconst SIZE_WIDTH = { half: 'w-1/2', wide: 'w-4/5', full: 'w-full' } as const;\nconst SIZE_PERCENT = { half: '50%', wide: '80%', full: '100%' } as const;\n// Each extra depth level trims a stacked non-`md` panel so the parent peeks out beneath it.\nconst DEPTH_PEEK_REM = 1.5;\n\nexport function DataPanelRoot({\n open,\n onClose,\n title,\n description,\n depth = 1,\n size = 'md',\n children,\n className,\n}: DataPanelProps) {\n // Swipe-exempt mount point for nested popups (Select, DropdownMenu, …) so they\n // stay inside Base UI's modal focus region and don't start a drawer swipe on\n // pointerdown. Same pattern as `SideDialogRoot`; see `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <DrawerPrimitive.Root\n open={open}\n onOpenChange={nextOpen => {\n if (!nextOpen) onClose?.();\n }}\n swipeDirection=\"right\"\n >\n <DrawerPrimitive.Portal>\n {/* Lighter than the shared `--scrim`: a side panel should keep the page beneath readable. */}\n <DrawerPrimitive.Backdrop className=\"drawer-backdrop fixed inset-0 z-50 bg-scrim/30\" />\n <DrawerPrimitive.Viewport className=\"fixed inset-0 z-50\">\n <DrawerPrimitive.Popup\n data-slot=\"data-panel-popup\"\n data-depth={depth}\n data-size={size}\n className={cn(\n 'drawer-popup fixed inset-y-0 right-0 z-50 flex max-w-full p-4 outline-none',\n size === 'md' ? DEPTH_WIDTH[depth] : SIZE_WIDTH[size],\n )}\n style={\n size !== 'md' && depth > 1\n ? { width: `calc(${SIZE_PERCENT[size]} - ${(depth - 1) * DEPTH_PEEK_REM}rem)` }\n : undefined\n }\n >\n {/* Not a heading: the visible `DataPanel.Heading` already is one; this only names the dialog. */}\n <DrawerPrimitive.Title render={<span />} className=\"sr-only\">\n {title}\n </DrawerPrimitive.Title>\n {description && (\n <DrawerPrimitive.Description className=\"sr-only\">{description}</DrawerPrimitive.Description>\n )}\n\n <DrawerPrimitive.Content render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n {/* Whole card is swipe-exempt: pointerdown on tabs/buttons/text must not start a dismiss gesture. */}\n <DrawerPrimitive.Content\n render={<section />}\n className={cn(\n 'flex max-h-full w-full flex-col overflow-hidden rounded-xl border border-border bg-background',\n className,\n )}\n >\n {children}\n </DrawerPrimitive.Content>\n </PortalContainerProvider>\n </DrawerPrimitive.Popup>\n </DrawerPrimitive.Viewport>\n </DrawerPrimitive.Portal>\n </DrawerPrimitive.Root>\n );\n}\n","import { DataPanelCloseButton } from './data-panel-close-button';\nimport { DataPanelContent } from './data-panel-content';\nimport { DataPanelCopyId } from './data-panel-copy-id';\nimport { DataPanelHeader } from './data-panel-header';\nimport { DataPanelHeaderActions } from './data-panel-header-actions';\nimport { DataPanelHeaderContent } from './data-panel-header-content';\nimport { DataPanelHeading } from './data-panel-heading';\nimport { DataPanelLoadingData } from './data-panel-loading-data';\nimport { DataPanelMeta, DataPanelMetadata } from './data-panel-metadata';\nimport { DataPanelNextPrevNav } from './data-panel-next-prev-nav';\nimport { DataPanelNoData } from './data-panel-no-data';\nimport { DataPanelRoot } from './data-panel-root';\nimport { DataPanelSectionHeading } from './data-panel-section-heading';\nimport { DataCodeSection } from '@/ds/components/DataCodeSection';\n\nexport const DataPanel = Object.assign(DataPanelRoot, {\n Header: DataPanelHeader,\n HeaderContent: DataPanelHeaderContent,\n HeaderActions: DataPanelHeaderActions,\n Heading: DataPanelHeading,\n Metadata: DataPanelMetadata,\n Meta: DataPanelMeta,\n CloseButton: DataPanelCloseButton,\n CopyId: DataPanelCopyId,\n NextPrevNav: DataPanelNextPrevNav,\n LoadingData: DataPanelLoadingData,\n NoData: DataPanelNoData,\n Content: DataPanelContent,\n CodeSection: DataCodeSection,\n SectionHeading: DataPanelSectionHeading,\n});\n"],"names":["DrawerPrimitive"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-panel-Dhg7s3fD.cjs","sources":["../src/ds/components/DataPanel/data-panel-close-button.tsx","../src/ds/components/DataPanel/data-panel-content.tsx","../src/ds/components/DataPanel/data-panel-copy-id.tsx","../src/ds/components/DataPanel/data-panel-header.tsx","../src/ds/components/DataPanel/data-panel-header-actions.tsx","../src/ds/components/DataPanel/data-panel-header-content.tsx","../src/ds/components/DataPanel/data-panel-heading.tsx","../src/ds/components/DataPanel/data-panel-loading-data.tsx","../src/ds/components/DataPanel/data-panel-metadata.tsx","../src/ds/components/DataPanel/data-panel-next-prev-nav.tsx","../src/ds/components/DataPanel/data-panel-no-data.tsx","../src/ds/components/DataPanel/data-panel-root.tsx","../src/ds/components/DataPanel/data-panel.tsx"],"sourcesContent":["import { ArrowLeftIcon, XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n /** Accessible name; override it when the arrow leads somewhere other than \"closed\" (e.g. back to a parent view). */\n label?: string;\n /**\n * `arrow` (default) is the leading \"leave this panel\" control, rendered first in the header.\n * `x` dismisses a nested column in place and belongs in `HeaderActions`, on the right.\n */\n icon?: 'arrow' | 'x';\n className?: string;\n variant?: ButtonProps['variant'];\n}\n\nexport function DataPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n label = 'Close Panel',\n icon = 'arrow',\n className,\n variant = 'ghost',\n}: DataPanelCloseButtonProps) {\n return (\n <Button\n size=\"sm\"\n variant={variant}\n onClick={onClick}\n aria-label={label}\n tooltip={tooltip}\n className={cn('shrink-0', className)}\n >\n {icon === 'x' ? <XIcon /> : <ArrowLeftIcon />}\n </Button>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport type { ReactNode, Ref } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelContentProps {\n children: ReactNode;\n ref?: Ref<HTMLDivElement>;\n /** Layout overrides (e.g. padding) for the scroll container. */\n className?: string;\n}\n\n// `DrawerPrimitive.Content` marks the region as swipe-exempt so scrolling or\n// selecting text inside the panel body doesn't start a swipe-to-dismiss.\nexport function DataPanelContent({ children, ref, className }: DataPanelContentProps) {\n return (\n <DrawerPrimitive.Content ref={ref} className={cn('min-h-0 flex-1 overflow-y-auto px-2 py-3', className)}>\n {children}\n </DrawerPrimitive.Content>\n );\n}\n","import { useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { truncateString } from '@/lib/truncate-string';\n\nexport interface DataPanelCopyIdProps {\n id: string;\n /** Characters kept before the ellipsis. Defaults to 12. */\n maxLength?: number;\n}\n\n/**\n * Truncated identifier rendered inline in a `DataPanel.Heading`; clicking copies the full value.\n */\nexport function DataPanelCopyId({ id, maxLength = 12 }: DataPanelCopyIdProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({ text: id, showToast: false });\n const [open, setOpen] = useState(false);\n\n return (\n <Tooltip open={isCopied || open} onOpenChange={setOpen}>\n <TooltipTrigger\n render={\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" onClick={handleCopy}>\n {truncateString(id, maxLength)}\n </Button>\n }\n />\n <TooltipContent>{isCopied ? 'Copied to clipboard' : 'Copy to clipboard'}</TooltipContent>\n </Tooltip>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeader({ className, children }: DataPanelHeaderProps) {\n return (\n <div\n className={cn(\n // Same box as the app `Header`. Single row: leading `CloseButton`, then the heading\n // (+ inline metadata via `HeaderContent`), then `HeaderActions` pushed to the right edge.\n // `gap-0.5` is the slight gap between the close arrow and the heading.\n 'flex min-h-header-default w-full items-center gap-0.5 px-2 py-1.5',\n // Bottom border only when something follows the header (i.e. the panel is expanded).\n // When the panel is collapsed and the header is the only child, the border auto-hides.\n 'not-last:border-b not-last:border-border',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","export interface DataPanelHeaderActionsProps {\n children: React.ReactNode;\n}\n\n/**\n * Right-side action slot of a `DataPanel.Header`. Mirrors `HeaderAction` with `gap-2`\n * (these are `size=\"sm\"` controls, like the page header actions) and wraps when the panel is too narrow.\n */\nexport function DataPanelHeaderActions({ children }: DataPanelHeaderActionsProps) {\n return <div className=\"ml-auto flex shrink-0 flex-wrap items-center justify-end gap-2 self-center\">{children}</div>;\n}\n","import { Children } from 'react';\n\nexport interface DataPanelHeaderContentProps {\n children: React.ReactNode;\n}\n\n/**\n * Left block of a `DataPanel.Header`: heading followed inline by optional `Metadata`, truncated when too long.\n * A vertical separator is rendered between the heading and the metadata when both are present.\n */\nexport function DataPanelHeaderContent({ children }: DataPanelHeaderContentProps) {\n const [heading, ...metadata] = Children.toArray(children);\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-1 overflow-hidden\">\n {heading}\n {metadata.length > 0 && (\n <>\n <div aria-hidden=\"true\" className=\"mx-1 h-4 w-px shrink-0 bg-border-strong\" />\n {metadata}\n </>\n )}\n </div>\n );\n}\n","import { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataPanelHeading({ className, children }: DataPanelHeadingProps) {\n return (\n <h3\n className={cn(\n // Same recipe as a current `Crumb` in the page header, with tight horizontal spacing:\n // inline children like `TraceIdButton` carry their own padding, so `gap-1` + `px-1`\n // is enough to keep the title close to the leading close arrow and the inline metadata.\n // `shrink-0`: the heading keeps its text; the inline `Metadata` row is what gets clipped.\n 'inline-flex max-w-full min-w-0 shrink-0 items-center gap-1 rounded-full px-1',\n controlSizeClasses.sm,\n 'cursor-default text-foreground [&>b]:text-caption [&>b]:text-muted-foreground',\n className,\n )}\n >\n {children}\n </h3>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataPanelLoadingData({ children }: DataPanelLoadingDataProps) {\n return (\n <div className=\"flex min-h-32 items-center justify-center gap-2 px-3 py-4 text-caption text-placeholder\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-placeholder\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { Icon } from '@/ds/icons/Icon';\nimport { controlSizeClasses } from '@/ds/primitives/control-size';\nimport { controlStateColorTransition, transitions } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport interface DataPanelMetadataProps {\n children: React.ReactNode;\n}\n\n/** Row of `Meta` pills next to a `DataPanel.Heading`. Never wraps; overflowing pills are clipped. */\nexport function DataPanelMetadata({ children }: DataPanelMetadataProps) {\n return <ul className=\"flex min-w-0 flex-nowrap items-center gap-0.5 overflow-hidden\">{children}</ul>;\n}\n\nexport interface DataPanelMetaProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'> {\n /** Element/component to render as (e.g. a router `Link`). Defaults to `span`. */\n as?: React.ElementType;\n href?: string;\n to?: string;\n /** Prefix icon (bare SVG). */\n icon?: React.ReactNode;\n /** Shown on hover/focus; for a static (non-link) meta a string tooltip also becomes the accessible name. */\n tooltip?: React.ReactNode;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nexport function DataPanelMeta({ as, icon, tooltip, children, className, ...props }: DataPanelMetaProps) {\n const Root = as ?? 'span';\n const isInteractive = Boolean(as || props.href || props.to || props.onClick);\n\n const hasTooltip = tooltip != null;\n const root = (\n <Root\n aria-label={!isInteractive && typeof tooltip === 'string' ? tooltip : undefined}\n tabIndex={!isInteractive && hasTooltip ? 0 : undefined}\n className={cn(\n // Same box as a `size=\"sm\"` ghost `Button` (e.g. `TraceIdButton`), so pills line up\n // with the heading and the trace ID on the same header row.\n 'inline-flex min-w-0 items-center gap-1.5 overflow-hidden rounded-full px-2',\n controlSizeClasses.sm,\n controlStateColorTransition,\n isInteractive\n ? cn(quietTextHover, 'cursor-pointer hover:bg-fill-subtle active:bg-fill')\n : cn('text-muted-foreground', hasTooltip && 'cursor-help'),\n className,\n )}\n {...props}\n >\n {icon && (\n <Icon size=\"xs\" className={cn('shrink-0 opacity-50 group-hover:opacity-100', transitions.opacity)}>\n {icon}\n </Icon>\n )}\n <span className=\"min-w-0 truncate\">{children}</span>\n </Root>\n );\n\n return (\n <li className=\"group flex h-control-sm min-w-0 shrink-0 items-center\">\n {!hasTooltip ? (\n root\n ) : (\n <Tooltip>\n <TooltipTrigger render={root} />\n <TooltipContent>{tooltip}</TooltipContent>\n </Tooltip>\n )}\n </li>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button';\n\nexport interface DataPanelNextPrevNavProps {\n onPrevious?: () => void;\n onNext?: () => void;\n previousLabel?: string;\n nextLabel?: string;\n variant?: ButtonProps['variant'];\n}\n\n/** Two independent previous/next buttons, laid out by the parent `HeaderActions` gap. */\nexport function DataPanelNextPrevNav({\n onPrevious,\n onNext,\n previousLabel = 'Go to previous',\n nextLabel = 'Go to next',\n variant = 'ghost',\n}: DataPanelNextPrevNavProps) {\n return (\n <>\n <Button size=\"sm\" variant={variant} tooltip={previousLabel} onClick={onPrevious} disabled={!onPrevious}>\n <ArrowUpIcon />\n </Button>\n <Button size=\"sm\" variant={variant} tooltip={nextLabel} onClick={onNext} disabled={!onNext}>\n <ArrowDownIcon />\n </Button>\n </>\n );\n}\n","import { Txt } from '@/ds/components/Txt';\nexport interface DataPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataPanelNoData({ children }: DataPanelNoDataProps) {\n return (\n <Txt variant=\"caption\" tone=\"faint\" className=\"px-3 py-4\">\n {children ?? 'No data found.'}\n </Txt>\n );\n}\n","import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';\nimport * as React from 'react';\n\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { cn } from '@/lib/utils';\n\n// `drawer-popup` / `drawer-backdrop` carry the slide + fade transitions.\nimport '../Drawer/drawer.css';\n\nexport interface DataPanelProps {\n /** Whether the panel is shown. The panel is always a modal Drawer dialog. */\n open: boolean;\n /** Called when the user dismisses the panel (close button, Escape, backdrop, swipe). */\n onClose?: () => void;\n /** Accessible dialog name (screen-reader only; the visible title comes from `DataPanel.Heading`). */\n title: string;\n /** Accessible dialog description (screen-reader only). */\n description?: string;\n /**\n * Elevation level when several sibling panels are open at once (not nested in\n * the React tree, so Base UI's own stacking doesn't apply). A deeper panel is\n * narrower so the one beneath peeks out on the left. Siblings stack in mount\n * order: render the deeper panel after the shallower one.\n */\n depth?: 1 | 2 | 3;\n /**\n * Drawer width. `md` (default) is a narrow detail panel whose width shrinks\n * with `depth`. `half`/`wide`/`full` are for multi-column content (e.g. the\n * trace panel); each `depth` level trims them by a small fixed amount so a\n * same-size parent still peeks out beneath. Changing `size` while open\n * animates the width.\n */\n size?: 'md' | 'half' | 'wide' | 'full';\n children: React.ReactNode;\n className?: string;\n}\n\nconst DEPTH_WIDTH = { 1: 'w-xl', 2: 'w-lg', 3: 'w-md' } as const;\nconst SIZE_WIDTH = { half: 'w-1/2', wide: 'w-4/5', full: 'w-full' } as const;\nconst SIZE_PERCENT = { half: '50%', wide: '80%', full: '100%' } as const;\n// Each extra depth level trims a stacked non-`md` panel so the parent peeks out beneath it.\nconst DEPTH_PEEK_REM = 1.5;\n\nexport function DataPanelRoot({\n open,\n onClose,\n title,\n description,\n depth = 1,\n size = 'md',\n children,\n className,\n}: DataPanelProps) {\n // Swipe-exempt mount point for nested popups (Select, DropdownMenu, …) so they\n // stay inside Base UI's modal focus region and don't start a drawer swipe on\n // pointerdown. Same pattern as `SideDialogRoot`; see `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <DrawerPrimitive.Root\n open={open}\n onOpenChange={nextOpen => {\n if (!nextOpen) onClose?.();\n }}\n swipeDirection=\"right\"\n >\n <DrawerPrimitive.Portal>\n {/* Lighter than the shared `--scrim`: a side panel should keep the page beneath readable. */}\n <DrawerPrimitive.Backdrop className=\"drawer-backdrop fixed inset-0 z-50 bg-scrim/30\" />\n <DrawerPrimitive.Viewport className=\"fixed inset-0 z-50\">\n <DrawerPrimitive.Popup\n data-slot=\"data-panel-popup\"\n data-depth={depth}\n data-size={size}\n className={cn(\n 'drawer-popup fixed inset-y-0 right-0 z-50 flex max-w-full p-4 outline-none',\n size === 'md' ? DEPTH_WIDTH[depth] : SIZE_WIDTH[size],\n )}\n style={\n size !== 'md' && depth > 1\n ? { width: `calc(${SIZE_PERCENT[size]} - ${(depth - 1) * DEPTH_PEEK_REM}rem)` }\n : undefined\n }\n >\n {/* Not a heading: the visible `DataPanel.Heading` already is one; this only names the dialog. */}\n <DrawerPrimitive.Title render={<span />} className=\"sr-only\">\n {title}\n </DrawerPrimitive.Title>\n {description && (\n <DrawerPrimitive.Description className=\"sr-only\">{description}</DrawerPrimitive.Description>\n )}\n\n <DrawerPrimitive.Content render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n {/* Whole card is swipe-exempt: pointerdown on tabs/buttons/text must not start a dismiss gesture. */}\n <DrawerPrimitive.Content\n render={<section />}\n className={cn(\n 'flex max-h-full w-full flex-col overflow-hidden rounded-xl border border-border bg-background',\n className,\n )}\n >\n {children}\n </DrawerPrimitive.Content>\n </PortalContainerProvider>\n </DrawerPrimitive.Popup>\n </DrawerPrimitive.Viewport>\n </DrawerPrimitive.Portal>\n </DrawerPrimitive.Root>\n );\n}\n","import { DataPanelCloseButton } from './data-panel-close-button';\nimport { DataPanelContent } from './data-panel-content';\nimport { DataPanelCopyId } from './data-panel-copy-id';\nimport { DataPanelHeader } from './data-panel-header';\nimport { DataPanelHeaderActions } from './data-panel-header-actions';\nimport { DataPanelHeaderContent } from './data-panel-header-content';\nimport { DataPanelHeading } from './data-panel-heading';\nimport { DataPanelLoadingData } from './data-panel-loading-data';\nimport { DataPanelMeta, DataPanelMetadata } from './data-panel-metadata';\nimport { DataPanelNextPrevNav } from './data-panel-next-prev-nav';\nimport { DataPanelNoData } from './data-panel-no-data';\nimport { DataPanelRoot } from './data-panel-root';\nimport { DataPanelSectionHeading } from './data-panel-section-heading';\nimport { DataCodeSection } from '@/ds/components/DataCodeSection';\n\nexport const DataPanel = Object.assign(DataPanelRoot, {\n Header: DataPanelHeader,\n HeaderContent: DataPanelHeaderContent,\n HeaderActions: DataPanelHeaderActions,\n Heading: DataPanelHeading,\n Metadata: DataPanelMetadata,\n Meta: DataPanelMeta,\n CloseButton: DataPanelCloseButton,\n CopyId: DataPanelCopyId,\n NextPrevNav: DataPanelNextPrevNav,\n LoadingData: DataPanelLoadingData,\n NoData: DataPanelNoData,\n Content: DataPanelContent,\n CodeSection: DataCodeSection,\n SectionHeading: DataPanelSectionHeading,\n});\n"],"names":["jsx","Button","cn","XIcon","ArrowLeftIcon","DrawerPrimitive","useCopyToClipboard","useState","Tooltip","TooltipTrigger","truncateString","TooltipContent","Children","jsxs","Fragment","controlSizeClasses","Spinner","tooltip","controlStateColorTransition","quietTextHover","Icon","transitions","ArrowUpIcon","ArrowDownIcon","Txt","React","PortalContainerProvider","DataCodeSection","DataPanelSectionHeading"],"mappings":"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"}