@mastra/playground-ui 56.0.0-alpha.8 → 56.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1743) hide show
  1. package/README.md +4 -16
  2. package/dist/Badge-BEeYtjmv.cjs +125 -0
  3. package/dist/Badge-BEeYtjmv.cjs.map +1 -0
  4. package/dist/Badge-TD55_qZJ.js +123 -0
  5. package/dist/Badge-TD55_qZJ.js.map +1 -0
  6. package/dist/Button-CVewl8nT.cjs +202 -0
  7. package/dist/Button-CVewl8nT.cjs.map +1 -0
  8. package/dist/Button-cWcBEd-G.js +198 -0
  9. package/dist/Button-cWcBEd-G.js.map +1 -0
  10. package/dist/Card-D0kFp9j9.cjs +101 -0
  11. package/dist/Card-D0kFp9j9.cjs.map +1 -0
  12. package/dist/Card-DEvGFj-Z.js +74 -0
  13. package/dist/Card-DEvGFj-Z.js.map +1 -0
  14. package/dist/CommandPalette.css +9 -10
  15. package/dist/EmptyState-CdRjFB06.cjs +33 -0
  16. package/dist/EmptyState-CdRjFB06.cjs.map +1 -0
  17. package/dist/EmptyState-UWXhBp5U.js +31 -0
  18. package/dist/EmptyState-UWXhBp5U.js.map +1 -0
  19. package/dist/ErrorState-B3uTRAEd.cjs +16 -0
  20. package/dist/ErrorState-B3uTRAEd.cjs.map +1 -0
  21. package/dist/ErrorState-DqRx8Dw_.js +14 -0
  22. package/dist/ErrorState-DqRx8Dw_.js.map +1 -0
  23. package/dist/Notice-Ah-84yi6.js +89 -0
  24. package/dist/Notice-Ah-84yi6.js.map +1 -0
  25. package/dist/Notice-Cjti0e0j.cjs +91 -0
  26. package/dist/Notice-Cjti0e0j.cjs.map +1 -0
  27. package/dist/PermissionDenied-B6TSGolC.js +22 -0
  28. package/dist/PermissionDenied-B6TSGolC.js.map +1 -0
  29. package/dist/PermissionDenied-Dz5qXpQj.cjs +24 -0
  30. package/dist/PermissionDenied-Dz5qXpQj.cjs.map +1 -0
  31. package/dist/SessionExpired-Bq5LcsDu.js +45 -0
  32. package/dist/SessionExpired-Bq5LcsDu.js.map +1 -0
  33. package/dist/SessionExpired-CF0BGNo_.cjs +47 -0
  34. package/dist/SessionExpired-CF0BGNo_.cjs.map +1 -0
  35. package/dist/Txt-B4-2nLaI.cjs +38 -0
  36. package/dist/Txt-B4-2nLaI.cjs.map +1 -0
  37. package/dist/Txt-DTh3Pa_a.js +36 -0
  38. package/dist/Txt-DTh3Pa_a.js.map +1 -0
  39. package/dist/activity-B8TfxRNU.js +49 -0
  40. package/dist/activity-B8TfxRNU.js.map +1 -0
  41. package/dist/activity-BYMLNb0G.cjs +52 -0
  42. package/dist/activity-BYMLNb0G.cjs.map +1 -0
  43. package/dist/activity.css +1 -1
  44. package/dist/arrival-BWQZUZFQ.cjs +22 -0
  45. package/dist/arrival-BWQZUZFQ.cjs.map +1 -0
  46. package/dist/arrival-RmSek4Iq.js +19 -0
  47. package/dist/arrival-RmSek4Iq.js.map +1 -0
  48. package/dist/ask-user-CS2e6Re4.cjs +147 -0
  49. package/dist/ask-user-CS2e6Re4.cjs.map +1 -0
  50. package/dist/ask-user-gS3Y1bCc.js +138 -0
  51. package/dist/ask-user-gS3Y1bCc.js.map +1 -0
  52. package/dist/buttons-group-BiLEV_Ak.cjs +101 -0
  53. package/dist/buttons-group-BiLEV_Ak.cjs.map +1 -0
  54. package/dist/buttons-group-CaA7KAWf.js +78 -0
  55. package/dist/buttons-group-CaA7KAWf.js.map +1 -0
  56. package/dist/buttons-group.css +135 -0
  57. package/dist/chart-tooltip-84fl_3Wc.js +17 -0
  58. package/dist/chart-tooltip-84fl_3Wc.js.map +1 -0
  59. package/dist/chart-tooltip-DX6vs_Tc.cjs +19 -0
  60. package/dist/chart-tooltip-DX6vs_Tc.cjs.map +1 -0
  61. package/dist/chat-notification-4OuPNhtu.js +107 -0
  62. package/dist/chat-notification-4OuPNhtu.js.map +1 -0
  63. package/dist/chat-notification-CPrlBwP_.cjs +111 -0
  64. package/dist/chat-notification-CPrlBwP_.cjs.map +1 -0
  65. package/dist/chat-signal-B_T2DSzo.cjs +42 -0
  66. package/dist/chat-signal-B_T2DSzo.cjs.map +1 -0
  67. package/dist/chat-signal-CG5-vy21.js +40 -0
  68. package/dist/chat-signal-CG5-vy21.js.map +1 -0
  69. package/dist/checkbox-CI8JtZKS.cjs +100 -0
  70. package/dist/checkbox-CI8JtZKS.cjs.map +1 -0
  71. package/dist/checkbox-CQedzgsi.js +79 -0
  72. package/dist/checkbox-CQedzgsi.js.map +1 -0
  73. package/dist/cn-65Adrsfj.js +3286 -0
  74. package/dist/cn-65Adrsfj.js.map +1 -0
  75. package/dist/cn-DG0X1KEP.cjs +3289 -0
  76. package/dist/cn-DG0X1KEP.cjs.map +1 -0
  77. package/dist/code-block-CSqjpBvb.js +86 -0
  78. package/dist/code-block-CSqjpBvb.js.map +1 -0
  79. package/dist/code-block-Cd4u7Bo9.cjs +88 -0
  80. package/dist/code-block-Cd4u7Bo9.cjs.map +1 -0
  81. package/dist/code-diff-C5uY-3Hz.js +145 -0
  82. package/dist/code-diff-C5uY-3Hz.js.map +1 -0
  83. package/dist/code-diff-DBtbPe9D.cjs +147 -0
  84. package/dist/code-diff-DBtbPe9D.cjs.map +1 -0
  85. package/dist/code-editor-DgY7d8kg.cjs +494 -0
  86. package/dist/code-editor-DgY7d8kg.cjs.map +1 -0
  87. package/dist/code-editor-vCt7l9Bl.js +486 -0
  88. package/dist/code-editor-vCt7l9Bl.js.map +1 -0
  89. package/dist/collapsible-B2uUy8w5.js +57 -0
  90. package/dist/collapsible-B2uUy8w5.js.map +1 -0
  91. package/dist/collapsible-BvrI6XnN.cjs +61 -0
  92. package/dist/collapsible-BvrI6XnN.cjs.map +1 -0
  93. package/dist/combobox-BWM3VH-n.cjs +203 -0
  94. package/dist/combobox-BWM3VH-n.cjs.map +1 -0
  95. package/dist/combobox-D7xJFZuO.js +182 -0
  96. package/dist/combobox-D7xJFZuO.js.map +1 -0
  97. package/dist/combobox-styles-CRebmeht.js +94 -0
  98. package/dist/combobox-styles-CRebmeht.js.map +1 -0
  99. package/dist/combobox-styles-DYlNNjKC.cjs +98 -0
  100. package/dist/combobox-styles-DYlNNjKC.cjs.map +1 -0
  101. package/dist/command-DuT06mTw.cjs +211 -0
  102. package/dist/command-DuT06mTw.cjs.map +1 -0
  103. package/dist/command-jRiL1vXM.js +182 -0
  104. package/dist/command-jRiL1vXM.js.map +1 -0
  105. package/dist/components/Activity.cjs.js +1 -1
  106. package/dist/components/Activity.es.js +1 -1
  107. package/dist/components/AlertDialog.cjs.js +16 -7
  108. package/dist/components/AlertDialog.cjs.js.map +1 -1
  109. package/dist/components/AlertDialog.es.js +16 -7
  110. package/dist/components/AlertDialog.es.js.map +1 -1
  111. package/dist/components/Arrival.cjs.js +1 -1
  112. package/dist/components/Arrival.es.js +1 -1
  113. package/dist/components/Avatar.cjs.js +9 -8
  114. package/dist/components/Avatar.cjs.js.map +1 -1
  115. package/dist/components/Avatar.es.js +10 -9
  116. package/dist/components/Avatar.es.js.map +1 -1
  117. package/dist/components/Badge.cjs.js +1 -1
  118. package/dist/components/Badge.es.js +1 -1
  119. package/dist/components/BrandLoader.cjs.js +2 -2
  120. package/dist/components/BrandLoader.cjs.js.map +1 -1
  121. package/dist/components/BrandLoader.es.js +2 -2
  122. package/dist/components/BrandLoader.es.js.map +1 -1
  123. package/dist/components/Breadcrumb.cjs.js +8 -7
  124. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  125. package/dist/components/Breadcrumb.es.js +9 -8
  126. package/dist/components/Breadcrumb.es.js.map +1 -1
  127. package/dist/components/Button.cjs.js +2 -2
  128. package/dist/components/Button.es.js +3 -3
  129. package/dist/components/ButtonsGroup.cjs.js +1 -2
  130. package/dist/components/ButtonsGroup.cjs.js.map +1 -1
  131. package/dist/components/ButtonsGroup.es.js +1 -1
  132. package/dist/components/Card.cjs.js +1 -1
  133. package/dist/components/Card.es.js +1 -1
  134. package/dist/components/ChartTooltip.cjs.js +10 -0
  135. package/dist/components/ChartTooltip.cjs.js.map +1 -0
  136. package/dist/components/ChartTooltip.d.ts +2 -0
  137. package/dist/components/ChartTooltip.es.js +2 -0
  138. package/dist/components/ChartTooltip.es.js.map +1 -0
  139. package/dist/components/ChatShell.cjs.js +4 -4
  140. package/dist/components/ChatShell.cjs.js.map +1 -1
  141. package/dist/components/ChatShell.es.js +4 -4
  142. package/dist/components/ChatShell.es.js.map +1 -1
  143. package/dist/components/Checkbox.cjs.js +1 -1
  144. package/dist/components/Checkbox.es.js +1 -1
  145. package/dist/components/ClampedText.cjs.js +4 -4
  146. package/dist/components/ClampedText.cjs.js.map +1 -1
  147. package/dist/components/ClampedText.es.js +4 -4
  148. package/dist/components/ClampedText.es.js.map +1 -1
  149. package/dist/components/CodeBlock.cjs.js +1 -1
  150. package/dist/components/CodeBlock.es.js +1 -1
  151. package/dist/components/CodeDiff.cjs.js +1 -1
  152. package/dist/components/CodeDiff.es.js +1 -1
  153. package/dist/components/CodeEditor.cjs.js +1 -1
  154. package/dist/components/CodeEditor.es.js +1 -1
  155. package/dist/components/Collapsible.cjs.js +1 -1
  156. package/dist/components/Collapsible.es.js +1 -1
  157. package/dist/components/Columns.cjs.js +4 -4
  158. package/dist/components/Columns.cjs.js.map +1 -1
  159. package/dist/components/Columns.es.js +4 -4
  160. package/dist/components/Columns.es.js.map +1 -1
  161. package/dist/components/Combobox.cjs.js +2 -2
  162. package/dist/components/Combobox.es.js +2 -2
  163. package/dist/components/Command.cjs.js +1 -1
  164. package/dist/components/Command.es.js +1 -1
  165. package/dist/components/CommandPalette.cjs.js +51 -24
  166. package/dist/components/CommandPalette.cjs.js.map +1 -1
  167. package/dist/components/CommandPalette.es.js +51 -24
  168. package/dist/components/CommandPalette.es.js.map +1 -1
  169. package/dist/components/Comment.cjs.js +40 -36
  170. package/dist/components/Comment.cjs.js.map +1 -1
  171. package/dist/components/Comment.es.js +41 -37
  172. package/dist/components/Comment.es.js.map +1 -1
  173. package/dist/components/Composer.cjs.js +8 -8
  174. package/dist/components/Composer.cjs.js.map +1 -1
  175. package/dist/components/Composer.es.js +8 -8
  176. package/dist/components/Composer.es.js.map +1 -1
  177. package/dist/components/ContextMenu.cjs.js +2 -2
  178. package/dist/components/ContextMenu.cjs.js.map +1 -1
  179. package/dist/components/ContextMenu.es.js +2 -2
  180. package/dist/components/ContextMenu.es.js.map +1 -1
  181. package/dist/components/CopyButton.cjs.js +1 -1
  182. package/dist/components/CopyButton.es.js +1 -1
  183. package/dist/components/DataCodeSection.cjs.js +1 -1
  184. package/dist/components/DataCodeSection.es.js +1 -1
  185. package/dist/components/DataDetailsPanel.cjs.js +46 -30
  186. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  187. package/dist/components/DataDetailsPanel.es.js +46 -30
  188. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  189. package/dist/components/DataFilter.cjs.js +5 -5
  190. package/dist/components/DataFilter.cjs.js.map +1 -1
  191. package/dist/components/DataFilter.es.js +5 -5
  192. package/dist/components/DataFilter.es.js.map +1 -1
  193. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  194. package/dist/components/DataKeysAndValues.es.js +1 -1
  195. package/dist/components/DataList.cjs.js +11 -10
  196. package/dist/components/DataList.cjs.js.map +1 -1
  197. package/dist/components/DataList.es.js +11 -10
  198. package/dist/components/DataList.es.js.map +1 -1
  199. package/dist/components/DataPanel.cjs.js +1 -1
  200. package/dist/components/DataPanel.es.js +1 -1
  201. package/dist/components/DateRangeTimeline.cjs.js +25 -22
  202. package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
  203. package/dist/components/DateRangeTimeline.es.js +25 -22
  204. package/dist/components/DateRangeTimeline.es.js.map +1 -1
  205. package/dist/components/DateTimePicker.cjs.js +10 -23
  206. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  207. package/dist/components/DateTimePicker.es.js +11 -24
  208. package/dist/components/DateTimePicker.es.js.map +1 -1
  209. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  210. package/dist/components/DateTimeRangePicker.es.js +1 -1
  211. package/dist/components/Dialog.cjs.js +4 -4
  212. package/dist/components/Dialog.cjs.js.map +1 -1
  213. package/dist/components/Dialog.es.js +5 -5
  214. package/dist/components/Dialog.es.js.map +1 -1
  215. package/dist/components/Drawer.cjs.js +1 -1
  216. package/dist/components/Drawer.es.js +1 -1
  217. package/dist/components/DropdownMenu.cjs.js +1 -1
  218. package/dist/components/DropdownMenu.es.js +1 -1
  219. package/dist/components/EmptyState.cjs.js +1 -1
  220. package/dist/components/EmptyState.es.js +1 -1
  221. package/dist/components/Entity.cjs.js +9 -7
  222. package/dist/components/Entity.cjs.js.map +1 -1
  223. package/dist/components/Entity.es.js +9 -7
  224. package/dist/components/Entity.es.js.map +1 -1
  225. package/dist/components/EntityHeader.cjs.js +4 -4
  226. package/dist/components/EntityHeader.cjs.js.map +1 -1
  227. package/dist/components/EntityHeader.es.js +4 -4
  228. package/dist/components/EntityHeader.es.js.map +1 -1
  229. package/dist/components/Entry.cjs.js +2 -2
  230. package/dist/components/Entry.cjs.js.map +1 -1
  231. package/dist/components/Entry.es.js +2 -2
  232. package/dist/components/Entry.es.js.map +1 -1
  233. package/dist/components/EnvironmentVariablesEditor.cjs.js +21 -18
  234. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  235. package/dist/components/EnvironmentVariablesEditor.es.js +21 -18
  236. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  237. package/dist/components/ErrorBoundary.cjs.js +10 -9
  238. package/dist/components/ErrorBoundary.cjs.js.map +1 -1
  239. package/dist/components/ErrorBoundary.es.js +10 -9
  240. package/dist/components/ErrorBoundary.es.js.map +1 -1
  241. package/dist/components/ErrorState.cjs.js +1 -1
  242. package/dist/components/ErrorState.es.js +1 -1
  243. package/dist/components/FilterBar.cjs.js +224 -226
  244. package/dist/components/FilterBar.cjs.js.map +1 -1
  245. package/dist/components/FilterBar.es.js +228 -230
  246. package/dist/components/FilterBar.es.js.map +1 -1
  247. package/dist/components/FormFieldBlocks.cjs.js +52 -5
  248. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  249. package/dist/components/FormFieldBlocks.es.js +54 -8
  250. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  251. package/dist/components/Header.cjs.js +4 -4
  252. package/dist/components/Header.cjs.js.map +1 -1
  253. package/dist/components/Header.es.js +4 -4
  254. package/dist/components/Header.es.js.map +1 -1
  255. package/dist/components/HorizontalBars.cjs.js +1 -1
  256. package/dist/components/HorizontalBars.es.js +1 -1
  257. package/dist/components/HoverCard.cjs.js +1 -1
  258. package/dist/components/HoverCard.es.js +1 -1
  259. package/dist/components/Input.cjs.js +1 -1
  260. package/dist/components/Input.es.js +1 -1
  261. package/dist/components/InputGroup.cjs.js +1 -1
  262. package/dist/components/InputGroup.es.js +1 -1
  263. package/dist/components/IntegrationDialog.cjs.js +9 -10
  264. package/dist/components/IntegrationDialog.cjs.js.map +1 -1
  265. package/dist/components/IntegrationDialog.es.js +9 -10
  266. package/dist/components/IntegrationDialog.es.js.map +1 -1
  267. package/dist/components/ItemList.cjs.js +33 -24
  268. package/dist/components/ItemList.cjs.js.map +1 -1
  269. package/dist/components/ItemList.es.js +33 -24
  270. package/dist/components/ItemList.es.js.map +1 -1
  271. package/dist/components/JSONSchemaForm.cjs.js +14 -14
  272. package/dist/components/JSONSchemaForm.cjs.js.map +1 -1
  273. package/dist/components/JSONSchemaForm.es.js +14 -14
  274. package/dist/components/JSONSchemaForm.es.js.map +1 -1
  275. package/dist/components/Kbd.cjs.js +1 -1
  276. package/dist/components/Kbd.es.js +1 -1
  277. package/dist/components/KeyValueList.cjs.js +11 -11
  278. package/dist/components/KeyValueList.cjs.js.map +1 -1
  279. package/dist/components/KeyValueList.es.js +11 -11
  280. package/dist/components/KeyValueList.es.js.map +1 -1
  281. package/dist/components/Label.cjs.js +1 -1
  282. package/dist/components/Label.es.js +1 -1
  283. package/dist/components/ListSearch.cjs.js +1 -1
  284. package/dist/components/ListSearch.es.js +1 -1
  285. package/dist/components/Logo.cjs.js +2 -2
  286. package/dist/components/Logo.cjs.js.map +1 -1
  287. package/dist/components/Logo.es.js +2 -2
  288. package/dist/components/Logo.es.js.map +1 -1
  289. package/dist/components/LogsDataList.cjs.js +2 -4
  290. package/dist/components/LogsDataList.cjs.js.map +1 -1
  291. package/dist/components/LogsDataList.es.js +2 -4
  292. package/dist/components/LogsDataList.es.js.map +1 -1
  293. package/dist/components/MainContent.cjs.js +1 -1
  294. package/dist/components/MainContent.es.js +1 -1
  295. package/dist/components/MainHeader.cjs.js +18 -16
  296. package/dist/components/MainHeader.cjs.js.map +1 -1
  297. package/dist/components/MainHeader.es.js +18 -16
  298. package/dist/components/MainHeader.es.js.map +1 -1
  299. package/dist/components/MainSidebar.cjs.js +3 -3
  300. package/dist/components/MainSidebar.cjs.js.map +1 -1
  301. package/dist/components/MainSidebar.es.js +4 -4
  302. package/dist/components/MainSidebar.es.js.map +1 -1
  303. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  304. package/dist/components/MarkdownRenderer.es.js +1 -1
  305. package/dist/components/Message.cjs.js +3 -3
  306. package/dist/components/Message.cjs.js.map +1 -1
  307. package/dist/components/Message.es.js +4 -4
  308. package/dist/components/Message.es.js.map +1 -1
  309. package/dist/components/MessageScroller.cjs.js +1 -1
  310. package/dist/components/MessageScroller.es.js +1 -1
  311. package/dist/components/MetricsCard.cjs.js +1 -1
  312. package/dist/components/MetricsCard.es.js +1 -1
  313. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  314. package/dist/components/MetricsFlexGrid.es.js +1 -1
  315. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  316. package/dist/components/MetricsKpiCard.es.js +1 -1
  317. package/dist/components/MetricsLineChart.cjs.js +1 -1
  318. package/dist/components/MetricsLineChart.es.js +1 -1
  319. package/dist/components/Notice.cjs.js +1 -1
  320. package/dist/components/Notice.es.js +1 -1
  321. package/dist/components/PageHeader.cjs.js +1 -1
  322. package/dist/components/PageHeader.es.js +1 -1
  323. package/dist/components/PageLayout.cjs.js +2 -2
  324. package/dist/components/PageLayout.es.js +2 -2
  325. package/dist/components/PendingIndicator.cjs.js +2 -2
  326. package/dist/components/PendingIndicator.cjs.js.map +1 -1
  327. package/dist/components/PendingIndicator.es.js +2 -2
  328. package/dist/components/PendingIndicator.es.js.map +1 -1
  329. package/dist/components/PermissionDenied.cjs.js +1 -1
  330. package/dist/components/PermissionDenied.es.js +1 -1
  331. package/dist/components/Popover.cjs.js +1 -1
  332. package/dist/components/Popover.es.js +1 -1
  333. package/dist/components/PrevNextNav.cjs.js +1 -1
  334. package/dist/components/PrevNextNav.es.js +1 -1
  335. package/dist/components/PropertyFilter.cjs.js +19 -15
  336. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  337. package/dist/components/PropertyFilter.es.js +20 -16
  338. package/dist/components/PropertyFilter.es.js.map +1 -1
  339. package/dist/components/PullRequestIcon.cjs.js +2 -2
  340. package/dist/components/PullRequestIcon.cjs.js.map +1 -1
  341. package/dist/components/PullRequestIcon.es.js +2 -2
  342. package/dist/components/PullRequestIcon.es.js.map +1 -1
  343. package/dist/components/RadioGroup.cjs.js +3 -18
  344. package/dist/components/RadioGroup.cjs.js.map +1 -1
  345. package/dist/components/RadioGroup.es.js +3 -18
  346. package/dist/components/RadioGroup.es.js.map +1 -1
  347. package/dist/components/RuleBuilder.cjs.js +37 -24
  348. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  349. package/dist/components/RuleBuilder.es.js +37 -24
  350. package/dist/components/RuleBuilder.es.js.map +1 -1
  351. package/dist/components/SankeyChart.cjs.js +1 -1
  352. package/dist/components/SankeyChart.es.js +1 -1
  353. package/dist/components/ScatterPlotChart.cjs.js +23 -16
  354. package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
  355. package/dist/components/ScatterPlotChart.es.js +21 -14
  356. package/dist/components/ScatterPlotChart.es.js.map +1 -1
  357. package/dist/components/ScrollArea.cjs.js +1 -1
  358. package/dist/components/ScrollArea.es.js +1 -1
  359. package/dist/components/Section.cjs.js +1 -1
  360. package/dist/components/Section.es.js +1 -1
  361. package/dist/components/SectionCard.cjs.js +5 -16
  362. package/dist/components/SectionCard.cjs.js.map +1 -1
  363. package/dist/components/SectionCard.es.js +5 -16
  364. package/dist/components/SectionCard.es.js.map +1 -1
  365. package/dist/components/Sections.cjs.js +1 -1
  366. package/dist/components/Sections.es.js +1 -1
  367. package/dist/components/Select.cjs.js +1 -1
  368. package/dist/components/Select.es.js +1 -1
  369. package/dist/components/SessionExpired.cjs.js +1 -1
  370. package/dist/components/SessionExpired.es.js +1 -1
  371. package/dist/components/SettingsLayout.cjs.js +1 -1
  372. package/dist/components/SettingsLayout.es.js +1 -1
  373. package/dist/components/SettingsRow.cjs.js +1 -1
  374. package/dist/components/SettingsRow.es.js +1 -1
  375. package/dist/components/Shimmer.cjs.js +1 -1
  376. package/dist/components/Shimmer.es.js +1 -1
  377. package/dist/components/SideDialog.cjs.js +31 -27
  378. package/dist/components/SideDialog.cjs.js.map +1 -1
  379. package/dist/components/SideDialog.es.js +31 -27
  380. package/dist/components/SideDialog.es.js.map +1 -1
  381. package/dist/components/Skeleton.cjs.js +1 -1
  382. package/dist/components/Skeleton.es.js +1 -1
  383. package/dist/components/Slider.cjs.js +1 -1
  384. package/dist/components/Slider.es.js +1 -1
  385. package/dist/components/Spinner.cjs.js +1 -1
  386. package/dist/components/Spinner.es.js +1 -1
  387. package/dist/components/StatusIndicators.cjs.js +11 -11
  388. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  389. package/dist/components/StatusIndicators.es.js +11 -11
  390. package/dist/components/StatusIndicators.es.js.map +1 -1
  391. package/dist/components/Steps.cjs.js +19 -21
  392. package/dist/components/Steps.cjs.js.map +1 -1
  393. package/dist/components/Steps.es.js +19 -21
  394. package/dist/components/Steps.es.js.map +1 -1
  395. package/dist/components/Switch.cjs.js +1 -1
  396. package/dist/components/Switch.es.js +1 -1
  397. package/dist/components/Table.cjs.js +15 -15
  398. package/dist/components/Table.cjs.js.map +1 -1
  399. package/dist/components/Table.es.js +15 -15
  400. package/dist/components/Table.es.js.map +1 -1
  401. package/dist/components/Tabs.cjs.js +3 -3
  402. package/dist/components/Tabs.es.js +3 -3
  403. package/dist/components/Text.cjs.js +1 -1
  404. package/dist/components/Text.es.js +1 -1
  405. package/dist/components/Textarea.cjs.js +1 -1
  406. package/dist/components/Textarea.es.js +1 -1
  407. package/dist/components/ThemeToggle.cjs.js +8 -6
  408. package/dist/components/ThemeToggle.cjs.js.map +1 -1
  409. package/dist/components/ThemeToggle.es.js +8 -6
  410. package/dist/components/ThemeToggle.es.js.map +1 -1
  411. package/dist/components/ThreadList.cjs.js +8 -7
  412. package/dist/components/ThreadList.cjs.js.map +1 -1
  413. package/dist/components/ThreadList.es.js +8 -7
  414. package/dist/components/ThreadList.es.js.map +1 -1
  415. package/dist/components/ThreadRail.cjs.js +1 -1
  416. package/dist/components/ThreadRail.es.js +1 -1
  417. package/dist/components/Toaster.cjs.js +1 -1
  418. package/dist/components/Toaster.es.js +1 -1
  419. package/dist/components/TokenBudget.cjs.js +9 -9
  420. package/dist/components/TokenBudget.cjs.js.map +1 -1
  421. package/dist/components/TokenBudget.es.js +9 -9
  422. package/dist/components/TokenBudget.es.js.map +1 -1
  423. package/dist/components/Tooltip.cjs.js +1 -1
  424. package/dist/components/Tooltip.es.js +1 -1
  425. package/dist/components/Tree.cjs.js +12 -12
  426. package/dist/components/Tree.cjs.js.map +1 -1
  427. package/dist/components/Tree.es.js +12 -12
  428. package/dist/components/Tree.es.js.map +1 -1
  429. package/dist/components/Truncate.cjs.js +4 -4
  430. package/dist/components/Truncate.es.js +4 -4
  431. package/dist/components/Txt.cjs.js +1 -1
  432. package/dist/components/Txt.es.js +1 -1
  433. package/dist/components/Workflow.cjs.js +114 -83
  434. package/dist/components/Workflow.cjs.js.map +1 -1
  435. package/dist/components/Workflow.es.js +114 -83
  436. package/dist/components/Workflow.es.js.map +1 -1
  437. package/dist/components/ai/ask-user.cjs.js +1 -1
  438. package/dist/components/ai/ask-user.es.js +1 -1
  439. package/dist/components/ai/chat-event.cjs.js +9 -9
  440. package/dist/components/ai/chat-event.cjs.js.map +1 -1
  441. package/dist/components/ai/chat-event.es.js +10 -10
  442. package/dist/components/ai/chat-event.es.js.map +1 -1
  443. package/dist/components/ai/plan.cjs.js +16 -15
  444. package/dist/components/ai/plan.cjs.js.map +1 -1
  445. package/dist/components/ai/plan.es.js +16 -15
  446. package/dist/components/ai/plan.es.js.map +1 -1
  447. package/dist/components/ai/task-list.cjs.js +15 -14
  448. package/dist/components/ai/task-list.cjs.js.map +1 -1
  449. package/dist/components/ai/task-list.es.js +15 -14
  450. package/dist/components/ai/task-list.es.js.map +1 -1
  451. package/dist/components/ai/tool-approval.cjs.js +1 -1
  452. package/dist/components/ai/tool-approval.es.js +1 -1
  453. package/dist/components/ai/tool-call.cjs.js +15 -15
  454. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  455. package/dist/components/ai/tool-call.es.js +16 -16
  456. package/dist/components/ai/tool-call.es.js.map +1 -1
  457. package/dist/components/fluid-hover-highlight.cjs.js +1 -1
  458. package/dist/components/fluid-hover-highlight.es.js +1 -1
  459. package/dist/composer-BUoRnMDd.cjs +156 -0
  460. package/dist/composer-BUoRnMDd.cjs.map +1 -0
  461. package/dist/composer-CEL1glw7.js +148 -0
  462. package/dist/composer-CEL1glw7.js.map +1 -0
  463. package/dist/composer.css +6 -6
  464. package/dist/copy-button-2cwdZ3dW.js +36 -0
  465. package/dist/copy-button-2cwdZ3dW.js.map +1 -0
  466. package/dist/copy-button-BbDBpBMl.cjs +38 -0
  467. package/dist/copy-button-BbDBpBMl.cjs.map +1 -0
  468. package/dist/data-code-section-DKz9Okaz.js +367 -0
  469. package/dist/data-code-section-DKz9Okaz.js.map +1 -0
  470. package/dist/data-code-section-qujvEc6j.cjs +369 -0
  471. package/dist/data-code-section-qujvEc6j.cjs.map +1 -0
  472. package/dist/data-keys-and-values-4pYpSbqS.cjs +126 -0
  473. package/dist/data-keys-and-values-4pYpSbqS.cjs.map +1 -0
  474. package/dist/data-keys-and-values-j0NVKPOl.js +124 -0
  475. package/dist/data-keys-and-values-j0NVKPOl.js.map +1 -0
  476. package/dist/data-list-CypPKOQ_.cjs +125 -0
  477. package/dist/data-list-CypPKOQ_.cjs.map +1 -0
  478. package/dist/data-list-DnSdaRES.js +121 -0
  479. package/dist/data-list-DnSdaRES.js.map +1 -0
  480. package/dist/data-list-skeleton-ADXw-opu.cjs +38 -0
  481. package/dist/data-list-skeleton-ADXw-opu.cjs.map +1 -0
  482. package/dist/data-list-skeleton-D7-glFuk.js +36 -0
  483. package/dist/data-list-skeleton-D7-glFuk.js.map +1 -0
  484. package/dist/data-list-spacer-DRHNUeeP.js +200 -0
  485. package/dist/data-list-spacer-DRHNUeeP.js.map +1 -0
  486. package/dist/data-list-spacer-EWo65MrK.cjs +209 -0
  487. package/dist/data-list-spacer-EWo65MrK.cjs.map +1 -0
  488. package/dist/data-list-top-DLwt_Sv-.js +367 -0
  489. package/dist/data-list-top-DLwt_Sv-.js.map +1 -0
  490. package/dist/data-list-top-RK_yX6z8.cjs +392 -0
  491. package/dist/data-list-top-RK_yX6z8.cjs.map +1 -0
  492. package/dist/data-panel-CWZJKBeW.cjs +270 -0
  493. package/dist/data-panel-CWZJKBeW.cjs.map +1 -0
  494. package/dist/data-panel-CWjgS1Gh.js +250 -0
  495. package/dist/data-panel-CWjgS1Gh.js.map +1 -0
  496. package/dist/data-panel-section-heading-CXD1skJD.js +21 -0
  497. package/dist/data-panel-section-heading-CXD1skJD.js.map +1 -0
  498. package/dist/data-panel-section-heading-V86Awzqg.cjs +23 -0
  499. package/dist/data-panel-section-heading-V86Awzqg.cjs.map +1 -0
  500. package/dist/date-picker-DgWTsiJ7.js +53 -0
  501. package/dist/date-picker-DgWTsiJ7.js.map +1 -0
  502. package/dist/date-picker-dRZF8frf.cjs +55 -0
  503. package/dist/date-picker-dRZF8frf.cjs.map +1 -0
  504. package/dist/date-time-range-picker-BcjLbkGu.js +178 -0
  505. package/dist/date-time-range-picker-BcjLbkGu.js.map +1 -0
  506. package/dist/date-time-range-picker-C6hjZswK.cjs +180 -0
  507. package/dist/date-time-range-picker-C6hjZswK.cjs.map +1 -0
  508. package/dist/dialog-DRpMek34.js +246 -0
  509. package/dist/dialog-DRpMek34.js.map +1 -0
  510. package/dist/dialog-Dm33cZqt.cjs +280 -0
  511. package/dist/dialog-Dm33cZqt.cjs.map +1 -0
  512. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  513. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  514. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +2 -2
  515. package/dist/domains/chat/attachments/composer-attachment-list.es.js +2 -2
  516. package/dist/domains/chat/attachments/composer-attachment.cjs.js +5 -4
  517. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -1
  518. package/dist/domains/chat/attachments/composer-attachment.es.js +5 -4
  519. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -1
  520. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  521. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  522. package/dist/domains/chat/components/loading-badge.cjs.js +3 -3
  523. package/dist/domains/chat/components/loading-badge.cjs.js.map +1 -1
  524. package/dist/domains/chat/components/loading-badge.es.js +3 -3
  525. package/dist/domains/chat/components/loading-badge.es.js.map +1 -1
  526. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +9 -9
  527. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
  528. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +9 -9
  529. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
  530. package/dist/domains/chat/components/section-label.cjs.js +2 -2
  531. package/dist/domains/chat/components/section-label.cjs.js.map +1 -1
  532. package/dist/domains/chat/components/section-label.es.js +2 -2
  533. package/dist/domains/chat/components/section-label.es.js.map +1 -1
  534. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  535. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  536. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +6 -5
  537. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  538. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +6 -5
  539. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  540. package/dist/domains/chat/messages/reasoning.cjs.js +8 -29
  541. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  542. package/dist/domains/chat/messages/reasoning.es.js +9 -30
  543. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  544. package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
  545. package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
  546. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  547. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  548. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  549. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  550. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +7 -7
  551. package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
  552. package/dist/domains/chat/messages/system-reminder-badge.es.js +7 -7
  553. package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
  554. package/dist/domains/chat/messages/tripwire-notice.cjs.js +4 -4
  555. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  556. package/dist/domains/chat/messages/tripwire-notice.es.js +4 -4
  557. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  558. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  559. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  560. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +5 -5
  561. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  562. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +5 -5
  563. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  564. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +36 -36
  565. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
  566. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +36 -36
  567. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
  568. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +14 -14
  569. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  570. package/dist/domains/chat/tools/badges/observation-renderer.es.js +14 -14
  571. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  572. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  573. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  574. package/dist/domains/logs/components/log-details-view.cjs.js +11 -11
  575. package/dist/domains/logs/components/log-details-view.cjs.js.map +1 -1
  576. package/dist/domains/logs/components/log-details-view.es.js +11 -11
  577. package/dist/domains/logs/components/log-details-view.es.js.map +1 -1
  578. package/dist/domains/logs/components/logs-error-content.cjs.js +4 -4
  579. package/dist/domains/logs/components/logs-error-content.es.js +4 -4
  580. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  581. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  582. package/dist/domains/logs/components/logs-list-view.cjs.js +6 -4
  583. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  584. package/dist/domains/logs/components/logs-list-view.es.js +6 -4
  585. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  586. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  587. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  588. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  589. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  590. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  591. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  592. package/dist/domains/logs/hooks/use-logs.cjs.js +7 -3
  593. package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
  594. package/dist/domains/logs/hooks/use-logs.es.js +7 -3
  595. package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
  596. package/dist/domains/memory/components/flame-graph.cjs.js +24 -23
  597. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  598. package/dist/domains/memory/components/flame-graph.es.js +24 -23
  599. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  600. package/dist/domains/memory/components/memory-studio-panel.cjs.js +7 -7
  601. package/dist/domains/memory/components/memory-studio-panel.cjs.js.map +1 -1
  602. package/dist/domains/memory/components/memory-studio-panel.es.js +7 -7
  603. package/dist/domains/memory/components/memory-studio-panel.es.js.map +1 -1
  604. package/dist/domains/memory/components/observation-detail-view.cjs.js +29 -29
  605. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  606. package/dist/domains/memory/components/observation-detail-view.es.js +29 -29
  607. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  608. package/dist/domains/memory/components/thread-context-progress.cjs.js +5 -5
  609. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  610. package/dist/domains/memory/components/thread-context-progress.es.js +5 -5
  611. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  612. package/dist/domains/metrics/components/bar-list.cjs.js +10 -10
  613. package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
  614. package/dist/domains/metrics/components/bar-list.es.js +10 -10
  615. package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
  616. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  617. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  618. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  619. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  620. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  621. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  622. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  623. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  624. package/dist/domains/metrics/components/memory-card-view.cjs.js +7 -7
  625. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  626. package/dist/domains/metrics/components/memory-card-view.es.js +7 -7
  627. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  628. package/dist/domains/metrics/components/metrics-utils.cjs.js +8 -11
  629. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  630. package/dist/domains/metrics/components/metrics-utils.es.js +8 -11
  631. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  632. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +3 -3
  633. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  634. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +3 -3
  635. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  636. package/dist/domains/metrics/components/scores-card-view.cjs.js +7 -7
  637. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  638. package/dist/domains/metrics/components/scores-card-view.es.js +7 -7
  639. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  640. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  641. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  642. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  643. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  644. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  645. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  646. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  647. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  648. package/dist/domains/traces/components/shared.cjs.js +11 -11
  649. package/dist/domains/traces/components/shared.cjs.js.map +1 -1
  650. package/dist/domains/traces/components/shared.es.js +11 -11
  651. package/dist/domains/traces/components/shared.es.js.map +1 -1
  652. package/dist/domains/traces/components/span-data-panel-view.cjs.js +8 -8
  653. package/dist/domains/traces/components/span-data-panel-view.es.js +8 -8
  654. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  655. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  656. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
  657. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
  658. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +4 -4
  659. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -1
  660. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +4 -4
  661. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -1
  662. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +6 -15
  663. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  664. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +6 -15
  665. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  666. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +4 -2
  667. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  668. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +4 -2
  669. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  670. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  671. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  672. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
  673. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
  674. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +7 -7
  675. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  676. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +7 -7
  677. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  678. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  679. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  680. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  681. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  682. package/dist/domains/traces/components/span-timeline-row.cjs.js +9 -9
  683. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  684. package/dist/domains/traces/components/span-timeline-row.es.js +9 -9
  685. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  686. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +5 -5
  687. package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
  688. package/dist/domains/traces/components/span-timing-hover-card.es.js +5 -5
  689. package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
  690. package/dist/domains/traces/components/span-token-usage.cjs.js +40 -46
  691. package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
  692. package/dist/domains/traces/components/span-token-usage.es.js +40 -46
  693. package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
  694. package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
  695. package/dist/domains/traces/components/span-type-legend.es.js +1 -1
  696. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +3 -3
  697. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  698. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +3 -3
  699. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  700. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
  701. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
  702. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +7 -7
  703. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  704. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +7 -7
  705. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  706. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
  707. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
  708. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
  709. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
  710. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +2 -2
  711. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  712. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +2 -2
  713. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  714. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +2 -2
  715. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  716. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +2 -2
  717. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  718. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +3 -3
  719. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -1
  720. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +3 -3
  721. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -1
  722. package/dist/domains/traces/components/timeline-name-col.cjs.js +9 -12
  723. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  724. package/dist/domains/traces/components/timeline-name-col.es.js +9 -12
  725. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  726. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +3 -3
  727. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  728. package/dist/domains/traces/components/timeline-structure-sign.es.js +3 -3
  729. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  730. package/dist/domains/traces/components/timeline-timing-col.cjs.js +7 -7
  731. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  732. package/dist/domains/traces/components/timeline-timing-col.es.js +7 -7
  733. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  734. package/dist/domains/traces/components/trace-columns-menu.cjs.js +52 -22
  735. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  736. package/dist/domains/traces/components/trace-columns-menu.es.js +54 -24
  737. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  738. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +17 -18
  739. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  740. package/dist/domains/traces/components/trace-data-panel-view.es.js +17 -18
  741. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  742. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  743. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  744. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  745. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  746. package/dist/domains/traces/components/trace-span-timeline.cjs.js +1 -1
  747. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  748. package/dist/domains/traces/components/trace-span-timeline.es.js +1 -1
  749. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  750. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +2 -2
  751. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +2 -2
  752. package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
  753. package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
  754. package/dist/domains/traces/components/trace-status-value.cjs.js +2 -2
  755. package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
  756. package/dist/domains/traces/components/trace-status-value.es.js +2 -2
  757. package/dist/domains/traces/components/trace-status-value.es.js.map +1 -1
  758. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  759. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  760. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +5 -12
  761. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -1
  762. package/dist/domains/traces/components/trace-time-range-chip.es.js +5 -12
  763. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -1
  764. package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
  765. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  766. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  767. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  768. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +6 -1
  769. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -1
  770. package/dist/domains/traces/components/traces-list-view-adapter.es.js +6 -1
  771. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -1
  772. package/dist/domains/traces/components/traces-list-view.cjs.js +69 -9
  773. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  774. package/dist/domains/traces/components/traces-list-view.es.js +70 -10
  775. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  776. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -6
  777. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  778. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -6
  779. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  780. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  781. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  782. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js +13 -0
  783. package/dist/domains/traces/hooks/use-trace-column-preferences.cjs.js.map +1 -1
  784. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js +13 -0
  785. package/dist/domains/traces/hooks/use-trace-column-preferences.es.js.map +1 -1
  786. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +11 -13
  787. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +1 -1
  788. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +11 -14
  789. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +1 -1
  790. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  791. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  792. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -5
  793. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  794. package/dist/domains/traces/hooks/use-trace-url-state.es.js +2 -6
  795. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  796. package/dist/domains/traces/trace-filters.cjs.js +172 -43
  797. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  798. package/dist/domains/traces/trace-filters.es.js +172 -46
  799. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  800. package/dist/domains/traces/trace-list-columns.cjs.js +42 -6
  801. package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
  802. package/dist/domains/traces/trace-list-columns.es.js +39 -7
  803. package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
  804. package/dist/domains/traces/trace-query-filters.cjs.js +113 -28
  805. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  806. package/dist/domains/traces/trace-query-filters.es.js +110 -29
  807. package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
  808. package/dist/domains/traces.cjs.js +7 -0
  809. package/dist/domains/traces.cjs.js.map +1 -1
  810. package/dist/domains/traces.es.js +2 -2
  811. package/dist/drawer-BL5shtHH.cjs +369 -0
  812. package/dist/drawer-BL5shtHH.cjs.map +1 -0
  813. package/dist/drawer-Bv2DRY8E.js +329 -0
  814. package/dist/drawer-Bv2DRY8E.js.map +1 -0
  815. package/dist/drawer.css +10 -0
  816. package/dist/dropdown-menu-DL0MzjEb.js +222 -0
  817. package/dist/dropdown-menu-DL0MzjEb.js.map +1 -0
  818. package/dist/dropdown-menu-DNRCA4Gj.cjs +243 -0
  819. package/dist/dropdown-menu-DNRCA4Gj.cjs.map +1 -0
  820. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +11 -12
  821. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  822. package/dist/ee/signals/components/entity-index-compact-grid.es.js +11 -12
  823. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  824. package/dist/ee/signals/components/entity-index-list.cjs.js +2 -4
  825. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  826. package/dist/ee/signals/components/entity-index-list.es.js +2 -4
  827. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  828. package/dist/ee/signals/components/signals-empty-state.cjs.js +53 -48
  829. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  830. package/dist/ee/signals/components/signals-empty-state.es.js +53 -48
  831. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  832. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
  833. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
  834. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +12 -13
  835. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  836. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +12 -13
  837. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  838. package/dist/ee/signals/examples-pager.cjs.js +2 -2
  839. package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
  840. package/dist/ee/signals/examples-pager.es.js +2 -2
  841. package/dist/ee/signals/examples-pager.es.js.map +1 -1
  842. package/dist/ee/signals/flow-card.cjs.js +7 -7
  843. package/dist/ee/signals/flow-card.cjs.js.map +1 -1
  844. package/dist/ee/signals/flow-card.es.js +7 -7
  845. package/dist/ee/signals/flow-card.es.js.map +1 -1
  846. package/dist/ee/signals/lifeline-point.cjs.js +3 -2
  847. package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
  848. package/dist/ee/signals/lifeline-point.es.js +3 -2
  849. package/dist/ee/signals/lifeline-point.es.js.map +1 -1
  850. package/dist/ee/signals/lifeline-row.cjs.js +11 -4
  851. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
  852. package/dist/ee/signals/lifeline-row.es.js +11 -4
  853. package/dist/ee/signals/lifeline-row.es.js.map +1 -1
  854. package/dist/ee/signals/noise-detail-panel.cjs.js +31 -12
  855. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  856. package/dist/ee/signals/noise-detail-panel.es.js +31 -12
  857. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  858. package/dist/ee/signals/sankey-signals.cjs.js +5 -5
  859. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  860. package/dist/ee/signals/sankey-signals.es.js +5 -5
  861. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  862. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +29 -19
  863. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  864. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +29 -19
  865. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  866. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +16 -16
  867. package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
  868. package/dist/ee/signals/settings/trace-signal-settings.es.js +16 -16
  869. package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
  870. package/dist/ee/signals/signal-delta-column.cjs.js +8 -8
  871. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
  872. package/dist/ee/signals/signal-delta-column.es.js +8 -8
  873. package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
  874. package/dist/ee/signals/signal-lifelines.cjs.js +3 -3
  875. package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
  876. package/dist/ee/signals/signal-lifelines.es.js +3 -3
  877. package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
  878. package/dist/ee/signals/signals-error-state.cjs.js +4 -4
  879. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  880. package/dist/ee/signals/signals-error-state.es.js +4 -4
  881. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  882. package/dist/ee/signals/signals-loading-skeleton.cjs.js +2 -2
  883. package/dist/ee/signals/signals-loading-skeleton.cjs.js.map +1 -1
  884. package/dist/ee/signals/signals-loading-skeleton.es.js +2 -2
  885. package/dist/ee/signals/signals-loading-skeleton.es.js.map +1 -1
  886. package/dist/ee/signals/snapshot-timeline.cjs.js +5 -5
  887. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  888. package/dist/ee/signals/snapshot-timeline.es.js +5 -5
  889. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  890. package/dist/ee/signals/sortable-signal-headers.cjs.js +12 -4
  891. package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
  892. package/dist/ee/signals/sortable-signal-headers.es.js +12 -4
  893. package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
  894. package/dist/ee/signals/theme-compare-sparkline.cjs.js +1 -1
  895. package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -1
  896. package/dist/ee/signals/theme-compare-sparkline.es.js +1 -1
  897. package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -1
  898. package/dist/ee/signals/theme-compare.cjs.js +5 -5
  899. package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
  900. package/dist/ee/signals/theme-compare.es.js +5 -5
  901. package/dist/ee/signals/theme-compare.es.js.map +1 -1
  902. package/dist/ee/signals/theme-detail-panel.cjs.js +25 -20
  903. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  904. package/dist/ee/signals/theme-detail-panel.es.js +25 -20
  905. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  906. package/dist/ee/signals/theme-filter-banner.cjs.js +3 -3
  907. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
  908. package/dist/ee/signals/theme-filter-banner.es.js +3 -3
  909. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
  910. package/dist/ee/signals/theme-lifelines.cjs.js +1 -1
  911. package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
  912. package/dist/ee/signals/theme-lifelines.es.js +1 -1
  913. package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
  914. package/dist/ee/signals/theme-trend-chart.cjs.js +2 -2
  915. package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
  916. package/dist/ee/signals/theme-trend-chart.es.js +2 -2
  917. package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
  918. package/dist/ee/signals/trace-insight-view.cjs.js +23 -21
  919. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  920. package/dist/ee/signals/trace-insight-view.es.js +23 -21
  921. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  922. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +11 -8
  923. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
  924. package/dist/ee/signals/trace-intelligence-explainer.es.js +11 -8
  925. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
  926. package/dist/ee/signals/view-mode-tab.cjs.js +4 -4
  927. package/dist/ee/signals/view-mode-tab.cjs.js.map +1 -1
  928. package/dist/ee/signals/view-mode-tab.es.js +4 -4
  929. package/dist/ee/signals/view-mode-tab.es.js.map +1 -1
  930. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -1
  931. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -1
  932. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +4 -4
  933. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js.map +1 -1
  934. package/dist/ee/topics/components/topic-trace-summary-list.es.js +4 -4
  935. package/dist/ee/topics/components/topic-trace-summary-list.es.js.map +1 -1
  936. package/dist/ee/topics/components/topics-layout.cjs.js +2 -2
  937. package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
  938. package/dist/ee/topics/components/topics-layout.es.js +2 -2
  939. package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
  940. package/dist/field-block-DWkbNcsV.js +96 -0
  941. package/dist/field-block-DWkbNcsV.js.map +1 -0
  942. package/dist/field-block-Dy1IaWbv.cjs +98 -0
  943. package/dist/field-block-Dy1IaWbv.cjs.map +1 -0
  944. package/dist/filter-bar-chip-BxI0NgEz.cjs +1000 -0
  945. package/dist/filter-bar-chip-BxI0NgEz.cjs.map +1 -0
  946. package/dist/filter-bar-chip-C-JxWUU8.js +984 -0
  947. package/dist/filter-bar-chip-C-JxWUU8.js.map +1 -0
  948. package/dist/filter-bar-chip.css +131 -0
  949. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  950. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  951. package/dist/horizontal-bars-CksEKcCE.js +139 -0
  952. package/dist/horizontal-bars-CksEKcCE.js.map +1 -0
  953. package/dist/horizontal-bars-nyWGmQ7g.cjs +141 -0
  954. package/dist/horizontal-bars-nyWGmQ7g.cjs.map +1 -0
  955. package/dist/hover-card-Ch5smNcf.js +71 -0
  956. package/dist/hover-card-Ch5smNcf.js.map +1 -0
  957. package/dist/hover-card-DdHnkGcs.cjs +94 -0
  958. package/dist/hover-card-DdHnkGcs.cjs.map +1 -0
  959. package/dist/icons/Icon.cjs.js +9 -8
  960. package/dist/icons/Icon.cjs.js.map +1 -1
  961. package/dist/icons/Icon.es.js +9 -9
  962. package/dist/icons/Icon.es.js.map +1 -1
  963. package/dist/index-C-fBJhpb.cjs +47 -0
  964. package/dist/index-C-fBJhpb.cjs.map +1 -0
  965. package/dist/index-Dubp6Qv4.js +45 -0
  966. package/dist/index-Dubp6Qv4.js.map +1 -0
  967. package/dist/input-B1RysHyq.js +68 -0
  968. package/dist/input-B1RysHyq.js.map +1 -0
  969. package/dist/input-CDLMprJS.cjs +89 -0
  970. package/dist/input-CDLMprJS.cjs.map +1 -0
  971. package/dist/input-group-BEdHivvy.js +194 -0
  972. package/dist/input-group-BEdHivvy.js.map +1 -0
  973. package/dist/input-group-CvWwK1Vz.cjs +220 -0
  974. package/dist/input-group-CvWwK1Vz.cjs.map +1 -0
  975. package/dist/kbd-B-Z2sNvK.cjs +29 -0
  976. package/dist/kbd-B-Z2sNvK.cjs.map +1 -0
  977. package/dist/kbd-CINtikLh.js +27 -0
  978. package/dist/kbd-CINtikLh.js.map +1 -0
  979. package/dist/label-DfAhywj_.cjs +39 -0
  980. package/dist/label-DfAhywj_.cjs.map +1 -0
  981. package/dist/label-Dxsz0dFs.js +18 -0
  982. package/dist/label-Dxsz0dFs.js.map +1 -0
  983. package/dist/layout/tabbed-container.cjs.js +10 -10
  984. package/dist/layout/tabbed-container.cjs.js.map +1 -1
  985. package/dist/layout/tabbed-container.es.js +10 -10
  986. package/dist/layout/tabbed-container.es.js.map +1 -1
  987. package/dist/list-search-BTW0Neuc.js +69 -0
  988. package/dist/list-search-BTW0Neuc.js.map +1 -0
  989. package/dist/list-search-vyxsZMAK.cjs +71 -0
  990. package/dist/list-search-vyxsZMAK.cjs.map +1 -0
  991. package/dist/logs-data-list-BSHJPGi6.cjs +83 -0
  992. package/dist/logs-data-list-BSHJPGi6.cjs.map +1 -0
  993. package/dist/logs-data-list-CG-UgC_x.js +81 -0
  994. package/dist/logs-data-list-CG-UgC_x.js.map +1 -0
  995. package/dist/main-sidebar-link-active-CmDoiX6g.js +786 -0
  996. package/dist/main-sidebar-link-active-CmDoiX6g.js.map +1 -0
  997. package/dist/main-sidebar-link-active-DbCvKZy2.cjs +803 -0
  998. package/dist/main-sidebar-link-active-DbCvKZy2.cjs.map +1 -0
  999. package/dist/markdown-renderer-B0gTm_Ea.js +408 -0
  1000. package/dist/markdown-renderer-B0gTm_Ea.js.map +1 -0
  1001. package/dist/markdown-renderer-D8qYAU7K.cjs +410 -0
  1002. package/dist/markdown-renderer-D8qYAU7K.cjs.map +1 -0
  1003. package/dist/markdown-renderer.css +20 -20
  1004. package/dist/message-BrwbcLPi.js +62 -0
  1005. package/dist/message-BrwbcLPi.js.map +1 -0
  1006. package/dist/message-CszposMZ.cjs +66 -0
  1007. package/dist/message-CszposMZ.cjs.map +1 -0
  1008. package/dist/message-scroller-c22pIucB.cjs +860 -0
  1009. package/dist/message-scroller-c22pIucB.cjs.map +1 -0
  1010. package/dist/message-scroller-v1kQVq2v.js +834 -0
  1011. package/dist/message-scroller-v1kQVq2v.js.map +1 -0
  1012. package/dist/metrics-card-BUJxiwec.cjs +95 -0
  1013. package/dist/metrics-card-BUJxiwec.cjs.map +1 -0
  1014. package/dist/metrics-card-BlBt1WHw.js +93 -0
  1015. package/dist/metrics-card-BlBt1WHw.js.map +1 -0
  1016. package/dist/metrics-kpi-card-CBSNmtc5.js +77 -0
  1017. package/dist/metrics-kpi-card-CBSNmtc5.js.map +1 -0
  1018. package/dist/metrics-kpi-card-CgqmNcEC.cjs +79 -0
  1019. package/dist/metrics-kpi-card-CgqmNcEC.cjs.map +1 -0
  1020. package/dist/metrics-line-chart-B_sP3eiL.cjs +114 -0
  1021. package/dist/metrics-line-chart-B_sP3eiL.cjs.map +1 -0
  1022. package/dist/metrics-line-chart-DHyrDPkJ.js +111 -0
  1023. package/dist/metrics-line-chart-DHyrDPkJ.js.map +1 -0
  1024. package/dist/new/layout/app-shell.cjs.js +4 -2
  1025. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  1026. package/dist/new/layout/app-shell.es.js +4 -2
  1027. package/dist/new/layout/app-shell.es.js.map +1 -1
  1028. package/dist/new/layout/page-header.cjs.js +1 -1
  1029. package/dist/new/layout/page-header.es.js +1 -1
  1030. package/dist/new/layout/page-shell.cjs.js +2 -2
  1031. package/dist/new/layout/page-shell.es.js +2 -2
  1032. package/dist/new/settings.cjs.js +9 -19
  1033. package/dist/new/settings.cjs.js.map +1 -1
  1034. package/dist/new/settings.es.js +9 -19
  1035. package/dist/new/settings.es.js.map +1 -1
  1036. package/dist/new/sidebar.cjs.js +22 -27
  1037. package/dist/new/sidebar.cjs.js.map +1 -1
  1038. package/dist/new/sidebar.es.js +23 -28
  1039. package/dist/new/sidebar.es.js.map +1 -1
  1040. package/dist/no-data-page-layout-DcVPjj-J.js +9 -0
  1041. package/dist/no-data-page-layout-DcVPjj-J.js.map +1 -0
  1042. package/dist/no-data-page-layout-Drzbg_w8.cjs +11 -0
  1043. package/dist/no-data-page-layout-Drzbg_w8.cjs.map +1 -0
  1044. package/dist/page-header-BBlPmW-T.cjs +118 -0
  1045. package/dist/page-header-BBlPmW-T.cjs.map +1 -0
  1046. package/dist/page-header-BIoUf7MA.js +116 -0
  1047. package/dist/page-header-BIoUf7MA.js.map +1 -0
  1048. package/dist/page-layout-C9ifD9Q8.cjs +99 -0
  1049. package/dist/page-layout-C9ifD9Q8.cjs.map +1 -0
  1050. package/dist/page-layout-xcM8IR-B.js +97 -0
  1051. package/dist/page-layout-xcM8IR-B.js.map +1 -0
  1052. package/dist/popover-Dg70UGyn.js +99 -0
  1053. package/dist/popover-Dg70UGyn.js.map +1 -0
  1054. package/dist/popover-lBqKiPtp.cjs +123 -0
  1055. package/dist/popover-lBqKiPtp.cjs.map +1 -0
  1056. package/dist/primitives/control-size.cjs.js +10 -19
  1057. package/dist/primitives/control-size.cjs.js.map +1 -1
  1058. package/dist/primitives/control-size.es.js +11 -19
  1059. package/dist/primitives/control-size.es.js.map +1 -1
  1060. package/dist/primitives/fluid-menu.cjs.js +27 -10
  1061. package/dist/primitives/fluid-menu.cjs.js.map +1 -1
  1062. package/dist/primitives/fluid-menu.es.js +27 -10
  1063. package/dist/primitives/fluid-menu.es.js.map +1 -1
  1064. package/dist/primitives/form-element.cjs.js +11 -11
  1065. package/dist/primitives/form-element.cjs.js.map +1 -1
  1066. package/dist/primitives/form-element.es.js +11 -9
  1067. package/dist/primitives/form-element.es.js.map +1 -1
  1068. package/dist/primitives/menu-item.cjs.js +17 -11
  1069. package/dist/primitives/menu-item.cjs.js.map +1 -1
  1070. package/dist/primitives/menu-item.es.js +17 -11
  1071. package/dist/primitives/menu-item.es.js.map +1 -1
  1072. package/dist/primitives/raised-surface.cjs.js +16 -0
  1073. package/dist/primitives/raised-surface.cjs.js.map +1 -0
  1074. package/dist/primitives/raised-surface.d.ts +2 -0
  1075. package/dist/primitives/raised-surface.es.js +8 -0
  1076. package/dist/primitives/raised-surface.es.js.map +1 -0
  1077. package/dist/primitives/resize-handle-indicator.cjs.js +4 -4
  1078. package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -1
  1079. package/dist/primitives/resize-handle-indicator.es.js +4 -4
  1080. package/dist/primitives/resize-handle-indicator.es.js.map +1 -1
  1081. package/dist/primitives/selection-control.cjs.js +22 -0
  1082. package/dist/primitives/selection-control.cjs.js.map +1 -0
  1083. package/dist/primitives/selection-control.d.ts +2 -0
  1084. package/dist/primitives/selection-control.es.js +18 -0
  1085. package/dist/primitives/selection-control.es.js.map +1 -0
  1086. package/dist/primitives/transitions.cjs.js +2 -0
  1087. package/dist/primitives/transitions.cjs.js.map +1 -1
  1088. package/dist/primitives/transitions.es.js +2 -1
  1089. package/dist/primitives/transitions.es.js.map +1 -1
  1090. package/dist/primitives/trigger-button.cjs.js +2 -2
  1091. package/dist/primitives/trigger-button.es.js +2 -2
  1092. package/dist/primitives/typography.cjs.js +10 -0
  1093. package/dist/primitives/typography.cjs.js.map +1 -0
  1094. package/dist/primitives/typography.d.ts +2 -0
  1095. package/dist/primitives/typography.es.js +5 -0
  1096. package/dist/primitives/typography.es.js.map +1 -0
  1097. package/dist/property-filter-applied-BBiUbtr0.js +343 -0
  1098. package/dist/property-filter-applied-BBiUbtr0.js.map +1 -0
  1099. package/dist/property-filter-applied-BmxCPe2d.cjs +347 -0
  1100. package/dist/property-filter-applied-BmxCPe2d.cjs.map +1 -0
  1101. package/dist/resize/collapsible-panel.cjs.js +4 -4
  1102. package/dist/resize/collapsible-panel.cjs.js.map +1 -1
  1103. package/dist/resize/collapsible-panel.es.js +4 -4
  1104. package/dist/resize/collapsible-panel.es.js.map +1 -1
  1105. package/dist/resize/panel-drawer.cjs.js +2 -2
  1106. package/dist/resize/panel-drawer.es.js +2 -2
  1107. package/dist/resize/panel-group.cjs.js +1 -1
  1108. package/dist/resize/panel-group.es.js +1 -1
  1109. package/dist/resize/panel-icon-button.cjs.js +6 -3
  1110. package/dist/resize/panel-icon-button.cjs.js.map +1 -1
  1111. package/dist/resize/panel-icon-button.es.js +6 -3
  1112. package/dist/resize/panel-icon-button.es.js.map +1 -1
  1113. package/dist/resize/separator.cjs.js +2 -2
  1114. package/dist/resize/separator.cjs.js.map +1 -1
  1115. package/dist/resize/separator.es.js +2 -2
  1116. package/dist/resize/separator.es.js.map +1 -1
  1117. package/dist/sankey-chart-Bcm9jMhe.cjs +926 -0
  1118. package/dist/sankey-chart-Bcm9jMhe.cjs.map +1 -0
  1119. package/dist/sankey-chart-CqngN2lw.js +916 -0
  1120. package/dist/sankey-chart-CqngN2lw.js.map +1 -0
  1121. package/dist/scroll-area-CdQ_5bLm.js +227 -0
  1122. package/dist/scroll-area-CdQ_5bLm.js.map +1 -0
  1123. package/dist/scroll-area-Qjf7e0Ik.cjs +249 -0
  1124. package/dist/scroll-area-Qjf7e0Ik.cjs.map +1 -0
  1125. package/dist/search-field-block-B5vUVTpl.js +125 -0
  1126. package/dist/search-field-block-B5vUVTpl.js.map +1 -0
  1127. package/dist/search-field-block-D0PUUCAE.cjs +127 -0
  1128. package/dist/search-field-block-D0PUUCAE.cjs.map +1 -0
  1129. package/dist/section-B9OLuEq3.js +111 -0
  1130. package/dist/section-B9OLuEq3.js.map +1 -0
  1131. package/dist/section-CTihfzmc.cjs +115 -0
  1132. package/dist/section-CTihfzmc.cjs.map +1 -0
  1133. package/dist/select--DXpTg0O.js +139 -0
  1134. package/dist/select--DXpTg0O.js.map +1 -0
  1135. package/dist/select-7ACAVdGX.cjs +165 -0
  1136. package/dist/select-7ACAVdGX.cjs.map +1 -0
  1137. package/dist/select-field-block-Bu7UXI2H.js +59 -0
  1138. package/dist/select-field-block-Bu7UXI2H.js.map +1 -0
  1139. package/dist/select-field-block-W2u2WmN3.cjs +61 -0
  1140. package/dist/select-field-block-W2u2WmN3.cjs.map +1 -0
  1141. package/dist/settings-container-3_Yu2aCY.cjs +33 -0
  1142. package/dist/settings-container-3_Yu2aCY.cjs.map +1 -0
  1143. package/dist/settings-container-T53heJKd.js +30 -0
  1144. package/dist/settings-container-T53heJKd.js.map +1 -0
  1145. package/dist/settings-layout-C80s-D31.js +47 -0
  1146. package/dist/settings-layout-C80s-D31.js.map +1 -0
  1147. package/dist/settings-layout-NP_1dC-e.cjs +49 -0
  1148. package/dist/settings-layout-NP_1dC-e.cjs.map +1 -0
  1149. package/dist/settings-row-B2IekRyH.js +83 -0
  1150. package/dist/settings-row-B2IekRyH.js.map +1 -0
  1151. package/dist/settings-row-BoAuUUuH.cjs +86 -0
  1152. package/dist/settings-row-BoAuUUuH.cjs.map +1 -0
  1153. package/dist/shimmer-BN7Dzm37.js +23 -0
  1154. package/dist/shimmer-BN7Dzm37.js.map +1 -0
  1155. package/dist/shimmer-DbSkqomT.cjs +25 -0
  1156. package/dist/shimmer-DbSkqomT.cjs.map +1 -0
  1157. package/dist/skeleton-BsRAXyh5.js +23 -0
  1158. package/dist/skeleton-BsRAXyh5.js.map +1 -0
  1159. package/dist/skeleton-cXUjPrq9.cjs +25 -0
  1160. package/dist/skeleton-cXUjPrq9.cjs.map +1 -0
  1161. package/dist/slider-C-Fda4HC.cjs +97 -0
  1162. package/dist/slider-C-Fda4HC.cjs.map +1 -0
  1163. package/dist/slider-MM3K0Pyv.js +95 -0
  1164. package/dist/slider-MM3K0Pyv.js.map +1 -0
  1165. package/dist/sort/sort-by.cjs.js +44 -0
  1166. package/dist/sort/sort-by.cjs.js.map +1 -0
  1167. package/dist/sort/sort-by.d.ts +2 -0
  1168. package/dist/sort/sort-by.es.js +39 -0
  1169. package/dist/sort/sort-by.es.js.map +1 -0
  1170. package/dist/sort/use-url-sort.cjs.js +52 -0
  1171. package/dist/sort/use-url-sort.cjs.js.map +1 -0
  1172. package/dist/sort/use-url-sort.d.ts +2 -0
  1173. package/dist/sort/use-url-sort.es.js +45 -0
  1174. package/dist/sort/use-url-sort.es.js.map +1 -0
  1175. package/dist/span-payload-primitives-DnRsP93D.cjs +75 -0
  1176. package/dist/span-payload-primitives-DnRsP93D.cjs.map +1 -0
  1177. package/dist/span-payload-primitives-sbxk4CHC.js +68 -0
  1178. package/dist/span-payload-primitives-sbxk4CHC.js.map +1 -0
  1179. package/dist/spinner-CqP-NaB2.cjs +53 -0
  1180. package/dist/spinner-CqP-NaB2.cjs.map +1 -0
  1181. package/dist/spinner-D2C2DYw8.js +51 -0
  1182. package/dist/spinner-D2C2DYw8.js.map +1 -0
  1183. package/dist/src/domains/logs/components/logs-list-view.d.ts +5 -1
  1184. package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -0
  1185. package/dist/src/domains/metrics/components/metrics-utils.d.ts +8 -11
  1186. package/dist/src/domains/traces/components/span-timing-hover-card.d.ts +0 -1
  1187. package/dist/src/domains/traces/components/trace-columns-menu.d.ts +6 -2
  1188. package/dist/src/domains/traces/components/trace-time-range-chip.stories.d.ts +7 -0
  1189. package/dist/src/domains/traces/components/traces-list-view.d.ts +11 -2
  1190. package/dist/src/domains/traces/hooks/use-trace-column-preferences.d.ts +3 -1
  1191. package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +4 -1
  1192. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +2 -2
  1193. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +16 -16
  1194. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +4 -5
  1195. package/dist/src/domains/traces/trace-filters.d.ts +32 -10
  1196. package/dist/src/domains/traces/trace-list-columns.d.ts +11 -2
  1197. package/dist/src/domains/traces/trace-query-filters.d.ts +20 -2
  1198. package/dist/src/ds/components/Button/Button.d.ts +1 -1
  1199. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +1 -10
  1200. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +14 -3
  1201. package/dist/src/ds/components/Card/Card.d.ts +3 -5
  1202. package/dist/src/ds/components/Card/card.stories.d.ts +1 -1
  1203. package/dist/src/ds/components/ChartTooltip/chart-tooltip.d.ts +11 -0
  1204. package/dist/src/ds/components/ChartTooltip/index.d.ts +1 -0
  1205. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +4 -2
  1206. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +4 -7
  1207. package/dist/src/ds/components/Combobox/combobox.d.ts +3 -0
  1208. package/dist/src/ds/components/Combobox/combobox.stories.d.ts +1 -0
  1209. package/dist/src/ds/components/DataKeysAndValues/shared.d.ts +1 -1
  1210. package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list.d.ts +2 -0
  1211. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list-cells.d.ts +2 -3
  1212. package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +4 -2
  1213. package/dist/src/ds/components/DataList/data-list-cells.d.ts +2 -2
  1214. package/dist/src/ds/components/DataList/data-list-root.d.ts +3 -2
  1215. package/dist/src/ds/components/DataList/data-list-sortable-top-cell.d.ts +6 -6
  1216. package/dist/src/ds/components/DataList/data-list.d.ts +3 -2
  1217. package/dist/src/ds/components/DataList/data-list.stories.d.ts +5 -0
  1218. package/dist/src/ds/components/DataList/shared.d.ts +13 -4
  1219. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +2 -1
  1220. package/dist/src/ds/components/Dialog/dialog-context.d.ts +3 -4
  1221. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -1
  1222. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +16 -3
  1223. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +19 -3
  1224. package/dist/src/ds/components/FilterBar/index.d.ts +2 -2
  1225. package/dist/src/ds/components/FilterBar/types.d.ts +22 -0
  1226. package/dist/src/ds/components/FormFieldBlocks/block/field-block-label.d.ts +3 -1
  1227. package/dist/src/ds/components/FormFieldBlocks/block/field-block-message.d.ts +6 -0
  1228. package/dist/src/ds/components/FormFieldBlocks/block/field-block.d.ts +2 -0
  1229. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -2
  1230. package/dist/src/ds/components/FormFieldBlocks/fields/textarea-field-block.d.ts +15 -0
  1231. package/dist/src/ds/components/FormFieldBlocks/index.d.ts +1 -0
  1232. package/dist/src/ds/components/HoverCard/hover-card.d.ts +0 -21
  1233. package/dist/src/ds/components/HoverCard/hover-card.stories.d.ts +1 -0
  1234. package/dist/src/ds/components/Input/input.d.ts +4 -4
  1235. package/dist/src/ds/components/Input/input.stories.d.ts +0 -1
  1236. package/dist/src/ds/components/InputGroup/input-group.d.ts +2 -12
  1237. package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +1 -1
  1238. package/dist/src/ds/components/Kbd/kbd.d.ts +1 -2
  1239. package/dist/src/ds/components/Kbd/kbd.stories.d.ts +1 -2
  1240. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -2
  1241. package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +2 -0
  1242. package/dist/src/ds/components/MainHeader/main-header-title.d.ts +1 -2
  1243. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +1 -1
  1244. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +1 -0
  1245. package/dist/src/ds/components/Tabs/tabs-list.d.ts +3 -14
  1246. package/dist/src/ds/components/Textarea/textarea.d.ts +4 -4
  1247. package/dist/src/ds/components/ThemeToggle/theme-toggle.d.ts +2 -2
  1248. package/dist/src/ds/components/Txt/Txt.d.ts +8 -15
  1249. package/dist/src/ds/components/Txt/txt.stories.d.ts +6 -17
  1250. package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
  1251. package/dist/src/ds/components/Workflow/types.d.ts +1 -0
  1252. package/dist/src/ds/icons/Icon.d.ts +3 -1
  1253. package/dist/src/ds/new/layout/page-header/page-header-title.d.ts +1 -3
  1254. package/dist/src/ds/new/layout/page-header/page-header.d.ts +1 -1
  1255. package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +1 -9
  1256. package/dist/src/ds/primitives/control-size.d.ts +1 -2
  1257. package/dist/src/ds/primitives/fluid-menu.d.ts +9 -6
  1258. package/dist/src/ds/primitives/form-element.d.ts +5 -7
  1259. package/dist/src/ds/primitives/menu-item.d.ts +3 -3
  1260. package/dist/src/ds/primitives/raised-surface.d.ts +50 -0
  1261. package/dist/src/ds/primitives/selection-control.d.ts +1 -0
  1262. package/dist/src/ds/primitives/transitions.d.ts +1 -0
  1263. package/dist/src/ds/primitives/typography.d.ts +11 -0
  1264. package/dist/src/ds/tokens/animations.d.ts +6 -7
  1265. package/dist/src/ds/tokens/colors.d.ts +63 -18
  1266. package/dist/src/ds/tokens/elevation-foundations.stories.d.ts +5 -0
  1267. package/dist/src/ds/tokens/fonts.d.ts +3 -25
  1268. package/dist/src/ds/tokens/foundations-layout.d.ts +29 -0
  1269. package/dist/src/ds/tokens/index.d.ts +0 -1
  1270. package/dist/src/ds/tokens/motion-foundations.stories.d.ts +5 -0
  1271. package/dist/src/ds/tokens/shadows.d.ts +3 -13
  1272. package/dist/src/ds/tokens/shape-foundations.stories.d.ts +5 -0
  1273. package/dist/src/ds/tokens/sizes.d.ts +7 -8
  1274. package/dist/src/ds/tokens/status-foundations.stories.d.ts +5 -0
  1275. package/dist/src/ds/tokens/surface-foundations.stories.d.ts +5 -0
  1276. package/dist/src/ds/tokens/utilities-foundations.stories.d.ts +5 -0
  1277. package/dist/src/lib/sort/sort-by.d.ts +16 -0
  1278. package/dist/src/lib/sort/use-url-sort.d.ts +24 -0
  1279. package/dist/src/utils/duration.d.ts +1 -0
  1280. package/dist/style.css +2235 -3169
  1281. package/dist/switch-6125Oajw.cjs +124 -0
  1282. package/dist/switch-6125Oajw.cjs.map +1 -0
  1283. package/dist/switch-CE9jTpUG.js +103 -0
  1284. package/dist/switch-CE9jTpUG.js.map +1 -0
  1285. package/dist/tabbed-container.css +15 -15
  1286. package/dist/tabs-content-Bz6CZuv9.cjs +37 -0
  1287. package/dist/tabs-content-Bz6CZuv9.cjs.map +1 -0
  1288. package/dist/tabs-content-CKC4kIpH.js +35 -0
  1289. package/dist/tabs-content-CKC4kIpH.js.map +1 -0
  1290. package/dist/tabs-root-C5ABfm1F.cjs +315 -0
  1291. package/dist/tabs-root-C5ABfm1F.cjs.map +1 -0
  1292. package/dist/tabs-root-CcEQrwTM.js +312 -0
  1293. package/dist/tabs-root-CcEQrwTM.js.map +1 -0
  1294. package/dist/tabs-root.css +18 -31
  1295. package/dist/tabs-tab-BycF4dvx.js +103 -0
  1296. package/dist/tabs-tab-BycF4dvx.js.map +1 -0
  1297. package/dist/tabs-tab-DA466DbX.cjs +107 -0
  1298. package/dist/tabs-tab-DA466DbX.cjs.map +1 -0
  1299. package/dist/text-field-block--EUJKlY_.js +56 -0
  1300. package/dist/text-field-block--EUJKlY_.js.map +1 -0
  1301. package/dist/text-field-block-BLpLWmu8.cjs +58 -0
  1302. package/dist/text-field-block-BLpLWmu8.cjs.map +1 -0
  1303. package/dist/textarea-5b6XcMrq.cjs +79 -0
  1304. package/dist/textarea-5b6XcMrq.cjs.map +1 -0
  1305. package/dist/textarea-DdnzLrI9.js +58 -0
  1306. package/dist/textarea-DdnzLrI9.js.map +1 -0
  1307. package/dist/thread-rail-b-8RHNX_.cjs +343 -0
  1308. package/dist/thread-rail-b-8RHNX_.cjs.map +1 -0
  1309. package/dist/thread-rail-vsR5C0j4.js +322 -0
  1310. package/dist/thread-rail-vsR5C0j4.js.map +1 -0
  1311. package/dist/time-picker-DVt1ZUsS.js +76 -0
  1312. package/dist/time-picker-DVt1ZUsS.js.map +1 -0
  1313. package/dist/time-picker-Dlm-C-n4.cjs +78 -0
  1314. package/dist/time-picker-Dlm-C-n4.cjs.map +1 -0
  1315. package/dist/toast-c5kCpyWt.js +52 -0
  1316. package/dist/toast-c5kCpyWt.js.map +1 -0
  1317. package/dist/toast-nm-fM7BR.cjs +55 -0
  1318. package/dist/toast-nm-fM7BR.cjs.map +1 -0
  1319. package/dist/toast.css +12 -12
  1320. package/dist/tokens.cjs.js +153 -22
  1321. package/dist/tokens.cjs.js.map +1 -1
  1322. package/dist/tokens.es.js +144 -11
  1323. package/dist/tokens.es.js.map +1 -1
  1324. package/dist/tool-approval-DB82iiRa.js +66 -0
  1325. package/dist/tool-approval-DB82iiRa.js.map +1 -0
  1326. package/dist/tool-approval-Dys524ty.cjs +69 -0
  1327. package/dist/tool-approval-Dys524ty.cjs.map +1 -0
  1328. package/dist/tool-call-CMRvRE-v.cjs +197 -0
  1329. package/dist/tool-call-CMRvRE-v.cjs.map +1 -0
  1330. package/dist/tool-call-K147tCug.js +182 -0
  1331. package/dist/tool-call-K147tCug.js.map +1 -0
  1332. package/dist/tooltip-BrDiP0RI.js +114 -0
  1333. package/dist/tooltip-BrDiP0RI.js.map +1 -0
  1334. package/dist/tooltip-FvWL16Xn.cjs +138 -0
  1335. package/dist/tooltip-FvWL16Xn.cjs.map +1 -0
  1336. package/dist/traces-data-list-B3q_cy6c.cjs +97 -0
  1337. package/dist/traces-data-list-B3q_cy6c.cjs.map +1 -0
  1338. package/dist/traces-data-list-CDNE9P8W.js +95 -0
  1339. package/dist/traces-data-list-CDNE9P8W.js.map +1 -0
  1340. package/dist/use-text-highlight.css +1 -1
  1341. package/dist/utils/cn.cjs.js +1 -1
  1342. package/dist/utils/cn.es.js +1 -1
  1343. package/dist/utils/duration.cjs.js +22 -0
  1344. package/dist/utils/duration.cjs.js.map +1 -0
  1345. package/dist/utils/duration.d.ts +2 -0
  1346. package/dist/utils/duration.es.js +18 -0
  1347. package/dist/utils/duration.es.js.map +1 -0
  1348. package/dist/utils/toast.cjs.js +1 -1
  1349. package/dist/utils/toast.es.js +1 -1
  1350. package/package.json +19 -10
  1351. package/theme/colors.css +155 -0
  1352. package/theme/data-viz.css +59 -0
  1353. package/theme/motion.css +38 -0
  1354. package/theme/scale.css +42 -0
  1355. package/theme/status.css +96 -0
  1356. package/theme/surfaces.css +201 -0
  1357. package/theme/typography.css +74 -0
  1358. package/theme.css +53 -571
  1359. package/dist/Badge-BCwBpIc7.js +0 -123
  1360. package/dist/Badge-BCwBpIc7.js.map +0 -1
  1361. package/dist/Badge-RWi6V_JT.cjs +0 -125
  1362. package/dist/Badge-RWi6V_JT.cjs.map +0 -1
  1363. package/dist/Button-C2dx_QZN.cjs +0 -207
  1364. package/dist/Button-C2dx_QZN.cjs.map +0 -1
  1365. package/dist/Button-DS6O6fvU.js +0 -203
  1366. package/dist/Button-DS6O6fvU.js.map +0 -1
  1367. package/dist/Card-CnxuKKaz.js +0 -96
  1368. package/dist/Card-CnxuKKaz.js.map +0 -1
  1369. package/dist/Card-DC9rlxXj.cjs +0 -123
  1370. package/dist/Card-DC9rlxXj.cjs.map +0 -1
  1371. package/dist/EmptyState-CDM5htkF.js +0 -31
  1372. package/dist/EmptyState-CDM5htkF.js.map +0 -1
  1373. package/dist/EmptyState-_TZefNk_.cjs +0 -33
  1374. package/dist/EmptyState-_TZefNk_.cjs.map +0 -1
  1375. package/dist/ErrorState-DvsG3RMz.cjs +0 -16
  1376. package/dist/ErrorState-DvsG3RMz.cjs.map +0 -1
  1377. package/dist/ErrorState-t59EAa55.js +0 -14
  1378. package/dist/ErrorState-t59EAa55.js.map +0 -1
  1379. package/dist/Notice-Cq7m_mxe.cjs +0 -91
  1380. package/dist/Notice-Cq7m_mxe.cjs.map +0 -1
  1381. package/dist/Notice-DEqr19sI.js +0 -89
  1382. package/dist/Notice-DEqr19sI.js.map +0 -1
  1383. package/dist/PermissionDenied-BCHmzPYk.cjs +0 -24
  1384. package/dist/PermissionDenied-BCHmzPYk.cjs.map +0 -1
  1385. package/dist/PermissionDenied-lLDk9Zpw.js +0 -22
  1386. package/dist/PermissionDenied-lLDk9Zpw.js.map +0 -1
  1387. package/dist/SessionExpired-B4qMlVNC.cjs +0 -47
  1388. package/dist/SessionExpired-B4qMlVNC.cjs.map +0 -1
  1389. package/dist/SessionExpired-OS-dhsdb.js +0 -45
  1390. package/dist/SessionExpired-OS-dhsdb.js.map +0 -1
  1391. package/dist/Txt-C7rZCmrg.cjs +0 -30
  1392. package/dist/Txt-C7rZCmrg.cjs.map +0 -1
  1393. package/dist/Txt-hyo2FKuO.js +0 -28
  1394. package/dist/Txt-hyo2FKuO.js.map +0 -1
  1395. package/dist/activity-1GW2mu-d.cjs +0 -52
  1396. package/dist/activity-1GW2mu-d.cjs.map +0 -1
  1397. package/dist/activity-BiQKEDt0.js +0 -49
  1398. package/dist/activity-BiQKEDt0.js.map +0 -1
  1399. package/dist/arrival-CormfVRZ.cjs +0 -22
  1400. package/dist/arrival-CormfVRZ.cjs.map +0 -1
  1401. package/dist/arrival-DPVjCnNy.js +0 -19
  1402. package/dist/arrival-DPVjCnNy.js.map +0 -1
  1403. package/dist/ask-user-DCWLWOBI.js +0 -137
  1404. package/dist/ask-user-DCWLWOBI.js.map +0 -1
  1405. package/dist/ask-user-Dw64_A-5.cjs +0 -146
  1406. package/dist/ask-user-Dw64_A-5.cjs.map +0 -1
  1407. package/dist/buttons-group-t7AODlO9.js +0 -162
  1408. package/dist/buttons-group-t7AODlO9.js.map +0 -1
  1409. package/dist/buttons-group-yLVV4nzz.cjs +0 -186
  1410. package/dist/buttons-group-yLVV4nzz.cjs.map +0 -1
  1411. package/dist/chat-notification-DMwUG6M1.cjs +0 -111
  1412. package/dist/chat-notification-DMwUG6M1.cjs.map +0 -1
  1413. package/dist/chat-notification-DyBAfleZ.js +0 -107
  1414. package/dist/chat-notification-DyBAfleZ.js.map +0 -1
  1415. package/dist/chat-signal-D-8_rCn0.cjs +0 -42
  1416. package/dist/chat-signal-D-8_rCn0.cjs.map +0 -1
  1417. package/dist/chat-signal-JGIN9unj.js +0 -40
  1418. package/dist/chat-signal-JGIN9unj.js.map +0 -1
  1419. package/dist/checkbox-BHOqsV3k.js +0 -89
  1420. package/dist/checkbox-BHOqsV3k.js.map +0 -1
  1421. package/dist/checkbox-DXapLh4O.cjs +0 -110
  1422. package/dist/checkbox-DXapLh4O.cjs.map +0 -1
  1423. package/dist/cn-BuHW7Wrt.cjs +0 -3294
  1424. package/dist/cn-BuHW7Wrt.cjs.map +0 -1
  1425. package/dist/cn-C6s2yXwM.js +0 -3291
  1426. package/dist/cn-C6s2yXwM.js.map +0 -1
  1427. package/dist/code-block-BBG-Zv3I.js +0 -86
  1428. package/dist/code-block-BBG-Zv3I.js.map +0 -1
  1429. package/dist/code-block-DgK__blB.cjs +0 -88
  1430. package/dist/code-block-DgK__blB.cjs.map +0 -1
  1431. package/dist/code-diff-CRzg0c6L.js +0 -142
  1432. package/dist/code-diff-CRzg0c6L.js.map +0 -1
  1433. package/dist/code-diff-pMNj9cR8.cjs +0 -144
  1434. package/dist/code-diff-pMNj9cR8.cjs.map +0 -1
  1435. package/dist/code-editor-CQqV40K3.js +0 -478
  1436. package/dist/code-editor-CQqV40K3.js.map +0 -1
  1437. package/dist/code-editor-e1JSppW0.cjs +0 -486
  1438. package/dist/code-editor-e1JSppW0.cjs.map +0 -1
  1439. package/dist/collapsible-C2RuZzc7.js +0 -57
  1440. package/dist/collapsible-C2RuZzc7.js.map +0 -1
  1441. package/dist/collapsible-C3x1n6sF.cjs +0 -61
  1442. package/dist/collapsible-C3x1n6sF.cjs.map +0 -1
  1443. package/dist/combobox-CQ2Ri2LC.js +0 -175
  1444. package/dist/combobox-CQ2Ri2LC.js.map +0 -1
  1445. package/dist/combobox-F3WprWVx.cjs +0 -196
  1446. package/dist/combobox-F3WprWVx.cjs.map +0 -1
  1447. package/dist/combobox-styles-1C3D0JLL.cjs +0 -98
  1448. package/dist/combobox-styles-1C3D0JLL.cjs.map +0 -1
  1449. package/dist/combobox-styles-BMerfYPX.js +0 -94
  1450. package/dist/combobox-styles-BMerfYPX.js.map +0 -1
  1451. package/dist/command-CuuMEoIB.cjs +0 -211
  1452. package/dist/command-CuuMEoIB.cjs.map +0 -1
  1453. package/dist/command-rJ4b4Z2h.js +0 -182
  1454. package/dist/command-rJ4b4Z2h.js.map +0 -1
  1455. package/dist/components/DashboardCard.cjs.js +0 -10
  1456. package/dist/components/DashboardCard.cjs.js.map +0 -1
  1457. package/dist/components/DashboardCard.d.ts +0 -2
  1458. package/dist/components/DashboardCard.es.js +0 -2
  1459. package/dist/components/DashboardCard.es.js.map +0 -1
  1460. package/dist/composer-C6kIcVEJ.cjs +0 -156
  1461. package/dist/composer-C6kIcVEJ.cjs.map +0 -1
  1462. package/dist/composer-Dz769593.js +0 -148
  1463. package/dist/composer-Dz769593.js.map +0 -1
  1464. package/dist/copy-button-CmQxxSUq.cjs +0 -38
  1465. package/dist/copy-button-CmQxxSUq.cjs.map +0 -1
  1466. package/dist/copy-button-DIeDskPU.js +0 -36
  1467. package/dist/copy-button-DIeDskPU.js.map +0 -1
  1468. package/dist/dashboard-card-B4VOm5Js.cjs +0 -11
  1469. package/dist/dashboard-card-B4VOm5Js.cjs.map +0 -1
  1470. package/dist/dashboard-card-quQYRrRH.js +0 -9
  1471. package/dist/dashboard-card-quQYRrRH.js.map +0 -1
  1472. package/dist/data-code-section-BHQOAbuZ.js +0 -348
  1473. package/dist/data-code-section-BHQOAbuZ.js.map +0 -1
  1474. package/dist/data-code-section-Dsn6ZqE0.cjs +0 -350
  1475. package/dist/data-code-section-Dsn6ZqE0.cjs.map +0 -1
  1476. package/dist/data-keys-and-values-BxSKCdWQ.js +0 -122
  1477. package/dist/data-keys-and-values-BxSKCdWQ.js.map +0 -1
  1478. package/dist/data-keys-and-values-CPUfobZS.cjs +0 -124
  1479. package/dist/data-keys-and-values-CPUfobZS.cjs.map +0 -1
  1480. package/dist/data-list-B9td5YXY.cjs +0 -184
  1481. package/dist/data-list-B9td5YXY.cjs.map +0 -1
  1482. package/dist/data-list-IQ0BjiGx.js +0 -180
  1483. package/dist/data-list-IQ0BjiGx.js.map +0 -1
  1484. package/dist/data-list-skeleton-CFaGBKDb.cjs +0 -38
  1485. package/dist/data-list-skeleton-CFaGBKDb.cjs.map +0 -1
  1486. package/dist/data-list-skeleton-CQQydcpj.js +0 -36
  1487. package/dist/data-list-skeleton-CQQydcpj.js.map +0 -1
  1488. package/dist/data-list-spacer-DWoUNPpA.js +0 -138
  1489. package/dist/data-list-spacer-DWoUNPpA.js.map +0 -1
  1490. package/dist/data-list-spacer-psBnZOCX.cjs +0 -146
  1491. package/dist/data-list-spacer-psBnZOCX.cjs.map +0 -1
  1492. package/dist/data-list-top-CkwvYUWw.cjs +0 -375
  1493. package/dist/data-list-top-CkwvYUWw.cjs.map +0 -1
  1494. package/dist/data-list-top-DbUnE1J9.js +0 -350
  1495. package/dist/data-list-top-DbUnE1J9.js.map +0 -1
  1496. package/dist/data-panel-BhJ8Lp_j.cjs +0 -269
  1497. package/dist/data-panel-BhJ8Lp_j.cjs.map +0 -1
  1498. package/dist/data-panel-D2JtbyKg.js +0 -249
  1499. package/dist/data-panel-D2JtbyKg.js.map +0 -1
  1500. package/dist/data-panel-section-heading-BoMxMKSA.cjs +0 -23
  1501. package/dist/data-panel-section-heading-BoMxMKSA.cjs.map +0 -1
  1502. package/dist/data-panel-section-heading-UzIDRnta.js +0 -21
  1503. package/dist/data-panel-section-heading-UzIDRnta.js.map +0 -1
  1504. package/dist/date-picker-DiZ0FOvY.cjs +0 -48
  1505. package/dist/date-picker-DiZ0FOvY.cjs.map +0 -1
  1506. package/dist/date-picker-jDmdtRTR.js +0 -46
  1507. package/dist/date-picker-jDmdtRTR.js.map +0 -1
  1508. package/dist/date-time-range-picker-BotnQ9HS.js +0 -164
  1509. package/dist/date-time-range-picker-BotnQ9HS.js.map +0 -1
  1510. package/dist/date-time-range-picker-eyfOf4v-.cjs +0 -166
  1511. package/dist/date-time-range-picker-eyfOf4v-.cjs.map +0 -1
  1512. package/dist/dialog-B3DNnoZ3.cjs +0 -276
  1513. package/dist/dialog-B3DNnoZ3.cjs.map +0 -1
  1514. package/dist/dialog-C60a4DWO.js +0 -242
  1515. package/dist/dialog-C60a4DWO.js.map +0 -1
  1516. package/dist/drawer-CEufBgtb.cjs +0 -367
  1517. package/dist/drawer-CEufBgtb.cjs.map +0 -1
  1518. package/dist/drawer-DgGxK4oq.js +0 -327
  1519. package/dist/drawer-DgGxK4oq.js.map +0 -1
  1520. package/dist/dropdown-menu-B3nTlFnz.js +0 -222
  1521. package/dist/dropdown-menu-B3nTlFnz.js.map +0 -1
  1522. package/dist/dropdown-menu-DfX8T0jb.cjs +0 -243
  1523. package/dist/dropdown-menu-DfX8T0jb.cjs.map +0 -1
  1524. package/dist/field-block-An2PO2_X.cjs +0 -93
  1525. package/dist/field-block-An2PO2_X.cjs.map +0 -1
  1526. package/dist/field-block-CQkD13nw.js +0 -91
  1527. package/dist/field-block-CQkD13nw.js.map +0 -1
  1528. package/dist/filter-bar-chip-BR7Xnpeo.cjs +0 -868
  1529. package/dist/filter-bar-chip-BR7Xnpeo.cjs.map +0 -1
  1530. package/dist/filter-bar-chip-DyITaBNj.js +0 -853
  1531. package/dist/filter-bar-chip-DyITaBNj.js.map +0 -1
  1532. package/dist/fonts-BD38FYaQ.js +0 -51
  1533. package/dist/fonts-BD38FYaQ.js.map +0 -1
  1534. package/dist/fonts-DxgDxyKF.cjs +0 -56
  1535. package/dist/fonts-DxgDxyKF.cjs.map +0 -1
  1536. package/dist/horizontal-bars-D1992rbt.cjs +0 -141
  1537. package/dist/horizontal-bars-D1992rbt.cjs.map +0 -1
  1538. package/dist/horizontal-bars-lhqUch51.js +0 -139
  1539. package/dist/horizontal-bars-lhqUch51.js.map +0 -1
  1540. package/dist/hover-card-BSj1EgQs.cjs +0 -91
  1541. package/dist/hover-card-BSj1EgQs.cjs.map +0 -1
  1542. package/dist/hover-card-Cmh0QRP8.js +0 -68
  1543. package/dist/hover-card-Cmh0QRP8.js.map +0 -1
  1544. package/dist/index-Cp3ZQQze.js +0 -45
  1545. package/dist/index-Cp3ZQQze.js.map +0 -1
  1546. package/dist/index-gbqoNdVM.cjs +0 -47
  1547. package/dist/index-gbqoNdVM.cjs.map +0 -1
  1548. package/dist/input-XEcMP_LL.cjs +0 -99
  1549. package/dist/input-XEcMP_LL.cjs.map +0 -1
  1550. package/dist/input-group-D_1g2L_v.cjs +0 -243
  1551. package/dist/input-group-D_1g2L_v.cjs.map +0 -1
  1552. package/dist/input-group-rn0r72y5.js +0 -217
  1553. package/dist/input-group-rn0r72y5.js.map +0 -1
  1554. package/dist/input-kU7nI6V5.js +0 -78
  1555. package/dist/input-kU7nI6V5.js.map +0 -1
  1556. package/dist/kbd-DjjBBIZN.cjs +0 -34
  1557. package/dist/kbd-DjjBBIZN.cjs.map +0 -1
  1558. package/dist/kbd-H5Qu573u.js +0 -32
  1559. package/dist/kbd-H5Qu573u.js.map +0 -1
  1560. package/dist/label-DxQoIwES.cjs +0 -34
  1561. package/dist/label-DxQoIwES.cjs.map +0 -1
  1562. package/dist/label-NULyP-1Q.js +0 -13
  1563. package/dist/label-NULyP-1Q.js.map +0 -1
  1564. package/dist/list-search-Cg5Y90E8.js +0 -71
  1565. package/dist/list-search-Cg5Y90E8.js.map +0 -1
  1566. package/dist/list-search-DISXdbOP.cjs +0 -73
  1567. package/dist/list-search-DISXdbOP.cjs.map +0 -1
  1568. package/dist/logs-data-list-B1FY1A2A.cjs +0 -82
  1569. package/dist/logs-data-list-B1FY1A2A.cjs.map +0 -1
  1570. package/dist/logs-data-list-DZz_YVd2.js +0 -80
  1571. package/dist/logs-data-list-DZz_YVd2.js.map +0 -1
  1572. package/dist/main-sidebar-link-active-Bzw7LY7r.cjs +0 -787
  1573. package/dist/main-sidebar-link-active-Bzw7LY7r.cjs.map +0 -1
  1574. package/dist/main-sidebar-link-active-D1iR9bHo.js +0 -770
  1575. package/dist/main-sidebar-link-active-D1iR9bHo.js.map +0 -1
  1576. package/dist/markdown-renderer-CUQHtRlL.cjs +0 -410
  1577. package/dist/markdown-renderer-CUQHtRlL.cjs.map +0 -1
  1578. package/dist/markdown-renderer-SVeQ5Uo_.js +0 -408
  1579. package/dist/markdown-renderer-SVeQ5Uo_.js.map +0 -1
  1580. package/dist/message-B-28p4Zs.cjs +0 -66
  1581. package/dist/message-B-28p4Zs.cjs.map +0 -1
  1582. package/dist/message-DGZPjxsh.js +0 -62
  1583. package/dist/message-DGZPjxsh.js.map +0 -1
  1584. package/dist/message-scroller-SYgTcpaD.cjs +0 -857
  1585. package/dist/message-scroller-SYgTcpaD.cjs.map +0 -1
  1586. package/dist/message-scroller-ViAipPK4.js +0 -831
  1587. package/dist/message-scroller-ViAipPK4.js.map +0 -1
  1588. package/dist/metrics-card-CM9jj-UN.cjs +0 -95
  1589. package/dist/metrics-card-CM9jj-UN.cjs.map +0 -1
  1590. package/dist/metrics-card-ClpFsCSt.js +0 -93
  1591. package/dist/metrics-card-ClpFsCSt.js.map +0 -1
  1592. package/dist/metrics-kpi-card-CoVZRI52.cjs +0 -79
  1593. package/dist/metrics-kpi-card-CoVZRI52.cjs.map +0 -1
  1594. package/dist/metrics-kpi-card-D-ct3JAY.js +0 -77
  1595. package/dist/metrics-kpi-card-D-ct3JAY.js.map +0 -1
  1596. package/dist/metrics-line-chart-DPcqXCDT.cjs +0 -114
  1597. package/dist/metrics-line-chart-DPcqXCDT.cjs.map +0 -1
  1598. package/dist/metrics-line-chart-M3JTf2J8.js +0 -111
  1599. package/dist/metrics-line-chart-M3JTf2J8.js.map +0 -1
  1600. package/dist/new-theme.css +0 -39
  1601. package/dist/no-data-page-layout-COzOm-mS.js +0 -9
  1602. package/dist/no-data-page-layout-COzOm-mS.js.map +0 -1
  1603. package/dist/no-data-page-layout-yCjhZq99.cjs +0 -11
  1604. package/dist/no-data-page-layout-yCjhZq99.cjs.map +0 -1
  1605. package/dist/page-header-DyAd0Uof.cjs +0 -125
  1606. package/dist/page-header-DyAd0Uof.cjs.map +0 -1
  1607. package/dist/page-header-DymTqQgq.js +0 -123
  1608. package/dist/page-header-DymTqQgq.js.map +0 -1
  1609. package/dist/page-layout-B_JUSRkD.js +0 -97
  1610. package/dist/page-layout-B_JUSRkD.js.map +0 -1
  1611. package/dist/page-layout-DXFMbJi3.cjs +0 -99
  1612. package/dist/page-layout-DXFMbJi3.cjs.map +0 -1
  1613. package/dist/popover-CGB4qBAn.cjs +0 -121
  1614. package/dist/popover-CGB4qBAn.cjs.map +0 -1
  1615. package/dist/popover-lj-OpKKH.js +0 -97
  1616. package/dist/popover-lj-OpKKH.js.map +0 -1
  1617. package/dist/property-filter-applied-CZu-Jwsx.js +0 -344
  1618. package/dist/property-filter-applied-CZu-Jwsx.js.map +0 -1
  1619. package/dist/property-filter-applied-DZz8aSoU.cjs +0 -348
  1620. package/dist/property-filter-applied-DZz8aSoU.cjs.map +0 -1
  1621. package/dist/sankey-chart-GiDY0WBV.js +0 -916
  1622. package/dist/sankey-chart-GiDY0WBV.js.map +0 -1
  1623. package/dist/sankey-chart-QibH6Vg1.cjs +0 -926
  1624. package/dist/sankey-chart-QibH6Vg1.cjs.map +0 -1
  1625. package/dist/scroll-area-ByrWkkO_.js +0 -223
  1626. package/dist/scroll-area-ByrWkkO_.js.map +0 -1
  1627. package/dist/scroll-area-l6Yx-88I.cjs +0 -245
  1628. package/dist/scroll-area-l6Yx-88I.cjs.map +0 -1
  1629. package/dist/search-field-block-jfMFV7AD.cjs +0 -125
  1630. package/dist/search-field-block-jfMFV7AD.cjs.map +0 -1
  1631. package/dist/search-field-block-zF_99MJ5.js +0 -123
  1632. package/dist/search-field-block-zF_99MJ5.js.map +0 -1
  1633. package/dist/section-DOZSptHn.cjs +0 -115
  1634. package/dist/section-DOZSptHn.cjs.map +0 -1
  1635. package/dist/section-fFFmNxVc.js +0 -111
  1636. package/dist/section-fFFmNxVc.js.map +0 -1
  1637. package/dist/select-31jx2l9F.cjs +0 -164
  1638. package/dist/select-31jx2l9F.cjs.map +0 -1
  1639. package/dist/select-bphXR9c4.js +0 -138
  1640. package/dist/select-bphXR9c4.js.map +0 -1
  1641. package/dist/select-field-block-BAZKc6ck.cjs +0 -59
  1642. package/dist/select-field-block-BAZKc6ck.cjs.map +0 -1
  1643. package/dist/select-field-block-BEs3cCRJ.js +0 -57
  1644. package/dist/select-field-block-BEs3cCRJ.js.map +0 -1
  1645. package/dist/settings-container-B5YhEzjS.js +0 -27
  1646. package/dist/settings-container-B5YhEzjS.js.map +0 -1
  1647. package/dist/settings-container-Dxb59YvM.cjs +0 -30
  1648. package/dist/settings-container-Dxb59YvM.cjs.map +0 -1
  1649. package/dist/settings-layout-CTnDZ_fr.js +0 -55
  1650. package/dist/settings-layout-CTnDZ_fr.js.map +0 -1
  1651. package/dist/settings-layout-DRrl-EBq.cjs +0 -57
  1652. package/dist/settings-layout-DRrl-EBq.cjs.map +0 -1
  1653. package/dist/settings-row-Dsu9uRdl.cjs +0 -88
  1654. package/dist/settings-row-Dsu9uRdl.cjs.map +0 -1
  1655. package/dist/settings-row-PB5zne3m.js +0 -85
  1656. package/dist/settings-row-PB5zne3m.js.map +0 -1
  1657. package/dist/shimmer-CmCazK2A.cjs +0 -25
  1658. package/dist/shimmer-CmCazK2A.cjs.map +0 -1
  1659. package/dist/shimmer-rej-NkeN.js +0 -23
  1660. package/dist/shimmer-rej-NkeN.js.map +0 -1
  1661. package/dist/skeleton-BpMg6F4M.js +0 -23
  1662. package/dist/skeleton-BpMg6F4M.js.map +0 -1
  1663. package/dist/skeleton-gdUQjWPU.cjs +0 -25
  1664. package/dist/skeleton-gdUQjWPU.cjs.map +0 -1
  1665. package/dist/slider-DXQNsGXe.js +0 -95
  1666. package/dist/slider-DXQNsGXe.js.map +0 -1
  1667. package/dist/slider-Kco52AqT.cjs +0 -97
  1668. package/dist/slider-Kco52AqT.cjs.map +0 -1
  1669. package/dist/spacings-C8KU7k6E.cjs +0 -182
  1670. package/dist/spacings-C8KU7k6E.cjs.map +0 -1
  1671. package/dist/spacings-Doib6y6Q.js +0 -174
  1672. package/dist/spacings-Doib6y6Q.js.map +0 -1
  1673. package/dist/span-payload-primitives-DknOcv6v.cjs +0 -75
  1674. package/dist/span-payload-primitives-DknOcv6v.cjs.map +0 -1
  1675. package/dist/span-payload-primitives-_TUMqise.js +0 -68
  1676. package/dist/span-payload-primitives-_TUMqise.js.map +0 -1
  1677. package/dist/spinner-SvnJqdcS.js +0 -51
  1678. package/dist/spinner-SvnJqdcS.js.map +0 -1
  1679. package/dist/spinner-cX-ypfV2.cjs +0 -53
  1680. package/dist/spinner-cX-ypfV2.cjs.map +0 -1
  1681. package/dist/src/ds/components/DashboardCard/dashboard-card.d.ts +0 -6
  1682. package/dist/src/ds/components/DashboardCard/dashboard-card.stories.d.ts +0 -9
  1683. package/dist/src/ds/components/DashboardCard/index.d.ts +0 -1
  1684. package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +0 -11
  1685. package/dist/src/ds/components/PageHeader/page-header-description.d.ts +0 -5
  1686. package/dist/src/ds/components/PageHeader/page-header-root.d.ts +0 -22
  1687. package/dist/src/ds/components/PageHeader/page-header-title.d.ts +0 -6
  1688. package/dist/src/ds/components/PageHeader/page-header.d.ts +0 -2
  1689. package/dist/src/ds/tokens/spacings.d.ts +0 -38
  1690. package/dist/src/ds/tokens/tokens.stories.d.ts +0 -12
  1691. package/dist/switch-CkEdGkeB.cjs +0 -125
  1692. package/dist/switch-CkEdGkeB.cjs.map +0 -1
  1693. package/dist/switch-CkHq0TIf.js +0 -104
  1694. package/dist/switch-CkHq0TIf.js.map +0 -1
  1695. package/dist/tabs-content-CRKte85r.cjs +0 -37
  1696. package/dist/tabs-content-CRKte85r.cjs.map +0 -1
  1697. package/dist/tabs-content-Drm6Y6Ul.js +0 -35
  1698. package/dist/tabs-content-Drm6Y6Ul.js.map +0 -1
  1699. package/dist/tabs-root-DcnvZuD4.cjs +0 -328
  1700. package/dist/tabs-root-DcnvZuD4.cjs.map +0 -1
  1701. package/dist/tabs-root-yY2eNDS2.js +0 -325
  1702. package/dist/tabs-root-yY2eNDS2.js.map +0 -1
  1703. package/dist/tabs-tab-CgMaandp.js +0 -103
  1704. package/dist/tabs-tab-CgMaandp.js.map +0 -1
  1705. package/dist/tabs-tab-tRgFBx85.cjs +0 -107
  1706. package/dist/tabs-tab-tRgFBx85.cjs.map +0 -1
  1707. package/dist/text-field-block-aRttm8yP.js +0 -55
  1708. package/dist/text-field-block-aRttm8yP.js.map +0 -1
  1709. package/dist/text-field-block-hN70Jj6a.cjs +0 -57
  1710. package/dist/text-field-block-hN70Jj6a.cjs.map +0 -1
  1711. package/dist/textarea-BmR73nqC.js +0 -70
  1712. package/dist/textarea-BmR73nqC.js.map +0 -1
  1713. package/dist/textarea-C7vLvn3E.cjs +0 -91
  1714. package/dist/textarea-C7vLvn3E.cjs.map +0 -1
  1715. package/dist/thread-rail-BvhuZLav.cjs +0 -334
  1716. package/dist/thread-rail-BvhuZLav.cjs.map +0 -1
  1717. package/dist/thread-rail-CPAHjoV1.js +0 -313
  1718. package/dist/thread-rail-CPAHjoV1.js.map +0 -1
  1719. package/dist/time-picker-BlY3xqrQ.cjs +0 -78
  1720. package/dist/time-picker-BlY3xqrQ.cjs.map +0 -1
  1721. package/dist/time-picker-Dce_kGwY.js +0 -76
  1722. package/dist/time-picker-Dce_kGwY.js.map +0 -1
  1723. package/dist/toast-CTMSqE4M.js +0 -52
  1724. package/dist/toast-CTMSqE4M.js.map +0 -1
  1725. package/dist/toast-CwH7p9gV.cjs +0 -55
  1726. package/dist/toast-CwH7p9gV.cjs.map +0 -1
  1727. package/dist/tool-approval-BMPAEwt_.js +0 -66
  1728. package/dist/tool-approval-BMPAEwt_.js.map +0 -1
  1729. package/dist/tool-approval-CYO2CYZz.cjs +0 -69
  1730. package/dist/tool-approval-CYO2CYZz.cjs.map +0 -1
  1731. package/dist/tool-call-98H2-r5p.js +0 -181
  1732. package/dist/tool-call-98H2-r5p.js.map +0 -1
  1733. package/dist/tool-call-CAzilpXy.cjs +0 -196
  1734. package/dist/tool-call-CAzilpXy.cjs.map +0 -1
  1735. package/dist/tooltip-QuS0KEbc.js +0 -113
  1736. package/dist/tooltip-QuS0KEbc.js.map +0 -1
  1737. package/dist/tooltip-_cda-a7s.cjs +0 -137
  1738. package/dist/tooltip-_cda-a7s.cjs.map +0 -1
  1739. package/dist/traces-data-list-Bl1BUIiq.js +0 -85
  1740. package/dist/traces-data-list-Bl1BUIiq.js.map +0 -1
  1741. package/dist/traces-data-list-CmBQDfnG.cjs +0 -87
  1742. package/dist/traces-data-list-CmBQDfnG.cjs.map +0 -1
  1743. package/new-theme.css +0 -39
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
7
  const components_fluidHoverHighlight = require('../components/fluid-hover-highlight.cjs.js');
