@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,289 @@
1
+ import { useRef, useState, useEffect, useCallback } from 'react';
2
+
3
+ function pickNearest({
4
+ axis,
5
+ point,
6
+ rects,
7
+ containerRect,
8
+ scroll,
9
+ border,
10
+ layoutSize,
11
+ isDisabled
12
+ }) {
13
+ const scaleX = layoutSize.width > 0 ? containerRect.width / layoutSize.width : 1;
14
+ const scaleY = layoutSize.height > 0 ? containerRect.height / layoutSize.height : 1;
15
+ let closestIndex = null;
16
+ let closestDistance = Infinity;
17
+ let containingIndex = null;
18
+ for (let index = 0; index < rects.length; index++) {
19
+ const r = rects[index];
20
+ if (!r) continue;
21
+ if (isDisabled?.(index)) continue;
22
+ if (axis === "xy") {
23
+ const left = containerRect.left + (border.x + r.left - scroll.x) * scaleX;
24
+ const top = containerRect.top + (border.y + r.top - scroll.y) * scaleY;
25
+ const width = r.width * scaleX;
26
+ const height = r.height * scaleY;
27
+ if (point.x >= left && point.x <= left + width && point.y >= top && point.y <= top + height) {
28
+ containingIndex = index;
29
+ }
30
+ const distance2 = Math.hypot(point.x - (left + width / 2), point.y - (top + height / 2));
31
+ if (distance2 < closestDistance) {
32
+ closestDistance = distance2;
33
+ closestIndex = index;
34
+ }
35
+ continue;
36
+ }
37
+ const horizontal = axis === "x";
38
+ const mousePos = horizontal ? point.x : point.y;
39
+ const scale = horizontal ? scaleX : scaleY;
40
+ const itemStart = (horizontal ? containerRect.left : containerRect.top) + ((horizontal ? border.x : border.y) + (horizontal ? r.left : r.top) - (horizontal ? scroll.x : scroll.y)) * scale;
41
+ const itemSize = (horizontal ? r.width : r.height) * scale;
42
+ if (mousePos >= itemStart && mousePos <= itemStart + itemSize) {
43
+ containingIndex = index;
44
+ }
45
+ const distance = Math.abs(mousePos - (itemStart + itemSize / 2));
46
+ if (distance < closestDistance) {
47
+ closestDistance = distance;
48
+ closestIndex = index;
49
+ }
50
+ }
51
+ return containingIndex ?? closestIndex;
52
+ }
53
+ const ACTIVE_ATTR = "data-fluid-hover-active";
54
+ const ACTIVE_INDEX_ATTR = "data-fluid-hover-active-index";
55
+ const ACTIVATOR_SELECTOR = "a[href], button, [role='menuitem'], [role='menuitemradio'], [role='menuitemcheckbox'], [role='option'], [role='radio'], [role='checkbox'], [role='tab'], [role='link'], [role='button']";
56
+ function resolveActivator(element) {
57
+ if (element.matches(ACTIVATOR_SELECTOR) || element.hasAttribute("tabindex")) {
58
+ return element;
59
+ }
60
+ return element.querySelector(ACTIVATOR_SELECTOR) ?? element;
61
+ }
62
+ const measurementAttempts = 3;
63
+ function useFluidHover(containerRef, options = {}) {
64
+ const { axis = "y", isItemDisabled, gapClick = true } = options;
65
+ const gapClickMaxDistance = typeof gapClick === "object" ? gapClick.maxDistance ?? Infinity : Infinity;
66
+ const itemsRef = useRef(/* @__PURE__ */ new Map());
67
+ const [activeIndex, setActiveIndex] = useState(null);
68
+ const activeIndexRef = useRef(null);
69
+ activeIndexRef.current = activeIndex;
70
+ useEffect(() => {
71
+ const container = containerRef.current;
72
+ if (activeIndex === null) container?.removeAttribute(ACTIVE_INDEX_ATTR);
73
+ else container?.setAttribute(ACTIVE_INDEX_ATTR, String(activeIndex));
74
+ const active = activeIndex === null ? void 0 : itemsRef.current.get(activeIndex);
75
+ active?.setAttribute(ACTIVE_ATTR, "");
76
+ return () => {
77
+ active?.removeAttribute(ACTIVE_ATTR);
78
+ if (activeIndex !== null) itemsRef.current.get(activeIndex)?.removeAttribute(ACTIVE_ATTR);
79
+ };
80
+ }, [activeIndex, containerRef]);
81
+ const [itemRects, setItemRects] = useState([]);
82
+ const [isMeasured, setIsMeasured] = useState(false);
83
+ const itemRectsRef = useRef([]);
84
+ const sessionRef = useRef(0);
85
+ const rafIdRef = useRef(null);
86
+ const remeasureRafIdRef = useRef(null);
87
+ const runMeasurement = useCallback(() => {
88
+ const container = containerRef.current;
89
+ if (!container) return false;
90
+ const rects = [];
91
+ let everyItemHasLayout = true;
92
+ itemsRef.current.forEach((element, index) => {
93
+ const hasLayoutBox = element.offsetParent !== null || element.offsetWidth > 0 || element.offsetHeight > 0;
94
+ if (!hasLayoutBox) {
95
+ everyItemHasLayout = false;
96
+ return;
97
+ }
98
+ let top = element.offsetTop;
99
+ let left = element.offsetLeft;
100
+ let ancestor = element.offsetParent;
101
+ while (ancestor && ancestor !== container && container.contains(ancestor)) {
102
+ top += ancestor.offsetTop + ancestor.clientTop;
103
+ left += ancestor.offsetLeft + ancestor.clientLeft;
104
+ ancestor = ancestor.offsetParent;
105
+ }
106
+ rects[index] = {
107
+ top,
108
+ height: element.offsetHeight,
109
+ left,
110
+ width: element.offsetWidth
111
+ };
112
+ });
113
+ if (!everyItemHasLayout) return false;
114
+ const prev = itemRectsRef.current;
115
+ let changed = prev.length !== rects.length;
116
+ for (let i = 0; !changed && i < rects.length; i++) {
117
+ const p = prev[i];
118
+ const r = rects[i];
119
+ if (p === r) continue;
120
+ changed = !p || !r || p.top !== r.top || p.left !== r.left || p.width !== r.width || p.height !== r.height;
121
+ }
122
+ if (changed) {
123
+ itemRectsRef.current = rects;
124
+ setItemRects(rects);
125
+ }
126
+ return true;
127
+ }, [containerRef]);
128
+ const measureItems = useCallback(() => {
129
+ runMeasurement();
130
+ }, [runMeasurement]);
131
+ const scheduleMeasurement = useCallback(
132
+ (attemptsLeft) => {
133
+ if (remeasureRafIdRef.current !== null) {
134
+ cancelAnimationFrame(remeasureRafIdRef.current);
135
+ }
136
+ remeasureRafIdRef.current = requestAnimationFrame(() => {
137
+ remeasureRafIdRef.current = null;
138
+ if (runMeasurement()) {
139
+ setIsMeasured(true);
140
+ } else if (attemptsLeft > 1) {
141
+ scheduleMeasurement(attemptsLeft - 1);
142
+ }
143
+ });
144
+ },
145
+ [runMeasurement]
146
+ );
147
+ const remeasure = useCallback(() => {
148
+ setIsMeasured(false);
149
+ scheduleMeasurement(measurementAttempts);
150
+ }, [scheduleMeasurement]);
151
+ const itemRoRef = useRef(null);
152
+ const getItemRo = useCallback(() => {
153
+ if (itemRoRef.current === null && typeof ResizeObserver !== "undefined") {
154
+ itemRoRef.current = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));
155
+ }
156
+ return itemRoRef.current;
157
+ }, [scheduleMeasurement]);
158
+ const registerItem = useCallback(
159
+ (index, element) => {
160
+ if (element) {
161
+ itemsRef.current.set(index, element);
162
+ getItemRo()?.observe(element);
163
+ if (index === activeIndexRef.current) element.setAttribute(ACTIVE_ATTR, "");
164
+ } else {
165
+ const previous = itemsRef.current.get(index);
166
+ if (previous) itemRoRef.current?.unobserve(previous);
167
+ previous?.removeAttribute(ACTIVE_ATTR);
168
+ itemsRef.current.delete(index);
169
+ if (index === activeIndexRef.current) {
170
+ setActiveIndex((current) => current === index && !itemsRef.current.has(index) ? null : current);
171
+ }
172
+ }
173
+ remeasure();
174
+ },
175
+ [remeasure, getItemRo]
176
+ );
177
+ const handleMouseMove = useCallback(
178
+ (e) => {
179
+ const mouseX = e.clientX;
180
+ const mouseY = e.clientY;
181
+ if (rafIdRef.current !== null) {
182
+ cancelAnimationFrame(rafIdRef.current);
183
+ }
184
+ rafIdRef.current = requestAnimationFrame(() => {
185
+ rafIdRef.current = null;
186
+ const container = containerRef.current;
187
+ if (!container) return;
188
+ setActiveIndex(
189
+ pickNearest({
190
+ axis,
191
+ point: { x: mouseX, y: mouseY },
192
+ rects: itemRectsRef.current,
193
+ containerRect: container.getBoundingClientRect(),
194
+ scroll: { x: container.scrollLeft, y: container.scrollTop },
195
+ border: { x: container.clientLeft, y: container.clientTop },
196
+ layoutSize: { width: container.offsetWidth, height: container.offsetHeight },
197
+ isDisabled: isItemDisabled ? (index) => {
198
+ const el = itemsRef.current.get(index);
199
+ return !!el && isItemDisabled(el);
200
+ } : void 0
201
+ })
202
+ );
203
+ });
204
+ },
205
+ [axis, containerRef, isItemDisabled]
206
+ );
207
+ const handleMouseEnter = useCallback(() => {
208
+ sessionRef.current += 1;
209
+ }, []);
210
+ const handleMouseLeave = useCallback(() => {
211
+ if (rafIdRef.current !== null) {
212
+ cancelAnimationFrame(rafIdRef.current);
213
+ rafIdRef.current = null;
214
+ }
215
+ setActiveIndex(null);
216
+ }, []);
217
+ const handleClick = useCallback(
218
+ (e) => {
219
+ const target = e.target;
220
+ if (!target) return;
221
+ for (const element2 of itemsRef.current.values()) {
222
+ if (element2.contains(target)) return;
223
+ }
224
+ if (!target.isConnected) return;
225
+ const control = target.closest?.(
226
+ "input, textarea, select, button, a, summary, [contenteditable], [role='textbox'], [role='searchbox'], [role='button']"
227
+ );
228
+ if (control) return;
229
+ if (gapClick === false) return;
230
+ const index = activeIndexRef.current;
231
+ if (index === null) return;
232
+ const element = itemsRef.current.get(index);
233
+ if (!element || isItemDisabled?.(element)) return;
234
+ if (gapClickMaxDistance !== Infinity) {
235
+ const r = element.getBoundingClientRect();
236
+ const dx = Math.max(r.left - e.clientX, 0, e.clientX - r.right);
237
+ const dy = Math.max(r.top - e.clientY, 0, e.clientY - r.bottom);
238
+ if (Math.hypot(dx, dy) > gapClickMaxDistance) return;
239
+ }
240
+ resolveActivator(element).click();
241
+ },
242
+ [isItemDisabled, gapClick, gapClickMaxDistance]
243
+ );
244
+ useEffect(() => {
245
+ const container = containerRef.current;
246
+ if (!container || typeof ResizeObserver === "undefined") return;
247
+ const ro = new ResizeObserver(() => scheduleMeasurement(measurementAttempts));
248
+ ro.observe(container);
249
+ return () => ro.disconnect();
250
+ }, [containerRef, scheduleMeasurement]);
251
+ useEffect(() => {
252
+ return () => {
253
+ if (rafIdRef.current !== null) {
254
+ cancelAnimationFrame(rafIdRef.current);
255
+ }
256
+ if (remeasureRafIdRef.current !== null) {
257
+ cancelAnimationFrame(remeasureRafIdRef.current);
258
+ }
259
+ itemRoRef.current?.disconnect();
260
+ itemRoRef.current = null;
261
+ };
262
+ }, []);
263
+ return {
264
+ activeIndex,
265
+ setActiveIndex,
266
+ itemRects,
267
+ isMeasured,
268
+ sessionRef,
269
+ handlers: {
270
+ onMouseMove: handleMouseMove,
271
+ onMouseEnter: handleMouseEnter,
272
+ onMouseLeave: handleMouseLeave,
273
+ onClick: handleClick
274
+ },
275
+ registerItem,
276
+ remeasure,
277
+ measureItems
278
+ };
279
+ }
280
+ function useRegisterFluidHoverItem(registerItem, index, ref) {
281
+ useEffect(() => {
282
+ if (!registerItem || index === void 0) return;
283
+ registerItem(index, ref.current);
284
+ return () => registerItem(index, null);
285
+ }, [index, registerItem, ref]);
286
+ }
287
+
288
+ export { ACTIVE_ATTR, ACTIVE_INDEX_ATTR, pickNearest, useFluidHover, useRegisterFluidHoverItem };
289
+ //# sourceMappingURL=use-fluid-hover.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fluid-hover.es.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","element"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const React = require('react');
6
+ const v4 = require('zod/v4');
6
7
 
