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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/dist/Avatar-C2Sz53u5.js +190 -0
  2. package/dist/Avatar-C2Sz53u5.js.map +1 -0
  3. package/dist/Avatar-D6ybWljK.cjs +192 -0
  4. package/dist/Avatar-D6ybWljK.cjs.map +1 -0
  5. package/dist/{ask-user-card-g8cqh8KI.cjs → ask-user-card-40a18Qea.cjs} +2 -1
  6. package/dist/{ask-user-card-g8cqh8KI.cjs.map → ask-user-card-40a18Qea.cjs.map} +1 -1
  7. package/dist/{ask-user-card-CwKfl6M2.js → ask-user-card-xR8YiiQa.js} +6 -5
  8. package/dist/{ask-user-card-CwKfl6M2.js.map → ask-user-card-xR8YiiQa.js.map} +1 -1
  9. package/dist/{checkbox-B3tvJLCl.js → checkbox-mmR3rD2j.js} +2 -2
  10. package/dist/{checkbox-B3tvJLCl.js.map → checkbox-mmR3rD2j.js.map} +1 -1
  11. package/dist/{code-block-9sT-CaoF.js → code-block-BQZUoOfS.js} +2 -2
  12. package/dist/{code-block-9sT-CaoF.js.map → code-block-BQZUoOfS.js.map} +1 -1
  13. package/dist/{code-editor-DgfDaPAD.js → code-editor-D69saH4C.js} +2 -2
  14. package/dist/{code-editor-DgfDaPAD.js.map → code-editor-D69saH4C.js.map} +1 -1
  15. package/dist/{combobox-DJu0ggNa.js → combobox-DDUIREaG.js} +2 -2
  16. package/dist/{combobox-DJu0ggNa.js.map → combobox-DDUIREaG.js.map} +1 -1
  17. package/dist/components/Avatar.cjs.js +1 -1
  18. package/dist/components/Avatar.es.js +1 -1
  19. package/dist/components/Checkbox.es.js +1 -1
  20. package/dist/components/CodeBlock.es.js +1 -1
  21. package/dist/components/CodeEditor.es.js +1 -1
  22. package/dist/components/Combobox.es.js +1 -1
  23. package/dist/components/Comment.cjs.js +1 -0
  24. package/dist/components/Comment.cjs.js.map +1 -1
  25. package/dist/components/Comment.es.js +3 -2
  26. package/dist/components/Comment.es.js.map +1 -1
  27. package/dist/components/DataCodeSection.cjs.js +1 -1
  28. package/dist/components/DataCodeSection.es.js +1 -1
  29. package/dist/components/DataList.cjs.js +17 -15
  30. package/dist/components/DataList.cjs.js.map +1 -1
  31. package/dist/components/DataList.es.js +5 -4
  32. package/dist/components/DataList.es.js.map +1 -1
  33. package/dist/components/DataPanel.cjs.js +1 -1
  34. package/dist/components/DataPanel.es.js +1 -1
  35. package/dist/components/DateTimePicker.cjs.js +1 -0
  36. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  37. package/dist/components/DateTimePicker.es.js +4 -3
  38. package/dist/components/DateTimePicker.es.js.map +1 -1
  39. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  40. package/dist/components/DateTimeRangePicker.es.js +1 -1
  41. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -1
  42. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  43. package/dist/components/EnvironmentVariablesEditor.es.js +4 -3
  44. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  45. package/dist/components/Field.es.js +2 -2
  46. package/dist/components/FormFieldBlocks.es.js +2 -2
  47. package/dist/components/Input.es.js +1 -1
  48. package/dist/components/InputGroup.es.js +1 -1
  49. package/dist/components/InputNumber.es.js +1 -1
  50. package/dist/components/JSONSchemaForm.cjs.js +1 -0
  51. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  52. package/dist/components/JSONSchemaForm.es.js +5 -4
  53. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  54. package/dist/components/ListSearch.cjs.js +1 -1
  55. package/dist/components/ListSearch.es.js +1 -1
  56. package/dist/components/LogsDataList.cjs.js +2 -5
  57. package/dist/components/LogsDataList.cjs.js.map +1 -1
  58. package/dist/components/LogsDataList.es.js +2 -5
  59. package/dist/components/LogsDataList.es.js.map +1 -1
  60. package/dist/components/MarkdownRenderer.es.js +1 -1
  61. package/dist/components/PropertyFilter.cjs.js +1 -0
  62. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  63. package/dist/components/PropertyFilter.es.js +5 -4
  64. package/dist/components/PropertyFilter.es.js.map +1 -1
  65. package/dist/components/RadioGroup.es.js +1 -1
  66. package/dist/components/RuleBuilder.es.js +2 -2
  67. package/dist/components/SearchInput.cjs.js +1 -1
  68. package/dist/components/SearchInput.es.js +1 -1
  69. package/dist/components/Section.cjs.js +1 -1
  70. package/dist/components/Section.es.js +1 -1
  71. package/dist/components/SegmentedControl.es.js +1 -1
  72. package/dist/components/Select.es.js +1 -1
  73. package/dist/components/SideDialog.cjs.js +1 -1
  74. package/dist/components/SideDialog.es.js +1 -1
  75. package/dist/components/Sidebar.es.js +1 -1
  76. package/dist/components/Switch.es.js +1 -1
  77. package/dist/components/ThemeToggle.es.js +1 -1
  78. package/dist/components/Workflow.es.js +3 -3
  79. package/dist/components/ai/activity.es.js +1 -1
  80. package/dist/components/ai/ask-user.cjs.js +1 -1
  81. package/dist/components/ai/ask-user.es.js +1 -1
  82. package/dist/components/ai/plan.es.js +1 -1
  83. package/dist/components/ai/tool-approval.es.js +1 -1
  84. package/dist/components/ai/tool-call.es.js +1 -1
  85. package/dist/{data-code-section-BTRNa1SD.cjs → data-code-section-B2Ea7FwM.cjs} +2 -2
  86. package/dist/{data-code-section-BTRNa1SD.cjs.map → data-code-section-B2Ea7FwM.cjs.map} +1 -1
  87. package/dist/{data-code-section-BGLC-hxm.js → data-code-section-DrJYy1dR.js} +2 -2
  88. package/dist/{data-code-section-BGLC-hxm.js.map → data-code-section-DrJYy1dR.js.map} +1 -1
  89. package/dist/data-list-DkVOwk8l.cjs +142 -0
  90. package/dist/data-list-DkVOwk8l.cjs.map +1 -0
  91. package/dist/data-list-Dv2lP-dU.js +138 -0
  92. package/dist/data-list-Dv2lP-dU.js.map +1 -0
  93. package/dist/{data-list-skeleton-CJFwZBlW.js → data-list-skeleton-BmsDYJrA.js} +2 -2
  94. package/dist/{data-list-skeleton-CJFwZBlW.js.map → data-list-skeleton-BmsDYJrA.js.map} +1 -1
  95. package/dist/{data-list-skeleton-maUWF7Ri.cjs → data-list-skeleton-CfVsXhx1.cjs} +6 -6
  96. package/dist/{data-list-skeleton-maUWF7Ri.cjs.map → data-list-skeleton-CfVsXhx1.cjs.map} +1 -1
  97. package/dist/data-list-spacer-DEMquKp9.js +209 -0
  98. package/dist/data-list-spacer-DEMquKp9.js.map +1 -0
  99. package/dist/data-list-spacer-pXP8xDlg.cjs +218 -0
  100. package/dist/data-list-spacer-pXP8xDlg.cjs.map +1 -0
  101. package/dist/{data-list-DDGpWucH.js → data-list-top-BJCC62oy.js} +6 -333
  102. package/dist/data-list-top-BJCC62oy.js.map +1 -0
  103. package/dist/{data-list-_yDPF5wR.cjs → data-list-top-Ds-NWyPO.cjs} +13 -339
  104. package/dist/data-list-top-Ds-NWyPO.cjs.map +1 -0
  105. package/dist/{data-panel-DfVGx0Ea.js → data-panel-COU5dbUJ.js} +2 -2
  106. package/dist/{data-panel-DfVGx0Ea.js.map → data-panel-COU5dbUJ.js.map} +1 -1
  107. package/dist/{data-panel-Dhg7s3fD.cjs → data-panel-CTqb-0qN.cjs} +2 -2
  108. package/dist/{data-panel-Dhg7s3fD.cjs.map → data-panel-CTqb-0qN.cjs.map} +1 -1
  109. package/dist/{date-time-range-picker-BNaXCa7r.cjs → date-time-range-picker-BvRPfy1i.cjs} +2 -1
  110. package/dist/{date-time-range-picker-BNaXCa7r.cjs.map → date-time-range-picker-BvRPfy1i.cjs.map} +1 -1
  111. package/dist/{date-time-range-picker-C5x_33hB.js → date-time-range-picker-CIfaXUuy.js} +4 -3
  112. package/dist/{date-time-range-picker-C5x_33hB.js.map → date-time-range-picker-CIfaXUuy.js.map} +1 -1
  113. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  114. package/dist/domains/chat/messages/dataset-save-action.cjs.js +1 -0
  115. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  116. package/dist/domains/chat/messages/dataset-save-action.es.js +4 -3
  117. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  118. package/dist/domains/chat/messages/message-row.cjs.js +1 -0
  119. package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
  120. package/dist/domains/chat/messages/message-row.es.js +2 -1
  121. package/dist/domains/chat/messages/message-row.es.js.map +1 -1
  122. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  123. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  124. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  125. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  126. package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
  127. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  128. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  129. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  130. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  131. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  132. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  133. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  134. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  135. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  136. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
  137. package/dist/domains/chat/tools/badges/workflow-badge.es.js +3 -3
  138. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  139. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  140. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +2 -1
  141. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  142. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -4
  143. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  144. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  145. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  146. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  147. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  148. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  149. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  150. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  151. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -0
  152. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  153. package/dist/domains/memory/components/observation-detail-view.es.js +3 -2
  154. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  155. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  156. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  157. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +2 -1
  158. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  159. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +5 -4
  160. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  161. package/dist/domains/request-context/components/request-context-label.cjs.js +1 -0
  162. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  163. package/dist/domains/request-context/components/request-context-label.es.js +2 -1
  164. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  165. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  166. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  167. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  168. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  169. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  170. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  171. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  172. package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
  173. package/dist/domains/traces/components/feedback-thread.es.js +2 -2
  174. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -1
  175. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  176. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -1
  177. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  178. package/dist/domains/traces/components/span-details-view.cjs.js +1 -0
  179. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  180. package/dist/domains/traces/components/span-details-view.es.js +1 -0
  181. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  182. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  183. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  184. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  185. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  186. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  187. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  188. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  189. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  190. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  191. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  192. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  193. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  194. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -0
  195. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  196. package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -0
  197. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  198. package/dist/domains/traces/components/trace-columns-menu.cjs.js +1 -0
  199. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  200. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -2
  201. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  202. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  203. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  204. package/dist/domains/traces/components/trace-data-panel.cjs.js +3 -2
  205. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  206. package/dist/domains/traces/components/trace-data-panel.es.js +3 -2
  207. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  208. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  209. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  210. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  211. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  212. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  213. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  214. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  215. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  216. package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
  217. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  218. package/dist/domains/traces/components/traces-list-view.es.js +4 -3
  219. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  220. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  221. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  222. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  223. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  224. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  225. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  226. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  227. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  228. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  229. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
  230. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -0
  231. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -1
  232. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +3 -2
  233. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -1
  234. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -0
  235. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  236. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -2
  237. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  238. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  239. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  240. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  241. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +1 -0
  242. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
  243. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +3 -2
  244. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
  245. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
  246. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  247. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -0
  248. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  249. package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -0
  250. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  251. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  252. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  253. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  254. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  255. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  256. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  257. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -0
  258. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -1
  259. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -2
  260. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -1
  261. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  262. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +2 -1
  263. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  264. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -4
  265. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  266. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  267. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  268. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  269. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  270. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  271. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  272. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  273. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -4
  274. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  275. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +3 -5
  276. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  277. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -0
  278. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  279. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -2
  280. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  281. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  282. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  283. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  284. package/dist/{field-Bc8Ewf_M.js → field-B89BEZg4.js} +2 -2
  285. package/dist/{field-Bc8Ewf_M.js.map → field-B89BEZg4.js.map} +1 -1
  286. package/dist/{field-control-aria-CCJ4-mUe.js → field-control-aria-DB6y41tQ.js} +2 -2
  287. package/dist/{field-control-aria-CCJ4-mUe.js.map → field-control-aria-DB6y41tQ.js.map} +1 -1
  288. package/dist/{input-Ds171RJ5.js → input-DQFUjtnh.js} +2 -2
  289. package/dist/{input-Ds171RJ5.js.map → input-DQFUjtnh.js.map} +1 -1
  290. package/dist/{input-group-Cxv64rPB.js → input-group-BWsGYnES.js} +2 -2
  291. package/dist/{input-group-Cxv64rPB.js.map → input-group-BWsGYnES.js.map} +1 -1
  292. package/dist/layout/tabbed-container.cjs.js +2 -2
  293. package/dist/layout/tabbed-container.es.js +3 -3
  294. package/dist/lib/form/components/boolean-field.cjs.js +1 -0
  295. package/dist/lib/form/components/boolean-field.cjs.js.map +1 -1
  296. package/dist/lib/form/components/boolean-field.es.js +3 -2
  297. package/dist/lib/form/components/boolean-field.es.js.map +1 -1
  298. package/dist/lib/form/components/date-field.es.js +1 -1
  299. package/dist/lib/form/components/field-wrapper.cjs.js +1 -0
  300. package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -1
  301. package/dist/lib/form/components/field-wrapper.es.js +2 -1
  302. package/dist/lib/form/components/field-wrapper.es.js.map +1 -1
  303. package/dist/lib/form/components/number-field.es.js +1 -1
  304. package/dist/lib/form/components/record-field.es.js +1 -1
  305. package/dist/lib/form/components/select-field.es.js +1 -1
  306. package/dist/{list-search-CmPRFDsn.js → list-search-BNnMwbpv.js} +2 -2
  307. package/dist/{list-search-CmPRFDsn.js.map → list-search-BNnMwbpv.js.map} +1 -1
  308. package/dist/{list-search-C3yXcTRO.cjs → list-search-xHadeMHl.cjs} +2 -2
  309. package/dist/{list-search-C3yXcTRO.cjs.map → list-search-xHadeMHl.cjs.map} +1 -1
  310. package/dist/{logs-data-list-Cudh6b-c.js → logs-data-list-C262Be3o.js} +3 -2
  311. package/dist/{logs-data-list-Cudh6b-c.js.map → logs-data-list-C262Be3o.js.map} +1 -1
  312. package/dist/{logs-data-list-Bf_vIsFb.cjs → logs-data-list-DfuVMd6f.cjs} +22 -21
  313. package/dist/{logs-data-list-Bf_vIsFb.cjs.map → logs-data-list-DfuVMd6f.cjs.map} +1 -1
  314. package/dist/{markdown-renderer-Cly6VMDr.js → markdown-renderer-D5Wjk1Cs.js} +2 -2
  315. package/dist/{markdown-renderer-Cly6VMDr.js.map → markdown-renderer-D5Wjk1Cs.js.map} +1 -1
  316. package/dist/new/settings.cjs.js +1 -1
  317. package/dist/new/settings.es.js +1 -1
  318. package/dist/{plan-DIbhFPRL.js → plan-Cl3-JgbI.js} +2 -2
  319. package/dist/{plan-DIbhFPRL.js.map → plan-Cl3-JgbI.js.map} +1 -1
  320. package/dist/primitives/textarea-control.es.js +1 -1
  321. package/dist/{property-filter-applied-DXH81ffT.js → property-filter-applied-CZLzY0OH.js} +2 -2
  322. package/dist/{property-filter-applied-DXH81ffT.js.map → property-filter-applied-CZLzY0OH.js.map} +1 -1
  323. package/dist/{radio-group-C2zsCipq.js → radio-group-Bk52hNNb.js} +2 -2
  324. package/dist/{radio-group-C2zsCipq.js.map → radio-group-Bk52hNNb.js.map} +1 -1
  325. package/dist/{reasoning-activity-B1r4JQxm.js → reasoning-activity-CIuVSAGA.js} +2 -2
  326. package/dist/{reasoning-activity-B1r4JQxm.js.map → reasoning-activity-CIuVSAGA.js.map} +1 -1
  327. package/dist/{search-input-DbEE2zEz.cjs → search-input-UtTJMjJu.cjs} +2 -1
  328. package/dist/{search-input-DbEE2zEz.cjs.map → search-input-UtTJMjJu.cjs.map} +1 -1
  329. package/dist/{search-input-D23h16CB.js → search-input-fqSrRTLU.js} +4 -3
  330. package/dist/{search-input-D23h16CB.js.map → search-input-fqSrRTLU.js.map} +1 -1
  331. package/dist/{section-CdaSS9M7.cjs → section-DhZbtWhu.cjs} +2 -2
  332. package/dist/{section-CdaSS9M7.cjs.map → section-DhZbtWhu.cjs.map} +1 -1
  333. package/dist/{section-DcjTdrqz.js → section-Dq6aFxlH.js} +2 -2
  334. package/dist/{section-DcjTdrqz.js.map → section-Dq6aFxlH.js.map} +1 -1
  335. package/dist/{segmented-control-BfY7F0NZ.js → segmented-control-CUnvFStD.js} +2 -2
  336. package/dist/{segmented-control-BfY7F0NZ.js.map → segmented-control-CUnvFStD.js.map} +1 -1
  337. package/dist/{select-BGAiIHnS.js → select-N2lgBRsg.js} +2 -2
  338. package/dist/{select-BGAiIHnS.js.map → select-N2lgBRsg.js.map} +1 -1
  339. package/dist/{settings-row-rOI4yGvi.cjs → settings-row-CwZ3JffC.cjs} +2 -1
  340. package/dist/{settings-row-rOI4yGvi.cjs.map → settings-row-CwZ3JffC.cjs.map} +1 -1
  341. package/dist/{settings-row-ylIw4rfC.js → settings-row-gpwIVAMN.js} +3 -2
  342. package/dist/{settings-row-ylIw4rfC.js.map → settings-row-gpwIVAMN.js.map} +1 -1
  343. package/dist/{side-dialog-CB_wrLtE.js → side-dialog-CWQL33WR.js} +2 -2
  344. package/dist/{side-dialog-CB_wrLtE.js.map → side-dialog-CWQL33WR.js.map} +1 -1
  345. package/dist/{side-dialog-OPXvmRDA.cjs → side-dialog-DldgOJIk.cjs} +2 -2
  346. package/dist/{side-dialog-OPXvmRDA.cjs.map → side-dialog-DldgOJIk.cjs.map} +1 -1
  347. package/dist/{span-payload-primitives-Cixom2Py.js → span-payload-primitives-WqYTBiGx.js} +2 -2
  348. package/dist/{span-payload-primitives-Cixom2Py.js.map → span-payload-primitives-WqYTBiGx.js.map} +1 -1
  349. package/dist/src/ds/components/Avatar/Avatar.d.ts +20 -9
  350. package/dist/src/ds/components/Avatar/avatar-badge.d.ts +6 -0
  351. package/dist/src/ds/components/Avatar/avatar-element.d.ts +3 -0
  352. package/dist/src/ds/components/Avatar/avatar-fallback.d.ts +5 -0
  353. package/dist/src/ds/components/Avatar/avatar-group-count.d.ts +3 -0
  354. package/dist/src/ds/components/Avatar/avatar-group.d.ts +6 -0
  355. package/dist/src/ds/components/Avatar/avatar-image.d.ts +6 -0
  356. package/dist/src/ds/components/Avatar/avatar-named.d.ts +10 -0
  357. package/dist/src/ds/components/Avatar/avatar-root.d.ts +8 -0
  358. package/dist/src/ds/components/Avatar/avatar-size.d.ts +5 -0
  359. package/dist/style.css +91 -24
  360. package/dist/{switch-BBeMfeQ2.js → switch-DiSlsWUt.js} +2 -2
  361. package/dist/{switch-BBeMfeQ2.js.map → switch-DiSlsWUt.js.map} +1 -1
  362. package/dist/{time-picker-Bo6GJcmz.js → time-picker-J7GaNaEd.js} +2 -2
  363. package/dist/{time-picker-Bo6GJcmz.js.map → time-picker-J7GaNaEd.js.map} +1 -1
  364. package/dist/{tool-approval-BQ6sDvyS.js → tool-approval-nsbG8-qI.js} +2 -2
  365. package/dist/{tool-approval-BQ6sDvyS.js.map → tool-approval-nsbG8-qI.js.map} +1 -1
  366. package/dist/{tool-call-arguments-B86JP3Dy.js → tool-call-arguments-RKyYP3xh.js} +2 -2
  367. package/dist/{tool-call-arguments-B86JP3Dy.js.map → tool-call-arguments-RKyYP3xh.js.map} +1 -1
  368. package/dist/{tool-card-C8IrtMuQ.js → tool-card-BtPh44u6.js} +2 -2
  369. package/dist/{tool-card-C8IrtMuQ.js.map → tool-card-BtPh44u6.js.map} +1 -1
  370. package/dist/{traces-data-list-DaFA1Ccg.cjs → traces-data-list-Cf_PpmSN.cjs} +19 -17
  371. package/dist/{traces-data-list-DaFA1Ccg.cjs.map → traces-data-list-Cf_PpmSN.cjs.map} +1 -1
  372. package/dist/{traces-data-list-L_r2GAtr.js → traces-data-list-_mFOMw0U.js} +4 -2
  373. package/dist/{traces-data-list-L_r2GAtr.js.map → traces-data-list-_mFOMw0U.js.map} +1 -1
  374. package/dist/{use-workflow-graph-runtime-DS7eWso7.js → use-workflow-graph-runtime-CAyNWN_Z.js} +2 -2
  375. package/dist/{use-workflow-graph-runtime-DS7eWso7.js.map → use-workflow-graph-runtime-CAyNWN_Z.js.map} +1 -1
  376. package/dist/{workflow-code-dialog-content-BUCZZoKf.js → workflow-code-dialog-content-CNDoMFAV.js} +2 -2
  377. package/dist/{workflow-code-dialog-content-BUCZZoKf.js.map → workflow-code-dialog-content-CNDoMFAV.js.map} +1 -1
  378. package/dist/{workflow-data-edge-view-BIiMA9zg.js → workflow-data-edge-view-BaA6YJye.js} +2 -2
  379. package/dist/{workflow-data-edge-view-BIiMA9zg.js.map → workflow-data-edge-view-BaA6YJye.js.map} +1 -1
  380. package/dist/{workflow-edge-data-button-D5oK4NS5.js → workflow-edge-data-button-6EDXzRxr.js} +2 -2
  381. package/dist/{workflow-edge-data-button-D5oK4NS5.js.map → workflow-edge-data-button-6EDXzRxr.js.map} +1 -1
  382. package/package.json +7 -7
  383. package/dist/Avatar-BPHG0wrq.cjs +0 -45
  384. package/dist/Avatar-BPHG0wrq.cjs.map +0 -1
  385. package/dist/Avatar-DAnyIHjm.js +0 -43
  386. package/dist/Avatar-DAnyIHjm.js.map +0 -1
  387. package/dist/data-list-DDGpWucH.js.map +0 -1
  388. package/dist/data-list-_yDPF5wR.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-Cixom2Py.js","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"span-payload-primitives-WqYTBiGx.js","sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField, SpanPayloadLabel } from './span-payload-primitives';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport function SpanPayloadTool({ value, showLabel = true }: { value: unknown; showLabel?: boolean }) {\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const hasBody = input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n {showLabel && <SpanPayloadLabel>{value.type === 'tool-result' ? 'Tool result' : 'Tool call'}</SpanPayloadLabel>}\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} showLabel={false} />\n </li>\n ))}\n </ul>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
