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

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 (708) hide show
  1. package/README.md +98 -0
  2. package/dist/{Avatar-D6ybWljK.cjs → Avatar-0u68PVfu.cjs} +34 -42
  3. package/dist/Avatar-0u68PVfu.cjs.map +1 -0
  4. package/dist/{Avatar-C2Sz53u5.js → Avatar-BwkyFiED.js} +20 -28
  5. package/dist/Avatar-BwkyFiED.js.map +1 -0
  6. package/dist/{Button-C8QDEN9j.js → Button-60jVnaHt.js} +10 -4
  7. package/dist/Button-60jVnaHt.js.map +1 -0
  8. package/dist/{Button-BfZzgZrA.cjs → Button-CAVPKK09.cjs} +10 -4
  9. package/dist/Button-CAVPKK09.cjs.map +1 -0
  10. package/dist/{ErrorBoundary-3wDeQWo0.js → ErrorBoundary-BqNfJHRT.js} +2 -2
  11. package/dist/{ErrorBoundary-3wDeQWo0.js.map → ErrorBoundary-BqNfJHRT.js.map} +1 -1
  12. package/dist/{ErrorBoundary-BLsO6xv6.cjs → ErrorBoundary-SRNDrd4h.cjs} +2 -2
  13. package/dist/{ErrorBoundary-BLsO6xv6.cjs.map → ErrorBoundary-SRNDrd4h.cjs.map} +1 -1
  14. package/dist/{alert-dialog-j626w-Qb.cjs → alert-dialog-C-ODvRWT.cjs} +3 -3
  15. package/dist/{alert-dialog-j626w-Qb.cjs.map → alert-dialog-C-ODvRWT.cjs.map} +1 -1
  16. package/dist/{alert-dialog-R9z2SJLl.js → alert-dialog-DVAC9zdj.js} +3 -3
  17. package/dist/{alert-dialog-R9z2SJLl.js.map → alert-dialog-DVAC9zdj.js.map} +1 -1
  18. package/dist/{ask-user-card-40a18Qea.cjs → ask-user-card-BMiCYmFY.cjs} +2 -2
  19. package/dist/{ask-user-card-40a18Qea.cjs.map → ask-user-card-BMiCYmFY.cjs.map} +1 -1
  20. package/dist/{ask-user-card-xR8YiiQa.js → ask-user-card-CmfZg1wt.js} +2 -2
  21. package/dist/{ask-user-card-xR8YiiQa.js.map → ask-user-card-CmfZg1wt.js.map} +1 -1
  22. package/dist/avatar-size-CNR0U-LW.js +27 -0
  23. package/dist/avatar-size-CNR0U-LW.js.map +1 -0
  24. package/dist/avatar-size-DxStOo5A.cjs +32 -0
  25. package/dist/avatar-size-DxStOo5A.cjs.map +1 -0
  26. package/dist/{code-block-DQJ3NHRf.cjs → code-block-BuGosknt.cjs} +4 -4
  27. package/dist/{code-block-DQJ3NHRf.cjs.map → code-block-BuGosknt.cjs.map} +1 -1
  28. package/dist/{code-block-BQZUoOfS.js → code-block-vvYFcnqm.js} +4 -4
  29. package/dist/{code-block-BQZUoOfS.js.map → code-block-vvYFcnqm.js.map} +1 -1
  30. package/dist/{code-editor-D69saH4C.js → code-editor-B_v1EfzX.js} +2 -2
  31. package/dist/{code-editor-D69saH4C.js.map → code-editor-B_v1EfzX.js.map} +1 -1
  32. package/dist/{code-editor-Dg6Y6Q8z.cjs → code-editor-CH8c-KF1.cjs} +2 -2
  33. package/dist/{code-editor-Dg6Y6Q8z.cjs.map → code-editor-CH8c-KF1.cjs.map} +1 -1
  34. package/dist/{collapsible-box-B7YQWv7L.js → collapsible-box-CMmJEn3f.js} +2 -2
  35. package/dist/{collapsible-box-B7YQWv7L.js.map → collapsible-box-CMmJEn3f.js.map} +1 -1
  36. package/dist/{collapsible-box-Bu2jHdsK.cjs → collapsible-box-oUO65pxW.cjs} +2 -2
  37. package/dist/{collapsible-box-Bu2jHdsK.cjs.map → collapsible-box-oUO65pxW.cjs.map} +1 -1
  38. package/dist/{combobox-D9CFzzx8.cjs → combobox-fEMKH9nJ.cjs} +3 -3
  39. package/dist/{combobox-D9CFzzx8.cjs.map → combobox-fEMKH9nJ.cjs.map} +1 -1
  40. package/dist/{combobox-DDUIREaG.js → combobox-so2V71F7.js} +3 -3
  41. package/dist/{combobox-DDUIREaG.js.map → combobox-so2V71F7.js.map} +1 -1
  42. package/dist/{combobox-styles-BGCZADLP.cjs → combobox-styles-BJPT0TpQ.cjs} +2 -2
  43. package/dist/{combobox-styles-BGCZADLP.cjs.map → combobox-styles-BJPT0TpQ.cjs.map} +1 -1
  44. package/dist/{combobox-styles-wLpeTjOR.js → combobox-styles-BQnNIOpr.js} +2 -2
  45. package/dist/{combobox-styles-wLpeTjOR.js.map → combobox-styles-BQnNIOpr.js.map} +1 -1
  46. package/dist/{command-DbZ6CSAy.cjs → command-B_C36ppQ.cjs} +2 -2
  47. package/dist/{command-DbZ6CSAy.cjs.map → command-B_C36ppQ.cjs.map} +1 -1
  48. package/dist/{command-DtIlcv-t.js → command-DMqzDhzs.js} +2 -2
  49. package/dist/{command-DtIlcv-t.js.map → command-DMqzDhzs.js.map} +1 -1
  50. package/dist/components/AlertDialog.cjs.js +1 -1
  51. package/dist/components/AlertDialog.es.js +1 -1
  52. package/dist/components/Avatar.cjs.js +1 -1
  53. package/dist/components/Avatar.es.js +1 -1
  54. package/dist/components/Button.cjs.js +1 -1
  55. package/dist/components/Button.es.js +2 -2
  56. package/dist/components/ClampedText.cjs.js +1 -1
  57. package/dist/components/ClampedText.es.js +1 -1
  58. package/dist/components/CodeBlock.cjs.js +1 -1
  59. package/dist/components/CodeBlock.es.js +1 -1
  60. package/dist/components/CodeEditor.cjs.js +1 -1
  61. package/dist/components/CodeEditor.es.js +1 -1
  62. package/dist/components/CollapsibleBox.cjs.js +1 -1
  63. package/dist/components/CollapsibleBox.es.js +1 -1
  64. package/dist/components/Combobox.cjs.js +2 -2
  65. package/dist/components/Combobox.es.js +2 -2
  66. package/dist/components/Command.cjs.js +1 -1
  67. package/dist/components/Command.es.js +1 -1
  68. package/dist/components/CommandPalette.cjs.js +1 -1
  69. package/dist/components/CommandPalette.es.js +1 -1
  70. package/dist/components/Comment.cjs.js +2 -2
  71. package/dist/components/Comment.es.js +2 -2
  72. package/dist/components/CopyButton.cjs.js +1 -1
  73. package/dist/components/CopyButton.es.js +1 -1
  74. package/dist/components/DataCodeSection.cjs.js +1 -1
  75. package/dist/components/DataCodeSection.es.js +1 -1
  76. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  77. package/dist/components/DataDetailsPanel.es.js +2 -2
  78. package/dist/components/DataList.cjs.js +15 -17
  79. package/dist/components/DataList.cjs.js.map +1 -1
  80. package/dist/components/DataList.es.js +4 -5
  81. package/dist/components/DataList.es.js.map +1 -1
  82. package/dist/components/DataPanel.cjs.js +1 -1
  83. package/dist/components/DataPanel.es.js +1 -1
  84. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  85. package/dist/components/DateRangeTimeline.es.js +1 -1
  86. package/dist/components/DateTimePicker.cjs.js +2 -2
  87. package/dist/components/DateTimePicker.es.js +2 -2
  88. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  89. package/dist/components/DateTimeRangePicker.es.js +1 -1
  90. package/dist/components/Dialog.cjs.js +2 -2
  91. package/dist/components/Dialog.es.js +2 -2
  92. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  93. package/dist/components/DisabledFeatureButton.es.js +1 -1
  94. package/dist/components/Drawer.cjs.js +1 -1
  95. package/dist/components/Drawer.es.js +1 -1
  96. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  97. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  98. package/dist/components/ErrorBoundary.cjs.js +1 -1
  99. package/dist/components/ErrorBoundary.es.js +1 -1
  100. package/dist/components/FilterBar.cjs.js +3 -3
  101. package/dist/components/FilterBar.es.js +4 -4
  102. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  103. package/dist/components/FormFieldBlocks.es.js +2 -2
  104. package/dist/components/InputGroup.cjs.js +1 -1
  105. package/dist/components/InputGroup.es.js +1 -1
  106. package/dist/components/InputNumber.cjs.js +2 -2
  107. package/dist/components/InputNumber.es.js +2 -2
  108. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  109. package/dist/components/JSONSchemaForm.es.js +2 -2
  110. package/dist/components/ListSearch.cjs.js +1 -1
  111. package/dist/components/ListSearch.es.js +1 -1
  112. package/dist/components/LogsDataList.cjs.js +5 -2
  113. package/dist/components/LogsDataList.cjs.js.map +1 -1
  114. package/dist/components/LogsDataList.es.js +5 -2
  115. package/dist/components/LogsDataList.es.js.map +1 -1
  116. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  117. package/dist/components/MarkdownRenderer.es.js +1 -1
  118. package/dist/components/Message.cjs.js +1 -1
  119. package/dist/components/Message.es.js +1 -1
  120. package/dist/components/MetricsCard.cjs.js +1 -1
  121. package/dist/components/MetricsCard.es.js +1 -1
  122. package/dist/components/PageHeader.cjs.js +1 -1
  123. package/dist/components/PageHeader.es.js +1 -1
  124. package/dist/components/PageLayout.cjs.js +1 -1
  125. package/dist/components/PageLayout.cjs.js.map +1 -1
  126. package/dist/components/PageLayout.es.js +1 -1
  127. package/dist/components/PageLayout.es.js.map +1 -1
  128. package/dist/components/Pagination.cjs.js +17 -0
  129. package/dist/components/Pagination.cjs.js.map +1 -0
  130. package/dist/components/Pagination.d.ts +2 -0
  131. package/dist/components/Pagination.es.js +2 -0
  132. package/dist/components/Pagination.es.js.map +1 -0
  133. package/dist/components/PrevNextNav.cjs.js +1 -1
  134. package/dist/components/PrevNextNav.es.js +1 -1
  135. package/dist/components/ProductAvatar.cjs.js +19 -2
  136. package/dist/components/ProductAvatar.cjs.js.map +1 -1
  137. package/dist/components/ProductAvatar.es.js +19 -2
  138. package/dist/components/ProductAvatar.es.js.map +1 -1
  139. package/dist/components/PropertyFilter.cjs.js +3 -3
  140. package/dist/components/PropertyFilter.es.js +4 -4
  141. package/dist/components/RuleBuilder.cjs.js +2 -2
  142. package/dist/components/RuleBuilder.es.js +2 -2
  143. package/dist/components/SavedViews.cjs.js +2 -2
  144. package/dist/components/SavedViews.es.js +2 -2
  145. package/dist/components/SearchInput.cjs.js +1 -1
  146. package/dist/components/SearchInput.es.js +1 -1
  147. package/dist/components/Select.cjs.js +1 -1
  148. package/dist/components/Select.es.js +1 -1
  149. package/dist/components/SideDialog.cjs.js +1 -1
  150. package/dist/components/SideDialog.es.js +1 -1
  151. package/dist/components/Sidebar.cjs.js +3 -3
  152. package/dist/components/Sidebar.es.js +3 -3
  153. package/dist/components/Table.cjs.js +286 -47
  154. package/dist/components/Table.cjs.js.map +1 -1
  155. package/dist/components/Table.es.js +284 -49
  156. package/dist/components/Table.es.js.map +1 -1
  157. package/dist/components/Tabs.cjs.js +1 -1
  158. package/dist/components/Tabs.es.js +1 -1
  159. package/dist/components/ThreadList.cjs.js +1 -1
  160. package/dist/components/ThreadList.es.js +1 -1
  161. package/dist/components/Truncate.cjs.js +1 -1
  162. package/dist/components/Truncate.es.js +1 -1
  163. package/dist/components/Workflow.cjs.js +6 -6
  164. package/dist/components/Workflow.es.js +6 -6
  165. package/dist/components/ai/activity.cjs.js +1 -1
  166. package/dist/components/ai/activity.es.js +1 -1
  167. package/dist/components/ai/ask-user.cjs.js +1 -1
  168. package/dist/components/ai/ask-user.es.js +1 -1
  169. package/dist/components/ai/plan.cjs.js +1 -1
  170. package/dist/components/ai/plan.es.js +1 -1
  171. package/dist/components/ai/tool-approval.cjs.js +1 -1
  172. package/dist/components/ai/tool-approval.es.js +1 -1
  173. package/dist/components/ai/tool-call.cjs.js +3 -3
  174. package/dist/components/ai/tool-call.es.js +3 -3
  175. package/dist/{copy-button-CUVxXN4H.cjs → copy-button-5tVWqoTk.cjs} +2 -2
  176. package/dist/{copy-button-CUVxXN4H.cjs.map → copy-button-5tVWqoTk.cjs.map} +1 -1
  177. package/dist/{copy-button-CDyuUYUr.js → copy-button-Af_Qt7G1.js} +2 -2
  178. package/dist/{copy-button-CDyuUYUr.js.map → copy-button-Af_Qt7G1.js.map} +1 -1
  179. package/dist/{data-code-section-B2Ea7FwM.cjs → data-code-section-Bs8sHDux.cjs} +5 -5
  180. package/dist/{data-code-section-B2Ea7FwM.cjs.map → data-code-section-Bs8sHDux.cjs.map} +1 -1
  181. package/dist/{data-code-section-DrJYy1dR.js → data-code-section-CqdjmClK.js} +5 -5
  182. package/dist/{data-code-section-DrJYy1dR.js.map → data-code-section-CqdjmClK.js.map} +1 -1
  183. package/dist/{data-list-top-BJCC62oy.js → data-list-B2ArWwsJ.js} +332 -5
  184. package/dist/data-list-B2ArWwsJ.js.map +1 -0
  185. package/dist/{data-list-top-Ds-NWyPO.cjs → data-list-BLfHObw8.cjs} +339 -13
  186. package/dist/data-list-BLfHObw8.cjs.map +1 -0
  187. package/dist/{data-list-skeleton-CfVsXhx1.cjs → data-list-skeleton-BGJD4qMF.cjs} +6 -6
  188. package/dist/{data-list-skeleton-CfVsXhx1.cjs.map → data-list-skeleton-BGJD4qMF.cjs.map} +1 -1
  189. package/dist/{data-list-skeleton-BmsDYJrA.js → data-list-skeleton-BNsWWamC.js} +2 -2
  190. package/dist/{data-list-skeleton-BmsDYJrA.js.map → data-list-skeleton-BNsWWamC.js.map} +1 -1
  191. package/dist/{data-panel-COU5dbUJ.js → data-panel-BdCw3F_h.js} +46 -23
  192. package/dist/data-panel-BdCw3F_h.js.map +1 -0
  193. package/dist/{data-panel-CTqb-0qN.cjs → data-panel-Wjgbl6zx.cjs} +45 -22
  194. package/dist/data-panel-Wjgbl6zx.cjs.map +1 -0
  195. package/dist/{date-time-range-picker-BvRPfy1i.cjs → date-time-range-picker-ByNvjYuV.cjs} +3 -3
  196. package/dist/{date-time-range-picker-BvRPfy1i.cjs.map → date-time-range-picker-ByNvjYuV.cjs.map} +1 -1
  197. package/dist/{date-time-range-picker-CIfaXUuy.js → date-time-range-picker-SU1Q1h1h.js} +3 -3
  198. package/dist/{date-time-range-picker-CIfaXUuy.js.map → date-time-range-picker-SU1Q1h1h.js.map} +1 -1
  199. package/dist/{dialog-DQI9ChYf.cjs → dialog-B5nLi0ER.cjs} +3 -3
  200. package/dist/{dialog-DQI9ChYf.cjs.map → dialog-B5nLi0ER.cjs.map} +1 -1
  201. package/dist/{dialog-DlZmNahd.js → dialog-Jz2ZfO-z.js} +3 -3
  202. package/dist/{dialog-DlZmNahd.js.map → dialog-Jz2ZfO-z.js.map} +1 -1
  203. package/dist/{dialog-action-c4nfPomF.js → dialog-action-BxXhAz-P.js} +3 -3
  204. package/dist/{dialog-action-c4nfPomF.js.map → dialog-action-BxXhAz-P.js.map} +1 -1
  205. package/dist/{dialog-action-gdo9CwUv.cjs → dialog-action-DdkbsKfP.cjs} +3 -3
  206. package/dist/{dialog-action-gdo9CwUv.cjs.map → dialog-action-DdkbsKfP.cjs.map} +1 -1
  207. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  208. package/dist/domains/auth/components/session-expired.es.js +1 -1
  209. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  210. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  211. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  212. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  213. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  214. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  215. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  216. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  217. package/dist/domains/chat/messages/dataset-save-action.cjs.js +6 -5
  218. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  219. package/dist/domains/chat/messages/dataset-save-action.es.js +6 -5
  220. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  221. package/dist/domains/chat/messages/message-row.cjs.js +3 -3
  222. package/dist/domains/chat/messages/message-row.es.js +3 -3
  223. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  224. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  225. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  226. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  227. package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
  228. package/dist/domains/chat/messages/skill-message.es.js +1 -1
  229. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  230. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  231. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  232. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  233. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  234. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  235. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  236. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  237. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  238. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  239. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  240. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  241. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  242. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  243. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
  244. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
  245. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  246. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  247. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  248. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  249. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  250. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  251. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  252. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  253. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -4
  254. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  255. package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -4
  256. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  257. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  258. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  259. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  260. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  261. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +11 -6
  262. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  263. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +11 -6
  264. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  265. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  266. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  267. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
  268. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  269. package/dist/domains/logs/components/logs-list-view.es.js +3 -2
  270. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  271. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  272. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  273. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  274. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  275. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  276. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  277. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  278. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  279. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  280. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  281. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  282. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  283. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  284. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  285. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  286. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  287. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  288. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  289. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  290. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  291. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  292. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  293. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  294. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  295. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  296. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  297. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  298. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  299. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  300. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  301. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  302. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  303. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +5 -4
  304. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  305. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +5 -4
  306. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  307. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  308. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  309. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  310. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  311. package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
  312. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  313. package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
  314. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  315. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  316. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  317. package/dist/domains/traces/components/span-data-panel-view.cjs.js +3 -3
  318. package/dist/domains/traces/components/span-data-panel-view.es.js +3 -3
  319. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  320. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  321. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  322. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  323. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  324. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  325. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  326. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  327. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  328. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  329. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  330. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  331. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  332. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  333. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
  334. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
  335. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  336. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  337. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
  338. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
  339. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  340. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  341. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  342. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  343. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  344. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  345. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  346. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  347. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -2
  348. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  349. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -2
  350. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  351. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  352. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  353. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  354. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  355. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -3
  356. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  357. package/dist/domains/traces/components/trace-data-panel.es.js +4 -3
  358. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  359. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  360. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  361. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  362. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  363. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  364. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  365. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  366. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  367. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  368. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  369. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  370. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  371. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  372. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  373. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -5
  374. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  375. package/dist/domains/traces/components/traces-list-view.es.js +3 -4
  376. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  377. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
  378. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  379. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
  380. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  381. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  382. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  383. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  384. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  385. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  386. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  387. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  388. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  389. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  390. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  391. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  392. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  393. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  394. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  395. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  396. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  397. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  398. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  399. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  400. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  401. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  402. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  403. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  404. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  405. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  406. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  407. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  408. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  409. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  410. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  411. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  412. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  413. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  414. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  415. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  416. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  417. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  418. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  419. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  420. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  421. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  422. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  423. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
  424. package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
  425. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  426. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  427. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  428. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  429. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  430. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  431. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  432. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  433. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
  434. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
  435. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  436. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  437. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  438. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  439. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  440. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  441. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  442. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  443. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  444. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  445. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  446. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  447. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  448. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  449. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  450. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  451. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  452. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  453. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  454. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  455. package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
  456. package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
  457. package/dist/{drawer-CeUYCG-S.cjs → drawer-C6PBqg__.cjs} +2 -2
  458. package/dist/{drawer-CeUYCG-S.cjs.map → drawer-C6PBqg__.cjs.map} +1 -1
  459. package/dist/{drawer-CZlqOjd2.js → drawer-CwVDeB8H.js} +2 -2
  460. package/dist/{drawer-CZlqOjd2.js.map → drawer-CwVDeB8H.js.map} +1 -1
  461. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +4 -6
  462. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  463. package/dist/ee/signals/components/entity-index-compact-grid.es.js +6 -8
  464. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  465. package/dist/ee/signals/components/entity-index-list.cjs.js +33 -32
  466. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  467. package/dist/ee/signals/components/entity-index-list.es.js +35 -34
  468. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  469. package/dist/ee/signals/components/entity-index-model.cjs.js +7 -0
  470. package/dist/ee/signals/components/entity-index-model.cjs.js.map +1 -1
  471. package/dist/ee/signals/components/entity-index-model.es.js +7 -1
  472. package/dist/ee/signals/components/entity-index-model.es.js.map +1 -1
  473. package/dist/ee/signals/components/entity-index-status.cjs.js +26 -0
  474. package/dist/ee/signals/components/entity-index-status.cjs.js.map +1 -0
  475. package/dist/ee/signals/components/entity-index-status.d.ts +2 -0
  476. package/dist/ee/signals/components/entity-index-status.es.js +22 -0
  477. package/dist/ee/signals/components/entity-index-status.es.js.map +1 -0
  478. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  479. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  480. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +15 -13
  481. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  482. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +15 -13
  483. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  484. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  485. package/dist/ee/signals/examples-pager.es.js +1 -1
  486. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  487. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  488. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  489. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  490. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  491. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  492. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  493. package/dist/ee/signals/signals-error-state.es.js +1 -1
  494. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  495. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  496. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  497. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  498. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  499. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  500. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  501. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  502. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  503. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  504. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  505. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  506. package/dist/{filter-bar-chip-C_371aon.cjs → filter-bar-chip-BBErw_aR.cjs} +3 -3
  507. package/dist/{filter-bar-chip-C_371aon.cjs.map → filter-bar-chip-BBErw_aR.cjs.map} +1 -1
  508. package/dist/{filter-bar-chip-Dc6phYqZ.js → filter-bar-chip-DvRTWRwT.js} +3 -3
  509. package/dist/{filter-bar-chip-Dc6phYqZ.js.map → filter-bar-chip-DvRTWRwT.js.map} +1 -1
  510. package/dist/{input-group-BWsGYnES.js → input-group-CIIwoggO.js} +2 -2
  511. package/dist/{input-group-BWsGYnES.js.map → input-group-CIIwoggO.js.map} +1 -1
  512. package/dist/{input-group-Cy7k5JRg.cjs → input-group-DQuyC9Pz.cjs} +2 -2
  513. package/dist/{input-group-Cy7k5JRg.cjs.map → input-group-DQuyC9Pz.cjs.map} +1 -1
  514. package/dist/layout/tabbed-container.cjs.js +4 -4
  515. package/dist/layout/tabbed-container.es.js +4 -4
  516. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  517. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  518. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  519. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  520. package/dist/lib/form/components/date-field.cjs.js +1 -1
  521. package/dist/lib/form/components/date-field.es.js +1 -1
  522. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  523. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  524. package/dist/lib/form/components/record-field.cjs.js +1 -1
  525. package/dist/lib/form/components/record-field.es.js +1 -1
  526. package/dist/lib/form/components/select-field.cjs.js +1 -1
  527. package/dist/lib/form/components/select-field.es.js +1 -1
  528. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  529. package/dist/lib/form/components/submit-button.es.js +1 -1
  530. package/dist/{list-search-xHadeMHl.cjs → list-search-C5j3HYkb.cjs} +2 -2
  531. package/dist/{list-search-xHadeMHl.cjs.map → list-search-C5j3HYkb.cjs.map} +1 -1
  532. package/dist/{list-search-BNnMwbpv.js → list-search-Cwp-OPvC.js} +2 -2
  533. package/dist/{list-search-BNnMwbpv.js.map → list-search-Cwp-OPvC.js.map} +1 -1
  534. package/dist/{logs-data-list-C262Be3o.js → logs-data-list-B-gmgU74.js} +2 -3
  535. package/dist/{logs-data-list-C262Be3o.js.map → logs-data-list-B-gmgU74.js.map} +1 -1
  536. package/dist/{logs-data-list-DfuVMd6f.cjs → logs-data-list-CaXnNnC5.cjs} +21 -22
  537. package/dist/{logs-data-list-DfuVMd6f.cjs.map → logs-data-list-CaXnNnC5.cjs.map} +1 -1
  538. package/dist/{markdown-renderer-DaXAim8y.cjs → markdown-renderer-BXTNiZbz.cjs} +3 -3
  539. package/dist/{markdown-renderer-DaXAim8y.cjs.map → markdown-renderer-BXTNiZbz.cjs.map} +1 -1
  540. package/dist/{markdown-renderer-D5Wjk1Cs.js → markdown-renderer-Ct-q_KTF.js} +3 -3
  541. package/dist/{markdown-renderer-D5Wjk1Cs.js.map → markdown-renderer-Ct-q_KTF.js.map} +1 -1
  542. package/dist/{message-copy-button-CREuo4t5.cjs → message-copy-button-Cni-zv0j.cjs} +2 -2
  543. package/dist/{message-copy-button-CREuo4t5.cjs.map → message-copy-button-Cni-zv0j.cjs.map} +1 -1
  544. package/dist/{message-copy-button-BlwQej7y.js → message-copy-button-DDgqbtbv.js} +2 -2
  545. package/dist/{message-copy-button-BlwQej7y.js.map → message-copy-button-DDgqbtbv.js.map} +1 -1
  546. package/dist/{metrics-card-oEbbYDo7.js → metrics-card-C33VsuXf.js} +2 -2
  547. package/dist/{metrics-card-oEbbYDo7.js.map → metrics-card-C33VsuXf.js.map} +1 -1
  548. package/dist/{metrics-card-Bv2A5G41.cjs → metrics-card-CxOVpP1t.cjs} +2 -2
  549. package/dist/{metrics-card-Bv2A5G41.cjs.map → metrics-card-CxOVpP1t.cjs.map} +1 -1
  550. package/dist/new/layout/app-shell.cjs.js +9 -4
  551. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  552. package/dist/new/layout/app-shell.es.js +10 -5
  553. package/dist/new/layout/app-shell.es.js.map +1 -1
  554. package/dist/new/layout/page-header.cjs.js +1 -1
  555. package/dist/new/layout/page-header.es.js +1 -1
  556. package/dist/{page-header-CLxPq7T5.cjs → page-header-9Q9vOrh-.cjs} +3 -9
  557. package/dist/page-header-9Q9vOrh-.cjs.map +1 -0
  558. package/dist/{page-header-Bf0zLkyY.js → page-header-d2cK2zOg.js} +3 -9
  559. package/dist/page-header-d2cK2zOg.js.map +1 -0
  560. package/dist/pagination-range-BlUsZjqD.js +191 -0
  561. package/dist/pagination-range-BlUsZjqD.js.map +1 -0
  562. package/dist/pagination-range-C0i6gunh.cjs +200 -0
  563. package/dist/pagination-range-C0i6gunh.cjs.map +1 -0
  564. package/dist/{plan-CdtX72kw.cjs → plan-CL-lbDuy.cjs} +4 -4
  565. package/dist/{plan-CdtX72kw.cjs.map → plan-CL-lbDuy.cjs.map} +1 -1
  566. package/dist/{plan-Cl3-JgbI.js → plan-TXWANP1R.js} +4 -4
  567. package/dist/{plan-Cl3-JgbI.js.map → plan-TXWANP1R.js.map} +1 -1
  568. package/dist/primitives/menu-item.cjs.js +1 -1
  569. package/dist/primitives/menu-item.es.js +1 -1
  570. package/dist/primitives/raised-surface.cjs.js +2 -0
  571. package/dist/primitives/raised-surface.cjs.js.map +1 -1
  572. package/dist/primitives/raised-surface.es.js +2 -1
  573. package/dist/primitives/raised-surface.es.js.map +1 -1
  574. package/dist/primitives/trigger-button.cjs.js +1 -1
  575. package/dist/primitives/trigger-button.es.js +1 -1
  576. package/dist/{property-filter-applied-BeLCh3zo.cjs → property-filter-applied-BBvaTC4B.cjs} +2 -2
  577. package/dist/{property-filter-applied-BeLCh3zo.cjs.map → property-filter-applied-BBvaTC4B.cjs.map} +1 -1
  578. package/dist/{property-filter-applied-CZLzY0OH.js → property-filter-applied-Ru3OQoGo.js} +2 -2
  579. package/dist/{property-filter-applied-CZLzY0OH.js.map → property-filter-applied-Ru3OQoGo.js.map} +1 -1
  580. package/dist/{reasoning-activity-DehWtcyc.cjs → reasoning-activity-CFEaSv4J.cjs} +2 -2
  581. package/dist/{reasoning-activity-DehWtcyc.cjs.map → reasoning-activity-CFEaSv4J.cjs.map} +1 -1
  582. package/dist/{reasoning-activity-CIuVSAGA.js → reasoning-activity-CHlEe011.js} +2 -2
  583. package/dist/{reasoning-activity-CIuVSAGA.js.map → reasoning-activity-CHlEe011.js.map} +1 -1
  584. package/dist/resize/panel-drawer.cjs.js +1 -1
  585. package/dist/resize/panel-drawer.es.js +1 -1
  586. package/dist/{search-input-UtTJMjJu.cjs → search-input-2DhcUIvn.cjs} +2 -2
  587. package/dist/{search-input-UtTJMjJu.cjs.map → search-input-2DhcUIvn.cjs.map} +1 -1
  588. package/dist/{search-input-fqSrRTLU.js → search-input-RybUdqzg.js} +2 -2
  589. package/dist/{search-input-fqSrRTLU.js.map → search-input-RybUdqzg.js.map} +1 -1
  590. package/dist/{select-N2lgBRsg.js → select-BvYdi3X0.js} +2 -2
  591. package/dist/{select-N2lgBRsg.js.map → select-BvYdi3X0.js.map} +1 -1
  592. package/dist/{select-Cdz5I0A5.cjs → select-D5cu0K7R.cjs} +2 -2
  593. package/dist/{select-Cdz5I0A5.cjs.map → select-D5cu0K7R.cjs.map} +1 -1
  594. package/dist/{side-dialog-DldgOJIk.cjs → side-dialog-CUQGSSLs.cjs} +4 -4
  595. package/dist/{side-dialog-DldgOJIk.cjs.map → side-dialog-CUQGSSLs.cjs.map} +1 -1
  596. package/dist/{side-dialog-CWQL33WR.js → side-dialog-DSxU1To7.js} +4 -4
  597. package/dist/{side-dialog-CWQL33WR.js.map → side-dialog-DSxU1To7.js.map} +1 -1
  598. package/dist/{span-payload-primitives-sEGOgFlX.cjs → span-payload-primitives-DIxmotnO.cjs} +2 -2
  599. package/dist/{span-payload-primitives-sEGOgFlX.cjs.map → span-payload-primitives-DIxmotnO.cjs.map} +1 -1
  600. package/dist/{span-payload-primitives-WqYTBiGx.js → span-payload-primitives-dTs5UrjA.js} +2 -2
  601. package/dist/{span-payload-primitives-WqYTBiGx.js.map → span-payload-primitives-dTs5UrjA.js.map} +1 -1
  602. package/dist/src/ds/components/Avatar/avatar-group.d.ts +1 -1
  603. package/dist/src/ds/components/DataPanel/data-panel-context.d.ts +3 -0
  604. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +28 -9
  605. package/dist/src/ds/components/DataPanel/index.d.ts +1 -1
  606. package/dist/src/ds/components/Pagination/index.d.ts +2 -0
  607. package/dist/src/ds/components/Pagination/pagination-context.d.ts +10 -0
  608. package/dist/src/ds/components/Pagination/pagination-range.d.ts +8 -0
  609. package/dist/src/ds/components/Pagination/pagination.d.ts +23 -0
  610. package/dist/src/ds/components/ProductAvatar/ProductAvatar.d.ts +3 -1
  611. package/dist/src/ds/components/ProductAvatar/product-avatar-size.d.ts +3 -0
  612. package/dist/src/ds/components/Table/Cells.d.ts +6 -2
  613. package/dist/src/ds/components/Table/Table.d.ts +30 -7
  614. package/dist/src/ds/components/Table/index.d.ts +10 -0
  615. package/dist/src/ds/components/Table/table-align.d.ts +7 -0
  616. package/dist/src/ds/components/Table/table-context.d.ts +4 -0
  617. package/dist/src/ds/components/Table/table-pagination.d.ts +7 -0
  618. package/dist/src/ds/components/Table/table-row-button.d.ts +3 -0
  619. package/dist/src/ds/components/Table/table-row-link.d.ts +3 -0
  620. package/dist/src/ds/components/Table/table-row-target.d.ts +2 -0
  621. package/dist/src/ds/components/Table/table-sort-button.d.ts +6 -0
  622. package/dist/src/ds/primitives/raised-surface.d.ts +5 -0
  623. package/dist/src/ee/signals/components/entity-index-model.d.ts +5 -0
  624. package/dist/src/ee/signals/components/entity-index-status.d.ts +4 -0
  625. package/dist/style.css +200 -24
  626. package/dist/{tabs-tab-D9ndsGQu.cjs → tabs-tab-CqcY4tHE.cjs} +2 -2
  627. package/dist/{tabs-tab-D9ndsGQu.cjs.map → tabs-tab-CqcY4tHE.cjs.map} +1 -1
  628. package/dist/{tabs-tab-BchiQf0E.js → tabs-tab-CzpXzpf-.js} +2 -2
  629. package/dist/{tabs-tab-BchiQf0E.js.map → tabs-tab-CzpXzpf-.js.map} +1 -1
  630. package/dist/{thread-list-D6tyuO1M.cjs → thread-list-D-VuTZnC.cjs} +2 -2
  631. package/dist/{thread-list-D6tyuO1M.cjs.map → thread-list-D-VuTZnC.cjs.map} +1 -1
  632. package/dist/{thread-list-2YHnS82L.js → thread-list-Duf5N74Z.js} +2 -2
  633. package/dist/{thread-list-2YHnS82L.js.map → thread-list-Duf5N74Z.js.map} +1 -1
  634. package/dist/{time-picker-J7GaNaEd.js → time-picker-CF6_miti.js} +2 -2
  635. package/dist/{time-picker-J7GaNaEd.js.map → time-picker-CF6_miti.js.map} +1 -1
  636. package/dist/{time-picker-D7hr3X0_.cjs → time-picker-DbDeIg8E.cjs} +2 -2
  637. package/dist/{time-picker-D7hr3X0_.cjs.map → time-picker-DbDeIg8E.cjs.map} +1 -1
  638. package/dist/{tool-approval-BpskZTWy.cjs → tool-approval-S6ml_xyU.cjs} +3 -3
  639. package/dist/{tool-approval-BpskZTWy.cjs.map → tool-approval-S6ml_xyU.cjs.map} +1 -1
  640. package/dist/{tool-approval-nsbG8-qI.js → tool-approval-TB8r2U_c.js} +3 -3
  641. package/dist/{tool-approval-nsbG8-qI.js.map → tool-approval-TB8r2U_c.js.map} +1 -1
  642. package/dist/{tool-call-arguments-RKyYP3xh.js → tool-call-arguments-CCkJ1btR.js} +3 -3
  643. package/dist/{tool-call-arguments-RKyYP3xh.js.map → tool-call-arguments-CCkJ1btR.js.map} +1 -1
  644. package/dist/{tool-call-arguments-Bj2MA4SW.cjs → tool-call-arguments-DyukJmhY.cjs} +3 -3
  645. package/dist/{tool-call-arguments-Bj2MA4SW.cjs.map → tool-call-arguments-DyukJmhY.cjs.map} +1 -1
  646. package/dist/{tool-call-mono-BAYC7OZl.js → tool-call-mono-CASKyxNt.js} +2 -2
  647. package/dist/{tool-call-mono-BAYC7OZl.js.map → tool-call-mono-CASKyxNt.js.map} +1 -1
  648. package/dist/{tool-call-mono-C42l0zrM.cjs → tool-call-mono-D8XffwXR.cjs} +2 -2
  649. package/dist/{tool-call-mono-C42l0zrM.cjs.map → tool-call-mono-D8XffwXR.cjs.map} +1 -1
  650. package/dist/{tool-call-output-CO6lqtGh.js → tool-call-output-qgqn19KC.js} +2 -2
  651. package/dist/{tool-call-output-CO6lqtGh.js.map → tool-call-output-qgqn19KC.js.map} +1 -1
  652. package/dist/{tool-call-output-BDua5O1z.cjs → tool-call-output-xx1drXqO.cjs} +2 -2
  653. package/dist/{tool-call-output-BDua5O1z.cjs.map → tool-call-output-xx1drXqO.cjs.map} +1 -1
  654. package/dist/{tool-card-BtPh44u6.js → tool-card-BftktBoV.js} +4 -4
  655. package/dist/{tool-card-BtPh44u6.js.map → tool-card-BftktBoV.js.map} +1 -1
  656. package/dist/{tool-card-C0pNVEva.cjs → tool-card-NFkMpChW.cjs} +4 -4
  657. package/dist/{tool-card-C0pNVEva.cjs.map → tool-card-NFkMpChW.cjs.map} +1 -1
  658. package/dist/{traces-data-list-_mFOMw0U.js → traces-data-list-1X6UBM6Y.js} +2 -4
  659. package/dist/{traces-data-list-_mFOMw0U.js.map → traces-data-list-1X6UBM6Y.js.map} +1 -1
  660. package/dist/{traces-data-list-Cf_PpmSN.cjs → traces-data-list-BXSXW3E6.cjs} +17 -19
  661. package/dist/{traces-data-list-Cf_PpmSN.cjs.map → traces-data-list-BXSXW3E6.cjs.map} +1 -1
  662. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs → use-workflow-graph-runtime-C8TkqjvM.cjs} +3 -3
  663. package/dist/{use-workflow-graph-runtime-CwDL7DzY.cjs.map → use-workflow-graph-runtime-C8TkqjvM.cjs.map} +1 -1
  664. package/dist/{use-workflow-graph-runtime-CAyNWN_Z.js → use-workflow-graph-runtime-DX56livO.js} +3 -3
  665. package/dist/{use-workflow-graph-runtime-CAyNWN_Z.js.map → use-workflow-graph-runtime-DX56livO.js.map} +1 -1
  666. package/dist/{workflow-code-dialog-content-CNDoMFAV.js → workflow-code-dialog-content-DG-Lmvgu.js} +3 -3
  667. package/dist/{workflow-code-dialog-content-CNDoMFAV.js.map → workflow-code-dialog-content-DG-Lmvgu.js.map} +1 -1
  668. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs → workflow-code-dialog-content-vC_ddCYp.cjs} +3 -3
  669. package/dist/{workflow-code-dialog-content-B7YU2kfe.cjs.map → workflow-code-dialog-content-vC_ddCYp.cjs.map} +1 -1
  670. package/dist/{workflow-condition-card-DnSlcZ2s.js → workflow-condition-card-DMkPh5TM.js} +3 -3
  671. package/dist/{workflow-condition-card-DnSlcZ2s.js.map → workflow-condition-card-DMkPh5TM.js.map} +1 -1
  672. package/dist/{workflow-condition-card-CbaDpVa_.cjs → workflow-condition-card-bn5mrwKe.cjs} +3 -3
  673. package/dist/{workflow-condition-card-CbaDpVa_.cjs.map → workflow-condition-card-bn5mrwKe.cjs.map} +1 -1
  674. package/dist/{workflow-data-edge-view-BaA6YJye.js → workflow-data-edge-view-De0xCrVu.js} +2 -2
  675. package/dist/{workflow-data-edge-view-BaA6YJye.js.map → workflow-data-edge-view-De0xCrVu.js.map} +1 -1
  676. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs → workflow-data-edge-view-kmB6j-ui.cjs} +2 -2
  677. package/dist/{workflow-data-edge-view-BHvpuvmp.cjs.map → workflow-data-edge-view-kmB6j-ui.cjs.map} +1 -1
  678. package/dist/{workflow-debug-controls-h7Q-RlJ2.js → workflow-debug-controls-CJTqoarc.js} +2 -2
  679. package/dist/{workflow-debug-controls-h7Q-RlJ2.js.map → workflow-debug-controls-CJTqoarc.js.map} +1 -1
  680. package/dist/{workflow-debug-controls-D9rmMeH-.cjs → workflow-debug-controls-CqaM7s-K.cjs} +2 -2
  681. package/dist/{workflow-debug-controls-D9rmMeH-.cjs.map → workflow-debug-controls-CqaM7s-K.cjs.map} +1 -1
  682. package/dist/{workflow-edge-data-button-6EDXzRxr.js → workflow-edge-data-button-CXbj67U9.js} +4 -4
  683. package/dist/{workflow-edge-data-button-6EDXzRxr.js.map → workflow-edge-data-button-CXbj67U9.js.map} +1 -1
  684. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs → workflow-edge-data-button-av1zCMfP.cjs} +4 -4
  685. package/dist/{workflow-edge-data-button-Cz2rcoDr.cjs.map → workflow-edge-data-button-av1zCMfP.cjs.map} +1 -1
  686. package/dist/{workflow-step-action-DmUW2AMM.js → workflow-step-action-AG05Ly8P.js} +2 -2
  687. package/dist/{workflow-step-action-DmUW2AMM.js.map → workflow-step-action-AG05Ly8P.js.map} +1 -1
  688. package/dist/{workflow-step-action-Ssz6Z2t5.cjs → workflow-step-action-BsBZk7j6.cjs} +2 -2
  689. package/dist/{workflow-step-action-Ssz6Z2t5.cjs.map → workflow-step-action-BsBZk7j6.cjs.map} +1 -1
  690. package/package.json +11 -11
  691. package/dist/Avatar-C2Sz53u5.js.map +0 -1
  692. package/dist/Avatar-D6ybWljK.cjs.map +0 -1
  693. package/dist/Button-BfZzgZrA.cjs.map +0 -1
  694. package/dist/Button-C8QDEN9j.js.map +0 -1
  695. package/dist/data-list-DkVOwk8l.cjs +0 -142
  696. package/dist/data-list-DkVOwk8l.cjs.map +0 -1
  697. package/dist/data-list-Dv2lP-dU.js +0 -138
  698. package/dist/data-list-Dv2lP-dU.js.map +0 -1
  699. package/dist/data-list-spacer-DEMquKp9.js +0 -209
  700. package/dist/data-list-spacer-DEMquKp9.js.map +0 -1
  701. package/dist/data-list-spacer-pXP8xDlg.cjs +0 -218
  702. package/dist/data-list-spacer-pXP8xDlg.cjs.map +0 -1
  703. package/dist/data-list-top-BJCC62oy.js.map +0 -1
  704. package/dist/data-list-top-Ds-NWyPO.cjs.map +0 -1
  705. package/dist/data-panel-COU5dbUJ.js.map +0 -1
  706. package/dist/data-panel-CTqb-0qN.cjs.map +0 -1
  707. package/dist/page-header-Bf0zLkyY.js.map +0 -1
  708. package/dist/page-header-CLxPq7T5.cjs.map +0 -1
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { Input } from '@base-ui/react/input';
3
3
  import { c as cva } from './index-D_f78K7e.js';