8
8
  const hooks_useFluidHover = require('../hooks/use-fluid-hover.cjs.js');
9
- const utils_cn = require('../cn-BuHW7Wrt.cjs');
9
+ const utils_cn = require('../cn-DG0X1KEP.cjs');
10
10
 
11
11
  function _interopNamespaceDefault(e) {
12
12
  const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
@@ -29,21 +29,31 @@ const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
29
29
 
30
30
  const FluidMenuContext = React__namespace.createContext(null);
31
31
  function isMenuItemDisabled(element) {
32
- return isAttrActive(element, "data-disabled") || element.getAttribute("aria-disabled") === "true";
32
+ return isAttrActive(element, "data-disabled") || element.getAttribute("aria-disabled") === "true" || element.disabled === true;
33
33
  }
34
34
  function isAttrActive(element, attr) {
35
35
  const value = element.getAttribute(attr);
36
36
  return value !== null && value !== "false";
37
37
  }
38
38
  function useFluidMenu({
39
- activeAttr = "data-highlighted"
39
+ activeAttr = "data-highlighted",
40
+ gapClick
40
41
  } = {}) {
41
42
  const containerRef = React__namespace.useRef(null);
42
- const hover = hooks_useFluidHover.useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled });
43
+ const hover = hooks_useFluidHover.useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled, gapClick });
43
44
  const counterRef = React__namespace.useRef(0);
