@mastra/playground-ui 55.0.0 → 56.0.0-alpha.10

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 (1813) hide show
  1. package/README.md +20 -0
  2. package/dist/Badge-BCwBpIc7.js +123 -0
  3. package/dist/Badge-BCwBpIc7.js.map +1 -0
  4. package/dist/Badge-RWi6V_JT.cjs +125 -0
  5. package/dist/Badge-RWi6V_JT.cjs.map +1 -0
  6. package/dist/Button-C2dx_QZN.cjs +207 -0
  7. package/dist/Button-C2dx_QZN.cjs.map +1 -0
  8. package/dist/Button-DS6O6fvU.js +203 -0
  9. package/dist/Button-DS6O6fvU.js.map +1 -0
  10. package/dist/Card-CnxuKKaz.js +96 -0
  11. package/dist/Card-CnxuKKaz.js.map +1 -0
  12. package/dist/Card-DC9rlxXj.cjs +123 -0
  13. package/dist/Card-DC9rlxXj.cjs.map +1 -0
  14. package/dist/EmptyState-CDM5htkF.js +31 -0
  15. package/dist/EmptyState-CDM5htkF.js.map +1 -0
  16. package/dist/EmptyState-_TZefNk_.cjs +33 -0
  17. package/dist/EmptyState-_TZefNk_.cjs.map +1 -0
  18. package/dist/Notice-Cq7m_mxe.cjs +91 -0
  19. package/dist/Notice-Cq7m_mxe.cjs.map +1 -0
  20. package/dist/Notice-DEqr19sI.js +89 -0
  21. package/dist/Notice-DEqr19sI.js.map +1 -0
  22. package/dist/PermissionDenied-BCHmzPYk.cjs +24 -0
  23. package/dist/PermissionDenied-BCHmzPYk.cjs.map +1 -0
  24. package/dist/PermissionDenied-lLDk9Zpw.js +22 -0
  25. package/dist/PermissionDenied-lLDk9Zpw.js.map +1 -0
  26. package/dist/PullRequestIcon.css +7 -0
  27. package/dist/SessionExpired-B4qMlVNC.cjs +47 -0
  28. package/dist/SessionExpired-B4qMlVNC.cjs.map +1 -0
  29. package/dist/SessionExpired-OS-dhsdb.js +45 -0
  30. package/dist/SessionExpired-OS-dhsdb.js.map +1 -0
  31. package/dist/Txt-C7rZCmrg.cjs +30 -0
  32. package/dist/Txt-C7rZCmrg.cjs.map +1 -0
  33. package/dist/Txt-hyo2FKuO.js +28 -0
  34. package/dist/Txt-hyo2FKuO.js.map +1 -0
  35. package/dist/activity-1GW2mu-d.cjs +52 -0
  36. package/dist/activity-1GW2mu-d.cjs.map +1 -0
  37. package/dist/activity-BiQKEDt0.js +49 -0
  38. package/dist/activity-BiQKEDt0.js.map +1 -0
  39. package/dist/activity.css +365 -0
  40. package/dist/arrival-CormfVRZ.cjs +22 -0
  41. package/dist/arrival-CormfVRZ.cjs.map +1 -0
  42. package/dist/arrival-DPVjCnNy.js +19 -0
  43. package/dist/arrival-DPVjCnNy.js.map +1 -0
  44. package/dist/ask-user-DCWLWOBI.js +137 -0
  45. package/dist/ask-user-DCWLWOBI.js.map +1 -0
  46. package/dist/ask-user-Dw64_A-5.cjs +146 -0
  47. package/dist/ask-user-Dw64_A-5.cjs.map +1 -0
  48. package/dist/buttons-group-t7AODlO9.js +162 -0
  49. package/dist/buttons-group-t7AODlO9.js.map +1 -0
  50. package/dist/buttons-group-yLVV4nzz.cjs +186 -0
  51. package/dist/buttons-group-yLVV4nzz.cjs.map +1 -0
  52. package/dist/chat-notification-DMwUG6M1.cjs +111 -0
  53. package/dist/chat-notification-DMwUG6M1.cjs.map +1 -0
  54. package/dist/chat-notification-DyBAfleZ.js +107 -0
  55. package/dist/chat-notification-DyBAfleZ.js.map +1 -0
  56. package/dist/chat-signal-D-8_rCn0.cjs +42 -0
  57. package/dist/chat-signal-D-8_rCn0.cjs.map +1 -0
  58. package/dist/chat-signal-JGIN9unj.js +40 -0
  59. package/dist/chat-signal-JGIN9unj.js.map +1 -0
  60. package/dist/checkbox-BHOqsV3k.js +89 -0
  61. package/dist/checkbox-BHOqsV3k.js.map +1 -0
  62. package/dist/checkbox-DXapLh4O.cjs +110 -0
  63. package/dist/checkbox-DXapLh4O.cjs.map +1 -0
  64. package/dist/cn-BuHW7Wrt.cjs +3294 -0
  65. package/dist/cn-BuHW7Wrt.cjs.map +1 -0
  66. package/dist/cn-C6s2yXwM.js +3291 -0
  67. package/dist/cn-C6s2yXwM.js.map +1 -0
  68. package/dist/code-block-BBG-Zv3I.js +86 -0
  69. package/dist/code-block-BBG-Zv3I.js.map +1 -0
  70. package/dist/code-block-DgK__blB.cjs +88 -0
  71. package/dist/code-block-DgK__blB.cjs.map +1 -0
  72. package/dist/code-editor-CQqV40K3.js +478 -0
  73. package/dist/code-editor-CQqV40K3.js.map +1 -0
  74. package/dist/code-editor-e1JSppW0.cjs +486 -0
  75. package/dist/code-editor-e1JSppW0.cjs.map +1 -0
  76. package/dist/collapsible-C2RuZzc7.js +57 -0
  77. package/dist/collapsible-C2RuZzc7.js.map +1 -0
  78. package/dist/collapsible-C3x1n6sF.cjs +61 -0
  79. package/dist/collapsible-C3x1n6sF.cjs.map +1 -0
  80. package/dist/combobox-CQ2Ri2LC.js +175 -0
  81. package/dist/combobox-CQ2Ri2LC.js.map +1 -0
  82. package/dist/combobox-F3WprWVx.cjs +196 -0
  83. package/dist/combobox-F3WprWVx.cjs.map +1 -0
  84. package/dist/combobox-styles-1C3D0JLL.cjs +98 -0
  85. package/dist/combobox-styles-1C3D0JLL.cjs.map +1 -0
  86. package/dist/combobox-styles-BMerfYPX.js +94 -0
  87. package/dist/combobox-styles-BMerfYPX.js.map +1 -0
  88. package/dist/command-CuuMEoIB.cjs +211 -0
  89. package/dist/command-CuuMEoIB.cjs.map +1 -0
  90. package/dist/command-rJ4b4Z2h.js +182 -0
  91. package/dist/command-rJ4b4Z2h.js.map +1 -0
  92. package/dist/components/Activity.cjs.js +11 -0
  93. package/dist/components/Activity.cjs.js.map +1 -0
  94. package/dist/components/Activity.d.ts +2 -0
  95. package/dist/components/Activity.es.js +2 -0
  96. package/dist/components/Activity.es.js.map +1 -0
  97. package/dist/components/AlertDialog.cjs.js +2 -2
  98. package/dist/components/AlertDialog.es.js +2 -2
  99. package/dist/components/Arrival.cjs.js +1 -1
  100. package/dist/components/Arrival.es.js +1 -1
  101. package/dist/components/Avatar.cjs.js +2 -2
  102. package/dist/components/Avatar.es.js +2 -2
  103. package/dist/components/Badge.cjs.js +1 -1
  104. package/dist/components/Badge.es.js +1 -1
  105. package/dist/components/BrandLoader.cjs.js +1 -1
  106. package/dist/components/BrandLoader.es.js +1 -1
  107. package/dist/components/Breadcrumb.cjs.js +2 -2
  108. package/dist/components/Breadcrumb.es.js +2 -2
  109. package/dist/components/Button.cjs.js +2 -2
  110. package/dist/components/Button.cjs.js.map +1 -1
  111. package/dist/components/Button.es.js +3 -3
  112. package/dist/components/Button.es.js.map +1 -1
  113. package/dist/components/ButtonsGroup.cjs.js +1 -1
  114. package/dist/components/ButtonsGroup.es.js +1 -1
  115. package/dist/components/Card.cjs.js +1 -1
  116. package/dist/components/Card.es.js +1 -1
  117. package/dist/components/ChatShell.cjs.js +2 -2
  118. package/dist/components/ChatShell.es.js +2 -2
  119. package/dist/components/Checkbox.cjs.js +1 -1
  120. package/dist/components/Checkbox.es.js +1 -1
  121. package/dist/components/ClampedText.cjs.js +3 -3
  122. package/dist/components/ClampedText.es.js +3 -3
  123. package/dist/components/CodeBlock.cjs.js +1 -1
  124. package/dist/components/CodeBlock.es.js +1 -1
  125. package/dist/components/CodeEditor.cjs.js +1 -1
  126. package/dist/components/CodeEditor.es.js +1 -1
  127. package/dist/components/Collapsible.cjs.js +1 -1
  128. package/dist/components/Collapsible.es.js +1 -1
  129. package/dist/components/Columns.cjs.js +2 -2
  130. package/dist/components/Columns.es.js +2 -2
  131. package/dist/components/Combobox.cjs.js +3 -2
  132. package/dist/components/Combobox.cjs.js.map +1 -1
  133. package/dist/components/Combobox.es.js +2 -1
  134. package/dist/components/Combobox.es.js.map +1 -1
  135. package/dist/components/Command.cjs.js +1 -1
  136. package/dist/components/Command.es.js +1 -1
  137. package/dist/components/CommandPalette.cjs.js +9 -8
  138. package/dist/components/CommandPalette.cjs.js.map +1 -1
  139. package/dist/components/CommandPalette.es.js +9 -8
  140. package/dist/components/CommandPalette.es.js.map +1 -1
  141. package/dist/components/Comment.cjs.js +8 -8
  142. package/dist/components/Comment.cjs.js.map +1 -1
  143. package/dist/components/Comment.es.js +8 -8
  144. package/dist/components/Comment.es.js.map +1 -1
  145. package/dist/components/Composer.cjs.js +12 -141
  146. package/dist/components/Composer.cjs.js.map +1 -1
  147. package/dist/components/Composer.es.js +5 -135
  148. package/dist/components/Composer.es.js.map +1 -1
  149. package/dist/components/ContextMenu.cjs.js +30 -14
  150. package/dist/components/ContextMenu.cjs.js.map +1 -1
  151. package/dist/components/ContextMenu.es.js +30 -14
  152. package/dist/components/ContextMenu.es.js.map +1 -1
  153. package/dist/components/CopyButton.cjs.js +1 -1
  154. package/dist/components/CopyButton.es.js +1 -1
  155. package/dist/components/DashboardCard.cjs.js +1 -1
  156. package/dist/components/DashboardCard.es.js +1 -1
  157. package/dist/components/DataCodeSection.cjs.js +1 -1
  158. package/dist/components/DataCodeSection.es.js +1 -1
  159. package/dist/components/DataDetailsPanel.cjs.js +21 -17
  160. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  161. package/dist/components/DataDetailsPanel.es.js +21 -17
  162. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  163. package/dist/components/DataFilter.cjs.js +3 -3
  164. package/dist/components/DataFilter.es.js +3 -3
  165. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  166. package/dist/components/DataKeysAndValues.es.js +1 -1
  167. package/dist/components/DataList.cjs.js +8 -7
  168. package/dist/components/DataList.cjs.js.map +1 -1
  169. package/dist/components/DataList.es.js +5 -4
  170. package/dist/components/DataList.es.js.map +1 -1
  171. package/dist/components/DataPanel.cjs.js +1 -1
  172. package/dist/components/DataPanel.es.js +1 -1
  173. package/dist/components/DateRangeTimeline.cjs.js +5 -5
  174. package/dist/components/DateRangeTimeline.es.js +5 -5
  175. package/dist/components/DateTimePicker.cjs.js +7 -7
  176. package/dist/components/DateTimePicker.cjs.js.map +1 -1
  177. package/dist/components/DateTimePicker.es.js +7 -7
  178. package/dist/components/DateTimePicker.es.js.map +1 -1
  179. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  180. package/dist/components/DateTimeRangePicker.es.js +1 -1
  181. package/dist/components/Dialog.cjs.js +3 -3
  182. package/dist/components/Dialog.es.js +4 -4
  183. package/dist/components/Drawer.cjs.js +1 -1
  184. package/dist/components/Drawer.es.js +1 -1
  185. package/dist/components/DropdownMenu.cjs.js +1 -1
  186. package/dist/components/DropdownMenu.es.js +1 -1
  187. package/dist/components/EmptyState.cjs.js +1 -1
  188. package/dist/components/EmptyState.es.js +1 -1
  189. package/dist/components/Entity.cjs.js +2 -2
  190. package/dist/components/Entity.es.js +2 -2
  191. package/dist/components/EntityHeader.cjs.js +2 -2
  192. package/dist/components/EntityHeader.es.js +2 -2
  193. package/dist/components/Entry.cjs.js +1 -1
  194. package/dist/components/Entry.es.js +1 -1
  195. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -7
  196. package/dist/components/EnvironmentVariablesEditor.es.js +7 -7
  197. package/dist/components/ErrorBoundary.cjs.js +3 -6
  198. package/dist/components/ErrorBoundary.cjs.js.map +1 -1
  199. package/dist/components/ErrorBoundary.es.js +3 -6
  200. package/dist/components/ErrorBoundary.es.js.map +1 -1
  201. package/dist/components/FilterBar.cjs.js +441 -0
  202. package/dist/components/FilterBar.cjs.js.map +1 -0
  203. package/dist/components/FilterBar.d.ts +2 -0
  204. package/dist/components/FilterBar.es.js +430 -0
  205. package/dist/components/FilterBar.es.js.map +1 -0
  206. package/dist/components/FormFieldBlocks.cjs.js +7 -5
  207. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  208. package/dist/components/FormFieldBlocks.es.js +6 -5
  209. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  210. package/dist/components/Header.cjs.js +2 -2
  211. package/dist/components/Header.es.js +2 -2
  212. package/dist/components/HorizontalBars.cjs.js +1 -1
  213. package/dist/components/HorizontalBars.es.js +1 -1
  214. package/dist/components/HoverCard.cjs.js +1 -1
  215. package/dist/components/HoverCard.es.js +1 -1
  216. package/dist/components/Input.cjs.js +1 -1
  217. package/dist/components/Input.es.js +1 -1
  218. package/dist/components/InputGroup.cjs.js +1 -1
  219. package/dist/components/InputGroup.es.js +1 -1
  220. package/dist/components/IntegrationDialog.cjs.js +4 -4
  221. package/dist/components/IntegrationDialog.es.js +4 -4
  222. package/dist/components/ItemList.cjs.js +3 -3
  223. package/dist/components/ItemList.es.js +3 -3
  224. package/dist/components/JSONSchemaForm.cjs.js +5 -5
  225. package/dist/components/JSONSchemaForm.es.js +5 -5
  226. package/dist/components/Kbd.cjs.js +1 -1
  227. package/dist/components/Kbd.es.js +1 -1
  228. package/dist/components/KeyValueList.cjs.js +2 -2
  229. package/dist/components/KeyValueList.es.js +2 -2
  230. package/dist/components/Label.cjs.js +1 -1
  231. package/dist/components/Label.es.js +1 -1
  232. package/dist/components/ListSearch.cjs.js +1 -1
  233. package/dist/components/ListSearch.es.js +1 -1
  234. package/dist/components/Logo.cjs.js +1 -1
  235. package/dist/components/Logo.es.js +1 -1
  236. package/dist/components/LogsDataList.cjs.js +4 -2
  237. package/dist/components/LogsDataList.cjs.js.map +1 -1
  238. package/dist/components/LogsDataList.es.js +4 -2
  239. package/dist/components/LogsDataList.es.js.map +1 -1
  240. package/dist/components/MainContent.cjs.js +1 -1
  241. package/dist/components/MainContent.es.js +1 -1
  242. package/dist/components/MainHeader.cjs.js +1 -1
  243. package/dist/components/MainHeader.es.js +1 -1
  244. package/dist/components/MainSidebar.cjs.js +11 -836
  245. package/dist/components/MainSidebar.cjs.js.map +1 -1
  246. package/dist/components/MainSidebar.es.js +1 -830
  247. package/dist/components/MainSidebar.es.js.map +1 -1
  248. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  249. package/dist/components/MarkdownRenderer.es.js +1 -1
  250. package/dist/components/Message.cjs.js +26 -0
  251. package/dist/components/Message.cjs.js.map +1 -0
  252. package/dist/components/Message.d.ts +2 -0
  253. package/dist/components/Message.es.js +19 -0
  254. package/dist/components/Message.es.js.map +1 -0
  255. package/dist/components/MessageScroller.cjs.js +1 -1
  256. package/dist/components/MessageScroller.es.js +1 -1
  257. package/dist/components/MetricsCard.cjs.js +1 -1
  258. package/dist/components/MetricsCard.es.js +1 -1
  259. package/dist/components/MetricsFlexGrid.cjs.js +1 -1
  260. package/dist/components/MetricsFlexGrid.es.js +1 -1
  261. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  262. package/dist/components/MetricsKpiCard.es.js +1 -1
  263. package/dist/components/Notice.cjs.js +1 -1
  264. package/dist/components/Notice.es.js +1 -1
  265. package/dist/components/PageHeader.cjs.js +1 -1
  266. package/dist/components/PageHeader.es.js +1 -1
  267. package/dist/components/PageLayout.cjs.js +3 -2
  268. package/dist/components/PageLayout.cjs.js.map +1 -1
  269. package/dist/components/PageLayout.es.js +2 -1
  270. package/dist/components/PageLayout.es.js.map +1 -1
  271. package/dist/components/PendingIndicator.cjs.js +1 -1
  272. package/dist/components/PendingIndicator.es.js +1 -1
  273. package/dist/components/PermissionDenied.cjs.js +1 -1
  274. package/dist/components/PermissionDenied.es.js +1 -1
  275. package/dist/components/Popover.cjs.js +1 -1
  276. package/dist/components/Popover.es.js +1 -1
  277. package/dist/components/PrevNextNav.cjs.js +2 -3
  278. package/dist/components/PrevNextNav.cjs.js.map +1 -1
  279. package/dist/components/PrevNextNav.es.js +2 -3
  280. package/dist/components/PrevNextNav.es.js.map +1 -1
  281. package/dist/components/PropertyFilter.cjs.js +5 -5
  282. package/dist/components/PropertyFilter.es.js +6 -6
  283. package/dist/components/PullRequestIcon.cjs.js +21 -0
  284. package/dist/components/PullRequestIcon.cjs.js.map +1 -0
  285. package/dist/components/PullRequestIcon.d.ts +2 -0
  286. package/dist/components/PullRequestIcon.es.js +17 -0
  287. package/dist/components/PullRequestIcon.es.js.map +1 -0
  288. package/dist/components/RadioGroup.cjs.js +1 -1
  289. package/dist/components/RadioGroup.es.js +1 -1
  290. package/dist/components/RuleBuilder.cjs.js +4 -4
  291. package/dist/components/RuleBuilder.es.js +4 -4
  292. package/dist/components/SankeyChart.cjs.js +1 -1
  293. package/dist/components/SankeyChart.es.js +1 -1
  294. package/dist/components/ScatterPlotChart.cjs.js +2 -2
  295. package/dist/components/ScatterPlotChart.es.js +2 -2
  296. package/dist/components/ScrollArea.cjs.js +1 -1
  297. package/dist/components/ScrollArea.es.js +1 -1
  298. package/dist/components/Section.cjs.js +1 -1
  299. package/dist/components/Section.es.js +1 -1
  300. package/dist/components/SectionCard.cjs.js +1 -1
  301. package/dist/components/SectionCard.es.js +1 -1
  302. package/dist/components/Sections.cjs.js +1 -1
  303. package/dist/components/Sections.es.js +1 -1
  304. package/dist/components/Select.cjs.js +1 -1
  305. package/dist/components/Select.es.js +1 -1
  306. package/dist/components/SessionExpired.cjs.js +1 -1
  307. package/dist/components/SessionExpired.es.js +1 -1
  308. package/dist/components/SettingsLayout.cjs.js +1 -1
  309. package/dist/components/SettingsLayout.es.js +1 -1
  310. package/dist/components/SettingsRow.cjs.js +1 -1
  311. package/dist/components/SettingsRow.es.js +1 -1
  312. package/dist/components/Shimmer.cjs.js +1 -1
  313. package/dist/components/Shimmer.es.js +1 -1
  314. package/dist/components/SideDialog.cjs.js +6 -6
  315. package/dist/components/SideDialog.es.js +6 -6
  316. package/dist/components/Skeleton.cjs.js +1 -1
  317. package/dist/components/Skeleton.es.js +1 -1
  318. package/dist/components/Slider.cjs.js +1 -1
  319. package/dist/components/Slider.es.js +1 -1
  320. package/dist/components/Spinner.cjs.js +1 -1
  321. package/dist/components/Spinner.es.js +1 -1
  322. package/dist/components/StatusIndicators.cjs.js +144 -0
  323. package/dist/components/StatusIndicators.cjs.js.map +1 -0
  324. package/dist/components/StatusIndicators.d.ts +2 -0
  325. package/dist/components/StatusIndicators.es.js +137 -0
  326. package/dist/components/StatusIndicators.es.js.map +1 -0
  327. package/dist/components/Steps.cjs.js +2 -2
  328. package/dist/components/Steps.es.js +2 -2
  329. package/dist/components/Switch.cjs.js +1 -1
  330. package/dist/components/Switch.es.js +1 -1
  331. package/dist/components/Table.cjs.js +2 -2
  332. package/dist/components/Table.es.js +2 -2
  333. package/dist/components/Tabs.cjs.js +3 -3
  334. package/dist/components/Tabs.es.js +3 -3
  335. package/dist/components/Text.cjs.js +1 -1
  336. package/dist/components/Text.es.js +1 -1
  337. package/dist/components/Textarea.cjs.js +1 -1
  338. package/dist/components/Textarea.es.js +1 -1
  339. package/dist/components/ThemeToggle.cjs.js +1 -1
  340. package/dist/components/ThemeToggle.es.js +1 -1
  341. package/dist/components/ThreadList.cjs.js +7 -8
  342. package/dist/components/ThreadList.cjs.js.map +1 -1
  343. package/dist/components/ThreadList.es.js +7 -8
  344. package/dist/components/ThreadList.es.js.map +1 -1
  345. package/dist/components/ThreadRail.cjs.js +1 -1
  346. package/dist/components/ThreadRail.es.js +1 -1
  347. package/dist/components/Toaster.cjs.js +1 -1
  348. package/dist/components/Toaster.es.js +1 -1
  349. package/dist/components/TokenBudget.cjs.js +1 -1
  350. package/dist/components/TokenBudget.es.js +1 -1
  351. package/dist/components/Tooltip.cjs.js +1 -1
  352. package/dist/components/Tooltip.es.js +1 -1
  353. package/dist/components/Tree.cjs.js +2 -2
  354. package/dist/components/Tree.es.js +2 -2
  355. package/dist/components/Truncate.cjs.js +4 -4
  356. package/dist/components/Truncate.es.js +4 -4
  357. package/dist/components/Txt.cjs.js +1 -1
  358. package/dist/components/Txt.es.js +1 -1
  359. package/dist/components/Workflow.cjs.js +675 -364
  360. package/dist/components/Workflow.cjs.js.map +1 -1
  361. package/dist/components/Workflow.es.js +679 -366
  362. package/dist/components/Workflow.es.js.map +1 -1
  363. package/dist/components/ai/ask-user.cjs.js +1 -1
  364. package/dist/components/ai/ask-user.es.js +1 -1
  365. package/dist/components/ai/chat-event.cjs.js +42 -0
  366. package/dist/components/ai/chat-event.cjs.js.map +1 -0
  367. package/dist/components/ai/chat-event.d.ts +2 -0
  368. package/dist/components/ai/chat-event.es.js +36 -0
  369. package/dist/components/ai/chat-event.es.js.map +1 -0
  370. package/dist/components/ai/plan.cjs.js +5 -5
  371. package/dist/components/ai/plan.es.js +5 -5
  372. package/dist/components/ai/task-list.cjs.js +4 -4
  373. package/dist/components/ai/task-list.es.js +4 -4
  374. package/dist/components/ai/tool-approval.cjs.js +11 -0
  375. package/dist/components/ai/tool-approval.cjs.js.map +1 -0
  376. package/dist/components/ai/tool-approval.d.ts +2 -0
  377. package/dist/components/ai/tool-approval.es.js +2 -0
  378. package/dist/components/ai/tool-approval.es.js.map +1 -0
  379. package/dist/components/ai/tool-call.cjs.js +46 -6
  380. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  381. package/dist/components/ai/tool-call.es.js +46 -9
  382. package/dist/components/ai/tool-call.es.js.map +1 -1
  383. package/dist/components/fluid-hover-highlight.cjs.js +49 -0
  384. package/dist/components/fluid-hover-highlight.cjs.js.map +1 -0
  385. package/dist/components/fluid-hover-highlight.d.ts +2 -0
  386. package/dist/components/fluid-hover-highlight.es.js +42 -0
  387. package/dist/components/fluid-hover-highlight.es.js.map +1 -0
  388. package/dist/composer-C6kIcVEJ.cjs +156 -0
  389. package/dist/composer-C6kIcVEJ.cjs.map +1 -0
  390. package/dist/composer-Dz769593.js +148 -0
  391. package/dist/composer-Dz769593.js.map +1 -0
  392. package/dist/composer.css +207 -0
  393. package/dist/copy-button-CmQxxSUq.cjs +38 -0
  394. package/dist/copy-button-CmQxxSUq.cjs.map +1 -0
  395. package/dist/copy-button-DIeDskPU.js +36 -0
  396. package/dist/copy-button-DIeDskPU.js.map +1 -0
  397. package/dist/dashboard-card-B4VOm5Js.cjs +11 -0
  398. package/dist/dashboard-card-B4VOm5Js.cjs.map +1 -0
  399. package/dist/dashboard-card-quQYRrRH.js +9 -0
  400. package/dist/dashboard-card-quQYRrRH.js.map +1 -0
  401. package/dist/data-code-section-BHQOAbuZ.js +348 -0
  402. package/dist/data-code-section-BHQOAbuZ.js.map +1 -0
  403. package/dist/data-code-section-Dsn6ZqE0.cjs +350 -0
  404. package/dist/data-code-section-Dsn6ZqE0.cjs.map +1 -0
  405. package/dist/data-keys-and-values-BxSKCdWQ.js +122 -0
  406. package/dist/data-keys-and-values-BxSKCdWQ.js.map +1 -0
  407. package/dist/data-keys-and-values-CPUfobZS.cjs +124 -0
  408. package/dist/data-keys-and-values-CPUfobZS.cjs.map +1 -0
  409. package/dist/data-list-B9td5YXY.cjs +184 -0
  410. package/dist/data-list-B9td5YXY.cjs.map +1 -0
  411. package/dist/data-list-IQ0BjiGx.js +180 -0
  412. package/dist/data-list-IQ0BjiGx.js.map +1 -0
  413. package/dist/data-list-skeleton-CFaGBKDb.cjs +38 -0
  414. package/dist/data-list-skeleton-CFaGBKDb.cjs.map +1 -0
  415. package/dist/data-list-skeleton-CQQydcpj.js +36 -0
  416. package/dist/data-list-skeleton-CQQydcpj.js.map +1 -0
  417. package/dist/data-list-spacer-DWoUNPpA.js +138 -0
  418. package/dist/data-list-spacer-DWoUNPpA.js.map +1 -0
  419. package/dist/data-list-spacer-psBnZOCX.cjs +146 -0
  420. package/dist/data-list-spacer-psBnZOCX.cjs.map +1 -0
  421. package/dist/data-list-top-CkwvYUWw.cjs +375 -0
  422. package/dist/data-list-top-CkwvYUWw.cjs.map +1 -0
  423. package/dist/data-list-top-DbUnE1J9.js +350 -0
  424. package/dist/data-list-top-DbUnE1J9.js.map +1 -0
  425. package/dist/data-panel-BhJ8Lp_j.cjs +269 -0
  426. package/dist/data-panel-BhJ8Lp_j.cjs.map +1 -0
  427. package/dist/data-panel-D2JtbyKg.js +249 -0
  428. package/dist/data-panel-D2JtbyKg.js.map +1 -0
  429. package/dist/data-panel-section-heading-BoMxMKSA.cjs +23 -0
  430. package/dist/data-panel-section-heading-BoMxMKSA.cjs.map +1 -0
  431. package/dist/data-panel-section-heading-UzIDRnta.js +21 -0
  432. package/dist/data-panel-section-heading-UzIDRnta.js.map +1 -0
  433. package/dist/date-picker-DiZ0FOvY.cjs +48 -0
  434. package/dist/date-picker-DiZ0FOvY.cjs.map +1 -0
  435. package/dist/date-picker-jDmdtRTR.js +46 -0
  436. package/dist/date-picker-jDmdtRTR.js.map +1 -0
  437. package/dist/date-time-range-picker-BotnQ9HS.js +164 -0
  438. package/dist/date-time-range-picker-BotnQ9HS.js.map +1 -0
  439. package/dist/date-time-range-picker-eyfOf4v-.cjs +166 -0
  440. package/dist/date-time-range-picker-eyfOf4v-.cjs.map +1 -0
  441. package/dist/dialog-B3DNnoZ3.cjs +276 -0
  442. package/dist/dialog-B3DNnoZ3.cjs.map +1 -0
  443. package/dist/dialog-C60a4DWO.js +242 -0
  444. package/dist/dialog-C60a4DWO.js.map +1 -0
  445. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +30 -14
  446. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  447. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +31 -15
  448. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  449. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +21 -0
  450. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js.map +1 -0
  451. package/dist/domains/chat/attachments/composer-attachment-list.d.ts +2 -0
  452. package/dist/domains/chat/attachments/composer-attachment-list.es.js +17 -0
  453. package/dist/domains/chat/attachments/composer-attachment-list.es.js.map +1 -0
  454. package/dist/domains/chat/attachments/composer-attachment.cjs.js +52 -0
  455. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -0
  456. package/dist/domains/chat/attachments/composer-attachment.d.ts +2 -0
  457. package/dist/domains/chat/attachments/composer-attachment.es.js +48 -0
  458. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -0
  459. package/dist/domains/chat/components/badge-wrapper.cjs.js +2 -2
  460. package/dist/domains/chat/components/badge-wrapper.es.js +2 -2
  461. package/dist/domains/chat/components/loading-badge.cjs.js +2 -2
  462. package/dist/domains/chat/components/loading-badge.es.js +2 -2
  463. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
  464. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
  465. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  466. package/dist/domains/chat/components/section-label.es.js +1 -1
  467. package/dist/domains/chat/messages/notification-signal-notice-variant.cjs.js.map +1 -1
  468. package/dist/domains/chat/messages/notification-signal-notice-variant.es.js.map +1 -1
  469. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +8 -20
  470. package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
  471. package/dist/domains/chat/messages/notification-signal-notice.es.js +9 -21
  472. package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
  473. package/dist/domains/chat/messages/reasoning-content.cjs.js +14 -0
  474. package/dist/domains/chat/messages/reasoning-content.cjs.js.map +1 -0
  475. package/dist/domains/chat/messages/reasoning-content.d.ts +2 -0
  476. package/dist/domains/chat/messages/reasoning-content.es.js +10 -0
  477. package/dist/domains/chat/messages/reasoning-content.es.js.map +1 -0
  478. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +3 -3
  479. package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +1 -1
  480. package/dist/domains/chat/messages/reasoning-streaming-line.es.js +3 -3
  481. package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +1 -1
  482. package/dist/domains/chat/messages/reasoning.cjs.js +30 -14
  483. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  484. package/dist/domains/chat/messages/reasoning.es.js +32 -16
  485. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  486. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.cjs.js.map +1 -1
  487. package/dist/domains/chat/messages/renderers/assistant-text-part-renderer.es.js.map +1 -1
  488. package/dist/domains/chat/messages/renderers/data-part-renderer.cjs.js.map +1 -1
  489. package/dist/domains/chat/messages/renderers/data-part-renderer.es.js.map +1 -1
  490. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js +1 -1
  491. package/dist/domains/chat/messages/renderers/in-message-attachment.cjs.js.map +1 -1
  492. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js +1 -1
  493. package/dist/domains/chat/messages/renderers/in-message-attachment.es.js.map +1 -1
  494. package/dist/domains/chat/messages/renderers/message-text.cjs.js +4 -4
  495. package/dist/domains/chat/messages/renderers/message-text.es.js +4 -4
  496. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +3 -8
  497. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
  498. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +3 -8
  499. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
  500. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  501. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js.map +1 -1
  502. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  503. package/dist/domains/chat/messages/renderers/status-renderers.es.js.map +1 -1
  504. package/dist/domains/chat/messages/renderers/tool-part.cjs.js +12 -2
  505. package/dist/domains/chat/messages/renderers/tool-part.cjs.js.map +1 -1
  506. package/dist/domains/chat/messages/renderers/tool-part.es.js +12 -2
  507. package/dist/domains/chat/messages/renderers/tool-part.es.js.map +1 -1
  508. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js +2 -1
  509. package/dist/domains/chat/messages/renderers/user-file-part-renderer.cjs.js.map +1 -1
  510. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js +2 -1
  511. package/dist/domains/chat/messages/renderers/user-file-part-renderer.es.js.map +1 -1
  512. package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
  513. package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
  514. package/dist/domains/chat/messages/signal-badge.cjs.js +3 -19
  515. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  516. package/dist/domains/chat/messages/signal-badge.es.js +4 -20
  517. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  518. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  519. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  520. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  521. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  522. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  523. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  524. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +3 -3
  525. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +3 -3
  526. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +2 -2
  527. package/dist/domains/chat/tools/badges/observation-renderer.es.js +2 -2
  528. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +11 -24
  529. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js.map +1 -1
  530. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +11 -24
  531. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js.map +1 -1
  532. package/dist/domains/chat/tools/tool-card-kind.cjs.js +2 -1
  533. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  534. package/dist/domains/chat/tools/tool-card-kind.es.js +2 -1
  535. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  536. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -0
  537. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  538. package/dist/domains/chat/tools/tool-groups.es.js +1 -0
  539. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  540. package/dist/domains/logs/components/log-details-view.cjs.js +4 -4
  541. package/dist/domains/logs/components/log-details-view.es.js +4 -4
  542. package/dist/domains/logs/components/logs-error-content.cjs.js +3 -3
  543. package/dist/domains/logs/components/logs-error-content.es.js +3 -3
  544. package/dist/domains/logs/components/logs-layout.cjs.js +1 -1
  545. package/dist/domains/logs/components/logs-layout.es.js +1 -1
  546. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  547. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  548. package/dist/domains/logs/components/logs-toolbar.cjs.js +2 -2
  549. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  550. package/dist/domains/logs/components/logs-toolbar.es.js +2 -2
  551. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  552. package/dist/domains/logs/components/no-logs-info.cjs.js +3 -6
  553. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  554. package/dist/domains/logs/components/no-logs-info.es.js +3 -6
  555. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  556. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  557. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  558. package/dist/domains/logs/hooks/use-logs.cjs.js.map +1 -1
  559. package/dist/domains/logs/hooks/use-logs.es.js.map +1 -1
  560. package/dist/domains/logs/log-filters.cjs.js.map +1 -1
  561. package/dist/domains/logs/log-filters.es.js.map +1 -1
  562. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  563. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  564. package/dist/domains/memory/components/memory-studio-panel.cjs.js +3 -3
  565. package/dist/domains/memory/components/memory-studio-panel.es.js +3 -3
  566. package/dist/domains/memory/components/observation-detail-view.cjs.js +4 -4
  567. package/dist/domains/memory/components/observation-detail-view.es.js +4 -4
  568. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  569. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  570. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  571. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  572. package/dist/domains/metrics/components/card-action-buttons.cjs.js +3 -5
  573. package/dist/domains/metrics/components/card-action-buttons.cjs.js.map +1 -1
  574. package/dist/domains/metrics/components/card-action-buttons.es.js +3 -5
  575. package/dist/domains/metrics/components/card-action-buttons.es.js.map +1 -1
  576. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  577. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  578. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  579. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  580. package/dist/domains/metrics/components/latency-card-view.cjs.js +4 -4
  581. package/dist/domains/metrics/components/latency-card-view.es.js +4 -4
  582. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  583. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  584. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  585. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  586. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  587. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  588. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
  589. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
  590. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +4 -4
  591. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +4 -4
  592. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
  593. package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
  594. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  595. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  596. package/dist/domains/traces/components/span-data-panel-view.cjs.js +72 -78
  597. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  598. package/dist/domains/traces/components/span-data-panel-view.es.js +72 -78
  599. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  600. package/dist/domains/traces/components/span-details-view.cjs.js +31 -8
  601. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  602. package/dist/domains/traces/components/span-details-view.es.js +31 -8
  603. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  604. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +38 -0
  605. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js.map +1 -0
  606. package/dist/domains/traces/components/span-payload/span-error-renderer.d.ts +2 -0
  607. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +34 -0
  608. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js.map +1 -0
  609. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +50 -0
  610. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js.map +1 -0
  611. package/dist/domains/traces/components/span-payload/span-input-renderers.d.ts +2 -0
  612. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +46 -0
  613. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js.map +1 -0
  614. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +97 -0
  615. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -0
  616. package/dist/domains/traces/components/span-payload/span-output-renderers.d.ts +2 -0
  617. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +93 -0
  618. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -0
  619. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js +34 -0
  620. package/dist/domains/traces/components/span-payload/span-payload-attachment.cjs.js.map +1 -0
  621. package/dist/domains/traces/components/span-payload/span-payload-attachment.d.ts +2 -0
  622. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js +30 -0
  623. package/dist/domains/traces/components/span-payload/span-payload-attachment.es.js.map +1 -0
  624. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +25 -0
  625. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -0
  626. package/dist/domains/traces/components/span-payload/span-payload-json.d.ts +2 -0
  627. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +21 -0
  628. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -0
  629. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +79 -0
  630. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -0
  631. package/dist/domains/traces/components/span-payload/span-payload-messages.d.ts +2 -0
  632. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +75 -0
  633. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -0
  634. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +18 -0
  635. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js.map +1 -0
  636. package/dist/domains/traces/components/span-payload/span-payload-primitives.d.ts +2 -0
  637. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +6 -0
  638. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js.map +1 -0
  639. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js +14 -0
  640. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -0
  641. package/dist/domains/traces/components/span-payload/span-payload-registry.d.ts +2 -0
  642. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js +9 -0
  643. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -0
  644. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +73 -0
  645. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -0
  646. package/dist/domains/traces/components/span-payload/span-payload-section.d.ts +2 -0
  647. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +69 -0
  648. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -0
  649. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +15 -0
  650. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js.map +1 -0
  651. package/dist/domains/traces/components/span-payload/span-payload-tool.d.ts +2 -0
  652. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +7 -0
  653. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js.map +1 -0
  654. package/dist/domains/traces/components/span-payload.cjs.js +20 -0
  655. package/dist/domains/traces/components/span-payload.cjs.js.map +1 -0
  656. package/dist/domains/traces/components/span-payload.d.ts +2 -0
  657. package/dist/domains/traces/components/span-payload.es.js +7 -0
  658. package/dist/domains/traces/components/span-payload.es.js.map +1 -0
  659. package/dist/domains/traces/components/span-rows.cjs.js +1 -55
  660. package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
  661. package/dist/domains/traces/components/span-rows.es.js +1 -55
  662. package/dist/domains/traces/components/span-rows.es.js.map +1 -1
  663. package/dist/domains/traces/components/span-summary-description.cjs.js +7 -46
  664. package/dist/domains/traces/components/span-summary-description.cjs.js.map +1 -1
  665. package/dist/domains/traces/components/span-summary-description.es.js +8 -47
  666. package/dist/domains/traces/components/span-summary-description.es.js.map +1 -1
  667. package/dist/domains/traces/components/span-timeline-row.cjs.js +139 -0
  668. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -0
  669. package/dist/domains/traces/components/span-timeline-row.d.ts +2 -0
  670. package/dist/domains/traces/components/span-timeline-row.es.js +135 -0
  671. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -0
  672. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +3 -3
  673. package/dist/domains/traces/components/span-timing-hover-card.es.js +3 -3
  674. package/dist/domains/traces/components/span-token-usage.cjs.js +2 -2
  675. package/dist/domains/traces/components/span-token-usage.es.js +2 -2
  676. package/dist/domains/traces/components/span-tree-row.cjs.js +3 -20
  677. package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
  678. package/dist/domains/traces/components/span-tree-row.es.js +3 -20
  679. package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
  680. package/dist/domains/traces/components/span-type-legend.cjs.js +12 -6
  681. package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
  682. package/dist/domains/traces/components/span-type-legend.es.js +14 -7
  683. package/dist/domains/traces/components/span-type-legend.es.js.map +1 -1
  684. package/dist/domains/traces/components/thread-trace/thread-trace-context.cjs.js.map +1 -1
  685. package/dist/domains/traces/components/thread-trace/thread-trace-context.es.js.map +1 -1
  686. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +16 -30
  687. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js.map +1 -1
  688. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +17 -28
  689. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js.map +1 -1
  690. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +2 -2
  691. package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
  692. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +2 -2
  693. package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
  694. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +41 -9
  695. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  696. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +38 -10
  697. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  698. package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +2 -2
  699. package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +2 -2
  700. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +17 -6
  701. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
  702. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +17 -6
  703. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
  704. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.cjs.js.map +1 -1
  705. package/dist/domains/traces/components/thread-trace/thread-trace-row-context.es.js.map +1 -1
  706. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +14 -14
  707. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  708. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +14 -14
  709. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  710. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js +29 -9
  711. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.cjs.js.map +1 -1
  712. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js +29 -9
  713. package/dist/domains/traces/components/thread-trace/thread-trace-span-panel.es.js.map +1 -1
  714. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +70 -0
  715. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js.map +1 -0
  716. package/dist/domains/traces/components/thread-trace/thread-trace-spans.d.ts +2 -0
  717. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +66 -0
  718. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js.map +1 -0
  719. package/dist/domains/traces/components/thread-trace.cjs.js +7 -6
  720. package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
  721. package/dist/domains/traces/components/thread-trace.es.js +9 -8
  722. package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
  723. package/dist/domains/traces/components/timeline-name-col.cjs.js +51 -22
  724. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  725. package/dist/domains/traces/components/timeline-name-col.es.js +51 -22
  726. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  727. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +2 -2
  728. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  729. package/dist/domains/traces/components/timeline-structure-sign.es.js +2 -2
  730. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  731. package/dist/domains/traces/components/timeline-timing-col.cjs.js +2 -2
  732. package/dist/domains/traces/components/timeline-timing-col.es.js +2 -2
  733. package/dist/domains/traces/components/trace-columns-menu.cjs.js +6 -6
  734. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  735. package/dist/domains/traces/components/trace-columns-menu.es.js +6 -6
  736. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  737. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +199 -163
  738. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  739. package/dist/domains/traces/components/trace-data-panel-view.es.js +202 -166
  740. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  741. package/dist/domains/traces/components/trace-details-view.cjs.js.map +1 -1
  742. package/dist/domains/traces/components/trace-details-view.es.js.map +1 -1
  743. package/dist/domains/traces/components/trace-id-button.cjs.js +2 -16
  744. package/dist/domains/traces/components/trace-id-button.cjs.js.map +1 -1
  745. package/dist/domains/traces/components/trace-id-button.es.js +3 -17
  746. package/dist/domains/traces/components/trace-id-button.es.js.map +1 -1
  747. package/dist/domains/traces/components/trace-keys-and-values.cjs.js +2 -2
  748. package/dist/domains/traces/components/trace-keys-and-values.es.js +2 -2
  749. package/dist/domains/traces/components/trace-span-timeline.cjs.js +10 -16
  750. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  751. package/dist/domains/traces/components/trace-span-timeline.es.js +10 -16
  752. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  753. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +40 -0
  754. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -0
  755. package/dist/domains/traces/components/trace-span-tree-skeleton.d.ts +2 -0
  756. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +36 -0
  757. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -0
  758. package/dist/domains/traces/components/trace-span-tree.cjs.js +30 -31
  759. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  760. package/dist/domains/traces/components/trace-span-tree.es.js +30 -31
  761. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  762. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  763. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  764. package/dist/domains/traces/components/trace-summary-description.cjs.js +21 -75
  765. package/dist/domains/traces/components/trace-summary-description.cjs.js.map +1 -1
  766. package/dist/domains/traces/components/trace-summary-description.es.js +22 -76
  767. package/dist/domains/traces/components/trace-summary-description.es.js.map +1 -1
  768. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +74 -0
  769. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +1 -0
  770. package/dist/domains/traces/components/trace-time-range-chip.d.ts +2 -0
  771. package/dist/domains/traces/components/trace-time-range-chip.es.js +67 -0
  772. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +1 -0
  773. package/dist/domains/traces/components/traces-error-content.cjs.js +2 -2
  774. package/dist/domains/traces/components/traces-error-content.es.js +2 -2
  775. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +2 -2
  776. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +2 -2
  777. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js +24 -0
  778. package/dist/domains/traces/components/traces-list-view-adapter.cjs.js.map +1 -0
  779. package/dist/domains/traces/components/traces-list-view-adapter.d.ts +2 -0
  780. package/dist/domains/traces/components/traces-list-view-adapter.es.js +20 -0
  781. package/dist/domains/traces/components/traces-list-view-adapter.es.js.map +1 -0
  782. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
  783. package/dist/domains/traces/components/traces-list-view.es.js +4 -4
  784. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +33 -0
  785. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -0
  786. package/dist/domains/traces/components/traces-page-skeleton.d.ts +2 -0
  787. package/dist/domains/traces/components/traces-page-skeleton.es.js +29 -0
  788. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -0
  789. package/dist/domains/traces/components.cjs.js +17 -11
  790. package/dist/domains/traces/components.cjs.js.map +1 -1
  791. package/dist/domains/traces/components.es.js +9 -6
  792. package/dist/domains/traces/components.es.js.map +1 -1
  793. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  794. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  795. package/dist/domains/traces/hooks/use-span-detail.cjs.js.map +1 -1
  796. package/dist/domains/traces/hooks/use-span-detail.es.js.map +1 -1
  797. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js +70 -0
  798. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.cjs.js.map +1 -0
  799. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +2 -0
  800. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js +65 -0
  801. package/dist/domains/traces/hooks/use-trace-metadata-filter-fields.es.js.map +1 -0
  802. package/dist/domains/traces/hooks/use-trace-query.cjs.js +90 -0
  803. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -0
  804. package/dist/domains/traces/hooks/use-trace-query.d.ts +2 -0
  805. package/dist/domains/traces/hooks/use-trace-query.es.js +83 -0
  806. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -0
  807. package/dist/domains/traces/hooks/use-trace-span-navigation.cjs.js.map +1 -1
  808. package/dist/domains/traces/hooks/use-trace-span-navigation.es.js.map +1 -1
  809. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +2 -1
  810. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  811. package/dist/domains/traces/hooks/use-trace-spans.es.js +3 -2
  812. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  813. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +42 -2
  814. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  815. package/dist/domains/traces/hooks/use-trace-url-state.es.js +42 -2
  816. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  817. package/dist/domains/traces/hooks/use-traces.cjs.js +9 -7
  818. package/dist/domains/traces/hooks/use-traces.cjs.js.map +1 -1
  819. package/dist/domains/traces/hooks/use-traces.es.js +9 -7
  820. package/dist/domains/traces/hooks/use-traces.es.js.map +1 -1
  821. package/dist/domains/traces/hooks.cjs.js +4 -0
  822. package/dist/domains/traces/hooks.cjs.js.map +1 -1
  823. package/dist/domains/traces/hooks.es.js +2 -0
  824. package/dist/domains/traces/hooks.es.js.map +1 -1
  825. package/dist/domains/traces/trace-filters.cjs.js +151 -88
  826. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  827. package/dist/domains/traces/trace-filters.es.js +141 -87
  828. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  829. package/dist/domains/traces/trace-query-filters.cjs.js +80 -0
  830. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -0
  831. package/dist/domains/traces/trace-query-filters.d.ts +2 -0
  832. package/dist/domains/traces/trace-query-filters.es.js +73 -0
  833. package/dist/domains/traces/trace-query-filters.es.js.map +1 -0
  834. package/dist/domains/traces/types.cjs.js.map +1 -1
  835. package/dist/domains/traces/types.es.js.map +1 -1
  836. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.cjs.js.map +1 -1
  837. package/dist/domains/traces/utils/filter-spans-keeping-ancestors.es.js.map +1 -1
  838. package/dist/domains/traces/utils/span-utils.cjs.js.map +1 -1
  839. package/dist/domains/traces/utils/span-utils.es.js.map +1 -1
  840. package/dist/domains/traces/utils/to-searchable-spans.cjs.js.map +1 -1
  841. package/dist/domains/traces/utils/to-searchable-spans.es.js.map +1 -1
  842. package/dist/domains/traces.cjs.js +37 -13
  843. package/dist/domains/traces.cjs.js.map +1 -1
  844. package/dist/domains/traces.es.js +13 -7
  845. package/dist/domains/traces.es.js.map +1 -1
  846. package/dist/drawer-CEufBgtb.cjs +367 -0
  847. package/dist/drawer-CEufBgtb.cjs.map +1 -0
  848. package/dist/drawer-DgGxK4oq.js +327 -0
  849. package/dist/drawer-DgGxK4oq.js.map +1 -0
  850. package/dist/dropdown-menu-B3nTlFnz.js +222 -0
  851. package/dist/dropdown-menu-B3nTlFnz.js.map +1 -0
  852. package/dist/dropdown-menu-DfX8T0jb.cjs +243 -0
  853. package/dist/dropdown-menu-DfX8T0jb.cjs.map +1 -0
  854. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +3 -3
  855. package/dist/ee/signals/components/entity-index-compact-grid.es.js +3 -3
  856. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  857. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  858. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  859. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  860. package/dist/ee/signals/components/signals-empty-state.cjs.js +11 -7
  861. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  862. package/dist/ee/signals/components/signals-empty-state.es.js +11 -7
  863. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  864. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +2 -2
  865. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +2 -2
  866. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +13 -11
  867. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  868. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +11 -9
  869. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  870. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  871. package/dist/ee/signals/examples-pager.es.js +1 -1
  872. package/dist/ee/signals/flow-card.cjs.js +2 -2
  873. package/dist/ee/signals/flow-card.es.js +2 -2
  874. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  875. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  876. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  877. package/dist/ee/signals/sankey-signals.es.js +1 -1
  878. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +8 -8
  879. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  880. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +8 -8
  881. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  882. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +5 -5
  883. package/dist/ee/signals/settings/trace-signal-settings.es.js +5 -5
  884. package/dist/ee/signals/signal-delta-column.cjs.js +1 -1
  885. package/dist/ee/signals/signal-delta-column.es.js +1 -1
  886. package/dist/ee/signals/signal-lifelines.cjs.js +1 -1
  887. package/dist/ee/signals/signal-lifelines.es.js +1 -1
  888. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  889. package/dist/ee/signals/signals-error-state.es.js +1 -1
  890. package/dist/ee/signals/signals-loading-skeleton.cjs.js +1 -1
  891. package/dist/ee/signals/signals-loading-skeleton.es.js +1 -1
  892. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  893. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  894. package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -1
  895. package/dist/ee/signals/sortable-signal-headers.es.js +1 -1
  896. package/dist/ee/signals/theme-detail-panel.cjs.js +2 -2
  897. package/dist/ee/signals/theme-detail-panel.es.js +2 -2
  898. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  899. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  900. package/dist/ee/signals/theme-trend-chart.cjs.js +1 -1
  901. package/dist/ee/signals/theme-trend-chart.es.js +1 -1
  902. package/dist/ee/signals/trace-insight-view.cjs.js +11 -2
  903. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  904. package/dist/ee/signals/trace-insight-view.es.js +11 -2
  905. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  906. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +1 -1
  907. package/dist/ee/signals/trace-intelligence-explainer.es.js +1 -1
  908. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  909. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  910. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js +1 -2
  911. package/dist/ee/topics/components/topic-trace-details-panel.cjs.js.map +1 -1
  912. package/dist/ee/topics/components/topic-trace-details-panel.es.js +1 -2
  913. package/dist/ee/topics/components/topic-trace-details-panel.es.js.map +1 -1
  914. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  915. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  916. package/dist/field-block-An2PO2_X.cjs +93 -0
  917. package/dist/field-block-An2PO2_X.cjs.map +1 -0
  918. package/dist/field-block-CQkD13nw.js +91 -0
  919. package/dist/field-block-CQkD13nw.js.map +1 -0
  920. package/dist/field-error-id-B3Z2Zu5y.cjs +6 -0
  921. package/dist/field-error-id-B3Z2Zu5y.cjs.map +1 -0
  922. package/dist/field-error-id-D3yg1nBh.js +4 -0
  923. package/dist/field-error-id-D3yg1nBh.js.map +1 -0
  924. package/dist/filter-bar-chip-BR7Xnpeo.cjs +868 -0
  925. package/dist/filter-bar-chip-BR7Xnpeo.cjs.map +1 -0
  926. package/dist/filter-bar-chip-DyITaBNj.js +853 -0
  927. package/dist/filter-bar-chip-DyITaBNj.js.map +1 -0
  928. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  929. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  930. package/dist/hooks/use-fluid-hover.cjs.js +297 -0
  931. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -0
  932. package/dist/hooks/use-fluid-hover.d.ts +2 -0
  933. package/dist/hooks/use-fluid-hover.es.js +289 -0
  934. package/dist/hooks/use-fluid-hover.es.js.map +1 -0
  935. package/dist/hooks/use-local-storage-state.cjs.js +49 -0
  936. package/dist/hooks/use-local-storage-state.cjs.js.map +1 -1
  937. package/dist/hooks/use-local-storage-state.es.js +50 -2
  938. package/dist/hooks/use-local-storage-state.es.js.map +1 -1
  939. package/dist/horizontal-bars-D1992rbt.cjs +141 -0
  940. package/dist/horizontal-bars-D1992rbt.cjs.map +1 -0
  941. package/dist/horizontal-bars-lhqUch51.js +139 -0
  942. package/dist/horizontal-bars-lhqUch51.js.map +1 -0
  943. package/dist/hover-card-BSj1EgQs.cjs +91 -0
  944. package/dist/hover-card-BSj1EgQs.cjs.map +1 -0
  945. package/dist/hover-card-Cmh0QRP8.js +68 -0
  946. package/dist/hover-card-Cmh0QRP8.js.map +1 -0
  947. package/dist/icons/Icon.cjs.js +5 -4
  948. package/dist/icons/Icon.cjs.js.map +1 -1
  949. package/dist/icons/Icon.es.js +5 -4
  950. package/dist/icons/Icon.es.js.map +1 -1
  951. package/dist/index-Cp3ZQQze.js +45 -0
  952. package/dist/index-Cp3ZQQze.js.map +1 -0
  953. package/dist/index-gbqoNdVM.cjs +47 -0
  954. package/dist/index-gbqoNdVM.cjs.map +1 -0
  955. package/dist/input-XEcMP_LL.cjs +99 -0
  956. package/dist/input-XEcMP_LL.cjs.map +1 -0
  957. package/dist/input-group-D_1g2L_v.cjs +243 -0
  958. package/dist/input-group-D_1g2L_v.cjs.map +1 -0
  959. package/dist/input-group-rn0r72y5.js +217 -0
  960. package/dist/input-group-rn0r72y5.js.map +1 -0
  961. package/dist/input-kU7nI6V5.js +78 -0
  962. package/dist/input-kU7nI6V5.js.map +1 -0
  963. package/dist/kbd-DjjBBIZN.cjs +34 -0
  964. package/dist/kbd-DjjBBIZN.cjs.map +1 -0
  965. package/dist/kbd-H5Qu573u.js +32 -0
  966. package/dist/kbd-H5Qu573u.js.map +1 -0
  967. package/dist/label-DxQoIwES.cjs +34 -0
  968. package/dist/label-DxQoIwES.cjs.map +1 -0
  969. package/dist/label-NULyP-1Q.js +13 -0
  970. package/dist/label-NULyP-1Q.js.map +1 -0
  971. package/dist/layout/tabbed-container.cjs.js +10 -11
  972. package/dist/layout/tabbed-container.cjs.js.map +1 -1
  973. package/dist/layout/tabbed-container.es.js +9 -10
  974. package/dist/layout/tabbed-container.es.js.map +1 -1
  975. package/dist/lib/springs.cjs.js +32 -0
  976. package/dist/lib/springs.cjs.js.map +1 -0
  977. package/dist/lib/springs.d.ts +2 -0
  978. package/dist/lib/springs.es.js +27 -0
  979. package/dist/lib/springs.es.js.map +1 -0
  980. package/dist/list-search-Cg5Y90E8.js +71 -0
  981. package/dist/list-search-Cg5Y90E8.js.map +1 -0
  982. package/dist/list-search-DISXdbOP.cjs +73 -0
  983. package/dist/list-search-DISXdbOP.cjs.map +1 -0
  984. package/dist/logs-data-list-B1FY1A2A.cjs +82 -0
  985. package/dist/logs-data-list-B1FY1A2A.cjs.map +1 -0
  986. package/dist/logs-data-list-DZz_YVd2.js +80 -0
  987. package/dist/logs-data-list-DZz_YVd2.js.map +1 -0
  988. package/dist/main-sidebar-BxC9yo3t.cjs +900 -0
  989. package/dist/main-sidebar-BxC9yo3t.cjs.map +1 -0
  990. package/dist/main-sidebar-D9QEbGX4.js +882 -0
  991. package/dist/main-sidebar-D9QEbGX4.js.map +1 -0
  992. package/dist/markdown-renderer-CUQHtRlL.cjs +410 -0
  993. package/dist/markdown-renderer-CUQHtRlL.cjs.map +1 -0
  994. package/dist/markdown-renderer-SVeQ5Uo_.js +408 -0
  995. package/dist/markdown-renderer-SVeQ5Uo_.js.map +1 -0
  996. package/dist/message-B-28p4Zs.cjs +66 -0
  997. package/dist/message-B-28p4Zs.cjs.map +1 -0
  998. package/dist/message-DGZPjxsh.js +62 -0
  999. package/dist/message-DGZPjxsh.js.map +1 -0
  1000. package/dist/message-scroller-SYgTcpaD.cjs +857 -0
  1001. package/dist/message-scroller-SYgTcpaD.cjs.map +1 -0
  1002. package/dist/message-scroller-ViAipPK4.js +831 -0
  1003. package/dist/message-scroller-ViAipPK4.js.map +1 -0
  1004. package/dist/metrics-card-CM9jj-UN.cjs +95 -0
  1005. package/dist/metrics-card-CM9jj-UN.cjs.map +1 -0
  1006. package/dist/metrics-card-ClpFsCSt.js +93 -0
  1007. package/dist/metrics-card-ClpFsCSt.js.map +1 -0
  1008. package/dist/metrics-kpi-card-CoVZRI52.cjs +79 -0
  1009. package/dist/metrics-kpi-card-CoVZRI52.cjs.map +1 -0
  1010. package/dist/metrics-kpi-card-D-ct3JAY.js +77 -0
  1011. package/dist/metrics-kpi-card-D-ct3JAY.js.map +1 -0
  1012. package/dist/new/layout/app-shell.cjs.js +2 -12
  1013. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  1014. package/dist/new/layout/app-shell.es.js +2 -12
  1015. package/dist/new/layout/app-shell.es.js.map +1 -1
  1016. package/dist/new/layout/page-header.cjs.js +1 -1
  1017. package/dist/new/layout/page-header.es.js +1 -1
  1018. package/dist/new/layout/page-shell.cjs.js +34 -0
  1019. package/dist/new/layout/page-shell.cjs.js.map +1 -0
  1020. package/dist/new/layout/page-shell.d.ts +2 -0
  1021. package/dist/new/layout/page-shell.es.js +30 -0
  1022. package/dist/new/layout/page-shell.es.js.map +1 -0
  1023. package/dist/new/settings.cjs.js +20 -10
  1024. package/dist/new/settings.cjs.js.map +1 -1
  1025. package/dist/new/settings.es.js +20 -10
  1026. package/dist/new/settings.es.js.map +1 -1
  1027. package/dist/new/sidebar.cjs.js +675 -0
  1028. package/dist/new/sidebar.cjs.js.map +1 -0
  1029. package/dist/new/sidebar.d.ts +2 -0
  1030. package/dist/new/sidebar.es.js +655 -0
  1031. package/dist/new/sidebar.es.js.map +1 -0
  1032. package/dist/new-theme.css +39 -0
  1033. package/dist/no-data-page-layout-COzOm-mS.js +9 -0
  1034. package/dist/no-data-page-layout-COzOm-mS.js.map +1 -0
  1035. package/dist/no-data-page-layout-yCjhZq99.cjs +11 -0
  1036. package/dist/no-data-page-layout-yCjhZq99.cjs.map +1 -0
  1037. package/dist/page-header-DyAd0Uof.cjs +125 -0
  1038. package/dist/page-header-DyAd0Uof.cjs.map +1 -0
  1039. package/dist/page-header-DymTqQgq.js +123 -0
  1040. package/dist/page-header-DymTqQgq.js.map +1 -0
  1041. package/dist/page-layout-B_JUSRkD.js +97 -0
  1042. package/dist/page-layout-B_JUSRkD.js.map +1 -0
  1043. package/dist/page-layout-DXFMbJi3.cjs +99 -0
  1044. package/dist/page-layout-DXFMbJi3.cjs.map +1 -0
  1045. package/dist/popover-CGB4qBAn.cjs +121 -0
  1046. package/dist/popover-CGB4qBAn.cjs.map +1 -0
  1047. package/dist/popover-lj-OpKKH.js +97 -0
  1048. package/dist/popover-lj-OpKKH.js.map +1 -0
  1049. package/dist/primitives/control-size.cjs.js +11 -3
  1050. package/dist/primitives/control-size.cjs.js.map +1 -1
  1051. package/dist/primitives/control-size.es.js +11 -4
  1052. package/dist/primitives/control-size.es.js.map +1 -1
  1053. package/dist/primitives/fluid-menu.cjs.js +120 -0
  1054. package/dist/primitives/fluid-menu.cjs.js.map +1 -0
  1055. package/dist/primitives/fluid-menu.d.ts +2 -0
  1056. package/dist/primitives/fluid-menu.es.js +95 -0
  1057. package/dist/primitives/fluid-menu.es.js.map +1 -0
  1058. package/dist/primitives/form-element.cjs.js +17 -7
  1059. package/dist/primitives/form-element.cjs.js.map +1 -1
  1060. package/dist/primitives/form-element.es.js +14 -8
  1061. package/dist/primitives/form-element.es.js.map +1 -1
  1062. package/dist/primitives/menu-item.cjs.js +16 -14
  1063. package/dist/primitives/menu-item.cjs.js.map +1 -1
  1064. package/dist/primitives/menu-item.es.js +16 -14
  1065. package/dist/primitives/menu-item.es.js.map +1 -1
  1066. package/dist/primitives/resize-handle-indicator.cjs.js +4 -4
  1067. package/dist/primitives/resize-handle-indicator.cjs.js.map +1 -1
  1068. package/dist/primitives/resize-handle-indicator.es.js +4 -4
  1069. package/dist/primitives/resize-handle-indicator.es.js.map +1 -1
  1070. package/dist/primitives/transitions.cjs.js +1 -1
  1071. package/dist/primitives/transitions.cjs.js.map +1 -1
  1072. package/dist/primitives/transitions.es.js +1 -1
  1073. package/dist/primitives/transitions.es.js.map +1 -1
  1074. package/dist/primitives/trigger-button.cjs.js +2 -2
  1075. package/dist/primitives/trigger-button.es.js +2 -2
  1076. package/dist/property-filter-applied-CZu-Jwsx.js +344 -0
  1077. package/dist/property-filter-applied-CZu-Jwsx.js.map +1 -0
  1078. package/dist/property-filter-applied-DZz8aSoU.cjs +348 -0
  1079. package/dist/property-filter-applied-DZz8aSoU.cjs.map +1 -0
  1080. package/dist/resize/collapsible-panel.cjs.js +3 -3
  1081. package/dist/resize/collapsible-panel.es.js +3 -3
  1082. package/dist/resize/panel-drawer.cjs.js +2 -2
  1083. package/dist/resize/panel-drawer.es.js +2 -2
  1084. package/dist/resize/panel-group.cjs.js +1 -1
  1085. package/dist/resize/panel-group.es.js +1 -1
  1086. package/dist/resize/panel-icon-button.cjs.js +1 -1
  1087. package/dist/resize/panel-icon-button.es.js +1 -1
  1088. package/dist/resize/separator.cjs.js +5 -3
  1089. package/dist/resize/separator.cjs.js.map +1 -1
  1090. package/dist/resize/separator.es.js +5 -3
  1091. package/dist/resize/separator.es.js.map +1 -1
  1092. package/dist/sankey-chart-GiDY0WBV.js +916 -0
  1093. package/dist/sankey-chart-GiDY0WBV.js.map +1 -0
  1094. package/dist/sankey-chart-QibH6Vg1.cjs +926 -0
  1095. package/dist/sankey-chart-QibH6Vg1.cjs.map +1 -0
  1096. package/dist/scroll-area-ByrWkkO_.js +223 -0
  1097. package/dist/scroll-area-ByrWkkO_.js.map +1 -0
  1098. package/dist/scroll-area-l6Yx-88I.cjs +245 -0
  1099. package/dist/scroll-area-l6Yx-88I.cjs.map +1 -0
  1100. package/dist/search-field-block-jfMFV7AD.cjs +125 -0
  1101. package/dist/search-field-block-jfMFV7AD.cjs.map +1 -0
  1102. package/dist/search-field-block-zF_99MJ5.js +123 -0
  1103. package/dist/search-field-block-zF_99MJ5.js.map +1 -0
  1104. package/dist/section-DOZSptHn.cjs +115 -0
  1105. package/dist/section-DOZSptHn.cjs.map +1 -0
  1106. package/dist/section-fFFmNxVc.js +111 -0
  1107. package/dist/section-fFFmNxVc.js.map +1 -0
  1108. package/dist/select-31jx2l9F.cjs +164 -0
  1109. package/dist/select-31jx2l9F.cjs.map +1 -0
  1110. package/dist/select-bphXR9c4.js +138 -0
  1111. package/dist/select-bphXR9c4.js.map +1 -0
  1112. package/dist/select-field-block-BAZKc6ck.cjs +59 -0
  1113. package/dist/select-field-block-BAZKc6ck.cjs.map +1 -0
  1114. package/dist/select-field-block-BEs3cCRJ.js +57 -0
  1115. package/dist/select-field-block-BEs3cCRJ.js.map +1 -0
  1116. package/dist/settings-container-B5YhEzjS.js +27 -0
  1117. package/dist/settings-container-B5YhEzjS.js.map +1 -0
  1118. package/dist/settings-container-Dxb59YvM.cjs +30 -0
  1119. package/dist/settings-container-Dxb59YvM.cjs.map +1 -0
  1120. package/dist/settings-layout-CTnDZ_fr.js +55 -0
  1121. package/dist/settings-layout-CTnDZ_fr.js.map +1 -0
  1122. package/dist/settings-layout-DRrl-EBq.cjs +57 -0
  1123. package/dist/settings-layout-DRrl-EBq.cjs.map +1 -0
  1124. package/dist/settings-row-Dsu9uRdl.cjs +88 -0
  1125. package/dist/settings-row-Dsu9uRdl.cjs.map +1 -0
  1126. package/dist/settings-row-PB5zne3m.js +85 -0
  1127. package/dist/settings-row-PB5zne3m.js.map +1 -0
  1128. package/dist/shimmer-CmCazK2A.cjs +25 -0
  1129. package/dist/shimmer-CmCazK2A.cjs.map +1 -0
  1130. package/dist/shimmer-rej-NkeN.js +23 -0
  1131. package/dist/shimmer-rej-NkeN.js.map +1 -0
  1132. package/dist/skeleton-BpMg6F4M.js +23 -0
  1133. package/dist/skeleton-BpMg6F4M.js.map +1 -0
  1134. package/dist/skeleton-gdUQjWPU.cjs +25 -0
  1135. package/dist/skeleton-gdUQjWPU.cjs.map +1 -0
  1136. package/dist/slider-DXQNsGXe.js +95 -0
  1137. package/dist/slider-DXQNsGXe.js.map +1 -0
  1138. package/dist/slider-Kco52AqT.cjs +97 -0
  1139. package/dist/slider-Kco52AqT.cjs.map +1 -0
  1140. package/dist/spacings-C8KU7k6E.cjs +182 -0
  1141. package/dist/spacings-C8KU7k6E.cjs.map +1 -0
  1142. package/dist/spacings-Doib6y6Q.js +174 -0
  1143. package/dist/spacings-Doib6y6Q.js.map +1 -0
  1144. package/dist/span-payload-primitives-DknOcv6v.cjs +75 -0
  1145. package/dist/span-payload-primitives-DknOcv6v.cjs.map +1 -0
  1146. package/dist/span-payload-primitives-_TUMqise.js +68 -0
  1147. package/dist/span-payload-primitives-_TUMqise.js.map +1 -0
  1148. package/dist/spinner-SvnJqdcS.js +51 -0
  1149. package/dist/spinner-SvnJqdcS.js.map +1 -0
  1150. package/dist/spinner-cX-ypfV2.cjs +53 -0
  1151. package/dist/spinner-cX-ypfV2.cjs.map +1 -0
  1152. package/dist/src/components/fluid-hover-highlight.d.ts +60 -0
  1153. package/dist/src/domains/chat/attachments/attachment-preview-dialog.d.ts +2 -10
  1154. package/dist/src/domains/chat/attachments/composer-attachment-list.d.ts +3 -0
  1155. package/dist/src/domains/chat/attachments/composer-attachment.d.ts +8 -0
  1156. package/dist/src/domains/chat/messages/notification-signal-notice-variant.d.ts +1 -2
  1157. package/dist/src/domains/chat/messages/reasoning-content.d.ts +3 -0
  1158. package/dist/src/domains/chat/messages/reasoning-streaming-line.d.ts +0 -5
  1159. package/dist/src/domains/chat/messages/reasoning.d.ts +2 -1
  1160. package/dist/src/domains/chat/messages/renderers/assistant-text-part-renderer.d.ts +1 -1
  1161. package/dist/src/domains/chat/messages/renderers/data-part-renderer.d.ts +1 -1
  1162. package/dist/src/domains/chat/messages/renderers/in-message-attachment.d.ts +0 -5
  1163. package/dist/src/domains/chat/messages/renderers/reasoning-part-renderer.d.ts +2 -14
  1164. package/dist/src/domains/chat/messages/renderers/status-renderers.d.ts +1 -1
  1165. package/dist/src/domains/chat/messages/renderers/tool-part.d.ts +3 -1
  1166. package/dist/src/domains/chat/messages/renderers/user-file-part-renderer.d.ts +1 -8
  1167. package/dist/src/domains/chat/messages/renderers/user-text-part-renderer.d.ts +1 -1
  1168. package/dist/src/domains/chat/stories/attachments.stories.d.ts +1 -0
  1169. package/dist/src/domains/chat/stories/composer-attachments.stories.d.ts +18 -0
  1170. package/dist/src/domains/chat/stories/reasoning.stories.d.ts +2 -1
  1171. package/dist/src/domains/chat/tools/tool-groups.d.ts +1 -1
  1172. package/dist/src/domains/logs/hooks/use-logs.d.ts +2 -1
  1173. package/dist/src/domains/logs/log-filters.d.ts +2 -1
  1174. package/dist/src/domains/metrics/hooks/use-active-resources-kpi-metrics.d.ts +6 -6
  1175. package/dist/src/domains/metrics/hooks/use-active-threads-kpi-metrics.d.ts +6 -6
  1176. package/dist/src/domains/metrics/hooks/use-agent-runs-kpi-metrics.d.ts +6 -6
  1177. package/dist/src/domains/traces/components/index.d.ts +3 -5
  1178. package/dist/src/domains/traces/components/span-data-panel-view.d.ts +2 -3
  1179. package/dist/src/domains/traces/components/span-details-view.d.ts +1 -1
  1180. package/dist/src/domains/traces/components/span-payload/index.d.ts +7 -0
  1181. package/dist/src/domains/traces/components/span-payload/span-error-renderer.d.ts +7 -0
  1182. package/dist/src/domains/traces/components/span-payload/span-input-renderers.d.ts +6 -0
  1183. package/dist/src/domains/traces/components/span-payload/span-output-renderers.d.ts +6 -0
  1184. package/dist/src/domains/traces/components/span-payload/span-payload-attachment.d.ts +3 -0
  1185. package/dist/src/domains/traces/components/span-payload/span-payload-json.d.ts +6 -0
  1186. package/dist/src/domains/traces/components/span-payload/span-payload-messages.d.ts +6 -0
  1187. package/dist/src/domains/traces/components/span-payload/span-payload-primitives.d.ts +22 -0
  1188. package/dist/src/domains/traces/components/span-payload/span-payload-registry.d.ts +31 -0
  1189. package/dist/src/domains/traces/components/span-payload/span-payload-section.d.ts +24 -0
  1190. package/dist/src/domains/traces/components/span-payload/span-payload-tool.d.ts +4 -0
  1191. package/dist/src/domains/traces/components/span-payload/span-payload.stories.d.ts +23 -0
  1192. package/dist/src/domains/traces/components/span-rows.d.ts +0 -8
  1193. package/dist/src/domains/traces/components/span-summary-description.d.ts +1 -2
  1194. package/dist/src/domains/traces/components/span-timeline-row.d.ts +10 -0
  1195. package/dist/src/domains/traces/components/span-tree-row.d.ts +5 -3
  1196. package/dist/src/domains/traces/components/span-type-legend.d.ts +4 -2
  1197. package/dist/src/domains/traces/components/thread-trace/index.d.ts +23 -17
  1198. package/dist/src/domains/traces/components/thread-trace/thread-trace-context.d.ts +1 -1
  1199. package/dist/src/domains/traces/components/thread-trace/thread-trace-details.d.ts +7 -18
  1200. package/dist/src/domains/traces/components/thread-trace/thread-trace-messages.d.ts +24 -2
  1201. package/dist/src/domains/traces/components/thread-trace/thread-trace-root.d.ts +4 -1
  1202. package/dist/src/domains/traces/components/thread-trace/thread-trace-row-context.d.ts +2 -3
  1203. package/dist/src/domains/traces/components/thread-trace/thread-trace-row.d.ts +2 -4
  1204. package/dist/src/domains/traces/components/thread-trace/thread-trace-span-panel.d.ts +5 -2
  1205. package/dist/src/domains/traces/components/thread-trace/thread-trace-spans.d.ts +12 -0
  1206. package/dist/src/domains/traces/components/timeline-name-col.d.ts +6 -1
  1207. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +24 -13
  1208. package/dist/src/domains/traces/components/trace-details-view.d.ts +1 -1
  1209. package/dist/src/domains/traces/components/trace-span-timeline.d.ts +6 -5
  1210. package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +11 -0
  1211. package/dist/src/domains/traces/components/trace-span-tree.d.ts +2 -2
  1212. package/dist/src/domains/traces/components/trace-summary-description.d.ts +1 -2
  1213. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +17 -0
  1214. package/dist/src/domains/traces/components/traces-list-view-adapter.d.ts +3 -0
  1215. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +9 -0
  1216. package/dist/src/domains/traces/hooks/index.d.ts +2 -0
  1217. package/dist/src/domains/traces/hooks/use-span-detail.d.ts +4 -7
  1218. package/dist/src/domains/traces/hooks/use-trace-metadata-filter-fields.d.ts +25 -0
  1219. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +38 -0
  1220. package/dist/src/domains/traces/hooks/use-trace-span-navigation.d.ts +1 -1
  1221. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +188 -150
  1222. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +7 -0
  1223. package/dist/src/domains/traces/hooks/use-traces.d.ts +7 -1
  1224. package/dist/src/domains/traces/index.d.ts +1 -0
  1225. package/dist/src/domains/traces/trace-filters.d.ts +32 -17
  1226. package/dist/src/domains/traces/trace-query-filters.d.ts +17 -0
  1227. package/dist/src/domains/traces/types.d.ts +6 -1
  1228. package/dist/src/domains/traces/utils/filter-spans-keeping-ancestors.d.ts +1 -1
  1229. package/dist/src/domains/traces/utils/span-utils.d.ts +1 -1
  1230. package/dist/src/domains/traces/utils/to-searchable-spans.d.ts +4 -3
  1231. package/dist/src/ds/components/Activity/activity.d.ts +10 -0
  1232. package/dist/src/ds/components/Activity/activity.stories.d.ts +20 -0
  1233. package/dist/src/ds/components/Activity/index.d.ts +1 -0
  1234. package/dist/src/ds/components/Button/Button.d.ts +12 -7
  1235. package/dist/src/ds/components/Button/CreateButton.d.ts +1 -1
  1236. package/dist/src/ds/components/Collapsible/collapsible.d.ts +2 -0
  1237. package/dist/src/ds/components/Collapsible/collapsible.stories.d.ts +1 -0
  1238. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +10 -8
  1239. package/dist/src/ds/components/Composer/composer.d.ts +8 -7
  1240. package/dist/src/ds/components/Composer/composer.stories.d.ts +7 -1
  1241. package/dist/src/ds/components/Composer/index.d.ts +2 -2
  1242. package/dist/src/ds/components/Composer/use-composer-pointer.d.ts +9 -0
  1243. package/dist/src/ds/components/DataCodeSection/data-code-section.d.ts +3 -1
  1244. package/dist/src/ds/components/DataDetailsPanel/data-details-panel-code-section.d.ts +3 -1
  1245. package/dist/src/ds/components/DataPanel/data-panel-close-button.d.ts +10 -1
  1246. package/dist/src/ds/components/DataPanel/data-panel-content.d.ts +3 -1
  1247. package/dist/src/ds/components/DataPanel/data-panel-copy-id.d.ts +9 -0
  1248. package/dist/src/ds/components/DataPanel/data-panel-header-actions.d.ts +8 -0
  1249. package/dist/src/ds/components/DataPanel/data-panel-header-content.d.ts +8 -0
  1250. package/dist/src/ds/components/DataPanel/data-panel-metadata.d.ts +18 -0
  1251. package/dist/src/ds/components/DataPanel/data-panel-next-prev-nav.d.ts +4 -1
  1252. package/dist/src/ds/components/DataPanel/data-panel-root.d.ts +24 -2
  1253. package/dist/src/ds/components/DataPanel/data-panel.d.ts +9 -0
  1254. package/dist/src/ds/components/DataPanel/data-panel.stories.d.ts +4 -1
  1255. package/dist/src/ds/components/DataPanel/index.d.ts +4 -0
  1256. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +15 -1
  1257. package/dist/src/ds/components/FilterBar/default-operators.d.ts +3 -0
  1258. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +35 -0
  1259. package/dist/src/ds/components/FilterBar/filter-bar-clear.d.ts +4 -0
  1260. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -0
  1261. package/dist/src/ds/components/FilterBar/filter-bar-draft-chip.d.ts +11 -0
  1262. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +10 -0
  1263. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +18 -0
  1264. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +34 -0
  1265. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +10 -0
  1266. package/dist/src/ds/components/FilterBar/index.d.ts +8 -0
  1267. package/dist/src/ds/components/FilterBar/match-query.d.ts +4 -0
  1268. package/dist/src/ds/components/FilterBar/types.d.ts +59 -0
  1269. package/dist/src/ds/components/FilterBar/use-value-step.d.ts +33 -0
  1270. package/dist/src/ds/components/FilterBar/use-value-suggestions.d.ts +23 -0
  1271. package/dist/src/ds/components/FormFieldBlocks/block/field-block-error-msg.d.ts +8 -1
  1272. package/dist/src/ds/components/FormFieldBlocks/block/field-error-id.d.ts +6 -0
  1273. package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +1 -1
  1274. package/dist/src/ds/components/FormFieldBlocks/fields/text-field-block.d.ts +1 -1
  1275. package/dist/src/ds/components/FormFieldBlocks/index.d.ts +1 -0
  1276. package/dist/src/ds/components/Input/input.d.ts +10 -5
  1277. package/dist/src/ds/components/Input/input.stories.d.ts +0 -1
  1278. package/dist/src/ds/components/InputGroup/input-group.d.ts +10 -5
  1279. package/dist/src/ds/components/MainSidebar/main-sidebar-context.d.ts +5 -1
  1280. package/dist/src/ds/components/MainSidebar/main-sidebar-mobile-trigger.d.ts +0 -1
  1281. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-header.d.ts +0 -1
  1282. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-item-classes.d.ts +0 -11
  1283. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +0 -6
  1284. package/dist/src/ds/components/MainSidebar/main-sidebar-root.d.ts +2 -1
  1285. package/dist/src/ds/components/Message/index.d.ts +4 -0
  1286. package/dist/src/ds/components/Message/message-copy-button.d.ts +3 -0
  1287. package/dist/src/ds/components/Message/message-timestamp.d.ts +3 -0
  1288. package/dist/src/ds/components/Message/message.d.ts +13 -0
  1289. package/dist/src/ds/components/Message/message.stories.d.ts +10 -0
  1290. package/dist/src/ds/components/PullRequestIcon/index.d.ts +2 -0
  1291. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.d.ts +25 -0
  1292. package/dist/src/ds/components/PullRequestIcon/pull-request-icon.stories.d.ts +24 -0
  1293. package/dist/src/ds/components/Select/select.d.ts +6 -5
  1294. package/dist/src/ds/components/Select/select.stories.d.ts +2 -2
  1295. package/dist/src/ds/components/Slider/slider.d.ts +2 -2
  1296. package/dist/src/ds/components/Slider/slider.stories.d.ts +1 -0
  1297. package/dist/src/ds/components/StatusIndicators/index.d.ts +3 -0
  1298. package/dist/src/ds/components/StatusIndicators/status-dot-styles.d.ts +11 -0
  1299. package/dist/src/ds/components/StatusIndicators/status-dot.d.ts +8 -0
  1300. package/dist/src/ds/components/StatusIndicators/status-dot.stories.d.ts +9 -0
  1301. package/dist/src/ds/components/StatusIndicators/status.d.ts +7 -0
  1302. package/dist/src/ds/components/StatusIndicators/status.stories.d.ts +7 -0
  1303. package/dist/src/ds/components/Tabs/index.d.ts +1 -1
  1304. package/dist/src/ds/components/Tabs/tabs-context.d.ts +1 -0
  1305. package/dist/src/ds/components/Tabs/tabs-list.d.ts +4 -1
  1306. package/dist/src/ds/components/Textarea/textarea.d.ts +10 -5
  1307. package/dist/src/ds/components/ThreadList/thread-list.d.ts +3 -4
  1308. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card-view.d.ts +2 -0
  1309. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-card.d.ts +3 -0
  1310. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-expression.d.ts +2 -0
  1311. package/dist/src/ds/components/Workflow/cards/condition/workflow-condition-source.d.ts +3 -0
  1312. package/dist/src/ds/components/Workflow/cards/step/workflow-step-card-view.d.ts +2 -0
  1313. package/dist/src/ds/components/Workflow/cards/timing/workflow-time-dial.d.ts +8 -0
  1314. package/dist/src/ds/components/Workflow/cards/timing/workflow-timing.d.ts +2 -0
  1315. package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +0 -1
  1316. package/dist/src/ds/components/Workflow/cards/workflow-card-kind.d.ts +10 -0
  1317. package/dist/src/ds/components/Workflow/cards/workflow-clock.d.ts +2 -1
  1318. package/dist/src/ds/components/Workflow/cards/workflow-type-badge.d.ts +2 -0
  1319. package/dist/src/ds/components/Workflow/controls/workflow-debug-controls.d.ts +5 -1
  1320. package/dist/src/ds/components/Workflow/data/workflow-edge-data-button.d.ts +4 -1
  1321. package/dist/src/ds/components/Workflow/graph/types.d.ts +1 -0
  1322. package/dist/src/ds/components/Workflow/graph/workflow-camera-duration.d.ts +1 -0
  1323. package/dist/src/ds/components/Workflow/graph/workflow-data-edge-view.d.ts +3 -1
  1324. package/dist/src/ds/components/Workflow/graph/workflow-graph-canvas.d.ts +5 -2
  1325. package/dist/src/ds/components/Workflow/graph/workflow-graph-groups.d.ts +11 -0
  1326. package/dist/src/ds/components/Workflow/graph/zoom-slider.d.ts +4 -1
  1327. package/dist/src/ds/components/Workflow/index.d.ts +5 -6
  1328. package/dist/src/ds/components/Workflow/stories/graph/graph-example.d.ts +4 -2
  1329. package/dist/src/ds/components/Workflow/stories/workflow-condition-card.stories.d.ts +4 -2
  1330. package/dist/src/ds/components/Workflow/stories/workflow-controls.stories.d.ts +5 -0
  1331. package/dist/src/ds/components/Workflow/stories/workflow-data.stories.d.ts +2 -1
  1332. package/dist/src/ds/components/Workflow/stories/workflow-graph.stories.d.ts +4 -1
  1333. package/dist/src/ds/components/Workflow/stories/workflow-step-card.stories.d.ts +7 -1
  1334. package/dist/src/ds/components/Workflow/types.d.ts +5 -11
  1335. package/dist/src/ds/components/Workflow/workflow-canvas-inset.d.ts +3 -0
  1336. package/dist/src/ds/components/ai/chat-event/chat-event-preview.d.ts +1 -0
  1337. package/dist/src/ds/components/ai/chat-event/chat-event.d.ts +14 -0
  1338. package/dist/src/ds/components/ai/chat-event/chat-notification.d.ts +17 -0
  1339. package/dist/src/ds/components/ai/chat-event/chat-signal.d.ts +9 -0
  1340. package/dist/src/ds/components/ai/chat-event/chat-skill.d.ts +7 -0
  1341. package/dist/src/ds/components/ai/chat-event/chat-time-gap.d.ts +3 -0
  1342. package/dist/src/ds/components/ai/chat-event/index.d.ts +7 -0
  1343. package/dist/src/ds/components/ai/chat-event/notification-variant.d.ts +2 -0
  1344. package/dist/src/ds/components/ai/chat-event/stories/notification.stories.d.ts +59 -0
  1345. package/dist/src/ds/components/ai/chat-event/stories/signal.stories.d.ts +46 -0
  1346. package/dist/src/ds/components/ai/chat-event/stories/skill.stories.d.ts +29 -0
  1347. package/dist/src/ds/components/ai/chat-event/stories/time-gap.stories.d.ts +16 -0
  1348. package/dist/src/ds/components/ai/tool-approval/index.d.ts +2 -0
  1349. package/dist/src/ds/components/ai/tool-approval/tool-approval-actions.stories.d.ts +44 -0
  1350. package/dist/src/ds/components/ai/tool-approval/tool-approval.d.ts +15 -0
  1351. package/dist/src/ds/components/ai/tool-approval/tool-approval.stories.d.ts +61 -0
  1352. package/dist/src/ds/components/ai/tool-call/index.d.ts +3 -0
  1353. package/dist/src/ds/components/ai/tool-call/tool-call-arguments.d.ts +8 -0
  1354. package/dist/src/ds/components/ai/tool-call/tool-call-output.d.ts +7 -0
  1355. package/dist/src/ds/components/ai/tool-call/tool-call-presentation.stories.d.ts +74 -0
  1356. package/dist/src/ds/components/ai/tool-call/tool-call-time.d.ts +3 -0
  1357. package/dist/src/ds/icons/Icon.d.ts +1 -1
  1358. package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +1 -0
  1359. package/dist/src/ds/new/layout/page-shell/index.d.ts +1 -0
  1360. package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +24 -0
  1361. package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +63 -0
  1362. package/dist/src/ds/new/sidebar/index.d.ts +15 -0
  1363. package/dist/src/ds/new/sidebar/sidebar-new-brand.d.ts +6 -0
  1364. package/dist/src/ds/new/sidebar/sidebar-new-command-header.d.ts +3 -0
  1365. package/dist/src/ds/new/sidebar/sidebar-new-footer-meta.d.ts +7 -0
  1366. package/dist/src/ds/new/sidebar/sidebar-new-footer.d.ts +3 -0
  1367. package/dist/src/ds/new/sidebar/sidebar-new-header.d.ts +3 -0
  1368. package/dist/src/ds/new/sidebar/sidebar-new-meter.d.ts +24 -0
  1369. package/dist/src/ds/new/sidebar/sidebar-new-more-links.d.ts +10 -0
  1370. package/dist/src/ds/new/sidebar/sidebar-new-nav-header.d.ts +11 -0
  1371. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-context.d.ts +8 -0
  1372. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.d.ts +1 -0
  1373. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root-view.d.ts +3 -0
  1374. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root.d.ts +7 -0
  1375. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-view.d.ts +9 -0
  1376. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack.d.ts +10 -0
  1377. package/dist/src/ds/new/sidebar/sidebar-new-nav.d.ts +3 -0
  1378. package/dist/src/ds/new/sidebar/sidebar-new-root.d.ts +5 -0
  1379. package/dist/src/ds/new/sidebar/sidebar-new-search-trigger.d.ts +7 -0
  1380. package/dist/src/ds/new/sidebar/sidebar-new-section-link.d.ts +9 -0
  1381. package/dist/src/ds/new/sidebar/sidebar-new-sections.d.ts +12 -0
  1382. package/dist/src/ds/new/sidebar/sidebar-new-trigger.d.ts +3 -0
  1383. package/dist/src/ds/new/sidebar/sidebar-new.d.ts +43 -0
  1384. package/dist/src/ds/new/sidebar/sidebar-new.stories.d.ts +8 -0
  1385. package/dist/src/ds/primitives/control-size.d.ts +2 -1
  1386. package/dist/src/ds/primitives/fluid-menu.d.ts +61 -0
  1387. package/dist/src/ds/primitives/form-element.d.ts +11 -6
  1388. package/dist/src/ds/primitives/menu-item.d.ts +4 -4
  1389. package/dist/src/ds/primitives/transitions.d.ts +1 -1
  1390. package/dist/src/ds/tokens/color-foundations.stories.d.ts +5 -0
  1391. package/dist/src/ds/tokens/colors.d.ts +14 -0
  1392. package/dist/src/ds/tokens/tokens.stories.d.ts +2 -0
  1393. package/dist/src/ds/tokens/typography-foundations.stories.d.ts +5 -0
  1394. package/dist/src/hooks/use-fluid-hover.d.ts +137 -0
  1395. package/dist/src/hooks/use-local-storage-state.d.ts +16 -0
  1396. package/dist/src/lib/colors.d.ts +4 -0
  1397. package/dist/src/lib/resize/separator.d.ts +3 -3
  1398. package/dist/src/lib/springs.d.ts +31 -0
  1399. package/dist/style.css +2272 -525
  1400. package/dist/switch-CkEdGkeB.cjs +125 -0
  1401. package/dist/switch-CkEdGkeB.cjs.map +1 -0
  1402. package/dist/switch-CkHq0TIf.js +104 -0
  1403. package/dist/switch-CkHq0TIf.js.map +1 -0
  1404. package/dist/tabs-content-CRKte85r.cjs +37 -0
  1405. package/dist/tabs-content-CRKte85r.cjs.map +1 -0
  1406. package/dist/tabs-content-Drm6Y6Ul.js +35 -0
  1407. package/dist/tabs-content-Drm6Y6Ul.js.map +1 -0
  1408. package/dist/tabs-root-DcnvZuD4.cjs +328 -0
  1409. package/dist/tabs-root-DcnvZuD4.cjs.map +1 -0
  1410. package/dist/tabs-root-yY2eNDS2.js +325 -0
  1411. package/dist/tabs-root-yY2eNDS2.js.map +1 -0
  1412. package/dist/tabs-root.css +5 -0
  1413. package/dist/tabs-tab-CgMaandp.js +103 -0
  1414. package/dist/tabs-tab-CgMaandp.js.map +1 -0
  1415. package/dist/tabs-tab-tRgFBx85.cjs +107 -0
  1416. package/dist/tabs-tab-tRgFBx85.cjs.map +1 -0
  1417. package/dist/text-field-block-aRttm8yP.js +55 -0
  1418. package/dist/text-field-block-aRttm8yP.js.map +1 -0
  1419. package/dist/text-field-block-hN70Jj6a.cjs +57 -0
  1420. package/dist/text-field-block-hN70Jj6a.cjs.map +1 -0
  1421. package/dist/textarea-BmR73nqC.js +70 -0
  1422. package/dist/textarea-BmR73nqC.js.map +1 -0
  1423. package/dist/textarea-C7vLvn3E.cjs +91 -0
  1424. package/dist/textarea-C7vLvn3E.cjs.map +1 -0
  1425. package/dist/thread-rail-BvhuZLav.cjs +334 -0
  1426. package/dist/thread-rail-BvhuZLav.cjs.map +1 -0
  1427. package/dist/thread-rail-CPAHjoV1.js +313 -0
  1428. package/dist/thread-rail-CPAHjoV1.js.map +1 -0
  1429. package/dist/time-picker-BlY3xqrQ.cjs +78 -0
  1430. package/dist/time-picker-BlY3xqrQ.cjs.map +1 -0
  1431. package/dist/time-picker-Dce_kGwY.js +76 -0
  1432. package/dist/time-picker-Dce_kGwY.js.map +1 -0
  1433. package/dist/toast-CTMSqE4M.js +52 -0
  1434. package/dist/toast-CTMSqE4M.js.map +1 -0
  1435. package/dist/toast-CwH7p9gV.cjs +55 -0
  1436. package/dist/toast-CwH7p9gV.cjs.map +1 -0
  1437. package/dist/tokens.cjs.js +1 -1
  1438. package/dist/tokens.es.js +1 -1
  1439. package/dist/tool-approval-BMPAEwt_.js +66 -0
  1440. package/dist/tool-approval-BMPAEwt_.js.map +1 -0
  1441. package/dist/tool-approval-CYO2CYZz.cjs +69 -0
  1442. package/dist/tool-approval-CYO2CYZz.cjs.map +1 -0
  1443. package/dist/tool-call-98H2-r5p.js +181 -0
  1444. package/dist/tool-call-98H2-r5p.js.map +1 -0
  1445. package/dist/tool-call-CAzilpXy.cjs +196 -0
  1446. package/dist/tool-call-CAzilpXy.cjs.map +1 -0
  1447. package/dist/tooltip-QuS0KEbc.js +113 -0
  1448. package/dist/tooltip-QuS0KEbc.js.map +1 -0
  1449. package/dist/tooltip-_cda-a7s.cjs +137 -0
  1450. package/dist/tooltip-_cda-a7s.cjs.map +1 -0
  1451. package/dist/traces-data-list-Bl1BUIiq.js +85 -0
  1452. package/dist/traces-data-list-Bl1BUIiq.js.map +1 -0
  1453. package/dist/traces-data-list-CmBQDfnG.cjs +87 -0
  1454. package/dist/traces-data-list-CmBQDfnG.cjs.map +1 -0
  1455. package/dist/utils/cn.cjs.js +1 -1
  1456. package/dist/utils/cn.es.js +1 -1
  1457. package/dist/utils/colors.cjs.js +7 -0
  1458. package/dist/utils/colors.cjs.js.map +1 -1
  1459. package/dist/utils/colors.es.js +6 -1
  1460. package/dist/utils/colors.es.js.map +1 -1
  1461. package/dist/utils/toast.cjs.js +1 -1
  1462. package/dist/utils/toast.es.js +1 -1
  1463. package/new-theme.css +39 -0
  1464. package/package.json +30 -11
  1465. package/theme.css +78 -1
  1466. package/dist/Badge-B-LKnrNk.cjs +0 -125
  1467. package/dist/Badge-B-LKnrNk.cjs.map +0 -1
  1468. package/dist/Badge-BqVBVHGc.js +0 -123
  1469. package/dist/Badge-BqVBVHGc.js.map +0 -1
  1470. package/dist/Button-BJOVwaxp.cjs +0 -137
  1471. package/dist/Button-BJOVwaxp.cjs.map +0 -1
  1472. package/dist/Button-BVGwYwHT.js +0 -133
  1473. package/dist/Button-BVGwYwHT.js.map +0 -1
  1474. package/dist/Card-DYmiv8Dx.js +0 -96
  1475. package/dist/Card-DYmiv8Dx.js.map +0 -1
  1476. package/dist/Card-DZjvLsN9.cjs +0 -123
  1477. package/dist/Card-DZjvLsN9.cjs.map +0 -1
  1478. package/dist/Composer.css +0 -102
  1479. package/dist/EmptyState--bOUm8JU.cjs +0 -33
  1480. package/dist/EmptyState--bOUm8JU.cjs.map +0 -1
  1481. package/dist/EmptyState-CLoSRKxC.js +0 -31
  1482. package/dist/EmptyState-CLoSRKxC.js.map +0 -1
  1483. package/dist/Notice-CMZ86f1g.js +0 -89
  1484. package/dist/Notice-CMZ86f1g.js.map +0 -1
  1485. package/dist/Notice-D0Mvqvr0.cjs +0 -91
  1486. package/dist/Notice-D0Mvqvr0.cjs.map +0 -1
  1487. package/dist/PermissionDenied-BmAbJ1Xn.js +0 -22
  1488. package/dist/PermissionDenied-BmAbJ1Xn.js.map +0 -1
  1489. package/dist/PermissionDenied-Dge5a7OX.cjs +0 -24
  1490. package/dist/PermissionDenied-Dge5a7OX.cjs.map +0 -1
  1491. package/dist/SessionExpired-CAOgb-6E.cjs +0 -47
  1492. package/dist/SessionExpired-CAOgb-6E.cjs.map +0 -1
  1493. package/dist/SessionExpired-DSPFseGA.js +0 -45
  1494. package/dist/SessionExpired-DSPFseGA.js.map +0 -1
  1495. package/dist/Txt-CfPhlZOu.js +0 -28
  1496. package/dist/Txt-CfPhlZOu.js.map +0 -1
  1497. package/dist/Txt-i-sXSs2m.cjs +0 -30
  1498. package/dist/Txt-i-sXSs2m.cjs.map +0 -1
  1499. package/dist/arrival-Cf8ZO8cU.js +0 -19
  1500. package/dist/arrival-Cf8ZO8cU.js.map +0 -1
  1501. package/dist/arrival-Ck5yjMkc.cjs +0 -22
  1502. package/dist/arrival-Ck5yjMkc.cjs.map +0 -1
  1503. package/dist/ask-user-DQGe7ZTv.cjs +0 -146
  1504. package/dist/ask-user-DQGe7ZTv.cjs.map +0 -1
  1505. package/dist/ask-user-Dh9YowL4.js +0 -137
  1506. package/dist/ask-user-Dh9YowL4.js.map +0 -1
  1507. package/dist/buttons-group-CHyXDQBp.js +0 -162
  1508. package/dist/buttons-group-CHyXDQBp.js.map +0 -1
  1509. package/dist/buttons-group-jq7kUVlX.cjs +0 -186
  1510. package/dist/buttons-group-jq7kUVlX.cjs.map +0 -1
  1511. package/dist/checkbox-CC39oYEv.js +0 -88
  1512. package/dist/checkbox-CC39oYEv.js.map +0 -1
  1513. package/dist/checkbox-DWXCTy8y.cjs +0 -109
  1514. package/dist/checkbox-DWXCTy8y.cjs.map +0 -1
  1515. package/dist/cn-ByEbywDh.js +0 -3291
  1516. package/dist/cn-ByEbywDh.js.map +0 -1
  1517. package/dist/cn-DnbTIGXa.cjs +0 -3294
  1518. package/dist/cn-DnbTIGXa.cjs.map +0 -1
  1519. package/dist/code-block-BdzrmA-p.js +0 -86
  1520. package/dist/code-block-BdzrmA-p.js.map +0 -1
  1521. package/dist/code-block-D1RequlX.cjs +0 -88
  1522. package/dist/code-block-D1RequlX.cjs.map +0 -1
  1523. package/dist/code-editor-CopnXVKT.cjs +0 -486
  1524. package/dist/code-editor-CopnXVKT.cjs.map +0 -1
  1525. package/dist/code-editor-D7BftGSx.js +0 -478
  1526. package/dist/code-editor-D7BftGSx.js.map +0 -1
  1527. package/dist/collapsible-4eeo2ZU2.js +0 -57
  1528. package/dist/collapsible-4eeo2ZU2.js.map +0 -1
  1529. package/dist/collapsible-JOs0f0e1.cjs +0 -61
  1530. package/dist/collapsible-JOs0f0e1.cjs.map +0 -1
  1531. package/dist/combobox-DO__6QlF.cjs +0 -276
  1532. package/dist/combobox-DO__6QlF.cjs.map +0 -1
  1533. package/dist/combobox-Ua6bvpM8.js +0 -254
  1534. package/dist/combobox-Ua6bvpM8.js.map +0 -1
  1535. package/dist/command-CNKdcyyr.js +0 -168
  1536. package/dist/command-CNKdcyyr.js.map +0 -1
  1537. package/dist/command-Cva4qgS9.cjs +0 -197
  1538. package/dist/command-Cva4qgS9.cjs.map +0 -1
  1539. package/dist/copy-button-ChUCFd-x.js +0 -46
  1540. package/dist/copy-button-ChUCFd-x.js.map +0 -1
  1541. package/dist/copy-button-zLZfswrj.cjs +0 -48
  1542. package/dist/copy-button-zLZfswrj.cjs.map +0 -1
  1543. package/dist/dashboard-card-0kjXfhTF.cjs +0 -11
  1544. package/dist/dashboard-card-0kjXfhTF.cjs.map +0 -1
  1545. package/dist/dashboard-card-CDg79V_9.js +0 -9
  1546. package/dist/dashboard-card-CDg79V_9.js.map +0 -1
  1547. package/dist/data-code-section-BLvh46xK.cjs +0 -364
  1548. package/dist/data-code-section-BLvh46xK.cjs.map +0 -1
  1549. package/dist/data-code-section-DSelBhmP.js +0 -361
  1550. package/dist/data-code-section-DSelBhmP.js.map +0 -1
  1551. package/dist/data-keys-and-values-778xnwOK.js +0 -122
  1552. package/dist/data-keys-and-values-778xnwOK.js.map +0 -1
  1553. package/dist/data-keys-and-values-CUqVRfqS.cjs +0 -124
  1554. package/dist/data-keys-and-values-CUqVRfqS.cjs.map +0 -1
  1555. package/dist/data-list-4_cVlINT.cjs +0 -183
  1556. package/dist/data-list-4_cVlINT.cjs.map +0 -1
  1557. package/dist/data-list-Bm70XKg_.js +0 -179
  1558. package/dist/data-list-Bm70XKg_.js.map +0 -1
  1559. package/dist/data-list-skeleton-B7flrjdA.cjs +0 -38
  1560. package/dist/data-list-skeleton-B7flrjdA.cjs.map +0 -1
  1561. package/dist/data-list-skeleton-BJVs8rDE.js +0 -36
  1562. package/dist/data-list-skeleton-BJVs8rDE.js.map +0 -1
  1563. package/dist/data-list-top-BeUxfGy2.js +0 -481
  1564. package/dist/data-list-top-BeUxfGy2.js.map +0 -1
  1565. package/dist/data-list-top-D9zFnKEi.cjs +0 -510
  1566. package/dist/data-list-top-D9zFnKEi.cjs.map +0 -1
  1567. package/dist/data-panel-5iuux0r_.js +0 -89
  1568. package/dist/data-panel-5iuux0r_.js.map +0 -1
  1569. package/dist/data-panel-tSErqolu.cjs +0 -91
  1570. package/dist/data-panel-tSErqolu.cjs.map +0 -1
  1571. package/dist/date-picker-Cj8MwnUv.cjs +0 -50
  1572. package/dist/date-picker-Cj8MwnUv.cjs.map +0 -1
  1573. package/dist/date-picker-LbXedaEh.js +0 -48
  1574. package/dist/date-picker-LbXedaEh.js.map +0 -1
  1575. package/dist/date-time-range-picker-C0J7p78l.cjs +0 -167
  1576. package/dist/date-time-range-picker-C0J7p78l.cjs.map +0 -1
  1577. package/dist/date-time-range-picker-CcoU5-2_.js +0 -165
  1578. package/dist/date-time-range-picker-CcoU5-2_.js.map +0 -1
  1579. package/dist/dialog-B1DwyLJJ.cjs +0 -276
  1580. package/dist/dialog-B1DwyLJJ.cjs.map +0 -1
  1581. package/dist/dialog-Dfrt_JCJ.js +0 -242
  1582. package/dist/dialog-Dfrt_JCJ.js.map +0 -1
  1583. package/dist/domains/traces/components/span-duration-col.cjs.js +0 -25
  1584. package/dist/domains/traces/components/span-duration-col.cjs.js.map +0 -1
  1585. package/dist/domains/traces/components/span-duration-col.d.ts +0 -2
  1586. package/dist/domains/traces/components/span-duration-col.es.js +0 -21
  1587. package/dist/domains/traces/components/span-duration-col.es.js.map +0 -1
  1588. package/dist/domains/traces/components/span-timeline-col.cjs.js +0 -48
  1589. package/dist/domains/traces/components/span-timeline-col.cjs.js.map +0 -1
  1590. package/dist/domains/traces/components/span-timeline-col.d.ts +0 -2
  1591. package/dist/domains/traces/components/span-timeline-col.es.js +0 -44
  1592. package/dist/domains/traces/components/span-timeline-col.es.js.map +0 -1
  1593. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js +0 -77
  1594. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.cjs.js.map +0 -1
  1595. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.d.ts +0 -2
  1596. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js +0 -73
  1597. package/dist/domains/traces/components/thread-trace/thread-trace-spans-tab.es.js.map +0 -1
  1598. package/dist/domains/traces/components/timeline-expand-col.cjs.js +0 -89
  1599. package/dist/domains/traces/components/timeline-expand-col.cjs.js.map +0 -1
  1600. package/dist/domains/traces/components/timeline-expand-col.d.ts +0 -2
  1601. package/dist/domains/traces/components/timeline-expand-col.es.js +0 -85
  1602. package/dist/domains/traces/components/timeline-expand-col.es.js.map +0 -1
  1603. package/dist/domains/traces/components/traces-layout.cjs.js +0 -63
  1604. package/dist/domains/traces/components/traces-layout.cjs.js.map +0 -1
  1605. package/dist/domains/traces/components/traces-layout.d.ts +0 -2
  1606. package/dist/domains/traces/components/traces-layout.es.js +0 -59
  1607. package/dist/domains/traces/components/traces-layout.es.js.map +0 -1
  1608. package/dist/domains/traces/components/traces-toolbar.cjs.js +0 -70
  1609. package/dist/domains/traces/components/traces-toolbar.cjs.js.map +0 -1
  1610. package/dist/domains/traces/components/traces-toolbar.d.ts +0 -2
  1611. package/dist/domains/traces/components/traces-toolbar.es.js +0 -66
  1612. package/dist/domains/traces/components/traces-toolbar.es.js.map +0 -1
  1613. package/dist/drawer-Bq7j_MiM.cjs +0 -366
  1614. package/dist/drawer-Bq7j_MiM.cjs.map +0 -1
  1615. package/dist/drawer-D1m2faHU.js +0 -326
  1616. package/dist/drawer-D1m2faHU.js.map +0 -1
  1617. package/dist/dropdown-menu-Bfh5ROWe.cjs +0 -227
  1618. package/dist/dropdown-menu-Bfh5ROWe.cjs.map +0 -1
  1619. package/dist/dropdown-menu-C853KwJJ.js +0 -206
  1620. package/dist/dropdown-menu-C853KwJJ.js.map +0 -1
  1621. package/dist/field-block-CVOfRWvX.js +0 -85
  1622. package/dist/field-block-CVOfRWvX.js.map +0 -1
  1623. package/dist/field-block-DosykAiQ.cjs +0 -87
  1624. package/dist/field-block-DosykAiQ.cjs.map +0 -1
  1625. package/dist/horizontal-bars--Czy2stS.cjs +0 -141
  1626. package/dist/horizontal-bars--Czy2stS.cjs.map +0 -1
  1627. package/dist/horizontal-bars-_vgi09Md.js +0 -139
  1628. package/dist/horizontal-bars-_vgi09Md.js.map +0 -1
  1629. package/dist/hover-card-B5zQKp9k.js +0 -68
  1630. package/dist/hover-card-B5zQKp9k.js.map +0 -1
  1631. package/dist/hover-card-B_Wz_e0F.cjs +0 -91
  1632. package/dist/hover-card-B_Wz_e0F.cjs.map +0 -1
  1633. package/dist/index-BxcigDwC.cjs +0 -47
  1634. package/dist/index-BxcigDwC.cjs.map +0 -1
  1635. package/dist/index-CZvpHqka.js +0 -45
  1636. package/dist/index-CZvpHqka.js.map +0 -1
  1637. package/dist/input-D3SUXvgI.cjs +0 -85
  1638. package/dist/input-D3SUXvgI.cjs.map +0 -1
  1639. package/dist/input-DinpgQXj.js +0 -64
  1640. package/dist/input-DinpgQXj.js.map +0 -1
  1641. package/dist/input-group-CBuqhxnJ.cjs +0 -242
  1642. package/dist/input-group-CBuqhxnJ.cjs.map +0 -1
  1643. package/dist/input-group-Dv1YsFDZ.js +0 -216
  1644. package/dist/input-group-Dv1YsFDZ.js.map +0 -1
  1645. package/dist/kbd-BaoBQUlL.cjs +0 -34
  1646. package/dist/kbd-BaoBQUlL.cjs.map +0 -1
  1647. package/dist/kbd-Bod0H0VQ.js +0 -32
  1648. package/dist/kbd-Bod0H0VQ.js.map +0 -1
  1649. package/dist/label-BICQQTjz.cjs +0 -34
  1650. package/dist/label-BICQQTjz.cjs.map +0 -1
  1651. package/dist/label-BKfZzqfr.js +0 -13
  1652. package/dist/label-BKfZzqfr.js.map +0 -1
  1653. package/dist/list-search-BwcO9d9M.cjs +0 -73
  1654. package/dist/list-search-BwcO9d9M.cjs.map +0 -1
  1655. package/dist/list-search-C8FBcDpo.js +0 -71
  1656. package/dist/list-search-C8FBcDpo.js.map +0 -1
  1657. package/dist/logs-data-list-B0hzHq0b.cjs +0 -81
  1658. package/dist/logs-data-list-B0hzHq0b.cjs.map +0 -1
  1659. package/dist/logs-data-list-CWu83qI7.js +0 -79
  1660. package/dist/logs-data-list-CWu83qI7.js.map +0 -1
  1661. package/dist/markdown-renderer-Dp1fJwUB.js +0 -408
  1662. package/dist/markdown-renderer-Dp1fJwUB.js.map +0 -1
  1663. package/dist/markdown-renderer-hBiN_N_-.cjs +0 -410
  1664. package/dist/markdown-renderer-hBiN_N_-.cjs.map +0 -1
  1665. package/dist/message-scroller-A5mO14YC.cjs +0 -857
  1666. package/dist/message-scroller-A5mO14YC.cjs.map +0 -1
  1667. package/dist/message-scroller-JeImISU5.js +0 -831
  1668. package/dist/message-scroller-JeImISU5.js.map +0 -1
  1669. package/dist/metrics-card-DJC-d549.cjs +0 -95
  1670. package/dist/metrics-card-DJC-d549.cjs.map +0 -1
  1671. package/dist/metrics-card-kreeaS1o.js +0 -93
  1672. package/dist/metrics-card-kreeaS1o.js.map +0 -1
  1673. package/dist/metrics-kpi-card-CgB7izeJ.cjs +0 -79
  1674. package/dist/metrics-kpi-card-CgB7izeJ.cjs.map +0 -1
  1675. package/dist/metrics-kpi-card-D5s2a9Xh.js +0 -77
  1676. package/dist/metrics-kpi-card-D5s2a9Xh.js.map +0 -1
  1677. package/dist/no-data-page-layout-BHmXbQix.js +0 -101
  1678. package/dist/no-data-page-layout-BHmXbQix.js.map +0 -1
  1679. package/dist/no-data-page-layout-BrqtWTU9.cjs +0 -104
  1680. package/dist/no-data-page-layout-BrqtWTU9.cjs.map +0 -1
  1681. package/dist/page-header-CGRV1f_f.js +0 -123
  1682. package/dist/page-header-CGRV1f_f.js.map +0 -1
  1683. package/dist/page-header-CTdBcOWK.cjs +0 -125
  1684. package/dist/page-header-CTdBcOWK.cjs.map +0 -1
  1685. package/dist/popover-DL_Vqxfp.cjs +0 -121
  1686. package/dist/popover-DL_Vqxfp.cjs.map +0 -1
  1687. package/dist/popover-L2o0kHi2.js +0 -97
  1688. package/dist/popover-L2o0kHi2.js.map +0 -1
  1689. package/dist/property-filter-applied-CF-InSu-.js +0 -344
  1690. package/dist/property-filter-applied-CF-InSu-.js.map +0 -1
  1691. package/dist/property-filter-applied-D35zWa7S.cjs +0 -348
  1692. package/dist/property-filter-applied-D35zWa7S.cjs.map +0 -1
  1693. package/dist/sankey-chart-D4lfGeI-.js +0 -916
  1694. package/dist/sankey-chart-D4lfGeI-.js.map +0 -1
  1695. package/dist/sankey-chart-ZfcUvZFu.cjs +0 -926
  1696. package/dist/sankey-chart-ZfcUvZFu.cjs.map +0 -1
  1697. package/dist/scroll-area-B0L1nYJS.js +0 -223
  1698. package/dist/scroll-area-B0L1nYJS.js.map +0 -1
  1699. package/dist/scroll-area-DK4w_mMg.cjs +0 -245
  1700. package/dist/scroll-area-DK4w_mMg.cjs.map +0 -1
  1701. package/dist/search-field-block-DhgD7NhZ.js +0 -119
  1702. package/dist/search-field-block-DhgD7NhZ.js.map +0 -1
  1703. package/dist/search-field-block-DnJYUEGi.cjs +0 -121
  1704. package/dist/search-field-block-DnJYUEGi.cjs.map +0 -1
  1705. package/dist/section-9jESC1la.js +0 -111
  1706. package/dist/section-9jESC1la.js.map +0 -1
  1707. package/dist/section-C_yrhQFt.cjs +0 -115
  1708. package/dist/section-C_yrhQFt.cjs.map +0 -1
  1709. package/dist/select-3GcRJGtd.js +0 -133
  1710. package/dist/select-3GcRJGtd.js.map +0 -1
  1711. package/dist/select-4dVGVp0V.cjs +0 -159
  1712. package/dist/select-4dVGVp0V.cjs.map +0 -1
  1713. package/dist/select-field-block-BEyjBDiB.js +0 -48
  1714. package/dist/select-field-block-BEyjBDiB.js.map +0 -1
  1715. package/dist/select-field-block-By8NfJoe.cjs +0 -50
  1716. package/dist/select-field-block-By8NfJoe.cjs.map +0 -1
  1717. package/dist/settings-container-C3d4Y528.js +0 -26
  1718. package/dist/settings-container-C3d4Y528.js.map +0 -1
  1719. package/dist/settings-container-aSJeNRdZ.cjs +0 -29
  1720. package/dist/settings-container-aSJeNRdZ.cjs.map +0 -1
  1721. package/dist/settings-layout-BjjVaZgN.cjs +0 -57
  1722. package/dist/settings-layout-BjjVaZgN.cjs.map +0 -1
  1723. package/dist/settings-layout-DlXTuCQ7.js +0 -55
  1724. package/dist/settings-layout-DlXTuCQ7.js.map +0 -1
  1725. package/dist/settings-row-BKz6r927.cjs +0 -92
  1726. package/dist/settings-row-BKz6r927.cjs.map +0 -1
  1727. package/dist/settings-row-T98nqxPD.js +0 -89
  1728. package/dist/settings-row-T98nqxPD.js.map +0 -1
  1729. package/dist/shimmer-Bt9INFuE.js +0 -23
  1730. package/dist/shimmer-Bt9INFuE.js.map +0 -1
  1731. package/dist/shimmer-GOCqjnzu.cjs +0 -25
  1732. package/dist/shimmer-GOCqjnzu.cjs.map +0 -1
  1733. package/dist/skeleton-DYq_5Fad.cjs +0 -25
  1734. package/dist/skeleton-DYq_5Fad.cjs.map +0 -1
  1735. package/dist/skeleton-KJCC29GI.js +0 -23
  1736. package/dist/skeleton-KJCC29GI.js.map +0 -1
  1737. package/dist/slider-AfRJ3a4W.js +0 -88
  1738. package/dist/slider-AfRJ3a4W.js.map +0 -1
  1739. package/dist/slider-BXYQmaQy.cjs +0 -90
  1740. package/dist/slider-BXYQmaQy.cjs.map +0 -1
  1741. package/dist/spacings-DQxytUI3.js +0 -162
  1742. package/dist/spacings-DQxytUI3.js.map +0 -1
  1743. package/dist/spacings-VmI3HJoY.cjs +0 -170
  1744. package/dist/spacings-VmI3HJoY.cjs.map +0 -1
  1745. package/dist/spinner-Bj7FQzLQ.cjs +0 -53
  1746. package/dist/spinner-Bj7FQzLQ.cjs.map +0 -1
  1747. package/dist/spinner-CUkNhTKC.js +0 -51
  1748. package/dist/spinner-CUkNhTKC.js.map +0 -1
  1749. package/dist/src/domains/traces/components/span-duration-col.d.ts +0 -9
  1750. package/dist/src/domains/traces/components/span-timeline-col.d.ts +0 -6
  1751. package/dist/src/domains/traces/components/thread-trace/thread-trace-spans-tab.d.ts +0 -14
  1752. package/dist/src/domains/traces/components/timeline-expand-col.d.ts +0 -18
  1753. package/dist/src/domains/traces/components/traces-layout.d.ts +0 -30
  1754. package/dist/src/domains/traces/components/traces-toolbar.d.ts +0 -19
  1755. package/dist/src/ds/components/Composer/use-composer-pointer-angle.d.ts +0 -2
  1756. package/dist/src/ds/components/Workflow/cards/workflow-card-badges.d.ts +0 -6
  1757. package/dist/src/ds/components/Workflow/cards/workflow-card-status-icon.d.ts +0 -6
  1758. package/dist/src/ds/components/Workflow/cards/workflow-condition-card-view.d.ts +0 -2
  1759. package/dist/src/ds/components/Workflow/cards/workflow-condition-card.d.ts +0 -5
  1760. package/dist/src/ds/components/Workflow/cards/workflow-condition-code.d.ts +0 -12
  1761. package/dist/src/ds/components/Workflow/cards/workflow-step-card-view.d.ts +0 -2
  1762. package/dist/switch-A-j7GDcX.js +0 -103
  1763. package/dist/switch-A-j7GDcX.js.map +0 -1
  1764. package/dist/switch-BROLIeGF.cjs +0 -124
  1765. package/dist/switch-BROLIeGF.cjs.map +0 -1
  1766. package/dist/tabs-content-CV7YrtD1.cjs +0 -31
  1767. package/dist/tabs-content-CV7YrtD1.cjs.map +0 -1
  1768. package/dist/tabs-content-CW6RtAEV.js +0 -29
  1769. package/dist/tabs-content-CW6RtAEV.js.map +0 -1
  1770. package/dist/tabs-context-BknR9-GX.js +0 -7
  1771. package/dist/tabs-context-BknR9-GX.js.map +0 -1
  1772. package/dist/tabs-context-pnspPkI-.cjs +0 -10
  1773. package/dist/tabs-context-pnspPkI-.cjs.map +0 -1
  1774. package/dist/tabs-root-BAy8m6GO.js +0 -324
  1775. package/dist/tabs-root-BAy8m6GO.js.map +0 -1
  1776. package/dist/tabs-root-Dw7gHsnZ.cjs +0 -327
  1777. package/dist/tabs-root-Dw7gHsnZ.cjs.map +0 -1
  1778. package/dist/tabs-tab-CP-kzlvB.cjs +0 -99
  1779. package/dist/tabs-tab-CP-kzlvB.cjs.map +0 -1
  1780. package/dist/tabs-tab-K5mQhs7r.js +0 -97
  1781. package/dist/tabs-tab-K5mQhs7r.js.map +0 -1
  1782. package/dist/text-field-block-CUN9gL4j.js +0 -49
  1783. package/dist/text-field-block-CUN9gL4j.js.map +0 -1
  1784. package/dist/text-field-block-WuwrSNEX.cjs +0 -51
  1785. package/dist/text-field-block-WuwrSNEX.cjs.map +0 -1
  1786. package/dist/textarea-BCVPeJzr.js +0 -62
  1787. package/dist/textarea-BCVPeJzr.js.map +0 -1
  1788. package/dist/textarea-D9XsLoN5.cjs +0 -83
  1789. package/dist/textarea-D9XsLoN5.cjs.map +0 -1
  1790. package/dist/thread-rail-lebYetuv.cjs +0 -334
  1791. package/dist/thread-rail-lebYetuv.cjs.map +0 -1
  1792. package/dist/thread-rail-o19IAzcJ.js +0 -313
  1793. package/dist/thread-rail-o19IAzcJ.js.map +0 -1
  1794. package/dist/time-picker-BKpmCbXS.cjs +0 -78
  1795. package/dist/time-picker-BKpmCbXS.cjs.map +0 -1
  1796. package/dist/time-picker-SgrQvt0V.js +0 -76
  1797. package/dist/time-picker-SgrQvt0V.js.map +0 -1
  1798. package/dist/toast-FypW736q.cjs +0 -55
  1799. package/dist/toast-FypW736q.cjs.map +0 -1
  1800. package/dist/toast-Xv8jgrMR.js +0 -52
  1801. package/dist/toast-Xv8jgrMR.js.map +0 -1
  1802. package/dist/tool-call-BlKbOYRH.js +0 -181
  1803. package/dist/tool-call-BlKbOYRH.js.map +0 -1
  1804. package/dist/tool-call-DVh_yWov.cjs +0 -196
  1805. package/dist/tool-call-DVh_yWov.cjs.map +0 -1
  1806. package/dist/tooltip-BsSNtmxl.cjs +0 -136
  1807. package/dist/tooltip-BsSNtmxl.cjs.map +0 -1
  1808. package/dist/tooltip-Vj_jjcxE.js +0 -112
  1809. package/dist/tooltip-Vj_jjcxE.js.map +0 -1
  1810. package/dist/traces-data-list-0WfYCKdc.cjs +0 -86
  1811. package/dist/traces-data-list-0WfYCKdc.cjs.map +0 -1
  1812. package/dist/traces-data-list-BOiAOwYM.js +0 -84
  1813. package/dist/traces-data-list-BOiAOwYM.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-bar-chip-DyITaBNj.js","sources":["../src/ds/components/FilterBar/filter-bar-context.tsx","../src/ds/components/FilterBar/filter-bar-option-list.tsx","../src/ds/components/FilterBar/match-query.ts","../src/ds/components/FilterBar/types.ts","../src/ds/components/FilterBar/use-value-suggestions.ts","../src/ds/components/FilterBar/use-value-step.ts","../src/ds/components/FilterBar/filter-bar-chip.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { FilterBarField, FilterBarItem, FilterBarOperator, FilterBarSegment } from './types';\n\ntype SegmentKey = `${string}:${FilterBarSegment}`;\n\nconst SEGMENTS_LEFT_TO_RIGHT: FilterBarSegment[] = ['field', 'operator', 'value', 'remove'];\nconst SEGMENTS_RIGHT_TO_LEFT: FilterBarSegment[] = [...SEGMENTS_LEFT_TO_RIGHT].reverse();\n\nexport type FilterBarContextValue = {\n fields: FilterBarField[];\n operators: FilterBarOperator[];\n items: FilterBarItem[];\n addItem: (item: Omit<FilterBarItem, 'id'>) => void;\n updateItem: (id: string, patch: Partial<Omit<FilterBarItem, 'id'>>) => void;\n removeItem: (id: string) => void;\n /** Removes every removable item (chips rendered with `removable={false}` stay). */\n clear: () => void;\n /** Whether at least one item can be removed, i.e. whether Clear has anything to do. */\n hasRemovableItems: boolean;\n /** Called by chips so `clear` and the Clear button know which items are pinned. */\n registerNonRemovable: (itemId: string, nonRemovable: boolean) => void;\n getField: (fieldId: string) => FilterBarField | undefined;\n getOperator: (operatorId: string) => FilterBarOperator | undefined;\n /** Operators allowed for a field (`field.operators` or every root operator). */\n getFieldOperators: (field: FilterBarField) => FilterBarOperator[];\n registerSegment: (itemId: string, segment: FilterBarSegment, el: HTMLElement | null) => void;\n registerInput: (el: HTMLInputElement | null) => void;\n /**\n * Focus a segment of the nearest editable chip starting at `fromIndex` and\n * walking in `direction` (read-only chips register no segments and are skipped).\n * Returns false if nothing was focused.\n */\n focusChip: (fromIndex: number, direction: -1 | 1, segment: FilterBarSegment) => boolean;\n focusInput: () => void;\n /** Called by chips to move focus after a removal. */\n focusAfterRemove: (removedIndex: number) => void;\n announce: (message: string) => void;\n announcement: string;\n ariaLabel: string;\n};\n\nconst FilterBarContext = createContext<FilterBarContextValue | null>(null);\n\nexport function useFilterBarContext(): FilterBarContextValue {\n const ctx = useContext(FilterBarContext);\n if (!ctx) throw new Error('FilterBar compound components must be rendered inside <FilterBar>.');\n return ctx;\n}\n\nlet idCounter = 0;\nexport function createFilterId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n idCounter += 1;\n return `filter-${idCounter}`;\n}\n\nexport function emptyValueFor(operator: FilterBarOperator | undefined): string | string[] {\n return operator?.arity === 'many' ? [] : '';\n}\n\nexport type FilterBarProviderProps = {\n fields: FilterBarField[];\n operators: FilterBarOperator[];\n value: FilterBarItem[];\n onValueChange: (items: FilterBarItem[]) => void;\n ariaLabel: string;\n children: ReactNode;\n};\n\nexport function FilterBarProvider({\n fields,\n operators,\n value,\n onValueChange,\n ariaLabel,\n children,\n}: FilterBarProviderProps) {\n const segments = useRef(new Map<SegmentKey, HTMLElement>());\n const inputRef = useRef<HTMLInputElement | null>(null);\n const itemsRef = useRef(value);\n itemsRef.current = value;\n const [announcement, setAnnouncement] = useState('');\n const [nonRemovableIds, setNonRemovableIds] = useState<ReadonlySet<string>>(() => new Set());\n\n const getField = useCallback((fieldId: string) => fields.find(f => f.id === fieldId), [fields]);\n const getOperator = useCallback((operatorId: string) => operators.find(o => o.id === operatorId), [operators]);\n const getFieldOperators = useCallback(\n (field: FilterBarField) => {\n if (!field.operators) return operators;\n const allowed = new Set(field.operators);\n return operators.filter(o => allowed.has(o.id));\n },\n [operators],\n );\n\n const announce = useCallback((message: string) => setAnnouncement(message), []);\n\n const addItem = useCallback(\n (item: Omit<FilterBarItem, 'id'>) => {\n onValueChange([...itemsRef.current, { ...item, id: createFilterId() }]);\n announce('Filter added');\n },\n [onValueChange, announce],\n );\n\n const updateItem = useCallback(\n (id: string, patch: Partial<Omit<FilterBarItem, 'id'>>) => {\n onValueChange(itemsRef.current.map(item => (item.id === id ? { ...item, ...patch } : item)));\n },\n [onValueChange],\n );\n\n const removeItem = useCallback(\n (id: string) => {\n onValueChange(itemsRef.current.filter(item => item.id !== id));\n announce('Filter removed');\n },\n [onValueChange, announce],\n );\n\n const clear = useCallback(() => {\n onValueChange(itemsRef.current.filter(item => nonRemovableIds.has(item.id)));\n announce('All filters removed');\n }, [onValueChange, announce, nonRemovableIds]);\n\n const hasRemovableItems = value.some(item => !nonRemovableIds.has(item.id));\n\n const registerNonRemovable = useCallback((itemId: string, nonRemovable: boolean) => {\n setNonRemovableIds(prev => {\n if (prev.has(itemId) === nonRemovable) return prev;\n const next = new Set(prev);\n if (nonRemovable) next.add(itemId);\n else next.delete(itemId);\n return next;\n });\n }, []);\n\n const registerSegment = useCallback((itemId: string, segment: FilterBarSegment, el: HTMLElement | null) => {\n const key: SegmentKey = `${itemId}:${segment}`;\n if (el) segments.current.set(key, el);\n else segments.current.delete(key);\n }, []);\n\n const registerInput = useCallback((el: HTMLInputElement | null) => {\n inputRef.current = el;\n }, []);\n\n const focusInput = useCallback(() => {\n inputRef.current?.focus();\n }, []);\n\n const focusChip = useCallback((fromIndex: number, direction: -1 | 1, segment: FilterBarSegment) => {\n const items = itemsRef.current;\n // Custom chips may register only some segments (e.g. just `value`): when the\n // requested one is missing, land on the chip's outermost segment on the side\n // we arrive from.\n const fallbacks: FilterBarSegment[] = direction === -1 ? SEGMENTS_RIGHT_TO_LEFT : SEGMENTS_LEFT_TO_RIGHT;\n for (let i = fromIndex; i >= 0 && i < items.length; i += direction) {\n const item = items[i];\n if (!item) break;\n for (const candidate of [segment, ...fallbacks]) {\n const el = segments.current.get(`${item.id}:${candidate}`);\n if (el) {\n el.focus();\n return true;\n }\n }\n }\n return false;\n }, []);\n\n const focusAfterRemove = useCallback(\n (removedIndex: number) => {\n // Called synchronously after `removeItem`, before React re-renders: itemsRef still\n // holds the pre-removal list and every neighbour's DOM node is still mounted.\n const next = itemsRef.current[removedIndex + 1] ?? itemsRef.current[removedIndex - 1];\n if (next) {\n const el = segments.current.get(`${next.id}:value`) ?? segments.current.get(`${next.id}:field`);\n if (el) {\n el.focus();\n return;\n }\n }\n focusInput();\n },\n [focusInput],\n );\n\n const ctx = useMemo<FilterBarContextValue>(\n () => ({\n fields,\n operators,\n items: value,\n addItem,\n updateItem,\n removeItem,\n clear,\n hasRemovableItems,\n registerNonRemovable,\n getField,\n getOperator,\n getFieldOperators,\n registerSegment,\n registerInput,\n focusChip,\n focusInput,\n focusAfterRemove,\n announce,\n announcement,\n ariaLabel,\n }),\n [\n fields,\n operators,\n value,\n addItem,\n updateItem,\n removeItem,\n clear,\n hasRemovableItems,\n registerNonRemovable,\n getField,\n getOperator,\n getFieldOperators,\n registerSegment,\n registerInput,\n focusChip,\n focusInput,\n focusAfterRemove,\n announce,\n announcement,\n ariaLabel,\n ],\n );\n\n return <FilterBarContext.Provider value={ctx}>{children}</FilterBarContext.Provider>;\n}\n","import { CheckIcon } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport type { ReactNode } from 'react';\nimport { ComboboxPrimitive, comboboxStyles } from '@/ds/components/Combobox';\nimport { Spinner } from '@/ds/components/Spinner/spinner';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { cn } from '@/lib/utils';\n\nexport type FilterBarOptionListProps<T> = {\n getKey: (option: T) => string;\n renderOption: (option: T) => ReactNode;\n /** Explicit check mark, used where Base UI's selection state is not the source of truth (multi-value step). */\n isSelected?: (option: T) => boolean;\n isLoading?: boolean;\n error?: unknown;\n emptyText?: string;\n 'aria-label': string;\n 'aria-multiselectable'?: boolean;\n};\n\nconst FluidItem = forwardRef<HTMLDivElement, ComboboxPrimitive.Item.Props>((props, ref) => (\n <ComboboxPrimitive.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nFluidItem.displayName = 'FilterBarOptionItem';\n\n/**\n * List/status/empty rows for a `ComboboxPrimitive.Root`, laid out like the DS\n * `Combobox` popup (fluid hover highlight, scroller around the list). Items come\n * from the root's `items`; highlight and keyboard navigation are owned by Base UI.\n */\nexport function FilterBarOptionList<T>({\n getKey,\n renderOption,\n isSelected,\n isLoading,\n error,\n emptyText = 'No results.',\n 'aria-label': ariaLabel,\n 'aria-multiselectable': multiselectable,\n}: FilterBarOptionListProps<T>) {\n const idle = !isLoading && error === undefined;\n const menu = useFluidMenu<HTMLDivElement>();\n return (\n <>\n {isLoading && (\n <ComboboxPrimitive.Status className={comboboxStyles.empty}>\n <Spinner size=\"sm\" />\n <span>Loading…</span>\n </ComboboxPrimitive.Status>\n )}\n {!isLoading && error !== undefined && (\n <ComboboxPrimitive.Status className={comboboxStyles.empty}>Couldn't load values.</ComboboxPrimitive.Status>\n )}\n <ComboboxPrimitive.Empty className={comboboxStyles.empty}>{idle ? emptyText : null}</ComboboxPrimitive.Empty>\n <div\n className={cn(\n comboboxStyles.listScroller,\n 'max-h-[min(var(--max-height-dropdown-max-height),60dvh)]',\n menu.containerClassName,\n )}\n {...menu.getContainerProps({})}\n >\n <FluidMenuItems menu={menu}>\n <ComboboxPrimitive.List\n aria-label={ariaLabel}\n aria-multiselectable={multiselectable}\n className={comboboxStyles.list}\n >\n {(option: T) => {\n const selected = isSelected?.(option) ?? false;\n return (\n <FluidItem\n key={getKey(option)}\n value={option}\n data-selected={selected || undefined}\n className={cn(comboboxStyles.item, 'min-w-0')}\n >\n <span className=\"flex min-w-0 flex-1 items-center gap-1.5 truncate\">{renderOption(option)}</span>\n <span className={comboboxStyles.itemRightSlot}>\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? (\n selected && <CheckIcon className={comboboxStyles.checkIcon} />\n ) : (\n <ComboboxPrimitive.ItemIndicator>\n <CheckIcon className={comboboxStyles.checkIcon} />\n </ComboboxPrimitive.ItemIndicator>\n )}\n </span>\n </span>\n </FluidItem>\n );\n }}\n </ComboboxPrimitive.List>\n </FluidMenuItems>\n </div>\n </>\n );\n}\n","/** Every whitespace-separated term of `query` must appear in `text` (case-insensitive). */\nexport function matchesQuery(text: string, query: string): boolean {\n const terms = query.toLowerCase().split(/\\s+/).filter(Boolean);\n if (terms.length === 0) return true;\n const haystack = text.toLowerCase();\n return terms.every(term => haystack.includes(term));\n}\n\n/** Base UI `filter` for `ComboboxPrimitive.Root`, matching on the item label. */\nexport function matchesQueryFilter<T>(item: T, query: string, itemToString?: (item: T) => string): boolean {\n return matchesQuery(itemToString ? itemToString(item) : String(item), query);\n}\n","import type { LucideIcon } from 'lucide-react';\n\n/** How many values an operator takes: `none` (is empty), `one` (default) or `many` (string[]). */\nexport type FilterBarArity = 'none' | 'one' | 'many';\n\nexport type FilterBarOperator = {\n id: string;\n label: string;\n arity?: FilterBarArity;\n};\n\nexport type FilterBarOption = {\n value: string;\n label?: string;\n};\n\nexport type FilterBarSuggestionsContext = {\n query: string;\n operatorId: string;\n signal: AbortSignal;\n};\n\nexport type FilterBarSuggestionsResolver = (\n ctx: FilterBarSuggestionsContext,\n) => FilterBarOption[] | Promise<FilterBarOption[]>;\n\n/**\n * Value kind of a field. Defaults to `text`.\n * - `number`: free text must parse as a finite number; the input gets a decimal keyboard.\n * - `boolean`: strict `true` / `false` suggestions are provided unless the field supplies its own.\n */\nexport type FilterBarFieldType = 'text' | 'number' | 'boolean';\n\n/** A committed scalar value, typed according to the field's `type`. */\nexport type FilterBarScalar = string | number | boolean;\nexport type FilterBarValue = FilterBarScalar | FilterBarScalar[];\n\n/** Parses raw input text into the field's value type. Suggestion values and free text both go through this. */\nexport const parseFieldValue = (type: FilterBarFieldType | undefined, text: string): FilterBarScalar => {\n if (type === 'number') return Number(text);\n if (type === 'boolean') return text.toLowerCase() === 'true';\n return text;\n};\n\nexport type FilterBarField = {\n id: string;\n label: string;\n /** Leading icon, shown in the field step and on the chip's field segment. */\n icon?: LucideIcon;\n /** Accent (any CSS color) applied to the chip's field segment (label + icon). */\n color?: string;\n type?: FilterBarFieldType;\n /** Operator ids allowed for this field. Defaults to every root operator. */\n operators?: string[];\n /**\n * Optional value suggestions. Absent → free text.\n * - array: static list, filtered locally by the query.\n * - function: lazy resolver, called only once the value step opens (never at\n * mount), re-invoked (debounced) when the query changes. Receives an\n * AbortSignal; stale responses are discarded.\n */\n suggestions?: FilterBarOption[] | FilterBarSuggestionsResolver;\n /** When true, the value must come from suggestions (no free text). */\n strict?: boolean;\n /** Never offered in the input's field step; existing chips for it still render with the field label. */\n hidden?: boolean;\n};\n\nexport type FilterBarItem = {\n id: string;\n fieldId: string;\n operatorId: string;\n value: FilterBarValue;\n};\n\nexport type FilterBarSegment = 'field' | 'operator' | 'value' | 'remove';\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { matchesQuery } from './match-query';\nimport type { FilterBarField, FilterBarOption } from './types';\n\nconst DEBOUNCE_MS = 150;\n\nconst BOOLEAN_OPTIONS: FilterBarOption[] = [\n { value: 'true', label: 'True' },\n { value: 'false', label: 'False' },\n];\n\n/** The field's suggestions, defaulting to True/False for boolean fields. */\nexport const getFieldSuggestions = (field: FilterBarField | undefined) =>\n field?.suggestions ?? (field?.type === 'boolean' ? BOOLEAN_OPTIONS : undefined);\n\nexport type UseValueSuggestionsOptions = {\n field: FilterBarField | undefined;\n operatorId: string;\n query: string;\n /** Resolver only runs while true (the value editor is open). */\n enabled: boolean;\n};\n\nexport type UseValueSuggestionsResult = {\n options: FilterBarOption[];\n isLoading: boolean;\n error: unknown;\n /** True when the field has any suggestions (static or lazy). */\n hasSuggestions: boolean;\n};\n\n/**\n * Value suggestions for a field. Static lists are filtered locally. Lazy\n * resolvers run only while `enabled`, are debounced on `query`, receive an\n * AbortSignal, and only the latest response is applied.\n */\nexport function useValueSuggestions({\n field,\n operatorId,\n query,\n enabled,\n}: UseValueSuggestionsOptions): UseValueSuggestionsResult {\n const suggestions = getFieldSuggestions(field);\n const resolver = typeof suggestions === 'function' ? suggestions : undefined;\n const staticOptions = Array.isArray(suggestions) ? suggestions : undefined;\n\n const [remote, setRemote] = useState<FilterBarOption[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<unknown>(undefined);\n const requestId = useRef(0);\n // Consumers typically define the resolver inline; a new identity must not refire (and abort) the request.\n const resolverRef = useRef(resolver);\n resolverRef.current = resolver;\n const hasResolver = Boolean(resolver);\n\n useEffect(() => {\n if (!hasResolver || !enabled) {\n setRemote([]);\n setIsLoading(false);\n setError(undefined);\n return;\n }\n\n const id = ++requestId.current;\n const controller = new AbortController();\n setIsLoading(true);\n\n const timer = setTimeout(() => {\n Promise.resolve()\n .then(() => resolverRef.current?.({ query, operatorId, signal: controller.signal }) ?? [])\n .then(result => {\n if (id !== requestId.current) return;\n setRemote(result);\n setError(undefined);\n setIsLoading(false);\n })\n .catch(err => {\n if (id !== requestId.current || controller.signal.aborted) return;\n setError(err);\n setIsLoading(false);\n });\n }, DEBOUNCE_MS);\n\n return () => {\n clearTimeout(timer);\n controller.abort();\n };\n }, [hasResolver, enabled, query, operatorId]);\n\n const options = useMemo(() => {\n if (staticOptions) return staticOptions.filter(o => matchesQuery(o.label ?? o.value, query));\n return remote;\n }, [staticOptions, remote, query]);\n\n return {\n options,\n isLoading: Boolean(resolver) && isLoading,\n error,\n hasSuggestions: Boolean(suggestions),\n };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\nimport type { FilterBarField, FilterBarOperator, FilterBarOption, FilterBarValue } from './types';\nimport { parseFieldValue } from './types';\nimport { useValueSuggestions } from './use-value-suggestions';\n\nexport type UseValueStepOptions = {\n field: FilterBarField | undefined;\n operator: FilterBarOperator | undefined;\n query: string;\n enabled: boolean;\n initialValue?: FilterBarValue;\n onCommit: (value: FilterBarValue) => void;\n};\n\nconst toStrings = (value: FilterBarValue | undefined): string[] => (Array.isArray(value) ? value.map(String) : []);\n\n/**\n * Shared value-editing logic for the typeahead value step and the chip value\n * editor. Single arity: picking an option (or Enter on free text) commits.\n * Many arity: Enter/click toggles the highlighted option; Ctrl/Meta+Enter (or\n * `commitSelection`) commits the selection. List navigation itself is owned by\n * the surrounding `ComboboxPrimitive.Root`.\n */\nexport function useValueStep({ field, operator, query, enabled, initialValue, onCommit }: UseValueStepOptions) {\n const isMany = operator?.arity === 'many';\n // Selection is tracked as option strings; values are parsed to the field type on commit.\n const [selected, setSelected] = useState<string[]>(() => toStrings(initialValue));\n const initialValueRef = useRef(initialValue);\n initialValueRef.current = initialValue;\n\n // The editor stays mounted across opens: re-seed from the current value each time it opens.\n useEffect(() => {\n setSelected(enabled ? toStrings(initialValueRef.current) : []);\n }, [enabled]);\n\n const suggestions = useValueSuggestions({ field, operatorId: operator?.id ?? '', query, enabled });\n const type = field?.type;\n const allowFreeText = !field?.strict && type !== 'boolean';\n\n const toggle = useCallback((value: string) => {\n setSelected(current => (current.includes(value) ? current.filter(v => v !== value) : [...current, value]));\n }, []);\n\n const commit = useCallback(\n (values: string | string[]) =>\n onCommit(Array.isArray(values) ? values.map(v => parseFieldValue(type, v)) : parseFieldValue(type, values)),\n [onCommit, type],\n );\n\n const handleSelect = useCallback(\n (option: FilterBarOption) => {\n if (isMany) toggle(option.value);\n else commit(option.value);\n },\n [isMany, toggle, commit],\n );\n\n const commitSelection = useCallback(() => {\n if (selected.length === 0) return false;\n commit(selected);\n return true;\n }, [selected, commit]);\n\n const canCommitFreeText = useCallback(\n (text: string) => allowFreeText && text.length > 0 && (type !== 'number' || Number.isFinite(Number(text))),\n [allowFreeText, type],\n );\n\n const commitFreeText = useCallback(() => {\n const text = query.trim();\n if (!canCommitFreeText(text)) return false;\n commit(isMany ? (selected.includes(text) ? selected : [...selected, text]) : text);\n return true;\n }, [canCommitFreeText, query, isMany, selected, commit]);\n\n /**\n * Enter handling that Base UI does not cover: Ctrl/Meta+Enter commits a\n * multi-selection; plain Enter with nothing highlighted commits free text.\n * Returns `true` when the event was consumed.\n */\n const handleKeyDown = useCallback(\n (event: KeyboardEvent, highlighted: FilterBarOption | null): boolean => {\n if (event.key !== 'Enter') return false;\n if (isMany && (event.ctrlKey || event.metaKey)) {\n event.preventDefault();\n return commitSelection() || commitFreeText();\n }\n if (highlighted === null) {\n event.preventDefault();\n return commitFreeText();\n }\n return false;\n },\n [isMany, commitSelection, commitFreeText],\n );\n\n return {\n isMany,\n selected,\n toggle,\n options: suggestions.options,\n isLoading: suggestions.isLoading,\n error: suggestions.error,\n hasSuggestions: suggestions.hasSuggestions,\n allowFreeText,\n /** True when the current query can be committed as free text (non-empty, numeric when the field is a number). */\n canCommitQuery: canCommitFreeText(query.trim()),\n handleSelect,\n handleKeyDown,\n commitSelection,\n commitFreeText,\n };\n}\n","/* eslint-disable react-refresh/only-export-components */\nimport type { BaseUIEvent } from '@base-ui/react/types';\nimport { LockIcon, PencilIcon, SearchIcon, XIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, KeyboardEvent, MouseEvent, ReactNode } from 'react';\nimport { emptyValueFor, useFilterBarContext } from './filter-bar-context';\nimport { FilterBarOptionList } from './filter-bar-option-list';\nimport { matchesQueryFilter } from './match-query';\nimport type {\n FilterBarField,\n FilterBarFieldType,\n FilterBarItem,\n FilterBarOperator,\n FilterBarOption,\n FilterBarScalar,\n FilterBarSegment,\n FilterBarValue,\n} from './types';\nimport { useValueStep } from './use-value-step';\nimport { getFieldSuggestions } from './use-value-suggestions';\nimport { Button } from '@/ds/components/Button/Button';\nimport { ComboboxPrimitive, comboboxStyles } from '@/ds/components/Combobox';\nimport { Kbd } from '@/ds/components/Kbd/kbd';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { MENU_SIDE_OFFSET } from '@/ds/primitives/menu-item';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { useIsApplePlatform } from '@/hooks/use-keyboard-shortcut-label';\nimport { cn } from '@/lib/utils';\n\nexport const segmentClass = cn(\n 'flex max-w-48 min-w-0 items-center gap-1 px-2 text-ui-sm leading-ui-sm whitespace-nowrap outline-none',\n 'first:rounded-l-lg last:rounded-r-lg',\n);\n\nexport const editableSegmentClass = cn(\n segmentClass,\n 'cursor-pointer transition-colors hover:bg-neutral6/5 hover:text-neutral6',\n 'focus-visible:bg-neutral6/10 focus-visible:text-neutral6 data-[popup-open]:bg-neutral6/10 data-[popup-open]:text-neutral6',\n);\n\n/** Field label with its optional leading icon — used by chips, the draft chip and field option lists. */\nexport function FilterBarFieldLabel({ field, label }: { field: FilterBarField | undefined; label?: string }) {\n const Icon = field?.icon;\n return (\n <>\n {Icon && <Icon className=\"size-[1.1em] shrink-0\" aria-hidden />}\n <span className=\"truncate\">{label ?? field?.label}</span>\n </>\n );\n}\n\n/** Inline style carrying a field's accent onto its field segment (text + icon). */\nexport const fieldSegmentAccentStyle = (field: FilterBarField | undefined) =>\n field?.color ? { color: field.color } : undefined;\n\nexport const formatValue = (value: FilterBarValue, field: FilterBarField | undefined): string => {\n const suggestions = getFieldSuggestions(field);\n const options = Array.isArray(suggestions) ? suggestions : undefined;\n const label = (v: FilterBarScalar) => options?.find(o => o.value === String(v))?.label ?? String(v);\n return Array.isArray(value) ? value.map(label).join(', ') : label(value);\n};\n\ntype ChipContext = {\n item: FilterBarItem;\n index: number;\n field: FilterBarField | undefined;\n operator: FilterBarOperator | undefined;\n openSegment: FilterBarSegment | null;\n setOpenSegment: (segment: FilterBarSegment | null) => void;\n readOnly: boolean;\n /** The field allows a single operator, so the operator segment is not shown. */\n operatorImplied: boolean;\n};\n\nconst ChipContext = createContext<ChipContext | null>(null);\nconst useChip = () => {\n const chip = useContext(ChipContext);\n if (!chip) throw new Error('FilterBarChip segments must be rendered inside <FilterBarChip>.');\n return chip;\n};\n\nexport type FilterBarChipProps = {\n item: FilterBarItem;\n /** Locked chip: plain labels, no editors, no remove button. */\n readOnly?: boolean;\n /** `false` keeps the chip editable but drops the remove button and ignores Backspace/Delete. */\n removable?: boolean;\n className?: string;\n /** Custom segment composition; defaults to Field · Operator · Value · Remove. */\n children?: ReactNode;\n};\n\nfunction isInsidePopup(target: EventTarget | null) {\n return target instanceof Element && Boolean(target.closest('[data-slot=\"filter-bar-editor\"]'));\n}\n\nexport function FilterBarChip({ item, readOnly = false, removable = true, className, children }: FilterBarChipProps) {\n const ctx = useFilterBarContext();\n const [openSegment, setOpenSegment] = useState<FilterBarSegment | null>(null);\n const field = ctx.getField(item.fieldId);\n const operator = ctx.getOperator(item.operatorId);\n const index = ctx.items.findIndex(i => i.id === item.id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const pinned = readOnly || !removable;\n const { registerNonRemovable } = ctx;\n useEffect(() => {\n registerNonRemovable(item.id, pinned);\n return () => registerNonRemovable(item.id, false);\n }, [registerNonRemovable, item.id, pinned]);\n\n const operatorImplied = field ? ctx.getFieldOperators(field).length === 1 : false;\n const label = [\n field?.label ?? item.fieldId,\n operatorImplied ? '' : (operator?.label ?? item.operatorId),\n formatValue(item.value, field),\n ]\n .filter(Boolean)\n .join(' ');\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (readOnly || isInsidePopup(event.target)) return;\n const segments = Array.from(rootRef.current?.querySelectorAll<HTMLElement>('[data-filter-bar-segment]') ?? []);\n const current = segments.findIndex(el => el === event.target);\n\n switch (event.key) {\n case 'ArrowRight': {\n event.preventDefault();\n const next = segments[current + 1];\n if (next) next.focus();\n else if (!ctx.focusChip(index + 1, 1, 'field')) ctx.focusInput();\n return;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n const prev = segments[current - 1];\n if (prev) prev.focus();\n else ctx.focusChip(index - 1, -1, 'remove');\n return;\n }\n case 'Delete':\n case 'Backspace':\n if (!removable) return;\n event.preventDefault();\n ctx.removeItem(item.id);\n ctx.focusAfterRemove(index);\n return;\n default:\n }\n },\n [readOnly, removable, ctx, index, item.id],\n );\n\n const chipValue = useMemo<ChipContext>(\n () => ({ item, index, field, operator, openSegment, setOpenSegment, readOnly, operatorImplied }),\n [item, index, field, operator, openSegment, readOnly, operatorImplied],\n );\n const content = children ?? (\n <>\n <FilterBarChipField />\n <FilterBarChipOperator />\n <FilterBarChipValue />\n {removable && <FilterBarChipRemove />}\n </>\n );\n return (\n <ChipContext.Provider value={chipValue}>\n <div\n ref={rootRef}\n role=\"group\"\n aria-label={label}\n data-slot=\"filter-bar-chip\"\n data-readonly={readOnly || undefined}\n className={cn(\n 'flex max-w-full items-stretch divide-x divide-border1 rounded-lg border border-border1 bg-surface5 text-neutral5',\n className,\n )}\n onKeyDown={handleKeyDown}\n onClick={(event: MouseEvent) => event.stopPropagation()}\n >\n {readOnly && (\n <span className={cn(segmentClass, 'pr-0 text-neutral3')} title=\"This filter is locked\">\n <LockIcon className=\"size-[1.1em]\" />\n </span>\n )}\n {content}\n </div>\n </ChipContext.Provider>\n );\n}\n\ntype SegmentComboboxProps<T> = {\n segment: Exclude<FilterBarSegment, 'remove'>;\n label: string;\n ariaLabel: string;\n items: readonly T[];\n itemToString: (item: T) => string;\n /** `null` when `items` are already filtered. */\n filter: null | ((item: T, query: string, itemToString?: (item: T) => string) => boolean);\n /** Current selection, surfaced through Base UI's `ItemIndicator`. */\n value?: T | null;\n query: string;\n onQueryChange: (query: string) => void;\n onSelect: (item: T) => void;\n onOpen?: () => void;\n /** Popup content: typically a `SegmentSearchInput` followed by a `FilterBarOptionList`. */\n children: ReactNode;\n};\n\n// Highlighted item of the enclosing SegmentCombobox, for popup inputs that route Enter.\nconst SegmentPopupContext = createContext<{ highlighted: unknown }>({ highlighted: null });\n\ntype SegmentSearchInputProps<T> = {\n placeholder: string;\n /** Leading icon. Defaults to a search glass; free-text editing uses a pencil. */\n icon?: LucideIcon;\n inputMode?: ComponentProps<'input'>['inputMode'];\n onKeyDown?: (event: BaseUIEvent<KeyboardEvent<HTMLInputElement>>, highlighted: T | null) => void;\n};\n\n/** The search/free-text input at the top of a segment popup. */\nfunction SegmentSearchInput<T>({\n placeholder,\n icon: Icon = SearchIcon,\n inputMode,\n onKeyDown,\n}: SegmentSearchInputProps<T>) {\n const { highlighted } = useContext(SegmentPopupContext);\n return (\n <div className={comboboxStyles.searchContainer}>\n <Icon className={comboboxStyles.searchIcon} />\n <ComboboxPrimitive.Input\n className={comboboxStyles.searchInput}\n placeholder={placeholder}\n inputMode={inputMode}\n onKeyDown={event => onKeyDown?.(event, highlighted as T | null)}\n />\n </div>\n );\n}\n\n/**\n * A chip segment: a button trigger that opens an option popup. The editor\n * owning the segment supplies items, filtering, selection routing and the\n * popup content.\n */\nfunction SegmentCombobox<T>({\n segment,\n label,\n ariaLabel,\n items,\n itemToString,\n filter,\n value = null,\n query,\n onQueryChange,\n onSelect,\n onOpen,\n children,\n}: SegmentComboboxProps<T>) {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const container = usePortalContainer();\n const open = chip.openSegment === segment;\n const [highlighted, setHighlighted] = useState<T | null>(null);\n\n const isField = segment === 'field';\n const content = isField ? (\n <FilterBarFieldLabel field={chip.field} label={label} />\n ) : (\n <span className=\"truncate\">{label}</span>\n );\n\n if (chip.readOnly) {\n return (\n <span\n className={cn(segmentClass, isField && 'text-neutral6')}\n style={isField ? fieldSegmentAccentStyle(chip.field) : undefined}\n title={label}\n >\n {content}\n </span>\n );\n }\n\n return (\n <ComboboxPrimitive.Root<T>\n items={items}\n itemToStringLabel={itemToString}\n filter={filter}\n value={value}\n onValueChange={(item, details) => {\n // The editor decides what a pick means (and when to close); Base UI must not keep it.\n details.cancel();\n if (item !== null) onSelect(item);\n }}\n inputValue={query}\n onInputValueChange={(next, details) => {\n if (details.reason === 'input-change') onQueryChange(next);\n }}\n onItemHighlighted={item => setHighlighted(item ?? null)}\n open={open}\n onOpenChange={next => {\n if (next) onOpen?.();\n else onQueryChange('');\n chip.setOpenSegment(next ? segment : null);\n }}\n // See FilterBarInput: the runtime supports 'always' although ComboboxRoot types it as boolean.\n autoHighlight={'always' as unknown as boolean}\n modal={false}\n >\n <ComboboxPrimitive.Trigger\n ref={el => ctx.registerSegment(chip.item.id, segment, el)}\n render={\n <button\n type=\"button\"\n data-filter-bar-segment=\"\"\n tabIndex={segment === 'value' ? 0 : -1}\n aria-label={`${ariaLabel}: ${label}`}\n title={label}\n className={cn(editableSegmentClass, isField && 'text-neutral6')}\n style={isField ? fieldSegmentAccentStyle(chip.field) : undefined}\n />\n }\n >\n {content}\n </ComboboxPrimitive.Trigger>\n <ComboboxPrimitive.Portal container={container}>\n <ComboboxPrimitive.Positioner\n align=\"start\"\n sideOffset={MENU_SIDE_OFFSET}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <ComboboxPrimitive.Popup className={cn(comboboxStyles.popup, 'min-w-44')} data-slot=\"filter-bar-editor\">\n <SegmentPopupContext.Provider value={{ highlighted }}>{children}</SegmentPopupContext.Provider>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n </ComboboxPrimitive.Root>\n );\n}\n\nconst fieldLabel = (field: FilterBarField) => field.label;\nconst operatorLabel = (operator: FilterBarOperator) => operator.label;\nconst optionLabel = (option: FilterBarOption) => option.label ?? option.value;\n\nfunction FieldEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const [query, setQuery] = useState('');\n\n const onSelect = useCallback(\n (field: FilterBarField) => {\n const allowed = ctx.getFieldOperators(field);\n const nextOperator = allowed.find(o => o.id === chip.item.operatorId) ?? allowed[0];\n const arityChanged = nextOperator?.arity !== chip.operator?.arity;\n ctx.updateItem(chip.item.id, {\n fieldId: field.id,\n operatorId: nextOperator?.id ?? chip.item.operatorId,\n value: arityChanged || field.id !== chip.item.fieldId ? emptyValueFor(nextOperator) : chip.item.value,\n });\n chip.setOpenSegment(null);\n },\n [ctx, chip],\n );\n\n return (\n <SegmentCombobox<FilterBarField>\n segment=\"field\"\n ariaLabel=\"Field\"\n label={chip.field?.label ?? chip.item.fieldId}\n items={ctx.fields}\n itemToString={fieldLabel}\n filter={matchesQueryFilter}\n value={chip.field}\n query={query}\n onQueryChange={setQuery}\n onSelect={onSelect}\n >\n <SegmentSearchInput placeholder=\"Change field…\" />\n <FilterBarOptionList<FilterBarField>\n aria-label=\"Fields\"\n getKey={f => f.id}\n renderOption={f => <FilterBarFieldLabel field={f} />}\n emptyText=\"No matching field.\"\n />\n </SegmentCombobox>\n );\n}\n\nfunction OperatorEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const [query, setQuery] = useState('');\n const options = useMemo(() => (chip.field ? ctx.getFieldOperators(chip.field) : ctx.operators), [ctx, chip.field]);\n\n const onSelect = useCallback(\n (operator: FilterBarOperator) => {\n const arityChanged = (operator.arity ?? 'one') !== (chip.operator?.arity ?? 'one');\n ctx.updateItem(chip.item.id, {\n operatorId: operator.id,\n value: arityChanged ? emptyValueFor(operator) : chip.item.value,\n });\n chip.setOpenSegment(null);\n },\n [ctx, chip],\n );\n\n return (\n <SegmentCombobox<FilterBarOperator>\n segment=\"operator\"\n ariaLabel=\"Operator\"\n label={chip.operator?.label ?? chip.item.operatorId}\n items={options}\n itemToString={operatorLabel}\n filter={matchesQueryFilter}\n value={chip.operator}\n query={query}\n onQueryChange={setQuery}\n onSelect={onSelect}\n >\n <SegmentSearchInput placeholder=\"Change operator…\" />\n <FilterBarOptionList<FilterBarOperator>\n aria-label=\"Operators\"\n getKey={o => o.id}\n renderOption={o => o.label}\n emptyText=\"No matching operator.\"\n />\n </SegmentCombobox>\n );\n}\n\nfunction ValueEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const open = chip.openSegment === 'value';\n const [query, setQuery] = useState('');\n\n const close = useCallback(() => chip.setOpenSegment(null), [chip]);\n const onCommit = useCallback(\n (value: FilterBarValue) => {\n ctx.updateItem(chip.item.id, { value });\n close();\n },\n [ctx, chip.item.id, close],\n );\n\n const step = useValueStep({\n field: chip.field,\n operator: chip.operator,\n query,\n enabled: open,\n initialValue: chip.item.value,\n onCommit,\n });\n\n const ValueInput = VALUE_INPUTS[chip.field?.type ?? 'text'];\n\n return (\n <SegmentCombobox<FilterBarOption>\n segment=\"value\"\n ariaLabel=\"Value\"\n label={formatValue(chip.item.value, chip.field) || '…'}\n items={step.options}\n itemToString={optionLabel}\n filter={null}\n query={query}\n onQueryChange={setQuery}\n onSelect={step.handleSelect}\n // Prefill free-text values only; with suggestions, the current value is shown as checked instead.\n onOpen={() =>\n setQuery(!Array.isArray(chip.item.value) && !chip.field?.suggestions ? String(chip.item.value) : '')\n }\n >\n <ValueInput step={step} onCancel={close} />\n </SegmentCombobox>\n );\n}\n\ntype ValueInputProps = {\n step: ReturnType<typeof useValueStep>;\n onCancel: () => void;\n};\n\n/** Suggestion list + multi-select footer, shared by every value input. */\nfunction ValueOptions({ step, onCancel }: ValueInputProps) {\n const chip = useChip();\n const modEnterLabel = useIsApplePlatform() ? '⌘↵' : 'Ctrl ↵';\n return (\n <>\n {step.hasSuggestions && (\n <FilterBarOptionList<FilterBarOption>\n aria-label=\"Values\"\n aria-multiselectable={step.isMany || undefined}\n getKey={o => o.value}\n renderOption={o => o.label ?? o.value}\n isSelected={o => (step.isMany ? step.selected.includes(o.value) : String(chip.item.value) === o.value)}\n isLoading={step.isLoading}\n error={step.error}\n emptyText={step.allowFreeText ? 'No suggestions — press Enter to use your text.' : 'No matching value.'}\n />\n )}\n {step.isMany && (\n <div className=\"border-border1 flex items-center justify-end gap-1 border-t p-1\">\n <Button size=\"xs\" variant=\"ghost\" onClick={onCancel}>\n Cancel\n </Button>\n <Button size=\"xs\" variant=\"default\" onClick={() => step.commitSelection() || step.commitFreeText()}>\n Done\n <Kbd size=\"xs\">{modEnterLabel}</Kbd>\n </Button>\n </div>\n )}\n </>\n );\n}\n\n/** Free-text (optionally suggestion-backed) value input; text and number share it. */\nfunction FreeTextValueInput({\n step,\n onCancel,\n inputMode,\n noun,\n}: ValueInputProps & { inputMode?: ComponentProps<'input'>['inputMode']; noun: string }) {\n return (\n <>\n <SegmentSearchInput<FilterBarOption>\n icon={step.hasSuggestions ? SearchIcon : PencilIcon}\n inputMode={inputMode}\n placeholder={\n step.hasSuggestions\n ? step.allowFreeText\n ? `Search or type a ${noun}…`\n : `Search ${noun}s…`\n : `Type a ${noun}…`\n }\n onKeyDown={(event, highlighted) => {\n const highlightedOption = step.hasSuggestions ? highlighted : null;\n const handled = step.handleKeyDown(event, highlightedOption);\n // Base UI closes on Enter when nothing is highlighted; a rejected free-text value must keep the editor open.\n if (handled || (event.key === 'Enter' && highlightedOption === null)) event.preventBaseUIHandler();\n }}\n />\n <ValueOptions step={step} onCancel={onCancel} />\n </>\n );\n}\n\nfunction TextValueInput(props: ValueInputProps) {\n return <FreeTextValueInput {...props} noun=\"value\" />;\n}\n\nfunction NumberValueInput(props: ValueInputProps) {\n return <FreeTextValueInput {...props} inputMode=\"decimal\" noun=\"number\" />;\n}\n\n/** Select-like: no search input, just the True/False (or custom) options. */\nfunction BooleanValueInput(props: ValueInputProps) {\n return <ValueOptions {...props} />;\n}\n\nconst VALUE_INPUTS: Record<FilterBarFieldType, (props: ValueInputProps) => ReactNode> = {\n text: TextValueInput,\n number: NumberValueInput,\n boolean: BooleanValueInput,\n};\n\nexport function FilterBarChipField() {\n return <FieldEditor />;\n}\n\nexport function FilterBarChipOperator() {\n const chip = useChip();\n if (chip.operatorImplied) return null;\n return <OperatorEditor />;\n}\n\nexport function FilterBarChipValue() {\n const chip = useChip();\n if ((chip.operator?.arity ?? 'one') === 'none') return null;\n return <ValueEditor />;\n}\n\nexport function FilterBarChipRemove() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n if (chip.readOnly) return null;\n const label = `Remove ${chip.field?.label ?? chip.item.fieldId} filter`;\n return (\n <button\n type=\"button\"\n data-filter-bar-segment=\"\"\n tabIndex={-1}\n aria-label={label}\n title={label}\n ref={el => ctx.registerSegment(chip.item.id, 'remove', el)}\n className={cn(editableSegmentClass, 'px-1.5 text-neutral3')}\n onClick={() => {\n ctx.removeItem(chip.item.id);\n ctx.focusAfterRemove(chip.index);\n }}\n >\n <XIcon className=\"size-[1.1em]\" />\n </button>\n );\n}\n\nFilterBarChip.Field = FilterBarChipField;\nFilterBarChip.Operator = FilterBarChipOperator;\nFilterBarChip.Value = FilterBarChipValue;\nFilterBarChip.Remove = FilterBarChipRemove;\n"],"names":["ComboboxPrimitive"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const React = require('react');
6
- const toast = require('../toast-FypW736q.cjs');
6
+ const toast = require('../toast-CwH7p9gV.cjs');
7
7
 
8
8
  const copyViaClipboardApi = async (value) => {
9
9
  if (typeof navigator === "undefined" || !navigator.clipboard?.writeText) return false;
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useCallback } from 'react';
2
- import { t as toast } from '../toast-Xv8jgrMR.js';
2
+ import { t as toast } from '../toast-CTMSqE4M.js';
3
3
 
4
4
  const copyViaClipboardApi = async (value) => {
5
5
  if (typeof navigator === "undefined" || !navigator.clipboard?.writeText) return false;
@@ -0,0 +1,297 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const React = require('react');
6
+
7
+ function pickNearest({
8
+ axis,
9
+ point,
10
+ rects,
11
+ containerRect,
12
+ scroll,
13
+ border,
14
+ layoutSize,
15
+ isDisabled
16
+ }) {
17
+ const scaleX = layoutSize.width > 0 ? containerRect.width / layoutSize.width : 1;
18
+ const scaleY = layoutSize.height > 0 ? containerRect.height / layoutSize.height : 1;
19
+ let closestIndex = null;
20
+ let closestDistance = Infinity;
21
+ let containingIndex = null;
22
+ for (let index = 0; index < rects.length; index++) {
23
+ const r = rects[index];
24
+ if (!r) continue;
25
+ if (isDisabled?.(index)) continue;
26
+ if (axis === "xy") {
27
+ const left = containerRect.left + (border.x + r.left - scroll.x) * scaleX;
28
+ const top = containerRect.top + (border.y + r.top - scroll.y) * scaleY;
29
+ const width = r.width * scaleX;
30
+ const height = r.height * scaleY;
31
+ if (point.x >= left && point.x <= left + width && point.y >= top && point.y <= top + height) {
32
+ containingIndex = index;
33
+ }
34
+ const distance2 = Math.hypot(point.x - (left + width / 2), point.y - (top + height / 2));
35
+ if (distance2 < closestDistance) {
36
+ closestDistance = distance2;
37
+ closestIndex = index;
38
+ }
39
+ continue;
40
+ }
41
+ const horizontal = axis === "x";
42
+ const mousePos = horizontal ? point.x : point.y;
43
+ const scale = horizontal ? scaleX : scaleY;
44
+ const itemStart = (horizontal ? containerRect.left : containerRect.top) + ((horizontal ? border.x : border.y) + (horizontal ? r.left : r.top) - (horizontal ? scroll.x : scroll.y)) * scale;
45
+ const itemSize = (horizontal ? r.width : r.height) * scale;
46
+ if (mousePos >= itemStart && mousePos <= itemStart + itemSize) {
47
+ containingIndex = index;
48
+ }
49
+ const distance = Math.abs(mousePos - (itemStart + itemSize / 2));
50
+ if (distance < closestDistance) {
51
+ closestDistance = distance;
52
+ closestIndex = index;
53
+ }
54
+ }
55
+ return containingIndex ?? closestIndex;
56
+ }
57
+ const ACTIVE_ATTR = "data-fluid-hover-active";
58
+ const ACTIVE_INDEX_ATTR = "data-fluid-hover-active-index";
59
+ const ACTIVATOR_SELECTOR = "a[href], button, [role='menuitem'], [role='menuitemradio'], [role='menuitemcheckbox'], [role='option'], [role='radio'], [role='checkbox'], [role='tab'], [role='link'], [role='button']";
60
+ function resolveActivator(element) {
61
+ if (element.matches(ACTIVATOR_SELECTOR) || element.hasAttribute("tabindex")) {
62
+ return element;
63
+ }
64
+ return element.querySelector(ACTIVATOR_SELECTOR) ?? element;
65
+ }
66
+ const measurementAttempts = 3;
67
+ function useFluidHover(containerRef, options = {}) {
68
+ const { axis = "y", isItemDisabled, gapClick = true } = options;
69
+ const gapClickMaxDistance = typeof gapClick === "object" ? gapClick.maxDistance ?? Infinity : Infinity;
70
+ const itemsRef = React.useRef(/* @__PURE__ */ new Map());
71
+ const [activeIndex, setActiveIndex] = React.useState(null);
72
+ const activeIndexRef = React.useRef(null);
73
+ activeIndexRef.current = activeIndex;
74
+ React.useEffect(() => {
75
+ const container = containerRef.current;
76
+ if (activeIndex === null) container?.removeAttribute(ACTIVE_INDEX_ATTR);
77
+ else container?.setAttribute(ACTIVE_INDEX_ATTR, String(activeIndex));
78
+ const active = activeIndex === null ? void 0 : itemsRef.current.get(activeIndex);
79
+ active?.setAttribute(ACTIVE_ATTR, "");
80
+ return () => {
81
+ active?.removeAttribute(ACTIVE_ATTR);
82
+ if (activeIndex !== null) itemsRef.current.get(activeIndex)?.removeAttribute(ACTIVE_ATTR);
83
+ };
84
+ }, [activeIndex, containerRef]);
85
+ const [itemRects, setItemRects] = React.useState([]);
86
+ const [isMeasured, setIsMeasured] = React.useState(false);
87
+ const itemRectsRef = React.useRef([]);
88
+ const sessionRef = React.useRef(0);
89
+ const rafIdRef = React.useRef(null);
90
+ const remeasureRafIdRef = React.useRef(null);
91
+ const runMeasurement = React.useCallback(() => {
92
+ const container = containerRef.current;
93
+ if (!container) return false;
94
+ const rects = [];
95
+ let everyItemHasLayout = true;
96
+ itemsRef.current.forEach((element, index) => {
97
+ const hasLayoutBox = element.offsetParent !== null || element.offsetWidth > 0 || element.offsetHeight > 0;
98
+ if (!hasLayoutBox) {
99
+ everyItemHasLayout = false;
100
+ return;
101
+ }
102
+ let top = element.offsetTop;
103
+ let left = element.offsetLeft;
104
+ let ancestor = element.offsetParent;
105
+ while (ancestor && ancestor !== container && container.contains(ancestor)) {
106
+ top += ancestor.offsetTop + ancestor.clientTop;
107
+ left += ancestor.offsetLeft + ancestor.clientLeft;
108
+ ancestor = ancestor.offsetParent;
109
+ }
110
+ rects[index] = {
111
+ top,
112
+ height: element.offsetHeight,
113
+ left,
114
+ width: element.offsetWidth
115
+ };
116
+ });
117
+ if (!everyItemHasLayout) return false;
118
+ const prev = itemRectsRef.current;
119
+ let changed = prev.length !== rects.length;
120
+ for (let i = 0; !changed && i < rects.length; i++) {
121
+ const p = prev[i];
122
+ const r = rects[i];
123
+ if (p === r) continue;
124
+ changed = !p || !r || p.top !== r.top || p.left !== r.left || p.width !== r.width || p.height !== r.height;
125
+ }
126
+ if (changed) {
127
+ itemRectsRef.current = rects;
128
+ setItemRects(rects);
129
+ }
130
+ return true;
131
+ }, [containerRef]);
132
+ const measureItems = React.useCallback(() => {
133
+ runMeasurement();
134
+ }, [runMeasurement]);
135
+ const scheduleMeasurement = React.useCallback(
136
+ (attemptsLeft) => {
137
+ if (remeasureRafIdRef.current !== null) {
138
+ cancelAnimationFrame(remeasureRafIdRef.current);
139
+ }
140
+ remeasureRafIdRef.current = requestAnimationFrame(() => {
141
+ remeasureRafIdRef.current = null;
142
+ if (runMeasurement()) {
143
+ setIsMeasured(true);
144
+ } else if (attemptsLeft > 1) {
145
+ scheduleMeasurement(attemptsLeft - 1);
146
+ }
147
+ });
148
+ },
149
+ [runMeasurement]
150
+ );
151
+ const remeasure = React.useCallback(() => {
152
+ setIsMeasured(false);
153
+ scheduleMeasurement(measurementAttempts);
154
+ }, [scheduleMeasurement]);
155
+ const itemRoRef = React.useRef(null);
156
+ const getItemRo = React.useCallback(() => {
157
+ if (itemRoRef.current === null && typeof ResizeObserver !== "undefined") {
158
+ itemRoRef.current = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));
159
+ }
160
+ return itemRoRef.current;
161
+ }, [scheduleMeasurement]);
162
+ const registerItem = React.useCallback(
163
+ (index, element) => {
164
+ if (element) {
165
+ itemsRef.current.set(index, element);
166
+ getItemRo()?.observe(element);
167
+ if (index === activeIndexRef.current) element.setAttribute(ACTIVE_ATTR, "");
168
+ } else {
169
+ const previous = itemsRef.current.get(index);
170
+ if (previous) itemRoRef.current?.unobserve(previous);
171
+ previous?.removeAttribute(ACTIVE_ATTR);
172
+ itemsRef.current.delete(index);
173
+ if (index === activeIndexRef.current) {
174
+ setActiveIndex((current) => current === index && !itemsRef.current.has(index) ? null : current);
175
+ }
176
+ }
177
+ remeasure();
178
+ },
179
+ [remeasure, getItemRo]
180
+ );
181
+ const handleMouseMove = React.useCallback(
182
+ (e) => {
183
+ const mouseX = e.clientX;
184
+ const mouseY = e.clientY;
185
+ if (rafIdRef.current !== null) {
186
+ cancelAnimationFrame(rafIdRef.current);
187
+ }
188
+ rafIdRef.current = requestAnimationFrame(() => {
189
+ rafIdRef.current = null;
190
+ const container = containerRef.current;
191
+ if (!container) return;
192
+ setActiveIndex(
193
+ pickNearest({
194
+ axis,
195
+ point: { x: mouseX, y: mouseY },
196
+ rects: itemRectsRef.current,
197
+ containerRect: container.getBoundingClientRect(),
198
+ scroll: { x: container.scrollLeft, y: container.scrollTop },
199
+ border: { x: container.clientLeft, y: container.clientTop },
200
+ layoutSize: { width: container.offsetWidth, height: container.offsetHeight },
201
+ isDisabled: isItemDisabled ? (index) => {
202
+ const el = itemsRef.current.get(index);
203
+ return !!el && isItemDisabled(el);
204
+ } : void 0
205
+ })
206
+ );
207
+ });
208
+ },
209
+ [axis, containerRef, isItemDisabled]
210
+ );
211
+ const handleMouseEnter = React.useCallback(() => {
212
+ sessionRef.current += 1;
213
+ }, []);
214
+ const handleMouseLeave = React.useCallback(() => {
215
+ if (rafIdRef.current !== null) {
216
+ cancelAnimationFrame(rafIdRef.current);
217
+ rafIdRef.current = null;
218
+ }
219
+ setActiveIndex(null);
220
+ }, []);
221
+ const handleClick = React.useCallback(
222
+ (e) => {
223
+ const target = e.target;
224
+ if (!target) return;
225
+ for (const element2 of itemsRef.current.values()) {
226
+ if (element2.contains(target)) return;
227
+ }
228
+ if (!target.isConnected) return;
229
+ const control = target.closest?.(
230
+ "input, textarea, select, button, a, summary, [contenteditable], [role='textbox'], [role='searchbox'], [role='button']"
231
+ );
232
+ if (control) return;
233
+ if (gapClick === false) return;
234
+ const index = activeIndexRef.current;
235
+ if (index === null) return;
236
+ const element = itemsRef.current.get(index);
237
+ if (!element || isItemDisabled?.(element)) return;
238
+ if (gapClickMaxDistance !== Infinity) {
239
+ const r = element.getBoundingClientRect();
240
+ const dx = Math.max(r.left - e.clientX, 0, e.clientX - r.right);
241
+ const dy = Math.max(r.top - e.clientY, 0, e.clientY - r.bottom);
242
+ if (Math.hypot(dx, dy) > gapClickMaxDistance) return;
243
+ }
244
+ resolveActivator(element).click();
245
+ },
246
+ [isItemDisabled, gapClick, gapClickMaxDistance]
247
+ );
248
+ React.useEffect(() => {
249
+ const container = containerRef.current;
250
+ if (!container || typeof ResizeObserver === "undefined") return;
251
+ const ro = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));
252
+ ro.observe(container);
253
+ return () => ro.disconnect();
254
+ }, [containerRef, scheduleMeasurement]);
255
+ React.useEffect(() => {
256
+ return () => {
257
+ if (rafIdRef.current !== null) {
258
+ cancelAnimationFrame(rafIdRef.current);
259
+ }
260
+ if (remeasureRafIdRef.current !== null) {
261
+ cancelAnimationFrame(remeasureRafIdRef.current);
262
+ }
263
+ itemRoRef.current?.disconnect();
264
+ itemRoRef.current = null;
265
+ };
266
+ }, []);
267
+ return {
268
+ activeIndex,
269
+ setActiveIndex,
270
+ itemRects,
271
+ isMeasured,
272
+ sessionRef,
273
+ handlers: {
274
+ onMouseMove: handleMouseMove,
275
+ onMouseEnter: handleMouseEnter,
276
+ onMouseLeave: handleMouseLeave,
277
+ onClick: handleClick
278
+ },
279
+ registerItem,
280
+ remeasure,
281
+ measureItems
282
+ };
283
+ }
284
+ function useRegisterFluidHoverItem(registerItem, index, ref) {
285
+ React.useEffect(() => {
286
+ if (!registerItem || index === void 0) return;
287
+ registerItem(index, ref.current);
288
+ return () => registerItem(index, null);
289
+ }, [index, registerItem, ref]);
290
+ }
291
+
292
+ exports.ACTIVE_ATTR = ACTIVE_ATTR;
293
+ exports.ACTIVE_INDEX_ATTR = ACTIVE_INDEX_ATTR;
294
+ exports.pickNearest = pickNearest;
295
+ exports.useFluidHover = useFluidHover;
296
+ exports.useRegisterFluidHoverItem = useRegisterFluidHoverItem;
297
+ //# sourceMappingURL=use-fluid-hover.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fluid-hover.cjs.js","sources":["../../src/hooks/use-fluid-hover.ts"],"sourcesContent":["'use client';\n\nimport { useRef, useState, useCallback, useEffect, type Dispatch, type RefObject, type SetStateAction } from 'react';\n\nexport interface ItemRect {\n top: number;\n height: number;\n left: number;\n width: number;\n}\n\nexport interface UseFluidHoverOptions {\n /**\n * Which direction to resolve the nearest item along.\n * \"y\" — vertical lists (default): closest by top/height\n * \"x\" — horizontal strips: closest by left/width\n * \"xy\" — 2-D grids: closest card across both rows AND columns,\n * measured by Euclidean distance to each item's center\n */\n axis?: 'x' | 'y' | 'xy';\n /**\n * Makes an item invisible to hit-testing without unregistering it — for\n * rows that stay mounted while clipped away (a collapsed sub-tree).\n * Unregistering would invalidate every measurement; a skipped item keeps\n * the set stable. Consulted per mouse move, so keep it cheap.\n */\n isItemDisabled?: (element: HTMLElement) => boolean;\n /**\n * Whether a click that lands between items (a gap, the padding, past the\n * last row) is routed to the highlighted item, so what is lit is what a\n * click hits. On by default: in a menu or a list the highlight is a\n * promise about the click. Pass `false` where empty space should stay\n * inert (rows with destructive actions, generous whitespace), or\n * `{ maxDistance }` to route only clicks within that many pixels of the\n * highlighted item's edge.\n */\n gapClick?: boolean | { maxDistance?: number };\n}\n\nexport interface UseFluidHoverReturn {\n activeIndex: number | null;\n setActiveIndex: Dispatch<SetStateAction<number | null>>;\n itemRects: ItemRect[];\n /**\n * True once every registered item has been measured and no remeasure is\n * pending, i.e. `itemRects` describes the current item set. Gate absolutely\n * positioned overlays on it: an overlay that mounts against a rect a later\n * pass still corrects animates from the wrong place to the right one, which\n * reads as the highlight sliding in from another row.\n */\n isMeasured: boolean;\n sessionRef: RefObject<number>;\n handlers: {\n onMouseMove: (e: React.MouseEvent) => void;\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n /**\n * Routes a click that lands between items (a gap, the padding, past the\n * last row) to the highlighted item, so the highlight and the click agree:\n * what is lit is what a click hits. A click inside an item is left to the\n * item. Disabled items (`isItemDisabled`) are never activated.\n */\n onClick: (e: React.MouseEvent) => void;\n };\n registerItem: (index: number, element: HTMLElement | null) => void;\n /**\n * Invalidates the published rects and runs the hook's coalesced measurement\n * pass again, holding `isMeasured` false until it settles. Reach for it when\n * the rects may be wrong and showing an overlay against them would misplace\n * it: a popup that stays mounted between opens keeps its items registered,\n * so nothing else would notice that its rects were taken while it was\n * hidden. Registration, item resize, and container resize already trigger\n * a pass; do not call this on `children` changes.\n */\n remeasure: () => void;\n /**\n * Re-reads the rects synchronously, keeping `isMeasured` as it is. Only for\n * layout that moves the rows under a visible overlay frame by frame (the\n * accordion re-measures inside its height animation). Everything else\n * wants `remeasure`, or nothing.\n */\n measureItems: () => void;\n}\n\nexport interface PickNearestInput {\n axis: 'x' | 'y' | 'xy';\n /** The pointer, in viewport coordinates. */\n point: { x: number; y: number };\n /** Item rects in the container's layout space (sparse: unregistered slots\n * are undefined). */\n rects: readonly (ItemRect | undefined)[];\n /** The container's bounding rect and live scroll / border offsets, which\n * map layout rects into the pointer's viewport space. */\n containerRect: { left: number; top: number; width: number; height: number };\n scroll: { x: number; y: number };\n border: { x: number; y: number };\n /** Layout size of the container, so a cumulative ancestor `transform:\n * scale` (a popup mid scale-in) can be factored out per axis. */\n layoutSize: { width: number; height: number };\n /** Skips an item without unregistering it. */\n isDisabled?: (index: number) => boolean;\n}\n\n/**\n * The rule, as one pure function: an item the pointer is inside wins;\n * otherwise the item whose center is nearest does, so a pointer in a gap, in\n * the padding, or past the last row still lands. `y` and `x` measure one\n * coordinate; `xy` measures the straight line to each center. Ties keep the\n * first item. The hook calls this once per animation frame; the docs page\n * times it.\n */\nexport function pickNearest({\n axis,\n point,\n rects,\n containerRect,\n scroll,\n border,\n layoutSize,\n isDisabled,\n}: PickNearestInput): number | null {\n const scaleX = layoutSize.width > 0 ? containerRect.width / layoutSize.width : 1;\n const scaleY = layoutSize.height > 0 ? containerRect.height / layoutSize.height : 1;\n let closestIndex: number | null = null;\n let closestDistance = Infinity;\n let containingIndex: number | null = null;\n\n for (let index = 0; index < rects.length; index++) {\n const r = rects[index];\n if (!r) continue;\n if (isDisabled?.(index)) continue;\n\n if (axis === 'xy') {\n const left = containerRect.left + (border.x + r.left - scroll.x) * scaleX;\n const top = containerRect.top + (border.y + r.top - scroll.y) * scaleY;\n const width = r.width * scaleX;\n const height = r.height * scaleY;\n if (point.x >= left && point.x <= left + width && point.y >= top && point.y <= top + height) {\n containingIndex = index;\n }\n const distance = Math.hypot(point.x - (left + width / 2), point.y - (top + height / 2));\n if (distance < closestDistance) {\n closestDistance = distance;\n closestIndex = index;\n }\n continue;\n }\n\n const horizontal = axis === 'x';\n const mousePos = horizontal ? point.x : point.y;\n const scale = horizontal ? scaleX : scaleY;\n const itemStart =\n (horizontal ? containerRect.left : containerRect.top) +\n ((horizontal ? border.x : border.y) + (horizontal ? r.left : r.top) - (horizontal ? scroll.x : scroll.y)) * scale;\n const itemSize = (horizontal ? r.width : r.height) * scale;\n if (mousePos >= itemStart && mousePos <= itemStart + itemSize) {\n containingIndex = index;\n }\n const distance = Math.abs(mousePos - (itemStart + itemSize / 2));\n if (distance < closestDistance) {\n closestDistance = distance;\n closestIndex = index;\n }\n }\n\n return containingIndex ?? closestIndex;\n}\n\n/** Set on the highlighted item (boolean attribute). */\nexport const ACTIVE_ATTR = 'data-fluid-hover-active';\n/** Set on the container: the highlighted index, or absent. */\nexport const ACTIVE_INDEX_ATTR = 'data-fluid-hover-active-index';\n\nconst ACTIVATOR_SELECTOR =\n \"a[href], button, [role='menuitem'], [role='menuitemradio'], [role='menuitemcheckbox'], [role='option'], [role='radio'], [role='checkbox'], [role='tab'], [role='link'], [role='button']\";\n\n/**\n * The element a routed click should land on. A registered item is usually\n * the interactive row itself; when it is only a box around one (a sidebar\n * row around its button, a card around its link), the first control inside\n * is what a real click on the row would have reached.\n */\nfunction resolveActivator(element: HTMLElement): HTMLElement {\n if (element.matches(ACTIVATOR_SELECTOR) || element.hasAttribute('tabindex')) {\n return element;\n }\n return element.querySelector<HTMLElement>(ACTIVATOR_SELECTOR) ?? element;\n}\n\n/**\n * How many frames the coalesced remeasure retries while the registered items\n * still have no layout box. A popup can be in the DOM one frame before it is\n * laid out; retrying beats publishing zeroed rects, and the cap keeps a list\n * that stays hidden for good from spinning frames forever.\n */\nconst measurementAttempts = 3;\n\nexport function useFluidHover<T extends HTMLElement>(\n containerRef: RefObject<T | null>,\n options: UseFluidHoverOptions = {},\n): UseFluidHoverReturn {\n const { axis = 'y', isItemDisabled, gapClick = true } = options;\n const gapClickMaxDistance = typeof gapClick === 'object' ? (gapClick.maxDistance ?? Infinity) : Infinity;\n const itemsRef = useRef(new Map<number, HTMLElement>());\n const [activeIndex, setActiveIndex] = useState<number | null>(null);\n // Mirrored for handlers that read it outside a render (the gap click).\n const activeIndexRef = useRef<number | null>(null);\n activeIndexRef.current = activeIndex;\n\n // The state, in the DOM: `data-fluid-hover-active` on the highlighted item\n // and `data-fluid-hover-active-index` on the container. Devtools shows it\n // and a test asserts on it without waiting for a frame. React does not\n // manage these attributes, so it never clobbers them.\n useEffect(() => {\n const container = containerRef.current;\n if (activeIndex === null) container?.removeAttribute(ACTIVE_INDEX_ATTR);\n else container?.setAttribute(ACTIVE_INDEX_ATTR, String(activeIndex));\n const active = activeIndex === null ? undefined : itemsRef.current.get(activeIndex);\n active?.setAttribute(ACTIVE_ATTR, '');\n return () => {\n active?.removeAttribute(ACTIVE_ATTR);\n // A row that re-registered under this index while it was highlighted\n // (a remount under a new key) was marked by registerItem, not by this\n // effect: drop the mark from whatever element holds the index now.\n // eslint-disable-next-line react-hooks/exhaustive-deps -- itemsRef is a registry Map, reading it at cleanup is the point\n if (activeIndex !== null) itemsRef.current.get(activeIndex)?.removeAttribute(ACTIVE_ATTR);\n };\n }, [activeIndex, containerRef]);\n const [itemRects, setItemRects] = useState<ItemRect[]>([]);\n const [isMeasured, setIsMeasured] = useState(false);\n const itemRectsRef = useRef<ItemRect[]>([]);\n const sessionRef = useRef(0);\n const rafIdRef = useRef<number | null>(null);\n const remeasureRafIdRef = useRef<number | null>(null);\n\n /**\n * Publishes a rect for every registered item. Returns false when the\n * measurement could not be completed (no container, or an item without a\n * layout box) — nothing is published in that case, so the last complete\n * measurement stands instead of being overwritten with zeroes.\n */\n const runMeasurement = useCallback(() => {\n const container = containerRef.current;\n if (!container) return false;\n const rects: ItemRect[] = [];\n let everyItemHasLayout = true;\n itemsRef.current.forEach((element, index) => {\n // An element inside a display:none / not-yet-laid-out popup has no\n // offsetParent and reports every offset as 0. Publishing that would pin\n // overlays to the top of the list, so treat the whole pass as\n // incomplete. A boxless element is the only case: `position: fixed`\n // items also have no offsetParent but do have a size.\n const hasLayoutBox = element.offsetParent !== null || element.offsetWidth > 0 || element.offsetHeight > 0;\n if (!hasLayoutBox) {\n everyItemHasLayout = false;\n return;\n }\n // Use offset* instead of getBoundingClientRect so measurements are\n // unaffected by CSS transforms (e.g. scaleY animation on the parent\n // motion.div). offsetTop/offsetLeft are layout values relative to the\n // offsetParent (the scroll container), matching the coordinate space\n // used by `position: absolute` children. Items nested inside positioned\n // descendants of the container (a sidebar sub-menu's rows live inside a\n // positioned row) accumulate those ancestors' offsets, so every rect\n // lands in the container's own coordinate space; for a flat list the\n // loop never runs and this is exactly the plain offsetTop/offsetLeft.\n let top = element.offsetTop;\n let left = element.offsetLeft;\n let ancestor = element.offsetParent as HTMLElement | null;\n while (ancestor && ancestor !== container && container.contains(ancestor)) {\n top += ancestor.offsetTop + ancestor.clientTop;\n left += ancestor.offsetLeft + ancestor.clientLeft;\n ancestor = ancestor.offsetParent as HTMLElement | null;\n }\n rects[index] = {\n top,\n height: element.offsetHeight,\n left,\n width: element.offsetWidth,\n };\n });\n if (!everyItemHasLayout) return false;\n // Skip the state update when nothing moved (a cheap top/left/width/height\n // compare) so redundant remeasures don't churn re-renders.\n const prev = itemRectsRef.current;\n let changed = prev.length !== rects.length;\n for (let i = 0; !changed && i < rects.length; i++) {\n const p = prev[i];\n const r = rects[i];\n if (p === r) continue; // both undefined (sparse slot)\n changed = !p || !r || p.top !== r.top || p.left !== r.left || p.width !== r.width || p.height !== r.height;\n }\n if (changed) {\n itemRectsRef.current = rects;\n setItemRects(rects);\n }\n return true;\n }, [containerRef]);\n\n const measureItems = useCallback(() => {\n runMeasurement();\n }, [runMeasurement]);\n\n /**\n * The hook's single measurement pass: coalesces every trigger (item\n * registration, container resize) into one remeasure on the next frame and\n * is the only place readiness is reported, so `isMeasured` can never turn\n * true while another pass is still queued.\n */\n const scheduleMeasurement = useCallback(\n (attemptsLeft: number) => {\n if (remeasureRafIdRef.current !== null) {\n cancelAnimationFrame(remeasureRafIdRef.current);\n }\n remeasureRafIdRef.current = requestAnimationFrame(() => {\n remeasureRafIdRef.current = null;\n if (runMeasurement()) {\n setIsMeasured(true);\n } else if (attemptsLeft > 1) {\n scheduleMeasurement(attemptsLeft - 1);\n }\n });\n },\n [runMeasurement],\n );\n\n const remeasure = useCallback(() => {\n // Readiness drops first: until the pass below settles, the published rects\n // may not describe what is on screen, and an overlay positioned from them\n // would be corrected after mounting — which animates as a slide.\n setIsMeasured(false);\n scheduleMeasurement(measurementAttempts);\n }, [scheduleMeasurement]);\n\n // Observes the registered items themselves (not just the container): rows\n // that change size in place — e.g. the site-wide size step flipping while a\n // selection background is up — must invalidate the published rects even when\n // the container the effect below captured has since been remounted and the\n // ref points at a different element than the one being observed.\n const itemRoRef = useRef<ResizeObserver | null>(null);\n const getItemRo = useCallback(() => {\n if (itemRoRef.current === null && typeof ResizeObserver !== 'undefined') {\n itemRoRef.current = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));\n }\n return itemRoRef.current;\n }, [scheduleMeasurement]);\n\n const registerItem = useCallback(\n (index: number, element: HTMLElement | null) => {\n if (element) {\n itemsRef.current.set(index, element);\n getItemRo()?.observe(element);\n if (index === activeIndexRef.current) element.setAttribute(ACTIVE_ATTR, '');\n } else {\n const previous = itemsRef.current.get(index);\n if (previous) itemRoRef.current?.unobserve(previous);\n // The mark leaves with the element: a row that only moved to another\n // index (a filtering list re-ordering) must not carry it there.\n previous?.removeAttribute(ACTIVE_ATTR);\n itemsRef.current.delete(index);\n // The highlighted row is gone: nothing should stay lit or receive a\n // routed click until the pointer picks again. Decided when the\n // update applies, after this commit's registrations, so a row that\n // only moved index hands the highlight to the row now under it.\n if (index === activeIndexRef.current) {\n setActiveIndex(current => (current === index && !itemsRef.current.has(index) ? null : current));\n }\n }\n // Coalesce rapid register/unregister calls (e.g. when an AnimatePresence\n // remounts a list of rows) into a single remeasure on the next frame,\n // so consumers don't have to manually call measureItems after the\n // container's children swap.\n remeasure();\n },\n [remeasure, getItemRo],\n );\n\n const handleMouseMove = useCallback(\n (e: React.MouseEvent) => {\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n if (rafIdRef.current !== null) {\n cancelAnimationFrame(rafIdRef.current);\n }\n\n rafIdRef.current = requestAnimationFrame(() => {\n rafIdRef.current = null;\n const container = containerRef.current;\n if (!container) return;\n setActiveIndex(\n pickNearest({\n axis,\n point: { x: mouseX, y: mouseY },\n rects: itemRectsRef.current,\n containerRect: container.getBoundingClientRect(),\n scroll: { x: container.scrollLeft, y: container.scrollTop },\n border: { x: container.clientLeft, y: container.clientTop },\n layoutSize: { width: container.offsetWidth, height: container.offsetHeight },\n isDisabled: isItemDisabled\n ? index => {\n const el = itemsRef.current.get(index);\n return !!el && isItemDisabled(el);\n }\n : undefined,\n }),\n );\n });\n },\n [axis, containerRef, isItemDisabled],\n );\n\n const handleMouseEnter = useCallback(() => {\n sessionRef.current += 1;\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n if (rafIdRef.current !== null) {\n cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n setActiveIndex(null);\n }, []);\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n const target = e.target as Node | null;\n if (!target) return;\n // Inside an item: the item owns the click.\n for (const element of itemsRef.current.values()) {\n if (element.contains(target)) return;\n }\n // A row that unmounted while its own click was still bubbling (a pick\n // whose primitive re-renders the list synchronously, like a \"create\"\n // row that becomes a real item) already landed; it is not a gap.\n if (!target.isConnected) return;\n // A control that sits between the rows (a search field at the top of\n // a menu, a footer button) keeps its own click too.\n const control = (target as Element).closest?.(\n \"input, textarea, select, button, a, summary, [contenteditable], [role='textbox'], [role='searchbox'], [role='button']\",\n );\n if (control) return;\n if (gapClick === false) return;\n const index = activeIndexRef.current;\n if (index === null) return;\n const element = itemsRef.current.get(index);\n if (!element || isItemDisabled?.(element)) return;\n if (gapClickMaxDistance !== Infinity) {\n const r = element.getBoundingClientRect();\n const dx = Math.max(r.left - e.clientX, 0, e.clientX - r.right);\n const dy = Math.max(r.top - e.clientY, 0, e.clientY - r.bottom);\n if (Math.hypot(dx, dy) > gapClickMaxDistance) return;\n }\n // A real DOM click on the item, so its own handlers (and the primitive\n // wrapping it, if any) run exactly as if the pointer had been inside.\n resolveActivator(element).click();\n },\n [isItemDisabled, gapClick, gapClickMaxDistance],\n );\n\n // Remeasure when the container resizes — a reflow moves items even though\n // the registered set is unchanged, which would otherwise leave itemRects\n // stale. Coalesced through the same rAF as register/unregister. Readiness is\n // deliberately not dropped: the item set is unchanged, so the published rects\n // stay usable, and hiding overlays on every reflow would flicker them.\n useEffect(() => {\n const container = containerRef.current;\n if (!container || typeof ResizeObserver === 'undefined') return;\n const ro = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));\n ro.observe(container);\n return () => ro.disconnect();\n }, [containerRef, scheduleMeasurement]);\n\n // Clean up rAF and the item observer on unmount\n useEffect(() => {\n return () => {\n if (rafIdRef.current !== null) {\n cancelAnimationFrame(rafIdRef.current);\n }\n if (remeasureRafIdRef.current !== null) {\n cancelAnimationFrame(remeasureRafIdRef.current);\n }\n itemRoRef.current?.disconnect();\n itemRoRef.current = null;\n };\n }, []);\n\n return {\n activeIndex,\n setActiveIndex,\n itemRects,\n isMeasured,\n sessionRef,\n handlers: {\n onMouseMove: handleMouseMove,\n onMouseEnter: handleMouseEnter,\n onMouseLeave: handleMouseLeave,\n onClick: handleClick,\n },\n registerItem,\n remeasure,\n measureItems,\n };\n}\n\n/**\n * Registers an item's element with its list for as long as it is mounted.\n * The one way rows join a list: pass the hook's `registerItem` (or the copy\n * a context hands down), the row's index, and its ref. Either may be\n * missing for a row rendered outside a list (a standalone card, an accordion\n * item that is not grouped); then nothing is registered.\n */\nexport function useRegisterFluidHoverItem(\n registerItem: ((index: number, element: HTMLElement | null) => void) | undefined,\n index: number | undefined,\n ref: RefObject<HTMLElement | null>,\n) {\n useEffect(() => {\n if (!registerItem || index === undefined) return;\n registerItem(index, ref.current);\n return () => registerItem(index, null);\n }, [index, registerItem, ref]);\n}\n"],"names":["distance","useRef","useState","useEffect","useCallback","element"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from '../src/hooks/use-fluid-hover'
2
+ export {}