@mastra/playground-ui 60.1.0 → 60.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/dist/{ask-user-Dlz2346n.js → ask-user-DE8TaPhb.js} +62 -53
  2. package/dist/ask-user-DE8TaPhb.js.map +1 -0
  3. package/dist/{ask-user-CXu4b7Jw.cjs → ask-user-XYY0fUoI.cjs} +61 -52
  4. package/dist/ask-user-XYY0fUoI.cjs.map +1 -0
  5. package/dist/{checkbox-CI8JtZKS.cjs → checkbox-Bkobte27.cjs} +3 -1
  6. package/dist/checkbox-Bkobte27.cjs.map +1 -0
  7. package/dist/{checkbox-CQedzgsi.js → checkbox-DcNIsz5L.js} +3 -1
  8. package/dist/checkbox-DcNIsz5L.js.map +1 -0
  9. package/dist/{code-block-DY5KsTGY.js → code-block-Bnz7Pq0Q.js} +3 -3
  10. package/dist/code-block-Bnz7Pq0Q.js.map +1 -0
  11. package/dist/{code-block-BzoMjjtf.cjs → code-block-C3DbSINk.cjs} +3 -3
  12. package/dist/code-block-C3DbSINk.cjs.map +1 -0
  13. package/dist/{code-editor-B_wPmKPf.cjs → code-editor-Btr1qm_5.cjs} +26 -6
  14. package/dist/code-editor-Btr1qm_5.cjs.map +1 -0
  15. package/dist/{code-editor-28chVxHw.js → code-editor-DzhYz1fH.js} +26 -6
  16. package/dist/code-editor-DzhYz1fH.js.map +1 -0
  17. package/dist/{combobox-B15qTrWO.js → combobox-DKFPbNMB.js} +13 -11
  18. package/dist/combobox-DKFPbNMB.js.map +1 -0
  19. package/dist/{combobox-DJ0c4o4S.cjs → combobox-RzEkcOuu.cjs} +14 -12
  20. package/dist/combobox-RzEkcOuu.cjs.map +1 -0
  21. package/dist/{combobox-styles-C2MEEpaG.js → combobox-styles-mbcWlNZQ.js} +6 -7
  22. package/dist/combobox-styles-mbcWlNZQ.js.map +1 -0
  23. package/dist/{combobox-styles-DLflBH-G.cjs → combobox-styles-qL3FSgmU.cjs} +5 -6
  24. package/dist/combobox-styles-qL3FSgmU.cjs.map +1 -0
  25. package/dist/components/Checkbox.cjs.js +1 -1
  26. package/dist/components/Checkbox.es.js +1 -1
  27. package/dist/components/CodeBlock.cjs.js +1 -1
  28. package/dist/components/CodeBlock.es.js +1 -1
  29. package/dist/components/CodeEditor.cjs.js +1 -1
  30. package/dist/components/CodeEditor.es.js +1 -1
  31. package/dist/components/Combobox.cjs.js +2 -2
  32. package/dist/components/Combobox.es.js +2 -2
  33. package/dist/components/Comment.cjs.js +7 -9
  34. package/dist/components/Comment.cjs.js.map +1 -1
  35. package/dist/components/Comment.es.js +8 -10
  36. package/dist/components/Comment.es.js.map +1 -1
  37. package/dist/components/DataCodeSection.cjs.js +1 -1
  38. package/dist/components/DataCodeSection.es.js +1 -1
  39. package/dist/components/DataList.cjs.js +5 -5
  40. package/dist/components/DataList.es.js +5 -5
  41. package/dist/components/DataPanel.cjs.js +1 -1
  42. package/dist/components/DataPanel.es.js +1 -1
  43. package/dist/components/DateTimePicker.cjs.js +9 -14
  44. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  45. package/dist/components/DateTimePicker.es.js +9 -14
  46. package/dist/components/DateTimePicker.es.js.map +1 -1
  47. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  48. package/dist/components/DateTimeRangePicker.es.js +1 -1
  49. package/dist/components/EnvironmentVariablesEditor.cjs.js +12 -22
  50. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  51. package/dist/components/EnvironmentVariablesEditor.es.js +12 -22
  52. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  53. package/dist/components/Field.cjs.js +19 -0
  54. package/dist/components/Field.cjs.js.map +1 -0
  55. package/dist/components/Field.d.ts +2 -0
  56. package/dist/components/Field.es.js +3 -0
  57. package/dist/components/Field.es.js.map +1 -0
  58. package/dist/components/FilterBar.cjs.js +2 -2
  59. package/dist/components/FilterBar.es.js +3 -3
  60. package/dist/components/Form.cjs.js +10 -0
  61. package/dist/components/Form.cjs.js.map +1 -0
  62. package/dist/components/Form.d.ts +2 -0
  63. package/dist/components/Form.es.js +2 -0
  64. package/dist/components/Form.es.js.map +1 -0
  65. package/dist/components/FormFieldBlocks.cjs.js +270 -11
  66. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  67. package/dist/components/FormFieldBlocks.es.js +267 -8
  68. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  69. package/dist/components/Input.cjs.js +1 -1
  70. package/dist/components/Input.es.js +1 -1
  71. package/dist/components/InputGroup.cjs.js +1 -1
  72. package/dist/components/InputGroup.es.js +1 -1
  73. package/dist/components/JSONSchemaForm.cjs.js +51 -52
  74. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  75. package/dist/components/JSONSchemaForm.es.js +44 -45
  76. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  77. package/dist/components/Label.cjs.js +33 -2
  78. package/dist/components/Label.cjs.js.map +1 -1
  79. package/dist/components/Label.es.js +17 -1
  80. package/dist/components/Label.es.js.map +1 -1
  81. package/dist/components/ListSearch.cjs.js +1 -1
  82. package/dist/components/ListSearch.es.js +1 -1
  83. package/dist/components/LogsDataList.cjs.js +2 -2
  84. package/dist/components/LogsDataList.es.js +2 -2
  85. package/dist/components/MainSidebar.cjs.js +11 -125
  86. package/dist/components/MainSidebar.cjs.js.map +1 -1
  87. package/dist/components/MainSidebar.es.js +1 -120
  88. package/dist/components/MainSidebar.es.js.map +1 -1
  89. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  90. package/dist/components/MarkdownRenderer.es.js +1 -1
  91. package/dist/components/PropertyFilter.cjs.js +24 -21
  92. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  93. package/dist/components/PropertyFilter.es.js +25 -22
  94. package/dist/components/PropertyFilter.es.js.map +1 -1
  95. package/dist/components/RadioGroup.cjs.js +1 -1
  96. package/dist/components/RadioGroup.es.js +1 -1
  97. package/dist/components/RuleBuilder.cjs.js +2 -2
  98. package/dist/components/RuleBuilder.es.js +2 -2
  99. package/dist/components/SearchInput.cjs.js +10 -0
  100. package/dist/components/SearchInput.cjs.js.map +1 -0
  101. package/dist/components/SearchInput.d.ts +2 -0
  102. package/dist/components/SearchInput.es.js +2 -0
  103. package/dist/components/SearchInput.es.js.map +1 -0
  104. package/dist/components/Section.cjs.js +1 -1
  105. package/dist/components/Section.es.js +1 -1
  106. package/dist/components/SegmentedControl.cjs.js +1 -1
  107. package/dist/components/SegmentedControl.es.js +1 -1
  108. package/dist/components/Select.cjs.js +1 -1
  109. package/dist/components/Select.es.js +1 -1
  110. package/dist/components/SideDialog.cjs.js +1 -1
  111. package/dist/components/SideDialog.es.js +1 -1
  112. package/dist/components/Switch.cjs.js +1 -1
  113. package/dist/components/Switch.es.js +1 -1
  114. package/dist/components/Textarea.cjs.js +1 -1
  115. package/dist/components/Textarea.es.js +1 -1
  116. package/dist/components/ThemeToggle.cjs.js +1 -1
  117. package/dist/components/ThemeToggle.es.js +1 -1
  118. package/dist/components/Workflow.cjs.js +3 -3
  119. package/dist/components/Workflow.es.js +3 -3
  120. package/dist/components/ai/activity.cjs.js +1 -1
  121. package/dist/components/ai/activity.es.js +1 -1
  122. package/dist/components/ai/ask-user.cjs.js +1 -1
  123. package/dist/components/ai/ask-user.es.js +1 -1
  124. package/dist/components/ai/plan.cjs.js +1 -1
  125. package/dist/components/ai/plan.es.js +1 -1
  126. package/dist/components/ai/tool-call.cjs.js +1 -1
  127. package/dist/components/ai/tool-call.es.js +1 -1
  128. package/dist/{custom-auto-form-field-yEMBGXu-.js → custom-auto-form-field-BvEhSH73.js} +2 -6
  129. package/dist/custom-auto-form-field-BvEhSH73.js.map +1 -0
  130. package/dist/{custom-auto-form-field-Brfb-0Te.cjs → custom-auto-form-field-DVse5pih.cjs} +2 -6
  131. package/dist/custom-auto-form-field-DVse5pih.cjs.map +1 -0
  132. package/dist/{data-code-section-It6myyvZ.js → data-code-section-DFxE6ckH.js} +22 -19
  133. package/dist/data-code-section-DFxE6ckH.js.map +1 -0
  134. package/dist/{data-code-section-DWBfkrmO.cjs → data-code-section-Ds79F6W-.cjs} +21 -18
  135. package/dist/data-code-section-Ds79F6W-.cjs.map +1 -0
  136. package/dist/{data-list-Y42KyuI1.cjs → data-list-Bqf-fhMx.cjs} +3 -3
  137. package/dist/{data-list-Y42KyuI1.cjs.map → data-list-Bqf-fhMx.cjs.map} +1 -1
  138. package/dist/{data-list-CyeD_u-6.js → data-list-CEIYm7FY.js} +3 -3
  139. package/dist/{data-list-CyeD_u-6.js.map → data-list-CEIYm7FY.js.map} +1 -1
  140. package/dist/{data-list-skeleton-Bk9LI0J0.js → data-list-skeleton-CeyLefM5.js} +2 -2
  141. package/dist/{data-list-skeleton-Bk9LI0J0.js.map → data-list-skeleton-CeyLefM5.js.map} +1 -1
  142. package/dist/{data-list-skeleton-BXPfL0s7.cjs → data-list-skeleton-DuqQkzwC.cjs} +2 -2
  143. package/dist/{data-list-skeleton-BXPfL0s7.cjs.map → data-list-skeleton-DuqQkzwC.cjs.map} +1 -1
  144. package/dist/{data-list-spacer-C8z32twc.js → data-list-spacer-BH2DjRdk.js} +2 -2
  145. package/dist/{data-list-spacer-C8z32twc.js.map → data-list-spacer-BH2DjRdk.js.map} +1 -1
  146. package/dist/{data-list-spacer-BSg2hCx7.cjs → data-list-spacer-DFvaAEqo.cjs} +2 -2
  147. package/dist/{data-list-spacer-BSg2hCx7.cjs.map → data-list-spacer-DFvaAEqo.cjs.map} +1 -1
  148. package/dist/{data-list-top-C-pLBax7.cjs → data-list-top-CvD3KI8R.cjs} +2 -2
  149. package/dist/{data-list-top-C-pLBax7.cjs.map → data-list-top-CvD3KI8R.cjs.map} +1 -1
  150. package/dist/{data-list-top-DheFgb0M.js → data-list-top-CxUWL8gh.js} +2 -2
  151. package/dist/{data-list-top-DheFgb0M.js.map → data-list-top-CxUWL8gh.js.map} +1 -1
  152. package/dist/{data-panel-DuLf5j8S.js → data-panel-CbomKGJt.js} +2 -2
  153. package/dist/{data-panel-DuLf5j8S.js.map → data-panel-CbomKGJt.js.map} +1 -1
  154. package/dist/{data-panel-D7Qk4iwZ.cjs → data-panel-o-QLWuFV.cjs} +2 -2
  155. package/dist/{data-panel-D7Qk4iwZ.cjs.map → data-panel-o-QLWuFV.cjs.map} +1 -1
  156. package/dist/{date-time-range-picker-BDylIIzt.js → date-time-range-picker-B1zYIQTC.js} +56 -55
  157. package/dist/date-time-range-picker-B1zYIQTC.js.map +1 -0
  158. package/dist/{date-time-range-picker-UheN070q.cjs → date-time-range-picker-Bb-CGVEL.cjs} +56 -55
  159. package/dist/date-time-range-picker-Bb-CGVEL.cjs.map +1 -0
  160. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  161. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  162. package/dist/domains/chat/messages/dataset-save-action.cjs.js +11 -10
  163. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  164. package/dist/domains/chat/messages/dataset-save-action.es.js +11 -10
  165. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  166. package/dist/domains/chat/messages/message-row.cjs.js +1 -1
  167. package/dist/domains/chat/messages/message-row.es.js +1 -1
  168. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  169. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  170. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  171. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  172. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  173. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  174. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  175. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  176. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +2 -2
  177. package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
  178. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  179. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  180. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  181. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  182. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  183. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  184. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  185. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  186. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  187. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  188. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  189. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  190. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  191. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  192. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
  193. package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -2
  194. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  195. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  196. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  197. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  198. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +18 -16
  199. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  200. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +18 -16
  201. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  202. package/dist/domains/feedback/utils/feedback-refetch-interval.cjs.js +1 -1
  203. package/dist/domains/feedback/utils/feedback-refetch-interval.cjs.js.map +1 -1
  204. package/dist/domains/feedback/utils/feedback-refetch-interval.es.js +1 -1
  205. package/dist/domains/feedback/utils/feedback-refetch-interval.es.js.map +1 -1
  206. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  207. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  208. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  209. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  210. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  211. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  212. package/dist/domains/memory/components/observation-detail-view.cjs.js +5 -3
  213. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  214. package/dist/domains/memory/components/observation-detail-view.es.js +5 -3
  215. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  216. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  217. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  218. package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
  219. package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
  220. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  221. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  222. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  223. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  224. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +16 -15
  225. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  226. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +16 -15
  227. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  228. package/dist/domains/request-context/components/request-context-label.cjs.js +4 -3
  229. package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
  230. package/dist/domains/request-context/components/request-context-label.es.js +4 -3
  231. package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
  232. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  233. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  234. package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
  235. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  236. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  237. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  238. package/dist/domains/scores/hooks/use-scorers.cjs.js +1 -1
  239. package/dist/domains/scores/hooks/use-scorers.cjs.js.map +1 -1
  240. package/dist/domains/scores/hooks/use-scorers.es.js +1 -1
  241. package/dist/domains/scores/hooks/use-scorers.es.js.map +1 -1
  242. package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js +1 -1
  243. package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js.map +1 -1
  244. package/dist/domains/scores/hooks/use-trace-span-scores.es.js +1 -1
  245. package/dist/domains/scores/hooks/use-trace-span-scores.es.js.map +1 -1
  246. package/dist/domains/traces/components/feedback-thread.cjs.js +1 -1
  247. package/dist/domains/traces/components/feedback-thread.es.js +1 -1
  248. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  249. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  250. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  251. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  252. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  253. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  254. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  255. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  256. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  257. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  258. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  259. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  260. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  261. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  262. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  263. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  264. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  265. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  266. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  267. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  268. package/dist/domains/traces/components/thread-trace/thread-trace-context.cjs.js.map +1 -1
  269. package/dist/domains/traces/components/thread-trace/thread-trace-context.es.js.map +1 -1
  270. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  271. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  272. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +7 -8
  273. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
  274. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +7 -8
  275. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
  276. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  277. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  278. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +23 -16
  279. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
  280. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +23 -16
  281. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
  282. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.cjs.js.map +1 -1
  283. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.es.js.map +1 -1
  284. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +3 -9
  285. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  286. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +3 -9
  287. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  288. package/dist/domains/traces/components/thread-trace.cjs.js +0 -2
  289. package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
  290. package/dist/domains/traces/components/thread-trace.es.js +0 -2
  291. package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
  292. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +20 -53
  293. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  294. package/dist/domains/traces/components/thread-view-by-trace.es.js +21 -54
  295. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  296. package/dist/domains/traces/components/trace-columns-menu.cjs.js +10 -11
  297. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  298. package/dist/domains/traces/components/trace-columns-menu.es.js +10 -11
  299. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  300. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +5 -9
  301. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  302. package/dist/domains/traces/components/trace-data-panel-view.es.js +6 -10
  303. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  304. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -0
  305. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  306. package/dist/domains/traces/components/trace-data-panel.es.js +1 -0
  307. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  308. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  309. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  310. package/dist/domains/traces/components/trace-span-panel.cjs.js +0 -1
  311. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  312. package/dist/domains/traces/components/trace-span-panel.es.js +0 -1
  313. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  314. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  315. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  316. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -3
  317. package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
  318. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -3
  319. package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
  320. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  321. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  322. package/dist/domains/traces/components/traces-list-view.cjs.js +3 -3
  323. package/dist/domains/traces/components/traces-list-view.es.js +3 -3
  324. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
  325. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
  326. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +2 -0
  327. package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
  328. package/dist/domains/traces/hooks/use-traces-list-source.es.js +2 -0
  329. package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
  330. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  331. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  332. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  333. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  334. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  335. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  336. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  337. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  338. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +1 -1
  339. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
  340. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +7 -14
  341. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -1
  342. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +7 -14
  343. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -1
  344. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +39 -42
  345. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -1
  346. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +40 -43
  347. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -1
  348. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  349. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  350. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  351. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  352. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  353. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  354. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +8 -16
  355. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
  356. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +9 -17
  357. package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
  358. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +1 -1
  359. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
  360. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  361. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  362. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  363. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  364. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  365. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  366. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
  367. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
  368. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
  369. package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
  370. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  371. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  372. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  373. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  374. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  375. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  376. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +8 -21
  377. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -1
  378. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +9 -22
  379. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -1
  380. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  381. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  382. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +3 -3
  383. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +3 -3
  384. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +62 -68
  385. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  386. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +62 -68
  387. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  388. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  389. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  390. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +13 -16
  391. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -1
  392. package/dist/ee/topics/components/topic-trace-summary-list.es.js +14 -17
  393. package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -1
  394. package/dist/field-BtvEQ68O.js +170 -0
  395. package/dist/field-BtvEQ68O.js.map +1 -0
  396. package/dist/field-control-aria-DB6y41tQ.js +26 -0
  397. package/dist/field-control-aria-DB6y41tQ.js.map +1 -0
  398. package/dist/field-control-aria-WzMGs0A4.cjs +31 -0
  399. package/dist/field-control-aria-WzMGs0A4.cjs.map +1 -0
  400. package/dist/{field-block-DtaPqBa3.cjs → field-error-id-4DYu4KZ2.cjs} +24 -4
  401. package/dist/field-error-id-4DYu4KZ2.cjs.map +1 -0
  402. package/dist/{field-block--PeppIRb.js → field-error-id-BSQLcfHo.js} +22 -3
  403. package/dist/field-error-id-BSQLcfHo.js.map +1 -0
  404. package/dist/field-ip9xiOVa.cjs +198 -0
  405. package/dist/field-ip9xiOVa.cjs.map +1 -0
  406. package/dist/{filter-bar-chip-CBlHsz4A.cjs → filter-bar-chip-BsWm7SQr.cjs} +2 -2
  407. package/dist/{filter-bar-chip-CBlHsz4A.cjs.map → filter-bar-chip-BsWm7SQr.cjs.map} +1 -1
  408. package/dist/{filter-bar-chip-DFOtEvpW.js → filter-bar-chip-Dmboyu1t.js} +2 -2
  409. package/dist/{filter-bar-chip-DFOtEvpW.js.map → filter-bar-chip-Dmboyu1t.js.map} +1 -1
  410. package/dist/form-ChOlos7g.cjs +12 -0
  411. package/dist/form-ChOlos7g.cjs.map +1 -0
  412. package/dist/form-uj2xap-j.js +10 -0
  413. package/dist/form-uj2xap-j.js.map +1 -0
  414. package/dist/{input-bd223EJW.cjs → input-D0UPyj6A.cjs} +16 -45
  415. package/dist/input-D0UPyj6A.cjs.map +1 -0
  416. package/dist/{input-CHghVv3k.js → input-D5_B67_r.js} +17 -27
  417. package/dist/input-D5_B67_r.js.map +1 -0
  418. package/dist/{input-group-BRhBfeHC.cjs → input-group-BgCXLSRV.cjs} +77 -96
  419. package/dist/input-group-BgCXLSRV.cjs.map +1 -0
  420. package/dist/{input-group-0G9ZX_cM.js → input-group-wzirc-1k.js} +78 -97
  421. package/dist/input-group-wzirc-1k.js.map +1 -0
  422. package/dist/keyboard/keyboard-dispatcher.cjs.js +2 -0
  423. package/dist/keyboard/keyboard-dispatcher.cjs.js.map +1 -1
  424. package/dist/keyboard/keyboard-dispatcher.es.js +2 -0
  425. package/dist/keyboard/keyboard-dispatcher.es.js.map +1 -1
  426. package/dist/keyboard/use-keydown.cjs.js +7 -1
  427. package/dist/keyboard/use-keydown.cjs.js.map +1 -1
  428. package/dist/keyboard/use-keydown.es.js +7 -1
  429. package/dist/keyboard/use-keydown.es.js.map +1 -1
  430. package/dist/layout/tabbed-container.cjs.js +3 -3
  431. package/dist/layout/tabbed-container.es.js +3 -3
  432. package/dist/lib/form/components/boolean-field.cjs.js +6 -6
  433. package/dist/lib/form/components/boolean-field.cjs.js.map +1 -1
  434. package/dist/lib/form/components/boolean-field.es.js +5 -5
  435. package/dist/lib/form/components/boolean-field.es.js.map +1 -1
  436. package/dist/lib/form/components/custom-array-field.cjs.js +1 -1
  437. package/dist/lib/form/components/custom-array-field.es.js +1 -1
  438. package/dist/lib/form/components/custom-auto-form-field.cjs.js +1 -2
  439. package/dist/lib/form/components/custom-auto-form-field.cjs.js.map +1 -1
  440. package/dist/lib/form/components/custom-auto-form-field.es.js +1 -2
  441. package/dist/lib/form/components/custom-auto-form-field.es.js.map +1 -1
  442. package/dist/lib/form/components/custom-object-field.cjs.js +1 -1
  443. package/dist/lib/form/components/custom-object-field.es.js +1 -1
  444. package/dist/lib/form/components/date-field.cjs.js +6 -3
  445. package/dist/lib/form/components/date-field.cjs.js.map +1 -1
  446. package/dist/lib/form/components/date-field.es.js +6 -3
  447. package/dist/lib/form/components/date-field.es.js.map +1 -1
  448. package/dist/lib/form/components/discriminated-union-field.cjs.js +1 -1
  449. package/dist/lib/form/components/discriminated-union-field.es.js +1 -1
  450. package/dist/lib/form/components/field-wrapper.cjs.js +30 -9
  451. package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -1
  452. package/dist/lib/form/components/field-wrapper.es.js +30 -9
  453. package/dist/lib/form/components/field-wrapper.es.js.map +1 -1
  454. package/dist/lib/form/components/form.cjs.js +4 -4
  455. package/dist/lib/form/components/form.cjs.js.map +1 -1
  456. package/dist/lib/form/components/form.es.js +4 -4
  457. package/dist/lib/form/components/form.es.js.map +1 -1
  458. package/dist/lib/form/components/number-field.cjs.js +3 -4
  459. package/dist/lib/form/components/number-field.cjs.js.map +1 -1
  460. package/dist/lib/form/components/number-field.es.js +3 -4
  461. package/dist/lib/form/components/number-field.es.js.map +1 -1
  462. package/dist/lib/form/components/record-field.cjs.js +13 -2
  463. package/dist/lib/form/components/record-field.cjs.js.map +1 -1
  464. package/dist/lib/form/components/record-field.es.js +13 -2
  465. package/dist/lib/form/components/record-field.es.js.map +1 -1
  466. package/dist/lib/form/components/select-field.cjs.js +4 -19
  467. package/dist/lib/form/components/select-field.cjs.js.map +1 -1
  468. package/dist/lib/form/components/select-field.es.js +4 -19
  469. package/dist/lib/form/components/select-field.es.js.map +1 -1
  470. package/dist/lib/form/components/string-field.cjs.js +2 -4
  471. package/dist/lib/form/components/string-field.cjs.js.map +1 -1
  472. package/dist/lib/form/components/string-field.es.js +2 -4
  473. package/dist/lib/form/components/string-field.es.js.map +1 -1
  474. package/dist/lib/form/components/union-field.cjs.js +1 -1
  475. package/dist/lib/form/components/union-field.es.js +1 -1
  476. package/dist/lib/form/custom-auto-form.cjs.js +1 -1
  477. package/dist/lib/form/custom-auto-form.es.js +1 -1
  478. package/dist/lib/form/dynamic-form.cjs.js +0 -5
  479. package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
  480. package/dist/lib/form/dynamic-form.es.js +0 -5
  481. package/dist/lib/form/dynamic-form.es.js.map +1 -1
  482. package/dist/{list-search-BzAIj0DB.cjs → list-search-CTGQJCh1.cjs} +14 -21
  483. package/dist/list-search-CTGQJCh1.cjs.map +1 -0
  484. package/dist/{list-search-DI1DH7vU.js → list-search-CmOCmTwL.js} +15 -22
  485. package/dist/list-search-CmOCmTwL.js.map +1 -0
  486. package/dist/{logs-data-list-CtHern11.cjs → logs-data-list-B9CAqAHD.cjs} +3 -3
  487. package/dist/{logs-data-list-CtHern11.cjs.map → logs-data-list-B9CAqAHD.cjs.map} +1 -1
  488. package/dist/{logs-data-list-ButZV-2H.js → logs-data-list-DfzdzgXB.js} +3 -3
  489. package/dist/{logs-data-list-ButZV-2H.js.map → logs-data-list-DfzdzgXB.js.map} +1 -1
  490. package/dist/{main-sidebar-link-active-buZAhlHo.js → main-sidebar-B0ivY7lW.js} +118 -6
  491. package/dist/main-sidebar-B0ivY7lW.js.map +1 -0
  492. package/dist/{main-sidebar-link-active-D8VSuJKx.cjs → main-sidebar-BWKVSRoQ.cjs} +117 -4
  493. package/dist/main-sidebar-BWKVSRoQ.cjs.map +1 -0
  494. package/dist/{markdown-renderer-CZV6neya.cjs → markdown-renderer-DPwN7Vtm.cjs} +2 -2
  495. package/dist/{markdown-renderer-CZV6neya.cjs.map → markdown-renderer-DPwN7Vtm.cjs.map} +1 -1
  496. package/dist/{markdown-renderer-Cy7Iwy1c.js → markdown-renderer-zvB6a8uj.js} +2 -2
  497. package/dist/{markdown-renderer-Cy7Iwy1c.js.map → markdown-renderer-zvB6a8uj.js.map} +1 -1
  498. package/dist/new/settings.cjs.js +2 -1
  499. package/dist/new/settings.cjs.js.map +1 -1
  500. package/dist/new/settings.es.js +1 -1
  501. package/dist/new/sidebar.cjs.js +34 -34
  502. package/dist/new/sidebar.cjs.js.map +1 -1
  503. package/dist/new/sidebar.es.js +2 -2
  504. package/dist/{plan-CvTAGIWv.js → plan-BtOryfz5.js} +2 -2
  505. package/dist/{plan-CvTAGIWv.js.map → plan-BtOryfz5.js.map} +1 -1
  506. package/dist/{plan-DsfNN3a0.cjs → plan-D8rM4i4S.cjs} +2 -2
  507. package/dist/{plan-DsfNN3a0.cjs.map → plan-D8rM4i4S.cjs.map} +1 -1
  508. package/dist/primitives/form-element.cjs.js +9 -1
  509. package/dist/primitives/form-element.cjs.js.map +1 -1
  510. package/dist/primitives/form-element.es.js +7 -2
  511. package/dist/primitives/form-element.es.js.map +1 -1
  512. package/dist/primitives/textarea-control.cjs.js +24 -0
  513. package/dist/primitives/textarea-control.cjs.js.map +1 -0
  514. package/dist/primitives/textarea-control.d.ts +2 -0
  515. package/dist/primitives/textarea-control.es.js +20 -0
  516. package/dist/primitives/textarea-control.es.js.map +1 -0
  517. package/dist/{property-filter-applied-C9verwDR.js → property-filter-applied-B_nfBryj.js} +2 -2
  518. package/dist/{property-filter-applied-C9verwDR.js.map → property-filter-applied-B_nfBryj.js.map} +1 -1
  519. package/dist/{property-filter-applied-Bp2z4KBv.cjs → property-filter-applied-CSLLo3VJ.cjs} +2 -2
  520. package/dist/{property-filter-applied-Bp2z4KBv.cjs.map → property-filter-applied-CSLLo3VJ.cjs.map} +1 -1
  521. package/dist/{radio-group-BdEPWGzi.cjs → radio-group-QV7yVrSX.cjs} +13 -2
  522. package/dist/radio-group-QV7yVrSX.cjs.map +1 -0
  523. package/dist/{radio-group-CFZXUXZ5.js → radio-group-bvm7Sqq_.js} +13 -2
  524. package/dist/radio-group-bvm7Sqq_.js.map +1 -0
  525. package/dist/{reasoning-activity-OM1-hbCV.js → reasoning-activity-6VkIbDT4.js} +2 -2
  526. package/dist/{reasoning-activity-OM1-hbCV.js.map → reasoning-activity-6VkIbDT4.js.map} +1 -1
  527. package/dist/{reasoning-activity-BVviIdMe.cjs → reasoning-activity-DaXMgyr3.cjs} +2 -2
  528. package/dist/{reasoning-activity-BVviIdMe.cjs.map → reasoning-activity-DaXMgyr3.cjs.map} +1 -1
  529. package/dist/search-input-BKXiYeed.js +48 -0
  530. package/dist/search-input-BKXiYeed.js.map +1 -0
  531. package/dist/search-input-T0orZ7Jf.cjs +50 -0
  532. package/dist/search-input-T0orZ7Jf.cjs.map +1 -0
  533. package/dist/{section-dBeXxS69.cjs → section-Byml9qxH.cjs} +2 -2
  534. package/dist/{section-dBeXxS69.cjs.map → section-Byml9qxH.cjs.map} +1 -1
  535. package/dist/{section-BfEsNViI.js → section-DTooysg2.js} +2 -2
  536. package/dist/{section-BfEsNViI.js.map → section-DTooysg2.js.map} +1 -1
  537. package/dist/{segmented-control-BxeiypPR.js → segmented-control-ClbeK8DF.js} +4 -1
  538. package/dist/segmented-control-ClbeK8DF.js.map +1 -0
  539. package/dist/{segmented-control--I3IgW21.cjs → segmented-control-DwLkp3TP.cjs} +4 -1
  540. package/dist/segmented-control-DwLkp3TP.cjs.map +1 -0
  541. package/dist/{select-DZeNf-kI.js → select--ArpXYDc.js} +6 -3
  542. package/dist/select--ArpXYDc.js.map +1 -0
  543. package/dist/{select-DBY9LQFQ.cjs → select-DJQYAVcm.cjs} +5 -2
  544. package/dist/select-DJQYAVcm.cjs.map +1 -0
  545. package/dist/{settings-row-C1JZDdz_.js → settings-row-B0jGFpVw.js} +46 -39
  546. package/dist/settings-row-B0jGFpVw.js.map +1 -0
  547. package/dist/{settings-row-C7YKfUgY.cjs → settings-row-Dt4WnnRf.cjs} +47 -39
  548. package/dist/settings-row-Dt4WnnRf.cjs.map +1 -0
  549. package/dist/{side-dialog-DCzCcZs6.js → side-dialog-DZJc85m3.js} +2 -2
  550. package/dist/{side-dialog-DCzCcZs6.js.map → side-dialog-DZJc85m3.js.map} +1 -1
  551. package/dist/{side-dialog-DFnD1498.cjs → side-dialog-lQUx6B_M.cjs} +2 -2
  552. package/dist/{side-dialog-DFnD1498.cjs.map → side-dialog-lQUx6B_M.cjs.map} +1 -1
  553. package/dist/{span-payload-primitives-DL1Kr0cu.js → span-payload-primitives-CGamdu2t.js} +2 -2
  554. package/dist/{span-payload-primitives-DL1Kr0cu.js.map → span-payload-primitives-CGamdu2t.js.map} +1 -1
  555. package/dist/{span-payload-primitives-D0mhsndj.cjs → span-payload-primitives-SkL3U9hR.cjs} +2 -2
  556. package/dist/{span-payload-primitives-D0mhsndj.cjs.map → span-payload-primitives-SkL3U9hR.cjs.map} +1 -1
  557. package/dist/src/domains/feedback/utils/feedback-refetch-interval.d.ts +2 -2
  558. package/dist/src/domains/request-context/components/request-context-label.d.ts +1 -2
  559. package/dist/src/domains/scores/hooks/use-scorers.d.ts +1 -1
  560. package/dist/src/domains/scores/hooks/use-trace-span-scores.d.ts +1 -1
  561. package/dist/src/domains/traces/components/thread-trace/index.d.ts +1 -5
  562. package/dist/src/domains/traces/components/thread-trace/thread-trace-context.d.ts +0 -2
  563. package/dist/src/domains/traces/components/thread-trace/thread-trace-root.d.ts +3 -6
  564. package/dist/src/domains/traces/components/thread-trace/thread-trace-row-context.d.ts +0 -1
  565. package/dist/src/domains/traces/components/thread-view-by-trace.d.ts +7 -6
  566. package/dist/src/domains/traces/components/trace-thread-panel.d.ts +2 -4
  567. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +3 -1
  568. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +3 -4
  569. package/dist/src/ds/components/Combobox/combobox.d.ts +4 -2
  570. package/dist/src/ds/components/Comment/comment-composer.d.ts +2 -2
  571. package/dist/src/ds/components/DateTimePicker/time-picker.d.ts +2 -1
  572. package/dist/src/ds/components/Field/field-control-aria.d.ts +30 -0
  573. package/dist/src/ds/components/Field/field.d.ts +39 -0
  574. package/dist/src/ds/components/Field/field.stories.d.ts +12 -0
  575. package/dist/src/ds/components/Field/index.d.ts +2 -0
  576. package/dist/src/ds/components/Form/form.d.ts +7 -0
  577. package/dist/src/ds/components/Form/form.stories.d.ts +7 -0
  578. package/dist/src/ds/components/Form/index.d.ts +1 -0
  579. package/dist/src/ds/components/FormFieldBlocks/block/field-block.d.ts +1 -0
  580. package/dist/src/ds/components/FormFieldBlocks/block/field-error-id.d.ts +1 -5
  581. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -0
  582. package/dist/src/ds/components/FormFieldBlocks/fields/select-field-block.d.ts +1 -0
  583. package/dist/src/ds/components/FormFieldBlocks/fields/text-field-block.d.ts +1 -0
  584. package/dist/src/ds/components/FormFieldBlocks/fields/textarea-field-block.d.ts +1 -0
  585. package/dist/src/ds/components/FormFieldBlocks/layout/field-blocks-layout.d.ts +1 -0
  586. package/dist/src/ds/components/Input/input.d.ts +3 -10
  587. package/dist/src/ds/components/InputGroup/input-group.d.ts +15 -25
  588. package/dist/src/ds/components/JSONSchemaForm/json-schema-form-field-description.d.ts +6 -3
  589. package/dist/src/ds/components/JSONSchemaForm/json-schema-form-field-name.d.ts +6 -3
  590. package/dist/src/ds/components/JSONSchemaForm/json-schema-form-field-type.d.ts +10 -3
  591. package/dist/src/ds/components/Label/label.d.ts +1 -0
  592. package/dist/src/ds/components/ListSearch/list-search.d.ts +2 -2
  593. package/dist/src/ds/components/SearchInput/index.d.ts +1 -0
  594. package/dist/src/ds/components/SearchInput/search-input.d.ts +12 -0
  595. package/dist/src/ds/components/SearchInput/search-input.stories.d.ts +8 -0
  596. package/dist/src/ds/components/Textarea/textarea.d.ts +3 -10
  597. package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +2 -1
  598. package/dist/src/ds/new/settings/index.d.ts +1 -1
  599. package/dist/src/ds/new/settings/settings-row.d.ts +11 -3
  600. package/dist/src/ds/new/settings/settings-row.stories.d.ts +321 -0
  601. package/dist/src/ds/primitives/form-element.d.ts +6 -1
  602. package/dist/src/ds/primitives/textarea-control.d.ts +3 -0
  603. package/dist/src/lib/form/components/form.d.ts +1 -1
  604. package/dist/src/lib/keyboard/keyboard-dispatcher.d.ts +2 -0
  605. package/dist/src/lib/keyboard/use-keydown.d.ts +6 -0
  606. package/dist/style.css +50 -16
  607. package/dist/{switch-Swt75_Sb.cjs → switch-BlE5ReVZ.cjs} +3 -2
  608. package/dist/switch-BlE5ReVZ.cjs.map +1 -0
  609. package/dist/{switch-88fWFfVz.js → switch-MZ1oHrmp.js} +4 -3
  610. package/dist/switch-MZ1oHrmp.js.map +1 -0
  611. package/dist/{textarea-B6wvS_CQ.js → textarea-CxPNKg2q.js} +14 -22
  612. package/dist/textarea-CxPNKg2q.js.map +1 -0
  613. package/dist/{textarea-gUBUqpol.cjs → textarea-DNV5Gs9A.cjs} +13 -40
  614. package/dist/textarea-DNV5Gs9A.cjs.map +1 -0
  615. package/dist/{time-picker-BElZALzM.js → time-picker-DRSAkFuj.js} +18 -21
  616. package/dist/time-picker-DRSAkFuj.js.map +1 -0
  617. package/dist/{time-picker-_QJdolkZ.cjs → time-picker-KE48KlpH.cjs} +18 -21
  618. package/dist/time-picker-KE48KlpH.cjs.map +1 -0
  619. package/dist/{tool-call-arguments-CQYR65FB.cjs → tool-call-arguments-BemKsB9v.cjs} +2 -2
  620. package/dist/{tool-call-arguments-CQYR65FB.cjs.map → tool-call-arguments-BemKsB9v.cjs.map} +1 -1
  621. package/dist/{tool-call-arguments-B1MghuMZ.js → tool-call-arguments-CtUKj7IB.js} +2 -2
  622. package/dist/{tool-call-arguments-B1MghuMZ.js.map → tool-call-arguments-CtUKj7IB.js.map} +1 -1
  623. package/dist/{tool-card-rxo27sve.cjs → tool-card-D9nDQgpg.cjs} +2 -2
  624. package/dist/{tool-card-rxo27sve.cjs.map → tool-card-D9nDQgpg.cjs.map} +1 -1
  625. package/dist/{tool-card-C_K5PwrK.js → tool-card-tK9zedNb.js} +2 -2
  626. package/dist/{tool-card-C_K5PwrK.js.map → tool-card-tK9zedNb.js.map} +1 -1
  627. package/dist/{traces-data-list-BsAYYJ9t.cjs → traces-data-list-Dd8vMPQK.cjs} +4 -4
  628. package/dist/{traces-data-list-BsAYYJ9t.cjs.map → traces-data-list-Dd8vMPQK.cjs.map} +1 -1
  629. package/dist/{traces-data-list-CnNpGVRN.js → traces-data-list-Fvl8mlih.js} +4 -4
  630. package/dist/{traces-data-list-CnNpGVRN.js.map → traces-data-list-Fvl8mlih.js.map} +1 -1
  631. package/dist/{use-workflow-graph-runtime-CIs2HzoP.cjs → use-workflow-graph-runtime-BNAtEa06.cjs} +2 -2
  632. package/dist/{use-workflow-graph-runtime-CIs2HzoP.cjs.map → use-workflow-graph-runtime-BNAtEa06.cjs.map} +1 -1
  633. package/dist/{use-workflow-graph-runtime-CexS1ECI.js → use-workflow-graph-runtime-JQwLwNBD.js} +2 -2
  634. package/dist/{use-workflow-graph-runtime-CexS1ECI.js.map → use-workflow-graph-runtime-JQwLwNBD.js.map} +1 -1
  635. package/dist/{workflow-code-dialog-content-BM4ZnrUr.js → workflow-code-dialog-content-3AcgitHa.js} +2 -2
  636. package/dist/{workflow-code-dialog-content-BM4ZnrUr.js.map → workflow-code-dialog-content-3AcgitHa.js.map} +1 -1
  637. package/dist/{workflow-code-dialog-content-BFm2IWDl.cjs → workflow-code-dialog-content-DyoN3850.cjs} +2 -2
  638. package/dist/{workflow-code-dialog-content-BFm2IWDl.cjs.map → workflow-code-dialog-content-DyoN3850.cjs.map} +1 -1
  639. package/dist/{workflow-data-edge-view-BpGLV-at.js → workflow-data-edge-view-C4nbA2Fa.js} +2 -2
  640. package/dist/{workflow-data-edge-view-BpGLV-at.js.map → workflow-data-edge-view-C4nbA2Fa.js.map} +1 -1
  641. package/dist/{workflow-data-edge-view-7f8O6pVW.cjs → workflow-data-edge-view-aHAZkZOH.cjs} +2 -2
  642. package/dist/{workflow-data-edge-view-7f8O6pVW.cjs.map → workflow-data-edge-view-aHAZkZOH.cjs.map} +1 -1
  643. package/dist/{workflow-edge-data-button-C6eyWbcG.js → workflow-edge-data-button-2aIkzgev.js} +2 -2
  644. package/dist/{workflow-edge-data-button-C6eyWbcG.js.map → workflow-edge-data-button-2aIkzgev.js.map} +1 -1
  645. package/dist/{workflow-edge-data-button-BOVRo4xO.cjs → workflow-edge-data-button-BFNO-TRL.cjs} +2 -2
  646. package/dist/{workflow-edge-data-button-BOVRo4xO.cjs.map → workflow-edge-data-button-BFNO-TRL.cjs.map} +1 -1
  647. package/package.json +9 -9
  648. package/dist/ask-user-CXu4b7Jw.cjs.map +0 -1
  649. package/dist/ask-user-Dlz2346n.js.map +0 -1
  650. package/dist/checkbox-CI8JtZKS.cjs.map +0 -1
  651. package/dist/checkbox-CQedzgsi.js.map +0 -1
  652. package/dist/code-block-BzoMjjtf.cjs.map +0 -1
  653. package/dist/code-block-DY5KsTGY.js.map +0 -1
  654. package/dist/code-editor-28chVxHw.js.map +0 -1
  655. package/dist/code-editor-B_wPmKPf.cjs.map +0 -1
  656. package/dist/combobox-B15qTrWO.js.map +0 -1
  657. package/dist/combobox-DJ0c4o4S.cjs.map +0 -1
  658. package/dist/combobox-styles-C2MEEpaG.js.map +0 -1
  659. package/dist/combobox-styles-DLflBH-G.cjs.map +0 -1
  660. package/dist/custom-auto-form-field-Brfb-0Te.cjs.map +0 -1
  661. package/dist/custom-auto-form-field-yEMBGXu-.js.map +0 -1
  662. package/dist/data-code-section-DWBfkrmO.cjs.map +0 -1
  663. package/dist/data-code-section-It6myyvZ.js.map +0 -1
  664. package/dist/date-time-range-picker-BDylIIzt.js.map +0 -1
  665. package/dist/date-time-range-picker-UheN070q.cjs.map +0 -1
  666. package/dist/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.cjs.js +0 -12
  667. package/dist/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.cjs.js.map +0 -1
  668. package/dist/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.d.ts +0 -2
  669. package/dist/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.es.js +0 -8
  670. package/dist/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.es.js.map +0 -1
  671. package/dist/field-block--PeppIRb.js.map +0 -1
  672. package/dist/field-block-DtaPqBa3.cjs.map +0 -1
  673. package/dist/field-block-error-msg-CkhEN6nU.cjs +0 -26
  674. package/dist/field-block-error-msg-CkhEN6nU.cjs.map +0 -1
  675. package/dist/field-block-error-msg-LXwhKzIq.js +0 -24
  676. package/dist/field-block-error-msg-LXwhKzIq.js.map +0 -1
  677. package/dist/field-error-id-B3Z2Zu5y.cjs +0 -6
  678. package/dist/field-error-id-B3Z2Zu5y.cjs.map +0 -1
  679. package/dist/field-error-id-D3yg1nBh.js +0 -4
  680. package/dist/field-error-id-D3yg1nBh.js.map +0 -1
  681. package/dist/input-CHghVv3k.js.map +0 -1
  682. package/dist/input-bd223EJW.cjs.map +0 -1
  683. package/dist/input-group-0G9ZX_cM.js.map +0 -1
  684. package/dist/input-group-BRhBfeHC.cjs.map +0 -1
  685. package/dist/label-DfAhywj_.cjs +0 -39
  686. package/dist/label-DfAhywj_.cjs.map +0 -1
  687. package/dist/label-Dxsz0dFs.js +0 -18
  688. package/dist/label-Dxsz0dFs.js.map +0 -1
  689. package/dist/list-search-BzAIj0DB.cjs.map +0 -1
  690. package/dist/list-search-DI1DH7vU.js.map +0 -1
  691. package/dist/main-sidebar-link-active-D8VSuJKx.cjs.map +0 -1
  692. package/dist/main-sidebar-link-active-buZAhlHo.js.map +0 -1
  693. package/dist/radio-group-BdEPWGzi.cjs.map +0 -1
  694. package/dist/radio-group-CFZXUXZ5.js.map +0 -1
  695. package/dist/search-field-block-BPJh5yuW.js +0 -125
  696. package/dist/search-field-block-BPJh5yuW.js.map +0 -1
  697. package/dist/search-field-block-DRa-ZNQj.cjs +0 -127
  698. package/dist/search-field-block-DRa-ZNQj.cjs.map +0 -1
  699. package/dist/segmented-control--I3IgW21.cjs.map +0 -1
  700. package/dist/segmented-control-BxeiypPR.js.map +0 -1
  701. package/dist/select-DBY9LQFQ.cjs.map +0 -1
  702. package/dist/select-DZeNf-kI.js.map +0 -1
  703. package/dist/select-field-block-C_x9wNpU.js +0 -59
  704. package/dist/select-field-block-C_x9wNpU.js.map +0 -1
  705. package/dist/select-field-block-D8AMzoQT.cjs +0 -61
  706. package/dist/select-field-block-D8AMzoQT.cjs.map +0 -1
  707. package/dist/settings-row-C1JZDdz_.js.map +0 -1
  708. package/dist/settings-row-C7YKfUgY.cjs.map +0 -1
  709. package/dist/src/domains/traces/components/thread-trace/thread-trace-load-more-sentinel.d.ts +0 -8
  710. package/dist/src/ds/components/FormFieldBlocks/block/field-block.stories.d.ts +0 -8
  711. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.stories.d.ts +0 -15
  712. package/dist/src/ds/components/FormFieldBlocks/fields/select-field-block.stories.d.ts +0 -15
  713. package/dist/src/ds/components/FormFieldBlocks/fields/text-field-block.stories.d.ts +0 -16
  714. package/dist/src/ds/components/FormFieldBlocks/layout/field-blocks-layout.stories.d.ts +0 -6
  715. package/dist/src/ds/components/Label/label.stories.d.ts +0 -8
  716. package/dist/switch-88fWFfVz.js.map +0 -1
  717. package/dist/switch-Swt75_Sb.cjs.map +0 -1
  718. package/dist/text-field-block-DUntfMPu.cjs +0 -58
  719. package/dist/text-field-block-DUntfMPu.cjs.map +0 -1
  720. package/dist/text-field-block-DZaGiu5D.js +0 -56
  721. package/dist/text-field-block-DZaGiu5D.js.map +0 -1
  722. package/dist/textarea-B6wvS_CQ.js.map +0 -1
  723. package/dist/textarea-field-block-BscOSlvI.js +0 -52
  724. package/dist/textarea-field-block-BscOSlvI.js.map +0 -1
  725. package/dist/textarea-field-block-CKAhmLrz.cjs +0 -54
  726. package/dist/textarea-field-block-CKAhmLrz.cjs.map +0 -1
  727. package/dist/textarea-gUBUqpol.cjs.map +0 -1
  728. package/dist/time-picker-BElZALzM.js.map +0 -1
  729. package/dist/time-picker-_QJdolkZ.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"side-dialog-DFnD1498.cjs","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["draculaInit","t","EditorView","HighlightStyle","syntaxHighlighting","useTheme","useMemo","useState","Section","jsxs","ButtonsGroup","jsx","CopyButton","Button","AlignLeftIcon","AlignJustifyIcon","raisedSurfaceStyle","ReactCodeMirror","json","DrawerInteractive","cn","ArrowUpIcon","ArrowDownIcon","React","Drawer","DrawerPortal","DrawerBackdrop","DrawerViewport","DrawerPopup","DrawerTitle","DrawerDescription","DrawerClose","transitions","ChevronsRightIcon","PortalContainerProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,SAAS,wBAAA,GAAsC;AAC7C,EAAA,OAAOA,kCAAA,CAAY;AAAA,IACjB,QAAA,EAAU;AAAA,MACR,UAAA,EAAY,kBAAA;AAAA,MACZ,QAAA,EAAU,qBAAA;AAAA,MACV,aAAA,EAAe,aAAA;AAAA,MACf,gBAAA,EAAkB,aAAA;AAAA,MAClB,gBAAA,EAAkB,yBAAA;AAAA,MAClB,UAAA,EAAY;AAAA,KACd;AAAA,IACA,MAAA,EAAQ,CAAC,EAAE,GAAA,EAAK,CAACC,eAAE,SAAA,EAAWA,cAAA,CAAE,YAAY,CAAA,EAAG;AAAA,GAChD,CAAA;AACH;AAGA,SAAS,yBAAA,GAAuC;AAC9C,EAAA,MAAM,WAAA,GAAcC,gBAAW,KAAA,CAAM;AAAA,IACnC,GAAA,EAAK;AAAA,MACH,eAAA,EAAiB,aAAA;AAAA,MACjB,KAAA,EAAO,mBAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,0BAAA,EAA4B;AAAA,MAC1B,UAAA,EAAY;AAAA,KACd;AAAA,IACA,aAAA,EAAe;AAAA,MACb,eAAA,EAAiB,aAAA;AAAA,MACjB,KAAA,EAAO,oBAAA;AAAA,MACP,WAAA,EAAa;AAAA,KACf;AAAA,IACA,aAAA,EAAe;AAAA,MACb,KAAA,EAAO,mBAAA;AAAA,MACP,UAAA,EAAY;AAAA,KACd;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,eAAA,EAAiB;AAAA,KACnB;AAAA,IACA,sBAAA,EAAwB;AAAA,MACtB,eAAA,EAAiB;AAAA,KACnB;AAAA,IACA,4BAAA,EAA8B;AAAA,MAC5B,eAAA,EAAiB;AAAA;AACnB,GACD,CAAA;AAED,EAAA,MAAM,cAAA,GAAiBC,wBAAe,MAAA,CAAO;AAAA,IAC3C,EAAE,KAAK,CAACF,cAAA,CAAE,SAASA,cAAA,CAAE,OAAO,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IAC3D,EAAE,GAAA,EAAK,CAACA,cAAA,CAAE,MAAA,EAAQA,cAAA,CAAE,IAAA,EAAMA,cAAA,CAAE,MAAM,CAAA,EAAG,KAAA,EAAO,sBAAA,EAAuB;AAAA,IACnE,EAAE,GAAA,EAAK,CAACA,cAAA,CAAE,MAAMA,cAAA,CAAE,IAAA,EAAMA,cAAA,CAAE,OAAA,CAAQA,cAAA,CAAE,YAAY,CAAC,CAAA,EAAG,OAAO,uBAAA,EAAwB;AAAA,IACnF,EAAE,GAAA,EAAK,CAACA,cAAA,CAAE,OAAA,EAASA,cAAA,CAAE,QAAA,EAAUA,cAAA,CAAE,OAAO,CAAA,EAAG,KAAA,EAAO,uBAAA,EAAwB;AAAA,IAC1E,EAAE,GAAA,EAAK,CAACA,cAAA,CAAE,QAAA,CAASA,cAAA,CAAE,YAAY,CAAA,EAAGA,cAAA,CAAE,YAAY,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IACjF;AAAA,MACE,GAAA,EAAK,CAACA,cAAA,CAAE,UAAA,CAAWA,eAAE,YAAY,CAAA,EAAGA,cAAA,CAAE,QAAA,CAASA,eAAE,YAAY,CAAA,EAAGA,cAAA,CAAE,SAAA,EAAWA,eAAE,aAAa,CAAA;AAAA,MAC5F,KAAA,EAAO;AAAA,KACT;AAAA,IACA,EAAE,KAAK,CAACA,cAAA,CAAE,cAAcA,cAAA,CAAE,MAAM,CAAA,EAAG,KAAA,EAAO,oBAAA,EAAqB;AAAA,IAC/D,EAAE,KAAK,CAACA,cAAA,CAAE,MAAMA,cAAA,CAAE,KAAK,CAAA,EAAG,KAAA,EAAO,sBAAA;AAAuB,GACzD,CAAA;AAED,EAAA,OAAO,CAAC,WAAA,EAAaG,2BAAA,CAAmB,cAAc,CAAC,CAAA;AACzD;AAEA,MAAM,qBAAqB,MAAiB;AAC1C,EAAA,MAAM,MAAA,GAASC,sBAAA,EAAS,CAAE,aAAA,KAAkB,MAAA;AAC5C,EAAA,OAAOC,aAAA,CAAQ,MAAO,MAAA,GAAS,wBAAA,KAA6B,yBAAA,EAA0B,EAAI,CAAC,MAAM,CAAC,CAAA;AACpG,CAAA;AASO,SAAS,qBAAA,CAAsB,EAAE,OAAA,GAAU,EAAA,EAAI,OAAO,IAAA,EAAM,UAAA,GAAa,OAAM,EAA+B;AACnH,EAAA,MAAM,QAAQ,kBAAA,EAAmB;AACjC,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIC,eAAS,KAAK,CAAA;AACpE,EAAA,MAAM,gBAAA,GAAmBD,cAAQ,MAAM;AACrC,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AACjC,MAAA,OAAO,oBAAA,CAAqB,UAAU,EAAE,CAAA;AAAA,IAC1C,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,eAAe,mBAAA,GAAsB,OAAA,EAAS,OAAA,CAAQ,MAAA,EAAQ,IAAI,CAAA,GAAI,OAAA;AAE5E,EAAA,uCACGE,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,eAAA,CAACD,eAAA,CAAQ,QAAR,EACC,QAAA,EAAA;AAAA,sBAAAC,eAAA,CAACD,eAAA,CAAQ,SAAR,EACE,QAAA,EAAA;AAAA,QAAA,IAAA;AAAA,QACA;AAAA,OAAA,EACH,CAAA;AAAA,sBACAC,eAAA,CAACC,yBAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EACjB,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAACC,qBAAA,EAAA,EAAW,OAAA,EAAS,OAAA,IAAW,YAAA,EAAc,CAAA;AAAA,QAC7C,gBAAA,oBACCD,cAAA;AAAA,UAACE,aAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAY,sBAAsB,uBAAA,GAA0B,qBAAA;AAAA,YAC5D,OAAA,EAAS,MAAM,sBAAA,CAAuB,CAAC,mBAAmB,CAAA;AAAA,YAEzD,QAAA,EAAA,mBAAA,mBAAsBF,cAAA,CAACG,yBAAA,EAAA,EAAc,CAAA,kCAAMC,4BAAA,EAAA,EAAiB;AAAA;AAAA;AAC/D,OAAA,EAEJ;AAAA,KAAA,EACF,CAAA;AAAA,IACC,OAAA,oBACCJ,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,GAAGK,2CAAkB,CAAA,sGAAA,CAAA;AAAA,QAE/B,QAAA,EAAA,UAAA,kCACE,KAAA,EAAA,EAAI,SAAA,EAAU,kDACb,QAAA,kBAAAL,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,WAAA,EAAa,QAAA,EAAA,OAAA,EAAQ,CAAA,EACtC,oBAEAA,cAAA,CAACM,UAAA,EAAA,EAAgB,UAAA,EAAY,CAACC,aAAA,EAAK,EAAGhB,gBAAW,YAAY,CAAA,EAAG,KAAA,EAAc,KAAA,EAAO,YAAA,EAAc;AAAA;AAAA;AAEvG,GAAA,EAEJ,CAAA;AAEJ;AAEA,SAAS,qBAAqB,GAAA,EAAuB;AACnD,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,MAAM,GAAA,GAAM,GAAA,CAAI,OAAA,CAAQ,IAAI,CAAA;AAC5B,IAAA,OAAO,GAAA,KAAQ,EAAA,IAAM,GAAA,KAAQ,GAAA,CAAI,MAAA,GAAS,CAAA;AAAA,EAC5C,CAAA,MAAA,IAAW,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,EAAG;AAC7B,IAAA,OAAO,GAAA,CAAI,IAAA,CAAK,CAAA,IAAA,KAAQ,oBAAA,CAAqB,IAAI,CAAC,CAAA;AAAA,EACpD,CAAA,MAAA,IAAW,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AACzC,IAAA,OAAO,MAAA,CAAO,OAAO,GAAG,CAAA,CAAE,KAAK,CAAA,KAAA,KAAS,oBAAA,CAAqB,KAAK,CAAC,CAAA;AAAA,EACrE;AACA,EAAA,OAAO,KAAA;AACT;;AC/IO,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA2B;AACjF,EAAA,uBACES,cAAA;AAAA,IAACQ,wBAAA;AAAA,IAAA;AAAA,MACC,MAAA,iCACG,KAAA,EAAA,EAAI,SAAA,EAAWC,YAAG,0DAAA,EAA4D,SAAS,GAAI,QAAA,EAAS;AAAA;AAAA,GAEzG;AAEJ;;ACTO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAU,SAAA,EAAU,EAA0B;AAC/E,EAAA,sCAAQ,KAAA,EAAA,EAAI,SAAA,EAAWA,YAAG,wCAAA,EAA0C,SAAS,GAAI,QAAA,EAAS,CAAA;AAC5F;;ACDO,SAAS,kBAAkB,EAAE,QAAA,EAAU,SAAA,EAAW,EAAA,GAAK,MAAK,EAA2B;AAC5F,EAAA,MAAM,UAAA,GAAa,EAAA;AAEnB,EAAA,uBACET,cAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWS,WAAA;AAAA,QACT,wBAAA;AAAA,QACA,EAAA,KAAO,OAAO,8BAAA,GAAiC,iCAAA;AAAA,QAC/C,0EAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACbO,SAAS,aAAA,CAAc,EAAE,MAAA,EAAQ,UAAA,EAAY,WAAU,EAAuB;AACnF,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,MAAA,IAAS;AAAA,EACX,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAA,UAAA,IAAa;AAAA,EACf,CAAA;AAEA,EAAA,uBACET,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWS,WAAA,CAAG,2BAA2B,oDAAA,EAAsD,SAAS,CAAA,EACzG,QAAA,EAAA,CAAA,MAAA,IAAU,+BACVX,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWW,WAAA,CAAG,2BAA2B,CAAA,EAC5C,QAAA,EAAA;AAAA,oBAAAT,cAAA,CAACE,aAAA,EAAA,EAAO,OAAA,EAAS,gBAAA,EAAkB,QAAA,EAAU,CAAC,YAAY,IAAA,kBAAMF,cAAA,CAACU,uBAAA,EAAA,EAAY,CAAA,EAAI,QAAA,EAAA,UAAA,EAEjF,CAAA;AAAA,oBACAV,cAAA,CAACE,aAAA,EAAA,EAAO,OAAA,EAAS,YAAA,EAAc,QAAA,EAAU,CAAC,MAAA,EAAQ,IAAA,kBAAMF,cAAA,CAACW,yBAAA,EAAA,EAAc,CAAA,EAAI,QAAA,EAAA,MAAA,EAE3E;AAAA,GAAA,EACF,CAAA,EAEJ,CAAA;AAEJ;;ACLO,SAAS,cAAA,CAAe;AAAA,EAC7B,WAAA;AAAA,EACA,iBAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,KAAA,GAAQ,CAAA;AAAA,EACR;AACF,CAAA,EAAwB;AACtB,EAAA,MAAM,iBAAiB,OAAA,KAAY,cAAA;AASnC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,gBAAA,CAAM,SAAgC,IAAI,CAAA;AAE9E,EAAA,uBACEZ,cAAA;AAAA,IAACa,aAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,IAAA,EAAM,MAAA;AAAA,MACN,cAAc,CAAA,IAAA,KAAQ;AACpB,QAAA,IAAI,CAAC,MAAM,OAAA,IAAU;AAAA,MACvB,CAAA;AAAA,MAEA,0CAACC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,QAAA,CAAC,cAAA,oBAAkBd,cAAA,CAACe,qBAAA,EAAA,EAAe,SAAA,EAAU,kBAAA,EAAmB,CAAA;AAAA,wBACjEf,cAAA,CAACgB,qBAAA,EAAA,EAAe,SAAA,EAAW,cAAA,GAAiB,wBAAwB,MAAA,EAClE,QAAA,kBAAAlB,eAAA;AAAA,UAACmB,kBAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAWR,WAAA;AAAA,cACT,4GAAA;AAAA,cACA;AAAA,gBACE,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,sCAAsC,KAAA,KAAU,CAAA;AAAA,gBAChD,mEAAA,EAAqE;AAAA,eACvE;AAAA,cACA;AAAA,aACF;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAAT,cAAA,CAACkB,kBAAA,EAAA,EAAY,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,WAAA,EAAY,CAAA;AAAA,8BAC9ClB,cAAA,CAACmB,wBAAA,EAAA,EAAkB,SAAA,EAAU,SAAA,EAAW,QAAA,EAAA,iBAAA,EAAkB,CAAA;AAAA,cAEzD,CAAC,cAAA,oBACAnB,cAAA;AAAA,gBAACoB,kBAAA;AAAA,gBAAA;AAAA,kBACC,MAAA,kBACEpB,cAAA;AAAA,oBAAC,QAAA;AAAA,oBAAA;AAAA,sBACC,IAAA,EAAK,QAAA;AAAA,sBACL,SAAA,EAAWS,WAAA;AAAA,wBACT,2KAAA;AAAA,wBACAY,kCAAA,CAAY,GAAA;AAAA,wBACZ;AAAA,uBACF;AAAA,sBACA,YAAA,EAAW,OAAA;AAAA,sBAEX,yCAACC,6BAAA,EAAA,EAAkB;AAAA;AAAA;AACrB;AAAA,eAEJ;AAAA,8BAIFtB,cAAA,CAACQ,4BAAkB,MAAA,kBAAQR,cAAA,CAAC,SAAI,GAAA,EAAK,aAAA,EAAe,SAAA,EAAU,UAAA,EAAW,CAAA,EAAI,CAAA;AAAA,8BAE7EA,cAAA,CAACuB,kDAAA,EAAA,EAAwB,SAAA,EAAW,UAAA,EAClC,QAAA,kBAAAvB,cAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,SAAA,EAAWS,YAAG,aAAA,EAAe;AAAA,oBAC3B,wBAAwB,CAAC;AAAA,mBAC1B,CAAA;AAAA,kBAEA;AAAA;AAAA,eACH,EACF;AAAA;AAAA;AAAA,SACF,EACF;AAAA,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;;ACvGO,SAAS,aAAA,CAAc,EAAE,QAAA,EAAU,SAAA,EAAU,EAAuB;AACzE,EAAA,uBACET,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWS,WAAA;AAAA,QACT,CAAA,6EAAA,CAAA;AAAA,QACA,6HAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ;;ACTO,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,cAAA,EAAgB;AAAA,EACtD,GAAA,EAAK,aAAA;AAAA,EACL,MAAA,EAAQ,gBAAA;AAAA,EACR,OAAA,EAAS,iBAAA;AAAA,EACT,OAAA,EAAS,iBAAA;AAAA,EACT,WAAA,EAAa,qBAAA;AAAA,EACb,GAAA,EAAK;AACP,CAAC;;;;"}