45
+ const freeRef = React__namespace.useRef([]);
44
46
  const { registerItem, setActiveIndex, handlers } = hover;
45
47
  const context = React__namespace.useMemo(
46
- () => ({ registerItem, setActiveIndex, activeAttr, allocateIndex: () => counterRef.current++ }),
48
+ () => ({
49
+ registerItem,
50
+ setActiveIndex,
51
+ activeAttr,
52
+ allocateIndex: () => freeRef.current.pop() ?? counterRef.current++,
53
+ releaseIndex: (index) => {
54
+ freeRef.current.push(index);
55
+ }
56
+ }),
47
57
  [registerItem, setActiveIndex, activeAttr]
48
58
  );
49
59
  const getContainerProps = React__namespace.useCallback(
@@ -80,7 +90,7 @@ function FluidMenuItems({
80
90
  children
81
91
  }) {
82
92
  return /* @__PURE__ */ jsxRuntime.jsxs(FluidMenuContext.Provider, { value: menu.context, children: [
83
- /* @__PURE__ */ jsxRuntime.jsx(components_fluidHoverHighlight.FluidHoverHighlight, { hover: menu.hover, className: utils_cn.cn("-z-1 rounded-lg bg-foreground/10", className) }),
93
+ /* @__PURE__ */ jsxRuntime.jsx(components_fluidHoverHighlight.FluidHoverHighlight, { hover: menu.hover, className: utils_cn.cn("-z-1 rounded-lg bg-fill", className) }),
84
94
  children
85
95
  ] });
86
96
  }
@@ -93,13 +103,20 @@ function useFluidMenuItemRef(forwardedRef) {
93
103
  if (typeof forwardedRef === "function") forwardedRef(element);
94
104
  else if (forwardedRef) forwardedRef.current = element;
95
105
  if (!ctx) return;
96
- const { registerItem, setActiveIndex, activeAttr, allocateIndex } = ctx;
97
- if (indexRef.current === null) indexRef.current = allocateIndex();
98
- const index = indexRef.current;
106
+ const { registerItem, setActiveIndex, activeAttr, allocateIndex, releaseIndex } = ctx;
99
107
  observerRef.current?.disconnect();
100
108
  observerRef.current = null;
109
+ if (!element) {
110
+ if (indexRef.current !== null) {
111
+ registerItem(indexRef.current, null);
112
+ releaseIndex(indexRef.current);
113
+ indexRef.current = null;
114
+ }
115
+ return;
116
+ }
117
+ if (indexRef.current === null) indexRef.current = allocateIndex();
118
+ const index = indexRef.current;
101
119
  registerItem(index, element);
102
- if (!element) return;
103
120
  const sync = () => {
104
121
  if (isAttrActive(element, activeAttr)) setActiveIndex(index);
105
122
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fluid-menu.cjs.js","sources":["../../src/ds/primitives/fluid-menu.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components -- provider and its hooks intentionally share this module */\nimport * as React from 'react';\n\nimport { FluidHoverHighlight } from '@/components/fluid-hover-highlight';\nimport { useFluidHover } from '@/hooks/use-fluid-hover';\nimport type { UseFluidHoverReturn } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\n/**\n * Shared Fluid Hover wiring for every popup that lists items (DropdownMenu,\n * ContextMenu, Select, Combobox, Command). One highlight surface travels\n * between rows instead of each row painting its own hover background.\n *\n * Usage inside a popup component:\n *\n * const menu = useFluidMenu();\n * <Popup {...menu.getContainerProps(props, ref)} className={cn(menuPopupClass, menu.containerClassName, className)}>\n * <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n * </Popup>\n *\n * and on each row: `ref={useFluidMenuItemRef(forwardedRef)}`.\n *\n * The keyboard path stays honest: the library sets `activeAttr` on the row it\n * considers highlighted (Base UI: `data-highlighted`, cmdk: `data-selected`),\n * and the item hook mirrors that onto the fluid highlight, so arrow keys move\n * the same surface the mouse does.\n */\ntype FluidMenuContextValue = {\n registerItem: UseFluidHoverReturn['registerItem'];\n setActiveIndex: UseFluidHoverReturn['setActiveIndex'];\n activeAttr: string;\n allocateIndex: () => number;\n};\n\nconst FluidMenuContext = React.createContext<FluidMenuContextValue | null>(null);\n\n// Base UI sets a bare `data-disabled`; cmdk sets `data-disabled=\"true\" | \"false\"`.\nfunction isMenuItemDisabled(element: HTMLElement) {\n return isAttrActive(element, 'data-disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nfunction isAttrActive(element: HTMLElement, attr: string) {\n const value = element.getAttribute(attr);\n return value !== null && value !== 'false';\n}\n\ntype MouseHandlers = Pick<\n React.HTMLAttributes<HTMLElement>,\n 'onMouseMove' | 'onMouseEnter' | 'onMouseLeave' | 'onClick'\n>;\n\nexport type UseFluidMenuOptions = {\n /** Attribute the underlying library sets on its highlighted row. */\n activeAttr?: 'data-highlighted' | 'data-selected';\n};\n\nexport type FluidMenu<T extends HTMLElement = HTMLElement> = {\n hover: UseFluidHoverReturn;\n context: FluidMenuContextValue;\n /** `relative isolate`: positions the highlight and stacks it under the rows. */\n containerClassName: string;\n /** Ref + pointer handlers for the element that holds the rows, merged with the consumer's own. */\n getContainerProps: (\n own: MouseHandlers,\n forwardedRef?: React.ForwardedRef<T>,\n ) => MouseHandlers & { ref: React.Ref<T> };\n};\n\nexport function useFluidMenu<T extends HTMLElement = HTMLDivElement>({\n activeAttr = 'data-highlighted',\n}: UseFluidMenuOptions = {}): FluidMenu<T> {\n const containerRef = React.useRef<T>(null);\n const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled });\n const counterRef = React.useRef(0);\n\n // Only the stable pieces go into context so item callback refs do not churn\n // (and re-register) on every hover-state render.\n const { registerItem, setActiveIndex, handlers } = hover;\n const context = React.useMemo<FluidMenuContextValue>(\n () => ({ registerItem, setActiveIndex, activeAttr, allocateIndex: () => counterRef.current++ }),\n [registerItem, setActiveIndex, activeAttr],\n );\n\n const getContainerProps = React.useCallback<FluidMenu<T>['getContainerProps']>(\n (own, forwardedRef) => ({\n ref: element => {\n containerRef.current = element;\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n },\n onMouseMove: e => {\n own.onMouseMove?.(e);\n handlers.onMouseMove(e);\n },\n onMouseEnter: e => {\n own.onMouseEnter?.(e);\n handlers.onMouseEnter();\n },\n onMouseLeave: e => {\n own.onMouseLeave?.(e);\n handlers.onMouseLeave();\n },\n onClick: e => {\n own.onClick?.(e);\n handlers.onClick(e);\n },\n }),\n [handlers],\n );\n\n return { hover, context, containerClassName: 'relative isolate', getContainerProps };\n}\n\n/**\n * Provides the item registry to the rows and renders the travelling surface.\n * Popups are `bg-popover`; the highlight is the control hover surface on top of it.\n * `-z-1` keeps it under the row content while the container's `isolate`\n * keeps it above the popup background.\n */\nexport function FluidMenuItems({\n menu,\n className,\n children,\n}: {\n menu: Pick<FluidMenu, 'hover' | 'context'>;\n className?: string;\n children?: React.ReactNode;\n}) {\n return (\n <FluidMenuContext.Provider value={menu.context}>\n <FluidHoverHighlight hover={menu.hover} className={cn('-z-1 rounded-lg bg-foreground/10', className)} />\n {children}\n </FluidMenuContext.Provider>\n );\n}\n\n/**\n * Callback ref for an item row. Registers the row with the popup's hover\n * state and mirrors the library's highlighted attribute onto it. A no-op\n * outside a provider, so rows still render standalone.\n */\nexport function useFluidMenuItemRef<T extends HTMLElement>(forwardedRef: React.ForwardedRef<T>) {\n const ctx = React.useContext(FluidMenuContext);\n const indexRef = React.useRef<number | null>(null);\n const observerRef = React.useRef<MutationObserver | null>(null);\n\n return React.useCallback(\n (element: T | null) => {\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n\n if (!ctx) return;\n const { registerItem, setActiveIndex, activeAttr, allocateIndex } = ctx;\n if (indexRef.current === null) indexRef.current = allocateIndex();\n const index = indexRef.current;\n\n observerRef.current?.disconnect();\n observerRef.current = null;\n registerItem(index, element);\n if (!element) return;\n\n const sync = () => {\n if (isAttrActive(element, activeAttr)) setActiveIndex(index);\n };\n sync();\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(sync);\n observer.observe(element, { attributes: true, attributeFilter: [activeAttr] });\n observerRef.current = observer;\n }\n },\n [ctx, forwardedRef],\n );\n}\n"],"names":["React","useFluidHover","jsx","FluidHoverHighlight","cn"],"mappings":"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"}
1
+ {"version":3,"file":"fluid-menu.cjs.js","sources":["../../src/ds/primitives/fluid-menu.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components -- provider and its hooks intentionally share this module */\nimport * as React from 'react';\n\nimport { FluidHoverHighlight } from '@/components/fluid-hover-highlight';\nimport { useFluidHover } from '@/hooks/use-fluid-hover';\nimport type { UseFluidHoverOptions, UseFluidHoverReturn } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\n/**\n * Shared Fluid Hover wiring for every popup that lists items (DropdownMenu,\n * ContextMenu, Select, Combobox, Command). One highlight surface travels\n * between rows instead of each row painting its own hover background.\n *\n * Usage inside a popup component:\n *\n * const menu = useFluidMenu();\n * <Popup {...menu.getContainerProps(props, ref)} className={cn(menuPopupClass, menu.containerClassName, className)}>\n * <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n * </Popup>\n *\n * and on each row: `ref={useFluidMenuItemRef(forwardedRef)}`.\n *\n * The keyboard path stays honest: the library sets `activeAttr` on the row it\n * considers highlighted (Base UI: `data-highlighted`, cmdk: `data-selected`),\n * and the item hook mirrors that onto the fluid highlight, so arrow keys move\n * the same surface the mouse does.\n */\ntype FluidMenuContextValue = {\n registerItem: UseFluidHoverReturn['registerItem'];\n setActiveIndex: UseFluidHoverReturn['setActiveIndex'];\n activeAttr: string;\n allocateIndex: () => number;\n releaseIndex: (index: number) => void;\n};\n\nconst FluidMenuContext = React.createContext<FluidMenuContextValue | null>(null);\n\n// Base UI sets a bare `data-disabled`; cmdk sets `data-disabled=\"true\" | \"false\"`;\n// native controls (DataList rows) use the `disabled` property.\nfunction isMenuItemDisabled(element: HTMLElement) {\n return (\n isAttrActive(element, 'data-disabled') ||\n element.getAttribute('aria-disabled') === 'true' ||\n (element as HTMLButtonElement).disabled === true\n );\n}\n\nfunction isAttrActive(element: HTMLElement, attr: string) {\n const value = element.getAttribute(attr);\n return value !== null && value !== 'false';\n}\n\ntype MouseHandlers = Pick<\n React.HTMLAttributes<HTMLElement>,\n 'onMouseMove' | 'onMouseEnter' | 'onMouseLeave' | 'onClick'\n>;\n\nexport type UseFluidMenuOptions = {\n /** Attribute the underlying library sets on its highlighted row. */\n activeAttr?: 'data-highlighted' | 'data-selected';\n /** Forwarded to `useFluidHover`; lists with inert rows (subheaders, pagination) pass `false`. */\n gapClick?: UseFluidHoverOptions['gapClick'];\n};\n\nexport type FluidMenu<T extends HTMLElement = HTMLElement> = {\n hover: UseFluidHoverReturn;\n context: FluidMenuContextValue;\n /** `relative isolate`: positions the highlight and stacks it under the rows. */\n containerClassName: string;\n /** Ref + pointer handlers for the element that holds the rows, merged with the consumer's own. */\n getContainerProps: (\n own: MouseHandlers,\n forwardedRef?: React.ForwardedRef<T>,\n ) => MouseHandlers & { ref: React.Ref<T> };\n};\n\nexport function useFluidMenu<T extends HTMLElement = HTMLDivElement>({\n activeAttr = 'data-highlighted',\n gapClick,\n}: UseFluidMenuOptions = {}): FluidMenu<T> {\n const containerRef = React.useRef<T>(null);\n const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled, gapClick });\n const counterRef = React.useRef(0);\n // Indices released by unmounted rows, reused first so virtualized lists that\n // mount/unmount rows while scrolling keep the index space bounded.\n const freeRef = React.useRef<number[]>([]);\n\n // Only the stable pieces go into context so item callback refs do not churn\n // (and re-register) on every hover-state render.\n const { registerItem, setActiveIndex, handlers } = hover;\n const context = React.useMemo<FluidMenuContextValue>(\n () => ({\n registerItem,\n setActiveIndex,\n activeAttr,\n allocateIndex: () => freeRef.current.pop() ?? counterRef.current++,\n releaseIndex: index => {\n freeRef.current.push(index);\n },\n }),\n [registerItem, setActiveIndex, activeAttr],\n );\n\n const getContainerProps = React.useCallback<FluidMenu<T>['getContainerProps']>(\n (own, forwardedRef) => ({\n ref: element => {\n containerRef.current = element;\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n },\n onMouseMove: e => {\n own.onMouseMove?.(e);\n handlers.onMouseMove(e);\n },\n onMouseEnter: e => {\n own.onMouseEnter?.(e);\n handlers.onMouseEnter();\n },\n onMouseLeave: e => {\n own.onMouseLeave?.(e);\n handlers.onMouseLeave();\n },\n onClick: e => {\n own.onClick?.(e);\n handlers.onClick(e);\n },\n }),\n [handlers],\n );\n\n return { hover, context, containerClassName: 'relative isolate', getContainerProps };\n}\n\n/**\n * Provides the item registry to the rows and renders the travelling surface.\n * Popups are `bg-popover`; the highlight is the control hover surface on top of it.\n * `-z-1` keeps it under the row content while the container's `isolate`\n * keeps it above the popup background.\n */\nexport function FluidMenuItems({\n menu,\n className,\n children,\n}: {\n menu: Pick<FluidMenu, 'hover' | 'context'>;\n className?: string;\n children?: React.ReactNode;\n}) {\n return (\n <FluidMenuContext.Provider value={menu.context}>\n <FluidHoverHighlight hover={menu.hover} className={cn('-z-1 rounded-lg bg-fill', className)} />\n {children}\n </FluidMenuContext.Provider>\n );\n}\n\n/**\n * Callback ref for an item row. Registers the row with the popup's hover\n * state and mirrors the library's highlighted attribute onto it. A no-op\n * outside a provider, so rows still render standalone.\n */\nexport function useFluidMenuItemRef<T extends HTMLElement>(forwardedRef: React.ForwardedRef<T>) {\n const ctx = React.useContext(FluidMenuContext);\n const indexRef = React.useRef<number | null>(null);\n const observerRef = React.useRef<MutationObserver | null>(null);\n\n return React.useCallback(\n (element: T | null) => {\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n\n if (!ctx) return;\n const { registerItem, setActiveIndex, activeAttr, allocateIndex, releaseIndex } = ctx;\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (!element) {\n if (indexRef.current !== null) {\n registerItem(indexRef.current, null);\n releaseIndex(indexRef.current);\n indexRef.current = null;\n }\n return;\n }\n\n if (indexRef.current === null) indexRef.current = allocateIndex();\n const index = indexRef.current;\n registerItem(index, element);\n\n const sync = () => {\n if (isAttrActive(element, activeAttr)) setActiveIndex(index);\n };\n sync();\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(sync);\n observer.observe(element, { attributes: true, attributeFilter: [activeAttr] });\n observerRef.current = observer;\n }\n },\n [ctx, forwardedRef],\n );\n}\n"],"names":["React","useFluidHover","jsx","FluidHoverHighlight","cn"],"mappings":"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"}
@@ -2,25 +2,35 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { FluidHoverHighlight } from '../components/fluid-hover-highlight.es.js';
4
4
  import { useFluidHover } from '../hooks/use-fluid-hover.es.js';
5
- import { c as cn } from '../cn-C6s2yXwM.js';
5
+ import { c as cn } from '../cn-65Adrsfj.js';
6
6
 
7
7
  const FluidMenuContext = React.createContext(null);
8
8
  function isMenuItemDisabled(element) {
9
- return isAttrActive(element, "data-disabled") || element.getAttribute("aria-disabled") === "true";
9
+ return isAttrActive(element, "data-disabled") || element.getAttribute("aria-disabled") === "true" || element.disabled === true;
10
10
  }
11
11
  function isAttrActive(element, attr) {
12
12
  const value = element.getAttribute(attr);
13
13
  return value !== null && value !== "false";
14
14
  }
15
15
  function useFluidMenu({
16
- activeAttr = "data-highlighted"
16
+ activeAttr = "data-highlighted",
17
+ gapClick
17
18
  } = {}) {
18
19
  const containerRef = React.useRef(null);
19
- const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled });
20
+ const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled, gapClick });
20
21
  const counterRef = React.useRef(0);