- export type AvatarSize = 'sm' | 'md' | 'lg';
2
- export type AvatarProps = {
3
- src?: string;
4
- name: string;
5
- size?: AvatarSize;
6
- interactive?: boolean;
7
- color?: string;
8
- textColor?: string;
1
+ import { AvatarBadge } from './avatar-badge';
2
+ import { AvatarElement } from './avatar-element';
3
+ import { AvatarFallback } from './avatar-fallback';
4
+ import { AvatarGroup } from './avatar-group';
5
+ import { AvatarGroupCount } from './avatar-group-count';
6
+ import { AvatarImage } from './avatar-image';
7
+ export type { AvatarSize } from './avatar-size';
8
+ export type { AvatarProps } from './avatar-named';
9
+ export type { AvatarRootProps } from './avatar-root';
10
+ export type { AvatarImageProps } from './avatar-image';
11
+ export type { AvatarFallbackProps } from './avatar-fallback';
12
+ export type { AvatarBadgeProps, AvatarBadgeTone } from './avatar-badge';
13
+ export type { AvatarGroupProps } from './avatar-group';
14
+ export type { AvatarGroupCountProps } from './avatar-group-count';
15
+ export declare const Avatar: typeof AvatarElement & {
16
+ Image: typeof AvatarImage;
17
+ Fallback: typeof AvatarFallback;
18
+ Badge: typeof AvatarBadge;
19
+ Group: typeof AvatarGroup;
20
+ GroupCount: typeof AvatarGroupCount;
9
21
  };
10
- export declare const Avatar: ({ src, name, size, interactive, color, textColor }: AvatarProps) => import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from 'react';
2
+ export type AvatarBadgeTone = 'neutral' | 'success' | 'warning' | 'destructive' | 'info';
3
+ export type AvatarBadgeProps = ComponentProps<'span'> & {
4
+ tone?: AvatarBadgeTone;
5
+ };
6
+ export declare function AvatarBadge({ tone, className, children, ...props }: AvatarBadgeProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { AvatarProps } from './avatar-named';
2
+ import { AvatarRootProps } from './avatar-root';
3
+ export declare function AvatarElement(props: AvatarProps | AvatarRootProps): import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ export type AvatarFallbackProps = Omit<BaseAvatar.Fallback.Props, 'className'> & {
3
+ className?: string;
4
+ };
5
+ export declare function AvatarFallback({ className, ...props }: AvatarFallbackProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { ComponentProps } from 'react';
2
+ export type AvatarGroupCountProps = ComponentProps<'div'>;
3
+ export declare function AvatarGroupCount({ className, ...props }: AvatarGroupCountProps): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ComponentProps } from 'react';
2
+ import { AvatarSize } from './avatar-size';
3
+ export type AvatarGroupProps = ComponentProps<'div'> & {
4
+ size?: AvatarSize;
5
+ };
6
+ export declare function AvatarGroup({ size, className, ...props }: AvatarGroupProps): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ export type AvatarImageProps = Omit<BaseAvatar.Image.Props, 'className' | 'alt'> & {
3
+ alt: string;
4
+ className?: string;
5
+ };
6
+ export declare function AvatarImage({ className, ...props }: AvatarImageProps): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { AvatarSize } from './avatar-size';
2
+ export type AvatarProps = {
3
+ src?: string;
4
+ name: string;
5
+ size?: AvatarSize;
6
+ interactive?: boolean;
7
+ color?: string;
8
+ textColor?: string;
9
+ };
10
+ export declare function AvatarNamed({ src, name, size, interactive, color, textColor }: AvatarProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Avatar as BaseAvatar } from '@base-ui/react/avatar';
2
+ import { AvatarSize } from './avatar-size';
3
+ export type AvatarRootProps = Omit<BaseAvatar.Root.Props, 'className'> & {
4
+ size?: AvatarSize;
5
+ className?: string;
6
+ name?: never;
7
+ };
8
+ export declare function AvatarRoot({ size, className, ...props }: AvatarRootProps): import("react").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'control';
2
+ export declare const avatarSizeClasses: Record<AvatarSize, string>;
3
+ export declare const avatarTextClasses: Record<AvatarSize, string>;
4
+ export declare const avatarIconClasses: Record<AvatarSize, string>;
5
+ export declare const AvatarSizeContext: import('react').Context<AvatarSize | undefined>;
package/dist/style.css CHANGED
@@ -2064,6 +2064,21 @@
2064
2064
  height: auto;
2065
2065
  }
2066
2066
 
2067
+ .size-avatar-lg {
2068
+ width: var(--spacing-avatar-lg);
2069
+ height: var(--spacing-avatar-lg);
2070
+ }
2071
+
2072
+ .size-avatar-md {
2073
+ width: var(--spacing-avatar-md);
2074
+ height: var(--spacing-avatar-md);
2075
+ }
2076
+
2077
+ .size-avatar-sm {
2078
+ width: var(--spacing-avatar-sm);
2079
+ height: var(--spacing-avatar-sm);
2080
+ }
2081
+
2067
2082
  .size-control-md {
2068
2083
  width: var(--spacing-control-md);
2069
2084
  height: var(--spacing-control-md);
@@ -2079,6 +2094,11 @@
2079
2094
  height: var(--spacing-icon-lg);
2080
2095
  }
2081
2096
 
2097
+ .size-icon-xs {
2098
+ width: var(--spacing-icon-xs);
2099
+ height: var(--spacing-icon-xs);
2100
+ }
2101
+
2082
2102
  .h-\(--cmdk-list-height\) {
2083
2103
  height: var(--cmdk-list-height);
2084
2104
  }
@@ -2355,18 +2375,6 @@
2355
2375
  height: auto;
2356
2376
  }