1
+ {"version":3,"file":"side-dialog-lQUx6B_M.cjs","sources":["../src/ds/components/SideDialog/side-dialog-code-section.tsx","../src/ds/components/SideDialog/side-dialog-content.tsx","../src/ds/components/SideDialog/side-dialog-header.tsx","../src/ds/components/SideDialog/side-dialog-heading.tsx","../src/ds/components/SideDialog/side-dialog-nav.tsx","../src/ds/components/SideDialog/side-dialog-root.tsx","../src/ds/components/SideDialog/side-dialog-top.tsx","../src/ds/components/SideDialog/side-dialog.tsx"],"sourcesContent":["import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport React, { useState, useMemo } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Section } from '@/ds/components/Section';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\n\n/** Dark theme — matches original side-dialog draculaInit settings exactly. */\nfunction buildSideDialogDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-body-sm)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: 'var(--muted-foreground)',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\n/** Light theme for side-dialog code sections. */\nfunction buildSideDialogLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-body-sm)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--syntax-string)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--syntax-literal)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--syntax-keyword)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--syntax-name)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--syntax-link)',\n },\n { tag: [t.variableName, t.number], color: 'var(--syntax-name)' },\n { tag: [t.name, t.quote], color: 'var(--syntax-string)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildSideDialogDarkTheme() : buildSideDialogLightTheme()), [isDark]);\n};\n\nexport type SideDialogCodeSectionProps = {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n};\n\nexport function SideDialogCodeSection({ codeStr = '', title, icon, simplified = false }: SideDialogCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n\n return (\n <Section>\n <Section.Header>\n <Section.Heading>\n {icon}\n {title}\n </Section.Heading>\n <ButtonsGroup size=\"sm\">\n <CopyButton content={codeStr || 'No content'} />\n {hasMultilineText && (\n <Button\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(!showAsMultilineText)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </Section.Header>\n {codeStr && (\n <div\n className={`${raisedSurfaceStyle} max-h-[30vh] overflow-hidden overflow-y-auto rounded-xl p-3 text-body break-all text-muted-foreground`}\n >\n {simplified ? (\n <div className=\"px-2 font-mono break-all text-muted-foreground\">\n <pre className=\"text-wrap\">{codeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror extensions={[json(), EditorView.lineWrapping]} theme={theme} value={finalCodeStr} />\n )}\n </div>\n )}\n </Section>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import { DrawerInteractive } from '@/ds/components/Drawer';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogContentProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogContent({ children, className }: SideDialogContentProps) {\n return (\n <DrawerInteractive\n render={\n <div className={cn('grid content-start gap-4 overflow-y-scroll p-4 pb-5 pl-5', className)}>{children}</div>\n }\n />\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeaderProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogHeader({ children, className }: SideDialogHeaderProps) {\n return <div className={cn('flex items-center justify-between pb-3', className)}>{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogHeadingProps = {\n children?: React.ReactNode;\n className?: string;\n as?: 'h1' | 'h2';\n};\n\nexport function SideDialogHeading({ children, className, as = 'h1' }: SideDialogHeadingProps) {\n const HeadingTag = as;\n\n return (\n <HeadingTag\n className={cn(\n 'flex items-start gap-2',\n as === 'h1' ? 'text-heading text-foreground' : 'text-subheading text-foreground',\n '[&>svg]:mt-0.5 [&>svg]:size-[1.25em] [&>svg]:shrink-0 [&>svg]:opacity-70',\n className,\n )}\n >\n {children}\n </HeadingTag>\n );\n}\n","import { ArrowDownIcon, ArrowUpIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogNavProps = {\n onNext?: (() => void) | null;\n onPrevious?: (() => void) | null;\n className?: string;\n};\n\nexport function SideDialogNav({ onNext, onPrevious, className }: SideDialogNavProps) {\n const handleOnNext = () => {\n onNext?.();\n };\n\n const handleOnPrevious = () => {\n onPrevious?.();\n };\n\n return (\n <div className={cn('flex items-center gap-3', '[&_svg]:size-[1.1em] [&_svg]:text-muted-foreground', className)}>\n {(onNext || onPrevious) && (\n <div className={cn('flex items-baseline gap-3')}>\n <Button onClick={handleOnPrevious} disabled={!onPrevious} icon={<ArrowUpIcon />}>\n Previous\n </Button>\n <Button onClick={handleOnNext} disabled={!onNext} icon={<ArrowDownIcon />}>\n Next\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { ChevronsRightIcon } from 'lucide-react';\nimport * as React from 'react';\nimport {\n Drawer,\n DrawerBackdrop,\n DrawerClose,\n DrawerDescription,\n DrawerInteractive,\n DrawerPopup,\n DrawerPortal,\n DrawerTitle,\n DrawerViewport,\n} from '@/ds/components/Drawer';\nimport { PortalContainerProvider } from '@/ds/primitives/portal-container';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type SideDialogRootProps = {\n variant?: 'default' | 'confirmation';\n dialogTitle: string;\n dialogDescription: string;\n isOpen: boolean;\n onClose?: () => void;\n children?: React.ReactNode;\n className?: string;\n level?: 1 | 2 | 3;\n};\n\nexport function SideDialogRoot({\n dialogTitle,\n dialogDescription,\n isOpen,\n onClose,\n children,\n variant = 'default',\n level = 1,\n className,\n}: SideDialogRootProps) {\n const isConfirmation = variant === 'confirmation';\n\n // Mount point for nested popups (Select, Popover, …). It sits *inside* Base\n // UI's modal `FloatingFocusManager` region (so a `document.body` portal can't\n // leave them unclickable) AND is a `DrawerInteractive` (`data-drawer-content`)\n // node, which Base UI's Drawer excludes from swipe-to-dismiss. Without that\n // exclusion, a `pointerdown` on a dropdown option starts a drawer swipe and\n // captures the pointer, so the option never receives `pointerup` and the\n // click never commits. See `portal-container.tsx`.\n const [portalHost, setPortalHost] = React.useState<HTMLDivElement | null>(null);\n\n return (\n <Drawer\n side=\"right\"\n open={isOpen}\n onOpenChange={open => {\n if (!open) onClose?.();\n }}\n >\n <DrawerPortal>\n {!isConfirmation && <DrawerBackdrop className=\"backdrop-blur-sm\" />}\n <DrawerViewport className={isConfirmation ? 'pointer-events-none' : undefined}>\n <DrawerPopup\n className={cn(\n 'max-w-none overflow-visible rounded-none border-y-0 border-r-0 border-l border-border-strong bg-background',\n {\n 'w-[75vw] 2xl:w-[65vw] 4xl:w-[55vw]': level === 1,\n 'w-[70vw] 2xl:w-[59vw] 4xl:w-[48vw]': level === 2,\n 'w-[65vw] 2xl:w-[53vw] 4xl:w-[41vw]': level === 3,\n 'pointer-events-auto bg-background/70 shadow-none backdrop-blur-sm': isConfirmation,\n },\n className,\n )}\n >\n <DrawerTitle className=\"sr-only\">{dialogTitle}</DrawerTitle>\n <DrawerDescription className=\"sr-only\">{dialogDescription}</DrawerDescription>\n\n {!isConfirmation && (\n <DrawerClose\n render={\n <button\n type=\"button\"\n className={cn(\n 'absolute top-0 -left-14 flex size-14 appearance-none items-center justify-center rounded-bl-lg border-b border-l border-border-strong bg-background text-muted-foreground',\n transitions.all,\n 'hover:bg-fill-subtle hover:text-foreground',\n )}\n aria-label=\"Close\"\n >\n <ChevronsRightIcon />\n </button>\n }\n />\n )}\n\n {/* Swipe-exempt, out-of-flow mount point for nested popups. */}\n <DrawerInteractive render={<div ref={setPortalHost} className=\"absolute\" />} />\n\n <PortalContainerProvider container={portalHost}>\n <div\n className={cn('grid h-full', {\n 'grid-rows-[auto_1fr]': !isConfirmation,\n })}\n >\n {children}\n </div>\n </PortalContainerProvider>\n </DrawerPopup>\n </DrawerViewport>\n </DrawerPortal>\n </Drawer>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport type SideDialogTopProps = {\n children?: React.ReactNode;\n className?: string;\n};\n\nexport function SideDialogTop({ children, className }: SideDialogTopProps) {\n return (\n <div\n className={cn(\n `relative flex h-11 items-center gap-3 pl-4 text-caption text-muted-foreground`,\n '[&:after]:absolute [&:after]:inset-x-6 [&:after]:bottom-0 [&:after]:border-b [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n >\n {children}\n </div>\n );\n}\n","import { SideDialogCodeSection } from './side-dialog-code-section';\nimport { SideDialogContent } from './side-dialog-content';\nimport { SideDialogHeader } from './side-dialog-header';\nimport { SideDialogHeading } from './side-dialog-heading';\nimport { SideDialogNav } from './side-dialog-nav';\nimport { SideDialogRoot } from './side-dialog-root';\nimport { SideDialogTop } from './side-dialog-top';\n\nexport { type SideDialogRootProps } from './side-dialog-root';\n\nexport const SideDialog = Object.assign(SideDialogRoot, {\n Top: SideDialogTop,\n Header: SideDialogHeader,\n Heading: SideDialogHeading,\n Content: SideDialogContent,\n CodeSection: SideDialogCodeSection,\n Nav: SideDialogNav,\n});\n"],"names":["draculaInit","t","EditorView","HighlightStyle","syntaxHighlighting","useTheme","useMemo","useState","Section","jsxs","ButtonsGroup","jsx","CopyButton","Button","AlignLeftIcon","AlignJustifyIcon","raisedSurfaceStyle","ReactCodeMirror","json","DrawerInteractive","cn","ArrowUpIcon","ArrowDownIcon","React","Drawer","DrawerPortal","DrawerBackdrop","DrawerViewport","DrawerPopup","DrawerTitle","DrawerDescription","DrawerClose","transitions","ChevronsRightIcon","PortalContainerProvider"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { ChevronRightIcon } from 'lucide-react';
3
3
  import { SpanPayloadJson } from './domains/traces/components/span-payload/span-payload-json.es.js';
4
4
  import { C as Collapsible, b as CollapsibleTrigger, a as CollapsibleContent } from './collapsible-BNUn4644.js';
5
- import { M as MarkdownRenderer } from './markdown-renderer-Cy7Iwy1c.js';
5
+ import { M as MarkdownRenderer } from './markdown-renderer-zvB6a8uj.js';
6
6
  import { BadgeWrapper } from './domains/chat/components/badge-wrapper.es.js';
7
7
  import { e as ActivityHeadline } from './activity-BoXbE4Kz.js';
8
8
  import { p as presentTool } from './tool-presentation-BXAo24Ir.js';
@@ -67,4 +67,4 @@ function SpanPayloadToolCalls({ toolCalls }) {
67
67
  }
68
68
 
69
69
  export { SpanPayloadField as S, SpanPayloadMarkdown as a, SpanPayloadToolCalls as b, SpanPayloadCollapsible as c, SpanPayloadLabel as d, SpanPayloadTool as e };
70
- //# sourceMappingURL=span-payload-primitives-DL1Kr0cu.js.map
70
+ //# sourceMappingURL=span-payload-primitives-CGamdu2t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-DL1Kr0cu.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 { ChevronRightIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return <div className=\"text-meta tracking-widest text-placeholder uppercase\">{children}</div>;\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-body 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 tracking-widest text-placeholder uppercase [&>svg]:size-3\">\n <ChevronRightIcon />\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":";;;;;;;;;AAMA,MAAM,QAAA,GAAW,CAAC,KAAA,KAChB,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAE9D,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,GAAY,MAAK,EAA4C;AACpG,EAAA,IAAI,CAAC,QAAA,CAAS,KAAK,GAAG,uBAAO,GAAA,CAAC,mBAAgB,KAAA,EAAc,CAAA;AAC5D,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,KAAS,iBAAA,GAAoB,MAAM,cAAA,GAAiB,KAAA;AACvE,EAAA,IAAI,CAAC,QAAA,CAAS,IAAI,CAAA,IAAK,OAAO,KAAK,QAAA,KAAa,QAAA,IAAY,CAAC,IAAA,CAAK,QAAA,EAAU;AAC1E,IAAA,uBAAO,GAAA,CAAC,mBAAgB,KAAA,EAAc,CAAA;AAAA,EACxC;AACA,EAAA,MAAM,KAAA,GAAQ,MAAA,IAAU,IAAA,GAAO,IAAA,CAAK,OAAO,IAAA,CAAK,KAAA;AAChD,EAAA,MAAM,MAAA,GAAS,QAAA,IAAY,IAAA,GAAO,IAAA,CAAK,SAAS,IAAA,CAAK,MAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,OAAA,KAAY,IAAA,IAAQ,KAAK,KAAA,KAAU,cAAA;AACtD,EAAA,MAAM,YAAY,OAAO,IAAA,CAAK,SAAA,KAAc,QAAA,GAAW,KAAK,SAAA,GAAY,MAAA;AACxE,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,aAAY,GAAI,WAAA,CAAY,IAAA,CAAK,QAAA,EAAU,KAAK,CAAA;AACvF,EAAA,MAAM,OAAA,GAAU,KAAA,KAAU,MAAA,IAAa,MAAA,KAAW,UAAa,SAAA,KAAc,MAAA;AAC7E,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,mBAAA,EAAoB,WAAU,qBAAA,EAC1C,QAAA,EAAA;AAAA,IAAA,SAAA,wBAAc,gBAAA,EAAA,EAAkB,QAAA,EAAA,KAAA,CAAM,IAAA,KAAS,aAAA,GAAgB,gBAAgB,WAAA,EAAY,CAAA;AAAA,oBAC5F,GAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,QAAQ,OAAA,GAAU,MAAA;AAAA,QAC1B,MAAA,kBACE,GAAA,CAAC,gBAAA,EAAA,EAAiB,IAAA,kBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,aAAA,EAAW,IAAA,EAAC,CAAA,EAAI,KAAA,EAAc,MAAA,EAAgB,WAAA,EAA0B,CAAA;AAAA,QAG3G,QAAA,EAAA,OAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACZ,QAAA,EAAA;AAAA,UAAA,KAAA,KAAU,MAAA,wBACR,gBAAA,EAAA,EAAiB,KAAA,EAAM,aACtB,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,KAAA,EAAO,CAAA,EACjC,CAAA;AAAA,UAED,MAAA,KAAW,MAAA,oBACV,GAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAM,UACtB,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,MAAA,EAAQ,CAAA,EAClC,CAAA;AAAA,UAED,SAAA,KAAc,MAAA,oBACb,GAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAM,SACtB,QAAA,kBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,KAAA,EAAO,SAAA,EAAW,CAAA,EACrC;AAAA,SAAA,EAEJ;AAAA;AAAA;AAEJ,GAAA,EACF,CAAA;AAEJ;;AC7CO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAS,EAA4B;AACtE,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sDAAA,EAAwD,QAAA,EAAS,CAAA;AACzF;AAEO,SAAS,gBAAA,CAAiB,EAAE,KAAA,EAAO,QAAA,EAAS,EAA8C;AAC/F,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EAAqB,WAAU,uBAAA,EAC5C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,oBAAkB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IACxB;AAAA,GAAA,EACH,CAAA;AAEJ;AAEO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAAyB;AACtE,EAAA,uBACE,GAAA,CAAC,SAAI,WAAA,EAAU,uBAAA,EAAwB,WAAU,2BAAA,EAC/C,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAkB,QAAA,EAAS,CAAA,EAC9B,CAAA;AAEJ;AAGO,SAAS,sBAAA,CAAuB;AAAA,EACrC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc;AAChB,CAAA,EAIG;AACD,EAAA,uBACE,IAAA,CAAC,eAAY,WAAA,EACX,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,kBAAA,EAAA,EAAmB,WAAU,6FAAA,EAC5B,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,CAAA;AAAA,MACjB;AAAA,KAAA,EACH,CAAA;AAAA,oBACA,GAAA,CAAC,kBAAA,EAAA,EAAmB,SAAA,EAAU,QAAA,EAAU,QAAA,EAAS;AAAA,GAAA,EACnD,CAAA;AAEJ;AAGO,SAAS,oBAAA,CAAqB,EAAE,SAAA,EAAU,EAA6B;AAC5E,EAAA,uBACE,GAAA,CAAC,QAAG,WAAA,EAAU,yBAAA,EAA0B,WAAU,qBAAA,EAC/C,QAAA,EAAA,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,yBACnB,IAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAO,IAAA,EAAM,WAAW,KAAA,EAAO,CAAA,EAAA,EADzC,KAET,CACD,CAAA,EACH,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"span-payload-primitives-CGamdu2t.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 { ChevronRightIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return <div className=\"text-meta tracking-widest text-placeholder uppercase\">{children}</div>;\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-body 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 tracking-widest text-placeholder uppercase [&>svg]:size-3\">\n <ChevronRightIcon />\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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"}
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const lucideReact = require('lucide-react');
5
5
  const domains_traces_components_spanPayload_spanPayloadJson = require('./domains/traces/components/span-payload/span-payload-json.cjs.js');
6
6
  const collapsible = require('./collapsible-jfzzU7Gp.cjs');
7
- const markdownRenderer = require('./markdown-renderer-CZV6neya.cjs');
7
+ const markdownRenderer = require('./markdown-renderer-DPwN7Vtm.cjs');
8
8
  const domains_chat_components_badgeWrapper = require('./domains/chat/components/badge-wrapper.cjs.js');
9
9
  const activity = require('./activity-CbQG59Oc.cjs');
10
10
  const toolPresentation = require('./tool-presentation-WLS6d1ws.cjs');
@@ -74,4 +74,4 @@ exports.SpanPayloadLabel = SpanPayloadLabel;
74
74
  exports.SpanPayloadMarkdown = SpanPayloadMarkdown;
75
75
  exports.SpanPayloadTool = SpanPayloadTool;
76
76
  exports.SpanPayloadToolCalls = SpanPayloadToolCalls;
77
- //# sourceMappingURL=span-payload-primitives-D0mhsndj.cjs.map
77
+ //# sourceMappingURL=span-payload-primitives-SkL3U9hR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-D0mhsndj.cjs","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 { ChevronRightIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return <div className=\"text-meta tracking-widest text-placeholder uppercase\">{children}</div>;\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-body 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 tracking-widest text-placeholder uppercase [&>svg]:size-3\">\n <ChevronRightIcon />\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":["jsx","SpanPayloadJson","presentTool","jsxs","BadgeWrapper","ActivityHeadline","MarkdownRenderer","Collapsible","CollapsibleTrigger","ChevronRightIcon","CollapsibleContent"],"mappings":";;;;;;;;;;;AAMA,MAAM,QAAA,GAAW,CAAC,KAAA,KAChB,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAE9D,SAAS,eAAA,CAAgB,EAAE,KAAA,EAAO,SAAA,GAAY,MAAK,EAA4C;AACpG,EAAA,IAAI,CAAC,QAAA,CAAS,KAAK,GAAG,uBAAOA,cAAA,CAACC,yEAAgB,KAAA,EAAc,CAAA;AAC5D,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,KAAS,iBAAA,GAAoB,MAAM,cAAA,GAAiB,KAAA;AACvE,EAAA,IAAI,CAAC,QAAA,CAAS,IAAI,CAAA,IAAK,OAAO,KAAK,QAAA,KAAa,QAAA,IAAY,CAAC,IAAA,CAAK,QAAA,EAAU;AAC1E,IAAA,uBAAOD,cAAA,CAACC,yEAAgB,KAAA,EAAc,CAAA;AAAA,EACxC;AACA,EAAA,MAAM,KAAA,GAAQ,MAAA,IAAU,IAAA,GAAO,IAAA,CAAK,OAAO,IAAA,CAAK,KAAA;AAChD,EAAA,MAAM,MAAA,GAAS,QAAA,IAAY,IAAA,GAAO,IAAA,CAAK,SAAS,IAAA,CAAK,MAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,OAAA,KAAY,IAAA,IAAQ,KAAK,KAAA,KAAU,cAAA;AACtD,EAAA,MAAM,YAAY,OAAO,IAAA,CAAK,SAAA,KAAc,QAAA,GAAW,KAAK,SAAA,GAAY,MAAA;AACxE,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ,aAAY,GAAIC,4BAAA,CAAY,IAAA,CAAK,QAAA,EAAU,KAAK,CAAA;AACvF,EAAA,MAAM,OAAA,GAAU,KAAA,KAAU,MAAA,IAAa,MAAA,KAAW,UAAa,SAAA,KAAc,MAAA;AAC7E,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,mBAAA,EAAoB,WAAU,qBAAA,EAC1C,QAAA,EAAA;AAAA,IAAA,SAAA,mCAAc,gBAAA,EAAA,EAAkB,QAAA,EAAA,KAAA,CAAM,IAAA,KAAS,aAAA,GAAgB,gBAAgB,WAAA,EAAY,CAAA;AAAA,oBAC5FH,cAAA;AAAA,MAACI,iDAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,QAAQ,OAAA,GAAU,MAAA;AAAA,QAC1B,MAAA,kBACEJ,cAAA,CAACK,yBAAA,EAAA,EAAiB,IAAA,kBAAML,cAAA,CAAC,QAAA,EAAA,EAAS,aAAA,EAAW,IAAA,EAAC,CAAA,EAAI,KAAA,EAAc,MAAA,EAAgB,WAAA,EAA0B,CAAA;AAAA,QAG3G,QAAA,EAAA,OAAA,oBACCG,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qBAAA,EACZ,QAAA,EAAA;AAAA,UAAA,KAAA,KAAU,MAAA,mCACR,gBAAA,EAAA,EAAiB,KAAA,EAAM,aACtB,QAAA,kBAAAH,cAAA,CAACC,qEAAA,EAAA,EAAgB,KAAA,EAAO,KAAA,EAAO,CAAA,EACjC,CAAA;AAAA,UAED,MAAA,KAAW,MAAA,oBACVD,cAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAM,UACtB,QAAA,kBAAAA,cAAA,CAACC,qEAAA,EAAA,EAAgB,KAAA,EAAO,MAAA,EAAQ,CAAA,EAClC,CAAA;AAAA,UAED,SAAA,KAAc,MAAA,oBACbD,cAAA,CAAC,gBAAA,EAAA,EAAiB,KAAA,EAAM,SACtB,QAAA,kBAAAA,cAAA,CAACC,qEAAA,EAAA,EAAgB,KAAA,EAAO,SAAA,EAAW,CAAA,EACrC;AAAA,SAAA,EAEJ;AAAA;AAAA;AAEJ,GAAA,EACF,CAAA;AAEJ;;AC7CO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAS,EAA4B;AACtE,EAAA,uBAAOD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sDAAA,EAAwD,QAAA,EAAS,CAAA;AACzF;AAEO,SAAS,gBAAA,CAAiB,EAAE,KAAA,EAAO,QAAA,EAAS,EAA8C;AAC/F,EAAA,uBACEG,eAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EAAqB,WAAU,uBAAA,EAC5C,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAAC,oBAAkB,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IACxB;AAAA,GAAA,EACH,CAAA;AAEJ;AAEO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAS,EAAyB;AACtE,EAAA,uBACEA,cAAA,CAAC,SAAI,WAAA,EAAU,uBAAA,EAAwB,WAAU,2BAAA,EAC/C,QAAA,kBAAAA,cAAA,CAACM,iCAAA,EAAA,EAAkB,QAAA,EAAS,CAAA,EAC9B,CAAA;AAEJ;AAGO,SAAS,sBAAA,CAAuB;AAAA,EACrC,KAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA,GAAc;AAChB,CAAA,EAIG;AACD,EAAA,uBACEH,eAAA,CAACI,2BAAY,WAAA,EACX,QAAA,EAAA;AAAA,oBAAAJ,eAAA,CAACK,8BAAA,EAAA,EAAmB,WAAU,6FAAA,EAC5B,QAAA,EAAA;AAAA,sBAAAR,cAAA,CAACS,4BAAA,EAAA,EAAiB,CAAA;AAAA,MACjB;AAAA,KAAA,EACH,CAAA;AAAA,oBACAT,cAAA,CAACU,8BAAA,EAAA,EAAmB,SAAA,EAAU,QAAA,EAAU,QAAA,EAAS;AAAA,GAAA,EACnD,CAAA;AAEJ;AAGO,SAAS,oBAAA,CAAqB,EAAE,SAAA,EAAU,EAA6B;AAC5E,EAAA,uBACEV,cAAA,CAAC,QAAG,WAAA,EAAU,yBAAA,EAA0B,WAAU,qBAAA,EAC/C,QAAA,EAAA,SAAA,CAAU,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,oCACnB,IAAA,EAAA,EACC,QAAA,kBAAAA,cAAA,CAAC,mBAAgB,KAAA,EAAO,IAAA,EAAM,WAAW,KAAA,EAAO,CAAA,EAAA,EADzC,KAET,CACD,CAAA,EACH,CAAA;AAEJ;;;;;;;;;"}
1
+ {"version":3,"file":"span-payload-primitives-SkL3U9hR.cjs","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 { ChevronRightIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return <div className=\"text-meta tracking-widest text-placeholder uppercase\">{children}</div>;\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-body 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 tracking-widest text-placeholder uppercase [&>svg]:size-3\">\n <ChevronRightIcon />\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":["jsx","SpanPayloadJson","presentTool","jsxs","BadgeWrapper","ActivityHeadline","MarkdownRenderer","Collapsible","CollapsibleTrigger","ChevronRightIcon","CollapsibleContent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /** Disables polling for unsupported or unavailable feedback storage; otherwise retries every three seconds. */
1
+ /** Disables polling for unsupported or unavailable feedback storage; otherwise retries every thirty seconds. */
2
2
  export declare function getFeedbackRefetchInterval(query: {
3
3
  state: {
4
4
  error: unknown;
5
5
  };
6
- }): false | 3000;
6
+ }): false | 30000;
@@ -1,8 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  interface RequestContextLabelProps {
3
- as?: 'label' | 'span';
4
3
  children: ReactNode;
5
4
  tooltip?: string;
6
5
  }
7
- export declare function RequestContextLabel({ as, children, tooltip }: RequestContextLabelProps): import("react").JSX.Element;
6
+ export declare function RequestContextLabel({ children, tooltip }: RequestContextLabelProps): import("react").JSX.Element;
8
7
  export {};
@@ -3,7 +3,7 @@ export declare function getScoresRefetchInterval(query: {
3
3
  state: {
4
4
  error: unknown;
5
5
  };
6
- }): false | 5000;
6
+ }): false | 15000;
7
7
  type UseScoresByScorerIdProps = {
8
8
  scorerId: string;
9
9
  entityId?: string;
@@ -2,7 +2,7 @@ export declare function getTraceSpanScoresRefetchInterval(query: {
2
2
  state: {
3
3
  error: unknown;
4
4
  };
5
- }): false | 3000;
5
+ }): false | 15000;
6
6
  type useTraceSpanScoresProps = {
7
7
  traceId?: string;
8
8
  spanId?: string;
@@ -1,6 +1,5 @@
1
1
  import { ThreadTraceDetails, ThreadTraceDetailsActions, ThreadTraceDetailsHeader } from './thread-trace-details';
2
2
  import { ThreadTraceList } from './thread-trace-list';
3
- import { ThreadTraceLoadMoreSentinel } from './thread-trace-load-more-sentinel';
4
3
  import { ThreadTraceMessages, ThreadTraceMessagesHeader, ThreadTraceTabContent, ThreadTraceTabList } from './thread-trace-messages';
5
4
  import { ThreadTraceRoot } from './thread-trace-root';
6
5
  import { ThreadTraceRow } from './thread-trace-row';
@@ -13,9 +12,8 @@ import { ThreadTraceSpans } from './thread-trace-spans';
13
12
  * of its props, so the layout can be restyled from the call site.
14
13
  *
15
14
  * @example
16
- * <ThreadTrace traceIds={ids} anchorTraceId={anchor}>
15
+ * <ThreadTrace traceIds={ids} onLoadOlder={fetchOlderPage}>
17
16
  * <ThreadTrace.List>
18
- * <ThreadTrace.LoadMoreSentinel ref={setEndOfListElement} />
19
17
  * {ids.map((traceId, i) => (
20
18
  * <ThreadTrace.Row key={traceId} traceId={traceId}>
21
19
  * <ThreadTrace.Messages>
@@ -40,7 +38,6 @@ import { ThreadTraceSpans } from './thread-trace-spans';
40
38
  */
41
39
  export declare const ThreadTrace: typeof ThreadTraceRoot & {
42
40
  List: typeof ThreadTraceList;
43
- LoadMoreSentinel: typeof ThreadTraceLoadMoreSentinel;
44
41
  Row: typeof ThreadTraceRow;
45
42
  Messages: typeof ThreadTraceMessages;
46
43
  MessagesHeader: typeof ThreadTraceMessagesHeader;
@@ -60,7 +57,6 @@ export type { ThreadTraceRowContextValue } from './thread-trace-row-context';
60
57
  export { THREAD_TRACE_MESSAGES_TAB } from './thread-trace-row';
61
58
  export type { ThreadTraceRootProps } from './thread-trace-root';
62
59
  export type { ThreadTraceListProps } from './thread-trace-list';
63
- export type { ThreadTraceLoadMoreSentinelProps } from './thread-trace-load-more-sentinel';
64
60
  export type { ThreadTraceRowProps } from './thread-trace-row';
65
61
  export type { ThreadTraceMessagesProps, ThreadTraceMessagesHeaderProps, ThreadTraceTabListProps, ThreadTraceTabProps, ThreadTraceTabContentProps, } from './thread-trace-messages';
66
62
  export type { ThreadTraceDetailsProps, ThreadTraceDetailsHeaderProps, ThreadTraceDetailsActionsProps, } from './thread-trace-details';
@@ -9,8 +9,6 @@ export interface ThreadTraceHighlight {
9
9
  }
10
10
  export interface ThreadTraceContextValue {
11
11
  traceIds: string[];
12
- /** The row the reader came from (e.g. "Open full thread"); starts expanded and scrolls into view on mount. */
13
- anchorTraceId: string | null;
14
12
  selected: ThreadTraceSelectedSpan | null;
15
13
  /** Select a span (opens the side panel) or pass `undefined` to close it. */
16
14
  selectSpan: (traceId: string, spanId: string | undefined) => void;
@@ -3,11 +3,8 @@ import { ThreadTraceSelectedSpan } from './thread-trace-context';
3
3
  export interface ThreadTraceRootProps extends ComponentProps<'div'> {
4
4
  /** Trace ids in reading order (oldest first); must match the order of the rendered rows. */
5
5
  traceIds: string[];
6
- /**
7
- * The row to start from: it mounts expanded and is scrolled into view once. Only read at mount,
8
- * so a row that arrives on a later page is left alone.
9
- */
10
- anchorTraceId?: string | null;
6
+ /** Fires when the reader scrolls up to the oldest loaded row; load the previous page here. */
7
+ onLoadOlder?: () => void;
11
8
  /** Fires when a span detail opens or closes (`null`). */
12
9
  onSelectedSpanChange?: (selected: ThreadTraceSelectedSpan | null) => void;
13
10
  }
@@ -17,4 +14,4 @@ export interface ThreadTraceRootProps extends ComponentProps<'div'> {
17
14
  * through `useThreadTrace()` / `useThreadTraceRow()`; the root itself is the outer grid that gains a
18
15
  * side column while a span is selected.
19
16
  */
20
- export declare function ThreadTraceRoot({ traceIds, anchorTraceId, onSelectedSpanChange, className, children, ...props }: ThreadTraceRootProps): import("react").JSX.Element;
17
+ export declare function ThreadTraceRoot({ traceIds, onLoadOlder, onSelectedSpanChange, className, children, ...props }: ThreadTraceRootProps): import("react").JSX.Element;
@@ -7,7 +7,6 @@ export interface ThreadTraceRowContextValue {
7
7
  isCurrent: boolean;
8
8
  /** The timeline is shown in full rather than clamped to the messages column. */
9
9
  isExpanded: boolean;
10
- isAnchor: boolean;
11
10
  selectedSpanId: string | undefined;
12
11
  featuredSpanIds: string[] | undefined;
13
12
  revealSpanId: string | undefined;
@@ -7,14 +7,15 @@ export interface ThreadViewByTraceProps {
7
7
  withFeedback: boolean;
8
8
  /** Fires when a span detail opens or closes (`null`). */
9
9
  onSelectedSpanChange?: (selected: ThreadTraceSelectedSpan | null) => void;
10
- /** Trace to expand and scroll to on mount (first page only). */
11
- anchorTraceId?: string;
12
10
  /** Opens a score from a trace's Scores tab; the app owns routing. */
13
11
  onOpenScore: (traceId: string, scoreId: string) => void;
12
+ /** Turns loaded per page: the latest ones on open, then older ones as the reader scrolls up. */
13
+ pageSize?: number;
14
14
  }
15
15
  /**
16
- * A memory thread rendered as its traces: one row per agent turn (oldest first), with the
17
- * reconstructed messages on the left and the span tree on the right. Clicking a span opens
18
- * its detail panel on the side so the conversation stays readable.
16
+ * A memory thread rendered as its traces, like a chat: one row per agent turn (oldest at the top),
17
+ * opened on the latest turns, with older turns loaded as the reader scrolls up. Each row shows the
18
+ * reconstructed messages on the left and the span tree on the right. Clicking a span opens its
19
+ * detail panel on the side so the conversation stays readable.
19
20
  */
20
- export declare function ThreadViewByTrace({ threadId, withQueryTrace, withFeedback, onSelectedSpanChange, anchorTraceId, onOpenScore, }: ThreadViewByTraceProps): import("react").JSX.Element;
21
+ export declare function ThreadViewByTrace({ threadId, withQueryTrace, withFeedback, onSelectedSpanChange, onOpenScore, pageSize, }: ThreadViewByTraceProps): import("react").JSX.Element;
@@ -2,8 +2,6 @@ export interface TraceThreadPanelProps {
2
2
  threadId: string;
3
3
  withQueryTrace: boolean;
4
4
  withFeedback: boolean;
5
- /** Trace to expand and scroll to when the thread opens. */
6
- anchorTraceId?: string;
7
5
  onOpenScore: (traceId: string, scoreId: string) => void;
8
6
  /** Return to the trace panel this thread view replaced. */
9
7
  onBack: () => void;
@@ -12,5 +10,5 @@ export interface TraceThreadPanelProps {
12
10
  /** Accessible drawer name; defaults to the thread id. */
13
11
  title?: string;
14
12
  }
15
- /** The trace drawer swapped for the full thread: every turn as traces, anchored on `anchorTraceId`. */
16
- export declare function TraceThreadPanel({ threadId, withQueryTrace, withFeedback, anchorTraceId, onOpenScore, onBack, onClose, title, }: TraceThreadPanelProps): import("react").JSX.Element;
13
+ /** The trace drawer swapped for the full thread: every turn as traces, opened on the latest one. */
14
+ export declare function TraceThreadPanel({ threadId, withQueryTrace, withFeedback, onOpenScore, onBack, onClose, title, }: TraceThreadPanelProps): import("react").JSX.Element;
@@ -6,9 +6,11 @@ export interface UseTracesListSourceArgs {
6
6
  initialAutoRefetch?: boolean;
7
7
  withQueryTrace?: boolean;
8
8
  legacyFilters?: UseTraceQueryArgs['legacyFilters'];
9
+ /** Rows per page; defaults to `TRACE_QUERY_PER_PAGE`. */
10
+ limit?: number;
9
11
  enabled?: boolean;
10
12
  }
11
- export declare function useTracesListSource({ query: buildQuery, orderBy, rolling, initialAutoRefetch, withQueryTrace, legacyFilters, enabled, }: UseTracesListSourceArgs): {
13
+ export declare function useTracesListSource({ query: buildQuery, orderBy, rolling, initialAutoRefetch, withQueryTrace, legacyFilters, limit, enabled, }: UseTracesListSourceArgs): {
12
14
  rows: import('..').TracesListViewTrace[];
13
15
  autoRefetch: boolean;
14
16
  setAutoRefetch: import('react').Dispatch<import('react').SetStateAction<boolean>>;
@@ -16,10 +16,9 @@ export type ComboboxVariant = ComboboxVisualVariant | ComboboxLegacyVariant;
16
16
  * focus, disabled) and layers only the combobox-specific extras — exactly like
17
17
  * `SelectTrigger`.
18
18
  */
19
- export declare function comboboxTriggerClass({ variant, size, error, className, }: {
19
+ export declare function comboboxTriggerClass({ variant, size, className, }: {
20
20
  variant: ComboboxVariant;
21
21
  size: ButtonSize;
22
- error?: boolean;
23
22
  className?: string;
24
23
  }): string;
25
24
  /** Options are shared menu items, which already grow to fit a second line. */
@@ -27,7 +26,7 @@ export declare const comboboxItemClass: (props?: ({
27
26
  multiple?: boolean | null | undefined;
28
27
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
29
28
  export declare const comboboxStyles: {
30
- /** Root wrapper */
29
+ /** @deprecated A `Field` lays out the combobox and its error. */
31
30
  readonly root: "flex flex-col gap-1.5";
32
31
  /** Chevron icon in trigger — decorative icon token shared by every field. */
33
32
  readonly chevron: "ml-2 h-4 w-4 shrink-0 text-muted-foreground";
@@ -70,6 +69,6 @@ export declare const comboboxStyles: {
70
69
  readonly optionDescription: "text-caption text-muted-foreground truncate";
71
70
  /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */
72
71
  readonly optionEnd: "ml-auto flex items-center shrink-0";
73
- /** Error message */
72
+ /** @deprecated A `FieldError` colors the error. */
74
73
  readonly error: "text-caption text-destructive-foreground";
75
74
  };
@@ -23,9 +23,7 @@ type ComboboxSharedProps = {
23
23
  open?: boolean;
24
24
  onOpenChange?: (open: boolean) => void;
25
25
  container?: HTMLElement | ShadowRoot | null | React.RefObject<HTMLElement | ShadowRoot | null>;
26
- error?: string;
27
26
  id?: string;
28
- name?: string;
29
27
  'aria-label'?: string;
30
28
  'aria-describedby'?: string;
31
29
  /** Which edge of the trigger the popup lines up with. `end` opens it leftwards (e.g. an icon trigger at the end of a row). */
@@ -35,6 +33,10 @@ type ComboboxSharedProps = {
35
33
  allowCustomValue?: boolean;
36
34
  /** Called with the search input text as it changes (and with `''` after a single-mode selection resets it). */
37
35
  onInputValueChange?: (value: string) => void;
36
+ /** @deprecated Wrap the combobox in `<Field invalid>` with a `FieldError`. */
37
+ error?: string;
38
+ /** @deprecated Only keyed the `error` message id; a `Field` links its error without one. */
39
+ name?: string;
38
40
  };
39
41
  export type ComboboxSingleProps = ComboboxSharedProps & {
40
42
  multiple?: false;
@@ -7,6 +7,6 @@ export interface CommentComposerInputProps extends InputGroupInputProps {
7
7
  groupClassName?: string;
8
8
  children?: ReactNode;
9
9
  }
10
- export declare const CommentComposerInput: import('react').ForwardRefExoticComponent<CommentComposerInputProps & import('react').RefAttributes<HTMLInputElement>>;
10
+ export declare const CommentComposerInput: import('react').ForwardRefExoticComponent<Omit<CommentComposerInputProps, "ref"> & import('react').RefAttributes<HTMLInputElement>>;
11
11
  export type CommentComposerSendProps = Omit<InputGroupButtonProps, 'children'>;
12
- export declare const CommentComposerSend: import('react').ForwardRefExoticComponent<CommentComposerSendProps & import('react').RefAttributes<HTMLButtonElement>>;
12
+ export declare const CommentComposerSend: import('react').ForwardRefExoticComponent<Omit<CommentComposerSendProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
@@ -2,5 +2,6 @@ export type TimePickerProps = {
2
2
  defaultValue?: string;
3
3
  onValueChange: (value: string) => void;
4
4
  className?: string;
5
+ label?: string;
5
6
  };
6
- export declare function TimePicker({ defaultValue, onValueChange, className }: TimePickerProps): import("react").JSX.Element;
7
+ export declare function TimePicker({ defaultValue, onValueChange, className, label }: TimePickerProps): import("react").JSX.Element;
@@ -0,0 +1,30 @@
1
+ export type FieldAriaIds = {
2
+ labelId: string;
3
+ descriptionId: string;
4
+ errorId: string;
5
+ controlId: string;
6
+ invalid: boolean;
7
+ hasDescription: boolean;
8
+ setHasDescription: (hasDescription: boolean) => void;
9
+ };
10
+ export type ControlNameProps = {
11
+ 'aria-label'?: string;
12
+ 'aria-labelledby'?: string;
13
+ };
14
+ export declare const FieldAriaContext: import('react').Context<FieldAriaIds | null>;
15
+ export declare function useFieldAriaIds(): FieldAriaIds | null;
16
+ export declare function hasOwnAccessibleName({ 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy }: ControlNameProps): boolean;
17
+ export declare function keepOwnAccessibleName(nameProps: ControlNameProps): {
18
+ 'aria-labelledby'?: undefined;
19
+ };
20
+ export declare function useFieldControlAria(nameProps?: ControlNameProps): {
21
+ id?: undefined;
22
+ 'aria-labelledby'?: undefined;
23
+ 'aria-describedby'?: undefined;
24
+ 'aria-invalid'?: undefined;
25
+ } | {
26
+ id: string;
27
+ 'aria-labelledby': string | undefined;
28
+ 'aria-describedby': string | undefined;
29
+ 'aria-invalid': true | undefined;
30
+ };
@@ -0,0 +1,39 @@
1
+ import { Field as FieldPrimitive } from '@base-ui/react/field';
2
+ import { Fieldset as FieldsetPrimitive } from '@base-ui/react/fieldset';
3
+ import * as React from 'react';
4
+ type FieldProps = Omit<FieldPrimitive.Root.Props, 'className'> & {
5
+ className?: string;
6
+ orientation?: 'vertical' | 'horizontal' | 'responsive';
7
+ };
8
+ declare function Field({ className, orientation, invalid, ...props }: FieldProps): React.JSX.Element;
9
+ type FieldContentProps = React.ComponentProps<'div'>;
10
+ declare function FieldContent({ className, ...props }: FieldContentProps): React.JSX.Element;
11
+ type FieldItemProps = Omit<FieldPrimitive.Item.Props, 'className'> & {
12
+ className?: string;
13
+ };
14
+ declare function FieldItem({ className, ...props }: FieldItemProps): React.JSX.Element;
15
+ type FieldLabelProps = Omit<FieldPrimitive.Label.Props, 'className' | 'id'> & {
16
+ className?: string;
17
+ required?: boolean;
18
+ size?: 'smaller' | 'default' | 'bigger';
19
+ };
20
+ declare function FieldLabel({ className, required, size, children, onClick, ...props }: FieldLabelProps): React.JSX.Element;
21
+ type FieldDescriptionProps = Omit<FieldPrimitive.Description.Props, 'className' | 'id'> & {
22
+ className?: string;
23
+ };
24
+ declare function FieldDescription({ className, ...props }: FieldDescriptionProps): React.JSX.Element;
25
+ type FieldErrorProps = Omit<FieldPrimitive.Error.Props, 'className' | 'match' | 'render'> & {
26
+ className?: string;
27
+ };
28
+ declare function FieldError({ className, children, ...props }: FieldErrorProps): React.JSX.Element;
29
+ type FieldsetProps = Omit<FieldsetPrimitive.Root.Props, 'className'> & {
30
+ className?: string;
31
+ };
32
+ declare function Fieldset({ className, ...props }: FieldsetProps): React.JSX.Element;
33
+ type FieldsetLegendProps = Omit<FieldsetPrimitive.Legend.Props, 'className'> & {
34
+ className?: string;
35
+ required?: boolean;
36
+ };
37
+ declare function FieldsetLegend({ className, required, children, ...props }: FieldsetLegendProps): React.JSX.Element;
38
+ export { Field, FieldContent, FieldItem, FieldLabel, FieldDescription, FieldError, Fieldset, FieldsetLegend };
39
+ export type { FieldProps, FieldContentProps, FieldItemProps, FieldLabelProps, FieldDescriptionProps, FieldErrorProps, FieldsetProps, FieldsetLegendProps, };
@@ -0,0 +1,12 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Field } from './field';
3
+ declare const meta: Meta<typeof Field>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Field>;
6
+ export declare const Default: Story;
7
+ export declare const WithError: Story;
8
+ export declare const HiddenLabel: Story;
9
+ export declare const Horizontal: Story;
10
+ export declare const Textareas: Story;
11
+ export declare const CodeEditors: Story;
12
+ export declare const Group: Story;
@@ -0,0 +1,2 @@
1
+ export * from './field';
2
+ export { useFieldControlAria } from './field-control-aria';
@@ -0,0 +1,7 @@
1
+ import { Form as FormPrimitive } from '@base-ui/react/form';
2
+ type FormProps = Omit<FormPrimitive.Props, 'className'> & {
3
+ className?: string;
4
+ };
5
+ declare function Form({ className, ...props }: FormProps): import("react").JSX.Element;
6
+ export { Form };
7
+ export type { FormProps };
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { Form } from './form';
3
+ declare const meta: Meta<typeof Form>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Form>;
6
+ export declare const Default: Story;
7
+ export declare const RequiredField: Story;
@@ -0,0 +1 @@
1
+ export * from './form';
@@ -4,6 +4,7 @@ import { FieldBlockHelpText } from './field-block-help-text';
4
4
  import { FieldBlockLabel } from './field-block-label';
5
5
  import { FieldBlockLayout } from './field-block-layout';
6
6
  import { FieldBlockMessage } from './field-block-message';
7
+ /** @deprecated Use `Field` with `FieldLabel`, `FieldDescription` and `FieldError`. */
7
8
  export declare const FieldBlock: {
8
9
  Layout: typeof FieldBlockLayout;
9
10
  Column: typeof FieldBlockColumn;