4
4
  import * as React from 'react';
5
- import { B as Button } from './Button-C8QDEN9j.js';
5
+ import { B as Button } from './Button-60jVnaHt.js';
6
6
  import { k as keepOwnAccessibleName } from './field-control-aria-DB6y41tQ.js';
7
7
  import { ControlSizeContext, controlHeight } from './primitives/control-size.es.js';
8
8
  import { deprecatedErrorAria, fieldErrorRimWithin, inputSurfaceAndFocusWithinStyle } from './primitives/form-element.es.js';
@@ -179,4 +179,4 @@ function InputGroupButton({ size = "icon-sm", variant = "ghost", type = "button"
179
179
  }
180
180
 
181
181
  export { InputGroup as I, InputGroupAddon as a, InputGroupButton as b, InputGroupInput as c, InputGroupText as d, InputGroupTextarea as e, inputGroupControlClassName as f, inputGroupClassName as i };
182
- //# sourceMappingURL=input-group-BWsGYnES.js.map
182
+ //# sourceMappingURL=input-group-CIIwoggO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-group-BWsGYnES.js","sources":["../src/ds/components/InputGroup/input-group.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { ControlSizeContext, controlHeight } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport {\n deprecatedErrorAria,\n fieldErrorRimWithin,\n inputSurfaceAndFocusWithinStyle,\n} from '@/ds/primitives/form-element';\nimport { textFieldAutofillProps } from '@/ds/primitives/password-manager-autofill';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\n// Size flows down as `data-size` on the named group root (`group/input-group`), read by the\n// control through `group-data-[size=…]` variants — no prop drilling. The one context read is\n// upward: a wrapper that owns the rung (ButtonsGroup) hands it to the field.\n\nconst inputGroupBaseClassName = cn(\n // `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor\n // so it never collapses to 0. `items-center` centres the control: it carries its own\n // h-form-* (2px taller than the root's content box), so stretch would push its text low\n // / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.\n 'group/input-group relative flex w-full flex-1 items-center',\n // The wrapper owns its control's width — a bare control has no width of its own,\n // so the group is the one that decides the input fills the remaining space.\n '[&>[data-slot=input-group-control]]:min-w-0 [&>[data-slot=input-group-control]]:flex-1',\n 'text-foreground',\n 'has-[:disabled]:cursor-not-allowed has-[:disabled]:text-muted-foreground',\n // Height is on the root (border-box) so the group matches a same-size sibling control.\n // Auto height when vertical (block-* addon) or wrapping a textarea.\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[textarea]:h-auto',\n 'has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0',\n 'has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0',\n // In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.\n 'has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none',\n 'has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none',\n);\n\nconst inputGroupRoundedTextareaClassName = cn(\n // Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl\n // whenever the group goes vertical (block-* addon) or wraps a textarea.\n 'has-[>[data-align=block-start]]:rounded-xl',\n 'has-[>[data-align=block-end]]:rounded-xl',\n 'has-[textarea]:rounded-xl',\n);\n\n// A group wears the field material — the same `bg-card` plus rim an Input wears — so a\n// group and a bare field beside it are one surface. Its states move the rim, and they\n// read the nested control's focus (`focus-within`) because the wrapper never takes focus\n// itself. There is no second look: a transparent `outline` group existed alongside this\n// one and only ever produced two boundary languages for the same control, which is why\n// four of its call sites had wrapped it in a hand-made `bg-card rounded-full` div to get\n// the material back.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupClassName = cn(\n inputGroupBaseClassName,\n 'rounded-full',\n inputSurfaceAndFocusWithinStyle,\n fieldErrorRimWithin,\n inputGroupRoundedTextareaClassName,\n);\n\nexport type InputGroupProps = React.ComponentProps<'div'> & {\n size?: ControlSize;\n};\n\nfunction InputGroup({ className, size, ...props }: InputGroupProps) {\n // A wrapper's rung wins over the field's own: inside a ButtonsGroup the group owns the\n // height of every segment, so a field that kept its own type scale would sit at one rung\n // and read at another.\n const groupSize = React.useContext(ControlSizeContext);\n const resolved = groupSize ?? size ?? 'md';\n return (\n <div\n role=\"group\"\n data-slot=\"input-group\"\n data-size={resolved}\n className={cn(inputGroupClassName, controlHeight[resolved], className)}\n {...props}\n />\n );\n}\n\nconst inputGroupControlTextBySize = cn(\n 'group-data-[size=sm]/input-group:text-caption',\n 'group-data-[size=md]/input-group:text-body-sm',\n 'group-data-[size=lg]/input-group:text-body',\n);\n\nconst inputGroupAddonVariants = cva(\n cn(\n 'flex items-center justify-center gap-2 text-muted-foreground select-none',\n inputGroupControlTextBySize,\n 'group-has-[:disabled]/input-group:text-muted-foreground',\n \"[&>svg:not([class*='size-'])]:size-4\",\n ),\n {\n variants: {\n align: {\n 'inline-start': 'order-first pr-1 pl-3 has-[>button]:pl-1',\n 'inline-end': 'order-last pr-3 pl-1 has-[>button]:pr-1',\n 'block-start': 'order-first w-full justify-start border-b border-border px-3 pt-2 pb-1',\n 'block-end': 'order-last w-full justify-start border-t border-border px-3 pt-1 pb-2',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;\n\nfunction InputGroupAddon({ className, align = 'inline-start', onClick, ...props }: InputGroupAddonProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={event => {\n // Click on non-interactive addon area focuses the control inside the group.\n // Skip when a button/input handled the click itself.\n const target = event.target as HTMLElement;\n if (!target.closest('button, input, textarea, [role=\"button\"]')) {\n event.currentTarget.parentElement\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement>('[data-slot=input-group-control]')\n ?.focus();\n }\n onClick?.(event);\n }}\n {...props}\n />\n );\n}\n\n// Size flows from the parent group's `data-size` (no React context). All four sizes are\n// written out so Tailwind's scanner emits them. The control is sized to the root's\n// content box (token height minus the 1px border on each side) so it never overflows the\n// root — otherwise, in a flex-column parent, the root's content-based minimum would win\n// over its explicit height and the group would render 2px taller than a sibling control.\n// The explicit height also keeps the control from collapsing to the line-height in block\n// mode (flex-col + flex-none).\nconst inputGroupControlHeightBySize = cn(\n 'group-data-[size=sm]/input-group:h-[calc(var(--spacing-control-sm)-2px)]',\n 'group-data-[size=md]/input-group:h-[calc(var(--spacing-control-md)-2px)]',\n 'group-data-[size=lg]/input-group:h-[calc(var(--spacing-control-lg)-2px)]',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupControlClassName = cn(\n 'min-w-0 flex-1 bg-transparent px-3 text-label text-foreground outline-hidden',\n inputGroupControlHeightBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n);\n\nexport type InputGroupInputProps = Omit<React.ComponentProps<'input'>, 'size'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupInput({ className, testId, error, type = 'text', autoComplete, ...props }: InputGroupInputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n inputGroupControlClassName,\n // WebKit and Firefox use different selectors for native number spinners.\n '[&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none',\n '[&[type=number]]:[appearance:textfield]',\n // type=\"search\": drop WebKit's native clear button so it doesn't double up with a\n // custom clear control (e.g. the scorers toolbar's InputGroupButton).\n '[&::-webkit-search-cancel-button]:appearance-none',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n {...textFieldAutofillProps(autoComplete)}\n {...keepOwnAccessibleName(props)}\n />\n );\n}\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupTextarea({ className, testId, error, ...props }: InputGroupTextareaProps) {\n return (\n <TextareaControl\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n 'min-h-15 min-w-0 flex-1 resize-y bg-transparent px-3 py-2 text-foreground outline-hidden',\n inputGroupControlTextBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n />\n );\n}\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>;\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n 'flex items-center gap-2 text-caption text-muted-foreground [&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> & {\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nfunction InputGroupButton({ size = 'icon-sm', variant = 'ghost', type = 'button', ...props }: InputGroupButtonProps) {\n return <Button type={type} size={size} variant={variant} {...props} />;\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };\n"],"names":["InputPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"input-group-CIIwoggO.js","sources":["../src/ds/components/InputGroup/input-group.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { ControlSizeContext, controlHeight } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport {\n deprecatedErrorAria,\n fieldErrorRimWithin,\n inputSurfaceAndFocusWithinStyle,\n} from '@/ds/primitives/form-element';\nimport { textFieldAutofillProps } from '@/ds/primitives/password-manager-autofill';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\n// Size flows down as `data-size` on the named group root (`group/input-group`), read by the\n// control through `group-data-[size=…]` variants — no prop drilling. The one context read is\n// upward: a wrapper that owns the rung (ButtonsGroup) hands it to the field.\n\nconst inputGroupBaseClassName = cn(\n // `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor\n // so it never collapses to 0. `items-center` centres the control: it carries its own\n // h-form-* (2px taller than the root's content box), so stretch would push its text low\n // / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.\n 'group/input-group relative flex w-full flex-1 items-center',\n // The wrapper owns its control's width — a bare control has no width of its own,\n // so the group is the one that decides the input fills the remaining space.\n '[&>[data-slot=input-group-control]]:min-w-0 [&>[data-slot=input-group-control]]:flex-1',\n 'text-foreground',\n 'has-[:disabled]:cursor-not-allowed has-[:disabled]:text-muted-foreground',\n // Height is on the root (border-box) so the group matches a same-size sibling control.\n // Auto height when vertical (block-* addon) or wrapping a textarea.\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[textarea]:h-auto',\n 'has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0',\n 'has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0',\n // In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.\n 'has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none',\n 'has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none',\n);\n\nconst inputGroupRoundedTextareaClassName = cn(\n // Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl\n // whenever the group goes vertical (block-* addon) or wraps a textarea.\n 'has-[>[data-align=block-start]]:rounded-xl',\n 'has-[>[data-align=block-end]]:rounded-xl',\n 'has-[textarea]:rounded-xl',\n);\n\n// A group wears the field material — the same `bg-card` plus rim an Input wears — so a\n// group and a bare field beside it are one surface. Its states move the rim, and they\n// read the nested control's focus (`focus-within`) because the wrapper never takes focus\n// itself. There is no second look: a transparent `outline` group existed alongside this\n// one and only ever produced two boundary languages for the same control, which is why\n// four of its call sites had wrapped it in a hand-made `bg-card rounded-full` div to get\n// the material back.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupClassName = cn(\n inputGroupBaseClassName,\n 'rounded-full',\n inputSurfaceAndFocusWithinStyle,\n fieldErrorRimWithin,\n inputGroupRoundedTextareaClassName,\n);\n\nexport type InputGroupProps = React.ComponentProps<'div'> & {\n size?: ControlSize;\n};\n\nfunction InputGroup({ className, size, ...props }: InputGroupProps) {\n // A wrapper's rung wins over the field's own: inside a ButtonsGroup the group owns the\n // height of every segment, so a field that kept its own type scale would sit at one rung\n // and read at another.\n const groupSize = React.useContext(ControlSizeContext);\n const resolved = groupSize ?? size ?? 'md';\n return (\n <div\n role=\"group\"\n data-slot=\"input-group\"\n data-size={resolved}\n className={cn(inputGroupClassName, controlHeight[resolved], className)}\n {...props}\n />\n );\n}\n\nconst inputGroupControlTextBySize = cn(\n 'group-data-[size=sm]/input-group:text-caption',\n 'group-data-[size=md]/input-group:text-body-sm',\n 'group-data-[size=lg]/input-group:text-body',\n);\n\nconst inputGroupAddonVariants = cva(\n cn(\n 'flex items-center justify-center gap-2 text-muted-foreground select-none',\n inputGroupControlTextBySize,\n 'group-has-[:disabled]/input-group:text-muted-foreground',\n \"[&>svg:not([class*='size-'])]:size-4\",\n ),\n {\n variants: {\n align: {\n 'inline-start': 'order-first pr-1 pl-3 has-[>button]:pl-1',\n 'inline-end': 'order-last pr-3 pl-1 has-[>button]:pr-1',\n 'block-start': 'order-first w-full justify-start border-b border-border px-3 pt-2 pb-1',\n 'block-end': 'order-last w-full justify-start border-t border-border px-3 pt-1 pb-2',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;\n\nfunction InputGroupAddon({ className, align = 'inline-start', onClick, ...props }: InputGroupAddonProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={event => {\n // Click on non-interactive addon area focuses the control inside the group.\n // Skip when a button/input handled the click itself.\n const target = event.target as HTMLElement;\n if (!target.closest('button, input, textarea, [role=\"button\"]')) {\n event.currentTarget.parentElement\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement>('[data-slot=input-group-control]')\n ?.focus();\n }\n onClick?.(event);\n }}\n {...props}\n />\n );\n}\n\n// Size flows from the parent group's `data-size` (no React context). All four sizes are\n// written out so Tailwind's scanner emits them. The control is sized to the root's\n// content box (token height minus the 1px border on each side) so it never overflows the\n// root — otherwise, in a flex-column parent, the root's content-based minimum would win\n// over its explicit height and the group would render 2px taller than a sibling control.\n// The explicit height also keeps the control from collapsing to the line-height in block\n// mode (flex-col + flex-none).\nconst inputGroupControlHeightBySize = cn(\n 'group-data-[size=sm]/input-group:h-[calc(var(--spacing-control-sm)-2px)]',\n 'group-data-[size=md]/input-group:h-[calc(var(--spacing-control-md)-2px)]',\n 'group-data-[size=lg]/input-group:h-[calc(var(--spacing-control-lg)-2px)]',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupControlClassName = cn(\n 'min-w-0 flex-1 bg-transparent px-3 text-label text-foreground outline-hidden',\n inputGroupControlHeightBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n);\n\nexport type InputGroupInputProps = Omit<React.ComponentProps<'input'>, 'size'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupInput({ className, testId, error, type = 'text', autoComplete, ...props }: InputGroupInputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n inputGroupControlClassName,\n // WebKit and Firefox use different selectors for native number spinners.\n '[&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none',\n '[&[type=number]]:[appearance:textfield]',\n // type=\"search\": drop WebKit's native clear button so it doesn't double up with a\n // custom clear control (e.g. the scorers toolbar's InputGroupButton).\n '[&::-webkit-search-cancel-button]:appearance-none',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n {...textFieldAutofillProps(autoComplete)}\n {...keepOwnAccessibleName(props)}\n />\n );\n}\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupTextarea({ className, testId, error, ...props }: InputGroupTextareaProps) {\n return (\n <TextareaControl\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n 'min-h-15 min-w-0 flex-1 resize-y bg-transparent px-3 py-2 text-foreground outline-hidden',\n inputGroupControlTextBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n />\n );\n}\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>;\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n 'flex items-center gap-2 text-caption text-muted-foreground [&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> & {\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nfunction InputGroupButton({ size = 'icon-sm', variant = 'ghost', type = 'button', ...props }: InputGroupButtonProps) {\n return <Button type={type} size={size} variant={variant} {...props} />;\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };\n"],"names":["InputPrimitive"],"mappings":"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"}
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const input = require('@base-ui/react/input');
5
5
  const index = require('./index-DlPxfJz9.cjs');
6
6
  const React = require('react');
7
- const Button = require('./Button-BfZzgZrA.cjs');
7
+ const Button = require('./Button-CAVPKK09.cjs');
8
8
  const fieldControlAria = require('./field-control-aria-WzMGs0A4.cjs');
9
9
  const primitives_controlSize = require('./primitives/control-size.cjs.js');
10
10
  const primitives_formElement = require('./primitives/form-element.cjs.js');
@@ -207,4 +207,4 @@ exports.InputGroupText = InputGroupText;
207
207
  exports.InputGroupTextarea = InputGroupTextarea;
208
208
  exports.inputGroupClassName = inputGroupClassName;
209
209
  exports.inputGroupControlClassName = inputGroupControlClassName;
210
- //# sourceMappingURL=input-group-Cy7k5JRg.cjs.map
210
+ //# sourceMappingURL=input-group-DQuyC9Pz.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-group-Cy7k5JRg.cjs","sources":["../src/ds/components/InputGroup/input-group.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { ControlSizeContext, controlHeight } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport {\n deprecatedErrorAria,\n fieldErrorRimWithin,\n inputSurfaceAndFocusWithinStyle,\n} from '@/ds/primitives/form-element';\nimport { textFieldAutofillProps } from '@/ds/primitives/password-manager-autofill';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\n// Size flows down as `data-size` on the named group root (`group/input-group`), read by the\n// control through `group-data-[size=…]` variants — no prop drilling. The one context read is\n// upward: a wrapper that owns the rung (ButtonsGroup) hands it to the field.\n\nconst inputGroupBaseClassName = cn(\n // `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor\n // so it never collapses to 0. `items-center` centres the control: it carries its own\n // h-form-* (2px taller than the root's content box), so stretch would push its text low\n // / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.\n 'group/input-group relative flex w-full flex-1 items-center',\n // The wrapper owns its control's width — a bare control has no width of its own,\n // so the group is the one that decides the input fills the remaining space.\n '[&>[data-slot=input-group-control]]:min-w-0 [&>[data-slot=input-group-control]]:flex-1',\n 'text-foreground',\n 'has-[:disabled]:cursor-not-allowed has-[:disabled]:text-muted-foreground',\n // Height is on the root (border-box) so the group matches a same-size sibling control.\n // Auto height when vertical (block-* addon) or wrapping a textarea.\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[textarea]:h-auto',\n 'has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0',\n 'has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0',\n // In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.\n 'has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none',\n 'has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none',\n);\n\nconst inputGroupRoundedTextareaClassName = cn(\n // Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl\n // whenever the group goes vertical (block-* addon) or wraps a textarea.\n 'has-[>[data-align=block-start]]:rounded-xl',\n 'has-[>[data-align=block-end]]:rounded-xl',\n 'has-[textarea]:rounded-xl',\n);\n\n// A group wears the field material — the same `bg-card` plus rim an Input wears — so a\n// group and a bare field beside it are one surface. Its states move the rim, and they\n// read the nested control's focus (`focus-within`) because the wrapper never takes focus\n// itself. There is no second look: a transparent `outline` group existed alongside this\n// one and only ever produced two boundary languages for the same control, which is why\n// four of its call sites had wrapped it in a hand-made `bg-card rounded-full` div to get\n// the material back.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupClassName = cn(\n inputGroupBaseClassName,\n 'rounded-full',\n inputSurfaceAndFocusWithinStyle,\n fieldErrorRimWithin,\n inputGroupRoundedTextareaClassName,\n);\n\nexport type InputGroupProps = React.ComponentProps<'div'> & {\n size?: ControlSize;\n};\n\nfunction InputGroup({ className, size, ...props }: InputGroupProps) {\n // A wrapper's rung wins over the field's own: inside a ButtonsGroup the group owns the\n // height of every segment, so a field that kept its own type scale would sit at one rung\n // and read at another.\n const groupSize = React.useContext(ControlSizeContext);\n const resolved = groupSize ?? size ?? 'md';\n return (\n <div\n role=\"group\"\n data-slot=\"input-group\"\n data-size={resolved}\n className={cn(inputGroupClassName, controlHeight[resolved], className)}\n {...props}\n />\n );\n}\n\nconst inputGroupControlTextBySize = cn(\n 'group-data-[size=sm]/input-group:text-caption',\n 'group-data-[size=md]/input-group:text-body-sm',\n 'group-data-[size=lg]/input-group:text-body',\n);\n\nconst inputGroupAddonVariants = cva(\n cn(\n 'flex items-center justify-center gap-2 text-muted-foreground select-none',\n inputGroupControlTextBySize,\n 'group-has-[:disabled]/input-group:text-muted-foreground',\n \"[&>svg:not([class*='size-'])]:size-4\",\n ),\n {\n variants: {\n align: {\n 'inline-start': 'order-first pr-1 pl-3 has-[>button]:pl-1',\n 'inline-end': 'order-last pr-3 pl-1 has-[>button]:pr-1',\n 'block-start': 'order-first w-full justify-start border-b border-border px-3 pt-2 pb-1',\n 'block-end': 'order-last w-full justify-start border-t border-border px-3 pt-1 pb-2',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;\n\nfunction InputGroupAddon({ className, align = 'inline-start', onClick, ...props }: InputGroupAddonProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={event => {\n // Click on non-interactive addon area focuses the control inside the group.\n // Skip when a button/input handled the click itself.\n const target = event.target as HTMLElement;\n if (!target.closest('button, input, textarea, [role=\"button\"]')) {\n event.currentTarget.parentElement\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement>('[data-slot=input-group-control]')\n ?.focus();\n }\n onClick?.(event);\n }}\n {...props}\n />\n );\n}\n\n// Size flows from the parent group's `data-size` (no React context). All four sizes are\n// written out so Tailwind's scanner emits them. The control is sized to the root's\n// content box (token height minus the 1px border on each side) so it never overflows the\n// root — otherwise, in a flex-column parent, the root's content-based minimum would win\n// over its explicit height and the group would render 2px taller than a sibling control.\n// The explicit height also keeps the control from collapsing to the line-height in block\n// mode (flex-col + flex-none).\nconst inputGroupControlHeightBySize = cn(\n 'group-data-[size=sm]/input-group:h-[calc(var(--spacing-control-sm)-2px)]',\n 'group-data-[size=md]/input-group:h-[calc(var(--spacing-control-md)-2px)]',\n 'group-data-[size=lg]/input-group:h-[calc(var(--spacing-control-lg)-2px)]',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupControlClassName = cn(\n 'min-w-0 flex-1 bg-transparent px-3 text-label text-foreground outline-hidden',\n inputGroupControlHeightBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n);\n\nexport type InputGroupInputProps = Omit<React.ComponentProps<'input'>, 'size'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupInput({ className, testId, error, type = 'text', autoComplete, ...props }: InputGroupInputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n inputGroupControlClassName,\n // WebKit and Firefox use different selectors for native number spinners.\n '[&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none',\n '[&[type=number]]:[appearance:textfield]',\n // type=\"search\": drop WebKit's native clear button so it doesn't double up with a\n // custom clear control (e.g. the scorers toolbar's InputGroupButton).\n '[&::-webkit-search-cancel-button]:appearance-none',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n {...textFieldAutofillProps(autoComplete)}\n {...keepOwnAccessibleName(props)}\n />\n );\n}\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupTextarea({ className, testId, error, ...props }: InputGroupTextareaProps) {\n return (\n <TextareaControl\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n 'min-h-15 min-w-0 flex-1 resize-y bg-transparent px-3 py-2 text-foreground outline-hidden',\n inputGroupControlTextBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n />\n );\n}\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>;\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n 'flex items-center gap-2 text-caption text-muted-foreground [&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> & {\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nfunction InputGroupButton({ size = 'icon-sm', variant = 'ghost', type = 'button', ...props }: InputGroupButtonProps) {\n return <Button type={type} size={size} variant={variant} {...props} />;\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };\n"],"names":["cn","inputSurfaceAndFocusWithinStyle","fieldErrorRimWithin","React","ControlSizeContext","jsx","controlHeight","cva","InputPrimitive","deprecatedErrorAria","textFieldAutofillProps","keepOwnAccessibleName","TextareaControl","Button"],"mappings":"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"}
1
+ {"version":3,"file":"input-group-DQuyC9Pz.cjs","sources":["../src/ds/components/InputGroup/input-group.tsx"],"sourcesContent":["import { Input as InputPrimitive } from '@base-ui/react/input';\nimport { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport type { ButtonProps } from '@/ds/components/Button/Button';\nimport { keepOwnAccessibleName } from '@/ds/components/Field/field-control-aria';\nimport { ControlSizeContext, controlHeight } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport {\n deprecatedErrorAria,\n fieldErrorRimWithin,\n inputSurfaceAndFocusWithinStyle,\n} from '@/ds/primitives/form-element';\nimport { textFieldAutofillProps } from '@/ds/primitives/password-manager-autofill';\nimport { TextareaControl } from '@/ds/primitives/textarea-control';\nimport { cn } from '@/lib/utils';\n\n// Size flows down as `data-size` on the named group root (`group/input-group`), read by the\n// control through `group-data-[size=…]` variants — no prop drilling. The one context read is\n// upward: a wrapper that owns the rung (ButtonsGroup) hands it to the field.\n\nconst inputGroupBaseClassName = cn(\n // `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor\n // so it never collapses to 0. `items-center` centres the control: it carries its own\n // h-form-* (2px taller than the root's content box), so stretch would push its text low\n // / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.\n 'group/input-group relative flex w-full flex-1 items-center',\n // The wrapper owns its control's width — a bare control has no width of its own,\n // so the group is the one that decides the input fills the remaining space.\n '[&>[data-slot=input-group-control]]:min-w-0 [&>[data-slot=input-group-control]]:flex-1',\n 'text-foreground',\n 'has-[:disabled]:cursor-not-allowed has-[:disabled]:text-muted-foreground',\n // Height is on the root (border-box) so the group matches a same-size sibling control.\n // Auto height when vertical (block-* addon) or wrapping a textarea.\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col',\n 'has-[textarea]:h-auto',\n 'has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0',\n 'has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0',\n // In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.\n 'has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none',\n 'has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none',\n);\n\nconst inputGroupRoundedTextareaClassName = cn(\n // Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl\n // whenever the group goes vertical (block-* addon) or wraps a textarea.\n 'has-[>[data-align=block-start]]:rounded-xl',\n 'has-[>[data-align=block-end]]:rounded-xl',\n 'has-[textarea]:rounded-xl',\n);\n\n// A group wears the field material — the same `bg-card` plus rim an Input wears — so a\n// group and a bare field beside it are one surface. Its states move the rim, and they\n// read the nested control's focus (`focus-within`) because the wrapper never takes focus\n// itself. There is no second look: a transparent `outline` group existed alongside this\n// one and only ever produced two boundary languages for the same control, which is why\n// four of its call sites had wrapped it in a hand-made `bg-card rounded-full` div to get\n// the material back.\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupClassName = cn(\n inputGroupBaseClassName,\n 'rounded-full',\n inputSurfaceAndFocusWithinStyle,\n fieldErrorRimWithin,\n inputGroupRoundedTextareaClassName,\n);\n\nexport type InputGroupProps = React.ComponentProps<'div'> & {\n size?: ControlSize;\n};\n\nfunction InputGroup({ className, size, ...props }: InputGroupProps) {\n // A wrapper's rung wins over the field's own: inside a ButtonsGroup the group owns the\n // height of every segment, so a field that kept its own type scale would sit at one rung\n // and read at another.\n const groupSize = React.useContext(ControlSizeContext);\n const resolved = groupSize ?? size ?? 'md';\n return (\n <div\n role=\"group\"\n data-slot=\"input-group\"\n data-size={resolved}\n className={cn(inputGroupClassName, controlHeight[resolved], className)}\n {...props}\n />\n );\n}\n\nconst inputGroupControlTextBySize = cn(\n 'group-data-[size=sm]/input-group:text-caption',\n 'group-data-[size=md]/input-group:text-body-sm',\n 'group-data-[size=lg]/input-group:text-body',\n);\n\nconst inputGroupAddonVariants = cva(\n cn(\n 'flex items-center justify-center gap-2 text-muted-foreground select-none',\n inputGroupControlTextBySize,\n 'group-has-[:disabled]/input-group:text-muted-foreground',\n \"[&>svg:not([class*='size-'])]:size-4\",\n ),\n {\n variants: {\n align: {\n 'inline-start': 'order-first pr-1 pl-3 has-[>button]:pl-1',\n 'inline-end': 'order-last pr-3 pl-1 has-[>button]:pr-1',\n 'block-start': 'order-first w-full justify-start border-b border-border px-3 pt-2 pb-1',\n 'block-end': 'order-last w-full justify-start border-t border-border px-3 pt-1 pb-2',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n },\n);\n\nexport type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;\n\nfunction InputGroupAddon({ className, align = 'inline-start', onClick, ...props }: InputGroupAddonProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={event => {\n // Click on non-interactive addon area focuses the control inside the group.\n // Skip when a button/input handled the click itself.\n const target = event.target as HTMLElement;\n if (!target.closest('button, input, textarea, [role=\"button\"]')) {\n event.currentTarget.parentElement\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement>('[data-slot=input-group-control]')\n ?.focus();\n }\n onClick?.(event);\n }}\n {...props}\n />\n );\n}\n\n// Size flows from the parent group's `data-size` (no React context). All four sizes are\n// written out so Tailwind's scanner emits them. The control is sized to the root's\n// content box (token height minus the 1px border on each side) so it never overflows the\n// root — otherwise, in a flex-column parent, the root's content-based minimum would win\n// over its explicit height and the group would render 2px taller than a sibling control.\n// The explicit height also keeps the control from collapsing to the line-height in block\n// mode (flex-col + flex-none).\nconst inputGroupControlHeightBySize = cn(\n 'group-data-[size=sm]/input-group:h-[calc(var(--spacing-control-sm)-2px)]',\n 'group-data-[size=md]/input-group:h-[calc(var(--spacing-control-md)-2px)]',\n 'group-data-[size=lg]/input-group:h-[calc(var(--spacing-control-lg)-2px)]',\n);\n\n// eslint-disable-next-line react-refresh/only-export-components -- shared with InputNumber\nexport const inputGroupControlClassName = cn(\n 'min-w-0 flex-1 bg-transparent px-3 text-label text-foreground outline-hidden',\n inputGroupControlHeightBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n);\n\nexport type InputGroupInputProps = Omit<React.ComponentProps<'input'>, 'size'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupInput({ className, testId, error, type = 'text', autoComplete, ...props }: InputGroupInputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n inputGroupControlClassName,\n // WebKit and Firefox use different selectors for native number spinners.\n '[&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none',\n '[&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none',\n '[&[type=number]]:[appearance:textfield]',\n // type=\"search\": drop WebKit's native clear button so it doesn't double up with a\n // custom clear control (e.g. the scorers toolbar's InputGroupButton).\n '[&::-webkit-search-cancel-button]:appearance-none',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n {...textFieldAutofillProps(autoComplete)}\n {...keepOwnAccessibleName(props)}\n />\n );\n}\n\nexport type InputGroupTextareaProps = React.ComponentProps<'textarea'> & {\n testId?: string;\n /** @deprecated Wrap the group in `<Field invalid>`, or set `aria-invalid` on a control outside a `Field`. */\n error?: boolean;\n};\n\nfunction InputGroupTextarea({ className, testId, error, ...props }: InputGroupTextareaProps) {\n return (\n <TextareaControl\n data-slot=\"input-group-control\"\n data-testid={testId}\n className={cn(\n 'min-h-15 min-w-0 flex-1 resize-y bg-transparent px-3 py-2 text-foreground outline-hidden',\n inputGroupControlTextBySize,\n 'placeholder:text-muted-foreground placeholder:transition-opacity placeholder:duration-normal',\n 'focus:placeholder:opacity-70',\n 'disabled:cursor-not-allowed',\n className,\n )}\n {...deprecatedErrorAria(error)}\n {...props}\n />\n );\n}\n\nexport type InputGroupTextProps = React.ComponentProps<'span'>;\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n 'flex items-center gap-2 text-caption text-muted-foreground [&_svg]:pointer-events-none',\n \"[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size' | 'variant'> & {\n size?: ButtonProps['size'];\n variant?: ButtonProps['variant'];\n};\n\nfunction InputGroupButton({ size = 'icon-sm', variant = 'ghost', type = 'button', ...props }: InputGroupButtonProps) {\n return <Button type={type} size={size} variant={variant} {...props} />;\n}\n\nexport { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };\n"],"names":["cn","inputSurfaceAndFocusWithinStyle","fieldErrorRimWithin","React","ControlSizeContext","jsx","controlHeight","cva","InputPrimitive","deprecatedErrorAria","textFieldAutofillProps","keepOwnAccessibleName","TextareaControl","Button"],"mappings":"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"}
@@ -5,14 +5,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  require('../tabbed-container.css');const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
- const combobox = require('../combobox-D9CFzzx8.cjs');
9
- const dataList = require('../data-list-DkVOwk8l.cjs');
10
- const listSearch = require('../list-search-xHadeMHl.cjs');
8
+ const combobox = require('../combobox-fEMKH9nJ.cjs');
9
+ const dataList = require('../data-list-BLfHObw8.cjs');
10
+ const listSearch = require('../list-search-C5j3HYkb.cjs');
11
11
  const tabsContent = require('../tabs-content-C3VQRDXH.cjs');
12
12
  const tabsContext = require('../tabs-context-pnspPkI-.cjs');
13
13
  const tabsList = require('../tabs-list-xikY_dug.cjs');
14
14
  const tabsRoot = require('../tabs-root-Phsi-P1b.cjs');
15
- const tabsTab = require('../tabs-tab-D9ndsGQu.cjs');
15
+ const tabsTab = require('../tabs-tab-CqcY4tHE.cjs');
16
16
  const tooltip = require('../tooltip-C4txPRSa.cjs');
17
17
  const Txt = require('../Txt-DXjXpX9r.cjs');
18
18
  const utils_cn = require('../cn-TqD01zH-.cjs');
@@ -1,14 +1,14 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { ListFilterIcon } from 'lucide-react';
3
3
  import { Children, isValidElement, useContext } from 'react';
4
- import { C as Combobox } from '../combobox-DDUIREaG.js';
5
- import { D as DataList } from '../data-list-Dv2lP-dU.js';
6
- import { L as ListSearch } from '../list-search-BNnMwbpv.js';
4
+ import { C as Combobox } from '../combobox-so2V71F7.js';
5
+ import { e as DataList } from '../data-list-B2ArWwsJ.js';
6
+ import { L as ListSearch } from '../list-search-Cwp-OPvC.js';
7
7
  import { T as TabContent } from '../tabs-content-6EaLEj8a.js';
8
8
  import { T as TabsContext } from '../tabs-context-Cbuw7i0u.js';
9
9
  import { T as TabList } from '../tabs-list-DY_hziv7.js';
10
10
  import { T as Tabs } from '../tabs-root-CvGhdNKc.js';
11
- import { T as Tab } from '../tabs-tab-BchiQf0E.js';
11
+ import { T as Tab } from '../tabs-tab-CzpXzpf-.js';
12
12
  import { b as TooltipProvider, T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../tooltip-CCZcMbgy.js';
13
13
  import { T as Txt } from '../Txt-BuzYj7Vy.js';
14
14
  import { c as cn } from '../cn-coERSHz5.js';
@@ -9,7 +9,7 @@ const reactHookForm = require('react-hook-form');
9
9
  const lib_form_fieldContext = require('../field-context.cjs.js');
10
10
  const lib_form_useSectionDisclosure = require('../use-section-disclosure.cjs.js');
11
11
  const lib_form_utils = require('../utils.cjs.js');
12
- const Button = require('../../../Button-BfZzgZrA.cjs');
12
+ const Button = require('../../../Button-CAVPKK09.cjs');
13
13
  const collapsible = require('../../../collapsible-C6BZhVRG.cjs');
14
14
  const disclosureChevron = require('../../../disclosure-chevron-B_gmYFR5.cjs');
15
15
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
@@ -5,7 +5,7 @@ import { useFormContext, useWatch } from 'react-hook-form';
5
5
  import { FieldPathContext, FormReadOnlyContext, ArrayAddButtonContext } from '../field-context.es.js';
6
6
  import { useSectionDisclosure } from '../use-section-disclosure.es.js';
7
7
  import { isPlainObject } from '../utils.es.js';
8
- import { B as Button } from '../../../Button-C8QDEN9j.js';
8
+ import { B as Button } from '../../../Button-60jVnaHt.js';
9
9
  import { C as Collapsible, b as CollapsibleTrigger, a as CollapsibleContent } from '../../../collapsible-DglEffBF.js';
10
10
  import { D as DisclosureChevron } from '../../../disclosure-chevron-BWZ8Alz1.js';
11
11
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const lib_form_fieldContext = require('../field-context.cjs.js');
9
- const Button = require('../../../Button-BfZzgZrA.cjs');
9
+ const Button = require('../../../Button-CAVPKK09.cjs');
10
10
  const Txt = require('../../../Txt-DXjXpX9r.cjs');
11
11
 
12
12
  function ArrayWrapper({ label, children, onAddItem }) {
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Brackets, Plus } from 'lucide-react';
3
3
  import { useContext, Children, useRef } from 'react';
4
4
  import { FormReadOnlyContext, ArrayAddButtonContext } from '../field-context.es.js';
5
- import { B as Button } from '../../../Button-C8QDEN9j.js';
5
+ import { B as Button } from '../../../Button-60jVnaHt.js';
6
6
  import { T as Txt } from '../../../Txt-BuzYj7Vy.js';
7
7
 
8
8
  function ArrayWrapper({ label, children, onAddItem }) {
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const dateFns = require('date-fns');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
- const Button = require('../../../Button-BfZzgZrA.cjs');
9
+ const Button = require('../../../Button-CAVPKK09.cjs');
10
10
  const datePicker = require('../../../date-picker-CoBCcoY4.cjs');
11
11
  const fieldControlAria = require('../../../field-control-aria-WzMGs0A4.cjs');
12
12
  const popover = require('../../../popover-CWHYNPp8.cjs');
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { isValid, format } from 'date-fns';
3
3
  import { CalendarIcon, X } from 'lucide-react';
4
4
  import { useState, useEffect } from 'react';
5
- import { B as Button } from '../../../Button-C8QDEN9j.js';
5
+ import { B as Button } from '../../../Button-60jVnaHt.js';
6
6
  import { D as DatePicker } from '../../../date-picker-BN8OEPyr.js';
7
7
  import { u as useFieldControlAria } from '../../../field-control-aria-DB6y41tQ.js';
8
8
  import { P as Popover, b as PopoverTrigger, a as PopoverContent } from '../../../popover-Jf2UUdQ1.js';
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
- const Button = require('../../../Button-BfZzgZrA.cjs');
7
+ const Button = require('../../../Button-CAVPKK09.cjs');
8
8
  const icons_Icon = require('../../../icons/Icon.cjs.js');
9
9
  const utils_cn = require('../../../cn-TqD01zH-.cjs');
10
10
 
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Loader2 } from 'lucide-react';
3
- import { B as Button } from '../../../Button-C8QDEN9j.js';
3
+ import { B as Button } from '../../../Button-60jVnaHt.js';
4
4
  import { Icon } from '../../../icons/Icon.es.js';
5
5
  import { c as cn } from '../../../cn-coERSHz5.js';
6
6
 
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const uuid = require('@lukeed/uuid');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
- const Button = require('../../../Button-BfZzgZrA.cjs');
9
+ const Button = require('../../../Button-CAVPKK09.cjs');
10
10
  const input = require('../../../input-zdqTky_C.cjs');
11
11
 
12
12
  function _interopNamespaceDefault(e) {
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { v4 } from '@lukeed/uuid';
3
3
  import { TrashIcon, Plus } from 'lucide-react';
4
4
  import * as React from 'react';
5
- import { B as Button } from '../../../Button-C8QDEN9j.js';
5
+ import { B as Button } from '../../../Button-60jVnaHt.js';
6
6
  import { I as Input } from '../../../input-DQFUjtnh.js';
7
7
 
8
8
  const RecordField = ({ inputProps, field }) => {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
- const select = require('../../../select-Cdz5I0A5.cjs');
6
+ const select = require('../../../select-D5cu0K7R.cjs');
7
7
 
8
8
  const SelectField = ({ field, inputProps, value }) => {
9
9
  const { key: _key, ...props } = inputProps;
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-N2lgBRsg.js';
2
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-BvYdi3X0.js';
3
3
 
4
4
  const SelectField = ({ field, inputProps, value }) => {
5
5
  const { key: _key, ...props } = inputProps;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
- const Button = require('../../../Button-BfZzgZrA.cjs');
6
+ const Button = require('../../../Button-CAVPKK09.cjs');
7
7
 
8
8
  const SubmitButton = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { type: "submit", children });
9
9
 
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { B as Button } from '../../../Button-C8QDEN9j.js';
2
+ import { B as Button } from '../../../Button-60jVnaHt.js';
3
3
 
4
4
  const SubmitButton = ({ children }) => /* @__PURE__ */ jsx(Button, { type: "submit", children });
5
5
 
@@ -3,7 +3,7 @@
3
3
  const jsxRuntime = require('react/jsx-runtime');
4
4
  const React = require('react');
5
5
  const useDebounce = require('use-debounce');
6
- const searchInput = require('./search-input-UtTJMjJu.cjs');
6
+ const searchInput = require('./search-input-2DhcUIvn.cjs');
7
7
  const keyboard_useKeydown = require('./keyboard/use-keydown.cjs.js');
8
8
  require('./keyboard/keyboard-shortcuts-context.cjs.js');
9
9
 
@@ -61,4 +61,4 @@ const ListSearch = ({
61
61
  };
62
62
 
63
63
  exports.ListSearch = ListSearch;
64
- //# sourceMappingURL=list-search-xHadeMHl.cjs.map
64
+ //# sourceMappingURL=list-search-C5j3HYkb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-search-xHadeMHl.cjs","sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size,\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"names":["useState","useRef","useKeydown","useDebouncedCallback","useEffect","jsx","SearchInput"],"mappings":";;;;;;;;;AAyBO,MAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,IAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,gBAAA,GAAmB;AACrB,CAAA,KAAuB;AACrB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,cAAA,CAAS,mBAAmB,EAAE,CAAA;AACxE,EAAA,MAAM,QAAA,GAAWC,aAAyB,IAAI,CAAA;AAE9C,EAAAC,8BAAA;AAAA,IACE;AAAA,MACE,eAAe,MAAM;AACnB,QAAA,QAAA,CAAS,SAAS,KAAA,EAAM;AACxB,QAAA,QAAA,CAAS,SAAS,MAAA,EAAO;AAAA,MAC3B;AAAA,KACF;AAAA,IACA,EAAE,OAAA,EAAS,CAAC,gBAAA;AAAiB,GAC/B;AAEA,EAAA,MAAM,eAAA,GAAkBC,gCAAA,CAAqB,CAAC,GAAA,KAAgB;AAC5D,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,GAAG,UAAU,CAAA;AAKb,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,oBAAoB,MAAA,EAAW;AACjC,MAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,MAAA,gBAAA,CAAiB,eAAe,CAAA;AAAA,IAClC;AAAA,EACF,CAAA,EAAG,CAAC,eAAA,EAAiB,eAAe,CAAC,CAAA;AAErC,EAAAA,eAAA,CAAU,MAAM,MAAM,eAAA,CAAgB,QAAO,EAAG,CAAC,eAAe,CAAC,CAAA;AAEjE,EAAA,MAAM,oBAAA,GAAuB,CAAC,IAAA,KAAiB;AAC7C,IAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,uBACEC,cAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EAAe,oBAAA;AAAA,MACf,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;;;;"}
1
+ {"version":3,"file":"list-search-C5j3HYkb.cjs","sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size,\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"names":["useState","useRef","useKeydown","useDebouncedCallback","useEffect","jsx","SearchInput"],"mappings":";;;;;;;;;AAyBO,MAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,IAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,gBAAA,GAAmB;AACrB,CAAA,KAAuB;AACrB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIA,cAAA,CAAS,mBAAmB,EAAE,CAAA;AACxE,EAAA,MAAM,QAAA,GAAWC,aAAyB,IAAI,CAAA;AAE9C,EAAAC,8BAAA;AAAA,IACE;AAAA,MACE,eAAe,MAAM;AACnB,QAAA,QAAA,CAAS,SAAS,KAAA,EAAM;AACxB,QAAA,QAAA,CAAS,SAAS,MAAA,EAAO;AAAA,MAC3B;AAAA,KACF;AAAA,IACA,EAAE,OAAA,EAAS,CAAC,gBAAA;AAAiB,GAC/B;AAEA,EAAA,MAAM,eAAA,GAAkBC,gCAAA,CAAqB,CAAC,GAAA,KAAgB;AAC5D,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,GAAG,UAAU,CAAA;AAKb,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,oBAAoB,MAAA,EAAW;AACjC,MAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,MAAA,gBAAA,CAAiB,eAAe,CAAA;AAAA,IAClC;AAAA,EACF,CAAA,EAAG,CAAC,eAAA,EAAiB,eAAe,CAAC,CAAA;AAErC,EAAAA,eAAA,CAAU,MAAM,MAAM,eAAA,CAAgB,QAAO,EAAG,CAAC,eAAe,CAAC,CAAA;AAEjE,EAAA,MAAM,oBAAA,GAAuB,CAAC,IAAA,KAAiB;AAC7C,IAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,uBACEC,cAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EAAe,oBAAA;AAAA,MACf,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useState, useRef, useEffect } from 'react';
3
3
  import { useDebouncedCallback } from 'use-debounce';
4
- import { S as SearchInput } from './search-input-fqSrRTLU.js';
4
+ import { S as SearchInput } from './search-input-RybUdqzg.js';
5
5
  import { useKeydown } from './keyboard/use-keydown.es.js';
6
6
  import './keyboard/keyboard-shortcuts-context.es.js';
7
7
 
@@ -59,4 +59,4 @@ const ListSearch = ({
59
59
  };
60
60
 
61
61
  export { ListSearch as L };
62
- //# sourceMappingURL=list-search-BNnMwbpv.js.map
62
+ //# sourceMappingURL=list-search-Cwp-OPvC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-search-BNnMwbpv.js","sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size,\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAyBO,MAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,IAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,gBAAA,GAAmB;AACrB,CAAA,KAAuB;AACrB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,QAAA,CAAS,mBAAmB,EAAE,CAAA;AACxE,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAE9C,EAAA,UAAA;AAAA,IACE;AAAA,MACE,eAAe,MAAM;AACnB,QAAA,QAAA,CAAS,SAAS,KAAA,EAAM;AACxB,QAAA,QAAA,CAAS,SAAS,MAAA,EAAO;AAAA,MAC3B;AAAA,KACF;AAAA,IACA,EAAE,OAAA,EAAS,CAAC,gBAAA;AAAiB,GAC/B;AAEA,EAAA,MAAM,eAAA,GAAkB,oBAAA,CAAqB,CAAC,GAAA,KAAgB;AAC5D,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,GAAG,UAAU,CAAA;AAKb,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,oBAAoB,MAAA,EAAW;AACjC,MAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,MAAA,gBAAA,CAAiB,eAAe,CAAA;AAAA,IAClC;AAAA,EACF,CAAA,EAAG,CAAC,eAAA,EAAiB,eAAe,CAAC,CAAA;AAErC,EAAA,SAAA,CAAU,MAAM,MAAM,eAAA,CAAgB,QAAO,EAAG,CAAC,eAAe,CAAC,CAAA;AAEjE,EAAA,MAAM,oBAAA,GAAuB,CAAC,IAAA,KAAiB;AAC7C,IAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EAAe,oBAAA;AAAA,MACf,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;;;;"}
1
+ {"version":3,"file":"list-search-Cwp-OPvC.js","sources":["../src/ds/components/ListSearch/list-search.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { SearchInput } from '@/ds/components/SearchInput';\nimport type { SearchInputProps } from '@/ds/components/SearchInput';\nimport { useKeydown } from '@/lib/keyboard';\n\nexport type ListSearchProps = {\n onSearch: (search: string) => void;\n label: string;\n placeholder: string;\n debounceMs?: number;\n size?: SearchInputProps['size'];\n /**\n * Optional controlled value. When provided, ListSearch stays in sync with this\n * prop — useful when the parent needs to clear the input programmatically\n * (e.g. from a Reset button). If omitted, ListSearch manages its own state.\n */\n value?: string;\n /**\n * Opts out of the Cmd/Ctrl+Shift+F focus shortcut. Pass this on secondary\n * instances so two search fields on the same page don't fight over focus.\n */\n shortcutDisabled?: boolean;\n};\n\nexport const ListSearch = ({\n onSearch,\n label,\n placeholder,\n debounceMs = 300,\n size,\n value: controlledValue,\n shortcutDisabled = false,\n}: ListSearchProps) => {\n const [internalValue, setInternalValue] = useState(controlledValue ?? '');\n const inputRef = useRef<HTMLInputElement>(null);\n\n useKeydown(\n {\n 'mod+shift+f': () => {\n inputRef.current?.focus();\n inputRef.current?.select();\n },\n },\n { enabled: !shortcutDisabled },\n );\n\n const debouncedSearch = useDebouncedCallback((val: string) => {\n onSearch(val);\n }, debounceMs);\n\n // Sync internal state with controlled value (e.g. parent Reset clears it to '').\n // Also cancel any pending debounced callback so a stale handleChange call\n // can't overwrite the newly-applied controlled value.\n useEffect(() => {\n if (controlledValue !== undefined) {\n debouncedSearch.cancel();\n setInternalValue(controlledValue);\n }\n }, [controlledValue, debouncedSearch]);\n\n useEffect(() => () => debouncedSearch.cancel(), [debouncedSearch]);\n\n const searchNowOrDebounced = (next: string) => {\n setInternalValue(next);\n if (next) {\n debouncedSearch(next);\n return;\n }\n debouncedSearch.cancel();\n onSearch('');\n };\n\n return (\n <SearchInput\n ref={inputRef}\n label={label}\n placeholder={placeholder}\n size={size}\n value={internalValue}\n onValueChange={searchNowOrDebounced}\n className=\"w-full max-w-120\"\n />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAyBO,MAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,GAAA;AAAA,EACb,IAAA;AAAA,EACA,KAAA,EAAO,eAAA;AAAA,EACP,gBAAA,GAAmB;AACrB,CAAA,KAAuB;AACrB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,QAAA,CAAS,mBAAmB,EAAE,CAAA;AACxE,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAE9C,EAAA,UAAA;AAAA,IACE;AAAA,MACE,eAAe,MAAM;AACnB,QAAA,QAAA,CAAS,SAAS,KAAA,EAAM;AACxB,QAAA,QAAA,CAAS,SAAS,MAAA,EAAO;AAAA,MAC3B;AAAA,KACF;AAAA,IACA,EAAE,OAAA,EAAS,CAAC,gBAAA;AAAiB,GAC/B;AAEA,EAAA,MAAM,eAAA,GAAkB,oBAAA,CAAqB,CAAC,GAAA,KAAgB;AAC5D,IAAA,QAAA,CAAS,GAAG,CAAA;AAAA,EACd,GAAG,UAAU,CAAA;AAKb,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,oBAAoB,MAAA,EAAW;AACjC,MAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,MAAA,gBAAA,CAAiB,eAAe,CAAA;AAAA,IAClC;AAAA,EACF,CAAA,EAAG,CAAC,eAAA,EAAiB,eAAe,CAAC,CAAA;AAErC,EAAA,SAAA,CAAU,MAAM,MAAM,eAAA,CAAgB,QAAO,EAAG,CAAC,eAAe,CAAC,CAAA;AAEjE,EAAA,MAAM,oBAAA,GAAuB,CAAC,IAAA,KAAiB;AAC7C,IAAA,gBAAA,CAAiB,IAAI,CAAA;AACrB,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,eAAA,CAAgB,IAAI,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,eAAA,CAAgB,MAAA,EAAO;AACvB,IAAA,QAAA,CAAS,EAAE,CAAA;AAAA,EACb,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,KAAA;AAAA,MACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA,EAAO,aAAA;AAAA,MACP,aAAA,EAAe,oBAAA;AAAA,MACf,SAAA,EAAU;AAAA;AAAA,GACZ;AAEJ;;;;"}
@@ -1,5 +1,4 @@
1
- import { c as DataListCell, e as DataListTextCell, D as DataListRoot, f as DataListTimeCell, g as DataListDateCell, h as DataListTopCellSmart, i as DataListTopCellWithTooltip, b as DataListTopCell, a as DataListTop } from './data-list-top-BJCC62oy.js';
2
- import { D as DataListNextPageLoading, a as DataListNoMatch, b as DataListSpacer, c as DataListRowLink, d as DataListRowButton, e as DataListRowWrapper, f as DataListSortableTopCell } from './data-list-spacer-DEMquKp9.js';
1
+ import { c as DataListCell, f as DataListTextCell, D as DataListRoot, g as DataListNextPageLoading, h as DataListTimeCell, i as DataListDateCell, j as DataListNoMatch, k as DataListSpacer, l as DataListRowLink, m as DataListRowButton, n as DataListRowWrapper, o as DataListTopCellSmart, p as DataListTopCellWithTooltip, q as DataListSortableTopCell, b as DataListTopCell, a as DataListTop } from './data-list-B2ArWwsJ.js';
3
2
  import { jsx, jsxs } from 'react/jsx-runtime';
4
3
  import { B as Badge } from './Badge-3-G2I_cx.js';
5
4
  import { T as Txt } from './Txt-BuzYj7Vy.js';
@@ -79,4 +78,4 @@ const LogsDataList = Object.assign(DataListRoot, {
79
78
  });
80
79
 
81
80
  export { LogsDataList as L };
82
- //# sourceMappingURL=logs-data-list-C262Be3o.js.map
81
+ //# sourceMappingURL=logs-data-list-B-gmgU74.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs-data-list-C262Be3o.js","sources":["../src/ds/components/LogsDataList/logs-data-list-cells.tsx","../src/ds/components/LogsDataList/logs-data-list.tsx"],"sourcesContent":["import { Badge } from '../Badge';\nimport type { BadgeVariant } from '../Badge';\nimport { DataListCell, DataListTextCell } from '../DataList/data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst LEVEL_VARIANT: Record<LogLevel, BadgeVariant> = {\n debug: 'neutral',\n info: 'info',\n warn: 'warning',\n error: 'destructive',\n fatal: 'destructive',\n};\n\n// ---------------------------------------------------------------------------\n// LevelCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListLevelCellProps {\n level: LogLevel;\n}\n\nexport function LogsDataListLevelCell({ level }: LogsDataListLevelCellProps) {\n return (\n <DataListCell>\n <Badge variant={LEVEL_VARIANT[level]}>{level}</Badge>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-placeholder', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n case 'tool':\n return <ToolsIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface LogsDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function LogsDataListEntityCell({ entityType, entityName }: LogsDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? (\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {entityName}\n </Txt>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// MessageCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListMessageCellProps {\n message: string;\n}\n\nexport function LogsDataListMessageCell({ message }: LogsDataListMessageCellProps) {\n return (\n <DataListCell className=\"min-w-0 truncate font-mono text-body-sm text-muted-foreground\">{message}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// DataCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListDataCellProps {\n data?: Record<string, unknown> | null;\n}\n\nexport function LogsDataListDataCell({ data }: LogsDataListDataCellProps) {\n if (!data || Object.keys(data).length === 0) {\n return <DataListCell>{null}</DataListCell>;\n }\n\n const summary = Object.entries(data)\n .map(([k, v]) => {\n if (typeof v === 'string') return `${k}: ${v}`;\n try {\n return `${k}: ${JSON.stringify(v)}`;\n } catch {\n return `${k}: <unserializable>`;\n }\n })\n .join(', ');\n\n return <DataListTextCell font=\"mono\">{summary}</DataListTextCell>;\n}\n","import { DataListDateCell, DataListTimeCell } from '../DataList/data-list-cells';\nimport { DataListNextPageLoading } from '../DataList/data-list-next-page-loading';\nimport { DataListNoMatch } from '../DataList/data-list-no-match';\nimport { DataListRoot } from '../DataList/data-list-root';\nimport { DataListRowButton } from '../DataList/data-list-row-button';\nimport { DataListRowLink } from '../DataList/data-list-row-link';\nimport { DataListRowWrapper } from '../DataList/data-list-row-wrapper';\nimport { DataListSortableTopCell } from '../DataList/data-list-sortable-top-cell';\nimport { DataListSpacer } from '../DataList/data-list-spacer';\nimport { DataListTop } from '../DataList/data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip, DataListTopCellSmart } from '../DataList/data-list-top-cell';\nimport {\n LogsDataListLevelCell,\n LogsDataListEntityCell,\n LogsDataListMessageCell,\n LogsDataListDataCell,\n} from './logs-data-list-cells';\n\nexport const LogsDataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n Spacer: DataListSpacer,\n NoMatch: DataListNoMatch,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n LevelCell: LogsDataListLevelCell,\n EntityCell: LogsDataListEntityCell,\n MessageCell: LogsDataListMessageCell,\n DataCell: LogsDataListDataCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs-data-list-B-gmgU74.js","sources":["../src/ds/components/LogsDataList/logs-data-list-cells.tsx","../src/ds/components/LogsDataList/logs-data-list.tsx"],"sourcesContent":["import { Badge } from '../Badge';\nimport type { BadgeVariant } from '../Badge';\nimport { DataListCell, DataListTextCell } from '../DataList/data-list-cells';\nimport { Txt } from '@/ds/components/Txt';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { ToolsIcon } from '@/ds/icons/ToolsIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';\n\nconst LEVEL_VARIANT: Record<LogLevel, BadgeVariant> = {\n debug: 'neutral',\n info: 'info',\n warn: 'warning',\n error: 'destructive',\n fatal: 'destructive',\n};\n\n// ---------------------------------------------------------------------------\n// LevelCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListLevelCellProps {\n level: LogLevel;\n}\n\nexport function LogsDataListLevelCell({ level }: LogsDataListLevelCellProps) {\n return (\n <DataListCell>\n <Badge variant={LEVEL_VARIANT[level]}>{level}</Badge>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-placeholder', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n case 'tool':\n return <ToolsIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface LogsDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function LogsDataListEntityCell({ entityType, entityName }: LogsDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? (\n <Txt as=\"span\" variant=\"body-sm\" className=\"min-w-0 truncate\">\n {entityName}\n </Txt>\n ) : (\n '-'\n )}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// MessageCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListMessageCellProps {\n message: string;\n}\n\nexport function LogsDataListMessageCell({ message }: LogsDataListMessageCellProps) {\n return (\n <DataListCell className=\"min-w-0 truncate font-mono text-body-sm text-muted-foreground\">{message}</DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// DataCell\n// ---------------------------------------------------------------------------\n\nexport interface LogsDataListDataCellProps {\n data?: Record<string, unknown> | null;\n}\n\nexport function LogsDataListDataCell({ data }: LogsDataListDataCellProps) {\n if (!data || Object.keys(data).length === 0) {\n return <DataListCell>{null}</DataListCell>;\n }\n\n const summary = Object.entries(data)\n .map(([k, v]) => {\n if (typeof v === 'string') return `${k}: ${v}`;\n try {\n return `${k}: ${JSON.stringify(v)}`;\n } catch {\n return `${k}: <unserializable>`;\n }\n })\n .join(', ');\n\n return <DataListTextCell font=\"mono\">{summary}</DataListTextCell>;\n}\n","import { DataListDateCell, DataListTimeCell } from '../DataList/data-list-cells';\nimport { DataListNextPageLoading } from '../DataList/data-list-next-page-loading';\nimport { DataListNoMatch } from '../DataList/data-list-no-match';\nimport { DataListRoot } from '../DataList/data-list-root';\nimport { DataListRowButton } from '../DataList/data-list-row-button';\nimport { DataListRowLink } from '../DataList/data-list-row-link';\nimport { DataListRowWrapper } from '../DataList/data-list-row-wrapper';\nimport { DataListSortableTopCell } from '../DataList/data-list-sortable-top-cell';\nimport { DataListSpacer } from '../DataList/data-list-spacer';\nimport { DataListTop } from '../DataList/data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip, DataListTopCellSmart } from '../DataList/data-list-top-cell';\nimport {\n LogsDataListLevelCell,\n LogsDataListEntityCell,\n LogsDataListMessageCell,\n LogsDataListDataCell,\n} from './logs-data-list-cells';\n\nexport const LogsDataList = Object.assign(DataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n SortableTopCell: DataListSortableTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n TopCellSmart: DataListTopCellSmart,\n RowWrapper: DataListRowWrapper,\n RowButton: DataListRowButton,\n RowLink: DataListRowLink,\n Spacer: DataListSpacer,\n NoMatch: DataListNoMatch,\n DateCell: DataListDateCell,\n TimeCell: DataListTimeCell,\n LevelCell: LogsDataListLevelCell,\n EntityCell: LogsDataListEntityCell,\n MessageCell: LogsDataListMessageCell,\n DataCell: LogsDataListDataCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const dataListTop = require('./data-list-top-Ds-NWyPO.cjs');
4
- const dataListSpacer = require('./data-list-spacer-pXP8xDlg.cjs');
3
+ const dataList = require('./data-list-BLfHObw8.cjs');
5
4
  const jsxRuntime = require('react/jsx-runtime');
6
5
  const Badge = require('./Badge-BF6FbLH_.cjs');
7
6
  const Txt = require('./Txt-DXjXpX9r.cjs');
@@ -18,7 +17,7 @@ const LEVEL_VARIANT = {
18
17
  fatal: "destructive"
19
18
  };
20
19
  function LogsDataListLevelCell({ level }) {
21
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { variant: LEVEL_VARIANT[level], children: level }) });
20
+ return /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { variant: LEVEL_VARIANT[level], children: level }) });
22
21
  }
23
22
  function EntityTypeIcon({ entityType, className }) {
24
23
  const iconClass = utils_cn.cn("size-3.5 shrink-0 text-placeholder", className);
@@ -37,17 +36,17 @@ function EntityTypeIcon({ entityType, className }) {
37
36
  }
38
37
  function LogsDataListEntityCell({ entityType, entityName }) {
39
38
  const type = entityType ?? "";
40
- return /* @__PURE__ */ jsxRuntime.jsxs(dataListTop.DataListCell, { className: "flex min-w-0 items-center gap-2", children: [
39
+ return /* @__PURE__ */ jsxRuntime.jsxs(dataList.DataListCell, { className: "flex min-w-0 items-center gap-2", children: [
41
40
  /* @__PURE__ */ jsxRuntime.jsx(EntityTypeIcon, { entityType: type }),
42
41
  entityName ? /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "body-sm", className: "min-w-0 truncate", children: entityName }) : "-"
43
42
  ] });
44
43
  }
45
44
  function LogsDataListMessageCell({ message }) {
46
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListCell, { className: "min-w-0 truncate font-mono text-body-sm text-muted-foreground", children: message });
45
+ return /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListCell, { className: "min-w-0 truncate font-mono text-body-sm text-muted-foreground", children: message });
47
46
  }
48
47
  function LogsDataListDataCell({ data }) {
49
48
  if (!data || Object.keys(data).length === 0) {
50
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListCell, { children: null });
49
+ return /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListCell, { children: null });
51
50
  }
52
51
  const summary = Object.entries(data).map(([k, v]) => {
53
52
  if (typeof v === "string") return `${k}: ${v}`;
@@ -57,28 +56,28 @@ function LogsDataListDataCell({ data }) {
57
56
  return `${k}: <unserializable>`;
58
57
  }
59
58
  }).join(", ");
60
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTop.DataListTextCell, { font: "mono", children: summary });
59
+ return /* @__PURE__ */ jsxRuntime.jsx(dataList.DataListTextCell, { font: "mono", children: summary });
61
60
  }