2357
2377
 
2358
- .h-avatar-lg {
2359
- height: var(--spacing-avatar-lg);
2360
- }
2361
-
2362
- .h-avatar-md {
2363
- height: var(--spacing-avatar-md);
2364
- }
2365
-
2366
- .h-avatar-sm {
2367
- height: var(--spacing-avatar-sm);
2368
- }
2369
-
2370
2378
  .h-control-lg {
2371
2379
  height: var(--spacing-control-lg);
2372
2380
  }
@@ -2547,6 +2555,22 @@
2547
2555
  min-height: 0 !important;
2548
2556
  }
2549
2557
 
2558
+ .min-h-1\.5 {
2559
+ min-height: calc(var(--spacing) * 1.5);
2560
+ }
2561
+
2562
+ .min-h-2 {
2563
+ min-height: calc(var(--spacing) * 2);
2564
+ }
2565
+
2566
+ .min-h-2\.5 {
2567
+ min-height: calc(var(--spacing) * 2.5);
2568
+ }
2569
+
2570
+ .min-h-3 {
2571
+ min-height: calc(var(--spacing) * 3);
2572
+ }
2573
+
2550
2574
  .min-h-5 {
2551
2575
  min-height: calc(var(--spacing) * 5);
2552
2576
  }
@@ -3159,18 +3183,6 @@
3159
3183
  width: auto !important;