7
8
  function useLocalStorageState({
8
9
  initialKey,
@@ -30,6 +31,54 @@ function useLocalStorageState({
30
31
  }, [storageKey, value, serialize]);
31
32
  return [value, setValue];
32
33
  }
34
+ const EMPTY_ENTRY = { value: void 0, expired: false };
35
+ const toMs = (expiresAt) => expiresAt instanceof Date ? expiresAt.getTime() : expiresAt;
36
+ const removeStoredItem = (key) => {
37
+ try {
38
+ localStorage.removeItem(key);
39
+ } catch {
40
+ }
41
+ };
42
+ function useExpiringLocalStorageState({
43
+ key,
44
+ expiresAt,
45
+ schema,
46
+ now = Date.now
47
+ }) {
48
+ const [storageKey] = React.useState(key);
49
+ const [entry, setEntry] = React.useState(() => {
50
+ try {
51
+ const stored = localStorage.getItem(storageKey);
52
+ if (stored === null) return EMPTY_ENTRY;
53
+ const parsed = v4.z.object({ value: schema, expiresAt: v4.z.number() }).safeParse(JSON.parse(stored));
54
+ if (!parsed.success) return EMPTY_ENTRY;
55
+ if (parsed.data.expiresAt <= now()) {
56
+ removeStoredItem(storageKey);
57
+ return { ...EMPTY_ENTRY, expired: true };
58
+ }
59
+ return { value: parsed.data.value, expired: false };
60
+ } catch {
61
+ return EMPTY_ENTRY;
62
+ }
63
+ });
64
+ const setValue = React.useCallback(
65
+ (value) => {
66
+ const expiresAtMs = toMs(expiresAt);
67
+ try {
68
+ localStorage.setItem(storageKey, JSON.stringify({ value, expiresAt: expiresAtMs }));
69
+ } catch {
70
+ }
71
+ setEntry({ value, expired: false });
72
+ },
73
+ [storageKey, expiresAt]
74
+ );
75
+ const clear = React.useCallback(() => {
76
+ removeStoredItem(storageKey);
77
+ setEntry(EMPTY_ENTRY);
78
+ }, [storageKey]);
79
+ return { value: entry.value, expired: entry.expired, setValue, clear };
80
+ }
33
81
 
82
+ exports.useExpiringLocalStorageState = useExpiringLocalStorageState;
34
83
  exports.useLocalStorageState = useLocalStorageState;
35
84
  //# sourceMappingURL=use-local-storage-state.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-local-storage-state.cjs.js","sources":["../../src/hooks/use-local-storage-state.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { z } from 'zod/v4';\n\ninterface LocalStorageStateOptions<T> {\n initialKey: string;\n defaultValue: T;\n schema: z.ZodType<T>;\n serialize?: (value: T) => string;\n}\n\n// Like useState, initialization happens once. Remount the consumer when its storage key changes.\nexport function useLocalStorageState<T>({\n initialKey,\n defaultValue,\n schema,\n serialize = JSON.stringify,\n}: LocalStorageStateOptions<T>): [T, Dispatch<SetStateAction<T>>] {\n const [storageKey] = useState(initialKey);\n const [value, setValue] = useState<T>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored !== null) {\n const parsed = schema.safeParse(JSON.parse(stored));\n if (parsed.success) return parsed.data;\n }\n } catch {\n // Invalid JSON or unavailable browser storage falls back to the initial value.\n }\n return defaultValue;\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(storageKey, serialize(value));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n }, [storageKey, value, serialize]);\n\n return [value, setValue];\n}\n"],"names":["useState","useEffect"],"mappings":";;;;;;AAYO,SAAS,oBAAA,CAAwB;AAAA,EACtC,UAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAY,IAAA,CAAK;AACnB,CAAA,EAAkE;AAChE,EAAA,MAAM,CAAC,UAAU,CAAA,GAAIA,cAAA,CAAS,UAAU,CAAA;AACxC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,eAAY,MAAM;AAC1C,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,YAAA,CAAa,OAAA,CAAQ,UAAU,CAAA;AAC9C,MAAA,IAAI,WAAW,IAAA,EAAM;AACnB,QAAA,MAAM,SAAS,MAAA,CAAO,SAAA,CAAU,IAAA,CAAK,KAAA,CAAM,MAAM,CAAC,CAAA;AAClD,QAAA,IAAI,MAAA,CAAO,OAAA,EAAS,OAAO,MAAA,CAAO,IAAA;AAAA,MACpC;AAAA,IACF,CAAA,CAAA,MAAQ;AAAA,IAER;AACA,IAAA,OAAO,YAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI;AACF,MAAA,YAAA,CAAa,OAAA,CAAQ,UAAA,EAAY,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,IACnD,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF,CAAA,EAAG,CAAC,UAAA,EAAY,KAAA,EAAO,SAAS,CAAC,CAAA;AAEjC,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"use-local-storage-state.cjs.js","sources":["../../src/hooks/use-local-storage-state.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { z } from 'zod/v4';\n\ninterface LocalStorageStateOptions<T> {\n initialKey: string;\n defaultValue: T;\n schema: z.ZodType<T>;\n serialize?: (value: T) => string;\n}\n\n// Like useState, initialization happens once. Remount the consumer when its storage key changes.\nexport function useLocalStorageState<T>({\n initialKey,\n defaultValue,\n schema,\n serialize = JSON.stringify,\n}: LocalStorageStateOptions<T>): [T, Dispatch<SetStateAction<T>>] {\n const [storageKey] = useState(initialKey);\n const [value, setValue] = useState<T>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored !== null) {\n const parsed = schema.safeParse(JSON.parse(stored));\n if (parsed.success) return parsed.data;\n }\n } catch {\n // Invalid JSON or unavailable browser storage falls back to the initial value.\n }\n return defaultValue;\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(storageKey, serialize(value));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n }, [storageKey, value, serialize]);\n\n return [value, setValue];\n}\n\ninterface ExpiringLocalStorageStateOptions<T> {\n key: string;\n /** Absolute expiration applied to values written through `setValue`. */\n expiresAt: Date | number;\n schema: z.ZodType<T>;\n now?: () => number;\n}\n\ninterface ExpiringLocalStorageState<T> {\n /** `undefined` when nothing is stored or the stored entry has expired. */\n value: T | undefined;\n /** `true` when an entry existed but its expiration date has passed. */\n expired: boolean;\n setValue: (value: T) => void;\n clear: () => void;\n}\n\ninterface ExpiringEntry<T> {\n value: T | undefined;\n expired: boolean;\n}\n\nconst EMPTY_ENTRY = { value: undefined, expired: false };\n\nconst toMs = (expiresAt: Date | number) => (expiresAt instanceof Date ? expiresAt.getTime() : expiresAt);\n\nconst removeStoredItem = (key: string) => {\n try {\n localStorage.removeItem(key);\n } catch {\n // Storage may be unavailable; the in-memory state is still cleared.\n }\n};\n\n// Stores `{ value, expiresAt }` under `key`. Expiration is only checked when the key is read\n// (at mount); an expired entry is removed and reported as `expired`. Like useState,\n// initialization happens once. Remount the consumer when its storage key changes.\nexport function useExpiringLocalStorageState<T>({\n key,\n expiresAt,\n schema,\n now = Date.now,\n}: ExpiringLocalStorageStateOptions<T>): ExpiringLocalStorageState<T> {\n const [storageKey] = useState(key);\n const [entry, setEntry] = useState<ExpiringEntry<T>>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored === null) return EMPTY_ENTRY;\n const parsed = z.object({ value: schema, expiresAt: z.number() }).safeParse(JSON.parse(stored));\n if (!parsed.success) return EMPTY_ENTRY;\n if (parsed.data.expiresAt <= now()) {\n removeStoredItem(storageKey);\n return { ...EMPTY_ENTRY, expired: true };\n }\n return { value: parsed.data.value, expired: false };\n } catch {\n // Invalid JSON or unavailable browser storage behaves like an empty entry.\n return EMPTY_ENTRY;\n }\n });\n\n const setValue = useCallback(\n (value: T) => {\n const expiresAtMs = toMs(expiresAt);\n try {\n localStorage.setItem(storageKey, JSON.stringify({ value, expiresAt: expiresAtMs }));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n setEntry({ value, expired: false });\n },\n [storageKey, expiresAt],\n );\n\n const clear = useCallback(() => {\n removeStoredItem(storageKey);\n setEntry(EMPTY_ENTRY);\n }, [storageKey]);\n\n return { value: entry.value, expired: entry.expired, setValue, clear };\n}\n"],"names":["useState","useEffect","z","useCallback"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { useState, useEffect } from 'react';
1
+ import { useState, useCallback, useEffect } from 'react';
2
+ import { z } from 'zod/v4';
2
3
 
3
4
  function useLocalStorageState({
4
5
  initialKey,
@@ -26,6 +27,53 @@ function useLocalStorageState({
26
27
  }, [storageKey, value, serialize]);
27
28
  return [value, setValue];
28
29
  }
30
+ const EMPTY_ENTRY = { value: void 0, expired: false };
31
+ const toMs = (expiresAt) => expiresAt instanceof Date ? expiresAt.getTime() : expiresAt;
32
+ const removeStoredItem = (key) => {
33
+ try {
34
+ localStorage.removeItem(key);
35
+ } catch {
36
+ }
37
+ };
38
+ function useExpiringLocalStorageState({
39
+ key,
40
+ expiresAt,
41
+ schema,
42
+ now = Date.now
43
+ }) {
44
+ const [storageKey] = useState(key);
45
+ const [entry, setEntry] = useState(() => {
46
+ try {
47
+ const stored = localStorage.getItem(storageKey);
48
+ if (stored === null) return EMPTY_ENTRY;
49
+ const parsed = z.object({ value: schema, expiresAt: z.number() }).safeParse(JSON.parse(stored));
50
+ if (!parsed.success) return EMPTY_ENTRY;
51
+ if (parsed.data.expiresAt <= now()) {
52
+ removeStoredItem(storageKey);
53
+ return { ...EMPTY_ENTRY, expired: true };
54
+ }
55
+ return { value: parsed.data.value, expired: false };
56
+ } catch {
57
+ return EMPTY_ENTRY;
58
+ }
59
+ });
60
+ const setValue = useCallback(
61
+ (value) => {
62
+ const expiresAtMs = toMs(expiresAt);
63
+ try {
64
+ localStorage.setItem(storageKey, JSON.stringify({ value, expiresAt: expiresAtMs }));
65
+ } catch {
66
+ }
67
+ setEntry({ value, expired: false });
68
+ },
69
+ [storageKey, expiresAt]
70
+ );
71
+ const clear = useCallback(() => {
72
+ removeStoredItem(storageKey);
73
+ setEntry(EMPTY_ENTRY);
74
+ }, [storageKey]);
75
+ return { value: entry.value, expired: entry.expired, setValue, clear };
76
+ }
29
77
 
30
- export { useLocalStorageState };
78
+ export { useExpiringLocalStorageState, useLocalStorageState };
31
79
  //# sourceMappingURL=use-local-storage-state.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-local-storage-state.es.js","sources":["../../src/hooks/use-local-storage-state.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { z } from 'zod/v4';\n\ninterface LocalStorageStateOptions<T> {\n initialKey: string;\n defaultValue: T;\n schema: z.ZodType<T>;\n serialize?: (value: T) => string;\n}\n\n// Like useState, initialization happens once. Remount the consumer when its storage key changes.\nexport function useLocalStorageState<T>({\n initialKey,\n defaultValue,\n schema,\n serialize = JSON.stringify,\n}: LocalStorageStateOptions<T>): [T, Dispatch<SetStateAction<T>>] {\n const [storageKey] = useState(initialKey);\n const [value, setValue] = useState<T>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored !== null) {\n const parsed = schema.safeParse(JSON.parse(stored));\n if (parsed.success) return parsed.data;\n }\n } catch {\n // Invalid JSON or unavailable browser storage falls back to the initial value.\n }\n return defaultValue;\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(storageKey, serialize(value));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n }, [storageKey, value, serialize]);\n\n return [value, setValue];\n}\n"],"names":[],"mappings":";;AAYO,SAAS,oBAAA,CAAwB;AAAA,EACtC,UAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAY,IAAA,CAAK;AACnB,CAAA,EAAkE;AAChE,EAAA,MAAM,CAAC,UAAU,CAAA,GAAI,QAAA,CAAS,UAAU,CAAA;AACxC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAY,MAAM;AAC1C,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,YAAA,CAAa,OAAA,CAAQ,UAAU,CAAA;AAC9C,MAAA,IAAI,WAAW,IAAA,EAAM;AACnB,QAAA,MAAM,SAAS,MAAA,CAAO,SAAA,CAAU,IAAA,CAAK,KAAA,CAAM,MAAM,CAAC,CAAA;AAClD,QAAA,IAAI,MAAA,CAAO,OAAA,EAAS,OAAO,MAAA,CAAO,IAAA;AAAA,MACpC;AAAA,IACF,CAAA,CAAA,MAAQ;AAAA,IAER;AACA,IAAA,OAAO,YAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI;AACF,MAAA,YAAA,CAAa,OAAA,CAAQ,UAAA,EAAY,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,IACnD,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF,CAAA,EAAG,CAAC,UAAA,EAAY,KAAA,EAAO,SAAS,CAAC,CAAA;AAEjC,EAAA,OAAO,CAAC,OAAO,QAAQ,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"use-local-storage-state.es.js","sources":["../../src/hooks/use-local-storage-state.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { z } from 'zod/v4';\n\ninterface LocalStorageStateOptions<T> {\n initialKey: string;\n defaultValue: T;\n schema: z.ZodType<T>;\n serialize?: (value: T) => string;\n}\n\n// Like useState, initialization happens once. Remount the consumer when its storage key changes.\nexport function useLocalStorageState<T>({\n initialKey,\n defaultValue,\n schema,\n serialize = JSON.stringify,\n}: LocalStorageStateOptions<T>): [T, Dispatch<SetStateAction<T>>] {\n const [storageKey] = useState(initialKey);\n const [value, setValue] = useState<T>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored !== null) {\n const parsed = schema.safeParse(JSON.parse(stored));\n if (parsed.success) return parsed.data;\n }\n } catch {\n // Invalid JSON or unavailable browser storage falls back to the initial value.\n }\n return defaultValue;\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(storageKey, serialize(value));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n }, [storageKey, value, serialize]);\n\n return [value, setValue];\n}\n\ninterface ExpiringLocalStorageStateOptions<T> {\n key: string;\n /** Absolute expiration applied to values written through `setValue`. */\n expiresAt: Date | number;\n schema: z.ZodType<T>;\n now?: () => number;\n}\n\ninterface ExpiringLocalStorageState<T> {\n /** `undefined` when nothing is stored or the stored entry has expired. */\n value: T | undefined;\n /** `true` when an entry existed but its expiration date has passed. */\n expired: boolean;\n setValue: (value: T) => void;\n clear: () => void;\n}\n\ninterface ExpiringEntry<T> {\n value: T | undefined;\n expired: boolean;\n}\n\nconst EMPTY_ENTRY = { value: undefined, expired: false };\n\nconst toMs = (expiresAt: Date | number) => (expiresAt instanceof Date ? expiresAt.getTime() : expiresAt);\n\nconst removeStoredItem = (key: string) => {\n try {\n localStorage.removeItem(key);\n } catch {\n // Storage may be unavailable; the in-memory state is still cleared.\n }\n};\n\n// Stores `{ value, expiresAt }` under `key`. Expiration is only checked when the key is read\n// (at mount); an expired entry is removed and reported as `expired`. Like useState,\n// initialization happens once. Remount the consumer when its storage key changes.\nexport function useExpiringLocalStorageState<T>({\n key,\n expiresAt,\n schema,\n now = Date.now,\n}: ExpiringLocalStorageStateOptions<T>): ExpiringLocalStorageState<T> {\n const [storageKey] = useState(key);\n const [entry, setEntry] = useState<ExpiringEntry<T>>(() => {\n try {\n const stored = localStorage.getItem(storageKey);\n if (stored === null) return EMPTY_ENTRY;\n const parsed = z.object({ value: schema, expiresAt: z.number() }).safeParse(JSON.parse(stored));\n if (!parsed.success) return EMPTY_ENTRY;\n if (parsed.data.expiresAt <= now()) {\n removeStoredItem(storageKey);\n return { ...EMPTY_ENTRY, expired: true };\n }\n return { value: parsed.data.value, expired: false };\n } catch {\n // Invalid JSON or unavailable browser storage behaves like an empty entry.\n return EMPTY_ENTRY;\n }\n });\n\n const setValue = useCallback(\n (value: T) => {\n const expiresAtMs = toMs(expiresAt);\n try {\n localStorage.setItem(storageKey, JSON.stringify({ value, expiresAt: expiresAtMs }));\n } catch {\n // Keep in-memory state usable when storage is unavailable or full.\n }\n setEntry({ value, expired: false });\n },\n [storageKey, expiresAt],\n );\n\n const clear = useCallback(() => {\n removeStoredItem(storageKey);\n setEntry(EMPTY_ENTRY);\n }, [storageKey]);\n\n return { value: entry.value, expired: entry.expired, setValue, clear };\n}\n"],"names":[],"mappings":"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"}