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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/{alert-dialog-DVAC9zdj.js → alert-dialog-Cpx4g1sS.js} +2 -2
  2. package/dist/{alert-dialog-DVAC9zdj.js.map → alert-dialog-Cpx4g1sS.js.map} +1 -1
  3. package/dist/{alert-dialog-C-ODvRWT.cjs → alert-dialog-Djojjgjo.cjs} +2 -2
  4. package/dist/{alert-dialog-C-ODvRWT.cjs.map → alert-dialog-Djojjgjo.cjs.map} +1 -1
  5. package/dist/{code-block-vvYFcnqm.js → code-block-BzUcNWrb.js} +2 -2
  6. package/dist/{code-block-vvYFcnqm.js.map → code-block-BzUcNWrb.js.map} +1 -1
  7. package/dist/{code-block-BuGosknt.cjs → code-block-CKLCdWtP.cjs} +2 -2
  8. package/dist/{code-block-BuGosknt.cjs.map → code-block-CKLCdWtP.cjs.map} +1 -1
  9. package/dist/{combobox-fEMKH9nJ.cjs → combobox-CdTP_FZ0.cjs} +9 -2
  10. package/dist/combobox-CdTP_FZ0.cjs.map +1 -0
  11. package/dist/{combobox-so2V71F7.js → combobox-CeYDCkXk.js} +9 -2
  12. package/dist/combobox-CeYDCkXk.js.map +1 -0
  13. package/dist/{command-B_C36ppQ.cjs → command-CSl9Mfrp.cjs} +3 -3
  14. package/dist/{command-B_C36ppQ.cjs.map → command-CSl9Mfrp.cjs.map} +1 -1
  15. package/dist/{command-DMqzDhzs.js → command-DQAGSkdK.js} +3 -3
  16. package/dist/{command-DMqzDhzs.js.map → command-DQAGSkdK.js.map} +1 -1
  17. package/dist/components/AlertDialog.cjs.js +1 -1
  18. package/dist/components/AlertDialog.es.js +1 -1
  19. package/dist/components/CodeBlock.cjs.js +1 -1
  20. package/dist/components/CodeBlock.es.js +1 -1
  21. package/dist/components/Combobox.cjs.js +1 -1
  22. package/dist/components/Combobox.es.js +1 -1
  23. package/dist/components/Command.cjs.js +1 -1
  24. package/dist/components/Command.es.js +1 -1
  25. package/dist/components/CommandPalette.cjs.js +2 -2
  26. package/dist/components/CommandPalette.es.js +2 -2
  27. package/dist/components/Comment.cjs.js +1 -1
  28. package/dist/components/Comment.es.js +1 -1
  29. package/dist/components/Composer.cjs.js +2 -2
  30. package/dist/components/Composer.es.js +2 -2
  31. package/dist/components/DataCodeSection.cjs.js +1 -1
  32. package/dist/components/DataCodeSection.es.js +1 -1
  33. package/dist/components/DataList.cjs.js +17 -15
  34. package/dist/components/DataList.cjs.js.map +1 -1
  35. package/dist/components/DataList.es.js +5 -4
  36. package/dist/components/DataList.es.js.map +1 -1
  37. package/dist/components/DataPanel.cjs.js +1 -1
  38. package/dist/components/DataPanel.es.js +1 -1
  39. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  40. package/dist/components/DateTimeRangePicker.es.js +1 -1
  41. package/dist/components/Dialog.cjs.js +2 -2
  42. package/dist/components/Dialog.es.js +2 -2
  43. package/dist/components/DropdownMenu.cjs.js +1 -1
  44. package/dist/components/DropdownMenu.es.js +1 -1
  45. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
  46. package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
  47. package/dist/components/InputGroup.cjs.js +1 -1
  48. package/dist/components/InputGroup.es.js +1 -1
  49. package/dist/components/InputNumber.cjs.js +1 -1
  50. package/dist/components/InputNumber.es.js +1 -1
  51. package/dist/components/ListSearch.cjs.js +1 -1
  52. package/dist/components/ListSearch.es.js +1 -1
  53. package/dist/components/LogsDataList.cjs.js +2 -5
  54. package/dist/components/LogsDataList.cjs.js.map +1 -1
  55. package/dist/components/LogsDataList.es.js +2 -5
  56. package/dist/components/LogsDataList.es.js.map +1 -1
  57. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  58. package/dist/components/MarkdownRenderer.es.js +1 -1
  59. package/dist/components/MetricsCard.cjs.js +1 -1
  60. package/dist/components/MetricsCard.es.js +1 -1
  61. package/dist/components/PageLayout.cjs.js +11 -8
  62. package/dist/components/PageLayout.cjs.js.map +1 -1
  63. package/dist/components/PageLayout.es.js +11 -8
  64. package/dist/components/PageLayout.es.js.map +1 -1
  65. package/dist/components/PropertyFilter.cjs.js +2 -2
  66. package/dist/components/PropertyFilter.es.js +3 -3
  67. package/dist/components/SavedViews.cjs.js +1 -1
  68. package/dist/components/SavedViews.es.js +1 -1
  69. package/dist/components/ScrollArea.cjs.js +1 -1
  70. package/dist/components/ScrollArea.es.js +1 -1
  71. package/dist/components/SearchInput.cjs.js +1 -1
  72. package/dist/components/SearchInput.es.js +1 -1
  73. package/dist/components/Sidebar.cjs.js +3 -3
  74. package/dist/components/Sidebar.es.js +3 -3
  75. package/dist/components/Tabs.cjs.js +1 -1
  76. package/dist/components/Tabs.es.js +1 -1
  77. package/dist/components/ThreadRail.cjs.js +1 -1
  78. package/dist/components/ThreadRail.es.js +1 -1
  79. package/dist/components/Workflow.cjs.js +3 -3
  80. package/dist/components/Workflow.es.js +3 -3
  81. package/dist/components/ai/activity.cjs.js +1 -1
  82. package/dist/components/ai/activity.es.js +1 -1
  83. package/dist/components/ai/plan.cjs.js +1 -1
  84. package/dist/components/ai/plan.es.js +1 -1
  85. package/dist/components/ai/task-list.cjs.js +1 -1
  86. package/dist/components/ai/task-list.es.js +1 -1
  87. package/dist/components/ai/tool-approval.cjs.js +1 -1
  88. package/dist/components/ai/tool-approval.es.js +1 -1
  89. package/dist/components/ai/tool-call.cjs.js +2 -2
  90. package/dist/components/ai/tool-call.es.js +2 -2
  91. package/dist/{composer-CxmOOUX8.js → composer-B0i1WZgt.js} +2 -2
  92. package/dist/{composer-CxmOOUX8.js.map → composer-B0i1WZgt.js.map} +1 -1
  93. package/dist/{composer-Cg5bXN1r.cjs → composer-DJsfHivH.cjs} +2 -2
  94. package/dist/{composer-Cg5bXN1r.cjs.map → composer-DJsfHivH.cjs.map} +1 -1
  95. package/dist/{data-code-section-Bs8sHDux.cjs → data-code-section-BB2RWius.cjs} +3 -3
  96. package/dist/{data-code-section-Bs8sHDux.cjs.map → data-code-section-BB2RWius.cjs.map} +1 -1
  97. package/dist/{data-code-section-CqdjmClK.js → data-code-section-DsU-ubVW.js} +3 -3
  98. package/dist/{data-code-section-CqdjmClK.js.map → data-code-section-DsU-ubVW.js.map} +1 -1
  99. package/dist/data-list-CaifGmFh.cjs +142 -0
  100. package/dist/data-list-CaifGmFh.cjs.map +1 -0
  101. package/dist/data-list-kilUFo3I.js +138 -0
  102. package/dist/data-list-kilUFo3I.js.map +1 -0
  103. package/dist/{data-list-skeleton-BNsWWamC.js → data-list-skeleton-C_zFfUy5.js} +2 -2
  104. package/dist/{data-list-skeleton-BNsWWamC.js.map → data-list-skeleton-C_zFfUy5.js.map} +1 -1
  105. package/dist/{data-list-skeleton-BGJD4qMF.cjs → data-list-skeleton-Cgo1Urkr.cjs} +6 -6
  106. package/dist/{data-list-skeleton-BGJD4qMF.cjs.map → data-list-skeleton-Cgo1Urkr.cjs.map} +1 -1
  107. package/dist/data-list-spacer-D9J0nV_S.cjs +218 -0
  108. package/dist/data-list-spacer-D9J0nV_S.cjs.map +1 -0
  109. package/dist/data-list-spacer-DGUCD6oy.js +209 -0
  110. package/dist/data-list-spacer-DGUCD6oy.js.map +1 -0
  111. package/dist/{data-list-BLfHObw8.cjs → data-list-top-DYnH-IhJ.cjs} +14 -340
  112. package/dist/data-list-top-DYnH-IhJ.cjs.map +1 -0
  113. package/dist/{data-list-B2ArWwsJ.js → data-list-top-Dk9Wz_w5.js} +6 -333
  114. package/dist/data-list-top-Dk9Wz_w5.js.map +1 -0
  115. package/dist/{data-panel-Wjgbl6zx.cjs → data-panel-CtFwwsPs.cjs} +2 -2
  116. package/dist/{data-panel-Wjgbl6zx.cjs.map → data-panel-CtFwwsPs.cjs.map} +1 -1
  117. package/dist/{data-panel-BdCw3F_h.js → data-panel-CwIdwpov.js} +2 -2
  118. package/dist/{data-panel-BdCw3F_h.js.map → data-panel-CwIdwpov.js.map} +1 -1
  119. package/dist/{date-time-range-picker-SU1Q1h1h.js → date-time-range-picker-BT9qan60.js} +2 -2
  120. package/dist/{date-time-range-picker-SU1Q1h1h.js.map → date-time-range-picker-BT9qan60.js.map} +1 -1
  121. package/dist/{date-time-range-picker-ByNvjYuV.cjs → date-time-range-picker-DQa5XLST.cjs} +2 -2
  122. package/dist/{date-time-range-picker-ByNvjYuV.cjs.map → date-time-range-picker-DQa5XLST.cjs.map} +1 -1
  123. package/dist/{dialog-B5nLi0ER.cjs → dialog-BAlSUqcF.cjs} +2 -2
  124. package/dist/{dialog-B5nLi0ER.cjs.map → dialog-BAlSUqcF.cjs.map} +1 -1
  125. package/dist/{dialog-Jz2ZfO-z.js → dialog-CboDo8Pj.js} +2 -2
  126. package/dist/{dialog-Jz2ZfO-z.js.map → dialog-CboDo8Pj.js.map} +1 -1
  127. package/dist/{dialog-action-DdkbsKfP.cjs → dialog-action-DWE9XalB.cjs} +2 -2
  128. package/dist/{dialog-action-DdkbsKfP.cjs.map → dialog-action-DWE9XalB.cjs.map} +1 -1
  129. package/dist/{dialog-action-BxXhAz-P.js → dialog-action-DpctEQ9l.js} +2 -2
  130. package/dist/{dialog-action-BxXhAz-P.js.map → dialog-action-DpctEQ9l.js.map} +1 -1
  131. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +1 -1
  132. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
  133. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
  134. package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
  135. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  136. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  137. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
  138. package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
  139. package/dist/domains/chat/messages/message-row.cjs.js +1 -1
  140. package/dist/domains/chat/messages/message-row.es.js +1 -1
  141. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  142. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  143. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  144. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  145. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  146. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  147. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  148. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  149. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  150. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  151. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  152. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  153. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  154. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  155. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  156. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  157. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  158. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  159. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +1 -1
  160. package/dist/domains/chat/tools/badges/tool-badge.es.js +1 -1
  161. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -2
  162. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  163. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -2
  164. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  165. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  166. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  167. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  168. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  169. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  170. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  171. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  172. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  173. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  174. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  175. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  176. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  177. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  178. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  179. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  180. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  181. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  182. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  183. package/dist/domains/metrics/components/date-range-selector.cjs.js +5 -44
  184. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  185. package/dist/domains/metrics/components/date-range-selector.es.js +3 -42
  186. package/dist/domains/metrics/components/date-range-selector.es.js.map +1 -1
  187. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  188. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  189. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  190. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  191. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +26 -0
  192. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -0
  193. package/dist/domains/metrics/components/metrics-time-range-chip.d.ts +2 -0
  194. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +22 -0
  195. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -0
  196. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  197. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  198. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  199. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  200. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  201. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  202. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  203. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  204. package/dist/domains/metrics/components.cjs.js +2 -0
  205. package/dist/domains/metrics/components.cjs.js.map +1 -1
  206. package/dist/domains/metrics/components.es.js +1 -0
  207. package/dist/domains/metrics/components.es.js.map +1 -1
  208. package/dist/domains/metrics/hooks.cjs.js +4 -0
  209. package/dist/domains/metrics/hooks.cjs.js.map +1 -1
  210. package/dist/domains/metrics/hooks.es.js +1 -1
  211. package/dist/domains/metrics/metrics-date-presets.cjs.js +49 -0
  212. package/dist/domains/metrics/metrics-date-presets.cjs.js.map +1 -0
  213. package/dist/domains/metrics/metrics-date-presets.d.ts +2 -0
  214. package/dist/domains/metrics/metrics-date-presets.es.js +43 -0
  215. package/dist/domains/metrics/metrics-date-presets.es.js.map +1 -0
  216. package/dist/domains/metrics/metrics-filters.cjs.js +94 -0
  217. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  218. package/dist/domains/metrics/metrics-filters.es.js +91 -1
  219. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  220. package/dist/domains/metrics.cjs.js +6 -0
  221. package/dist/domains/metrics.cjs.js.map +1 -1
  222. package/dist/domains/metrics.es.js +2 -1
  223. package/dist/domains/metrics.es.js.map +1 -1
  224. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  225. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  226. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  227. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  228. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  229. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  230. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  231. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  232. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  233. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  234. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  235. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  236. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  237. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  238. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  239. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  240. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  241. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  242. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  243. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  244. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  245. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  246. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  247. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  248. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  249. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  250. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  251. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  252. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  253. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  254. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  255. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  256. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  257. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  258. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  259. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  260. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  261. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  262. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -3
  263. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  264. package/dist/domains/traces/components/trace-data-panel.es.js +1 -3
  265. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  266. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  267. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  268. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  269. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  270. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  271. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  272. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  273. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  274. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  275. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  276. package/dist/domains/traces/components/traces-list-view.cjs.js +6 -5
  277. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  278. package/dist/domains/traces/components/traces-list-view.es.js +5 -4
  279. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  280. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  281. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  282. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  283. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  284. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  285. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  286. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  287. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  288. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  289. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  290. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  291. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  292. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  293. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  294. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  295. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  296. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -0
  297. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  298. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -0
  299. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  300. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  301. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  302. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  303. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  304. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  305. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  306. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  307. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  308. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  309. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  310. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  311. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  312. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  313. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  314. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  315. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  316. package/dist/domains/workspace/components/workspace-parts.cjs.js +1 -1
  317. package/dist/domains/workspace/components/workspace-parts.es.js +1 -1
  318. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  319. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  320. package/dist/{dropdown-menu-D8GR_NhL.js → dropdown-menu-C6VtAiYJ.js} +43 -4
  321. package/dist/dropdown-menu-C6VtAiYJ.js.map +1 -0
  322. package/dist/{dropdown-menu-Bg96BCnK.cjs → dropdown-menu-dHvHFLji.cjs} +42 -3
  323. package/dist/dropdown-menu-dHvHFLji.cjs.map +1 -0
  324. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  325. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  326. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  327. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  328. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  329. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  330. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -4
  331. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  332. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -4
  333. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  334. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  335. package/dist/ee/signals/sankey-signals.es.js +1 -1
  336. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  337. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  338. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  339. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  340. package/dist/{input-group-DQuyC9Pz.cjs → input-group-Bj2RbkNg.cjs} +20 -3
  341. package/dist/input-group-Bj2RbkNg.cjs.map +1 -0
  342. package/dist/{input-group-CIIwoggO.js → input-group-CrumkDCF.js} +20 -3
  343. package/dist/input-group-CrumkDCF.js.map +1 -0
  344. package/dist/layout/tabbed-container.cjs.js +4 -4
  345. package/dist/layout/tabbed-container.es.js +4 -4
  346. package/dist/{list-search-Cwp-OPvC.js → list-search-C7ro2_qL.js} +2 -2
  347. package/dist/{list-search-Cwp-OPvC.js.map → list-search-C7ro2_qL.js.map} +1 -1
  348. package/dist/{list-search-C5j3HYkb.cjs → list-search-Y3z6P6IO.cjs} +2 -2
  349. package/dist/{list-search-C5j3HYkb.cjs.map → list-search-Y3z6P6IO.cjs.map} +1 -1
  350. package/dist/{logs-data-list-B-gmgU74.js → logs-data-list-1KFnVsFz.js} +3 -2
  351. package/dist/{logs-data-list-B-gmgU74.js.map → logs-data-list-1KFnVsFz.js.map} +1 -1
  352. package/dist/{logs-data-list-CaXnNnC5.cjs → logs-data-list-BafttkM2.cjs} +22 -21
  353. package/dist/{logs-data-list-CaXnNnC5.cjs.map → logs-data-list-BafttkM2.cjs.map} +1 -1
  354. package/dist/{markdown-renderer-BXTNiZbz.cjs → markdown-renderer-BRu3RpQD.cjs} +3 -3
  355. package/dist/{markdown-renderer-BXTNiZbz.cjs.map → markdown-renderer-BRu3RpQD.cjs.map} +1 -1
  356. package/dist/{markdown-renderer-Ct-q_KTF.js → markdown-renderer-WesDzhMr.js} +3 -3
  357. package/dist/{markdown-renderer-Ct-q_KTF.js.map → markdown-renderer-WesDzhMr.js.map} +1 -1
  358. package/dist/{metrics-card-C33VsuXf.js → metrics-card-BI5okAsj.js} +2 -2
  359. package/dist/{metrics-card-C33VsuXf.js.map → metrics-card-BI5okAsj.js.map} +1 -1
  360. package/dist/{metrics-card-CxOVpP1t.cjs → metrics-card-CcesVPLN.cjs} +2 -2
  361. package/dist/{metrics-card-CxOVpP1t.cjs.map → metrics-card-CcesVPLN.cjs.map} +1 -1
  362. package/dist/{plan-TXWANP1R.js → plan-CBiLa54G.js} +2 -2
  363. package/dist/{plan-TXWANP1R.js.map → plan-CBiLa54G.js.map} +1 -1
  364. package/dist/{plan-CL-lbDuy.cjs → plan-ColU7p3H.cjs} +2 -2
  365. package/dist/{plan-CL-lbDuy.cjs.map → plan-ColU7p3H.cjs.map} +1 -1
  366. package/dist/primitives/menu-item.cjs.js +2 -0
  367. package/dist/primitives/menu-item.cjs.js.map +1 -1
  368. package/dist/primitives/menu-item.es.js +2 -1
  369. package/dist/primitives/menu-item.es.js.map +1 -1
  370. package/dist/{property-filter-applied-Ru3OQoGo.js → property-filter-applied-BCeGn2zQ.js} +2 -2
  371. package/dist/{property-filter-applied-Ru3OQoGo.js.map → property-filter-applied-BCeGn2zQ.js.map} +1 -1
  372. package/dist/{property-filter-applied-BBvaTC4B.cjs → property-filter-applied-CpelyBH9.cjs} +2 -2
  373. package/dist/{property-filter-applied-BBvaTC4B.cjs.map → property-filter-applied-CpelyBH9.cjs.map} +1 -1
  374. package/dist/{reasoning-activity-CFEaSv4J.cjs → reasoning-activity-B8bR8ib_.cjs} +2 -2
  375. package/dist/{reasoning-activity-CFEaSv4J.cjs.map → reasoning-activity-B8bR8ib_.cjs.map} +1 -1
  376. package/dist/{reasoning-activity-CHlEe011.js → reasoning-activity-DLrXgE9k.js} +2 -2
  377. package/dist/{reasoning-activity-CHlEe011.js.map → reasoning-activity-DLrXgE9k.js.map} +1 -1
  378. package/dist/{scroll-area-CVgjRzTS.cjs → scroll-area-BakRKj2k.cjs} +3 -3
  379. package/dist/scroll-area-BakRKj2k.cjs.map +1 -0
  380. package/dist/{scroll-area-BywIlj3F.js → scroll-area-D6gKFavi.js} +3 -3
  381. package/dist/scroll-area-D6gKFavi.js.map +1 -0
  382. package/dist/{search-input-RybUdqzg.js → search-input-BEAKPGH8.js} +2 -2
  383. package/dist/{search-input-RybUdqzg.js.map → search-input-BEAKPGH8.js.map} +1 -1
  384. package/dist/{search-input-2DhcUIvn.cjs → search-input-DdRhkYqy.cjs} +2 -2
  385. package/dist/{search-input-2DhcUIvn.cjs.map → search-input-DdRhkYqy.cjs.map} +1 -1
  386. package/dist/{span-payload-primitives-DIxmotnO.cjs → span-payload-primitives-BymKsUAo.cjs} +2 -2
  387. package/dist/{span-payload-primitives-DIxmotnO.cjs.map → span-payload-primitives-BymKsUAo.cjs.map} +1 -1
  388. package/dist/{span-payload-primitives-dTs5UrjA.js → span-payload-primitives-DBNNkmHo.js} +2 -2
  389. package/dist/{span-payload-primitives-dTs5UrjA.js.map → span-payload-primitives-DBNNkmHo.js.map} +1 -1
  390. package/dist/src/domains/metrics/components/date-range-selector.d.ts +1 -0
  391. package/dist/src/domains/metrics/components/index.d.ts +1 -0
  392. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +5 -0
  393. package/dist/src/domains/metrics/hooks/index.d.ts +1 -1
  394. package/dist/src/domains/metrics/metrics-date-presets.d.ts +6 -0
  395. package/dist/src/domains/metrics/metrics-filters.d.ts +23 -1
  396. package/dist/src/ds/components/Combobox/combobox.d.ts +2 -0
  397. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +19 -6
  398. package/dist/src/ds/components/InputGroup/input-group.d.ts +6 -2
  399. package/dist/src/ds/components/PageLayout/page-layout.d.ts +8 -1
  400. package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +2 -1
  401. package/dist/src/ds/primitives/menu-item.d.ts +1 -0
  402. package/dist/style.css +16 -4
  403. package/dist/{tabs-list-DY_hziv7.js → tabs-list-CDep3C2w.js} +2 -2
  404. package/dist/{tabs-list-DY_hziv7.js.map → tabs-list-CDep3C2w.js.map} +1 -1
  405. package/dist/{tabs-list-xikY_dug.cjs → tabs-list-DwQsMVKI.cjs} +2 -2
  406. package/dist/{tabs-list-xikY_dug.cjs.map → tabs-list-DwQsMVKI.cjs.map} +1 -1
  407. package/dist/{tool-approval-TB8r2U_c.js → tool-approval-BK2j7aj_.js} +2 -2
  408. package/dist/{tool-approval-TB8r2U_c.js.map → tool-approval-BK2j7aj_.js.map} +1 -1
  409. package/dist/{tool-approval-S6ml_xyU.cjs → tool-approval-Bza_sgxa.cjs} +2 -2
  410. package/dist/{tool-approval-S6ml_xyU.cjs.map → tool-approval-Bza_sgxa.cjs.map} +1 -1
  411. package/dist/{tool-call-arguments-CCkJ1btR.js → tool-call-arguments-BLCAiFYg.js} +2 -2
  412. package/dist/{tool-call-arguments-CCkJ1btR.js.map → tool-call-arguments-BLCAiFYg.js.map} +1 -1
  413. package/dist/{tool-call-arguments-DyukJmhY.cjs → tool-call-arguments-CK3kQ_FX.cjs} +2 -2
  414. package/dist/{tool-call-arguments-DyukJmhY.cjs.map → tool-call-arguments-CK3kQ_FX.cjs.map} +1 -1
  415. package/dist/{tool-call-group-CZBqGjMh.js → tool-call-group-C_zxf6OA.js} +2 -2
  416. package/dist/{tool-call-group-CZBqGjMh.js.map → tool-call-group-C_zxf6OA.js.map} +1 -1
  417. package/dist/{tool-call-group-CFpdexuw.cjs → tool-call-group-Cdgv7red.cjs} +2 -2
  418. package/dist/{tool-call-group-CFpdexuw.cjs.map → tool-call-group-Cdgv7red.cjs.map} +1 -1
  419. package/dist/{traces-data-list-1X6UBM6Y.js → traces-data-list-CDvg5G_2.js} +4 -2
  420. package/dist/{traces-data-list-1X6UBM6Y.js.map → traces-data-list-CDvg5G_2.js.map} +1 -1
  421. package/dist/{traces-data-list-BXSXW3E6.cjs → traces-data-list-Dy-9AIr2.cjs} +19 -17
  422. package/dist/{traces-data-list-BXSXW3E6.cjs.map → traces-data-list-Dy-9AIr2.cjs.map} +1 -1
  423. package/dist/{workflow-data-edge-view-De0xCrVu.js → workflow-data-edge-view-BWyUa9am.js} +2 -2
  424. package/dist/{workflow-data-edge-view-De0xCrVu.js.map → workflow-data-edge-view-BWyUa9am.js.map} +1 -1
  425. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs → workflow-data-edge-view-BpnN4W_5.cjs} +2 -2
  426. package/dist/{workflow-data-edge-view-kmB6j-ui.cjs.map → workflow-data-edge-view-BpnN4W_5.cjs.map} +1 -1
  427. package/dist/{workflow-edge-data-button-av1zCMfP.cjs → workflow-edge-data-button-Du5ZDm72.cjs} +2 -2
  428. package/dist/{workflow-edge-data-button-av1zCMfP.cjs.map → workflow-edge-data-button-Du5ZDm72.cjs.map} +1 -1
  429. package/dist/{workflow-edge-data-button-CXbj67U9.js → workflow-edge-data-button-DvGFB2L6.js} +2 -2
  430. package/dist/{workflow-edge-data-button-CXbj67U9.js.map → workflow-edge-data-button-DvGFB2L6.js.map} +1 -1
  431. package/dist/{workflow-step-action-BsBZk7j6.cjs → workflow-step-action-DNrU8on1.cjs} +2 -2
  432. package/dist/{workflow-step-action-BsBZk7j6.cjs.map → workflow-step-action-DNrU8on1.cjs.map} +1 -1
  433. package/dist/{workflow-step-action-AG05Ly8P.js → workflow-step-action-ac1gNDdn.js} +2 -2
  434. package/dist/{workflow-step-action-AG05Ly8P.js.map → workflow-step-action-ac1gNDdn.js.map} +1 -1
  435. package/package.json +7 -7
  436. package/dist/combobox-fEMKH9nJ.cjs.map +0 -1
  437. package/dist/combobox-so2V71F7.js.map +0 -1
  438. package/dist/data-list-B2ArWwsJ.js.map +0 -1
  439. package/dist/data-list-BLfHObw8.cjs.map +0 -1
  440. package/dist/dropdown-menu-Bg96BCnK.cjs.map +0 -1
  441. package/dist/dropdown-menu-D8GR_NhL.js.map +0 -1
  442. package/dist/input-group-CIIwoggO.js.map +0 -1
  443. package/dist/input-group-DQuyC9Pz.cjs.map +0 -1
  444. package/dist/scroll-area-BywIlj3F.js.map +0 -1
  445. package/dist/scroll-area-CVgjRzTS.cjs.map +0 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const domains_workflows_workflow_data_workflowDataButton = require('./data/workflow-data-button.cjs.js');