3160
3184
  }
3161
3185
 
3162
- .w-avatar-lg {
3163
- width: var(--spacing-avatar-lg);
3164
- }
3165
-
3166
- .w-avatar-md {
3167
- width: var(--spacing-avatar-md);
3168
- }
3169
-
3170
- .w-avatar-sm {
3171
- width: var(--spacing-avatar-sm);
3172
- }
3173
-
3174
3186
  .w-control-lg {
3175
3187
  width: var(--spacing-control-lg);
3176
3188
  }
@@ -3459,14 +3471,26 @@
3459
3471
  min-width: calc(var(--spacing) * .5);
3460
3472
  }
3461
3473
 
3474
+ .min-w-1\.5 {
3475
+ min-width: calc(var(--spacing) * 1.5);
3476
+ }
3477
+
3462
3478
  .min-w-2 {
3463
3479
  min-width: calc(var(--spacing) * 2);
3464
3480
  }
3465
3481
 
3482
+ .min-w-2\.5 {
3483
+ min-width: calc(var(--spacing) * 2.5);
3484
+ }
3485
+
3466
3486
  .min-w-2xl {
3467
3487
  min-width: var(--container-2xl);
3468
3488
  }
3469
3489
 
3490
+ .min-w-3 {
3491
+ min-width: calc(var(--spacing) * 3);
3492
+ }
3493
+
3470
3494
  .min-w-4 {
3471
3495
  min-width: calc(var(--spacing) * 4);
3472
3496
  }
@@ -4336,6 +4360,12 @@
4336
4360
  column-gap: calc(var(--spacing) * 5);
4337
4361
  }
4338
4362
 
4363
+ :where(.-space-x-2 > :not(:last-child)) {
4364
+ --tw-space-x-reverse: 0;
4365
+ margin-inline-start: calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));
4366
+ margin-inline-end: calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)));
4367
+ }
4368
+
4339
4369
  :where(.space-x-2 > :not(:last-child)) {
4340
4370
  --tw-space-x-reverse: 0;
4341
4371
  margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
@@ -7085,6 +7115,10 @@
7085
7115
  --tw-ring-color: var(--border-strong);
7086
7116
  }
7087
7117
 
7118
+ .ring-card {
7119
+ --tw-ring-color: var(--card);
7120
+ }
7121
+
7088
7122
  .ring-foreground {
7089
7123
  --tw-ring-color: var(--foreground);
7090
7124
  }
@@ -8823,6 +8857,11 @@
8823
8857
  border-radius: inherit;
8824
8858
  }
8825
8859
 
8860
+ .after\:rounded-full:after {
8861
+ content: var(--tw-content);
8862
+ border-radius: 3.40282e38px;
8863
+ }
8864
+
8826
8865
  .after\:rounded-xl:after {
8827
8866
  content: var(--tw-content);
8828
8867
  border-radius: var(--radius-xl);
@@ -8933,6 +8972,11 @@
8933
8972
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8934
8973
  }
8935
8974
 
8975
+ .after\:shadow-inset:after {
8976
+ content: var(--tw-content);
8977
+ box-shadow: inset 0 1px 0 var(--inset-highlight), inset 0 0 0 1px var(--inset-rim);
8978
+ }
8979
+
8936
8980
  .after\:inset-ring-white\/15:after {
8937
8981
  content: var(--tw-content);
8938
8982
  --tw-inset-ring-color: #ffffff26;
@@ -10499,6 +10543,15 @@
10499
10543
  --tw-enter-translate-y: calc(1*var(--spacing));
10500
10544
  }
10501
10545
 
10546
+ :is(.\*\:data-\[slot\=avatar\]\:ring-2 > *)[data-slot="avatar"] {
10547
+ --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
10548
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
10549
+ }
10550
+
10551
+ :is(.\*\:data-\[slot\=avatar\]\:ring-card > *)[data-slot="avatar"] {
10552
+ --tw-ring-color: var(--card);
10553
+ }
10554
+
10502
10555
  .data-\[starting-style\]\:h-0[data-starting-style] {
10503
10556
  height: 0;
10504
10557
  }
@@ -12307,6 +12360,16 @@
12307
12360
  grid-column: 1 / -1;
12308
12361
  }
12309
12362
 