22
+ const freeRef = React.useRef([]);
21
23
  const { registerItem, setActiveIndex, handlers } = hover;
22
24
  const context = React.useMemo(
23
- () => ({ registerItem, setActiveIndex, activeAttr, allocateIndex: () => counterRef.current++ }),
25
+ () => ({
26
+ registerItem,
27
+ setActiveIndex,
28
+ activeAttr,
29
+ allocateIndex: () => freeRef.current.pop() ?? counterRef.current++,
30
+ releaseIndex: (index) => {
31
+ freeRef.current.push(index);
32
+ }
33
+ }),
24
34
  [registerItem, setActiveIndex, activeAttr]
25
35
  );
26
36
  const getContainerProps = React.useCallback(
@@ -57,7 +67,7 @@ function FluidMenuItems({
57
67
  children
58
68
  }) {
59
69
  return /* @__PURE__ */ jsxs(FluidMenuContext.Provider, { value: menu.context, children: [
60
- /* @__PURE__ */ jsx(FluidHoverHighlight, { hover: menu.hover, className: cn("-z-1 rounded-lg bg-foreground/10", className) }),
70
+ /* @__PURE__ */ jsx(FluidHoverHighlight, { hover: menu.hover, className: cn("-z-1 rounded-lg bg-fill", className) }),
61
71
  children
62
72
  ] });
63
73
  }
@@ -70,13 +80,20 @@ function useFluidMenuItemRef(forwardedRef) {
70
80
  if (typeof forwardedRef === "function") forwardedRef(element);
71
81
  else if (forwardedRef) forwardedRef.current = element;
72
82
  if (!ctx) return;
73
- const { registerItem, setActiveIndex, activeAttr, allocateIndex } = ctx;
74
- if (indexRef.current === null) indexRef.current = allocateIndex();
75
- const index = indexRef.current;
83
+ const { registerItem, setActiveIndex, activeAttr, allocateIndex, releaseIndex } = ctx;
76
84
  observerRef.current?.disconnect();
77
85
  observerRef.current = null;
86
+ if (!element) {
87
+ if (indexRef.current !== null) {
88
+ registerItem(indexRef.current, null);
89
+ releaseIndex(indexRef.current);
90
+ indexRef.current = null;
91
+ }
92
+ return;
93
+ }
94
+ if (indexRef.current === null) indexRef.current = allocateIndex();
95
+ const index = indexRef.current;
78
96
  registerItem(index, element);
79
- if (!element) return;
80
97
  const sync = () => {
81
98
  if (isAttrActive(element, activeAttr)) setActiveIndex(index);
82
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fluid-menu.es.js","sources":["../../src/ds/primitives/fluid-menu.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components -- provider and its hooks intentionally share this module */\nimport * as React from 'react';\n\nimport { FluidHoverHighlight } from '@/components/fluid-hover-highlight';\nimport { useFluidHover } from '@/hooks/use-fluid-hover';\nimport type { UseFluidHoverReturn } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\n/**\n * Shared Fluid Hover wiring for every popup that lists items (DropdownMenu,\n * ContextMenu, Select, Combobox, Command). One highlight surface travels\n * between rows instead of each row painting its own hover background.\n *\n * Usage inside a popup component:\n *\n * const menu = useFluidMenu();\n * <Popup {...menu.getContainerProps(props, ref)} className={cn(menuPopupClass, menu.containerClassName, className)}>\n * <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n * </Popup>\n *\n * and on each row: `ref={useFluidMenuItemRef(forwardedRef)}`.\n *\n * The keyboard path stays honest: the library sets `activeAttr` on the row it\n * considers highlighted (Base UI: `data-highlighted`, cmdk: `data-selected`),\n * and the item hook mirrors that onto the fluid highlight, so arrow keys move\n * the same surface the mouse does.\n */\ntype FluidMenuContextValue = {\n registerItem: UseFluidHoverReturn['registerItem'];\n setActiveIndex: UseFluidHoverReturn['setActiveIndex'];\n activeAttr: string;\n allocateIndex: () => number;\n};\n\nconst FluidMenuContext = React.createContext<FluidMenuContextValue | null>(null);\n\n// Base UI sets a bare `data-disabled`; cmdk sets `data-disabled=\"true\" | \"false\"`.\nfunction isMenuItemDisabled(element: HTMLElement) {\n return isAttrActive(element, 'data-disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nfunction isAttrActive(element: HTMLElement, attr: string) {\n const value = element.getAttribute(attr);\n return value !== null && value !== 'false';\n}\n\ntype MouseHandlers = Pick<\n React.HTMLAttributes<HTMLElement>,\n 'onMouseMove' | 'onMouseEnter' | 'onMouseLeave' | 'onClick'\n>;\n\nexport type UseFluidMenuOptions = {\n /** Attribute the underlying library sets on its highlighted row. */\n activeAttr?: 'data-highlighted' | 'data-selected';\n};\n\nexport type FluidMenu<T extends HTMLElement = HTMLElement> = {\n hover: UseFluidHoverReturn;\n context: FluidMenuContextValue;\n /** `relative isolate`: positions the highlight and stacks it under the rows. */\n containerClassName: string;\n /** Ref + pointer handlers for the element that holds the rows, merged with the consumer's own. */\n getContainerProps: (\n own: MouseHandlers,\n forwardedRef?: React.ForwardedRef<T>,\n ) => MouseHandlers & { ref: React.Ref<T> };\n};\n\nexport function useFluidMenu<T extends HTMLElement = HTMLDivElement>({\n activeAttr = 'data-highlighted',\n}: UseFluidMenuOptions = {}): FluidMenu<T> {\n const containerRef = React.useRef<T>(null);\n const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled });\n const counterRef = React.useRef(0);\n\n // Only the stable pieces go into context so item callback refs do not churn\n // (and re-register) on every hover-state render.\n const { registerItem, setActiveIndex, handlers } = hover;\n const context = React.useMemo<FluidMenuContextValue>(\n () => ({ registerItem, setActiveIndex, activeAttr, allocateIndex: () => counterRef.current++ }),\n [registerItem, setActiveIndex, activeAttr],\n );\n\n const getContainerProps = React.useCallback<FluidMenu<T>['getContainerProps']>(\n (own, forwardedRef) => ({\n ref: element => {\n containerRef.current = element;\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n },\n onMouseMove: e => {\n own.onMouseMove?.(e);\n handlers.onMouseMove(e);\n },\n onMouseEnter: e => {\n own.onMouseEnter?.(e);\n handlers.onMouseEnter();\n },\n onMouseLeave: e => {\n own.onMouseLeave?.(e);\n handlers.onMouseLeave();\n },\n onClick: e => {\n own.onClick?.(e);\n handlers.onClick(e);\n },\n }),\n [handlers],\n );\n\n return { hover, context, containerClassName: 'relative isolate', getContainerProps };\n}\n\n/**\n * Provides the item registry to the rows and renders the travelling surface.\n * Popups are `bg-popover`; the highlight is the control hover surface on top of it.\n * `-z-1` keeps it under the row content while the container's `isolate`\n * keeps it above the popup background.\n */\nexport function FluidMenuItems({\n menu,\n className,\n children,\n}: {\n menu: Pick<FluidMenu, 'hover' | 'context'>;\n className?: string;\n children?: React.ReactNode;\n}) {\n return (\n <FluidMenuContext.Provider value={menu.context}>\n <FluidHoverHighlight hover={menu.hover} className={cn('-z-1 rounded-lg bg-foreground/10', className)} />\n {children}\n </FluidMenuContext.Provider>\n );\n}\n\n/**\n * Callback ref for an item row. Registers the row with the popup's hover\n * state and mirrors the library's highlighted attribute onto it. A no-op\n * outside a provider, so rows still render standalone.\n */\nexport function useFluidMenuItemRef<T extends HTMLElement>(forwardedRef: React.ForwardedRef<T>) {\n const ctx = React.useContext(FluidMenuContext);\n const indexRef = React.useRef<number | null>(null);\n const observerRef = React.useRef<MutationObserver | null>(null);\n\n return React.useCallback(\n (element: T | null) => {\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n\n if (!ctx) return;\n const { registerItem, setActiveIndex, activeAttr, allocateIndex } = ctx;\n if (indexRef.current === null) indexRef.current = allocateIndex();\n const index = indexRef.current;\n\n observerRef.current?.disconnect();\n observerRef.current = null;\n registerItem(index, element);\n if (!element) return;\n\n const sync = () => {\n if (isAttrActive(element, activeAttr)) setActiveIndex(index);\n };\n sync();\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(sync);\n observer.observe(element, { attributes: true, attributeFilter: [activeAttr] });\n observerRef.current = observer;\n }\n },\n [ctx, forwardedRef],\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fluid-menu.es.js","sources":["../../src/ds/primitives/fluid-menu.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components -- provider and its hooks intentionally share this module */\nimport * as React from 'react';\n\nimport { FluidHoverHighlight } from '@/components/fluid-hover-highlight';\nimport { useFluidHover } from '@/hooks/use-fluid-hover';\nimport type { UseFluidHoverOptions, UseFluidHoverReturn } from '@/hooks/use-fluid-hover';\nimport { cn } from '@/lib/utils';\n\n/**\n * Shared Fluid Hover wiring for every popup that lists items (DropdownMenu,\n * ContextMenu, Select, Combobox, Command). One highlight surface travels\n * between rows instead of each row painting its own hover background.\n *\n * Usage inside a popup component:\n *\n * const menu = useFluidMenu();\n * <Popup {...menu.getContainerProps(props, ref)} className={cn(menuPopupClass, menu.containerClassName, className)}>\n * <FluidMenuItems menu={menu}>{children}</FluidMenuItems>\n * </Popup>\n *\n * and on each row: `ref={useFluidMenuItemRef(forwardedRef)}`.\n *\n * The keyboard path stays honest: the library sets `activeAttr` on the row it\n * considers highlighted (Base UI: `data-highlighted`, cmdk: `data-selected`),\n * and the item hook mirrors that onto the fluid highlight, so arrow keys move\n * the same surface the mouse does.\n */\ntype FluidMenuContextValue = {\n registerItem: UseFluidHoverReturn['registerItem'];\n setActiveIndex: UseFluidHoverReturn['setActiveIndex'];\n activeAttr: string;\n allocateIndex: () => number;\n releaseIndex: (index: number) => void;\n};\n\nconst FluidMenuContext = React.createContext<FluidMenuContextValue | null>(null);\n\n// Base UI sets a bare `data-disabled`; cmdk sets `data-disabled=\"true\" | \"false\"`;\n// native controls (DataList rows) use the `disabled` property.\nfunction isMenuItemDisabled(element: HTMLElement) {\n return (\n isAttrActive(element, 'data-disabled') ||\n element.getAttribute('aria-disabled') === 'true' ||\n (element as HTMLButtonElement).disabled === true\n );\n}\n\nfunction isAttrActive(element: HTMLElement, attr: string) {\n const value = element.getAttribute(attr);\n return value !== null && value !== 'false';\n}\n\ntype MouseHandlers = Pick<\n React.HTMLAttributes<HTMLElement>,\n 'onMouseMove' | 'onMouseEnter' | 'onMouseLeave' | 'onClick'\n>;\n\nexport type UseFluidMenuOptions = {\n /** Attribute the underlying library sets on its highlighted row. */\n activeAttr?: 'data-highlighted' | 'data-selected';\n /** Forwarded to `useFluidHover`; lists with inert rows (subheaders, pagination) pass `false`. */\n gapClick?: UseFluidHoverOptions['gapClick'];\n};\n\nexport type FluidMenu<T extends HTMLElement = HTMLElement> = {\n hover: UseFluidHoverReturn;\n context: FluidMenuContextValue;\n /** `relative isolate`: positions the highlight and stacks it under the rows. */\n containerClassName: string;\n /** Ref + pointer handlers for the element that holds the rows, merged with the consumer's own. */\n getContainerProps: (\n own: MouseHandlers,\n forwardedRef?: React.ForwardedRef<T>,\n ) => MouseHandlers & { ref: React.Ref<T> };\n};\n\nexport function useFluidMenu<T extends HTMLElement = HTMLDivElement>({\n activeAttr = 'data-highlighted',\n gapClick,\n}: UseFluidMenuOptions = {}): FluidMenu<T> {\n const containerRef = React.useRef<T>(null);\n const hover = useFluidHover(containerRef, { isItemDisabled: isMenuItemDisabled, gapClick });\n const counterRef = React.useRef(0);\n // Indices released by unmounted rows, reused first so virtualized lists that\n // mount/unmount rows while scrolling keep the index space bounded.\n const freeRef = React.useRef<number[]>([]);\n\n // Only the stable pieces go into context so item callback refs do not churn\n // (and re-register) on every hover-state render.\n const { registerItem, setActiveIndex, handlers } = hover;\n const context = React.useMemo<FluidMenuContextValue>(\n () => ({\n registerItem,\n setActiveIndex,\n activeAttr,\n allocateIndex: () => freeRef.current.pop() ?? counterRef.current++,\n releaseIndex: index => {\n freeRef.current.push(index);\n },\n }),\n [registerItem, setActiveIndex, activeAttr],\n );\n\n const getContainerProps = React.useCallback<FluidMenu<T>['getContainerProps']>(\n (own, forwardedRef) => ({\n ref: element => {\n containerRef.current = element;\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n },\n onMouseMove: e => {\n own.onMouseMove?.(e);\n handlers.onMouseMove(e);\n },\n onMouseEnter: e => {\n own.onMouseEnter?.(e);\n handlers.onMouseEnter();\n },\n onMouseLeave: e => {\n own.onMouseLeave?.(e);\n handlers.onMouseLeave();\n },\n onClick: e => {\n own.onClick?.(e);\n handlers.onClick(e);\n },\n }),\n [handlers],\n );\n\n return { hover, context, containerClassName: 'relative isolate', getContainerProps };\n}\n\n/**\n * Provides the item registry to the rows and renders the travelling surface.\n * Popups are `bg-popover`; the highlight is the control hover surface on top of it.\n * `-z-1` keeps it under the row content while the container's `isolate`\n * keeps it above the popup background.\n */\nexport function FluidMenuItems({\n menu,\n className,\n children,\n}: {\n menu: Pick<FluidMenu, 'hover' | 'context'>;\n className?: string;\n children?: React.ReactNode;\n}) {\n return (\n <FluidMenuContext.Provider value={menu.context}>\n <FluidHoverHighlight hover={menu.hover} className={cn('-z-1 rounded-lg bg-fill', className)} />\n {children}\n </FluidMenuContext.Provider>\n );\n}\n\n/**\n * Callback ref for an item row. Registers the row with the popup's hover\n * state and mirrors the library's highlighted attribute onto it. A no-op\n * outside a provider, so rows still render standalone.\n */\nexport function useFluidMenuItemRef<T extends HTMLElement>(forwardedRef: React.ForwardedRef<T>) {\n const ctx = React.useContext(FluidMenuContext);\n const indexRef = React.useRef<number | null>(null);\n const observerRef = React.useRef<MutationObserver | null>(null);\n\n return React.useCallback(\n (element: T | null) => {\n if (typeof forwardedRef === 'function') forwardedRef(element);\n else if (forwardedRef) forwardedRef.current = element;\n\n if (!ctx) return;\n const { registerItem, setActiveIndex, activeAttr, allocateIndex, releaseIndex } = ctx;\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (!element) {\n if (indexRef.current !== null) {\n registerItem(indexRef.current, null);\n releaseIndex(indexRef.current);\n indexRef.current = null;\n }\n return;\n }\n\n if (indexRef.current === null) indexRef.current = allocateIndex();\n const index = indexRef.current;\n registerItem(index, element);\n\n const sync = () => {\n if (isAttrActive(element, activeAttr)) setActiveIndex(index);\n };\n sync();\n if (typeof MutationObserver !== 'undefined') {\n const observer = new MutationObserver(sync);\n observer.observe(element, { attributes: true, attributeFilter: [activeAttr] });\n observerRef.current = observer;\n }\n },\n [ctx, forwardedRef],\n );\n}\n"],"names":[],"mappings":"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"}
@@ -3,16 +3,18 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const sharedFormElementDisabledStyle = "disabled:cursor-not-allowed disabled:text-muted-foreground";
6
- const disabledFilledSurfaceStyle = "disabled:border-border disabled:bg-muted";
6
+ const disabledFilledSurfaceStyle = "disabled:border-border disabled:bg-fill-subtle";
7
7
  const disabledOutlineSurfaceStyle = "disabled:border-border disabled:bg-transparent";
8
- const inputFocusBorderVisible = "focus-visible:border-foreground/60";
9
- const inputFocusBorderWithin = "focus-within:border-foreground/60";
8
+ const inputFocusBorderVisible = "focus-visible:border-border-focus";
9
+ const inputFocusBorderWithin = "focus-within:border-border-focus";
10
10
  const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;
11
- const inputHoverBorderVisible = "[&:hover:not(:focus-visible):not(:disabled)]:border-foreground/45";
12
- const inputHoverBorderWithin = "[&:hover:not(:focus-within):not(:has(:disabled))]:border-foreground/45";
13
- const inputSurfaceAndFocusStyle = "bg-foreground/10 border border-border text-foreground not-disabled:hover:bg-foreground/14 outline-hidden focus-visible:outline-hidden focus-visible:bg-foreground/14 " + inputFocusBorderVisible;
14
- const inputOutlineAndFocusStyle = "bg-transparent border border-foreground/30 text-foreground " + inputHoverBorderVisible + " outline-hidden focus-visible:outline-hidden " + inputFocusBorderVisible;
15
- const fieldTriggerSurfaceStyle = "bg-foreground/10 border-border text-foreground not-disabled:hover:bg-foreground/14 not-disabled:active:bg-foreground/14 focus-visible:bg-foreground/14 " + inputFocusBorderVisible;
11
+ const surfaceTintHover = "[&:hover:not(:focus-visible):not(:disabled):not([data-popup-open])]:[--surface-tint:var(--fill-subtle)]";
12
+ const surfaceRimFocus = "focus-visible:[--surface-rim:var(--surface-rim-focus)]";
13
+ const surfaceTintHoverWithin = "[&:hover:not(:focus-within):not(:has(:disabled))]:[--surface-tint:var(--fill-subtle)]";
14
+ const surfaceRimFocusWithin = "focus-within:[--surface-rim:var(--surface-rim-focus)]";
15
+ const inputSurfaceAndFocusStyle = "bg-card shadow-raised text-foreground disabled:bg-fill-subtle " + surfaceTintHover + " outline-hidden focus-visible:outline-hidden " + surfaceRimFocus;
16
+ const inputSurfaceAndFocusWithinStyle = "bg-card shadow-raised text-foreground has-[:disabled]:bg-fill-subtle " + surfaceTintHoverWithin + " outline-hidden focus-within:outline-hidden " + surfaceRimFocusWithin;
17
+ const fieldTriggerSurfaceStyle = "bg-card not-disabled:hover:bg-card not-disabled:active:bg-card border-0 shadow-raised text-foreground " + surfaceTintHover + " " + surfaceRimFocus;
16
18
  function resolveFieldVariant(variant) {
17
19
  return variant === "filled" ? "default" : variant;
18
20
  }
@@ -24,10 +26,8 @@ exports.disabledOutlineSurfaceStyle = disabledOutlineSurfaceStyle;
24
26
  exports.fieldTriggerSurfaceStyle = fieldTriggerSurfaceStyle;
25
27
  exports.inputFocusBorderVisible = inputFocusBorderVisible;
26
28
  exports.inputFocusBorderWithin = inputFocusBorderWithin;
27
- exports.inputHoverBorderVisible = inputHoverBorderVisible;
28
- exports.inputHoverBorderWithin = inputHoverBorderWithin;
29
- exports.inputOutlineAndFocusStyle = inputOutlineAndFocusStyle;
30
29
  exports.inputSurfaceAndFocusStyle = inputSurfaceAndFocusStyle;
30
+ exports.inputSurfaceAndFocusWithinStyle = inputSurfaceAndFocusWithinStyle;
31
31
  exports.resolveFieldVariant = resolveFieldVariant;
32
32
  exports.sharedFormElementDisabledStyle = sharedFormElementDisabledStyle;
33
33
  exports.unstyledFormElementStyle = unstyledFormElementStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"form-element.cjs.js","sources":["../../src/ds/primitives/form-element.ts"],"sourcesContent":["// Disabled controls resolve to dedicated muted roles rather than a blanket opacity:\n// an opacity wash inherits whatever sits behind the control, so the same disabled\n// field clears contrast on one surface and fails on another. The `not-disabled:`\n// guards on each variant keep hover and active fills from painting over these.\nexport const sharedFormElementDisabledStyle = 'disabled:cursor-not-allowed disabled:text-muted-foreground';\n\n// Surface half of the disabled language, for neutral controls that carry a fill.\n// Variants with their own hue (primary, destructive) keep that hue at reduced\n// emphasis instead, so a disabled destructive action still reads as destructive.\n// Transparent variants (ghost) opt out entirely: a disabled icon button in a\n// toolbar should stay invisible rather than resolve into a muted pill.\nexport const disabledFilledSurfaceStyle = 'disabled:border-border disabled:bg-muted';\nexport const disabledOutlineSurfaceStyle = 'disabled:border-border disabled:bg-transparent';\n\n// Focus indicator for the (green-less) input family. Instead of a heavy ring we\n// reinforce the existing 1px border: on focus it brightens to a translucent\n// `foreground` (theme-aware — light on dark surfaces, dark on light) that clears\n// WCAG 1.4.11 non-text contrast (3:1) on any surface, where the resting `border`\n// token alone does not. `focus-visible` for the bare control, `focus-within` for\n// wrapper variants (InputGroup) whose focus lives on a nested input.\nexport const inputFocusBorderVisible = 'focus-visible:border-foreground/60';\nexport const inputFocusBorderWithin = 'focus-within:border-foreground/60';\n\n// Canonical focus indicator for a bare interactive control (Button, etc.) in the\n// non-accent input/border language: suppress the browser outline and let the 1px\n// border brighten to the same translucent neutral the input family uses. This is\n// what unifies button focus with input focus (no green accent ring). Wrappers\n// whose focus lives on a nested control use `inputFocusBorderWithin` instead.\nexport const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;\n\n// Hover borders are guarded so they can never clobber the focus border. Tailwind\n// can emit focus variants before hover variants, so an unguarded `hover:border-*`\n// of equal specificity may win on a field that is focused AND hovered.\nexport const inputHoverBorderVisible = '[&:hover:not(:focus-visible):not(:disabled)]:border-foreground/45';\n// The wrapper itself is never `:disabled` — the control it wraps is — so the guard\n// has to ask about descendants. Without it, hovering a group that contains a\n// disabled input repaints the enabled border over the muted disabled one.\nexport const inputHoverBorderWithin = '[&:hover:not(:focus-within):not(:has(:disabled))]:border-foreground/45';\n\n// Background-agnostic surface + focus recipe shared by Input, Textarea and the\n// filled field triggers (Select/Combobox `default`). Reads on any underlying\n// surface, with no accent on focus — caller appends a radius (`rounded-full` for\n// single-line inputs, `rounded-xl` for textareas).\n// Filled fields carry their affordance in the fill, exactly like a default Button:\n// the resting `border` stays put on hover and only the surface steps up.\nexport const inputSurfaceAndFocusStyle =\n 'bg-foreground/10 border border-border text-foreground ' +\n 'not-disabled:hover:bg-foreground/14 ' +\n 'outline-hidden focus-visible:outline-hidden focus-visible:bg-foreground/14 ' +\n inputFocusBorderVisible;\n\n// Outline fields share Button's outline ladder exactly: a visible resting border\n// (`foreground/30`), brightening on hover, then the shared focus border.\nexport const inputOutlineAndFocusStyle =\n 'bg-transparent border border-foreground/30 text-foreground ' +\n inputHoverBorderVisible +\n ' ' +\n 'outline-hidden focus-visible:outline-hidden ' +\n inputFocusBorderVisible;\n\n// Filled field trigger (Select/Combobox `default`): the same surface as Input.\n// Applied *after* `buttonVariants` so tailwind-merge replaces the Button's fill\n// and border with the field overlay — a field is not a button. Like every filled\n// control it carries hover in the fill and leaves the resting border alone.\nexport const fieldTriggerSurfaceStyle =\n 'bg-foreground/10 border-border text-foreground ' +\n 'not-disabled:hover:bg-foreground/14 not-disabled:active:bg-foreground/14 ' +\n 'focus-visible:bg-foreground/14 ' +\n inputFocusBorderVisible;\n\n// `filled` was an alias for `default` (both render the filled surface) and has been\n// removed from the variant set. An unknown value makes cva emit nothing for the\n// variant group, so a field would lose its surface entirely rather than fall back;\n// resolve it here instead. Drop this once no published consumer passes `filled`.\nexport type DeprecatedFilledVariant = 'filled';\n\nexport function resolveFieldVariant<TVariant extends string>(\n variant: TVariant | DeprecatedFilledVariant | null | undefined,\n): TVariant | 'default' | null | undefined {\n return variant === 'filled' ? 'default' : (variant as TVariant | null | undefined);\n}\n\n// Unstyled variant baseline — strips all chrome but still suppresses the\n// browser default focus ring so the field sits cleanly inside a styled parent.\nexport const unstyledFormElementStyle = 'border-0 bg-transparent outline-hidden focus-visible:outline-hidden';\n"],"names":[],"mappings":";;;;AAIO,MAAM,8BAAA,GAAiC;AAOvC,MAAM,0BAAA,GAA6B;AACnC,MAAM,2BAAA,GAA8B;AAQpC,MAAM,uBAAA,GAA0B;AAChC,MAAM,sBAAA,GAAyB;AAO/B,MAAM,yBAAA,GAA4B,+CAA+C,uBAAuB,CAAA;AAKxG,MAAM,uBAAA,GAA0B;AAIhC,MAAM,sBAAA,GAAyB;AAQ/B,MAAM,4BACX,uKAAA,GAGA;AAIK,MAAM,yBAAA,GACX,6DAAA,GACA,uBAAA,GACA,+CAAA,GAEA;AAMK,MAAM,2BACX,yJAAA,GAGA;AAQK,SAAS,oBACd,OAAA,EACyC;AACzC,EAAA,OAAO,OAAA,KAAY,WAAW,SAAA,GAAa,OAAA;AAC7C;AAIO,MAAM,wBAAA,GAA2B;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"form-element.cjs.js","sources":["../../src/ds/primitives/form-element.ts"],"sourcesContent":["// Disabled controls resolve to dedicated muted roles rather than a blanket opacity:\n// an opacity wash inherits whatever sits behind the control, so the same disabled\n// field clears contrast on one surface and fails on another. The `not-disabled:`\n// guards on each variant keep hover and active fills from painting over these.\nexport const sharedFormElementDisabledStyle = 'disabled:cursor-not-allowed disabled:text-muted-foreground';\n\n// Surface half of the disabled language, for neutral controls that carry a fill.\n// It recesses to the lowest rung of the fill ladder, one step below the resting\n// `--fill`, so a disabled field reads quieter than an enabled one on every\n// surface. Variants with their own hue (primary, destructive) keep that hue at\n// reduced emphasis instead, so a disabled destructive action still reads as\n// destructive. Transparent variants (ghost) opt out entirely: a disabled icon\n// button in a toolbar should stay invisible rather than resolve into a pill.\nexport const disabledFilledSurfaceStyle = 'disabled:border-border disabled:bg-fill-subtle';\nexport const disabledOutlineSurfaceStyle = 'disabled:border-border disabled:bg-transparent';\n\n// Focus indicator for the (green-less) input family. Instead of a heavy ring we\n// reinforce the existing 1px border: on focus it brightens to a translucent\n// `foreground` (theme-aware — light on dark surfaces, dark on light) that clears\n// WCAG 1.4.11 non-text contrast (3:1) on any surface, where the resting `border`\n// token alone does not. `focus-visible` for the bare control, `focus-within` for\n// wrapper variants (InputGroup) whose focus lives on a nested input.\nexport const inputFocusBorderVisible = 'focus-visible:border-border-focus';\nexport const inputFocusBorderWithin = 'focus-within:border-border-focus';\n\n// Canonical focus indicator for a bare interactive control (Button, etc.) in the\n// non-accent input/border language: suppress the browser outline and let the 1px\n// border brighten to the same translucent neutral the input family uses. This is\n// what unifies button focus with input focus (no green accent ring). Wrappers\n// whose focus lives on a nested control use `inputFocusBorderWithin` instead.\nexport const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;\n\n// A field is the same material as a card: `bg-card` plus `shadow-raised`, which\n// carries the 1px rim, so a field draws no border of its own. That is what makes a\n// filter input and the panel beside it read as one system — in light the field is\n// white on the off-white canvas, in dark it is the same step above it.\n//\n// Hover washes the fill, focus repaints the rim. Both go through `shadow-raised`:\n// an `<input>` cannot carry a pseudo-element, so `--surface-tint` reaches into an\n// inset layer of that utility and gives a field the same state layer a `Card` gets\n// from `state-layer` — the rung a filter chip's segments already wear, which is the\n// weight a resting field should move by. Brightening the rim on hover instead made\n// every field in a form announce the pointer: the boundary is the loudest part of a\n// surface that has no border of its own, so it is reserved for focus, where being\n// unmissable is the point. Disabled is the exception that drops the card fill for\n// the lowest translucent rung, which is how a disabled field reads as recessed.\n//\n// Focus sits at `--surface-rim-focus` rather than the `--border-focus` weight a bare\n// outline needs, because the edge here bounds a surface that already reads as raised.\n// Wrappers whose focus lives on a nested control (InputGroup, a chip) take the\n// `within` flavour.\n//\n// Caller appends a radius (`rounded-full` for single-line inputs, `rounded-xl` for\n// textareas).\n// `:not([data-popup-open])` because a trigger's open rung is a plain attribute\n// selector and would otherwise lose to this compound one while the pointer is\n// still on the trigger that opened the popup.\nconst surfaceTintHover =\n '[&:hover:not(:focus-visible):not(:disabled):not([data-popup-open])]:[--surface-tint:var(--fill-subtle)]';\nconst surfaceRimFocus = 'focus-visible:[--surface-rim:var(--surface-rim-focus)]';\n\n// The wrapper itself is never `:disabled` — the control it wraps is — so both\n// guards have to ask about descendants.\nconst surfaceTintHoverWithin = '[&:hover:not(:focus-within):not(:has(:disabled))]:[--surface-tint:var(--fill-subtle)]';\nconst surfaceRimFocusWithin = 'focus-within:[--surface-rim:var(--surface-rim-focus)]';\n\nexport const inputSurfaceAndFocusStyle =\n 'bg-card shadow-raised text-foreground disabled:bg-fill-subtle ' +\n surfaceTintHover +\n ' outline-hidden focus-visible:outline-hidden ' +\n surfaceRimFocus;\n\nexport const inputSurfaceAndFocusWithinStyle =\n 'bg-card shadow-raised text-foreground has-[:disabled]:bg-fill-subtle ' +\n surfaceTintHoverWithin +\n ' outline-hidden focus-within:outline-hidden ' +\n surfaceRimFocusWithin;\n\n// Filled field trigger (Select/Combobox `default`): the same surface as Input.\n// Applied *after* `buttonVariants` so tailwind-merge replaces the Button's fill\n// and border with the field material — a field is not a button. The pins have to\n// repeat the Button's own `not-disabled:` prefix: tailwind-merge keys a class by\n// its variants, so a bare `hover:bg-card` sits in a different group from\n// `not-disabled:hover:bg-fill-hover`, both survive, and the Button's two-variant\n// selector then wins on specificity — which is how a field trigger ended up\n// swapping its whole fill on hover while every other field only washed.\nexport const fieldTriggerSurfaceStyle =\n 'bg-card not-disabled:hover:bg-card not-disabled:active:bg-card border-0 shadow-raised text-foreground ' +\n surfaceTintHover +\n ' ' +\n surfaceRimFocus;\n\n// `filled` was an alias for `default` (both render the filled surface) and has been\n// removed from the variant set. An unknown value makes cva emit nothing for the\n// variant group, so a field would lose its surface entirely rather than fall back;\n// resolve it here instead. Drop this once no published consumer passes `filled`.\nexport type DeprecatedFilledVariant = 'filled';\n\nexport function resolveFieldVariant<TVariant extends string>(\n variant: TVariant | DeprecatedFilledVariant | null | undefined,\n): TVariant | 'default' | null | undefined {\n return variant === 'filled' ? 'default' : (variant as TVariant | null | undefined);\n}\n\n// Unstyled variant baseline — strips all chrome but still suppresses the\n// browser default focus ring so the field sits cleanly inside a styled parent.\nexport const unstyledFormElementStyle = 'border-0 bg-transparent outline-hidden focus-visible:outline-hidden';\n"],"names":[],"mappings":";;;;AAIO,MAAM,8BAAA,GAAiC;AASvC,MAAM,0BAAA,GAA6B;AACnC,MAAM,2BAAA,GAA8B;AAQpC,MAAM,uBAAA,GAA0B;AAChC,MAAM,sBAAA,GAAyB;AAO/B,MAAM,yBAAA,GAA4B,+CAA+C,uBAAuB,CAAA;AA2B/G,MAAM,gBAAA,GACJ,yGAAA;AACF,MAAM,eAAA,GAAkB,wDAAA;AAIxB,MAAM,sBAAA,GAAyB,uFAAA;AAC/B,MAAM,qBAAA,GAAwB,uDAAA;AAEvB,MAAM,yBAAA,GACX,gEAAA,GACA,gBAAA,GACA,+CAAA,GACA;AAEK,MAAM,+BAAA,GACX,uEAAA,GACA,sBAAA,GACA,8CAAA,GACA;AAUK,MAAM,wBAAA,GACX,wGAAA,GACA,gBAAA,GACA,GAAA,GACA;AAQK,SAAS,oBACd,OAAA,EACyC;AACzC,EAAA,OAAO,OAAA,KAAY,WAAW,SAAA,GAAa,OAAA;AAC7C;AAIO,MAAM,wBAAA,GAA2B;;;;;;;;;;;;;;"}
@@ -1,18 +1,20 @@
1
1
  const sharedFormElementDisabledStyle = "disabled:cursor-not-allowed disabled:text-muted-foreground";
2
- const disabledFilledSurfaceStyle = "disabled:border-border disabled:bg-muted";
2
+ const disabledFilledSurfaceStyle = "disabled:border-border disabled:bg-fill-subtle";
3
3
  const disabledOutlineSurfaceStyle = "disabled:border-border disabled:bg-transparent";
4
- const inputFocusBorderVisible = "focus-visible:border-foreground/60";
5
- const inputFocusBorderWithin = "focus-within:border-foreground/60";
4
+ const inputFocusBorderVisible = "focus-visible:border-border-focus";
5
+ const inputFocusBorderWithin = "focus-within:border-border-focus";
6
6
  const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;
7
- const inputHoverBorderVisible = "[&:hover:not(:focus-visible):not(:disabled)]:border-foreground/45";
8
- const inputHoverBorderWithin = "[&:hover:not(:focus-within):not(:has(:disabled))]:border-foreground/45";
9
- const inputSurfaceAndFocusStyle = "bg-foreground/10 border border-border text-foreground not-disabled:hover:bg-foreground/14 outline-hidden focus-visible:outline-hidden focus-visible:bg-foreground/14 " + inputFocusBorderVisible;
10
- const inputOutlineAndFocusStyle = "bg-transparent border border-foreground/30 text-foreground " + inputHoverBorderVisible + " outline-hidden focus-visible:outline-hidden " + inputFocusBorderVisible;
11
- const fieldTriggerSurfaceStyle = "bg-foreground/10 border-border text-foreground not-disabled:hover:bg-foreground/14 not-disabled:active:bg-foreground/14 focus-visible:bg-foreground/14 " + inputFocusBorderVisible;
7
+ const surfaceTintHover = "[&:hover:not(:focus-visible):not(:disabled):not([data-popup-open])]:[--surface-tint:var(--fill-subtle)]";
8
+ const surfaceRimFocus = "focus-visible:[--surface-rim:var(--surface-rim-focus)]";
9
+ const surfaceTintHoverWithin = "[&:hover:not(:focus-within):not(:has(:disabled))]:[--surface-tint:var(--fill-subtle)]";
10
+ const surfaceRimFocusWithin = "focus-within:[--surface-rim:var(--surface-rim-focus)]";
11
+ const inputSurfaceAndFocusStyle = "bg-card shadow-raised text-foreground disabled:bg-fill-subtle " + surfaceTintHover + " outline-hidden focus-visible:outline-hidden " + surfaceRimFocus;
12
+ const inputSurfaceAndFocusWithinStyle = "bg-card shadow-raised text-foreground has-[:disabled]:bg-fill-subtle " + surfaceTintHoverWithin + " outline-hidden focus-within:outline-hidden " + surfaceRimFocusWithin;
13
+ const fieldTriggerSurfaceStyle = "bg-card not-disabled:hover:bg-card not-disabled:active:bg-card border-0 shadow-raised text-foreground " + surfaceTintHover + " " + surfaceRimFocus;
12
14
  function resolveFieldVariant(variant) {
13
15
  return variant === "filled" ? "default" : variant;
14
16
  }
15
17
  const unstyledFormElementStyle = "border-0 bg-transparent outline-hidden focus-visible:outline-hidden";
16
18
 
17
- export { controlFocusBorderVisible, disabledFilledSurfaceStyle, disabledOutlineSurfaceStyle, fieldTriggerSurfaceStyle, inputFocusBorderVisible, inputFocusBorderWithin, inputHoverBorderVisible, inputHoverBorderWithin, inputOutlineAndFocusStyle, inputSurfaceAndFocusStyle, resolveFieldVariant, sharedFormElementDisabledStyle, unstyledFormElementStyle };
19
+ export { controlFocusBorderVisible, disabledFilledSurfaceStyle, disabledOutlineSurfaceStyle, fieldTriggerSurfaceStyle, inputFocusBorderVisible, inputFocusBorderWithin, inputSurfaceAndFocusStyle, inputSurfaceAndFocusWithinStyle, resolveFieldVariant, sharedFormElementDisabledStyle, unstyledFormElementStyle };
18
20
  //# sourceMappingURL=form-element.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-element.es.js","sources":["../../src/ds/primitives/form-element.ts"],"sourcesContent":["// Disabled controls resolve to dedicated muted roles rather than a blanket opacity:\n// an opacity wash inherits whatever sits behind the control, so the same disabled\n// field clears contrast on one surface and fails on another. The `not-disabled:`\n// guards on each variant keep hover and active fills from painting over these.\nexport const sharedFormElementDisabledStyle = 'disabled:cursor-not-allowed disabled:text-muted-foreground';\n\n// Surface half of the disabled language, for neutral controls that carry a fill.\n// Variants with their own hue (primary, destructive) keep that hue at reduced\n// emphasis instead, so a disabled destructive action still reads as destructive.\n// Transparent variants (ghost) opt out entirely: a disabled icon button in a\n// toolbar should stay invisible rather than resolve into a muted pill.\nexport const disabledFilledSurfaceStyle = 'disabled:border-border disabled:bg-muted';\nexport const disabledOutlineSurfaceStyle = 'disabled:border-border disabled:bg-transparent';\n\n// Focus indicator for the (green-less) input family. Instead of a heavy ring we\n// reinforce the existing 1px border: on focus it brightens to a translucent\n// `foreground` (theme-aware — light on dark surfaces, dark on light) that clears\n// WCAG 1.4.11 non-text contrast (3:1) on any surface, where the resting `border`\n// token alone does not. `focus-visible` for the bare control, `focus-within` for\n// wrapper variants (InputGroup) whose focus lives on a nested input.\nexport const inputFocusBorderVisible = 'focus-visible:border-foreground/60';\nexport const inputFocusBorderWithin = 'focus-within:border-foreground/60';\n\n// Canonical focus indicator for a bare interactive control (Button, etc.) in the\n// non-accent input/border language: suppress the browser outline and let the 1px\n// border brighten to the same translucent neutral the input family uses. This is\n// what unifies button focus with input focus (no green accent ring). Wrappers\n// whose focus lives on a nested control use `inputFocusBorderWithin` instead.\nexport const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;\n\n// Hover borders are guarded so they can never clobber the focus border. Tailwind\n// can emit focus variants before hover variants, so an unguarded `hover:border-*`\n// of equal specificity may win on a field that is focused AND hovered.\nexport const inputHoverBorderVisible = '[&:hover:not(:focus-visible):not(:disabled)]:border-foreground/45';\n// The wrapper itself is never `:disabled` — the control it wraps is — so the guard\n// has to ask about descendants. Without it, hovering a group that contains a\n// disabled input repaints the enabled border over the muted disabled one.\nexport const inputHoverBorderWithin = '[&:hover:not(:focus-within):not(:has(:disabled))]:border-foreground/45';\n\n// Background-agnostic surface + focus recipe shared by Input, Textarea and the\n// filled field triggers (Select/Combobox `default`). Reads on any underlying\n// surface, with no accent on focus — caller appends a radius (`rounded-full` for\n// single-line inputs, `rounded-xl` for textareas).\n// Filled fields carry their affordance in the fill, exactly like a default Button:\n// the resting `border` stays put on hover and only the surface steps up.\nexport const inputSurfaceAndFocusStyle =\n 'bg-foreground/10 border border-border text-foreground ' +\n 'not-disabled:hover:bg-foreground/14 ' +\n 'outline-hidden focus-visible:outline-hidden focus-visible:bg-foreground/14 ' +\n inputFocusBorderVisible;\n\n// Outline fields share Button's outline ladder exactly: a visible resting border\n// (`foreground/30`), brightening on hover, then the shared focus border.\nexport const inputOutlineAndFocusStyle =\n 'bg-transparent border border-foreground/30 text-foreground ' +\n inputHoverBorderVisible +\n ' ' +\n 'outline-hidden focus-visible:outline-hidden ' +\n inputFocusBorderVisible;\n\n// Filled field trigger (Select/Combobox `default`): the same surface as Input.\n// Applied *after* `buttonVariants` so tailwind-merge replaces the Button's fill\n// and border with the field overlay — a field is not a button. Like every filled\n// control it carries hover in the fill and leaves the resting border alone.\nexport const fieldTriggerSurfaceStyle =\n 'bg-foreground/10 border-border text-foreground ' +\n 'not-disabled:hover:bg-foreground/14 not-disabled:active:bg-foreground/14 ' +\n 'focus-visible:bg-foreground/14 ' +\n inputFocusBorderVisible;\n\n// `filled` was an alias for `default` (both render the filled surface) and has been\n// removed from the variant set. An unknown value makes cva emit nothing for the\n// variant group, so a field would lose its surface entirely rather than fall back;\n// resolve it here instead. Drop this once no published consumer passes `filled`.\nexport type DeprecatedFilledVariant = 'filled';\n\nexport function resolveFieldVariant<TVariant extends string>(\n variant: TVariant | DeprecatedFilledVariant | null | undefined,\n): TVariant | 'default' | null | undefined {\n return variant === 'filled' ? 'default' : (variant as TVariant | null | undefined);\n}\n\n// Unstyled variant baseline — strips all chrome but still suppresses the\n// browser default focus ring so the field sits cleanly inside a styled parent.\nexport const unstyledFormElementStyle = 'border-0 bg-transparent outline-hidden focus-visible:outline-hidden';\n"],"names":[],"mappings":"AAIO,MAAM,8BAAA,GAAiC;AAOvC,MAAM,0BAAA,GAA6B;AACnC,MAAM,2BAAA,GAA8B;AAQpC,MAAM,uBAAA,GAA0B;AAChC,MAAM,sBAAA,GAAyB;AAO/B,MAAM,yBAAA,GAA4B,+CAA+C,uBAAuB,CAAA;AAKxG,MAAM,uBAAA,GAA0B;AAIhC,MAAM,sBAAA,GAAyB;AAQ/B,MAAM,4BACX,uKAAA,GAGA;AAIK,MAAM,yBAAA,GACX,6DAAA,GACA,uBAAA,GACA,+CAAA,GAEA;AAMK,MAAM,2BACX,yJAAA,GAGA;AAQK,SAAS,oBACd,OAAA,EACyC;AACzC,EAAA,OAAO,OAAA,KAAY,WAAW,SAAA,GAAa,OAAA;AAC7C;AAIO,MAAM,wBAAA,GAA2B;;;;"}
1
+ {"version":3,"file":"form-element.es.js","sources":["../../src/ds/primitives/form-element.ts"],"sourcesContent":["// Disabled controls resolve to dedicated muted roles rather than a blanket opacity:\n// an opacity wash inherits whatever sits behind the control, so the same disabled\n// field clears contrast on one surface and fails on another. The `not-disabled:`\n// guards on each variant keep hover and active fills from painting over these.\nexport const sharedFormElementDisabledStyle = 'disabled:cursor-not-allowed disabled:text-muted-foreground';\n\n// Surface half of the disabled language, for neutral controls that carry a fill.\n// It recesses to the lowest rung of the fill ladder, one step below the resting\n// `--fill`, so a disabled field reads quieter than an enabled one on every\n// surface. Variants with their own hue (primary, destructive) keep that hue at\n// reduced emphasis instead, so a disabled destructive action still reads as\n// destructive. Transparent variants (ghost) opt out entirely: a disabled icon\n// button in a toolbar should stay invisible rather than resolve into a pill.\nexport const disabledFilledSurfaceStyle = 'disabled:border-border disabled:bg-fill-subtle';\nexport const disabledOutlineSurfaceStyle = 'disabled:border-border disabled:bg-transparent';\n\n// Focus indicator for the (green-less) input family. Instead of a heavy ring we\n// reinforce the existing 1px border: on focus it brightens to a translucent\n// `foreground` (theme-aware — light on dark surfaces, dark on light) that clears\n// WCAG 1.4.11 non-text contrast (3:1) on any surface, where the resting `border`\n// token alone does not. `focus-visible` for the bare control, `focus-within` for\n// wrapper variants (InputGroup) whose focus lives on a nested input.\nexport const inputFocusBorderVisible = 'focus-visible:border-border-focus';\nexport const inputFocusBorderWithin = 'focus-within:border-border-focus';\n\n// Canonical focus indicator for a bare interactive control (Button, etc.) in the\n// non-accent input/border language: suppress the browser outline and let the 1px\n// border brighten to the same translucent neutral the input family uses. This is\n// what unifies button focus with input focus (no green accent ring). Wrappers\n// whose focus lives on a nested control use `inputFocusBorderWithin` instead.\nexport const controlFocusBorderVisible = `outline-hidden focus-visible:outline-hidden ${inputFocusBorderVisible}`;\n\n// A field is the same material as a card: `bg-card` plus `shadow-raised`, which\n// carries the 1px rim, so a field draws no border of its own. That is what makes a\n// filter input and the panel beside it read as one system — in light the field is\n// white on the off-white canvas, in dark it is the same step above it.\n//\n// Hover washes the fill, focus repaints the rim. Both go through `shadow-raised`:\n// an `<input>` cannot carry a pseudo-element, so `--surface-tint` reaches into an\n// inset layer of that utility and gives a field the same state layer a `Card` gets\n// from `state-layer` — the rung a filter chip's segments already wear, which is the\n// weight a resting field should move by. Brightening the rim on hover instead made\n// every field in a form announce the pointer: the boundary is the loudest part of a\n// surface that has no border of its own, so it is reserved for focus, where being\n// unmissable is the point. Disabled is the exception that drops the card fill for\n// the lowest translucent rung, which is how a disabled field reads as recessed.\n//\n// Focus sits at `--surface-rim-focus` rather than the `--border-focus` weight a bare\n// outline needs, because the edge here bounds a surface that already reads as raised.\n// Wrappers whose focus lives on a nested control (InputGroup, a chip) take the\n// `within` flavour.\n//\n// Caller appends a radius (`rounded-full` for single-line inputs, `rounded-xl` for\n// textareas).\n// `:not([data-popup-open])` because a trigger's open rung is a plain attribute\n// selector and would otherwise lose to this compound one while the pointer is\n// still on the trigger that opened the popup.\nconst surfaceTintHover =\n '[&:hover:not(:focus-visible):not(:disabled):not([data-popup-open])]:[--surface-tint:var(--fill-subtle)]';\nconst surfaceRimFocus = 'focus-visible:[--surface-rim:var(--surface-rim-focus)]';\n\n// The wrapper itself is never `:disabled` — the control it wraps is — so both\n// guards have to ask about descendants.\nconst surfaceTintHoverWithin = '[&:hover:not(:focus-within):not(:has(:disabled))]:[--surface-tint:var(--fill-subtle)]';\nconst surfaceRimFocusWithin = 'focus-within:[--surface-rim:var(--surface-rim-focus)]';\n\nexport const inputSurfaceAndFocusStyle =\n 'bg-card shadow-raised text-foreground disabled:bg-fill-subtle ' +\n surfaceTintHover +\n ' outline-hidden focus-visible:outline-hidden ' +\n surfaceRimFocus;\n\nexport const inputSurfaceAndFocusWithinStyle =\n 'bg-card shadow-raised text-foreground has-[:disabled]:bg-fill-subtle ' +\n surfaceTintHoverWithin +\n ' outline-hidden focus-within:outline-hidden ' +\n surfaceRimFocusWithin;\n\n// Filled field trigger (Select/Combobox `default`): the same surface as Input.\n// Applied *after* `buttonVariants` so tailwind-merge replaces the Button's fill\n// and border with the field material — a field is not a button. The pins have to\n// repeat the Button's own `not-disabled:` prefix: tailwind-merge keys a class by\n// its variants, so a bare `hover:bg-card` sits in a different group from\n// `not-disabled:hover:bg-fill-hover`, both survive, and the Button's two-variant\n// selector then wins on specificity — which is how a field trigger ended up\n// swapping its whole fill on hover while every other field only washed.\nexport const fieldTriggerSurfaceStyle =\n 'bg-card not-disabled:hover:bg-card not-disabled:active:bg-card border-0 shadow-raised text-foreground ' +\n surfaceTintHover +\n ' ' +\n surfaceRimFocus;\n\n// `filled` was an alias for `default` (both render the filled surface) and has been\n// removed from the variant set. An unknown value makes cva emit nothing for the\n// variant group, so a field would lose its surface entirely rather than fall back;\n// resolve it here instead. Drop this once no published consumer passes `filled`.\nexport type DeprecatedFilledVariant = 'filled';\n\nexport function resolveFieldVariant<TVariant extends string>(\n variant: TVariant | DeprecatedFilledVariant | null | undefined,\n): TVariant | 'default' | null | undefined {\n return variant === 'filled' ? 'default' : (variant as TVariant | null | undefined);\n}\n\n// Unstyled variant baseline — strips all chrome but still suppresses the\n// browser default focus ring so the field sits cleanly inside a styled parent.\nexport const unstyledFormElementStyle = 'border-0 bg-transparent outline-hidden focus-visible:outline-hidden';\n"],"names":[],"mappings":"AAIO,MAAM,8BAAA,GAAiC;AASvC,MAAM,0BAAA,GAA6B;AACnC,MAAM,2BAAA,GAA8B;AAQpC,MAAM,uBAAA,GAA0B;AAChC,MAAM,sBAAA,GAAyB;AAO/B,MAAM,yBAAA,GAA4B,+CAA+C,uBAAuB,CAAA;AA2B/G,MAAM,gBAAA,GACJ,yGAAA;AACF,MAAM,eAAA,GAAkB,wDAAA;AAIxB,MAAM,sBAAA,GAAyB,uFAAA;AAC/B,MAAM,qBAAA,GAAwB,uDAAA;AAEvB,MAAM,yBAAA,GACX,gEAAA,GACA,gBAAA,GACA,+CAAA,GACA;AAEK,MAAM,+BAAA,GACX,uEAAA,GACA,sBAAA,GACA,8CAAA,GACA;AAUK,MAAM,wBAAA,GACX,wGAAA,GACA,gBAAA,GACA,GAAA,GACA;AAQK,SAAS,oBACd,OAAA,EACyC;AACzC,EAAA,OAAO,OAAA,KAAY,WAAW,SAAA,GAAa,OAAA;AAC7C;AAIO,MAAM,wBAAA,GAA2B;;;;"}
@@ -2,11 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const Button = require('../Button-C2dx_QZN.cjs');
6
- const utils_cn = require('../cn-BuHW7Wrt.cjs');
5
+ const Button = require('../Button-CVewl8nT.cjs');
6
+ const primitives_raisedSurface = require('./raised-surface.cjs.js');
7
+ const utils_cn = require('../cn-DG0X1KEP.cjs');
7
8
 
8
9
  const MENU_ITEM_OVERRIDES = utils_cn.cn(
9
10
  "flex w-full justify-start rounded-lg text-left select-none",
11
+ // An item may carry a second line (a name over its description). The Button
12
+ // height becomes the floor so single-line rows keep the control rhythm and a
13
+ // taller item grows instead of overflowing into its neighbour.
14
+ "h-auto min-h-control-md py-1",
10
15
  // Button brightens its border on focus-visible; inside a menu the highlight is the focus cue.
11
16
  "focus-visible:border-transparent",
12
17
  // No row background: the popup's FluidMenuItems highlight travels between rows;
@@ -28,23 +33,24 @@ const menuItemInsetClass = "pl-[calc(.9em+1.1em+.75em)]";
28
33
  const MENU_SIDE_OFFSET = 4;
29
34
  const menuPositionerClass = "z-50 outline-none data-[anchor-hidden]:hidden";
30
35
  const menuPopupClass = utils_cn.cn(
31
- "z-50 max-h-[min(var(--max-height-dropdown-max-height),var(--available-height))]",
36
+ "z-50 max-h-[min(var(--spacing-dropdown),var(--available-height))]",
32
37
  "w-max max-w-(--available-width) min-w-[max(11rem,var(--anchor-width))]",
33
38
  "origin-[var(--transform-origin)] overflow-x-hidden overflow-y-auto",
34
- "new-theme rounded-xl border border-border bg-popover p-1 text-foreground/90 shadow-dialog outline-none",
39
+ utils_cn.cn("rounded-xl p-1 text-foreground/90 outline-none", primitives_raisedSurface.overlaySurfaceStyle),
35
40
  "data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95",
36
41
  "data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1"
37
42
  );
38
- const menuLabelClass = "px-[.9em] pt-1.5 pb-1 text-ui-xs font-medium tracking-wider text-muted-foreground uppercase";
43
+ const menuLabelClass = "px-[.9em] pt-1.5 pb-1 text-meta tracking-wider text-muted-foreground uppercase";
39
44
  const menuSeparatorClass = "-mx-1 my-1 h-px bg-border";
40
- const menuShortcutClass = "ml-auto text-ui-xs tracking-wider text-muted-foreground tabular-nums";
41
- const menuEmptyClass = "flex h-form-md items-center gap-[.75em] px-[.9em] py-0.5 text-ui-smd text-muted-foreground box-content";
45
+ const menuShortcutClass = "ml-auto text-meta tracking-wider text-muted-foreground tabular-nums";
46
+ const menuEmptyClass = "flex h-control-md items-center gap-[.75em] px-[.9em] py-0.5 text-body-sm text-muted-foreground box-content";
42
47
  const menuSearchClasses = {
43
- // Row = h-form-md input + py-0.5 → 32px, one notch above the 28px items so the
44
- // divider does not crowd the first option while the text stays on the item grid.
45
- container: "flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-ui-smd",
48
+ // The input is a full control rung and the row adds `py-0.5` on top, so the search
49
+ // row sits one notch taller than an item: the divider does not crowd the first
50
+ // option while the text stays on the item grid.
51
+ container: "flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-body-sm focus-within:bg-fill-subtle",
46
52
  icon: "size-[1.1em] shrink-0 text-muted-foreground",
47
- input: "h-form-md w-full bg-transparent text-ui-smd text-foreground outline-hidden placeholder:text-muted-foreground focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-foreground/45 focus-visible:outline-solid"
53
+ input: "h-control-md w-full bg-transparent text-body-sm text-foreground outline-hidden placeholder:text-muted-foreground"
48
54
  };
49
55
 
50
56
  exports.MENU_SIDE_OFFSET = MENU_SIDE_OFFSET;
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.cjs.js","sources":["../../src/ds/primitives/menu-item.ts"],"sourcesContent":["import { buttonVariants } from '@/ds/components/Button/Button';\nimport { cn } from '@/lib/utils';\n\n// Shared recipe for items rendered inside floating menus (DropdownMenu, ContextMenu,\n// Select, Combobox, PropertyFilter, DataFilter). An item is a ghost/md Button laid out\n// left-aligned, with `rounded-lg` instead of the pill radius so stacked items sit\n// concentrically inside a `rounded-xl p-1` popup. Base UI drives keyboard/pointer\n// highlight via `data-highlighted`, which `:hover` alone does not cover.\n// `flex` (not Button's `inline-flex`): popups size to their content (`w-max`), and\n// inline-level items would be measured side by side on one line, stretching the popup\n// to the full available width instead of the widest item.\nconst MENU_ITEM_OVERRIDES = cn(\n 'flex w-full justify-start rounded-lg text-left select-none',\n // Button brightens its border on focus-visible; inside a menu the highlight is the focus cue.\n 'focus-visible:border-transparent',\n // No row background: the popup's FluidMenuItems highlight travels between rows;\n // the row only lifts its text color.\n 'hover:bg-transparent data-highlighted:text-foreground',\n 'data-selected:text-foreground',\n 'data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50',\n '[&>span]:truncate',\n);\n\nexport const menuItemClass = cn(buttonVariants({ variant: 'ghost', size: 'md' }), MENU_ITEM_OVERRIDES);\n\nexport const menuItemDestructiveClass = cn(\n buttonVariants({ variant: 'destructive-ghost', size: 'md' }),\n MENU_ITEM_OVERRIDES,\n 'data-highlighted:bg-destructive/20 data-highlighted:text-destructive',\n);\n\n// Trailing indicator (check / submenu chevron) — applied to a wrapper element, not the\n// svg itself, because the Button recipe's `[&>svg]:mx-[-.3em]` would beat `ml-auto`.\nexport const menuItemTrailingIconClass =\n 'ml-auto flex size-[1.1em] shrink-0 items-center justify-center [&>svg]:size-full';\n\nexport const menuItemCheckClass = cn(menuItemTrailingIconClass, 'text-foreground');\n\n// Left padding matching icon width + gap, for items aligned with iconed siblings.\nexport const menuItemInsetClass = 'pl-[calc(.9em+1.1em+.75em)]';\n\nexport const MENU_SIDE_OFFSET = 4;\n\n// A hidden anchor makes Floating UI fall back to the top-left corner, so the popup goes with it.\nexport const menuPositionerClass = 'z-50 outline-none data-[anchor-hidden]:hidden';\n\n// Width: at least the anchor (or 11rem), otherwise as wide as the widest item, never\n// wider than the space Floating UI reports. Shared by every menu-like popup.\nexport const menuPopupClass = cn(\n 'z-50 max-h-[min(var(--max-height-dropdown-max-height),var(--available-height))]',\n 'w-max max-w-(--available-width) min-w-[max(11rem,var(--anchor-width))]',\n 'origin-[var(--transform-origin)] overflow-x-hidden overflow-y-auto',\n 'new-theme rounded-xl border border-border bg-popover p-1 text-foreground/90 shadow-dialog outline-none',\n 'data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1',\n);\n\nexport const menuLabelClass =\n 'px-[.9em] pt-1.5 pb-1 text-ui-xs font-medium tracking-wider text-muted-foreground uppercase';\n\nexport const menuSeparatorClass = '-mx-1 my-1 h-px bg-border';\n\nexport const menuShortcutClass = 'ml-auto text-ui-xs tracking-wider text-muted-foreground tabular-nums';\n\n/** Non-interactive row (empty / loading) on the same size grid as an item. */\nexport const menuEmptyClass =\n 'flex h-form-md items-center gap-[.75em] px-[.9em] py-0.5 text-ui-smd text-muted-foreground box-content';\n\nexport const menuSearchClasses = {\n // Row = h-form-md input + py-0.5 → 32px, one notch above the 28px items so the\n // divider does not crowd the first option while the text stays on the item grid.\n container: 'flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-ui-smd',\n icon: 'size-[1.1em] shrink-0 text-muted-foreground',\n input:\n 'h-form-md w-full bg-transparent text-ui-smd text-foreground outline-hidden placeholder:text-muted-foreground focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-foreground/45 focus-visible:outline-solid',\n};\n"],"names":["cn","buttonVariants"],"mappings":";;;;;;;AAWA,MAAM,mBAAA,GAAsBA,WAAA;AAAA,EAC1B,4DAAA;AAAA;AAAA,EAEA,kCAAA;AAAA;AAAA;AAAA,EAGA,uDAAA;AAAA,EACA,+BAAA;AAAA,EACA,6FAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,aAAA,GAAgBA,WAAA,CAAGC,qBAAA,CAAe,EAAE,OAAA,EAAS,SAAS,IAAA,EAAM,IAAA,EAAM,CAAA,EAAG,mBAAmB;AAE9F,MAAM,wBAAA,GAA2BD,WAAA;AAAA,EACtCC,sBAAe,EAAE,OAAA,EAAS,mBAAA,EAAqB,IAAA,EAAM,MAAM,CAAA;AAAA,EAC3D,mBAAA;AAAA,EACA;AACF;AAIO,MAAM,yBAAA,GACX;AAEK,MAAM,kBAAA,GAAqBD,WAAA,CAAG,yBAAA,EAA2B,iBAAiB;AAG1E,MAAM,kBAAA,GAAqB;AAE3B,MAAM,gBAAA,GAAmB;AAGzB,MAAM,mBAAA,GAAsB;AAI5B,MAAM,cAAA,GAAiBA,WAAA;AAAA,EAC5B,iFAAA;AAAA,EACA,wEAAA;AAAA,EACA,oEAAA;AAAA,EACA,wGAAA;AAAA,EACA,kJAAA;AAAA,EACA;AACF;AAEO,MAAM,cAAA,GACX;AAEK,MAAM,kBAAA,GAAqB;AAE3B,MAAM,iBAAA,GAAoB;AAG1B,MAAM,cAAA,GACX;AAEK,MAAM,iBAAA,GAAoB;AAAA;AAAA;AAAA,EAG/B,SAAA,EAAW,mFAAA;AAAA,EACX,IAAA,EAAM,6CAAA;AAAA,EACN,KAAA,EACE;AACJ;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"menu-item.cjs.js","sources":["../../src/ds/primitives/menu-item.ts"],"sourcesContent":["import { buttonVariants } from '@/ds/components/Button/Button';\nimport { overlaySurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n// Shared recipe for items rendered inside floating menus (DropdownMenu, ContextMenu,\n// Select, Combobox, PropertyFilter, DataFilter). An item is a ghost/md Button laid out\n// left-aligned, with `rounded-lg` instead of the pill radius so stacked items sit\n// concentrically inside a `rounded-xl p-1` popup. Base UI drives keyboard/pointer\n// highlight via `data-highlighted`, which `:hover` alone does not cover.\n// `flex` (not Button's `inline-flex`): popups size to their content (`w-max`), and\n// inline-level items would be measured side by side on one line, stretching the popup\n// to the full available width instead of the widest item.\nconst MENU_ITEM_OVERRIDES = cn(\n 'flex w-full justify-start rounded-lg text-left select-none',\n // An item may carry a second line (a name over its description). The Button\n // height becomes the floor so single-line rows keep the control rhythm and a\n // taller item grows instead of overflowing into its neighbour.\n 'h-auto min-h-control-md py-1',\n // Button brightens its border on focus-visible; inside a menu the highlight is the focus cue.\n 'focus-visible:border-transparent',\n // No row background: the popup's FluidMenuItems highlight travels between rows;\n // the row only lifts its text color.\n 'hover:bg-transparent data-highlighted:text-foreground',\n 'data-selected:text-foreground',\n 'data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:opacity-50',\n '[&>span]:truncate',\n);\n\nexport const menuItemClass = cn(buttonVariants({ variant: 'ghost', size: 'md' }), MENU_ITEM_OVERRIDES);\n\nexport const menuItemDestructiveClass = cn(\n buttonVariants({ variant: 'destructive-ghost', size: 'md' }),\n MENU_ITEM_OVERRIDES,\n 'data-highlighted:bg-destructive/20 data-highlighted:text-destructive',\n);\n\n// Trailing indicator (check / submenu chevron) — applied to a wrapper element, not the\n// svg itself, because the Button recipe's `[&>svg]:mx-[-.3em]` would beat `ml-auto`.\nexport const menuItemTrailingIconClass =\n 'ml-auto flex size-[1.1em] shrink-0 items-center justify-center [&>svg]:size-full';\n\nexport const menuItemCheckClass = cn(menuItemTrailingIconClass, 'text-foreground');\n\n// Left padding matching icon width + gap, for items aligned with iconed siblings.\nexport const menuItemInsetClass = 'pl-[calc(.9em+1.1em+.75em)]';\n\nexport const MENU_SIDE_OFFSET = 4;\n\n// A hidden anchor makes Floating UI fall back to the top-left corner, so the popup goes with it.\nexport const menuPositionerClass = 'z-50 outline-none data-[anchor-hidden]:hidden';\n\n// Width: at least the anchor (or 11rem), otherwise as wide as the widest item, never\n// wider than the space Floating UI reports. Shared by every menu-like popup.\nexport const menuPopupClass = cn(\n 'z-50 max-h-[min(var(--spacing-dropdown),var(--available-height))]',\n 'w-max max-w-(--available-width) min-w-[max(11rem,var(--anchor-width))]',\n 'origin-[var(--transform-origin)] overflow-x-hidden overflow-y-auto',\n cn('rounded-xl p-1 text-foreground/90 outline-none', overlaySurfaceStyle),\n 'data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95',\n 'data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1',\n);\n\nexport const menuLabelClass = 'px-[.9em] pt-1.5 pb-1 text-meta tracking-wider text-muted-foreground uppercase';\n\nexport const menuSeparatorClass = '-mx-1 my-1 h-px bg-border';\n\nexport const menuShortcutClass = 'ml-auto text-meta tracking-wider text-muted-foreground tabular-nums';\n\n/** Non-interactive row (empty / loading) on the same size grid as an item. */\nexport const menuEmptyClass =\n 'flex h-control-md items-center gap-[.75em] px-[.9em] py-0.5 text-body-sm text-muted-foreground box-content';\n\nexport const menuSearchClasses = {\n // The input is a full control rung and the row adds `py-0.5` on top, so the search\n // row sits one notch taller than an item: the divider does not crowd the first\n // option while the text stays on the item grid.\n container:\n 'flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-body-sm focus-within:bg-fill-subtle',\n icon: 'size-[1.1em] shrink-0 text-muted-foreground',\n input:\n 'h-control-md w-full bg-transparent text-body-sm text-foreground outline-hidden placeholder:text-muted-foreground',\n};\n"],"names":["cn","buttonVariants","overlaySurfaceStyle"],"mappings":";;;;;;;;AAYA,MAAM,mBAAA,GAAsBA,WAAA;AAAA,EAC1B,4DAAA;AAAA;AAAA;AAAA;AAAA,EAIA,8BAAA;AAAA;AAAA,EAEA,kCAAA;AAAA;AAAA;AAAA,EAGA,uDAAA;AAAA,EACA,+BAAA;AAAA,EACA,6FAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,aAAA,GAAgBA,WAAA,CAAGC,qBAAA,CAAe,EAAE,OAAA,EAAS,SAAS,IAAA,EAAM,IAAA,EAAM,CAAA,EAAG,mBAAmB;AAE9F,MAAM,wBAAA,GAA2BD,WAAA;AAAA,EACtCC,sBAAe,EAAE,OAAA,EAAS,mBAAA,EAAqB,IAAA,EAAM,MAAM,CAAA;AAAA,EAC3D,mBAAA;AAAA,EACA;AACF;AAIO,MAAM,yBAAA,GACX;AAEK,MAAM,kBAAA,GAAqBD,WAAA,CAAG,yBAAA,EAA2B,iBAAiB;AAG1E,MAAM,kBAAA,GAAqB;AAE3B,MAAM,gBAAA,GAAmB;AAGzB,MAAM,mBAAA,GAAsB;AAI5B,MAAM,cAAA,GAAiBA,WAAA;AAAA,EAC5B,mEAAA;AAAA,EACA,wEAAA;AAAA,EACA,oEAAA;AAAA,EACAA,WAAA,CAAG,kDAAkDE,4CAAmB,CAAA;AAAA,EACxE,kJAAA;AAAA,EACA;AACF;AAEO,MAAM,cAAA,GAAiB;AAEvB,MAAM,kBAAA,GAAqB;AAE3B,MAAM,iBAAA,GAAoB;AAG1B,MAAM,cAAA,GACX;AAEK,MAAM,iBAAA,GAAoB;AAAA;AAAA;AAAA;AAAA,EAI/B,SAAA,EACE,gHAAA;AAAA,EACF,IAAA,EAAM,6CAAA;AAAA,EACN,KAAA,EACE;AACJ;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,13 @@
1
- import { b as buttonVariants } from '../Button-DS6O6fvU.js';
2
- import { c as cn } from '../cn-C6s2yXwM.js';
1
+ import { b as buttonVariants } from '../Button-cWcBEd-G.js';
2
+ import { overlaySurfaceStyle } from './raised-surface.es.js';
3
+ import { c as cn } from '../cn-65Adrsfj.js';
3
4
 
4
5
  const MENU_ITEM_OVERRIDES = cn(
5
6
  "flex w-full justify-start rounded-lg text-left select-none",
7
+ // An item may carry a second line (a name over its description). The Button
8
+ // height becomes the floor so single-line rows keep the control rhythm and a
9
+ // taller item grows instead of overflowing into its neighbour.
10
+ "h-auto min-h-control-md py-1",
6
11
  // Button brightens its border on focus-visible; inside a menu the highlight is the focus cue.
7
12
  "focus-visible:border-transparent",
8
13
  // No row background: the popup's FluidMenuItems highlight travels between rows;
@@ -24,23 +29,24 @@ const menuItemInsetClass = "pl-[calc(.9em+1.1em+.75em)]";
24
29
  const MENU_SIDE_OFFSET = 4;
25
30
  const menuPositionerClass = "z-50 outline-none data-[anchor-hidden]:hidden";
26
31
  const menuPopupClass = cn(
27
- "z-50 max-h-[min(var(--max-height-dropdown-max-height),var(--available-height))]",
32
+ "z-50 max-h-[min(var(--spacing-dropdown),var(--available-height))]",
28
33
  "w-max max-w-(--available-width) min-w-[max(11rem,var(--anchor-width))]",
29
34
  "origin-[var(--transform-origin)] overflow-x-hidden overflow-y-auto",
30
- "new-theme rounded-xl border border-border bg-popover p-1 text-foreground/90 shadow-dialog outline-none",
35
+ cn("rounded-xl p-1 text-foreground/90 outline-none", overlaySurfaceStyle),
31
36
  "data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95",
32
37
  "data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1"
33
38
  );
34
- const menuLabelClass = "px-[.9em] pt-1.5 pb-1 text-ui-xs font-medium tracking-wider text-muted-foreground uppercase";
39
+ const menuLabelClass = "px-[.9em] pt-1.5 pb-1 text-meta tracking-wider text-muted-foreground uppercase";
35
40
  const menuSeparatorClass = "-mx-1 my-1 h-px bg-border";
36
- const menuShortcutClass = "ml-auto text-ui-xs tracking-wider text-muted-foreground tabular-nums";
37
- const menuEmptyClass = "flex h-form-md items-center gap-[.75em] px-[.9em] py-0.5 text-ui-smd text-muted-foreground box-content";
41
+ const menuShortcutClass = "ml-auto text-meta tracking-wider text-muted-foreground tabular-nums";
42
+ const menuEmptyClass = "flex h-control-md items-center gap-[.75em] px-[.9em] py-0.5 text-body-sm text-muted-foreground box-content";
38
43
  const menuSearchClasses = {
39
- // Row = h-form-md input + py-0.5 → 32px, one notch above the 28px items so the
40
- // divider does not crowd the first option while the text stays on the item grid.
41
- container: "flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-ui-smd",
44
+ // The input is a full control rung and the row adds `py-0.5` on top, so the search
45
+ // row sits one notch taller than an item: the divider does not crowd the first
46
+ // option while the text stays on the item grid.
47
+ container: "flex items-center gap-[.75em] border-b border-border px-[.9em] py-0.5 text-body-sm focus-within:bg-fill-subtle",
42
48
  icon: "size-[1.1em] shrink-0 text-muted-foreground",
43
- input: "h-form-md w-full bg-transparent text-ui-smd text-foreground outline-hidden placeholder:text-muted-foreground focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-foreground/45 focus-visible:outline-solid"
49
+ input: "h-control-md w-full bg-transparent text-body-sm text-foreground outline-hidden placeholder:text-muted-foreground"
44
50
  };
45
51
 
46
52
  export { MENU_SIDE_OFFSET, menuEmptyClass, menuItemCheckClass, menuItemClass, menuItemDestructiveClass, menuItemInsetClass, menuItemTrailingIconClass, menuLabelClass, menuPopupClass, menuPositionerClass, menuSearchClasses, menuSeparatorClass, menuShortcutClass };