@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,7 +1,7 @@
1
1
  import { c as cva } from './index-Dubp6Qv4.js';
2
2
  import { i as isIconButtonSize, b as buttonVariants } from './Button-D43ghVKt.js';
3
3
  import { controlTriggerOpenState } from './primitives/control-size.es.js';
4
- import { fieldTriggerStyle } from './primitives/form-element.es.js';
4
+ import { fieldTriggerErrorBorder, fieldTriggerWidthStyle, fieldTriggerStyle } from './primitives/form-element.es.js';
5
5
  import { menuSearchClasses, menuItemCheckClass, menuEmptyClass, menuPositionerClass, menuPopupClass, menuItemClass } from './primitives/menu-item.es.js';
6
6
  import { c as cn } from './cn-65Adrsfj.js';
7
7
 
@@ -11,7 +11,6 @@ function normalizeComboboxVariant(variant) {
11
11
  function comboboxTriggerClass({
12
12
  variant,
13
13
  size,
14
- error,
15
14
  className
16
15
  }) {
17
16
  const visualVariant = normalizeComboboxVariant(variant);
@@ -21,11 +20,11 @@ function comboboxTriggerClass({
21
20
  // Fill the field and push the value left / chevron right (Button's base
22
21
  // centers its content with `justify-center`). Icon sizes are a fixed square
23
22
  // showing only the chevron, so they keep Button's centering.
24
- !isIconButtonSize(size) && "justify-between text-body-sm",
23
+ !isIconButtonSize(size) && cn(fieldTriggerWidthStyle, "justify-between text-body-sm"),
25
24
  // Read as "active" while the popup is open, per variant (see map above).
26
25
  controlTriggerOpenState[visualVariant],
27
26
  "data-[placeholder]:text-muted-foreground",
28
- error && "border-destructive-indicator hover:border-destructive-indicator focus-visible:border-destructive-indicator",
27
+ fieldTriggerErrorBorder,
29
28
  className
30
29
  );
31
30
  }
@@ -41,7 +40,7 @@ const comboboxItemClass = cva(menuItemClass, {
41
40
  }
42
41
  });
43
42
  const comboboxStyles = {
44
- /** Root wrapper */
43
+ /** @deprecated A `Field` lays out the combobox and its error. */
45
44
  root: "flex flex-col gap-1.5",
46
45
  /** Chevron icon in trigger — decorative icon token shared by every field. */
47
46
  chevron: "ml-2 h-4 w-4 shrink-0 text-muted-foreground",
@@ -85,9 +84,9 @@ const comboboxStyles = {
85
84
  optionDescription: "text-caption text-muted-foreground truncate",
86
85
  /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */
87
86
  optionEnd: "ml-auto flex items-center shrink-0",
88
- /** Error message */
87
+ /** @deprecated A `FieldError` colors the error. */
89
88
  error: "text-caption text-destructive-foreground"
90
89
  };
91
90
 
92
91
  export { comboboxTriggerClass as a, comboboxItemClass as b, comboboxStyles as c };
93
- //# sourceMappingURL=combobox-styles-C2MEEpaG.js.map
92
+ //# sourceMappingURL=combobox-styles-mbcWlNZQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-styles-mbcWlNZQ.js","sources":["../src/ds/components/Combobox/combobox-styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { buttonVariants, isIconButtonSize } from '../Button/Button';\nimport type { ButtonSize } from '../Button/Button';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport type { ControlTriggerVisualVariant } from '@/ds/primitives/control-size';\nimport { fieldTriggerErrorBorder, fieldTriggerStyle, fieldTriggerWidthStyle } from '@/ds/primitives/form-element';\nimport {\n menuItemCheckClass,\n menuItemClass,\n menuPopupClass,\n menuPositionerClass,\n menuSearchClasses,\n menuEmptyClass,\n} from '@/ds/primitives/menu-item';\nimport { cn } from '@/lib/utils';\n\n/**\n * A combobox is a form field, so it reuses the Button's size/shape recipe,\n * mirroring `SelectTrigger`: `default` (the Input's overlay surface — the\n * default here too) and `ghost` (borderless, for breadcrumbs/inline pickers). Only the high-emphasis `primary`\n * look is intentionally NOT offered (a field is not a call-to-action).\n */\nexport type ComboboxVisualVariant = ControlTriggerVisualVariant;\nexport type ComboboxLegacyVariant = 'link';\nexport type ComboboxVariant = ComboboxVisualVariant | ComboboxLegacyVariant;\n\nfunction normalizeComboboxVariant(variant: ComboboxVariant): ComboboxVisualVariant {\n return variant === 'link' ? 'ghost' : variant;\n}\n\n/**\n * Single source of truth for both the single- and multi-select combobox\n * triggers. A combobox = a button + a trailing chevron, so it reuses the Button\n * recipe (variant colors, size = height/text/padding/radius, unified border\n * focus, disabled) and layers only the combobox-specific extras — exactly like\n * `SelectTrigger`.\n */\nexport function comboboxTriggerClass({\n variant,\n size,\n className,\n}: {\n variant: ComboboxVariant;\n size: ButtonSize;\n className?: string;\n}): string {\n const visualVariant = normalizeComboboxVariant(variant);\n\n return cn(\n buttonVariants({ variant: visualVariant, size }),\n visualVariant === 'default' && fieldTriggerStyle,\n // Fill the field and push the value left / chevron right (Button's base\n // centers its content with `justify-center`). Icon sizes are a fixed square\n // showing only the chevron, so they keep Button's centering.\n !isIconButtonSize(size) && cn(fieldTriggerWidthStyle, 'justify-between text-body-sm'),\n // Read as \"active\" while the popup is open, per variant (see map above).\n controlTriggerOpenState[visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n fieldTriggerErrorBorder,\n className,\n );\n}\n\n/** Options are shared menu items, which already grow to fit a second line. */\nexport const comboboxItemClass = cva(menuItemClass, {\n variants: {\n multiple: {\n false: '',\n true: '',\n },\n },\n defaultVariants: {\n multiple: false,\n },\n});\n\nexport const comboboxStyles = {\n /** @deprecated A `Field` lays out the combobox and its error. */\n root: 'flex flex-col gap-1.5',\n\n /** Chevron icon in trigger — decorative icon token shared by every field. */\n chevron: 'ml-2 h-4 w-4 shrink-0 text-muted-foreground',\n\n /** Placeholder text color */\n placeholder: 'text-muted-foreground',\n\n /**\n * Popup container — shared menu popup, but the search row sits edge-to-edge\n * above the list, so padding/scrolling move to the list itself.\n */\n popup: cn(menuPopupClass, 'max-h-none overflow-hidden p-0'),\n\n /** Positioner */\n positioner: cn(menuPositionerClass, 'pointer-events-auto'),\n\n /** Search input container — borderless top section, hairline divider below. */\n searchContainer: menuSearchClasses.container,\n\n /** Search icon */\n searchIcon: menuSearchClasses.icon,\n\n /** Search input */\n searchInput: cn(menuSearchClasses.input, 'disabled:cursor-not-allowed disabled:opacity-50'),\n\n /** Empty state */\n empty: cn(menuEmptyClass, 'empty:hidden'),\n\n /** Options list */\n // `empty:p-0` — Empty renders outside the List, so an empty List must not leave its padding behind.\n list: 'p-1 empty:p-0',\n\n /** Scroll container around the List; hosts the fluid highlight so it scrolls with the rows. */\n listScroller: 'max-h-dropdown overflow-y-auto overflow-x-hidden',\n\n /** Option item base — rounded-lg sits concentrically inside rounded-xl + p-1. */\n item: comboboxItemClass({ multiple: false }),\n\n /** Multi-select item — same item rhythm with a right-aligned selected check. */\n itemMulti: comboboxItemClass({ multiple: true }),\n\n /** Right-aligned slot grouping end content + selection check. */\n itemRightSlot: 'ml-auto flex items-center gap-2 shrink-0',\n\n /** Check indicator container — inline, shown only when item is selected. */\n checkContainer: cn(menuItemCheckClass, 'ml-0'),\n\n /** Check icon (single select) */\n checkIcon: 'size-full',\n\n /** Option label/description wrapper */\n optionText: 'flex flex-col gap-0.5 min-w-0',\n\n /** Option label */\n optionLabel: 'truncate',\n\n /** Option description */\n optionDescription: 'text-caption text-muted-foreground truncate',\n\n /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */\n optionEnd: 'ml-auto flex items-center shrink-0',\n\n /** @deprecated A `FieldError` colors the error. */\n error: 'text-caption text-destructive-foreground',\n} as const;\n"],"names":[],"mappings":";;;;;;;AA0BA,SAAS,yBAAyB,OAAA,EAAiD;AACjF,EAAA,OAAO,OAAA,KAAY,SAAS,OAAA,GAAU,OAAA;AACxC;AASO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAIW;AACT,EAAA,MAAM,aAAA,GAAgB,yBAAyB,OAAO,CAAA;AAEtD,EAAA,OAAO,EAAA;AAAA,IACL,cAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,MAAM,CAAA;AAAA,IAC/C,kBAAkB,SAAA,IAAa,iBAAA;AAAA;AAAA;AAAA;AAAA,IAI/B,CAAC,gBAAA,CAAiB,IAAI,CAAA,IAAK,EAAA,CAAG,wBAAwB,8BAA8B,CAAA;AAAA;AAAA,IAEpF,wBAAwB,aAAa,CAAA;AAAA,IACrC,0CAAA;AAAA,IACA,uBAAA;AAAA,IACA;AAAA,GACF;AACF;AAGO,MAAM,iBAAA,GAAoB,IAAI,aAAA,EAAe;AAAA,EAClD,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,EAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU;AAAA;AAEd,CAAC;AAEM,MAAM,cAAA,GAAiB;AAAA;AAAA,EAE5B,IAAA,EAAM,uBAAA;AAAA;AAAA,EAGN,OAAA,EAAS,6CAAA;AAAA;AAAA,EAGT,WAAA,EAAa,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb,KAAA,EAAO,EAAA,CAAG,cAAA,EAAgB,gCAAgC,CAAA;AAAA;AAAA,EAG1D,UAAA,EAAY,EAAA,CAAG,mBAAA,EAAqB,qBAAqB,CAAA;AAAA;AAAA,EAGzD,iBAAiB,iBAAA,CAAkB,SAAA;AAAA;AAAA,EAGnC,YAAY,iBAAA,CAAkB,IAAA;AAAA;AAAA,EAG9B,WAAA,EAAa,EAAA,CAAG,iBAAA,CAAkB,KAAA,EAAO,iDAAiD,CAAA;AAAA;AAAA,EAG1F,KAAA,EAAO,EAAA,CAAG,cAAA,EAAgB,cAAc,CAAA;AAAA;AAAA;AAAA,EAIxC,IAAA,EAAM,eAAA;AAAA;AAAA,EAGN,YAAA,EAAc,kDAAA;AAAA;AAAA,EAGd,IAAA,EAAM,iBAAA,CAAkB,EAAE,QAAA,EAAU,OAAO,CAAA;AAAA;AAAA,EAG3C,SAAA,EAAW,iBAAA,CAAkB,EAAE,QAAA,EAAU,MAAM,CAAA;AAAA;AAAA,EAG/C,aAAA,EAAe,0CAAA;AAAA;AAAA,EAGf,cAAA,EAAgB,EAAA,CAAG,kBAAA,EAAoB,MAAM,CAAA;AAAA;AAAA,EAG7C,SAAA,EAAW,WAAA;AAAA;AAAA,EAGX,UAAA,EAAY,+BAAA;AAAA;AAAA,EAGZ,WAAA,EAAa,UAAA;AAAA;AAAA,EAGb,iBAAA,EAAmB,6CAAA;AAAA;AAAA,EAGnB,SAAA,EAAW,oCAAA;AAAA;AAAA,EAGX,KAAA,EAAO;AACT;;;;"}
@@ -13,7 +13,6 @@ function normalizeComboboxVariant(variant) {
13
13
  function comboboxTriggerClass({
14
14
  variant,
15
15
  size,
16
- error,
17
16
  className
18
17
  }) {
19
18
  const visualVariant = normalizeComboboxVariant(variant);
@@ -23,11 +22,11 @@ function comboboxTriggerClass({
23
22
  // Fill the field and push the value left / chevron right (Button's base
24
23
  // centers its content with `justify-center`). Icon sizes are a fixed square
25
24
  // showing only the chevron, so they keep Button's centering.
26
- !Button.isIconButtonSize(size) && "justify-between text-body-sm",
25
+ !Button.isIconButtonSize(size) && utils_cn.cn(primitives_formElement.fieldTriggerWidthStyle, "justify-between text-body-sm"),
27
26
  // Read as "active" while the popup is open, per variant (see map above).
28
27
  primitives_controlSize.controlTriggerOpenState[visualVariant],
29
28
  "data-[placeholder]:text-muted-foreground",
30
- error && "border-destructive-indicator hover:border-destructive-indicator focus-visible:border-destructive-indicator",
29
+ primitives_formElement.fieldTriggerErrorBorder,
31
30
  className
32
31
  );
33
32
  }
@@ -43,7 +42,7 @@ const comboboxItemClass = index.cva(primitives_menuItem.menuItemClass, {
43
42
  }
44
43
  });
45
44
  const comboboxStyles = {
46
- /** Root wrapper */
45
+ /** @deprecated A `Field` lays out the combobox and its error. */
47
46
  root: "flex flex-col gap-1.5",
48
47
  /** Chevron icon in trigger — decorative icon token shared by every field. */
49
48
  chevron: "ml-2 h-4 w-4 shrink-0 text-muted-foreground",
@@ -87,11 +86,11 @@ const comboboxStyles = {
87
86
  optionDescription: "text-caption text-muted-foreground truncate",
88
87
  /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */
89
88
  optionEnd: "ml-auto flex items-center shrink-0",
90
- /** Error message */
89
+ /** @deprecated A `FieldError` colors the error. */
91
90
  error: "text-caption text-destructive-foreground"
92
91
  };
93
92
 
94
93
  exports.comboboxItemClass = comboboxItemClass;
95
94
  exports.comboboxStyles = comboboxStyles;
96
95
  exports.comboboxTriggerClass = comboboxTriggerClass;
97
- //# sourceMappingURL=combobox-styles-DLflBH-G.cjs.map
96
+ //# sourceMappingURL=combobox-styles-qL3FSgmU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-styles-qL3FSgmU.cjs","sources":["../src/ds/components/Combobox/combobox-styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport { buttonVariants, isIconButtonSize } from '../Button/Button';\nimport type { ButtonSize } from '../Button/Button';\nimport { controlTriggerOpenState } from '@/ds/primitives/control-size';\nimport type { ControlTriggerVisualVariant } from '@/ds/primitives/control-size';\nimport { fieldTriggerErrorBorder, fieldTriggerStyle, fieldTriggerWidthStyle } from '@/ds/primitives/form-element';\nimport {\n menuItemCheckClass,\n menuItemClass,\n menuPopupClass,\n menuPositionerClass,\n menuSearchClasses,\n menuEmptyClass,\n} from '@/ds/primitives/menu-item';\nimport { cn } from '@/lib/utils';\n\n/**\n * A combobox is a form field, so it reuses the Button's size/shape recipe,\n * mirroring `SelectTrigger`: `default` (the Input's overlay surface — the\n * default here too) and `ghost` (borderless, for breadcrumbs/inline pickers). Only the high-emphasis `primary`\n * look is intentionally NOT offered (a field is not a call-to-action).\n */\nexport type ComboboxVisualVariant = ControlTriggerVisualVariant;\nexport type ComboboxLegacyVariant = 'link';\nexport type ComboboxVariant = ComboboxVisualVariant | ComboboxLegacyVariant;\n\nfunction normalizeComboboxVariant(variant: ComboboxVariant): ComboboxVisualVariant {\n return variant === 'link' ? 'ghost' : variant;\n}\n\n/**\n * Single source of truth for both the single- and multi-select combobox\n * triggers. A combobox = a button + a trailing chevron, so it reuses the Button\n * recipe (variant colors, size = height/text/padding/radius, unified border\n * focus, disabled) and layers only the combobox-specific extras — exactly like\n * `SelectTrigger`.\n */\nexport function comboboxTriggerClass({\n variant,\n size,\n className,\n}: {\n variant: ComboboxVariant;\n size: ButtonSize;\n className?: string;\n}): string {\n const visualVariant = normalizeComboboxVariant(variant);\n\n return cn(\n buttonVariants({ variant: visualVariant, size }),\n visualVariant === 'default' && fieldTriggerStyle,\n // Fill the field and push the value left / chevron right (Button's base\n // centers its content with `justify-center`). Icon sizes are a fixed square\n // showing only the chevron, so they keep Button's centering.\n !isIconButtonSize(size) && cn(fieldTriggerWidthStyle, 'justify-between text-body-sm'),\n // Read as \"active\" while the popup is open, per variant (see map above).\n controlTriggerOpenState[visualVariant],\n 'data-[placeholder]:text-muted-foreground',\n fieldTriggerErrorBorder,\n className,\n );\n}\n\n/** Options are shared menu items, which already grow to fit a second line. */\nexport const comboboxItemClass = cva(menuItemClass, {\n variants: {\n multiple: {\n false: '',\n true: '',\n },\n },\n defaultVariants: {\n multiple: false,\n },\n});\n\nexport const comboboxStyles = {\n /** @deprecated A `Field` lays out the combobox and its error. */\n root: 'flex flex-col gap-1.5',\n\n /** Chevron icon in trigger — decorative icon token shared by every field. */\n chevron: 'ml-2 h-4 w-4 shrink-0 text-muted-foreground',\n\n /** Placeholder text color */\n placeholder: 'text-muted-foreground',\n\n /**\n * Popup container — shared menu popup, but the search row sits edge-to-edge\n * above the list, so padding/scrolling move to the list itself.\n */\n popup: cn(menuPopupClass, 'max-h-none overflow-hidden p-0'),\n\n /** Positioner */\n positioner: cn(menuPositionerClass, 'pointer-events-auto'),\n\n /** Search input container — borderless top section, hairline divider below. */\n searchContainer: menuSearchClasses.container,\n\n /** Search icon */\n searchIcon: menuSearchClasses.icon,\n\n /** Search input */\n searchInput: cn(menuSearchClasses.input, 'disabled:cursor-not-allowed disabled:opacity-50'),\n\n /** Empty state */\n empty: cn(menuEmptyClass, 'empty:hidden'),\n\n /** Options list */\n // `empty:p-0` — Empty renders outside the List, so an empty List must not leave its padding behind.\n list: 'p-1 empty:p-0',\n\n /** Scroll container around the List; hosts the fluid highlight so it scrolls with the rows. */\n listScroller: 'max-h-dropdown overflow-y-auto overflow-x-hidden',\n\n /** Option item base — rounded-lg sits concentrically inside rounded-xl + p-1. */\n item: comboboxItemClass({ multiple: false }),\n\n /** Multi-select item — same item rhythm with a right-aligned selected check. */\n itemMulti: comboboxItemClass({ multiple: true }),\n\n /** Right-aligned slot grouping end content + selection check. */\n itemRightSlot: 'ml-auto flex items-center gap-2 shrink-0',\n\n /** Check indicator container — inline, shown only when item is selected. */\n checkContainer: cn(menuItemCheckClass, 'ml-0'),\n\n /** Check icon (single select) */\n checkIcon: 'size-full',\n\n /** Option label/description wrapper */\n optionText: 'flex flex-col gap-0.5 min-w-0',\n\n /** Option label */\n optionLabel: 'truncate',\n\n /** Option description */\n optionDescription: 'text-caption text-muted-foreground truncate',\n\n /** Option end slot — `ml-auto` makes it push right inside flex containers (used by multi-select). */\n optionEnd: 'ml-auto flex items-center shrink-0',\n\n /** @deprecated A `FieldError` colors the error. */\n error: 'text-caption text-destructive-foreground',\n} as const;\n"],"names":["cn","buttonVariants","fieldTriggerStyle","isIconButtonSize","fieldTriggerWidthStyle","controlTriggerOpenState","fieldTriggerErrorBorder","cva","menuItemClass","menuPopupClass","menuPositionerClass","menuSearchClasses","menuEmptyClass","menuItemCheckClass"],"mappings":";;;;;;;;;AA0BA,SAAS,yBAAyB,OAAA,EAAiD;AACjF,EAAA,OAAO,OAAA,KAAY,SAAS,OAAA,GAAU,OAAA;AACxC;AASO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAIW;AACT,EAAA,MAAM,aAAA,GAAgB,yBAAyB,OAAO,CAAA;AAEtD,EAAA,OAAOA,WAAA;AAAA,IACLC,qBAAA,CAAe,EAAE,OAAA,EAAS,aAAA,EAAe,MAAM,CAAA;AAAA,IAC/C,kBAAkB,SAAA,IAAaC,wCAAA;AAAA;AAAA;AAAA;AAAA,IAI/B,CAACC,uBAAA,CAAiB,IAAI,CAAA,IAAKH,WAAA,CAAGI,+CAAwB,8BAA8B,CAAA;AAAA;AAAA,IAEpFC,+CAAwB,aAAa,CAAA;AAAA,IACrC,0CAAA;AAAA,IACAC,8CAAA;AAAA,IACA;AAAA,GACF;AACF;AAGO,MAAM,iBAAA,GAAoBC,UAAIC,iCAAA,EAAe;AAAA,EAClD,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,KAAA,EAAO,EAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU;AAAA;AAEd,CAAC;AAEM,MAAM,cAAA,GAAiB;AAAA;AAAA,EAE5B,IAAA,EAAM,uBAAA;AAAA;AAAA,EAGN,OAAA,EAAS,6CAAA;AAAA;AAAA,EAGT,WAAA,EAAa,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMb,KAAA,EAAOR,WAAA,CAAGS,kCAAA,EAAgB,gCAAgC,CAAA;AAAA;AAAA,EAG1D,UAAA,EAAYT,WAAA,CAAGU,uCAAA,EAAqB,qBAAqB,CAAA;AAAA;AAAA,EAGzD,iBAAiBC,qCAAA,CAAkB,SAAA;AAAA;AAAA,EAGnC,YAAYA,qCAAA,CAAkB,IAAA;AAAA;AAAA,EAG9B,WAAA,EAAaX,WAAA,CAAGW,qCAAA,CAAkB,KAAA,EAAO,iDAAiD,CAAA;AAAA;AAAA,EAG1F,KAAA,EAAOX,WAAA,CAAGY,kCAAA,EAAgB,cAAc,CAAA;AAAA;AAAA;AAAA,EAIxC,IAAA,EAAM,eAAA;AAAA;AAAA,EAGN,YAAA,EAAc,kDAAA;AAAA;AAAA,EAGd,IAAA,EAAM,iBAAA,CAAkB,EAAE,QAAA,EAAU,OAAO,CAAA;AAAA;AAAA,EAG3C,SAAA,EAAW,iBAAA,CAAkB,EAAE,QAAA,EAAU,MAAM,CAAA;AAAA;AAAA,EAG/C,aAAA,EAAe,0CAAA;AAAA;AAAA,EAGf,cAAA,EAAgBZ,WAAA,CAAGa,sCAAA,EAAoB,MAAM,CAAA;AAAA;AAAA,EAG7C,SAAA,EAAW,WAAA;AAAA;AAAA,EAGX,UAAA,EAAY,+BAAA;AAAA;AAAA,EAGZ,WAAA,EAAa,UAAA;AAAA;AAAA,EAGb,iBAAA,EAAmB,6CAAA;AAAA;AAAA,EAGnB,SAAA,EAAW,oCAAA;AAAA;AAAA,EAGX,KAAA,EAAO;AACT;;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const checkbox = require('../checkbox-CI8JtZKS.cjs');
5
+ const checkbox = require('../checkbox-Bkobte27.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as Checkbox } from '../checkbox-CQedzgsi.js';
1
+ export { C as Checkbox } from '../checkbox-DcNIsz5L.js';
2
2
  //# sourceMappingURL=Checkbox.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const codeBlock = require('../code-block-BzoMjjtf.cjs');
5
+ const codeBlock = require('../code-block-C3DbSINk.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { C as CodeBlock } from '../code-block-DY5KsTGY.js';
1
+ export { C as CodeBlock } from '../code-block-Bnz7Pq0Q.js';
2
2
  //# sourceMappingURL=CodeBlock.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const codeEditor = require('../code-editor-B_wPmKPf.cjs');
5
+ const codeEditor = require('../code-editor-Btr1qm_5.cjs');
6
6
  const highlight = require('../highlight-DK1dn-Fh.cjs');
7
7
 
8
8
 
@@ -1,3 +1,3 @@
1
- export { C as CodeEditor, V as VARIABLE_PATTERN, c as codeLanguages, a as createVariableAutocomplete, f as flattenSchemaToVariables, u as useCodemirrorTheme, v as variableHighlight } from '../code-editor-28chVxHw.js';
1
+ export { C as CodeEditor, V as VARIABLE_PATTERN, c as codeLanguages, a as createVariableAutocomplete, f as flattenSchemaToVariables, u as useCodemirrorTheme, v as variableHighlight } from '../code-editor-DzhYz1fH.js';
2
2
  export { h as highlight, l as languageForPath } from '../highlight-BmpoELR4.js';
3
3
  //# sourceMappingURL=CodeEditor.es.js.map
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const combobox = require('../combobox-DJ0c4o4S.cjs');
6
- const comboboxStyles = require('../combobox-styles-DLflBH-G.cjs');
5
+ const combobox = require('../combobox-RzEkcOuu.cjs');
6
+ const comboboxStyles = require('../combobox-styles-qL3FSgmU.cjs');
7
7
  const combobox$1 = require('@base-ui/react/combobox');
8
8
 
9
9
 
@@ -1,4 +1,4 @@
1
- export { C as Combobox } from '../combobox-B15qTrWO.js';
2
- export { c as comboboxStyles } from '../combobox-styles-C2MEEpaG.js';
1
+ export { C as Combobox } from '../combobox-DKFPbNMB.js';
2
+ export { c as comboboxStyles } from '../combobox-styles-mbcWlNZQ.js';
3
3
  export { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';
4
4
  //# sourceMappingURL=Combobox.es.js.map
@@ -8,11 +8,12 @@ const arrival = require('../arrival-BWQZUZFQ.cjs');
8
8
  const useWatched = require('../use-watched-BixmYWp0.cjs');
9
9
  const lucideReact = require('lucide-react');
10
10
  const React = require('react');
11
- const inputGroup = require('../input-group-BRhBfeHC.cjs');
11
+ const inputGroup = require('../input-group-BgCXLSRV.cjs');
12
12
  const utils_cn = require('../cn-DG0X1KEP.cjs');
13
13
  const Button = require('../Button-CXhSUBxN.cjs');
14
- const fieldBlock = require('../field-block-DtaPqBa3.cjs');
15
- const fieldErrorId = require('../field-error-id-B3Z2Zu5y.cjs');
14
+ const field = require('../field-ip9xiOVa.cjs');
15
+ require('../field-control-aria-WzMGs0A4.cjs');
16
+ const primitives_textareaControl = require('../primitives/textarea-control.cjs.js');
16
17
  const Txt = require('../Txt-DPmEpNbp.cjs');
17
18
 
18
19
  function CommentArrival({ children }) {
@@ -52,7 +53,6 @@ function CommentEditor({
52
53
  className
53
54
  }) {
54
55
  const [draft, setDraft] = React.useState(initialBody);
55
- const fieldName = React.useId();
56
56
  const body = draft.trim();
57
57
  const canSave = body.length > 0 && !isPending;
58
58
  const save = () => {
@@ -70,18 +70,16 @@ function CommentEditor({
70
70
  save();
71
71
  }
72
72
  };
73
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "comment-editor", className: utils_cn.cn("mt-1 flex flex-col gap-1.5", className), children: [
73
+ return /* @__PURE__ */ jsxRuntime.jsxs(field.Field, { invalid: Boolean(error), "data-slot": "comment-editor", className: utils_cn.cn("mt-1 flex flex-col gap-1.5", className), children: [
74
74
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
75
75
  /* @__PURE__ */ jsxRuntime.jsx(
76
- "textarea",
76
+ primitives_textareaControl.TextareaControl,
77
77
  {
78
78
  value: draft,
79
79
  onChange: (event) => setDraft(event.target.value),
80
80
  onKeyDown,
81
81
  readOnly: isPending,
82
82
  "aria-label": ariaLabel,
83
- "aria-invalid": error ? true : void 0,
84
- "aria-describedby": error ? fieldErrorId.fieldErrorId(fieldName) : void 0,
85
83
  rows: 2,
86
84
  className: "block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong"
87
85
  }
@@ -91,7 +89,7 @@ function CommentEditor({
91
89
  /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, {}), type: "button", size: "sm", disabled: !canSave, onClick: save, children: isPending ? "Saving…" : "Save" })
92
90
  ] })
93
91
  ] }),
94
- error ? /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.ErrorMsg, { name: fieldName, children: error }) : null
92
+ /* @__PURE__ */ jsxRuntime.jsx(field.FieldError, { children: error })
95
93
  ] });
96
94
  }
97
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.cjs.js","sources":["../../src/ds/components/Comment/comment-arrival.tsx","../../src/ds/components/Comment/comment-composer.tsx","../../src/ds/components/Comment/comment-editor.tsx","../../src/ds/components/Comment/comment-quote.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ArrivalScope, useWatched } from '@/ds/components/Arrival';\n\nimport './comment-arrival.css';\n\n/** A comment the reader watched land rises into place; one that was already there just appears. */\nexport function CommentArrival({ children }: { children: ReactNode }) {\n const watched = useWatched();\n\n return (\n <div data-slot=\"comment-arrival\" className={watched ? 'mastra-comment-arriving' : undefined}>\n <ArrivalScope>{children}</ArrivalScope>\n </div>\n );\n}\n","import { ArrowUp } from 'lucide-react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport type { InputGroupButtonProps, InputGroupInputProps } from '@/ds/components/InputGroup';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport type CommentComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const CommentComposer = forwardRef<HTMLFormElement, CommentComposerProps>(({ className, ...props }, ref) => (\n <form ref={ref} data-slot=\"comment-composer\" className={cn('flex w-full items-center gap-2', className)} {...props} />\n));\nCommentComposer.displayName = 'CommentComposer';\n\nconst composerSize: Record<CommentVariant, ControlSize> = {\n default: 'md',\n embed: 'sm',\n thread: 'md',\n};\n\nexport interface CommentComposerInputProps extends InputGroupInputProps {\n /** Layout classes for the surrounding InputGroup. */\n groupClassName?: string;\n children?: ReactNode;\n}\n\nexport const CommentComposerInput = forwardRef<HTMLInputElement, CommentComposerInputProps>(\n ({ groupClassName, children, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <InputGroup size={composerSize[variant]} className={groupClassName}>\n <InputGroupInput ref={ref} data-slot=\"comment-composer-input\" {...props} />\n {children}\n </InputGroup>\n );\n },\n);\nCommentComposerInput.displayName = 'CommentComposerInput';\n\nexport type CommentComposerSendProps = Omit<InputGroupButtonProps, 'children'>;\n\nexport const CommentComposerSend = forwardRef<HTMLButtonElement, CommentComposerSendProps>(\n ({ 'aria-label': ariaLabel = 'Send comment', type = 'submit', ...props }, ref) => (\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton ref={ref} data-slot=\"comment-composer-send\" type={type} aria-label={ariaLabel} {...props}>\n <ArrowUp />\n </InputGroupButton>\n </InputGroupAddon>\n ),\n);\nCommentComposerSend.displayName = 'CommentComposerSend';\n","import { Check, X } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport { FieldBlock, fieldErrorId } from '@/ds/components/FormFieldBlocks';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentEditorProps {\n initialBody: string;\n /** Handed the trimmed draft. Closing is the caller's call, so a save that failed keeps what was typed. */\n onSave: (body: string) => void;\n onClose: () => void;\n /** The caller's save in flight: the box locks until it settles. */\n isPending?: boolean;\n /** Why the caller's last save failed. */\n error?: string;\n 'aria-label'?: string;\n className?: string;\n}\n\n/** Owns the draft only; whether a save landed is the caller's mutation to report. */\nexport function CommentEditor({\n initialBody,\n onSave,\n onClose,\n isPending = false,\n error,\n 'aria-label': ariaLabel = 'Edit comment',\n className,\n}: CommentEditorProps) {\n const [draft, setDraft] = useState(initialBody);\n const fieldName = useId();\n const body = draft.trim();\n const canSave = body.length > 0 && !isPending;\n\n const save = () => {\n if (!canSave) return;\n if (body === initialBody) {\n onClose();\n return;\n }\n onSave(body);\n };\n\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n // An IME commit fires Enter mid-composition; acting on it would save half a word.\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n save();\n }\n };\n\n return (\n <div data-slot=\"comment-editor\" className={cn('mt-1 flex flex-col gap-1.5', className)}>\n <div className=\"relative\">\n <textarea\n value={draft}\n onChange={event => setDraft(event.target.value)}\n onKeyDown={onKeyDown}\n readOnly={isPending}\n aria-label={ariaLabel}\n aria-invalid={error ? true : undefined}\n aria-describedby={error ? fieldErrorId(fieldName) : undefined}\n rows={2}\n className=\"block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong\"\n />\n {/* Opaque, so a scrolled line passes behind the actions instead of under them. */}\n <div className=\"absolute inset-x-px bottom-px flex items-center justify-end gap-1 rounded-b-lg bg-background px-1.5 pt-1 pb-1.5\">\n <Button icon={<X />} type=\"button\" variant=\"ghost\" size=\"sm\" disabled={isPending} onClick={onClose}>\n Cancel\n </Button>\n <Button icon={<Check />} type=\"button\" size=\"sm\" disabled={!canSave} onClick={save}>\n {isPending ? 'Saving…' : 'Save'}\n </Button>\n </div>\n </div>\n {error ? <FieldBlock.ErrorMsg name={fieldName}>{error}</FieldBlock.ErrorMsg> : null}\n </div>\n );\n}\n","import { X } from 'lucide-react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentQuoteProps {\n authorName?: string;\n quote: string;\n /** Given only while the quote is a draft the writer can still drop. */\n onDismiss?: () => void;\n className?: string;\n}\n\n/** The passage a reply answers, above the reply itself or inside the composer writing it. */\nexport function CommentQuote({ authorName, quote, onDismiss, className }: CommentQuoteProps) {\n return (\n <blockquote\n data-slot=\"comment-quote\"\n className={cn(\n 'm-0 flex min-w-0 gap-2 border-l-2 border-border-strong pl-2 text-caption text-muted-foreground',\n className,\n )}\n >\n <span className=\"min-w-0 flex-1\">\n {authorName ? (\n <Txt as=\"span\" variant=\"column\">\n {authorName}{' '}\n </Txt>\n ) : null}\n <span className=\"line-clamp-2 wrap-anywhere whitespace-pre-line\">{quote}</span>\n </span>\n {onDismiss ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove quote\"\n onClick={onDismiss}\n className=\"shrink-0\"\n >\n <X size={12} aria-hidden />\n </Button>\n ) : null}\n </blockquote>\n );\n}\n"],"names":["useWatched","jsx","ArrivalScope","forwardRef","cn","useCommentVariant","InputGroup","InputGroupInput","InputGroupAddon","InputGroupButton","ArrowUp","useState","useId","jsxs","fieldErrorId","Button","X","Check","FieldBlock","Txt"],"mappings":"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"}
1
+ {"version":3,"file":"Comment.cjs.js","sources":["../../src/ds/components/Comment/comment-arrival.tsx","../../src/ds/components/Comment/comment-composer.tsx","../../src/ds/components/Comment/comment-editor.tsx","../../src/ds/components/Comment/comment-quote.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ArrivalScope, useWatched } from '@/ds/components/Arrival';\n\nimport './comment-arrival.css';\n\n/** A comment the reader watched land rises into place; one that was already there just appears. */\nexport function CommentArrival({ children }: { children: ReactNode }) {\n const watched = useWatched();\n\n return (\n <div data-slot=\"comment-arrival\" className={watched ? 'mastra-comment-arriving' : undefined}>\n <ArrivalScope>{children}</ArrivalScope>\n </div>\n );\n}\n","import { ArrowUp } from 'lucide-react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport type { InputGroupButtonProps, InputGroupInputProps } from '@/ds/components/InputGroup';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport type CommentComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const CommentComposer = forwardRef<HTMLFormElement, CommentComposerProps>(({ className, ...props }, ref) => (\n <form ref={ref} data-slot=\"comment-composer\" className={cn('flex w-full items-center gap-2', className)} {...props} />\n));\nCommentComposer.displayName = 'CommentComposer';\n\nconst composerSize: Record<CommentVariant, ControlSize> = {\n default: 'md',\n embed: 'sm',\n thread: 'md',\n};\n\nexport interface CommentComposerInputProps extends InputGroupInputProps {\n /** Layout classes for the surrounding InputGroup. */\n groupClassName?: string;\n children?: ReactNode;\n}\n\nexport const CommentComposerInput = forwardRef<HTMLInputElement, CommentComposerInputProps>(\n ({ groupClassName, children, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <InputGroup size={composerSize[variant]} className={groupClassName}>\n <InputGroupInput ref={ref} data-slot=\"comment-composer-input\" {...props} />\n {children}\n </InputGroup>\n );\n },\n);\nCommentComposerInput.displayName = 'CommentComposerInput';\n\nexport type CommentComposerSendProps = Omit<InputGroupButtonProps, 'children'>;\n\nexport const CommentComposerSend = forwardRef<HTMLButtonElement, CommentComposerSendProps>(\n ({ 'aria-label': ariaLabel = 'Send comment', type = 'submit', ...props }, ref) => (\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton ref={ref} data-slot=\"comment-composer-send\" type={type} aria-label={ariaLabel} {...props}>\n <ArrowUp />\n </InputGroupButton>\n </InputGroupAddon>\n ),\n);\nCommentComposerSend.displayName = 'CommentComposerSend';\n","import { Check, X } from 'lucide-react';\nimport { useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Field, FieldError } from '@/ds/components/Field';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentEditorProps {\n initialBody: string;\n /** Handed the trimmed draft. Closing is the caller's call, so a save that failed keeps what was typed. */\n onSave: (body: string) => void;\n onClose: () => void;\n /** The caller's save in flight: the box locks until it settles. */\n isPending?: boolean;\n /** Why the caller's last save failed. */\n error?: string;\n 'aria-label'?: string;\n className?: string;\n}\n\n/** Owns the draft only; whether a save landed is the caller's mutation to report. */\nexport function CommentEditor({\n initialBody,\n onSave,\n onClose,\n isPending = false,\n error,\n 'aria-label': ariaLabel = 'Edit comment',\n className,\n}: CommentEditorProps) {\n const [draft, setDraft] = useState(initialBody);\n const body = draft.trim();\n const canSave = body.length > 0 && !isPending;\n\n const save = () => {\n if (!canSave) return;\n if (body === initialBody) {\n onClose();\n return;\n }\n onSave(body);\n };\n\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n // An IME commit fires Enter mid-composition; acting on it would save half a word.\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n save();\n }\n };\n\n return (\n <Field invalid={Boolean(error)} data-slot=\"comment-editor\" className={cn('mt-1 flex flex-col gap-1.5', className)}>\n <div className=\"relative\">\n <TextareaControl\n value={draft}\n onChange={event => setDraft(event.target.value)}\n onKeyDown={onKeyDown}\n readOnly={isPending}\n aria-label={ariaLabel}\n rows={2}\n className=\"block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong\"\n />\n <div className=\"absolute inset-x-px bottom-px flex items-center justify-end gap-1 rounded-b-lg bg-background px-1.5 pt-1 pb-1.5\">\n <Button icon={<X />} type=\"button\" variant=\"ghost\" size=\"sm\" disabled={isPending} onClick={onClose}>\n Cancel\n </Button>\n <Button icon={<Check />} type=\"button\" size=\"sm\" disabled={!canSave} onClick={save}>\n {isPending ? 'Saving…' : 'Save'}\n </Button>\n </div>\n </div>\n <FieldError>{error}</FieldError>\n </Field>\n );\n}\n","import { X } from 'lucide-react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentQuoteProps {\n authorName?: string;\n quote: string;\n /** Given only while the quote is a draft the writer can still drop. */\n onDismiss?: () => void;\n className?: string;\n}\n\n/** The passage a reply answers, above the reply itself or inside the composer writing it. */\nexport function CommentQuote({ authorName, quote, onDismiss, className }: CommentQuoteProps) {\n return (\n <blockquote\n data-slot=\"comment-quote\"\n className={cn(\n 'm-0 flex min-w-0 gap-2 border-l-2 border-border-strong pl-2 text-caption text-muted-foreground',\n className,\n )}\n >\n <span className=\"min-w-0 flex-1\">\n {authorName ? (\n <Txt as=\"span\" variant=\"column\">\n {authorName}{' '}\n </Txt>\n ) : null}\n <span className=\"line-clamp-2 wrap-anywhere whitespace-pre-line\">{quote}</span>\n </span>\n {onDismiss ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove quote\"\n onClick={onDismiss}\n className=\"shrink-0\"\n >\n <X size={12} aria-hidden />\n </Button>\n ) : null}\n </blockquote>\n );\n}\n"],"names":["useWatched","jsx","ArrivalScope","forwardRef","cn","useCommentVariant","InputGroup","InputGroupInput","InputGroupAddon","InputGroupButton","ArrowUp","useState","jsxs","Field","TextareaControl","Button","X","Check","FieldError","Txt"],"mappings":";;;;;;;;;;;;;;;;;;AAOO,SAAS,cAAA,CAAe,EAAE,QAAA,EAAS,EAA4B;AACpE,EAAA,MAAM,UAAUA,qBAAA,EAAW;AAE3B,EAAA,uBACEC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,iBAAA,EAAkB,SAAA,EAAW,OAAA,GAAU,yBAAA,GAA4B,MAAA,EAChF,QAAA,kBAAAA,cAAA,CAACC,oBAAA,EAAA,EAAc,QAAA,EAAS,CAAA,EAC1B,CAAA;AAEJ;;ACFO,MAAM,eAAA,GAAkBC,iBAAkD,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBACzGF,cAAA,CAAC,UAAK,GAAA,EAAU,WAAA,EAAU,oBAAmB,SAAA,EAAWG,WAAA,CAAG,kCAAkC,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CACrH;AACD,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAE9B,MAAM,YAAA,GAAoD;AAAA,EACxD,OAAA,EAAS,IAAA;AAAA,EACT,KAAA,EAAO,IAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAA;AAQO,MAAM,oBAAA,GAAuBD,gBAAA;AAAA,EAClC,CAAC,EAAE,cAAA,EAAgB,UAAU,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC/C,IAAA,MAAM,UAAUE,yBAAA,EAAkB;AAElC,IAAA,uCACGC,qBAAA,EAAA,EAAW,IAAA,EAAM,aAAa,OAAO,CAAA,EAAG,WAAW,cAAA,EAClD,QAAA,EAAA;AAAA,sBAAAL,cAAA,CAACM,0BAAA,EAAA,EAAgB,GAAA,EAAU,WAAA,EAAU,wBAAA,EAA0B,GAAG,KAAA,EAAO,CAAA;AAAA,MACxE;AAAA,KAAA,EACH,CAAA;AAAA,EAEJ;AACF;AACA,oBAAA,CAAqB,WAAA,GAAc,sBAAA;AAI5B,MAAM,mBAAA,GAAsBJ,gBAAA;AAAA,EACjC,CAAC,EAAE,YAAA,EAAc,SAAA,GAAY,cAAA,EAAgB,IAAA,GAAO,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,qBACxEF,cAAA,CAACO,0BAAA,EAAA,EAAgB,KAAA,EAAM,YAAA,EACrB,QAAA,kBAAAP,cAAA,CAACQ,2BAAA,EAAA,EAAiB,GAAA,EAAU,WAAA,EAAU,uBAAA,EAAwB,IAAA,EAAY,YAAA,EAAY,SAAA,EAAY,GAAG,KAAA,EACnG,QAAA,kBAAAR,cAAA,CAACS,mBAAA,EAAA,EAAQ,CAAA,EACX,CAAA,EACF;AAEJ;AACA,mBAAA,CAAoB,WAAA,GAAc,qBAAA;;AChC3B,SAAS,aAAA,CAAc;AAAA,EAC5B,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,KAAA;AAAA,EACA,cAAc,SAAA,GAAY,cAAA;AAAA,EAC1B;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,WAAW,CAAA;AAC9C,EAAA,MAAM,IAAA,GAAO,MAAM,IAAA,EAAK;AACxB,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,MAAA,GAAS,CAAA,IAAK,CAAC,SAAA;AAEpC,EAAA,MAAM,OAAO,MAAM;AACjB,IAAA,IAAI,CAAC,OAAA,EAAS;AACd,IAAA,IAAI,SAAS,WAAA,EAAa;AACxB,MAAA,OAAA,EAAQ;AACR,MAAA;AAAA,IACF;AACA,IAAA,MAAA,CAAO,IAAI,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,CAAC,KAAA,KAA8C;AAE/D,IAAA,IAAI,KAAA,CAAM,YAAY,WAAA,EAAa;AACnC,IAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,OAAA,IAAW,CAAC,MAAM,QAAA,EAAU;AAC5C,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,IAAA,EAAK;AAAA,IACP;AAAA,EACF,CAAA;AAEA,EAAA,uBACEC,eAAA,CAACC,WAAA,EAAA,EAAM,OAAA,EAAS,OAAA,CAAQ,KAAK,CAAA,EAAG,WAAA,EAAU,gBAAA,EAAiB,SAAA,EAAWT,WAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA,EAC9G,QAAA,EAAA;AAAA,oBAAAQ,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,UAAA,EACb,QAAA,EAAA;AAAA,sBAAAX,cAAA;AAAA,QAACa,0CAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,KAAA;AAAA,UACP,QAAA,EAAU,CAAA,KAAA,KAAS,QAAA,CAAS,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,UAC9C,SAAA;AAAA,UACA,QAAA,EAAU,SAAA;AAAA,UACV,YAAA,EAAY,SAAA;AAAA,UACZ,IAAA,EAAM,CAAA;AAAA,UACN,SAAA,EAAU;AAAA;AAAA,OACZ;AAAA,sBACAF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iHAAA,EACb,QAAA,EAAA;AAAA,wBAAAX,cAAA,CAACc,aAAA,EAAA,EAAO,IAAA,kBAAMd,cAAA,CAACe,aAAA,EAAA,EAAE,GAAI,IAAA,EAAK,QAAA,EAAS,OAAA,EAAQ,OAAA,EAAQ,MAAK,IAAA,EAAK,QAAA,EAAU,SAAA,EAAW,OAAA,EAAS,SAAS,QAAA,EAAA,QAAA,EAEpG,CAAA;AAAA,uCACCD,aAAA,EAAA,EAAO,IAAA,kBAAMd,cAAA,CAACgB,iBAAA,EAAA,EAAM,GAAI,IAAA,EAAK,QAAA,EAAS,IAAA,EAAK,IAAA,EAAK,UAAU,CAAC,OAAA,EAAS,SAAS,IAAA,EAC3E,QAAA,EAAA,SAAA,GAAY,YAAY,MAAA,EAC3B;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBACAhB,cAAA,CAACiB,oBAAY,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACrB,CAAA;AAEJ;;AC/DO,SAAS,aAAa,EAAE,UAAA,EAAY,KAAA,EAAO,SAAA,EAAW,WAAU,EAAsB;AAC3F,EAAA,uBACEN,eAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAWR,WAAA;AAAA,QACT,gGAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAQ,eAAA,CAAC,MAAA,EAAA,EAAK,WAAU,gBAAA,EACb,QAAA,EAAA;AAAA,UAAA,UAAA,mBACCA,eAAA,CAACO,OAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,QAAA,EACpB,QAAA,EAAA;AAAA,YAAA,UAAA;AAAA,YAAY;AAAA,WAAA,EACf,CAAA,GACE,IAAA;AAAA,0BACJlB,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gDAAA,EAAkD,QAAA,EAAA,KAAA,EAAM;AAAA,SAAA,EAC1E,CAAA;AAAA,QACC,SAAA,mBACCA,cAAA;AAAA,UAACc,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAK,SAAA;AAAA,YACL,YAAA,EAAW,cAAA;AAAA,YACX,OAAA,EAAS,SAAA;AAAA,YACT,SAAA,EAAU,UAAA;AAAA,YAEV,QAAA,kBAAAd,cAAA,CAACe,aAAA,EAAA,EAAE,IAAA,EAAM,EAAA,EAAI,eAAW,IAAA,EAAC;AAAA;AAAA,SAC3B,GACE;AAAA;AAAA;AAAA,GACN;AAEJ;;;;;;;;;;;;;;;;;;;"}
@@ -4,12 +4,13 @@ import { jsx, jsxs } from 'react/jsx-runtime';
4
4
  import { A as ArrivalScope } from '../arrival-C4frvrgG.js';
5
5
  import { a as useWatched } from '../use-watched-CG9KoWl3.js';
6
6
  import { ArrowUp, X, Check } from 'lucide-react';
7
- import { forwardRef, useState, useId } from 'react';
8
- import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-0G9ZX_cM.js';
7
+ import { forwardRef, useState } from 'react';
8
+ import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-wzirc-1k.js';
9
9
  import { c as cn } from '../cn-65Adrsfj.js';
10
10
  import { B as Button } from '../Button-D43ghVKt.js';
11
- import { F as FieldBlock } from '../field-block--PeppIRb.js';
12
- import { f as fieldErrorId } from '../field-error-id-D3yg1nBh.js';
11
+ import { F as Field, c as FieldError } from '../field-BtvEQ68O.js';
12
+ import '../field-control-aria-DB6y41tQ.js';
13
+ import { TextareaControl } from '../primitives/textarea-control.es.js';
13
14
  import { T as Txt } from '../Txt-BP1SRHmL.js';
14
15
 
15
16
  function CommentArrival({ children }) {
@@ -49,7 +50,6 @@ function CommentEditor({
49
50
  className
50
51
  }) {
51
52
  const [draft, setDraft] = useState(initialBody);
52
- const fieldName = useId();
53
53
  const body = draft.trim();
54
54
  const canSave = body.length > 0 && !isPending;
55
55
  const save = () => {
@@ -67,18 +67,16 @@ function CommentEditor({
67
67
  save();
68
68
  }
69
69
  };
70
- return /* @__PURE__ */ jsxs("div", { "data-slot": "comment-editor", className: cn("mt-1 flex flex-col gap-1.5", className), children: [
70
+ return /* @__PURE__ */ jsxs(Field, { invalid: Boolean(error), "data-slot": "comment-editor", className: cn("mt-1 flex flex-col gap-1.5", className), children: [
71
71
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
72
72
  /* @__PURE__ */ jsx(
73
- "textarea",
73
+ TextareaControl,
74
74
  {
75
75
  value: draft,
76
76
  onChange: (event) => setDraft(event.target.value),
77
77
  onKeyDown,
78
78
  readOnly: isPending,
79
79
  "aria-label": ariaLabel,
80
- "aria-invalid": error ? true : void 0,
81
- "aria-describedby": error ? fieldErrorId(fieldName) : void 0,
82
80
  rows: 2,
83
81
  className: "block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong"
84
82
  }
@@ -88,7 +86,7 @@ function CommentEditor({
88
86
  /* @__PURE__ */ jsx(Button, { icon: /* @__PURE__ */ jsx(Check, {}), type: "button", size: "sm", disabled: !canSave, onClick: save, children: isPending ? "Saving…" : "Save" })
89
87
  ] })
90
88
  ] }),
91
- error ? /* @__PURE__ */ jsx(FieldBlock.ErrorMsg, { name: fieldName, children: error }) : null
89
+ /* @__PURE__ */ jsx(FieldError, { children: error })
92
90
  ] });
93
91
  }
94
92
 
@@ -1 +1 @@
1
- {"version":3,"file":"Comment.es.js","sources":["../../src/ds/components/Comment/comment-arrival.tsx","../../src/ds/components/Comment/comment-composer.tsx","../../src/ds/components/Comment/comment-editor.tsx","../../src/ds/components/Comment/comment-quote.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ArrivalScope, useWatched } from '@/ds/components/Arrival';\n\nimport './comment-arrival.css';\n\n/** A comment the reader watched land rises into place; one that was already there just appears. */\nexport function CommentArrival({ children }: { children: ReactNode }) {\n const watched = useWatched();\n\n return (\n <div data-slot=\"comment-arrival\" className={watched ? 'mastra-comment-arriving' : undefined}>\n <ArrivalScope>{children}</ArrivalScope>\n </div>\n );\n}\n","import { ArrowUp } from 'lucide-react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport type { InputGroupButtonProps, InputGroupInputProps } from '@/ds/components/InputGroup';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport type CommentComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const CommentComposer = forwardRef<HTMLFormElement, CommentComposerProps>(({ className, ...props }, ref) => (\n <form ref={ref} data-slot=\"comment-composer\" className={cn('flex w-full items-center gap-2', className)} {...props} />\n));\nCommentComposer.displayName = 'CommentComposer';\n\nconst composerSize: Record<CommentVariant, ControlSize> = {\n default: 'md',\n embed: 'sm',\n thread: 'md',\n};\n\nexport interface CommentComposerInputProps extends InputGroupInputProps {\n /** Layout classes for the surrounding InputGroup. */\n groupClassName?: string;\n children?: ReactNode;\n}\n\nexport const CommentComposerInput = forwardRef<HTMLInputElement, CommentComposerInputProps>(\n ({ groupClassName, children, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <InputGroup size={composerSize[variant]} className={groupClassName}>\n <InputGroupInput ref={ref} data-slot=\"comment-composer-input\" {...props} />\n {children}\n </InputGroup>\n );\n },\n);\nCommentComposerInput.displayName = 'CommentComposerInput';\n\nexport type CommentComposerSendProps = Omit<InputGroupButtonProps, 'children'>;\n\nexport const CommentComposerSend = forwardRef<HTMLButtonElement, CommentComposerSendProps>(\n ({ 'aria-label': ariaLabel = 'Send comment', type = 'submit', ...props }, ref) => (\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton ref={ref} data-slot=\"comment-composer-send\" type={type} aria-label={ariaLabel} {...props}>\n <ArrowUp />\n </InputGroupButton>\n </InputGroupAddon>\n ),\n);\nCommentComposerSend.displayName = 'CommentComposerSend';\n","import { Check, X } from 'lucide-react';\nimport { useId, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport { FieldBlock, fieldErrorId } from '@/ds/components/FormFieldBlocks';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentEditorProps {\n initialBody: string;\n /** Handed the trimmed draft. Closing is the caller's call, so a save that failed keeps what was typed. */\n onSave: (body: string) => void;\n onClose: () => void;\n /** The caller's save in flight: the box locks until it settles. */\n isPending?: boolean;\n /** Why the caller's last save failed. */\n error?: string;\n 'aria-label'?: string;\n className?: string;\n}\n\n/** Owns the draft only; whether a save landed is the caller's mutation to report. */\nexport function CommentEditor({\n initialBody,\n onSave,\n onClose,\n isPending = false,\n error,\n 'aria-label': ariaLabel = 'Edit comment',\n className,\n}: CommentEditorProps) {\n const [draft, setDraft] = useState(initialBody);\n const fieldName = useId();\n const body = draft.trim();\n const canSave = body.length > 0 && !isPending;\n\n const save = () => {\n if (!canSave) return;\n if (body === initialBody) {\n onClose();\n return;\n }\n onSave(body);\n };\n\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n // An IME commit fires Enter mid-composition; acting on it would save half a word.\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n save();\n }\n };\n\n return (\n <div data-slot=\"comment-editor\" className={cn('mt-1 flex flex-col gap-1.5', className)}>\n <div className=\"relative\">\n <textarea\n value={draft}\n onChange={event => setDraft(event.target.value)}\n onKeyDown={onKeyDown}\n readOnly={isPending}\n aria-label={ariaLabel}\n aria-invalid={error ? true : undefined}\n aria-describedby={error ? fieldErrorId(fieldName) : undefined}\n rows={2}\n className=\"block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong\"\n />\n {/* Opaque, so a scrolled line passes behind the actions instead of under them. */}\n <div className=\"absolute inset-x-px bottom-px flex items-center justify-end gap-1 rounded-b-lg bg-background px-1.5 pt-1 pb-1.5\">\n <Button icon={<X />} type=\"button\" variant=\"ghost\" size=\"sm\" disabled={isPending} onClick={onClose}>\n Cancel\n </Button>\n <Button icon={<Check />} type=\"button\" size=\"sm\" disabled={!canSave} onClick={save}>\n {isPending ? 'Saving…' : 'Save'}\n </Button>\n </div>\n </div>\n {error ? <FieldBlock.ErrorMsg name={fieldName}>{error}</FieldBlock.ErrorMsg> : null}\n </div>\n );\n}\n","import { X } from 'lucide-react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentQuoteProps {\n authorName?: string;\n quote: string;\n /** Given only while the quote is a draft the writer can still drop. */\n onDismiss?: () => void;\n className?: string;\n}\n\n/** The passage a reply answers, above the reply itself or inside the composer writing it. */\nexport function CommentQuote({ authorName, quote, onDismiss, className }: CommentQuoteProps) {\n return (\n <blockquote\n data-slot=\"comment-quote\"\n className={cn(\n 'm-0 flex min-w-0 gap-2 border-l-2 border-border-strong pl-2 text-caption text-muted-foreground',\n className,\n )}\n >\n <span className=\"min-w-0 flex-1\">\n {authorName ? (\n <Txt as=\"span\" variant=\"column\">\n {authorName}{' '}\n </Txt>\n ) : null}\n <span className=\"line-clamp-2 wrap-anywhere whitespace-pre-line\">{quote}</span>\n </span>\n {onDismiss ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove quote\"\n onClick={onDismiss}\n className=\"shrink-0\"\n >\n <X size={12} aria-hidden />\n </Button>\n ) : null}\n </blockquote>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Comment.es.js","sources":["../../src/ds/components/Comment/comment-arrival.tsx","../../src/ds/components/Comment/comment-composer.tsx","../../src/ds/components/Comment/comment-editor.tsx","../../src/ds/components/Comment/comment-quote.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { ArrivalScope, useWatched } from '@/ds/components/Arrival';\n\nimport './comment-arrival.css';\n\n/** A comment the reader watched land rises into place; one that was already there just appears. */\nexport function CommentArrival({ children }: { children: ReactNode }) {\n const watched = useWatched();\n\n return (\n <div data-slot=\"comment-arrival\" className={watched ? 'mastra-comment-arriving' : undefined}>\n <ArrivalScope>{children}</ArrivalScope>\n </div>\n );\n}\n","import { ArrowUp } from 'lucide-react';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { useCommentVariant } from './comment-context';\nimport type { CommentVariant } from './comment-context';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport type { InputGroupButtonProps, InputGroupInputProps } from '@/ds/components/InputGroup';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { cn } from '@/lib/utils';\n\nexport type CommentComposerProps = ComponentPropsWithoutRef<'form'>;\n\nexport const CommentComposer = forwardRef<HTMLFormElement, CommentComposerProps>(({ className, ...props }, ref) => (\n <form ref={ref} data-slot=\"comment-composer\" className={cn('flex w-full items-center gap-2', className)} {...props} />\n));\nCommentComposer.displayName = 'CommentComposer';\n\nconst composerSize: Record<CommentVariant, ControlSize> = {\n default: 'md',\n embed: 'sm',\n thread: 'md',\n};\n\nexport interface CommentComposerInputProps extends InputGroupInputProps {\n /** Layout classes for the surrounding InputGroup. */\n groupClassName?: string;\n children?: ReactNode;\n}\n\nexport const CommentComposerInput = forwardRef<HTMLInputElement, CommentComposerInputProps>(\n ({ groupClassName, children, ...props }, ref) => {\n const variant = useCommentVariant();\n\n return (\n <InputGroup size={composerSize[variant]} className={groupClassName}>\n <InputGroupInput ref={ref} data-slot=\"comment-composer-input\" {...props} />\n {children}\n </InputGroup>\n );\n },\n);\nCommentComposerInput.displayName = 'CommentComposerInput';\n\nexport type CommentComposerSendProps = Omit<InputGroupButtonProps, 'children'>;\n\nexport const CommentComposerSend = forwardRef<HTMLButtonElement, CommentComposerSendProps>(\n ({ 'aria-label': ariaLabel = 'Send comment', type = 'submit', ...props }, ref) => (\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton ref={ref} data-slot=\"comment-composer-send\" type={type} aria-label={ariaLabel} {...props}>\n <ArrowUp />\n </InputGroupButton>\n </InputGroupAddon>\n ),\n);\nCommentComposerSend.displayName = 'CommentComposerSend';\n","import { Check, X } from 'lucide-react';\nimport { useState } from 'react';\nimport type { KeyboardEvent } from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Field, FieldError } from '@/ds/components/Field';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentEditorProps {\n initialBody: string;\n /** Handed the trimmed draft. Closing is the caller's call, so a save that failed keeps what was typed. */\n onSave: (body: string) => void;\n onClose: () => void;\n /** The caller's save in flight: the box locks until it settles. */\n isPending?: boolean;\n /** Why the caller's last save failed. */\n error?: string;\n 'aria-label'?: string;\n className?: string;\n}\n\n/** Owns the draft only; whether a save landed is the caller's mutation to report. */\nexport function CommentEditor({\n initialBody,\n onSave,\n onClose,\n isPending = false,\n error,\n 'aria-label': ariaLabel = 'Edit comment',\n className,\n}: CommentEditorProps) {\n const [draft, setDraft] = useState(initialBody);\n const body = draft.trim();\n const canSave = body.length > 0 && !isPending;\n\n const save = () => {\n if (!canSave) return;\n if (body === initialBody) {\n onClose();\n return;\n }\n onSave(body);\n };\n\n const onKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n // An IME commit fires Enter mid-composition; acting on it would save half a word.\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n save();\n }\n };\n\n return (\n <Field invalid={Boolean(error)} data-slot=\"comment-editor\" className={cn('mt-1 flex flex-col gap-1.5', className)}>\n <div className=\"relative\">\n <TextareaControl\n value={draft}\n onChange={event => setDraft(event.target.value)}\n onKeyDown={onKeyDown}\n readOnly={isPending}\n aria-label={ariaLabel}\n rows={2}\n className=\"block field-sizing-content max-h-40 w-full resize-none overflow-y-auto rounded-lg border border-border bg-background px-2 pt-1.5 pb-9 text-caption text-foreground outline-none focus:border-border-strong\"\n />\n <div className=\"absolute inset-x-px bottom-px flex items-center justify-end gap-1 rounded-b-lg bg-background px-1.5 pt-1 pb-1.5\">\n <Button icon={<X />} type=\"button\" variant=\"ghost\" size=\"sm\" disabled={isPending} onClick={onClose}>\n Cancel\n </Button>\n <Button icon={<Check />} type=\"button\" size=\"sm\" disabled={!canSave} onClick={save}>\n {isPending ? 'Saving…' : 'Save'}\n </Button>\n </div>\n </div>\n <FieldError>{error}</FieldError>\n </Field>\n );\n}\n","import { X } from 'lucide-react';\n\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface CommentQuoteProps {\n authorName?: string;\n quote: string;\n /** Given only while the quote is a draft the writer can still drop. */\n onDismiss?: () => void;\n className?: string;\n}\n\n/** The passage a reply answers, above the reply itself or inside the composer writing it. */\nexport function CommentQuote({ authorName, quote, onDismiss, className }: CommentQuoteProps) {\n return (\n <blockquote\n data-slot=\"comment-quote\"\n className={cn(\n 'm-0 flex min-w-0 gap-2 border-l-2 border-border-strong pl-2 text-caption text-muted-foreground',\n className,\n )}\n >\n <span className=\"min-w-0 flex-1\">\n {authorName ? (\n <Txt as=\"span\" variant=\"column\">\n {authorName}{' '}\n </Txt>\n ) : null}\n <span className=\"line-clamp-2 wrap-anywhere whitespace-pre-line\">{quote}</span>\n </span>\n {onDismiss ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label=\"Remove quote\"\n onClick={onDismiss}\n className=\"shrink-0\"\n >\n <X size={12} aria-hidden />\n </Button>\n ) : null}\n </blockquote>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataCodeSection = require('../data-code-section-DWBfkrmO.cjs');
5
+ const dataCodeSection = require('../data-code-section-Ds79F6W-.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataCodeSection } from '../data-code-section-It6myyvZ.js';
1
+ export { D as DataCodeSection } from '../data-code-section-DFxE6ckH.js';
2
2
  //# sourceMappingURL=DataCodeSection.es.js.map
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataList = require('../data-list-Y42KyuI1.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-BXPfL0s7.cjs');
5
+ const dataList = require('../data-list-Bqf-fhMx.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton-DuqQkzwC.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
- const dataListSpacer = require('../data-list-spacer-BSg2hCx7.cjs');
9
- const dataListTop = require('../data-list-top-C-pLBax7.cjs');
8
+ const dataListSpacer = require('../data-list-spacer-DFvaAEqo.cjs');
9
+ const dataListTop = require('../data-list-top-CvD3KI8R.cjs');
10
10
  const Txt = require('../Txt-DPmEpNbp.cjs');
11
11
  const utils_dateFormat = require('../utils/date-format.cjs.js');
12
- const tracesDataList = require('../traces-data-list-BsAYYJ9t.cjs');
12
+ const tracesDataList = require('../traces-data-list-Dd8vMPQK.cjs');
13
13
  const useDataListKeyboard = require('../use-data-list-keyboard-DF3tLe10.cjs');
14
14
  const layout_tabbedContainer = require('../layout/tabbed-container.cjs.js');
15
15
 
@@ -1,11 +1,11 @@
1
- export { D as DataList } from '../data-list-CyeD_u-6.js';
2
- export { D as DataListSkeleton } from '../data-list-skeleton-Bk9LI0J0.js';
1
+ export { D as DataList } from '../data-list-CEIYm7FY.js';
2
+ export { D as DataListSkeleton } from '../data-list-skeleton-CeyLefM5.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import { D as DataListNextPageLoading, a as DataListNoMatch, d as DataListRowButton, f as DataListSortableTopCell } from '../data-list-spacer-C8z32twc.js';
5
- import { c as DataListCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-top-DheFgb0M.js';
4
+ import { D as DataListNextPageLoading, a as DataListNoMatch, d as DataListRowButton, f as DataListSortableTopCell } from '../data-list-spacer-BH2DjRdk.js';
5
+ import { c as DataListCell, b as DataListTopCell, a as DataListTop, D as DataListRoot } from '../data-list-top-CxUWL8gh.js';
6
6
  import { T as Txt } from '../Txt-BP1SRHmL.js';
7
7
  import { formatDate } from '../utils/date-format.es.js';
8
- export { T as TracesDataList } from '../traces-data-list-CnNpGVRN.js';
8
+ export { T as TracesDataList } from '../traces-data-list-Fvl8mlih.js';
9
9
  export { u as useDataListKeyboard } from '../use-data-list-keyboard-DFQr4t38.js';
10
10
  export { TabbedContainer } from '../layout/tabbed-container.es.js';
11
11
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataPanel = require('../data-panel-D7Qk4iwZ.cjs');
5
+ const dataPanel = require('../data-panel-o-QLWuFV.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataPanel } from '../data-panel-DuLf5j8S.js';
1
+ export { D as DataPanel } from '../data-panel-CbomKGJt.js';
2
2
  //# sourceMappingURL=DataPanel.es.js.map
@@ -7,10 +7,12 @@ const dateFns = require('date-fns');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
9
  const useDebounce = require('use-debounce');
10
- const textFieldBlock = require('../text-field-block-DUntfMPu.cjs');
11
10
  const datePicker = require('../date-picker-dRZF8frf.cjs');
12
- const timePicker = require('../time-picker-_QJdolkZ.cjs');
11
+ const timePicker = require('../time-picker-KE48KlpH.cjs');
13
12
  const Button = require('../Button-CXhSUBxN.cjs');
13
+ const field = require('../field-ip9xiOVa.cjs');
14
+ require('../field-control-aria-WzMGs0A4.cjs');
15
+ const input = require('../input-D0UPyj6A.cjs');
14
16
  const popover = require('../popover-lBqKiPtp.cjs');
15
17
  const primitives_controlSize = require('../primitives/control-size.cjs.js');
16
18
  const primitives_formElement = require('../primitives/form-element.cjs.js');
@@ -198,18 +200,11 @@ const DateTimePickerContent = ({
198
200
  }
199
201
  },
200
202
  children: [
201
- /* @__PURE__ */ jsxRuntime.jsx(
202
- textFieldBlock.TextFieldBlock,
203
- {
204
- name: "date-range",
205
- type: "text",
206
- value: dateInputValue,
207
- onChange: handleInputChange,
208
- placeholder,
209
- className: "m-4 mb-0 w-auto!",
210
- errorMsg: localErrorMsg
211
- }
212
- ),
203
+ /* @__PURE__ */ jsxRuntime.jsxs(field.Field, { invalid: Boolean(localErrorMsg), className: "m-4 mb-0 w-auto!", children: [
204
+ /* @__PURE__ */ jsxRuntime.jsx(field.FieldLabel, { className: "sr-only", children: "Date" }),
205
+ /* @__PURE__ */ jsxRuntime.jsx(input.Input, { type: "text", value: dateInputValue, onChange: handleInputChange, placeholder }),
206
+ /* @__PURE__ */ jsxRuntime.jsx(field.FieldError, { children: localErrorMsg })
207
+ ] }),
213
208
  /* @__PURE__ */ jsxRuntime.jsx(
214
209
  datePicker.DatePicker,
215
210
  {