12363
+ .\[\&\>\[data-slot\=avatar\]\]\:border-0 > [data-slot="avatar"] {
12364
+ border-style: var(--tw-border-style);
12365
+ border-width: 0;
12366
+ }
12367
+
12368
+ .\[\&\>\[data-slot\=avatar\]\]\:after\:hidden > [data-slot="avatar"]:after {
12369
+ content: var(--tw-content);
12370
+ display: none;
12371
+ }
12372
+
12310
12373
  .\[\&\>\[data-slot\=button-icon-end\]\]\:-mr-1 > [data-slot="button-icon-end"] {
12311
12374
  margin-right: calc(var(--spacing) * -1);
12312
12375
  }
@@ -12546,6 +12609,10 @@
12546
12609
  margin-top: calc(var(--spacing) * .5);
12547
12610
  }
12548
12611
 
12612
+ .\[\&\>svg\]\:hidden > svg {
12613
+ display: none;
12614
+ }
12615
+
12549
12616
  .\[\&\>svg\]\:\!size-4 > svg {
12550
12617
  width: calc(var(--spacing) * 4) !important;
12551
12618
  height: calc(var(--spacing) * 4) !important;
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { Switch as Switch$1 } from '@base-ui/react/switch';
3
3
  import * as React from 'react';
4
- import { k as keepOwnAccessibleName } from './field-control-aria-CCJ4-mUe.js';
4
+ import { k as keepOwnAccessibleName } from './field-control-aria-DB6y41tQ.js';
5
5
  import { focusRingOffset } from './primitives/transitions.es.js';
6
6
  import { c as cn } from './cn-coERSHz5.js';
7
7
 
@@ -102,4 +102,4 @@ function SwitchThumbIcon({
102
102
  }
103
103
 
104
104
  export { Switch as S };
105
- //# sourceMappingURL=switch-BBeMfeQ2.js.map
105
+ //# sourceMappingURL=switch-DiSlsWUt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch-BBeMfeQ2.js","sources":["../src/ds/components/Switch/switch.tsx"],"sourcesContent":["import { Switch as SwitchPrimitive } from '@base-ui/react/switch';\nimport * as React from 'react';\n\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport './switch.css';\n\ntype SwitchProps = Omit<SwitchPrimitive.Root.Props, 'className'> & {\n className?: string;\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n icon?: React.ReactNode;\n checkedIcon?: React.ReactNode;\n uncheckedIcon?: React.ReactNode;\n};\n\nconst Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n ({ className, asChild, children, icon, checkedIcon, uncheckedIcon, ...props }, ref) => {\n const shouldRenderStateIcons = checkedIcon !== undefined || uncheckedIcon !== undefined;\n const shouldRenderIcon = icon !== undefined || shouldRenderStateIcons;\n\n const singleIcon = shouldRenderStateIcons ? undefined : icon;\n const onIcon = checkedIcon ?? icon;\n const offIcon = uncheckedIcon ?? icon;\n\n // Base UI's Switch.Root defaults to a `<span>` and forwards `id` to its\n // hidden checkbox input. Render a native `<button>` (with `nativeButton`) so\n // the consumer's `id` — and the click target — lands on the visible control,\n // matching the previous Radix behavior.\n const renderProps =\n asChild && React.isValidElement(children)\n ? { render: children as React.ReactElement }\n : { render: <button type=\"button\" {...keepOwnAccessibleName(props)} />, nativeButton: true };\n\n return (\n <SwitchPrimitive.Root\n ref={ref}\n data-slot=\"switch\"\n className={cn(\n 'peer group/switch inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-0 bg-fill-hover p-0.5',\n 'transition-colors duration-normal ease-out-custom motion-reduce:transition-none',\n 'hover:bg-fill-active',\n 'active:bg-fill-strong',\n focusRingOffset,\n 'data-[checked]:bg-foreground/90',\n 'data-[checked]:hover:bg-foreground',\n 'data-[checked]:active:bg-foreground/75',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:bg-fill-hover data-[disabled]:hover:bg-fill-hover',\n 'data-[disabled]:data-[checked]:bg-foreground/30 data-[disabled]:data-[checked]:hover:bg-foreground/30',\n className,\n )}\n {...renderProps}\n {...props}\n >\n {asChild ? undefined : children}\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'switch-thumb-motion pointer-events-none relative block h-4 w-5 rounded-full bg-foreground',\n 'transition-[background-color,translate,width,transform] duration-normal ease-out-custom motion-reduce:transition-none',\n 'group-active/switch:w-6 group-data-[disabled]/switch:w-5',\n 'data-[checked]:translate-x-3 data-[checked]:bg-background data-[unchecked]:translate-x-0',\n 'group-active/switch:data-[checked]:translate-x-2',\n 'data-[disabled]:data-[checked]:bg-background/75 data-[disabled]:data-[unchecked]:bg-foreground/45',\n )}\n >\n {shouldRenderIcon ? <SwitchThumbIcon checkedIcon={onIcon} icon={singleIcon} uncheckedIcon={offIcon} /> : null}\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n );\n },\n);\nSwitch.displayName = 'Switch';\n\nfunction SwitchThumbIcon({\n checkedIcon,\n icon,\n uncheckedIcon,\n}: {\n checkedIcon?: React.ReactNode;\n icon?: React.ReactNode;\n uncheckedIcon?: React.ReactNode;\n}) {\n const iconClassName = cn(\n 'absolute inset-0 flex items-center justify-center text-background',\n 'transition-[color,opacity] duration-normal ease-out-custom motion-reduce:transition-none',\n '[&_svg]:stroke-2.5 [&_svg]:size-2.5',\n );\n\n if (icon !== undefined) {\n return (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n className={cn(iconClassName, 'group-data-[checked]/switch:text-foreground')}\n >\n {icon}\n </span>\n );\n }\n\n return (\n <>\n {uncheckedIcon !== undefined ? (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n data-switch-icon=\"unchecked\"\n className={cn(iconClassName, 'opacity-100 group-data-[checked]/switch:opacity-0')}\n >\n {uncheckedIcon}\n </span>\n ) : null}\n {checkedIcon !== undefined ? (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n data-switch-icon=\"checked\"\n className={cn(iconClassName, 'text-foreground opacity-0 group-data-[checked]/switch:opacity-100')}\n >\n {checkedIcon}\n </span>\n ) : null}\n </>\n );\n}\n\nexport { Switch };\nexport type { SwitchProps };\n"],"names":["SwitchPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"switch-DiSlsWUt.js","sources":["../src/ds/components/Switch/switch.tsx"],"sourcesContent":["import { Switch as SwitchPrimitive } from '@base-ui/react/switch';\nimport * as React from 'react';\n\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { focusRingOffset } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\nimport './switch.css';\n\ntype SwitchProps = Omit<SwitchPrimitive.Root.Props, 'className'> & {\n className?: string;\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n icon?: React.ReactNode;\n checkedIcon?: React.ReactNode;\n uncheckedIcon?: React.ReactNode;\n};\n\nconst Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n ({ className, asChild, children, icon, checkedIcon, uncheckedIcon, ...props }, ref) => {\n const shouldRenderStateIcons = checkedIcon !== undefined || uncheckedIcon !== undefined;\n const shouldRenderIcon = icon !== undefined || shouldRenderStateIcons;\n\n const singleIcon = shouldRenderStateIcons ? undefined : icon;\n const onIcon = checkedIcon ?? icon;\n const offIcon = uncheckedIcon ?? icon;\n\n // Base UI's Switch.Root defaults to a `<span>` and forwards `id` to its\n // hidden checkbox input. Render a native `<button>` (with `nativeButton`) so\n // the consumer's `id` — and the click target — lands on the visible control,\n // matching the previous Radix behavior.\n const renderProps =\n asChild && React.isValidElement(children)\n ? { render: children as React.ReactElement }\n : { render: <button type=\"button\" {...keepOwnAccessibleName(props)} />, nativeButton: true };\n\n return (\n <SwitchPrimitive.Root\n ref={ref}\n data-slot=\"switch\"\n className={cn(\n 'peer group/switch inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-0 bg-fill-hover p-0.5',\n 'transition-colors duration-normal ease-out-custom motion-reduce:transition-none',\n 'hover:bg-fill-active',\n 'active:bg-fill-strong',\n focusRingOffset,\n 'data-[checked]:bg-foreground/90',\n 'data-[checked]:hover:bg-foreground',\n 'data-[checked]:active:bg-foreground/75',\n 'data-[disabled]:cursor-not-allowed data-[disabled]:bg-fill-hover data-[disabled]:hover:bg-fill-hover',\n 'data-[disabled]:data-[checked]:bg-foreground/30 data-[disabled]:data-[checked]:hover:bg-foreground/30',\n className,\n )}\n {...renderProps}\n {...props}\n >\n {asChild ? undefined : children}\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'switch-thumb-motion pointer-events-none relative block h-4 w-5 rounded-full bg-foreground',\n 'transition-[background-color,translate,width,transform] duration-normal ease-out-custom motion-reduce:transition-none',\n 'group-active/switch:w-6 group-data-[disabled]/switch:w-5',\n 'data-[checked]:translate-x-3 data-[checked]:bg-background data-[unchecked]:translate-x-0',\n 'group-active/switch:data-[checked]:translate-x-2',\n 'data-[disabled]:data-[checked]:bg-background/75 data-[disabled]:data-[unchecked]:bg-foreground/45',\n )}\n >\n {shouldRenderIcon ? <SwitchThumbIcon checkedIcon={onIcon} icon={singleIcon} uncheckedIcon={offIcon} /> : null}\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n );\n },\n);\nSwitch.displayName = 'Switch';\n\nfunction SwitchThumbIcon({\n checkedIcon,\n icon,\n uncheckedIcon,\n}: {\n checkedIcon?: React.ReactNode;\n icon?: React.ReactNode;\n uncheckedIcon?: React.ReactNode;\n}) {\n const iconClassName = cn(\n 'absolute inset-0 flex items-center justify-center text-background',\n 'transition-[color,opacity] duration-normal ease-out-custom motion-reduce:transition-none',\n '[&_svg]:stroke-2.5 [&_svg]:size-2.5',\n );\n\n if (icon !== undefined) {\n return (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n className={cn(iconClassName, 'group-data-[checked]/switch:text-foreground')}\n >\n {icon}\n </span>\n );\n }\n\n return (\n <>\n {uncheckedIcon !== undefined ? (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n data-switch-icon=\"unchecked\"\n className={cn(iconClassName, 'opacity-100 group-data-[checked]/switch:opacity-0')}\n >\n {uncheckedIcon}\n </span>\n ) : null}\n {checkedIcon !== undefined ? (\n <span\n aria-hidden\n data-slot=\"switch-thumb-icon\"\n data-switch-icon=\"checked\"\n className={cn(iconClassName, 'text-foreground opacity-0 group-data-[checked]/switch:opacity-100')}\n >\n {checkedIcon}\n </span>\n ) : null}\n </>\n );\n}\n\nexport { Switch };\nexport type { SwitchProps };\n"],"names":["SwitchPrimitive"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState, useEffect } from 'react';
3
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-BGAiIHnS.js';
3
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-N2lgBRsg.js';
4
4
  import { c as cn } from './cn-coERSHz5.js';
5
5
 
6
6
  const hourOptions = ["12", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"];
@@ -70,4 +70,4 @@ function TimePartSelect({ label, options, value, onValueChange }) {
70
70
  }
71
71
 
72
72
  export { TimePicker as T };
73
- //# sourceMappingURL=time-picker-Bo6GJcmz.js.map
73
+ //# sourceMappingURL=time-picker-J7GaNaEd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-picker-Bo6GJcmz.js","sources":["../src/ds/components/DateTimePicker/time-picker.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { cn } from '@/lib/utils';\n\nexport type TimePickerProps = {\n defaultValue?: string;\n onValueChange: (value: string) => void;\n className?: string;\n label?: string;\n};\n\nconst hourOptions = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'];\nconst minuteOptions = ['00', '15', '30', '45', '59'];\nconst timePeriodOptions = ['AM', 'PM'];\n\nexport function TimePicker({ defaultValue, onValueChange, className, label = 'Time' }: TimePickerProps) {\n const [hour, setHour] = useState<string>('12');\n const [minute, setMinute] = useState<string>('00');\n const [timePeriod, setTimePeriod] = useState('AM');\n\n useEffect(() => {\n if (defaultValue) {\n const timeRegex = /^(\\d{1,2}):(\\d{2})(?::\\d{2})?\\s*(AM|PM|am|pm)?$/;\n const match = defaultValue.match(timeRegex);\n\n if (match) {\n const rawHour = match[1];\n const rawMinute = match[2];\n if (rawHour === undefined || rawMinute === undefined) return;\n\n let parsedHour = parseInt(rawHour, 10);\n const parsedMinute = parseInt(rawMinute, 10);\n const period = match[3]?.toUpperCase();\n\n if (parsedHour >= 1 && parsedHour <= 12 && parsedMinute >= 0 && parsedMinute <= 59) {\n setHour(parsedHour.toString());\n setMinute(parsedMinute === 0 ? '00' : parsedMinute.toString());\n setTimePeriod(period || 'AM');\n }\n }\n }\n }, [defaultValue]);\n\n const handleHourChange = (val: string) => {\n const nextHour = hourOptions[+val];\n if (nextHour === undefined) return;\n setHour(nextHour);\n onValueChange(`${nextHour}:${minute} ${timePeriod}`.trim());\n };\n\n const handleMinuteChange = (val: string) => {\n const nextMinute = minuteOptions[+val];\n if (nextMinute === undefined) return;\n setMinute(nextMinute);\n onValueChange(`${hour}:${nextMinute} ${timePeriod}`.trim());\n };\n\n const handleTimePeriodChange = (val: string) => {\n const nextPeriod = timePeriodOptions[+val];\n if (nextPeriod === undefined) return;\n setTimePeriod(nextPeriod);\n onValueChange(`${hour}:${minute} ${nextPeriod}`.trim());\n };\n\n return (\n <div role=\"group\" aria-label={label} className={cn('flex items-center gap-2', className)}>\n <TimePartSelect label=\"Hour\" options={hourOptions} value={hour} onValueChange={handleHourChange} />\n :\n <TimePartSelect label=\"Minute\" options={minuteOptions} value={minute} onValueChange={handleMinuteChange} />\n <TimePartSelect\n label=\"AM or PM\"\n options={timePeriodOptions}\n value={timePeriod}\n onValueChange={handleTimePeriodChange}\n />\n </div>\n );\n}\n\ntype TimePartSelectProps = {\n label: string;\n options: readonly string[];\n value: string;\n onValueChange: (index: string) => void;\n};\n\nfunction TimePartSelect({ label, options, value, onValueChange }: TimePartSelectProps) {\n return (\n <Select value={options.indexOf(value).toString()} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" aria-label={label}>\n <SelectValue placeholder=\"Select...\" />\n </SelectTrigger>\n <SelectContent>\n {options.map((option, idx) => (\n <SelectItem key={option} value={`${idx}`}>\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-picker-J7GaNaEd.js","sources":["../src/ds/components/DateTimePicker/time-picker.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { cn } from '@/lib/utils';\n\nexport type TimePickerProps = {\n defaultValue?: string;\n onValueChange: (value: string) => void;\n className?: string;\n label?: string;\n};\n\nconst hourOptions = ['12', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'];\nconst minuteOptions = ['00', '15', '30', '45', '59'];\nconst timePeriodOptions = ['AM', 'PM'];\n\nexport function TimePicker({ defaultValue, onValueChange, className, label = 'Time' }: TimePickerProps) {\n const [hour, setHour] = useState<string>('12');\n const [minute, setMinute] = useState<string>('00');\n const [timePeriod, setTimePeriod] = useState('AM');\n\n useEffect(() => {\n if (defaultValue) {\n const timeRegex = /^(\\d{1,2}):(\\d{2})(?::\\d{2})?\\s*(AM|PM|am|pm)?$/;\n const match = defaultValue.match(timeRegex);\n\n if (match) {\n const rawHour = match[1];\n const rawMinute = match[2];\n if (rawHour === undefined || rawMinute === undefined) return;\n\n let parsedHour = parseInt(rawHour, 10);\n const parsedMinute = parseInt(rawMinute, 10);\n const period = match[3]?.toUpperCase();\n\n if (parsedHour >= 1 && parsedHour <= 12 && parsedMinute >= 0 && parsedMinute <= 59) {\n setHour(parsedHour.toString());\n setMinute(parsedMinute === 0 ? '00' : parsedMinute.toString());\n setTimePeriod(period || 'AM');\n }\n }\n }\n }, [defaultValue]);\n\n const handleHourChange = (val: string) => {\n const nextHour = hourOptions[+val];\n if (nextHour === undefined) return;\n setHour(nextHour);\n onValueChange(`${nextHour}:${minute} ${timePeriod}`.trim());\n };\n\n const handleMinuteChange = (val: string) => {\n const nextMinute = minuteOptions[+val];\n if (nextMinute === undefined) return;\n setMinute(nextMinute);\n onValueChange(`${hour}:${nextMinute} ${timePeriod}`.trim());\n };\n\n const handleTimePeriodChange = (val: string) => {\n const nextPeriod = timePeriodOptions[+val];\n if (nextPeriod === undefined) return;\n setTimePeriod(nextPeriod);\n onValueChange(`${hour}:${minute} ${nextPeriod}`.trim());\n };\n\n return (\n <div role=\"group\" aria-label={label} className={cn('flex items-center gap-2', className)}>\n <TimePartSelect label=\"Hour\" options={hourOptions} value={hour} onValueChange={handleHourChange} />\n :\n <TimePartSelect label=\"Minute\" options={minuteOptions} value={minute} onValueChange={handleMinuteChange} />\n <TimePartSelect\n label=\"AM or PM\"\n options={timePeriodOptions}\n value={timePeriod}\n onValueChange={handleTimePeriodChange}\n />\n </div>\n );\n}\n\ntype TimePartSelectProps = {\n label: string;\n options: readonly string[];\n value: string;\n onValueChange: (index: string) => void;\n};\n\nfunction TimePartSelect({ label, options, value, onValueChange }: TimePartSelectProps) {\n return (\n <Select value={options.indexOf(value).toString()} onValueChange={onValueChange}>\n <SelectTrigger size=\"sm\" aria-label={label}>\n <SelectValue placeholder=\"Select...\" />\n </SelectTrigger>\n <SelectContent>\n {options.map((option, idx) => (\n <SelectItem key={option} value={`${idx}`}>\n {option}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Check, X, ShieldCheck } from 'lucide-react';
3
3
  import { A as Activity, m as ActivityTrigger, d as ActivityHeader, f as ActivityIcon, a as ActivityContent } from './activity-BsrB5ADa.js';
4
- import { T as ToolCallArguments } from './tool-call-arguments-B86JP3Dy.js';
4
+ import { T as ToolCallArguments } from './tool-call-arguments-RKyYP3xh.js';
5
5
  import { p as presentTool } from './tool-presentation-BXAo24Ir.js';
6
6
  import { B as Badge } from './Badge-3-G2I_cx.js';
7
7
  import { B as Button } from './Button-C8QDEN9j.js';
@@ -68,4 +68,4 @@ function ToolApproval({ toolName, args, status, children, ...actions }) {
68
68
  }
69
69
 
70
70
  export { ToolApproval as T, ToolApprovalActions as a, ToolApprovalStatus as b };
71
- //# sourceMappingURL=tool-approval-BQ6sDvyS.js.map
71
+ //# sourceMappingURL=tool-approval-nsbG8-qI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approval-BQ6sDvyS.js","sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-approval-nsbG8-qI.js","sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { u as useHighlight, t as tokenStyle } from './code-DAXWNzvf.js';
3
- import { C as CodeBlock } from './code-block-9sT-CaoF.js';
3
+ import { C as CodeBlock } from './code-block-BQZUoOfS.js';
4
4
  import { l as languageForPath } from './highlight-BmpoELR4.js';
5
5
  import { truncateString } from './utils/truncate-string.es.js';
6
6
  import { c as cn } from './cn-coERSHz5.js';
@@ -75,4 +75,4 @@ function ToolCallArguments({ "data-testid": testId, showFullContent, ...input })
75
75
  }
76
76
 
77
77
  export { ToolCallArguments as T, ToolCallEdit as a };
78
- //# sourceMappingURL=tool-call-arguments-B86JP3Dy.js.map
78
+ //# sourceMappingURL=tool-call-arguments-RKyYP3xh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-call-arguments-B86JP3Dy.js","sources":["../src/ds/components/ai/tool-call/tool-call-edit.tsx","../src/ds/components/ai/tool-call/tool-call-arguments.tsx"],"sourcesContent":["import type { ToolEdit } from './tool-presentation';\nimport { tokenStyle, useHighlight } from '@/ds/components/Code';\nimport { CodeBlock } from '@/ds/components/CodeBlock';\nimport { languageForPath } from '@/ds/components/CodeEditor/highlight';\nimport { truncateString } from '@/lib/truncate-string';\nimport { cn } from '@/lib/utils';\n\nconst DIFF_MAX_LINES = 200;\nconst WRITTEN_FILE_MAX_CHARS = 2000;\n\nconst DIFF_SIDES = {\n removed: { sign: '-', row: 'bg-destructive-subtle', gutter: 'text-destructive-subtle-foreground' },\n added: { sign: '+', row: 'bg-success-subtle', gutter: 'text-success-subtle-foreground' },\n} as const;\n\nfunction boundedLines(text: string, showFullContent: boolean): { lines: string[]; hidden: number } {\n const lines = text.split('\\n');\n if (showFullContent) return { lines, hidden: 0 };\n return { lines: lines.slice(0, DIFF_MAX_LINES), hidden: Math.max(0, lines.length - DIFF_MAX_LINES) };\n}\n\nfunction DiffSide({ lines, side, lang }: { lines: string[]; side: keyof typeof DIFF_SIDES; lang: string | undefined }) {\n const { sign, row, gutter } = DIFF_SIDES[side];\n const code = lines.join('\\n');\n const highlighted = useHighlight(code, lang);\n const tokens = highlighted?.code === code ? highlighted.tokens : undefined;\n\n return (\n <>\n {lines.map((line, index) => (\n <div key={index} className={cn('flex whitespace-pre', row)}>\n <span className={cn('w-5 shrink-0 text-center opacity-70 select-none', gutter)}>{sign}</span>\n <span className=\"flex-1 pr-2.5 text-foreground\">\n {tokens?.[index]?.map((token, tokenIndex) => (\n <span key={tokenIndex} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n )) ?? line}\n </span>\n </div>\n ))}\n </>\n );\n}\n\nexport function ToolCallEdit({ edit, showFullContent = false }: { edit: ToolEdit; showFullContent?: boolean }) {\n const lang = languageForPath(edit.path);\n\n if ('content' in edit) {\n return (\n <CodeBlock\n code={showFullContent ? edit.content : truncateString(edit.content, WRITTEN_FILE_MAX_CHARS)}\n lang={lang}\n fileName={edit.path ?? 'Change'}\n overflow=\"scroll\"\n />\n );\n }\n\n const removed = boundedLines(edit.oldText, showFullContent);\n const added = boundedLines(edit.newText, showFullContent);\n const hidden = removed.hidden + added.hidden;\n\n return (\n <div\n className={cn(\n 'max-w-full min-w-0 overflow-x-auto rounded-md border border-border bg-fill font-mono text-caption',\n showFullContent && 'max-h-60 overflow-y-auto',\n )}\n role=\"group\"\n aria-label=\"File change\"\n >\n <DiffSide lines={removed.lines} side=\"removed\" lang={lang} />\n <DiffSide lines={added.lines} side=\"added\" lang={lang} />\n {hidden > 0 && <div className=\"px-2.5 py-1 text-muted-foreground select-none\">… {hidden} more lines</div>}\n </div>\n );\n}\n","import { ToolCallEdit } from './tool-call-edit';\nimport { ToolCallMono } from './tool-call-mono';\nimport { toolEdit, visibleToolArgumentsText } from './tool-presentation';\nimport type { ToolArgumentsInput } from './tool-presentation';\n\nexport interface ToolCallArgumentsProps extends ToolArgumentsInput {\n 'data-testid'?: string;\n showFullContent?: boolean;\n}\n\nexport function ToolCallArguments({ 'data-testid': testId, showFullContent, ...input }: ToolCallArgumentsProps) {\n const edit = toolEdit(input.toolName, input.args);\n if (edit) return <ToolCallEdit edit={edit} showFullContent={showFullContent} />;\n\n const text = visibleToolArgumentsText(input);\n if (!text) return null;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className=\"text-foreground\">\n {text}\n </ToolCallMono>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-call-arguments-RKyYP3xh.js","sources":["../src/ds/components/ai/tool-call/tool-call-edit.tsx","../src/ds/components/ai/tool-call/tool-call-arguments.tsx"],"sourcesContent":["import type { ToolEdit } from './tool-presentation';\nimport { tokenStyle, useHighlight } from '@/ds/components/Code';\nimport { CodeBlock } from '@/ds/components/CodeBlock';\nimport { languageForPath } from '@/ds/components/CodeEditor/highlight';\nimport { truncateString } from '@/lib/truncate-string';\nimport { cn } from '@/lib/utils';\n\nconst DIFF_MAX_LINES = 200;\nconst WRITTEN_FILE_MAX_CHARS = 2000;\n\nconst DIFF_SIDES = {\n removed: { sign: '-', row: 'bg-destructive-subtle', gutter: 'text-destructive-subtle-foreground' },\n added: { sign: '+', row: 'bg-success-subtle', gutter: 'text-success-subtle-foreground' },\n} as const;\n\nfunction boundedLines(text: string, showFullContent: boolean): { lines: string[]; hidden: number } {\n const lines = text.split('\\n');\n if (showFullContent) return { lines, hidden: 0 };\n return { lines: lines.slice(0, DIFF_MAX_LINES), hidden: Math.max(0, lines.length - DIFF_MAX_LINES) };\n}\n\nfunction DiffSide({ lines, side, lang }: { lines: string[]; side: keyof typeof DIFF_SIDES; lang: string | undefined }) {\n const { sign, row, gutter } = DIFF_SIDES[side];\n const code = lines.join('\\n');\n const highlighted = useHighlight(code, lang);\n const tokens = highlighted?.code === code ? highlighted.tokens : undefined;\n\n return (\n <>\n {lines.map((line, index) => (\n <div key={index} className={cn('flex whitespace-pre', row)}>\n <span className={cn('w-5 shrink-0 text-center opacity-70 select-none', gutter)}>{sign}</span>\n <span className=\"flex-1 pr-2.5 text-foreground\">\n {tokens?.[index]?.map((token, tokenIndex) => (\n <span key={tokenIndex} className=\"shiki-token\" style={tokenStyle(token)}>\n {token.content}\n </span>\n )) ?? line}\n </span>\n </div>\n ))}\n </>\n );\n}\n\nexport function ToolCallEdit({ edit, showFullContent = false }: { edit: ToolEdit; showFullContent?: boolean }) {\n const lang = languageForPath(edit.path);\n\n if ('content' in edit) {\n return (\n <CodeBlock\n code={showFullContent ? edit.content : truncateString(edit.content, WRITTEN_FILE_MAX_CHARS)}\n lang={lang}\n fileName={edit.path ?? 'Change'}\n overflow=\"scroll\"\n />\n );\n }\n\n const removed = boundedLines(edit.oldText, showFullContent);\n const added = boundedLines(edit.newText, showFullContent);\n const hidden = removed.hidden + added.hidden;\n\n return (\n <div\n className={cn(\n 'max-w-full min-w-0 overflow-x-auto rounded-md border border-border bg-fill font-mono text-caption',\n showFullContent && 'max-h-60 overflow-y-auto',\n )}\n role=\"group\"\n aria-label=\"File change\"\n >\n <DiffSide lines={removed.lines} side=\"removed\" lang={lang} />\n <DiffSide lines={added.lines} side=\"added\" lang={lang} />\n {hidden > 0 && <div className=\"px-2.5 py-1 text-muted-foreground select-none\">… {hidden} more lines</div>}\n </div>\n );\n}\n","import { ToolCallEdit } from './tool-call-edit';\nimport { ToolCallMono } from './tool-call-mono';\nimport { toolEdit, visibleToolArgumentsText } from './tool-presentation';\nimport type { ToolArgumentsInput } from './tool-presentation';\n\nexport interface ToolCallArgumentsProps extends ToolArgumentsInput {\n 'data-testid'?: string;\n showFullContent?: boolean;\n}\n\nexport function ToolCallArguments({ 'data-testid': testId, showFullContent, ...input }: ToolCallArgumentsProps) {\n const edit = toolEdit(input.toolName, input.args);\n if (edit) return <ToolCallEdit edit={edit} showFullContent={showFullContent} />;\n\n const text = visibleToolArgumentsText(input);\n if (!text) return null;\n\n return (\n <ToolCallMono copyText={text} data-testid={testId} className=\"text-foreground\">\n {text}\n </ToolCallMono>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAOA,MAAM,cAAA,GAAiB,GAAA;AACvB,MAAM,sBAAA,GAAyB,GAAA;AAE/B,MAAM,UAAA,GAAa;AAAA,EACjB,SAAS,EAAE,IAAA,EAAM,KAAK,GAAA,EAAK,uBAAA,EAAyB,QAAQ,oCAAA,EAAqC;AAAA,EACjG,OAAO,EAAE,IAAA,EAAM,KAAK,GAAA,EAAK,mBAAA,EAAqB,QAAQ,gCAAA;AACxD,CAAA;AAEA,SAAS,YAAA,CAAa,MAAc,eAAA,EAA+D;AACjG,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC7B,EAAA,IAAI,eAAA,EAAiB,OAAO,EAAE,KAAA,EAAO,QAAQ,CAAA,EAAE;AAC/C,EAAA,OAAO,EAAE,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,GAAG,cAAc,CAAA,EAAG,MAAA,EAAQ,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAA,CAAM,MAAA,GAAS,cAAc,CAAA,EAAE;AACrG;AAEA,SAAS,QAAA,CAAS,EAAE,KAAA,EAAO,IAAA,EAAM,MAAK,EAAiF;AACrH,EAAA,MAAM,EAAE,IAAA,EAAM,GAAA,EAAK,MAAA,EAAO,GAAI,WAAW,IAAI,CAAA;AAC7C,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA;AAC5B,EAAA,MAAM,WAAA,GAAc,YAAA,CAAa,IAAA,EAAM,IAAI,CAAA;AAC3C,EAAA,MAAM,MAAA,GAAS,WAAA,EAAa,IAAA,KAAS,IAAA,GAAO,YAAY,MAAA,GAAS,MAAA;AAEjE,EAAA,uBACE,GAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,qBAChB,IAAA,CAAC,KAAA,EAAA,EAAgB,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,GAAG,CAAA,EACvD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAK,SAAA,EAAW,EAAA,CAAG,iDAAA,EAAmD,MAAM,GAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,oBACtF,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+BAAA,EACb,QAAA,EAAA,MAAA,GAAS,KAAK,CAAA,EAAG,GAAA,CAAI,CAAC,KAAA,EAAO,UAAA,qBAC5B,GAAA,CAAC,UAAsB,SAAA,EAAU,aAAA,EAAc,KAAA,EAAO,UAAA,CAAW,KAAK,CAAA,EACnE,gBAAM,OAAA,EAAA,EADE,UAEX,CACD,CAAA,IAAK,IAAA,EACR;AAAA,GAAA,EAAA,EARQ,KASV,CACD,CAAA,EACH,CAAA;AAEJ;AAEO,SAAS,YAAA,CAAa,EAAE,IAAA,EAAM,eAAA,GAAkB,OAAM,EAAkD;AAC7G,EAAA,MAAM,IAAA,GAAO,eAAA,CAAgB,IAAA,CAAK,IAAI,CAAA;AAEtC,EAAA,IAAI,aAAa,IAAA,EAAM;AACrB,IAAA,uBACE,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,MAAM,eAAA,GAAkB,IAAA,CAAK,UAAU,cAAA,CAAe,IAAA,CAAK,SAAS,sBAAsB,CAAA;AAAA,QAC1F,IAAA;AAAA,QACA,QAAA,EAAU,KAAK,IAAA,IAAQ,QAAA;AAAA,QACvB,QAAA,EAAS;AAAA;AAAA,KACX;AAAA,EAEJ;AAEA,EAAA,MAAM,OAAA,GAAU,YAAA,CAAa,IAAA,CAAK,OAAA,EAAS,eAAe,CAAA;AAC1D,EAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,IAAA,CAAK,OAAA,EAAS,eAAe,CAAA;AACxD,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,MAAA,GAAS,KAAA,CAAM,MAAA;AAEtC,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,mGAAA;AAAA,QACA,eAAA,IAAmB;AAAA,OACrB;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAW,aAAA;AAAA,MAEX,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,YAAS,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAO,IAAA,EAAK,WAAU,IAAA,EAAY,CAAA;AAAA,4BAC1D,QAAA,EAAA,EAAS,KAAA,EAAO,MAAM,KAAA,EAAO,IAAA,EAAK,SAAQ,IAAA,EAAY,CAAA;AAAA,QACtD,MAAA,GAAS,CAAA,oBAAK,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,+CAAA,EAAgD,QAAA,EAAA;AAAA,UAAA,IAAA;AAAA,UAAG,MAAA;AAAA,UAAO;AAAA,SAAA,EAAW;AAAA;AAAA;AAAA,GACrG;AAEJ;;ACnEO,SAAS,kBAAkB,EAAE,aAAA,EAAe,QAAQ,eAAA,EAAiB,GAAG,OAAM,EAA2B;AAC9G,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,KAAA,CAAM,QAAA,EAAU,MAAM,IAAI,CAAA;AAChD,EAAA,IAAI,IAAA,EAAM,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAa,MAAY,eAAA,EAAkC,CAAA;AAE7E,EAAA,MAAM,IAAA,GAAO,yBAAyB,KAAK,CAAA;AAC3C,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,uBACE,GAAA,CAAC,gBAAa,QAAA,EAAU,IAAA,EAAM,eAAa,MAAA,EAAQ,SAAA,EAAU,mBAC1D,QAAA,EAAA,IAAA,EACH,CAAA;AAEJ;;;;"}
@@ -25,7 +25,7 @@ import { ToolApprovalBadge } from './domains/chat/tools/badges/tool-approval-bad
25
25
  import { a as ToolCallMono } from './tool-call-mono-BAYC7OZl.js';
26
26
  import 'lucide-react';
27
27
  import { B as Button } from './Button-C8QDEN9j.js';
28
- import { C as CodeEditor } from './code-editor-DgfDaPAD.js';
28
+ import { C as CodeEditor } from './code-editor-D69saH4C.js';
29
29
  import { AgentIcon } from './icons/AgentIcon.es.js';
30
30
  import { resolveToChildMessages } from './domains/chat/tools/badges/resolve-child-messages.es.js';
31
31
  import { LoadingBadge } from './domains/chat/components/loading-badge.es.js';
@@ -410,4 +410,4 @@ const ToolCardInner = ({
410
410
  };
411
411
 
412
412
  export { AgentBadge as A, ToolCard as T, AgentBadgeWrapper as a, ToolCardInner as b };
413
- //# sourceMappingURL=tool-card-C8IrtMuQ.js.map
413
+ //# sourceMappingURL=tool-card-BtPh44u6.js.map