62
61
 
63
- const LogsDataList = Object.assign(dataListTop.DataListRoot, {
64
- Top: dataListTop.DataListTop,
65
- TopCell: dataListTop.DataListTopCell,
66
- SortableTopCell: dataListSpacer.DataListSortableTopCell,
67
- TopCellWithTooltip: dataListTop.DataListTopCellWithTooltip,
68
- TopCellSmart: dataListTop.DataListTopCellSmart,
69
- RowWrapper: dataListSpacer.DataListRowWrapper,
70
- RowButton: dataListSpacer.DataListRowButton,
71
- RowLink: dataListSpacer.DataListRowLink,
72
- Spacer: dataListSpacer.DataListSpacer,
73
- NoMatch: dataListSpacer.DataListNoMatch,
74
- DateCell: dataListTop.DataListDateCell,
75
- TimeCell: dataListTop.DataListTimeCell,
62
+ const LogsDataList = Object.assign(dataList.DataListRoot, {
63
+ Top: dataList.DataListTop,
64
+ TopCell: dataList.DataListTopCell,
65
+ SortableTopCell: dataList.DataListSortableTopCell,
66
+ TopCellWithTooltip: dataList.DataListTopCellWithTooltip,
67
+ TopCellSmart: dataList.DataListTopCellSmart,
68
+ RowWrapper: dataList.DataListRowWrapper,
69
+ RowButton: dataList.DataListRowButton,
70
+ RowLink: dataList.DataListRowLink,
71
+ Spacer: dataList.DataListSpacer,
72
+ NoMatch: dataList.DataListNoMatch,
73
+ DateCell: dataList.DataListDateCell,
74
+ TimeCell: dataList.DataListTimeCell,
76
75
  LevelCell: LogsDataListLevelCell,
77
76
  EntityCell: LogsDataListEntityCell,
78
77
  MessageCell: LogsDataListMessageCell,
79
78
  DataCell: LogsDataListDataCell,
80
- NextPageLoading: dataListSpacer.DataListNextPageLoading
79
+ NextPageLoading: dataList.DataListNextPageLoading
81
80
  });
82
81
 
83
82
  exports.LogsDataList = LogsDataList;
84
- //# sourceMappingURL=logs-data-list-DfuVMd6f.cjs.map
83
+ //# sourceMappingURL=logs-data-list-CaXnNnC5.cjs.map