8
- const workflowDataEdgeView = require('../../../workflow-data-edge-view-kmB6j-ui.cjs');
8
+ const workflowDataEdgeView = require('../../../workflow-data-edge-view-BpnN4W_5.cjs');
9
9
 
10
10
  function getEdgeDataSelection({ data, parentWorkflowName }) {
11
11
  if (data?.boundaryPayload) return { type: data.boundaryPayload, workflowName: parentWorkflowName };
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { memo } from 'react';
3
3
  import { WorkflowDataButton } from './data/workflow-data-button.es.js';
4
- import { W as WorkflowDataEdgeView } from '../../../workflow-data-edge-view-De0xCrVu.js';
4
+ import { W as WorkflowDataEdgeView } from '../../../workflow-data-edge-view-BWyUa9am.js';
5
5
 
6
6
  function getEdgeDataSelection({ data, parentWorkflowName }) {
7
7
  if (data?.boundaryPayload) return { type: data.boundaryPayload, workflowName: parentWorkflowName };
@@ -19,6 +19,7 @@ require('../../../lib/form/utils.cjs.js');
19
19
  require('../../../Button-CAVPKK09.cjs');
20
20
  require('../../../field-control-aria-WzMGs0A4.cjs');
21
21
  require('date-fns');
22
+ require('../../../popover-CWHYNPp8.cjs');
22
23
  const utils_cn = require('../../../cn-TqD01zH-.cjs');
23
24
  require('@autoform/core');
24
25
  require('@autoform/react');
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-input-data.cjs.js","sources":["../../../../src/domains/workflows/workflow/workflow-input-data.tsx"],"sourcesContent":["import { Play } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useRef, useState } from 'react';\nimport type { ZodSchema } from 'zod';\n\nimport { createProcessorInput, parseProcessorDraft } from './input/processor-input';\nimport type { ProcessorDraft } from './input/processor-input';\nimport { WorkflowJsonInput } from './input/workflow-json-input';\nimport { WorkflowProcessorInput } from './input/workflow-processor-input';\nimport { WorkflowInputTypeToggle } from './workflow-input-type-toggle';\nimport type { WorkflowInputType } from './workflow-input-type-toggle';\nimport { Button } from '@/ds/components/Button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { DynamicForm } from '@/lib/form';\nimport { getFormShapeError, parseJsonDraft, validateJsonDraft } from '@/lib/form/json-draft';\nimport type { JsonDraftValue } from '@/lib/form/json-draft';\nimport { cn } from '@/utils/cn';\n\nexport interface WorkflowInputDataProps {\n schema: ZodSchema;\n defaultValues?: unknown;\n isSubmitLoading: boolean;\n submitButtonLabel: string;\n onSubmit: (data: any) => void;\n children?: React.ReactNode;\n isProcessorWorkflow?: boolean;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n headingSlot?: ReactNode;\n collapsible?: boolean;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: React.ComponentProps<typeof Button>['variant'];\n submitButtonFullWidth?: boolean;\n hideInputTypeLabel?: boolean;\n inputTypeLabel?: string;\n hideHeading?: boolean;\n}\n\ntype InputDraft =\n | { type: 'json'; value: string }\n | { type: 'form'; value: unknown }\n | { type: 'simple'; value: ProcessorDraft };\n\nconst defaultSubmitIcon = (\n <Icon>\n <Play />\n </Icon>\n);\n\nfunction createInitialDraft(defaultValues: unknown, isProcessorWorkflow: boolean | undefined): InputDraft {\n if (!isProcessorWorkflow) return { type: 'form', value: defaultValues };\n const input = defaultValues ?? createProcessorInput();\n const draft = parseProcessorDraft(input);\n return draft ? { type: 'simple', value: draft } : { type: 'json', value: JSON.stringify(input, null, 2) };\n}\n\nexport const WorkflowInputData = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n isProcessorWorkflow,\n submitActions,\n leftActions,\n headingSlot,\n collapsible = true,\n submitButtonIcon = defaultSubmitIcon,\n submitButtonVariant = 'primary',\n submitButtonFullWidth,\n hideInputTypeLabel,\n inputTypeLabel = 'Run input',\n hideHeading,\n}: WorkflowInputDataProps) => {\n const [draft, setDraft] = useState(() => createInitialDraft(defaultValues, isProcessorWorkflow));\n // The Form view is uncontrolled: state here would only re-render this tree on every keystroke.\n const formValues = useRef<unknown>(defaultValues);\n const [errors, setErrors] = useState<string[]>([]);\n\n function readDraftValue(): JsonDraftValue {\n if (draft.type === 'json') return parseJsonDraft(draft.value);\n return { ok: true, value: draft.type === 'form' ? formValues.current : draft.value };\n }\n\n function submitJsonDraft(text: string) {\n const result = validateJsonDraft(schema, text);\n if (result.ok) onSubmit(result.value);\n else setErrors(result.errors);\n }\n\n function changeInputType(type: WorkflowInputType) {\n if (type === draft.type) return;\n setErrors([]);\n const current = readDraftValue();\n if (!current.ok) return setErrors([current.error]);\n if (type === 'json') {\n return setDraft({ type, value: JSON.stringify(current.value === undefined ? {} : current.value, null, 2) });\n }\n if (type === 'simple') {\n const processorDraft = parseProcessorDraft(current.value);\n if (processorDraft) return setDraft({ type, value: processorDraft });\n return setErrors([\n 'Simple input requires a messages array with text parts and a string phase. Correct the JSON first.',\n ]);\n }\n const formShapeError = getFormShapeError(schema, current.value);\n return formShapeError ? setErrors([formShapeError]) : setDraft({ type, value: current.value });\n }\n\n const defaultHeading = (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\">\n Trigger a run\n </Txt>\n );\n const toggleSitsInLabelRow = !collapsible && !hideHeading;\n const toggleSitsAboveInput = collapsible || hideHeading || hideInputTypeLabel;\n const inputTypeToggle = (\n <WorkflowInputTypeToggle\n value={draft.type}\n onChange={changeInputType}\n disabled={isSubmitLoading}\n includeSimple={isProcessorWorkflow}\n compact={toggleSitsInLabelRow}\n />\n );\n\n const body = (\n <>\n {!hideInputTypeLabel && (\n <div className=\"flex justify-between gap-3 px-5 py-3\">\n <Txt as=\"p\" variant=\"caption\" tone=\"muted\">\n {inputTypeLabel}\n </Txt>\n {toggleSitsInLabelRow && <div className=\"shrink-0\">{inputTypeToggle}</div>}\n </div>\n )}\n\n <div className=\"px-5\">\n {toggleSitsAboveInput && <div className=\"pb-4\">{inputTypeToggle}</div>}\n\n <div\n className={cn('pb-4', {\n 'pointer-events-none opacity-50': isSubmitLoading,\n })}\n >\n {draft.type === 'json' ? (\n <WorkflowJsonInput\n value={draft.value}\n onChange={value => {\n setDraft({ type: 'json', value });\n setErrors([]);\n }}\n errors={errors}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={() => submitJsonDraft(draft.value)}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowJsonInput>\n ) : draft.type === 'simple' && isProcessorWorkflow ? (\n <WorkflowProcessorInput\n schema={schema}\n value={draft.value}\n onChange={value => setDraft({ type: 'simple', value })}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowProcessorInput>\n ) : (\n <WorkflowFormInput\n schema={schema}\n onValuesChange={value => {\n formValues.current = value;\n }}\n defaultValues={draft.value}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowFormInput>\n )}\n </div>\n </div>\n </>\n );\n\n if (!collapsible) {\n return (\n <>\n {!hideHeading && <div className=\"border-b border-border pb-3\">{headingSlot ?? defaultHeading}</div>}\n <div>{body}</div>\n </>\n );\n }\n\n return (\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex w-full items-center gap-2 pb-3 text-left\">\n <DisclosureChevron direction=\"right\" className=\"size-4 text-muted-foreground\" />\n {headingSlot ?? defaultHeading}\n </CollapsibleTrigger>\n\n <CollapsibleContent keepMounted>{body}</CollapsibleContent>\n </Collapsible>\n );\n};\n\nconst WorkflowFormInput = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n submitActions,\n leftActions,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n onValuesChange,\n}: WorkflowInputDataProps & { onValuesChange: (value: unknown) => void }) => (\n <DynamicForm\n schema={schema}\n defaultValues={defaultValues}\n onValuesChange={onValuesChange}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n readOnly={isSubmitLoading}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </DynamicForm>\n);\n"],"names":["jsx","Icon","Play","createProcessorInput","parseProcessorDraft","collapsible","useState","useRef","parseJsonDraft","validateJsonDraft","getFormShapeError","Txt","WorkflowInputTypeToggle","jsxs","Fragment","cn","WorkflowJsonInput","WorkflowProcessorInput","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent","DynamicForm"],"mappings":"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"}
1
+ {"version":3,"file":"workflow-input-data.cjs.js","sources":["../../../../src/domains/workflows/workflow/workflow-input-data.tsx"],"sourcesContent":["import { Play } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useRef, useState } from 'react';\nimport type { ZodSchema } from 'zod';\n\nimport { createProcessorInput, parseProcessorDraft } from './input/processor-input';\nimport type { ProcessorDraft } from './input/processor-input';\nimport { WorkflowJsonInput } from './input/workflow-json-input';\nimport { WorkflowProcessorInput } from './input/workflow-processor-input';\nimport { WorkflowInputTypeToggle } from './workflow-input-type-toggle';\nimport type { WorkflowInputType } from './workflow-input-type-toggle';\nimport { Button } from '@/ds/components/Button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { DynamicForm } from '@/lib/form';\nimport { getFormShapeError, parseJsonDraft, validateJsonDraft } from '@/lib/form/json-draft';\nimport type { JsonDraftValue } from '@/lib/form/json-draft';\nimport { cn } from '@/utils/cn';\n\nexport interface WorkflowInputDataProps {\n schema: ZodSchema;\n defaultValues?: unknown;\n isSubmitLoading: boolean;\n submitButtonLabel: string;\n onSubmit: (data: any) => void;\n children?: React.ReactNode;\n isProcessorWorkflow?: boolean;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n headingSlot?: ReactNode;\n collapsible?: boolean;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: React.ComponentProps<typeof Button>['variant'];\n submitButtonFullWidth?: boolean;\n hideInputTypeLabel?: boolean;\n inputTypeLabel?: string;\n hideHeading?: boolean;\n}\n\ntype InputDraft =\n | { type: 'json'; value: string }\n | { type: 'form'; value: unknown }\n | { type: 'simple'; value: ProcessorDraft };\n\nconst defaultSubmitIcon = (\n <Icon>\n <Play />\n </Icon>\n);\n\nfunction createInitialDraft(defaultValues: unknown, isProcessorWorkflow: boolean | undefined): InputDraft {\n if (!isProcessorWorkflow) return { type: 'form', value: defaultValues };\n const input = defaultValues ?? createProcessorInput();\n const draft = parseProcessorDraft(input);\n return draft ? { type: 'simple', value: draft } : { type: 'json', value: JSON.stringify(input, null, 2) };\n}\n\nexport const WorkflowInputData = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n isProcessorWorkflow,\n submitActions,\n leftActions,\n headingSlot,\n collapsible = true,\n submitButtonIcon = defaultSubmitIcon,\n submitButtonVariant = 'primary',\n submitButtonFullWidth,\n hideInputTypeLabel,\n inputTypeLabel = 'Run input',\n hideHeading,\n}: WorkflowInputDataProps) => {\n const [draft, setDraft] = useState(() => createInitialDraft(defaultValues, isProcessorWorkflow));\n // The Form view is uncontrolled: state here would only re-render this tree on every keystroke.\n const formValues = useRef<unknown>(defaultValues);\n const [errors, setErrors] = useState<string[]>([]);\n\n function readDraftValue(): JsonDraftValue {\n if (draft.type === 'json') return parseJsonDraft(draft.value);\n return { ok: true, value: draft.type === 'form' ? formValues.current : draft.value };\n }\n\n function submitJsonDraft(text: string) {\n const result = validateJsonDraft(schema, text);\n if (result.ok) onSubmit(result.value);\n else setErrors(result.errors);\n }\n\n function changeInputType(type: WorkflowInputType) {\n if (type === draft.type) return;\n setErrors([]);\n const current = readDraftValue();\n if (!current.ok) return setErrors([current.error]);\n if (type === 'json') {\n return setDraft({ type, value: JSON.stringify(current.value === undefined ? {} : current.value, null, 2) });\n }\n if (type === 'simple') {\n const processorDraft = parseProcessorDraft(current.value);\n if (processorDraft) return setDraft({ type, value: processorDraft });\n return setErrors([\n 'Simple input requires a messages array with text parts and a string phase. Correct the JSON first.',\n ]);\n }\n const formShapeError = getFormShapeError(schema, current.value);\n return formShapeError ? setErrors([formShapeError]) : setDraft({ type, value: current.value });\n }\n\n const defaultHeading = (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\">\n Trigger a run\n </Txt>\n );\n const toggleSitsInLabelRow = !collapsible && !hideHeading;\n const toggleSitsAboveInput = collapsible || hideHeading || hideInputTypeLabel;\n const inputTypeToggle = (\n <WorkflowInputTypeToggle\n value={draft.type}\n onChange={changeInputType}\n disabled={isSubmitLoading}\n includeSimple={isProcessorWorkflow}\n compact={toggleSitsInLabelRow}\n />\n );\n\n const body = (\n <>\n {!hideInputTypeLabel && (\n <div className=\"flex justify-between gap-3 px-5 py-3\">\n <Txt as=\"p\" variant=\"caption\" tone=\"muted\">\n {inputTypeLabel}\n </Txt>\n {toggleSitsInLabelRow && <div className=\"shrink-0\">{inputTypeToggle}</div>}\n </div>\n )}\n\n <div className=\"px-5\">\n {toggleSitsAboveInput && <div className=\"pb-4\">{inputTypeToggle}</div>}\n\n <div\n className={cn('pb-4', {\n 'pointer-events-none opacity-50': isSubmitLoading,\n })}\n >\n {draft.type === 'json' ? (\n <WorkflowJsonInput\n value={draft.value}\n onChange={value => {\n setDraft({ type: 'json', value });\n setErrors([]);\n }}\n errors={errors}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={() => submitJsonDraft(draft.value)}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowJsonInput>\n ) : draft.type === 'simple' && isProcessorWorkflow ? (\n <WorkflowProcessorInput\n schema={schema}\n value={draft.value}\n onChange={value => setDraft({ type: 'simple', value })}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowProcessorInput>\n ) : (\n <WorkflowFormInput\n schema={schema}\n onValuesChange={value => {\n formValues.current = value;\n }}\n defaultValues={draft.value}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowFormInput>\n )}\n </div>\n </div>\n </>\n );\n\n if (!collapsible) {\n return (\n <>\n {!hideHeading && <div className=\"border-b border-border pb-3\">{headingSlot ?? defaultHeading}</div>}\n <div>{body}</div>\n </>\n );\n }\n\n return (\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex w-full items-center gap-2 pb-3 text-left\">\n <DisclosureChevron direction=\"right\" className=\"size-4 text-muted-foreground\" />\n {headingSlot ?? defaultHeading}\n </CollapsibleTrigger>\n\n <CollapsibleContent keepMounted>{body}</CollapsibleContent>\n </Collapsible>\n );\n};\n\nconst WorkflowFormInput = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n submitActions,\n leftActions,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n onValuesChange,\n}: WorkflowInputDataProps & { onValuesChange: (value: unknown) => void }) => (\n <DynamicForm\n schema={schema}\n defaultValues={defaultValues}\n onValuesChange={onValuesChange}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n readOnly={isSubmitLoading}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </DynamicForm>\n);\n"],"names":["jsx","Icon","Play","createProcessorInput","parseProcessorDraft","collapsible","useState","useRef","parseJsonDraft","validateJsonDraft","getFormShapeError","Txt","WorkflowInputTypeToggle","jsxs","Fragment","cn","WorkflowJsonInput","WorkflowProcessorInput","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent","DynamicForm"],"mappings":"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"}
@@ -15,6 +15,7 @@ import '../../../lib/form/utils.es.js';
15
15
  import '../../../Button-60jVnaHt.js';
16
16
  import '../../../field-control-aria-DB6y41tQ.js';
17
17
  import 'date-fns';
18
+ import '../../../popover-Jf2UUdQ1.js';
18
19
  import { c as cn } from '../../../cn-coERSHz5.js';
19
20
  import '@autoform/core';
20
21
  import '@autoform/react';
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-input-data.es.js","sources":["../../../../src/domains/workflows/workflow/workflow-input-data.tsx"],"sourcesContent":["import { Play } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useRef, useState } from 'react';\nimport type { ZodSchema } from 'zod';\n\nimport { createProcessorInput, parseProcessorDraft } from './input/processor-input';\nimport type { ProcessorDraft } from './input/processor-input';\nimport { WorkflowJsonInput } from './input/workflow-json-input';\nimport { WorkflowProcessorInput } from './input/workflow-processor-input';\nimport { WorkflowInputTypeToggle } from './workflow-input-type-toggle';\nimport type { WorkflowInputType } from './workflow-input-type-toggle';\nimport { Button } from '@/ds/components/Button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { DynamicForm } from '@/lib/form';\nimport { getFormShapeError, parseJsonDraft, validateJsonDraft } from '@/lib/form/json-draft';\nimport type { JsonDraftValue } from '@/lib/form/json-draft';\nimport { cn } from '@/utils/cn';\n\nexport interface WorkflowInputDataProps {\n schema: ZodSchema;\n defaultValues?: unknown;\n isSubmitLoading: boolean;\n submitButtonLabel: string;\n onSubmit: (data: any) => void;\n children?: React.ReactNode;\n isProcessorWorkflow?: boolean;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n headingSlot?: ReactNode;\n collapsible?: boolean;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: React.ComponentProps<typeof Button>['variant'];\n submitButtonFullWidth?: boolean;\n hideInputTypeLabel?: boolean;\n inputTypeLabel?: string;\n hideHeading?: boolean;\n}\n\ntype InputDraft =\n | { type: 'json'; value: string }\n | { type: 'form'; value: unknown }\n | { type: 'simple'; value: ProcessorDraft };\n\nconst defaultSubmitIcon = (\n <Icon>\n <Play />\n </Icon>\n);\n\nfunction createInitialDraft(defaultValues: unknown, isProcessorWorkflow: boolean | undefined): InputDraft {\n if (!isProcessorWorkflow) return { type: 'form', value: defaultValues };\n const input = defaultValues ?? createProcessorInput();\n const draft = parseProcessorDraft(input);\n return draft ? { type: 'simple', value: draft } : { type: 'json', value: JSON.stringify(input, null, 2) };\n}\n\nexport const WorkflowInputData = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n isProcessorWorkflow,\n submitActions,\n leftActions,\n headingSlot,\n collapsible = true,\n submitButtonIcon = defaultSubmitIcon,\n submitButtonVariant = 'primary',\n submitButtonFullWidth,\n hideInputTypeLabel,\n inputTypeLabel = 'Run input',\n hideHeading,\n}: WorkflowInputDataProps) => {\n const [draft, setDraft] = useState(() => createInitialDraft(defaultValues, isProcessorWorkflow));\n // The Form view is uncontrolled: state here would only re-render this tree on every keystroke.\n const formValues = useRef<unknown>(defaultValues);\n const [errors, setErrors] = useState<string[]>([]);\n\n function readDraftValue(): JsonDraftValue {\n if (draft.type === 'json') return parseJsonDraft(draft.value);\n return { ok: true, value: draft.type === 'form' ? formValues.current : draft.value };\n }\n\n function submitJsonDraft(text: string) {\n const result = validateJsonDraft(schema, text);\n if (result.ok) onSubmit(result.value);\n else setErrors(result.errors);\n }\n\n function changeInputType(type: WorkflowInputType) {\n if (type === draft.type) return;\n setErrors([]);\n const current = readDraftValue();\n if (!current.ok) return setErrors([current.error]);\n if (type === 'json') {\n return setDraft({ type, value: JSON.stringify(current.value === undefined ? {} : current.value, null, 2) });\n }\n if (type === 'simple') {\n const processorDraft = parseProcessorDraft(current.value);\n if (processorDraft) return setDraft({ type, value: processorDraft });\n return setErrors([\n 'Simple input requires a messages array with text parts and a string phase. Correct the JSON first.',\n ]);\n }\n const formShapeError = getFormShapeError(schema, current.value);\n return formShapeError ? setErrors([formShapeError]) : setDraft({ type, value: current.value });\n }\n\n const defaultHeading = (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\">\n Trigger a run\n </Txt>\n );\n const toggleSitsInLabelRow = !collapsible && !hideHeading;\n const toggleSitsAboveInput = collapsible || hideHeading || hideInputTypeLabel;\n const inputTypeToggle = (\n <WorkflowInputTypeToggle\n value={draft.type}\n onChange={changeInputType}\n disabled={isSubmitLoading}\n includeSimple={isProcessorWorkflow}\n compact={toggleSitsInLabelRow}\n />\n );\n\n const body = (\n <>\n {!hideInputTypeLabel && (\n <div className=\"flex justify-between gap-3 px-5 py-3\">\n <Txt as=\"p\" variant=\"caption\" tone=\"muted\">\n {inputTypeLabel}\n </Txt>\n {toggleSitsInLabelRow && <div className=\"shrink-0\">{inputTypeToggle}</div>}\n </div>\n )}\n\n <div className=\"px-5\">\n {toggleSitsAboveInput && <div className=\"pb-4\">{inputTypeToggle}</div>}\n\n <div\n className={cn('pb-4', {\n 'pointer-events-none opacity-50': isSubmitLoading,\n })}\n >\n {draft.type === 'json' ? (\n <WorkflowJsonInput\n value={draft.value}\n onChange={value => {\n setDraft({ type: 'json', value });\n setErrors([]);\n }}\n errors={errors}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={() => submitJsonDraft(draft.value)}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowJsonInput>\n ) : draft.type === 'simple' && isProcessorWorkflow ? (\n <WorkflowProcessorInput\n schema={schema}\n value={draft.value}\n onChange={value => setDraft({ type: 'simple', value })}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowProcessorInput>\n ) : (\n <WorkflowFormInput\n schema={schema}\n onValuesChange={value => {\n formValues.current = value;\n }}\n defaultValues={draft.value}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowFormInput>\n )}\n </div>\n </div>\n </>\n );\n\n if (!collapsible) {\n return (\n <>\n {!hideHeading && <div className=\"border-b border-border pb-3\">{headingSlot ?? defaultHeading}</div>}\n <div>{body}</div>\n </>\n );\n }\n\n return (\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex w-full items-center gap-2 pb-3 text-left\">\n <DisclosureChevron direction=\"right\" className=\"size-4 text-muted-foreground\" />\n {headingSlot ?? defaultHeading}\n </CollapsibleTrigger>\n\n <CollapsibleContent keepMounted>{body}</CollapsibleContent>\n </Collapsible>\n );\n};\n\nconst WorkflowFormInput = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n submitActions,\n leftActions,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n onValuesChange,\n}: WorkflowInputDataProps & { onValuesChange: (value: unknown) => void }) => (\n <DynamicForm\n schema={schema}\n defaultValues={defaultValues}\n onValuesChange={onValuesChange}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n readOnly={isSubmitLoading}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </DynamicForm>\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-input-data.es.js","sources":["../../../../src/domains/workflows/workflow/workflow-input-data.tsx"],"sourcesContent":["import { Play } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { useRef, useState } from 'react';\nimport type { ZodSchema } from 'zod';\n\nimport { createProcessorInput, parseProcessorDraft } from './input/processor-input';\nimport type { ProcessorDraft } from './input/processor-input';\nimport { WorkflowJsonInput } from './input/workflow-json-input';\nimport { WorkflowProcessorInput } from './input/workflow-processor-input';\nimport { WorkflowInputTypeToggle } from './workflow-input-type-toggle';\nimport type { WorkflowInputType } from './workflow-input-type-toggle';\nimport { Button } from '@/ds/components/Button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { DynamicForm } from '@/lib/form';\nimport { getFormShapeError, parseJsonDraft, validateJsonDraft } from '@/lib/form/json-draft';\nimport type { JsonDraftValue } from '@/lib/form/json-draft';\nimport { cn } from '@/utils/cn';\n\nexport interface WorkflowInputDataProps {\n schema: ZodSchema;\n defaultValues?: unknown;\n isSubmitLoading: boolean;\n submitButtonLabel: string;\n onSubmit: (data: any) => void;\n children?: React.ReactNode;\n isProcessorWorkflow?: boolean;\n submitActions?: React.ReactNode;\n leftActions?: React.ReactNode;\n headingSlot?: ReactNode;\n collapsible?: boolean;\n submitButtonIcon?: ReactNode;\n submitButtonVariant?: React.ComponentProps<typeof Button>['variant'];\n submitButtonFullWidth?: boolean;\n hideInputTypeLabel?: boolean;\n inputTypeLabel?: string;\n hideHeading?: boolean;\n}\n\ntype InputDraft =\n | { type: 'json'; value: string }\n | { type: 'form'; value: unknown }\n | { type: 'simple'; value: ProcessorDraft };\n\nconst defaultSubmitIcon = (\n <Icon>\n <Play />\n </Icon>\n);\n\nfunction createInitialDraft(defaultValues: unknown, isProcessorWorkflow: boolean | undefined): InputDraft {\n if (!isProcessorWorkflow) return { type: 'form', value: defaultValues };\n const input = defaultValues ?? createProcessorInput();\n const draft = parseProcessorDraft(input);\n return draft ? { type: 'simple', value: draft } : { type: 'json', value: JSON.stringify(input, null, 2) };\n}\n\nexport const WorkflowInputData = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n isProcessorWorkflow,\n submitActions,\n leftActions,\n headingSlot,\n collapsible = true,\n submitButtonIcon = defaultSubmitIcon,\n submitButtonVariant = 'primary',\n submitButtonFullWidth,\n hideInputTypeLabel,\n inputTypeLabel = 'Run input',\n hideHeading,\n}: WorkflowInputDataProps) => {\n const [draft, setDraft] = useState(() => createInitialDraft(defaultValues, isProcessorWorkflow));\n // The Form view is uncontrolled: state here would only re-render this tree on every keystroke.\n const formValues = useRef<unknown>(defaultValues);\n const [errors, setErrors] = useState<string[]>([]);\n\n function readDraftValue(): JsonDraftValue {\n if (draft.type === 'json') return parseJsonDraft(draft.value);\n return { ok: true, value: draft.type === 'form' ? formValues.current : draft.value };\n }\n\n function submitJsonDraft(text: string) {\n const result = validateJsonDraft(schema, text);\n if (result.ok) onSubmit(result.value);\n else setErrors(result.errors);\n }\n\n function changeInputType(type: WorkflowInputType) {\n if (type === draft.type) return;\n setErrors([]);\n const current = readDraftValue();\n if (!current.ok) return setErrors([current.error]);\n if (type === 'json') {\n return setDraft({ type, value: JSON.stringify(current.value === undefined ? {} : current.value, null, 2) });\n }\n if (type === 'simple') {\n const processorDraft = parseProcessorDraft(current.value);\n if (processorDraft) return setDraft({ type, value: processorDraft });\n return setErrors([\n 'Simple input requires a messages array with text parts and a string phase. Correct the JSON first.',\n ]);\n }\n const formShapeError = getFormShapeError(schema, current.value);\n return formShapeError ? setErrors([formShapeError]) : setDraft({ type, value: current.value });\n }\n\n const defaultHeading = (\n <Txt as=\"span\" variant=\"subheading\" tone=\"ink\">\n Trigger a run\n </Txt>\n );\n const toggleSitsInLabelRow = !collapsible && !hideHeading;\n const toggleSitsAboveInput = collapsible || hideHeading || hideInputTypeLabel;\n const inputTypeToggle = (\n <WorkflowInputTypeToggle\n value={draft.type}\n onChange={changeInputType}\n disabled={isSubmitLoading}\n includeSimple={isProcessorWorkflow}\n compact={toggleSitsInLabelRow}\n />\n );\n\n const body = (\n <>\n {!hideInputTypeLabel && (\n <div className=\"flex justify-between gap-3 px-5 py-3\">\n <Txt as=\"p\" variant=\"caption\" tone=\"muted\">\n {inputTypeLabel}\n </Txt>\n {toggleSitsInLabelRow && <div className=\"shrink-0\">{inputTypeToggle}</div>}\n </div>\n )}\n\n <div className=\"px-5\">\n {toggleSitsAboveInput && <div className=\"pb-4\">{inputTypeToggle}</div>}\n\n <div\n className={cn('pb-4', {\n 'pointer-events-none opacity-50': isSubmitLoading,\n })}\n >\n {draft.type === 'json' ? (\n <WorkflowJsonInput\n value={draft.value}\n onChange={value => {\n setDraft({ type: 'json', value });\n setErrors([]);\n }}\n errors={errors}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={() => submitJsonDraft(draft.value)}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowJsonInput>\n ) : draft.type === 'simple' && isProcessorWorkflow ? (\n <WorkflowProcessorInput\n schema={schema}\n value={draft.value}\n onChange={value => setDraft({ type: 'simple', value })}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowProcessorInput>\n ) : (\n <WorkflowFormInput\n schema={schema}\n onValuesChange={value => {\n formValues.current = value;\n }}\n defaultValues={draft.value}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </WorkflowFormInput>\n )}\n </div>\n </div>\n </>\n );\n\n if (!collapsible) {\n return (\n <>\n {!hideHeading && <div className=\"border-b border-border pb-3\">{headingSlot ?? defaultHeading}</div>}\n <div>{body}</div>\n </>\n );\n }\n\n return (\n <Collapsible defaultOpen>\n <CollapsibleTrigger className=\"flex w-full items-center gap-2 pb-3 text-left\">\n <DisclosureChevron direction=\"right\" className=\"size-4 text-muted-foreground\" />\n {headingSlot ?? defaultHeading}\n </CollapsibleTrigger>\n\n <CollapsibleContent keepMounted>{body}</CollapsibleContent>\n </Collapsible>\n );\n};\n\nconst WorkflowFormInput = ({\n schema,\n defaultValues,\n isSubmitLoading,\n submitButtonLabel,\n onSubmit,\n children,\n submitActions,\n leftActions,\n submitButtonIcon,\n submitButtonVariant,\n submitButtonFullWidth,\n onValuesChange,\n}: WorkflowInputDataProps & { onValuesChange: (value: unknown) => void }) => (\n <DynamicForm\n schema={schema}\n defaultValues={defaultValues}\n onValuesChange={onValuesChange}\n isSubmitLoading={isSubmitLoading}\n submitButtonLabel={submitButtonLabel}\n submitButtonIcon={submitButtonIcon}\n submitButtonVariant={submitButtonVariant}\n submitButtonFullWidth={submitButtonFullWidth}\n onSubmit={onSubmit}\n readOnly={isSubmitLoading}\n submitActions={submitActions}\n leftActions={leftActions}\n >\n {children}\n </DynamicForm>\n);\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const Button = require('../../../Button-CAVPKK09.cjs');
9
- const dialog = require('../../../dialog-B5nLi0ER.cjs');
9
+ const dialog = require('../../../dialog-BAlSUqcF.cjs');
10
10
  const workflowCodeDialogContent = require('../../../workflow-code-dialog-content-vC_ddCYp.cjs');
11
11
 
12
12
  function WorkflowMapConfigDialog({ stepName, mapConfig }) {
@@ -2,7 +2,7 @@ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { Eye } from 'lucide-react';
3
3
  import { useState } from 'react';
4
4
  import { B as Button } from '../../../Button-60jVnaHt.js';
5
- import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from '../../../dialog-Jz2ZfO-z.js';
5
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from '../../../dialog-CboDo8Pj.js';
6
6
  import { W as WorkflowCodeContent } from '../../../workflow-code-dialog-content-DG-Lmvgu.js';
7
7
 
8
8
  function WorkflowMapConfigDialog({ stepName, mapConfig }) {
@@ -10,7 +10,7 @@ const codeEditor = require('../../../code-editor-CH8c-KF1.cjs');
10
10
  const collapsible = require('../../../collapsible-C6BZhVRG.cjs');
11
11
  const disclosureChevron = require('../../../disclosure-chevron-B_gmYFR5.cjs');
12
12
  const tabsRoot = require('../../../tabs-root-Phsi-P1b.cjs');
13
- const tabsList = require('../../../tabs-list-xikY_dug.cjs');
13
+ const tabsList = require('../../../tabs-list-DwQsMVKI.cjs');
14
14
  const tabsTab = require('../../../tabs-tab-CqcY4tHE.cjs');
15
15
  const tabsContent = require('../../../tabs-content-C3VQRDXH.cjs');
16
16
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
@@ -6,7 +6,7 @@ import { C as CodeEditor } from '../../../code-editor-B_v1EfzX.js';
6
6
  import { C as Collapsible, b as CollapsibleTrigger, a as CollapsibleContent } from '../../../collapsible-DglEffBF.js';
7
7
  import { D as DisclosureChevron } from '../../../disclosure-chevron-BWZ8Alz1.js';
8
8
  import { T as Tabs } from '../../../tabs-root-CvGhdNKc.js';
9
- import { T as TabList } from '../../../tabs-list-DY_hziv7.js';
9
+ import { T as TabList } from '../../../tabs-list-CDep3C2w.js';
10
10
  import { T as Tab } from '../../../tabs-tab-CzpXzpf-.js';
11
11
  import { T as TabContent } from '../../../tabs-content-6EaLEj8a.js';
12
12
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
@@ -7,9 +7,9 @@ const React = require('react');
7
7
  const domains_workflows_context_workflowRunContext = require('../context/workflow-run-context.cjs.js');
8
8
  const domains_workflows_context_workflowStepDetailContext = require('../context/workflow-step-detail-context.cjs.js');
9
9
  const domains_workflows_workflow_workflowTimeTravelForm = require('./workflow-time-travel-form.cjs.js');
10
- const dialog = require('../../../dialog-B5nLi0ER.cjs');
10
+ const dialog = require('../../../dialog-BAlSUqcF.cjs');
11
11
  const workflowCodeDialogContent = require('../../../workflow-code-dialog-content-vC_ddCYp.cjs');
12
- const workflowStepAction = require('../../../workflow-step-action-BsBZk7j6.cjs');
12
+ const workflowStepAction = require('../../../workflow-step-action-DNrU8on1.cjs');
13
13
 
14
14
  const WorkflowStepActionBar = ({
15
15
  resumeData,
@@ -3,9 +3,9 @@ import { useState, useContext, useMemo } from 'react';
3
3
  import { WorkflowRunContext } from '../context/workflow-run-context.es.js';
4
4
  import { useWorkflowStepDetail } from '../context/workflow-step-detail-context.es.js';
5
5
  import { WorkflowTimeTravelForm } from './workflow-time-travel-form.es.js';
6
- import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from '../../../dialog-Jz2ZfO-z.js';
6
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody } from '../../../dialog-CboDo8Pj.js';
7
7
  import { W as WorkflowCodeContent } from '../../../workflow-code-dialog-content-DG-Lmvgu.js';
8
- import { a as WorkflowStepActions, W as WorkflowStepAction } from '../../../workflow-step-action-AG05Ly8P.js';
8
+ import { a as WorkflowStepActions, W as WorkflowStepAction } from '../../../workflow-step-action-ac1gNDdn.js';
9
9
 
10
10
  const WorkflowStepActionBar = ({
11
11
  resumeData,
@@ -17,7 +17,7 @@ const domains_workflows_workflow_workflowRunError = require('./workflow-run-erro
17
17
  const domains_workflows_workflow_workflowRunHeader = require('./workflow-run-header.cjs.js');
18
18
  const domains_workflows_workflow_workflowTriggerForm = require('./workflow-trigger-form.cjs.js');
19
19
  const domains_workflows_workflow_workflowTriggerHeader = require('./workflow-trigger-header.cjs.js');
20
- const scrollArea = require('../../../scroll-area-CVgjRzTS.cjs');
20
+ const scrollArea = require('../../../scroll-area-BakRKj2k.cjs');
21
21
  const skeleton = require('../../../skeleton-bUFvB8ok.cjs');
22
22
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
23
23
  const icons_Icon = require('../../../icons/Icon.cjs.js');
@@ -13,7 +13,7 @@ import { WorkflowRunError } from './workflow-run-error.es.js';
13
13
  import { RunWorkflowHeader } from './workflow-run-header.es.js';
14
14
  import { WorkflowTriggerForm } from './workflow-trigger-form.es.js';
15
15
  import { InitialWorkflowHeader } from './workflow-trigger-header.es.js';
16
- import { S as ScrollArea } from '../../../scroll-area-BywIlj3F.js';
16
+ import { S as ScrollArea } from '../../../scroll-area-D6gKFavi.js';
17
17
  import { S as Skeleton } from '../../../skeleton-Bjxvf3Y-.js';
18
18
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
19
19
  import { Icon } from '../../../icons/Icon.es.js';
@@ -7,7 +7,7 @@ const workspace = require('@mastra/react/hooks/workspace');
7
7
  const domains_workspace_components_useWorkspaceContext = require('./use-workspace-context.cjs.js');
8
8
  const domains_workspace_components_workspaceError = require('./workspace-error.cjs.js');
9
9
  const domains_workspace_components_workspaceMarkdownPreview = require('./workspace-markdown-preview.cjs.js');
10
- const codeBlock = require('../../../code-block-BuGosknt.cjs');
10
+ const codeBlock = require('../../../code-block-CKLCdWtP.cjs');
11
11
  const highlight = require('../../../highlight-DK1dn-Fh.cjs');
12
12
  const skeleton = require('../../../skeleton-bUFvB8ok.cjs');
13
13
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
@@ -3,7 +3,7 @@ import { useWorkspaceFileContent, isImageFile, isVideoFile, videoMimeType, isMar
3
3
  import { useWorkspaceContext } from './use-workspace-context.es.js';
4
4
  import { WorkspaceError } from './workspace-error.es.js';
5
5
  import { WorkspaceMarkdownPreview } from './workspace-markdown-preview.es.js';
6
- import { C as CodeBlock } from '../../../code-block-vvYFcnqm.js';
6
+ import { C as CodeBlock } from '../../../code-block-BzUcNWrb.js';
7
7
  import { l as languageForPath } from '../../../highlight-BmpoELR4.js';
8
8
  import { S as Skeleton } from '../../../skeleton-Bjxvf3Y-.js';
9
9
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
@@ -7,12 +7,12 @@ const workspace = require('@mastra/react/hooks/workspace');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
9
  const useDebounce = require('use-debounce');
10
- const dialog = require('../../../dialog-B5nLi0ER.cjs');
10
+ const dialog = require('../../../dialog-BAlSUqcF.cjs');
11
11
  const field = require('../../../field-D1SVMPMz.cjs');
12
12
  require('../../../field-control-aria-WzMGs0A4.cjs');
13
- const markdownRenderer = require('../../../markdown-renderer-BXTNiZbz.cjs');
14
- const scrollArea = require('../../../scroll-area-CVgjRzTS.cjs');
15
- const searchInput = require('../../../search-input-2DhcUIvn.cjs');
13
+ const markdownRenderer = require('../../../markdown-renderer-BRu3RpQD.cjs');
14
+ const scrollArea = require('../../../scroll-area-BakRKj2k.cjs');
15
+ const searchInput = require('../../../search-input-DdRhkYqy.cjs');
16
16
  const select = require('../../../select-D5cu0K7R.cjs');
17
17
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
18
18
  const icons_GithubIcon = require('../../../icons/GithubIcon.cjs.js');
@@ -21,7 +21,7 @@ const primitives_raisedSurface = require('../../../primitives/raised-surface.cjs
21
21
  const primitives_transitions = require('../../../primitives/transitions.cjs.js');
22
22
  const primitives_typography = require('../../../primitives/typography.cjs.js');
23
23
  const utils_cn = require('../../../cn-TqD01zH-.cjs');
24
- const dialogAction = require('../../../dialog-action-DdkbsKfP.cjs');
24
+ const dialogAction = require('../../../dialog-action-DWE9XalB.cjs');
25
25
 
26
26
  function getSkillUniqueId(skill) {
27
27
  return `${skill.topSource}/${skill.name}`;
@@ -3,12 +3,12 @@ import { usePopularSkillsSh, useSearchSkillsSh, parseSkillSource, useSkillPrevie
3
3
  import { Loader2, CircleSlashIcon, Check, Download, Package, ExternalLink, Folder } from 'lucide-react';
4
4
  import { useState, useMemo, useCallback } from 'react';
5
5
  import { useDebouncedCallback } from 'use-debounce';
6
- import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-Jz2ZfO-z.js';
6
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-CboDo8Pj.js';
7
7
  import { F as Field, e as FieldLabel } from '../../../field-B89BEZg4.js';
8
8
  import '../../../field-control-aria-DB6y41tQ.js';
9
- import { M as MarkdownRenderer } from '../../../markdown-renderer-Ct-q_KTF.js';
10
- import { S as ScrollArea, a as ScrollAreaViewport } from '../../../scroll-area-BywIlj3F.js';
11
- import { S as SearchInput } from '../../../search-input-RybUdqzg.js';
9
+ import { M as MarkdownRenderer } from '../../../markdown-renderer-WesDzhMr.js';
10
+ import { S as ScrollArea, a as ScrollAreaViewport } from '../../../scroll-area-D6gKFavi.js';
11
+ import { S as SearchInput } from '../../../search-input-BEAKPGH8.js';
12
12
  import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-BvYdi3X0.js';
13
13
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
14
14
  import { GithubIcon } from '../../../icons/GithubIcon.es.js';
@@ -17,7 +17,7 @@ import { raisedSurfaceStyle } from '../../../primitives/raised-surface.es.js';
17
17
  import { controlStateColorTransition } from '../../../primitives/transitions.es.js';
18
18
  import { quietTextHover } from '../../../primitives/typography.es.js';
19
19
  import { c as cn } from '../../../cn-coERSHz5.js';
20
- import { D as DialogAction } from '../../../dialog-action-BxXhAz-P.js';
20
+ import { D as DialogAction } from '../../../dialog-action-DpctEQ9l.js';
21
21
 
22
22
  function getSkillUniqueId(skill) {
23
23
  return `${skill.topSource}/${skill.name}`;
@@ -9,7 +9,7 @@ const React = require('react');
9
9
  const domains_workspace_path = require('../path.cjs.js');
10
10
  const domains_workspace_components_useWorkspaceContext = require('./use-workspace-context.cjs.js');
11
11
  const Button = require('../../../Button-CAVPKK09.cjs');
12
- const dialog = require('../../../dialog-B5nLi0ER.cjs');
12
+ const dialog = require('../../../dialog-BAlSUqcF.cjs');
13
13
  const input = require('../../../input-zdqTky_C.cjs');
14
14
 
15
15
  function WorkspaceCreateDirectory({ labeled = false } = {}) {
@@ -5,7 +5,7 @@ import { useState } from 'react';
5
5
  import { ROOT_PATH, parentOf } from '../path.es.js';
6
6
  import { useWorkspaceContext } from './use-workspace-context.es.js';
7
7
  import { B as Button } from '../../../Button-60jVnaHt.js';
8
- import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-Jz2ZfO-z.js';
8
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, a as DialogBody, f as DialogFooter, b as DialogCancel } from '../../../dialog-CboDo8Pj.js';
9
9
  import { I as Input } from '../../../input-DQFUjtnh.js';
10
10
 
11
11
  function WorkspaceCreateDirectory({ labeled = false } = {}) {
@@ -4,8 +4,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const domains_workspace_components_frontmatter = require('./frontmatter.cjs.js');
7
- const codeBlock = require('../../../code-block-BuGosknt.cjs');
8
- const markdownRenderer = require('../../../markdown-renderer-BXTNiZbz.cjs');
7
+ const codeBlock = require('../../../code-block-CKLCdWtP.cjs');
8
+ const markdownRenderer = require('../../../markdown-renderer-BRu3RpQD.cjs');
9
9
 
10
10
  function WorkspaceMarkdownPreview({ content }) {
11
11
  const { frontmatter, body } = domains_workspace_components_frontmatter.splitFrontmatter(content);
@@ -1,7 +1,7 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { splitFrontmatter } from './frontmatter.es.js';
3
- import { C as CodeBlock } from '../../../code-block-vvYFcnqm.js';
4
- import { M as MarkdownRenderer } from '../../../markdown-renderer-Ct-q_KTF.js';
3
+ import { C as CodeBlock } from '../../../code-block-BzUcNWrb.js';
4
+ import { M as MarkdownRenderer } from '../../../markdown-renderer-WesDzhMr.js';
5
5
 
6
6
  function WorkspaceMarkdownPreview({ content }) {
7
7
  const { frontmatter, body } = splitFrontmatter(content);
@@ -15,7 +15,7 @@ const domains_workspace_components_workspaceCreateDirectory = require('./workspa
15
15
  const domains_workspace_components_workspaceSearch = require('./workspace-search.cjs.js');
16
16
  const domains_workspace_components_workspaceTree = require('./workspace-tree.cjs.js');
17
17
  const EmptyState = require('../../../EmptyState-ChzkDnbJ.cjs');
18
- const scrollArea = require('../../../scroll-area-CVgjRzTS.cjs');
18
+ const scrollArea = require('../../../scroll-area-BakRKj2k.cjs');
19
19
  const resize_collapsiblePanel = require('../../../resize/collapsible-panel.cjs.js');
20
20
  const resize_panelGroup = require('../../../resize/panel-group.cjs.js');
21
21
  const resize_separator = require('../../../resize/separator.cjs.js');
@@ -11,7 +11,7 @@ import { WorkspaceCreateDirectory } from './workspace-create-directory.es.js';
11
11
  import { WorkspaceSearchResults } from './workspace-search.es.js';
12
12
  import { WorkspaceTree as WorkspaceTree$1 } from './workspace-tree.es.js';
13
13
  import { E as EmptyState } from '../../../EmptyState-Cu6JKbrk.js';
14
- import { S as ScrollArea } from '../../../scroll-area-BywIlj3F.js';
14
+ import { S as ScrollArea } from '../../../scroll-area-D6gKFavi.js';
15
15
  import { CollapsiblePanel } from '../../../resize/collapsible-panel.es.js';
16
16
  import { PanelGroup } from '../../../resize/panel-group.es.js';
17
17
  import { PanelSeparator } from '../../../resize/separator.es.js';
@@ -11,7 +11,7 @@ const domains_workspace_path = require('../path.cjs.js');
11
11
  const domains_workspace_components_mountIcon = require('./mount-icon.cjs.js');
12
12
  const domains_workspace_components_useWorkspaceContext = require('./use-workspace-context.cjs.js');
13
13
  const domains_workspace_components_workspaceError = require('./workspace-error.cjs.js');
14
- const alertDialog = require('../../../alert-dialog-C-ODvRWT.cjs');
14
+ const alertDialog = require('../../../alert-dialog-Djojjgjo.cjs');
15
15
  const Button = require('../../../Button-CAVPKK09.cjs');
16
16
  const skeleton = require('../../../skeleton-bUFvB8ok.cjs');
17
17
  const spinner = require('../../../spinner-BW4nHg_A.cjs');
@@ -7,7 +7,7 @@ import { ROOT_PATH, joinPath, parentOf } from '../path.es.js';
7
7
  import { MountIcon } from './mount-icon.es.js';
8
8
  import { useWorkspaceContext } from './use-workspace-context.es.js';
9
9
  import { WorkspaceError } from './workspace-error.es.js';
10
- import { A as AlertDialog } from '../../../alert-dialog-DVAC9zdj.js';
10
+ import { A as AlertDialog } from '../../../alert-dialog-Cpx4g1sS.js';
11
11
  import { B as Button } from '../../../Button-60jVnaHt.js';
12
12
  import { S as Skeleton } from '../../../skeleton-Bjxvf3Y-.js';
13
13
  import { S as Spinner } from '../../../spinner-CFtgt3oI.js';
@@ -4,7 +4,7 @@ import { ChevronDown, CheckIcon } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { FLOATING_POSITION_METHOD } from './primitives/floating.es.js';
6
6
  import { useFluidMenuItemRef, useFluidMenu, FluidMenuItems } from './primitives/fluid-menu.es.js';
7
- import { menuItemTrailingIconClass, menuItemInsetClass, menuItemClass, MENU_SIDE_OFFSET, menuPositionerClass, menuPopupClass, menuItemDestructiveClass, menuItemCheckClass, menuLabelClass, menuSeparatorClass, menuShortcutClass } from './primitives/menu-item.es.js';
7
+ import { menuItemHintClass, menuItemTrailingIconClass, menuItemInsetClass, menuItemClass, MENU_SIDE_OFFSET, menuPositionerClass, menuPopupClass, menuItemDestructiveClass, menuItemCheckClass, menuLabelClass, menuSeparatorClass, menuShortcutClass } from './primitives/menu-item.es.js';
8
8
  import { usePortalContainer } from './primitives/portal-container.es.js';
9
9
  import { resolveTriggerRender } from './primitives/trigger-button.es.js';
10
10
  import { c as cn } from './cn-coERSHz5.js';
@@ -22,7 +22,7 @@ const DropdownMenuTrigger = React.forwardRef(
22
22
  );
23
23
  DropdownMenuTrigger.displayName = "DropdownMenuTrigger";
24
24
  const DropdownMenuSubTrigger = React.forwardRef(
25
- ({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
25
+ ({ className, inset, hint, children, ...props }, ref) => /* @__PURE__ */ jsxs(
26
26
  Menu.SubmenuTrigger,
27
27
  {
28
28
  ref: useFluidMenuItemRef(ref),
@@ -30,7 +30,8 @@ const DropdownMenuSubTrigger = React.forwardRef(
30
30
  ...props,
31
31
  children: [
32
32
  children,
33
- /* @__PURE__ */ jsx("span", { className: cn(menuItemTrailingIconClass, "opacity-50"), children: /* @__PURE__ */ jsx(ChevronDown, { className: "-rotate-90" }) })
33
+ hint != null && /* @__PURE__ */ jsx("span", { "data-slot": "dropdown-menu-sub-trigger-hint", className: menuItemHintClass, children: hint }),
34
+ /* @__PURE__ */ jsx("span", { className: cn(menuItemTrailingIconClass, "opacity-50", hint != null && "ml-0"), children: /* @__PURE__ */ jsx(ChevronDown, { className: "-rotate-90" }) })
34
35
  ]
35
36
  }
36
37
  )
@@ -189,6 +190,42 @@ const DropdownMenuShortcut = ({ className, ...props }) => {
189
190
  return /* @__PURE__ */ jsx("span", { className: cn(menuShortcutClass, className), ...props });
190
191
  };
191
192
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
193
+ function DropdownMenuRadioOptions({
194
+ options,
195
+ value,
196
+ onValueChange
197
+ }) {
198
+ return /* @__PURE__ */ jsx(
199
+ DropdownMenuRadioGroup,
200
+ {
201
+ value,
202
+ onValueChange: (next) => {
203
+ const picked = options.find((option) => option.value === next);
204
+ if (picked) onValueChange(picked.value);
205
+ },
206
+ children: options.map((option) => /* @__PURE__ */ jsxs(DropdownMenuRadioItem, { value: option.value, children: [
207
+ option.icon,
208
+ /* @__PURE__ */ jsx("span", { children: option.label })
209
+ ] }, option.value))
210
+ }
211
+ );
212
+ }
213
+ function DropdownMenuRadioSub({
214
+ label,
215
+ icon,
216
+ options,
217
+ value,
218
+ onValueChange
219
+ }) {
220
+ const selected = options.find((option) => option.value === value);
221
+ return /* @__PURE__ */ jsxs(DropdownMenuSub, { children: [
222
+ /* @__PURE__ */ jsxs(DropdownMenuSubTrigger, { hint: selected?.label, children: [
223
+ icon,
224
+ /* @__PURE__ */ jsx("span", { children: label })
225
+ ] }),
226
+ /* @__PURE__ */ jsx(DropdownMenuSubContent, { children: /* @__PURE__ */ jsx(DropdownMenuRadioOptions, { options, value, onValueChange }) })
227
+ ] });
228
+ }
192
229
  function DropdownMenu({
193
230
  open,
194
231
  defaultOpen,
@@ -212,6 +249,8 @@ DropdownMenu.Sub = DropdownMenuSub;
212
249
  DropdownMenu.SubContent = DropdownMenuSubContent;
213
250
  DropdownMenu.SubTrigger = DropdownMenuSubTrigger;
214
251
  DropdownMenu.RadioGroup = DropdownMenuRadioGroup;
252
+ DropdownMenu.RadioOptions = DropdownMenuRadioOptions;
253
+ DropdownMenu.RadioSub = DropdownMenuRadioSub;
215
254
 
216
255
  export { DropdownMenu as D };
217
- //# sourceMappingURL=dropdown-menu-D8GR_NhL.js.map
256
+ //# sourceMappingURL=dropdown-menu-C6VtAiYJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-C6VtAiYJ.js","sources":["../src/ds/components/DropdownMenu/dropdown-menu.tsx"],"sourcesContent":["import { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport type { MenuPopupProps, MenuPositionerProps } from '@base-ui/react/menu';\nimport { CheckIcon, ChevronDown } from 'lucide-react';\nimport * as React from 'react';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport {\n MENU_SIDE_OFFSET,\n menuItemCheckClass,\n menuItemClass,\n menuItemDestructiveClass,\n menuItemHintClass,\n menuItemInsetClass,\n menuItemTrailingIconClass,\n menuLabelClass,\n menuPopupClass,\n menuPositionerClass,\n menuSeparatorClass,\n menuShortcutClass,\n} from '@/ds/primitives/menu-item';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { resolveTriggerRender } from '@/ds/primitives/trigger-button';\nimport type { TriggerButtonProps } from '@/ds/primitives/trigger-button';\nimport { cn } from '@/lib/utils';\n\nconst DropdownMenuRoot = MenuPrimitive.Root;\n\nconst DropdownMenuGroup = MenuPrimitive.Group;\n\nconst DropdownMenuPortal = MenuPrimitive.Portal;\n\nconst DropdownMenuSub = MenuPrimitive.SubmenuRoot;\n\nconst DropdownMenuRadioGroup = MenuPrimitive.RadioGroup;\n\nexport type DropdownMenuTriggerProps = Omit<MenuPrimitive.Trigger.Props, 'className'> & TriggerButtonProps;\n\n/**\n * The button that opens the menu. Renders a design-system `<Button>` by\n * default, so it takes Button's `variant` / `size` / `tooltip`. Pass `render`\n * to project the behavior onto your own element (then the look is yours).\n */\nconst DropdownMenuTrigger = React.forwardRef<HTMLButtonElement, DropdownMenuTriggerProps>(\n ({ className, asChild, render, children, variant, size, tooltip, ...props }, ref) => {\n const resolved = resolveTriggerRender({ render, asChild, children, variant, size, tooltip, className });\n\n return (\n <MenuPrimitive.Trigger ref={ref} className={resolved.className} render={resolved.render} {...props}>\n {resolved.children}\n </MenuPrimitive.Trigger>\n );\n },\n);\nDropdownMenuTrigger.displayName = 'DropdownMenuTrigger';\n\ntype DropdownMenuSubTriggerProps = MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n hint?: React.ReactNode;\n};\n\nconst DropdownMenuSubTrigger = React.forwardRef<HTMLDivElement, DropdownMenuSubTriggerProps>(\n ({ className, inset, hint, children, ...props }, ref) => (\n <MenuPrimitive.SubmenuTrigger\n ref={useFluidMenuItemRef(ref)}\n className={cn(menuItemClass, 'data-[popup-open]:text-foreground', inset && menuItemInsetClass, className)}\n {...props}\n >\n {children}\n {hint != null && (\n <span data-slot=\"dropdown-menu-sub-trigger-hint\" className={menuItemHintClass}>\n {hint}\n </span>\n )}\n <span className={cn(menuItemTrailingIconClass, 'opacity-50', hint != null && 'ml-0')}>\n <ChevronDown className=\"-rotate-90\" />\n </span>\n </MenuPrimitive.SubmenuTrigger>\n ),\n);\nDropdownMenuSubTrigger.displayName = 'DropdownMenuSubTrigger';\n\ntype DropdownMenuContentPositionerProps = Omit<MenuPositionerProps, keyof MenuPopupProps>;\n\ntype DropdownMenuSubContentProps = MenuPopupProps & DropdownMenuContentPositionerProps;\n\nconst DropdownMenuSubContent = React.forwardRef<HTMLDivElement, DropdownMenuSubContentProps>(\n (\n {\n className,\n align = 'start',\n alignOffset = -4,\n side = 'right',\n sideOffset = MENU_SIDE_OFFSET,\n anchor,\n positionMethod = FLOATING_POSITION_METHOD,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n children,\n ...props\n },\n ref,\n ) => {\n // Default to the nearest SideDialog/Drawer popup so the submenu stays\n // interactive inside a modal drawer.\n const resolvedContainer = usePortalContainer();\n const menu = useFluidMenu<HTMLDivElement>();\n const positionerProps: DropdownMenuContentPositionerProps = {\n align,\n alignOffset,\n side,\n sideOffset,\n anchor,\n positionMethod,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n };\n\n return (\n <MenuPrimitive.Portal container={resolvedContainer}>\n <MenuPrimitive.Positioner className={menuPositionerClass} {...positionerProps}>\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(menuPopupClass, menu.containerClassName, className)}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n },\n);\nDropdownMenuSubContent.displayName = 'DropdownMenuSubContent';\n\ntype DropdownMenuContentProps = MenuPopupProps &\n DropdownMenuContentPositionerProps & {\n container?: HTMLElement;\n size?: 'default' | 'sm';\n };\n\nconst DropdownMenuContent = React.forwardRef<HTMLDivElement, DropdownMenuContentProps>(\n (\n {\n className,\n container,\n size = 'default',\n align = 'start',\n alignOffset = 0,\n side = 'bottom',\n sideOffset = MENU_SIDE_OFFSET,\n anchor,\n positionMethod = FLOATING_POSITION_METHOD,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n children,\n ...props\n },\n ref,\n ) => {\n // Default to the nearest SideDialog/Drawer popup so the menu stays\n // interactive inside a modal drawer; an explicit `container` still wins.\n const resolvedContainer = usePortalContainer(container);\n const menu = useFluidMenu<HTMLDivElement>();\n const positionerProps: DropdownMenuContentPositionerProps = {\n align,\n alignOffset,\n side,\n sideOffset,\n anchor,\n positionMethod,\n collisionBoundary,\n collisionPadding,\n sticky,\n arrowPadding,\n disableAnchorTracking,\n collisionAvoidance,\n };\n\n return (\n <MenuPrimitive.Portal container={resolvedContainer}>\n <MenuPrimitive.Positioner className={menuPositionerClass} {...positionerProps}>\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(menuPopupClass, menu.containerClassName, size === 'sm' && 'rounded-md p-0.5', className)}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={size === 'sm' ? 'rounded-sm' : undefined}>\n {children}\n </FluidMenuItems>\n </MenuPrimitive.Popup>\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n },\n);\nDropdownMenuContent.displayName = 'DropdownMenuContent';\n\ntype DropdownMenuItemProps = MenuPrimitive.Item.Props & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n size?: 'default' | 'sm';\n /** Alias for `onClick`, kept for compatibility with the previous Radix API. */\n onSelect?: MenuPrimitive.Item.Props['onClick'];\n};\n\nconst DropdownMenuItem = React.forwardRef<HTMLDivElement, DropdownMenuItemProps>(\n ({ className, inset, variant = 'default', size = 'default', onSelect, onClick, ...props }, ref) => (\n <MenuPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n data-inset={inset ? '' : undefined}\n data-variant={variant}\n onClick={event => {\n onClick?.(event);\n onSelect?.(event);\n }}\n className={cn(\n variant === 'destructive' ? menuItemDestructiveClass : menuItemClass,\n size === 'sm' && 'h-control-sm gap-2 rounded-sm py-1 text-caption leading-none',\n inset && menuItemInsetClass,\n className,\n )}\n {...props}\n />\n ),\n);\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n\nconst DropdownMenuCheckboxItem = React.forwardRef<HTMLDivElement, MenuPrimitive.CheckboxItem.Props>(\n ({ className, children, checked, ...props }, ref) => (\n <MenuPrimitive.CheckboxItem\n ref={useFluidMenuItemRef(ref)}\n className={cn(menuItemClass, className)}\n checked={checked}\n {...props}\n >\n {children}\n <MenuPrimitive.CheckboxItemIndicator className={menuItemCheckClass}>\n <CheckIcon />\n </MenuPrimitive.CheckboxItemIndicator>\n </MenuPrimitive.CheckboxItem>\n ),\n);\nDropdownMenuCheckboxItem.displayName = 'DropdownMenuCheckboxItem';\n\nconst DropdownMenuRadioItem = React.forwardRef<HTMLDivElement, MenuPrimitive.RadioItem.Props>(\n ({ className, children, ...props }, ref) => (\n <MenuPrimitive.RadioItem ref={useFluidMenuItemRef(ref)} className={cn(menuItemClass, className)} {...props}>\n {children}\n <MenuPrimitive.RadioItemIndicator className={menuItemCheckClass}>\n <CheckIcon />\n </MenuPrimitive.RadioItemIndicator>\n </MenuPrimitive.RadioItem>\n ),\n);\nDropdownMenuRadioItem.displayName = 'DropdownMenuRadioItem';\n\ntype DropdownMenuLabelProps = React.HTMLAttributes<HTMLDivElement> & {\n inset?: boolean;\n};\n\nconst DropdownMenuLabel = React.forwardRef<HTMLDivElement, DropdownMenuLabelProps>(\n ({ className, inset, ...props }, ref) => (\n <div ref={ref} className={cn(menuLabelClass, inset && menuItemInsetClass, className)} {...props} />\n ),\n);\nDropdownMenuLabel.displayName = 'DropdownMenuLabel';\n\nconst DropdownMenuSeparator = React.forwardRef<HTMLDivElement, MenuPrimitive.Separator.Props>(\n ({ className, ...props }, ref) => (\n <MenuPrimitive.Separator ref={ref} className={cn(menuSeparatorClass, className)} {...props} />\n ),\n);\nDropdownMenuSeparator.displayName = 'DropdownMenuSeparator';\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn(menuShortcutClass, className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport type DropdownMenuRadioOption<V extends string> = { value: V; label: string; icon?: React.ReactNode };\n\ntype DropdownMenuRadioOptionsProps<V extends string> = {\n options: readonly DropdownMenuRadioOption<V>[];\n value: V;\n onValueChange: (value: V) => void;\n};\n\nfunction DropdownMenuRadioOptions<V extends string>({\n options,\n value,\n onValueChange,\n}: DropdownMenuRadioOptionsProps<V>) {\n return (\n <DropdownMenuRadioGroup\n value={value}\n onValueChange={(next: unknown) => {\n const picked = options.find(option => option.value === next);\n if (picked) onValueChange(picked.value);\n }}\n >\n {options.map(option => (\n <DropdownMenuRadioItem key={option.value} value={option.value}>\n {option.icon}\n <span>{option.label}</span>\n </DropdownMenuRadioItem>\n ))}\n </DropdownMenuRadioGroup>\n );\n}\n\nexport type DropdownMenuRadioSubProps<V extends string> = DropdownMenuRadioOptionsProps<V> & {\n label: string;\n icon?: React.ReactNode;\n};\n\nfunction DropdownMenuRadioSub<V extends string>({\n label,\n icon,\n options,\n value,\n onValueChange,\n}: DropdownMenuRadioSubProps<V>) {\n const selected = options.find(option => option.value === value);\n return (\n <DropdownMenuSub>\n <DropdownMenuSubTrigger hint={selected?.label}>\n {icon}\n <span>{label}</span>\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuRadioOptions options={options} value={value} onValueChange={onValueChange} />\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n );\n}\n\nfunction DropdownMenu({\n open,\n defaultOpen,\n onOpenChange,\n children,\n modal,\n}: {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: MenuPrimitive.Root.Props['onOpenChange'];\n children: React.ReactNode;\n modal?: boolean;\n}) {\n return (\n <DropdownMenuRoot modal={modal} open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {children}\n </DropdownMenuRoot>\n );\n}\n\nDropdownMenu.Trigger = DropdownMenuTrigger;\nDropdownMenu.Content = DropdownMenuContent;\nDropdownMenu.Group = DropdownMenuGroup;\nDropdownMenu.Portal = DropdownMenuPortal;\nDropdownMenu.Item = DropdownMenuItem;\nDropdownMenu.CheckboxItem = DropdownMenuCheckboxItem;\nDropdownMenu.RadioItem = DropdownMenuRadioItem;\nDropdownMenu.Label = DropdownMenuLabel;\nDropdownMenu.Separator = DropdownMenuSeparator;\nDropdownMenu.Shortcut = DropdownMenuShortcut;\nDropdownMenu.Sub = DropdownMenuSub;\nDropdownMenu.SubContent = DropdownMenuSubContent;\nDropdownMenu.SubTrigger = DropdownMenuSubTrigger;\nDropdownMenu.RadioGroup = DropdownMenuRadioGroup;\nDropdownMenu.RadioOptions = DropdownMenuRadioOptions;\nDropdownMenu.RadioSub = DropdownMenuRadioSub;\n\nexport { DropdownMenu };\n"],"names":["MenuPrimitive"],"mappings":"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"}