@mastra/playground-ui 61.0.0-alpha.6 → 61.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1062) hide show
  1. package/README.md +59 -0
  2. package/dist/{Avatar-DchBEEMO.cjs → Avatar-D_L-oAme.cjs} +2 -2
  3. package/dist/{Avatar-DchBEEMO.cjs.map → Avatar-D_L-oAme.cjs.map} +1 -1
  4. package/dist/{Avatar-Bg_EZRgZ.js → Avatar-DpRimnsu.js} +2 -2
  5. package/dist/{Avatar-Bg_EZRgZ.js.map → Avatar-DpRimnsu.js.map} +1 -1
  6. package/dist/{EmptyState-O089K_US.cjs → EmptyState-B6kP-dEp.cjs} +2 -2
  7. package/dist/{EmptyState-O089K_US.cjs.map → EmptyState-B6kP-dEp.cjs.map} +1 -1
  8. package/dist/{EmptyState-BI6cIolY.js → EmptyState-BQww74OL.js} +2 -2
  9. package/dist/{EmptyState-BI6cIolY.js.map → EmptyState-BQww74OL.js.map} +1 -1
  10. package/dist/{Header-BHqUw0qH.js → Header-BzSnNlwq.js} +2 -2
  11. package/dist/{Header-BHqUw0qH.js.map → Header-BzSnNlwq.js.map} +1 -1
  12. package/dist/{Header-DwcRfQuP.cjs → Header-Cy_BQ2Ht.cjs} +2 -2
  13. package/dist/{Header-DwcRfQuP.cjs.map → Header-Cy_BQ2Ht.cjs.map} +1 -1
  14. package/dist/{Notice-D4zc_oTj.cjs → Notice-CjQQjfK7.cjs} +2 -2
  15. package/dist/{Notice-D4zc_oTj.cjs.map → Notice-CjQQjfK7.cjs.map} +1 -1
  16. package/dist/{Notice-D4gMAkVI.js → Notice-CmFkTliT.js} +2 -2
  17. package/dist/{Notice-D4gMAkVI.js.map → Notice-CmFkTliT.js.map} +1 -1
  18. package/dist/Txt-CuuPO9Ho.js +20 -0
  19. package/dist/Txt-CuuPO9Ho.js.map +1 -0
  20. package/dist/Txt-DFPibRb3.cjs +22 -0
  21. package/dist/Txt-DFPibRb3.cjs.map +1 -0
  22. package/dist/{activity-ClKZR5_o.cjs → activity-C3F5Z6U2.cjs} +2 -2
  23. package/dist/{activity-ClKZR5_o.cjs.map → activity-C3F5Z6U2.cjs.map} +1 -1
  24. package/dist/{activity-D0SefV4r.js → activity-CREOMVXI.js} +2 -2
  25. package/dist/{activity-D0SefV4r.js.map → activity-CREOMVXI.js.map} +1 -1
  26. package/dist/{ask-user-DBb0lUh2.cjs → ask-user-BR6s4GTF.cjs} +2 -2
  27. package/dist/{ask-user-DBb0lUh2.cjs.map → ask-user-BR6s4GTF.cjs.map} +1 -1
  28. package/dist/{ask-user-CqCUiZRR.js → ask-user-DAm06wBo.js} +2 -2
  29. package/dist/{ask-user-CqCUiZRR.js.map → ask-user-DAm06wBo.js.map} +1 -1
  30. package/dist/{attachment-card-BcK3XoCH.cjs → attachment-card-B95kgvBs.cjs} +2 -2
  31. package/dist/{attachment-card-BcK3XoCH.cjs.map → attachment-card-B95kgvBs.cjs.map} +1 -1
  32. package/dist/{attachment-card-CbsWWaV5.js → attachment-card-Q-77luib.js} +2 -2
  33. package/dist/{attachment-card-CbsWWaV5.js.map → attachment-card-Q-77luib.js.map} +1 -1
  34. package/dist/{code-C8akLzcu.js → code-DAXWNzvf.js} +2 -2
  35. package/dist/code-DAXWNzvf.js.map +1 -0
  36. package/dist/{code-D_sH618U.cjs → code-Dcah35Gp.cjs} +2 -2
  37. package/dist/code-Dcah35Gp.cjs.map +1 -0
  38. package/dist/{code-block-BMmilLti.js → code-block-Cug9dlAp.js} +4 -4
  39. package/dist/{code-block-BMmilLti.js.map → code-block-Cug9dlAp.js.map} +1 -1
  40. package/dist/{code-block-Ipm4Kqvc.cjs → code-block-CxN4T0Xw.cjs} +4 -4
  41. package/dist/{code-block-Ipm4Kqvc.cjs.map → code-block-CxN4T0Xw.cjs.map} +1 -1
  42. package/dist/{code-editor-Btr1qm_5.cjs → code-editor-GtjlBrBg.cjs} +9 -8
  43. package/dist/code-editor-GtjlBrBg.cjs.map +1 -0
  44. package/dist/{code-editor-DzhYz1fH.js → code-editor-zKwlle-5.js} +9 -8
  45. package/dist/code-editor-zKwlle-5.js.map +1 -0
  46. package/dist/{combobox-NPw0vrSa.js → combobox-Dwf4U1CZ.js} +2 -2
  47. package/dist/{combobox-NPw0vrSa.js.map → combobox-Dwf4U1CZ.js.map} +1 -1
  48. package/dist/{combobox-BaVFPQ6X.cjs → combobox-anmnqGB0.cjs} +2 -2
  49. package/dist/{combobox-BaVFPQ6X.cjs.map → combobox-anmnqGB0.cjs.map} +1 -1
  50. package/dist/{command-D9tAe7E8.cjs → command-CkiAUyOY.cjs} +4 -3
  51. package/dist/{command-D9tAe7E8.cjs.map → command-CkiAUyOY.cjs.map} +1 -1
  52. package/dist/{command-DEG5XcoY.js → command-NDEyxdvS.js} +4 -3
  53. package/dist/{command-DEG5XcoY.js.map → command-NDEyxdvS.js.map} +1 -1
  54. package/dist/{comment-B1Cf9w4Z.js → comment-CLSjQ6TN.js} +10 -10
  55. package/dist/comment-CLSjQ6TN.js.map +1 -0
  56. package/dist/{comment-DnbibTOe.cjs → comment-DNHjp35d.cjs} +10 -10
  57. package/dist/comment-DNHjp35d.cjs.map +1 -0
  58. package/dist/components/AttachmentCard.cjs.js +1 -1
  59. package/dist/components/AttachmentCard.es.js +1 -1
  60. package/dist/components/Avatar.cjs.js +1 -1
  61. package/dist/components/Avatar.es.js +1 -1
  62. package/dist/components/ClampedText.cjs.js +1 -1
  63. package/dist/components/ClampedText.es.js +1 -1
  64. package/dist/components/Code.cjs.js +1 -1
  65. package/dist/components/Code.es.js +1 -1
  66. package/dist/components/CodeBlock.cjs.js +1 -1
  67. package/dist/components/CodeBlock.es.js +1 -1
  68. package/dist/components/CodeEditor.cjs.js +1 -1
  69. package/dist/components/CodeEditor.es.js +1 -1
  70. package/dist/components/Combobox.cjs.js +1 -1
  71. package/dist/components/Combobox.es.js +1 -1
  72. package/dist/components/Command.cjs.js +1 -1
  73. package/dist/components/Command.es.js +1 -1
  74. package/dist/components/CommandPalette.cjs.js +2 -2
  75. package/dist/components/CommandPalette.es.js +2 -2
  76. package/dist/components/Comment.cjs.js +2 -2
  77. package/dist/components/Comment.es.js +3 -3
  78. package/dist/components/DataCodeSection.cjs.js +1 -1
  79. package/dist/components/DataCodeSection.es.js +1 -1
  80. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  81. package/dist/components/DataDetailsPanel.es.js +2 -2
  82. package/dist/components/DataList.cjs.js +6 -5
  83. package/dist/components/DataList.cjs.js.map +1 -1
  84. package/dist/components/DataList.es.js +5 -5
  85. package/dist/components/DataPanel.cjs.js +1 -1
  86. package/dist/components/DataPanel.es.js +1 -1
  87. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  88. package/dist/components/DateRangeTimeline.es.js +1 -1
  89. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  90. package/dist/components/DateTimeRangePicker.es.js +1 -1
  91. package/dist/components/EmptyState.cjs.js +1 -1
  92. package/dist/components/EmptyState.es.js +1 -1
  93. package/dist/components/Entity.cjs.js +3 -2
  94. package/dist/components/Entity.cjs.js.map +1 -1
  95. package/dist/components/Entity.es.js +3 -2
  96. package/dist/components/Entity.es.js.map +1 -1
  97. package/dist/components/EntityHeader.cjs.js +1 -1
  98. package/dist/components/EntityHeader.es.js +1 -1
  99. package/dist/components/Entry.cjs.js +1 -1
  100. package/dist/components/Entry.es.js +1 -1
  101. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  102. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  103. package/dist/components/FileDropBackdrop.cjs.js +1 -1
  104. package/dist/components/FileDropBackdrop.es.js +1 -1
  105. package/dist/components/FilterBar.cjs.js +1 -1
  106. package/dist/components/FilterBar.es.js +1 -1
  107. package/dist/components/FormFieldBlocks.cjs.js +1 -1
  108. package/dist/components/FormFieldBlocks.es.js +1 -1
  109. package/dist/components/Header.cjs.js +1 -1
  110. package/dist/components/Header.es.js +1 -1
  111. package/dist/components/HorizontalBars.cjs.js +1 -1
  112. package/dist/components/HorizontalBars.es.js +1 -1
  113. package/dist/components/KeyValueList.cjs.js +1 -1
  114. package/dist/components/KeyValueList.es.js +1 -1
  115. package/dist/components/LogsDataList.cjs.js +2 -4
  116. package/dist/components/LogsDataList.cjs.js.map +1 -1
  117. package/dist/components/LogsDataList.es.js +2 -4
  118. package/dist/components/LogsDataList.es.js.map +1 -1
  119. package/dist/components/MainHeader.cjs.js +1 -1
  120. package/dist/components/MainHeader.es.js +1 -1
  121. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  122. package/dist/components/MarkdownRenderer.es.js +1 -1
  123. package/dist/components/Message.cjs.js +1 -1
  124. package/dist/components/Message.es.js +2 -2
  125. package/dist/components/MetricsCard.cjs.js +1 -1
  126. package/dist/components/MetricsCard.es.js +1 -1
  127. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  128. package/dist/components/MetricsKpiCard.es.js +1 -1
  129. package/dist/components/MetricsLineChart.cjs.js +2 -2
  130. package/dist/components/MetricsLineChart.es.js +2 -2
  131. package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
  132. package/dist/components/MetricsStackedBarChart.es.js +1 -1
  133. package/dist/components/Notice.cjs.js +1 -1
  134. package/dist/components/Notice.es.js +1 -1
  135. package/dist/components/PageHeader.cjs.js +1 -1
  136. package/dist/components/PageHeader.es.js +1 -1
  137. package/dist/components/PageLayout.cjs.js +1 -1
  138. package/dist/components/PageLayout.es.js +1 -1
  139. package/dist/components/PropertyFilter.cjs.js +2 -2
  140. package/dist/components/PropertyFilter.es.js +2 -2
  141. package/dist/components/RuleBuilder.cjs.js +6 -6
  142. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  143. package/dist/components/RuleBuilder.es.js +6 -6
  144. package/dist/components/RuleBuilder.es.js.map +1 -1
  145. package/dist/components/SavedViews.cjs.js +1 -1
  146. package/dist/components/SavedViews.es.js +1 -1
  147. package/dist/components/ScatterPlotChart.cjs.js +1 -1
  148. package/dist/components/ScatterPlotChart.es.js +1 -1
  149. package/dist/components/Section.cjs.js +1 -1
  150. package/dist/components/Section.es.js +1 -1
  151. package/dist/components/SectionCard.cjs.js +1 -1
  152. package/dist/components/SectionCard.es.js +1 -1
  153. package/dist/components/SideDialog.cjs.js +1 -1
  154. package/dist/components/SideDialog.es.js +1 -1
  155. package/dist/components/Sidebar.cjs.js +1641 -0
  156. package/dist/components/Sidebar.cjs.js.map +1 -0
  157. package/dist/components/Sidebar.d.ts +2 -0
  158. package/dist/components/Sidebar.es.js +1615 -0
  159. package/dist/components/Sidebar.es.js.map +1 -0
  160. package/dist/components/StatusIndicators.cjs.js +1 -1
  161. package/dist/components/StatusIndicators.es.js +1 -1
  162. package/dist/components/Steps.cjs.js +1 -1
  163. package/dist/components/Steps.es.js +1 -1
  164. package/dist/components/Table.cjs.js +1 -1
  165. package/dist/components/Table.es.js +1 -1
  166. package/dist/components/Tabs.cjs.js +2 -2
  167. package/dist/components/Tabs.es.js +2 -2
  168. package/dist/components/Text.cjs.js +1 -1
  169. package/dist/components/Text.es.js +1 -1
  170. package/dist/components/ThinkingLevel.cjs.js +1 -1
  171. package/dist/components/ThinkingLevel.es.js +1 -1
  172. package/dist/components/ThreadList.cjs.js +1 -1
  173. package/dist/components/ThreadList.es.js +1 -1
  174. package/dist/components/ThreadRail.cjs.js +1 -1
  175. package/dist/components/ThreadRail.es.js +1 -1
  176. package/dist/components/TokenBudget.cjs.js +4 -4
  177. package/dist/components/TokenBudget.cjs.js.map +1 -1
  178. package/dist/components/TokenBudget.es.js +4 -4
  179. package/dist/components/TokenBudget.es.js.map +1 -1
  180. package/dist/components/Truncate.cjs.js +1 -1
  181. package/dist/components/Truncate.es.js +1 -1
  182. package/dist/components/Txt.cjs.js +1 -1
  183. package/dist/components/Txt.es.js +1 -1
  184. package/dist/components/Workflow.cjs.js +5 -5
  185. package/dist/components/Workflow.es.js +5 -5
  186. package/dist/components/ai/activity.cjs.js +4 -4
  187. package/dist/components/ai/activity.es.js +4 -4
  188. package/dist/components/ai/ask-user.cjs.js +1 -1
  189. package/dist/components/ai/ask-user.es.js +1 -1
  190. package/dist/components/ai/plan.cjs.js +1 -1
  191. package/dist/components/ai/plan.es.js +1 -1
  192. package/dist/components/ai/task-list.cjs.js +1 -1
  193. package/dist/components/ai/task-list.es.js +1 -1
  194. package/dist/components/ai/tool-approval.cjs.js +2 -1
  195. package/dist/components/ai/tool-approval.cjs.js.map +1 -1
  196. package/dist/components/ai/tool-approval.es.js +1 -1
  197. package/dist/components/ai/tool-call.cjs.js +2 -2
  198. package/dist/components/ai/tool-call.es.js +2 -2
  199. package/dist/components/ai/transcript-divider.cjs.js +1 -1
  200. package/dist/components/ai/transcript-divider.es.js +1 -1
  201. package/dist/{data-code-section-B5kljGaH.cjs → data-code-section-BNQkWe4H.cjs} +2 -2
  202. package/dist/{data-code-section-B5kljGaH.cjs.map → data-code-section-BNQkWe4H.cjs.map} +1 -1
  203. package/dist/{data-code-section-CW9TU70O.js → data-code-section-CU2XLh4d.js} +2 -2
  204. package/dist/{data-code-section-CW9TU70O.js.map → data-code-section-CU2XLh4d.js.map} +1 -1
  205. package/dist/{data-list-BHtjZ528.js → data-list-B6DT-u-0.js} +21 -6
  206. package/dist/data-list-B6DT-u-0.js.map +1 -0
  207. package/dist/{data-list-TouUI4pb.cjs → data-list-DQgIgmjy.cjs} +20 -5
  208. package/dist/data-list-DQgIgmjy.cjs.map +1 -0
  209. package/dist/{data-list-skeleton-BqihjHu8.cjs → data-list-skeleton-DdWv6VN-.cjs} +10 -6
  210. package/dist/data-list-skeleton-DdWv6VN-.cjs.map +1 -0
  211. package/dist/{data-list-skeleton-H8Zpph6_.js → data-list-skeleton-DuK0aDVr.js} +10 -7
  212. package/dist/data-list-skeleton-DuK0aDVr.js.map +1 -0
  213. package/dist/{data-list-spacer-D7UBH1uv.js → data-list-spacer-C0tMRgfC.js} +2 -2
  214. package/dist/{data-list-spacer-D7UBH1uv.js.map → data-list-spacer-C0tMRgfC.js.map} +1 -1
  215. package/dist/{data-list-spacer-CtooAPJP.cjs → data-list-spacer-_GgQY2d4.cjs} +2 -2
  216. package/dist/{data-list-spacer-CtooAPJP.cjs.map → data-list-spacer-_GgQY2d4.cjs.map} +1 -1
  217. package/dist/{data-panel-B5flRCQM.js → data-panel-Bzed2B75.js} +3 -3
  218. package/dist/{data-panel-B5flRCQM.js.map → data-panel-Bzed2B75.js.map} +1 -1
  219. package/dist/{data-panel-Ckjs7Kwo.cjs → data-panel-b48tWgzs.cjs} +3 -3
  220. package/dist/{data-panel-Ckjs7Kwo.cjs.map → data-panel-b48tWgzs.cjs.map} +1 -1
  221. package/dist/{date-time-range-picker-DzPLKJol.js → date-time-range-picker-BqlAiuYW.js} +2 -2
  222. package/dist/{date-time-range-picker-DzPLKJol.js.map → date-time-range-picker-BqlAiuYW.js.map} +1 -1
  223. package/dist/{date-time-range-picker-BbX8F_LY.cjs → date-time-range-picker-CvzC4nOt.cjs} +2 -2
  224. package/dist/{date-time-range-picker-BbX8F_LY.cjs.map → date-time-range-picker-CvzC4nOt.cjs.map} +1 -1
  225. package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
  226. package/dist/domains/auth/components/permission-denied.es.js +1 -1
  227. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  228. package/dist/domains/auth/components/session-expired.es.js +1 -1
  229. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +11 -11
  230. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
  231. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +11 -11
  232. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
  233. package/dist/domains/chat/attachments/composer-attachment-context.cjs.js +10 -0
  234. package/dist/domains/chat/attachments/composer-attachment-context.cjs.js.map +1 -0
  235. package/dist/domains/chat/attachments/composer-attachment-context.d.ts +2 -0
  236. package/dist/domains/chat/attachments/composer-attachment-context.es.js +6 -0
  237. package/dist/domains/chat/attachments/composer-attachment-context.es.js.map +1 -0
  238. package/dist/domains/chat/attachments/composer-attachment-entry.cjs.js +35 -0
  239. package/dist/domains/chat/attachments/composer-attachment-entry.cjs.js.map +1 -0
  240. package/dist/domains/chat/attachments/composer-attachment-entry.d.ts +2 -0
  241. package/dist/domains/chat/attachments/composer-attachment-entry.es.js +31 -0
  242. package/dist/domains/chat/attachments/composer-attachment-entry.es.js.map +1 -0
  243. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +4 -3
  244. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js.map +1 -1
  245. package/dist/domains/chat/attachments/composer-attachment-list.es.js +4 -3
  246. package/dist/domains/chat/attachments/composer-attachment-list.es.js.map +1 -1
  247. package/dist/domains/chat/attachments/composer-attachment.cjs.js +16 -19
  248. package/dist/domains/chat/attachments/composer-attachment.cjs.js.map +1 -1
  249. package/dist/domains/chat/attachments/composer-attachment.es.js +17 -20
  250. package/dist/domains/chat/attachments/composer-attachment.es.js.map +1 -1
  251. package/dist/domains/chat/attachments/message-attachment.cjs.js +1 -1
  252. package/dist/domains/chat/attachments/message-attachment.es.js +1 -1
  253. package/dist/domains/chat/attachments/message-image-attachment.cjs.js +1 -1
  254. package/dist/domains/chat/attachments/message-image-attachment.es.js +1 -1
  255. package/dist/domains/chat/components/badge-wrapper.cjs.js +4 -2
  256. package/dist/domains/chat/components/badge-wrapper.cjs.js.map +1 -1
  257. package/dist/domains/chat/components/badge-wrapper.es.js +4 -2
  258. package/dist/domains/chat/components/badge-wrapper.es.js.map +1 -1
  259. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
  260. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
  261. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
  262. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
  263. package/dist/domains/chat/components/section-label.cjs.js +1 -1
  264. package/dist/domains/chat/components/section-label.es.js +1 -1
  265. package/dist/domains/chat/context/tool-call-context.cjs.js +4 -0
  266. package/dist/domains/chat/context/tool-call-context.cjs.js.map +1 -1
  267. package/dist/domains/chat/context/tool-call-context.es.js +4 -1
  268. package/dist/domains/chat/context/tool-call-context.es.js.map +1 -1
  269. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +1 -1
  270. package/dist/domains/chat/messages/assistant-message-actions.es.js +1 -1
  271. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -4
  272. package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
  273. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -4
  274. package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
  275. package/dist/domains/chat/messages/message-row.cjs.js +5 -5
  276. package/dist/domains/chat/messages/message-row.es.js +5 -5
  277. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  278. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  279. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  280. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  281. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  282. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  283. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  284. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  285. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  286. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  287. package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
  288. package/dist/domains/chat/messages/skill-message.es.js +3 -3
  289. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  290. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  291. package/dist/domains/chat/messages/tripwire-notice.cjs.js +16 -8
  292. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  293. package/dist/domains/chat/messages/tripwire-notice.es.js +16 -8
  294. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  295. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  296. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  297. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +3 -4
  298. package/dist/domains/chat/tools/badges/agent-badge.cjs.js.map +1 -1
  299. package/dist/domains/chat/tools/badges/agent-badge.es.js +3 -4
  300. package/dist/domains/chat/tools/badges/agent-badge.es.js.map +1 -1
  301. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  302. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  303. package/dist/domains/chat/tools/badges/awaits-tool-approval.cjs.js.map +1 -1
  304. package/dist/domains/chat/tools/badges/awaits-tool-approval.es.js.map +1 -1
  305. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  306. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
  307. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  308. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
  309. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +26 -33
  310. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  311. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +21 -28
  312. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  313. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +16 -26
  314. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js.map +1 -1
  315. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +16 -26
  316. package/dist/domains/chat/tools/badges/file-tree-badge.es.js.map +1 -1
  317. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  318. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  319. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +16 -10
  320. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -1
  321. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +16 -10
  322. package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -1
  323. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +28 -16
  324. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
  325. package/dist/domains/chat/tools/badges/observation-renderer.es.js +28 -16
  326. package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
  327. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +16 -26
  328. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
  329. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +16 -26
  330. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
  331. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +69 -0
  332. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js.map +1 -0
  333. package/dist/domains/chat/tools/badges/{tool-approval-buttons.d.ts → tool-approval-badge.d.ts} +1 -1
  334. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +65 -0
  335. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js.map +1 -0
  336. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +21 -21
  337. package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
  338. package/dist/domains/chat/tools/badges/tool-badge.es.js +21 -21
  339. package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
  340. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +13 -17
  341. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  342. package/dist/domains/chat/tools/badges/workflow-badge.es.js +13 -17
  343. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  344. package/dist/domains/chat/tools/badges/workspace-link.cjs.js +1 -1
  345. package/dist/domains/chat/tools/badges/workspace-link.es.js +1 -1
  346. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  347. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  348. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  349. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  350. package/dist/domains/chat.cjs.js +1 -0
  351. package/dist/domains/chat.cjs.js.map +1 -1
  352. package/dist/domains/chat.es.js +1 -1
  353. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -4
  354. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
  355. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -4
  356. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
  357. package/dist/domains/logs/components/log-data-panel.cjs.js +2 -2
  358. package/dist/domains/logs/components/log-data-panel.es.js +2 -2
  359. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  360. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  361. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  362. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  363. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  364. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  365. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +2 -1
  366. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
  367. package/dist/domains/mcps/components/mcp-app-tool-result.es.js +2 -1
  368. package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
  369. package/dist/domains/memory/components/flame-graph.cjs.js +7 -7
  370. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  371. package/dist/domains/memory/components/flame-graph.es.js +7 -7
  372. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  373. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  374. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  375. package/dist/domains/memory/components/observation-detail-view.cjs.js +7 -6
  376. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  377. package/dist/domains/memory/components/observation-detail-view.es.js +7 -6
  378. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  379. package/dist/domains/memory/components/thread-context-progress.cjs.js +4 -3
  380. package/dist/domains/memory/components/thread-context-progress.cjs.js.map +1 -1
  381. package/dist/domains/memory/components/thread-context-progress.es.js +4 -3
  382. package/dist/domains/memory/components/thread-context-progress.es.js.map +1 -1
  383. package/dist/domains/metrics/components/bar-list.cjs.js +1 -1
  384. package/dist/domains/metrics/components/bar-list.es.js +1 -1
  385. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  386. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  387. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  388. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  389. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  390. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  391. package/dist/domains/metrics/components/memory-card-view.cjs.js +4 -4
  392. package/dist/domains/metrics/components/memory-card-view.es.js +4 -4
  393. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  394. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  395. package/dist/domains/metrics/components/scores-card-view.cjs.js +5 -5
  396. package/dist/domains/metrics/components/scores-card-view.es.js +5 -5
  397. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -4
  398. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -4
  399. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  400. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  401. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -4
  402. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -4
  403. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +7 -6
  404. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
  405. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +7 -6
  406. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
  407. package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +1 -1
  408. package/dist/domains/observability/components/trace-as-item-dialog.es.js +1 -1
  409. package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
  410. package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
  411. package/dist/domains/scores/components/score-data-panel.cjs.js +17 -6
  412. package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
  413. package/dist/domains/scores/components/score-data-panel.es.js +17 -6
  414. package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
  415. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  416. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  417. package/dist/domains/scores/components/trace-scores-tab.cjs.js +5 -6
  418. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  419. package/dist/domains/scores/components/trace-scores-tab.es.js +5 -6
  420. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  421. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  422. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  423. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  424. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  425. package/dist/domains/traces/components/span-data-panel-view.cjs.js +7 -5
  426. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  427. package/dist/domains/traces/components/span-data-panel-view.es.js +7 -5
  428. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  429. package/dist/domains/traces/components/span-details-view.cjs.js +3 -1
  430. package/dist/domains/traces/components/span-details-view.cjs.js.map +1 -1
  431. package/dist/domains/traces/components/span-details-view.es.js +3 -1
  432. package/dist/domains/traces/components/span-details-view.es.js.map +1 -1
  433. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  434. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  435. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  436. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  437. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +5 -4
  438. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
  439. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +5 -4
  440. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
  441. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +4 -3
  442. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  443. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +4 -3
  444. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  445. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  446. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  447. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -2
  448. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js.map +1 -1
  449. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -2
  450. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js.map +1 -1
  451. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  452. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  453. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  454. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  455. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +5 -5
  456. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -1
  457. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +5 -5
  458. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +1 -1
  459. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  460. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  461. package/dist/domains/traces/components/span-timeline-row.cjs.js +11 -8
  462. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  463. package/dist/domains/traces/components/span-timeline-row.es.js +11 -8
  464. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  465. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +2 -1
  466. package/dist/domains/traces/components/span-timing-hover-card.cjs.js.map +1 -1
  467. package/dist/domains/traces/components/span-timing-hover-card.es.js +2 -1
  468. package/dist/domains/traces/components/span-timing-hover-card.es.js.map +1 -1
  469. package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
  470. package/dist/domains/traces/components/span-token-usage.es.js +1 -1
  471. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  472. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  473. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  474. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  475. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -10
  476. package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
  477. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -10
  478. package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
  479. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  480. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  481. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  482. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  483. package/dist/domains/traces/components/timeline-name-col.cjs.js +11 -7
  484. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  485. package/dist/domains/traces/components/timeline-name-col.es.js +11 -7
  486. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  487. package/dist/domains/traces/components/timeline-timing-col.cjs.js +4 -4
  488. package/dist/domains/traces/components/timeline-timing-col.cjs.js.map +1 -1
  489. package/dist/domains/traces/components/timeline-timing-col.es.js +4 -4
  490. package/dist/domains/traces/components/timeline-timing-col.es.js.map +1 -1
  491. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -2
  492. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  493. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +11 -5
  494. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  495. package/dist/domains/traces/components/trace-data-panel-view.es.js +11 -5
  496. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  497. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  498. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  499. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  500. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  501. package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -0
  502. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  503. package/dist/domains/traces/components/trace-span-panel.es.js +2 -0
  504. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  505. package/dist/domains/traces/components/trace-span-timeline.cjs.js +6 -2
  506. package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
  507. package/dist/domains/traces/components/trace-span-timeline.es.js +6 -2
  508. package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
  509. package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -1
  510. package/dist/domains/traces/components/trace-span-tree.es.js +1 -1
  511. package/dist/domains/traces/components/trace-summary-description.cjs.js +2 -2
  512. package/dist/domains/traces/components/trace-summary-description.es.js +2 -2
  513. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  514. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  515. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  516. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  517. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
  518. package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
  519. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  520. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  521. package/dist/domains/traces/components/traces-list-view.cjs.js +6 -15
  522. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  523. package/dist/domains/traces/components/traces-list-view.es.js +8 -17
  524. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  525. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -3
  526. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  527. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -3
  528. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  529. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +2 -9
  530. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  531. package/dist/domains/traces/hooks/use-trace-url-state.es.js +2 -9
  532. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  533. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  534. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  535. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +1 -1
  536. package/dist/domains/workflows/components/workflow-entity-header.es.js +1 -1
  537. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +4 -4
  538. package/dist/domains/workflows/components/workflow-step-detail.es.js +4 -4
  539. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  540. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  541. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +5 -5
  542. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
  543. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +5 -5
  544. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
  545. package/dist/domains/workflows/runs/workflow-run-details.cjs.js +1 -1
  546. package/dist/domains/workflows/runs/workflow-run-details.es.js +1 -1
  547. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +13 -3
  548. package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -1
  549. package/dist/domains/workflows/runs/workflow-run-list.es.js +13 -3
  550. package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -1
  551. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  552. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  553. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  554. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  555. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  556. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  557. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  558. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  559. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +2 -2
  560. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +2 -2
  561. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  562. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  563. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  564. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  565. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +10 -3
  566. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js.map +1 -1
  567. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +10 -3
  568. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js.map +1 -1
  569. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  570. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  571. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  572. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  573. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  574. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  575. package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +1 -1
  576. package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +1 -1
  577. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  578. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  579. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  580. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  581. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +4 -4
  582. package/dist/domains/workflows/workflow/workflow-run-data.es.js +4 -4
  583. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  584. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  585. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +2 -2
  586. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js.map +1 -1
  587. package/dist/domains/workflows/workflow/workflow-run-header.es.js +2 -2
  588. package/dist/domains/workflows/workflow/workflow-run-header.es.js.map +1 -1
  589. package/dist/domains/workflows/workflow/workflow-status.cjs.js +2 -2
  590. package/dist/domains/workflows/workflow/workflow-status.es.js +2 -2
  591. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  592. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  593. package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js +1 -1
  594. package/dist/domains/workflows/workflow/workflow-steps-status.es.js +1 -1
  595. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  596. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  597. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
  598. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
  599. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +7 -6
  600. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js.map +1 -1
  601. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +7 -6
  602. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js.map +1 -1
  603. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  604. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  605. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  606. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  607. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +2 -2
  608. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js.map +1 -1
  609. package/dist/domains/workflows/workflow/workflow-trigger.es.js +2 -2
  610. package/dist/domains/workflows/workflow/workflow-trigger.es.js.map +1 -1
  611. package/dist/domains/workspace/components/workspace-active-file.cjs.js +2 -2
  612. package/dist/domains/workspace/components/workspace-active-file.es.js +2 -2
  613. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +18 -13
  614. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js.map +1 -1
  615. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +18 -13
  616. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js.map +1 -1
  617. package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
  618. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  619. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  620. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  621. package/dist/domains/workspace/components/workspace-parts.cjs.js +1 -1
  622. package/dist/domains/workspace/components/workspace-parts.es.js +1 -1
  623. package/dist/domains/workspace/components/workspace-search.cjs.js +6 -5
  624. package/dist/domains/workspace/components/workspace-search.cjs.js.map +1 -1
  625. package/dist/domains/workspace/components/workspace-search.es.js +6 -5
  626. package/dist/domains/workspace/components/workspace-search.es.js.map +1 -1
  627. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  628. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  629. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +8 -7
  630. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
  631. package/dist/ee/signals/components/entity-index-compact-grid.es.js +8 -7
  632. package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
  633. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  634. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  635. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  636. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  637. package/dist/ee/signals/components/signals-empty-state.cjs.js +21 -23
  638. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
  639. package/dist/ee/signals/components/signals-empty-state.es.js +21 -23
  640. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
  641. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  642. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  643. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +2 -3
  644. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  645. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -3
  646. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  647. package/dist/ee/signals/examples-pager.cjs.js +2 -2
  648. package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
  649. package/dist/ee/signals/examples-pager.es.js +2 -2
  650. package/dist/ee/signals/examples-pager.es.js.map +1 -1
  651. package/dist/ee/signals/flow-card.cjs.js +7 -16
  652. package/dist/ee/signals/flow-card.cjs.js.map +1 -1
  653. package/dist/ee/signals/flow-card.es.js +7 -16
  654. package/dist/ee/signals/flow-card.es.js.map +1 -1
  655. package/dist/ee/signals/lifeline-point.cjs.js +1 -1
  656. package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
  657. package/dist/ee/signals/lifeline-point.es.js +1 -1
  658. package/dist/ee/signals/lifeline-point.es.js.map +1 -1
  659. package/dist/ee/signals/lifeline-row.cjs.js +2 -2
  660. package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
  661. package/dist/ee/signals/lifeline-row.es.js +2 -2
  662. package/dist/ee/signals/lifeline-row.es.js.map +1 -1
  663. package/dist/ee/signals/noise-detail-panel.cjs.js +8 -29
  664. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  665. package/dist/ee/signals/noise-detail-panel.es.js +8 -29
  666. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  667. package/dist/ee/signals/sankey-signals.cjs.js +4 -4
  668. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  669. package/dist/ee/signals/sankey-signals.es.js +4 -4
  670. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  671. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  672. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  673. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +5 -5
  674. package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
  675. package/dist/ee/signals/settings/trace-signal-settings.es.js +5 -5
  676. package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
  677. package/dist/ee/signals/signal-delta-column.cjs.js +5 -7
  678. package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
  679. package/dist/ee/signals/signal-delta-column.es.js +5 -7
  680. package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
  681. package/dist/ee/signals/signal-lifelines.cjs.js +3 -3
  682. package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
  683. package/dist/ee/signals/signal-lifelines.es.js +3 -3
  684. package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
  685. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  686. package/dist/ee/signals/signals-error-state.es.js +1 -1
  687. package/dist/ee/signals/snapshot-timeline.cjs.js +2 -3
  688. package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
  689. package/dist/ee/signals/snapshot-timeline.es.js +2 -3
  690. package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
  691. package/dist/ee/signals/sortable-signal-headers.cjs.js +3 -1
  692. package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
  693. package/dist/ee/signals/sortable-signal-headers.es.js +3 -1
  694. package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
  695. package/dist/ee/signals/theme-compare.cjs.js +1 -3
  696. package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
  697. package/dist/ee/signals/theme-compare.es.js +1 -3
  698. package/dist/ee/signals/theme-compare.es.js.map +1 -1
  699. package/dist/ee/signals/theme-detail-panel.cjs.js +9 -43
  700. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  701. package/dist/ee/signals/theme-detail-panel.es.js +9 -43
  702. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  703. package/dist/ee/signals/theme-filter-banner.cjs.js +4 -4
  704. package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
  705. package/dist/ee/signals/theme-filter-banner.es.js +4 -4
  706. package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
  707. package/dist/ee/signals/theme-lifelines.cjs.js +2 -2
  708. package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
  709. package/dist/ee/signals/theme-lifelines.es.js +2 -2
  710. package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
  711. package/dist/ee/signals/theme-trend-chart.cjs.js +4 -3
  712. package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
  713. package/dist/ee/signals/theme-trend-chart.es.js +4 -3
  714. package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
  715. package/dist/ee/signals/trace-insight-view.cjs.js +15 -37
  716. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  717. package/dist/ee/signals/trace-insight-view.es.js +15 -37
  718. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  719. package/dist/ee/signals/trace-intelligence-explainer.cjs.js +3 -4
  720. package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
  721. package/dist/ee/signals/trace-intelligence-explainer.es.js +3 -4
  722. package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
  723. package/dist/ee/signals/view-mode-tab.cjs.js +2 -2
  724. package/dist/ee/signals/view-mode-tab.es.js +2 -2
  725. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  726. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  727. package/dist/{entity-header-By57lpH8.cjs → entity-header-DB1p5sEk.cjs} +2 -2
  728. package/dist/{entity-header-By57lpH8.cjs.map → entity-header-DB1p5sEk.cjs.map} +1 -1
  729. package/dist/{entity-header-DMjzE4Za.js → entity-header-GQT7ZnzW.js} +2 -2
  730. package/dist/{entity-header-DMjzE4Za.js.map → entity-header-GQT7ZnzW.js.map} +1 -1
  731. package/dist/{field-error-id-CSvLKtJE.js → field-error-id-B6AEO4lS.js} +2 -2
  732. package/dist/{field-error-id-CSvLKtJE.js.map → field-error-id-B6AEO4lS.js.map} +1 -1
  733. package/dist/{field-error-id-4xiCVBJ_.cjs → field-error-id-CFlRpKIz.cjs} +2 -2
  734. package/dist/{field-error-id-4xiCVBJ_.cjs.map → field-error-id-CFlRpKIz.cjs.map} +1 -1
  735. package/dist/hooks/use-fluid-hover.cjs.js +44 -30
  736. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  737. package/dist/hooks/use-fluid-hover.es.js +44 -31
  738. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  739. package/dist/hooks/use-is-mobile.cjs.js.map +1 -1
  740. package/dist/hooks/use-is-mobile.es.js.map +1 -1
  741. package/dist/{horizontal-bars-BdQnhZ5Y.cjs → horizontal-bars-BhYULTsx.cjs} +2 -2
  742. package/dist/{horizontal-bars-BdQnhZ5Y.cjs.map → horizontal-bars-BhYULTsx.cjs.map} +1 -1
  743. package/dist/{horizontal-bars-DHX7208F.js → horizontal-bars-ibfbdoX9.js} +2 -2
  744. package/dist/{horizontal-bars-DHX7208F.js.map → horizontal-bars-ibfbdoX9.js.map} +1 -1
  745. package/dist/layout/tabbed-container.cjs.js +5 -5
  746. package/dist/layout/tabbed-container.es.js +5 -5
  747. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  748. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  749. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  750. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  751. package/dist/lib/form/components/error-message.cjs.js +1 -1
  752. package/dist/lib/form/components/error-message.es.js +1 -1
  753. package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
  754. package/dist/lib/form/components/object-wrapper.es.js +1 -1
  755. package/dist/lib/form/components/union-field.cjs.js +1 -1
  756. package/dist/lib/form/components/union-field.es.js +1 -1
  757. package/dist/{logs-data-list-MakOZmBm.cjs → logs-data-list-CMbvhzUW.cjs} +3 -3
  758. package/dist/{logs-data-list-MakOZmBm.cjs.map → logs-data-list-CMbvhzUW.cjs.map} +1 -1
  759. package/dist/{logs-data-list-CdLNnsJm.js → logs-data-list-YNXUjGIB.js} +3 -3
  760. package/dist/{logs-data-list-CdLNnsJm.js.map → logs-data-list-YNXUjGIB.js.map} +1 -1
  761. package/dist/{markdown-renderer-BCeiKCA4.cjs → markdown-renderer-4P5RZjlT.cjs} +2 -2
  762. package/dist/{markdown-renderer-BCeiKCA4.cjs.map → markdown-renderer-4P5RZjlT.cjs.map} +1 -1
  763. package/dist/{markdown-renderer-CKSEkKch.js → markdown-renderer-DR6SJPyB.js} +2 -2
  764. package/dist/{markdown-renderer-CKSEkKch.js.map → markdown-renderer-DR6SJPyB.js.map} +1 -1
  765. package/dist/{message-DGYBEr0X.js → message-16E_OfJr.js} +2 -2
  766. package/dist/{message-DGYBEr0X.js.map → message-16E_OfJr.js.map} +1 -1
  767. package/dist/{message-BSjrZWVU.cjs → message-La-BSpBC.cjs} +2 -2
  768. package/dist/{message-BSjrZWVU.cjs.map → message-La-BSpBC.cjs.map} +1 -1
  769. package/dist/{metrics-card-B9m1jHwk.cjs → metrics-card-CF0TvQ6M.cjs} +3 -3
  770. package/dist/{metrics-card-B9m1jHwk.cjs.map → metrics-card-CF0TvQ6M.cjs.map} +1 -1
  771. package/dist/{metrics-card-BcKVznFk.js → metrics-card-COZt0cRK.js} +3 -3
  772. package/dist/{metrics-card-BcKVznFk.js.map → metrics-card-COZt0cRK.js.map} +1 -1
  773. package/dist/{metrics-kpi-card-CLlu5you.cjs → metrics-kpi-card-DU96jUI0.cjs} +2 -2
  774. package/dist/{metrics-kpi-card-CLlu5you.cjs.map → metrics-kpi-card-DU96jUI0.cjs.map} +1 -1
  775. package/dist/{metrics-kpi-card-CDeJ3I1-.js → metrics-kpi-card-PJWplcOg.js} +2 -2
  776. package/dist/{metrics-kpi-card-CDeJ3I1-.js.map → metrics-kpi-card-PJWplcOg.js.map} +1 -1
  777. package/dist/{metrics-line-chart-R-T_jyeP.cjs → metrics-line-chart-BofHRush.cjs} +2 -2
  778. package/dist/{metrics-line-chart-R-T_jyeP.cjs.map → metrics-line-chart-BofHRush.cjs.map} +1 -1
  779. package/dist/{metrics-line-chart-C9_EMuHK.js → metrics-line-chart-C7i--w_F.js} +2 -2
  780. package/dist/{metrics-line-chart-C9_EMuHK.js.map → metrics-line-chart-C7i--w_F.js.map} +1 -1
  781. package/dist/{metrics-line-chart-tooltip-BoG8nbkO.cjs → metrics-line-chart-tooltip-BXRdTzZX.cjs} +2 -2
  782. package/dist/{metrics-line-chart-tooltip-BoG8nbkO.cjs.map → metrics-line-chart-tooltip-BXRdTzZX.cjs.map} +1 -1
  783. package/dist/{metrics-line-chart-tooltip-C3WAk3DN.js → metrics-line-chart-tooltip-qXjxMRkc.js} +2 -2
  784. package/dist/{metrics-line-chart-tooltip-C3WAk3DN.js.map → metrics-line-chart-tooltip-qXjxMRkc.js.map} +1 -1
  785. package/dist/new/layout/page-header.cjs.js +1 -1
  786. package/dist/new/layout/page-header.es.js +1 -1
  787. package/dist/new/settings.cjs.js +1 -1
  788. package/dist/new/settings.es.js +1 -1
  789. package/dist/{notification-activity-BDoleJAA.js → notification-activity-DEzmrUfo.js} +3 -3
  790. package/dist/{notification-activity-BDoleJAA.js.map → notification-activity-DEzmrUfo.js.map} +1 -1
  791. package/dist/{notification-activity-C_vZiswj.cjs → notification-activity-DermuFT1.cjs} +3 -3
  792. package/dist/{notification-activity-C_vZiswj.cjs.map → notification-activity-DermuFT1.cjs.map} +1 -1
  793. package/dist/{page-header-Dc2KSbnw.cjs → page-header-CLcX--H8.cjs} +14 -14
  794. package/dist/page-header-CLcX--H8.cjs.map +1 -0
  795. package/dist/{page-header-D5a7qrVc.js → page-header-pWZXI3lO.js} +14 -14
  796. package/dist/page-header-pWZXI3lO.js.map +1 -0
  797. package/dist/{plan-4Udllcyn.cjs → plan-BQh1M96H.cjs} +3 -3
  798. package/dist/plan-BQh1M96H.cjs.map +1 -0
  799. package/dist/{plan-CZxw-Q5D.js → plan-cSkdE2Fd.js} +3 -3
  800. package/dist/plan-cSkdE2Fd.js.map +1 -0
  801. package/dist/{Txt-DNnvlrBo.cjs → primitives/text.cjs.js} +15 -10
  802. package/dist/primitives/text.cjs.js.map +1 -0
  803. package/dist/primitives/text.d.ts +2 -0
  804. package/dist/{Txt-C3cYJgKU.js → primitives/text.es.js} +13 -10
  805. package/dist/primitives/text.es.js.map +1 -0
  806. package/dist/{reasoning-activity-Du19QVGl.js → reasoning-activity-CS-aUa1E.js} +3 -3
  807. package/dist/{reasoning-activity-Du19QVGl.js.map → reasoning-activity-CS-aUa1E.js.map} +1 -1
  808. package/dist/{reasoning-activity-Bux9ZUhr.cjs → reasoning-activity-Cfelxr49.cjs} +3 -3
  809. package/dist/{reasoning-activity-Bux9ZUhr.cjs.map → reasoning-activity-Cfelxr49.cjs.map} +1 -1
  810. package/dist/{section-C5r-Mtxk.cjs → section-BvTlcV3N.cjs} +2 -2
  811. package/dist/{section-C5r-Mtxk.cjs.map → section-BvTlcV3N.cjs.map} +1 -1
  812. package/dist/{section-DYrbH35K.js → section-BvkW-glM.js} +2 -2
  813. package/dist/{section-DYrbH35K.js.map → section-BvkW-glM.js.map} +1 -1
  814. package/dist/{side-dialog-yvAvCday.js → side-dialog-BMrmb8Fz.js} +2 -2
  815. package/dist/{side-dialog-yvAvCday.js.map → side-dialog-BMrmb8Fz.js.map} +1 -1
  816. package/dist/{side-dialog-CFTgnDXu.cjs → side-dialog-BsMzNpHT.cjs} +2 -2
  817. package/dist/{side-dialog-CFTgnDXu.cjs.map → side-dialog-BsMzNpHT.cjs.map} +1 -1
  818. package/dist/{signal-activity-BI-DRdjw.cjs → signal-activity-D4vzi2cB.cjs} +3 -3
  819. package/dist/{signal-activity-BI-DRdjw.cjs.map → signal-activity-D4vzi2cB.cjs.map} +1 -1
  820. package/dist/{signal-activity-_ChAbNsW.js → signal-activity-DaC48fkM.js} +3 -3
  821. package/dist/{signal-activity-_ChAbNsW.js.map → signal-activity-DaC48fkM.js.map} +1 -1
  822. package/dist/{span-payload-primitives-XWZOfAi-.js → span-payload-primitives-Cniig-k4.js} +7 -6
  823. package/dist/span-payload-primitives-Cniig-k4.js.map +1 -0
  824. package/dist/{span-payload-primitives-0b_ow5Rt.cjs → span-payload-primitives-DIyQNNw0.cjs} +7 -6
  825. package/dist/span-payload-primitives-DIyQNNw0.cjs.map +1 -0
  826. package/dist/src/domains/chat/attachments/composer-attachment-context.d.ts +1 -0
  827. package/dist/src/domains/chat/attachments/composer-attachment-entry.d.ts +7 -0
  828. package/dist/src/domains/chat/attachments/composer-attachment.d.ts +1 -0
  829. package/dist/src/domains/chat/components/badge-wrapper.d.ts +5 -2
  830. package/dist/src/domains/chat/context/tool-call-context.d.ts +1 -0
  831. package/dist/src/domains/chat/stories/composer-attachments.stories.d.ts +3 -0
  832. package/dist/src/domains/chat/tools/badges/agent-badge-wrapper.d.ts +2 -2
  833. package/dist/src/domains/chat/tools/badges/agent-badge.d.ts +2 -2
  834. package/dist/src/domains/chat/tools/badges/awaits-tool-approval.d.ts +2 -2
  835. package/dist/src/domains/chat/tools/badges/code-mode-badge.d.ts +2 -2
  836. package/dist/src/domains/chat/tools/badges/file-tree-badge.d.ts +2 -2
  837. package/dist/src/domains/chat/tools/badges/sandbox-execution-badge.d.ts +2 -2
  838. package/dist/src/domains/chat/tools/badges/tool-approval-badge.d.ts +19 -0
  839. package/dist/src/domains/chat/tools/badges/tool-badge.d.ts +2 -2
  840. package/dist/src/domains/chat/tools/badges/workflow-badge.d.ts +2 -2
  841. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +3 -1
  842. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +1 -0
  843. package/dist/src/domains/traces/components/trace-span-panel.d.ts +3 -1
  844. package/dist/src/ds/components/CodeEditor/code-editor.d.ts +6 -1
  845. package/dist/src/ds/components/CodeEditor/code-editor.stories.d.ts +1 -0
  846. package/dist/src/ds/components/Composer/composer.stories.d.ts +0 -1
  847. package/dist/src/ds/components/DataList/data-list-group.d.ts +4 -0
  848. package/dist/src/ds/components/DataList/data-list-skeleton.d.ts +9 -0
  849. package/dist/src/ds/components/DataList/data-list.d.ts +1 -0
  850. package/dist/src/ds/components/DataList/data-list.stories.d.ts +1 -0
  851. package/dist/src/ds/components/Sidebar/footer/sidebar-footer-meta.d.ts +7 -0
  852. package/dist/src/ds/components/Sidebar/footer/sidebar-footer.d.ts +3 -0
  853. package/dist/src/ds/components/Sidebar/footer/sidebar-meter.d.ts +24 -0
  854. package/dist/src/ds/components/Sidebar/header/sidebar-brand.d.ts +6 -0
  855. package/dist/src/ds/components/Sidebar/header/sidebar-command-header.d.ts +3 -0
  856. package/dist/src/ds/components/Sidebar/header/sidebar-header.d.ts +6 -0
  857. package/dist/src/ds/components/Sidebar/header/sidebar-search-trigger.d.ts +7 -0
  858. package/dist/src/ds/components/Sidebar/index.d.ts +20 -0
  859. package/dist/src/ds/components/{MainSidebar/main-sidebar-link-active.d.ts → Sidebar/nav/sidebar-link-active.d.ts} +2 -2
  860. package/dist/src/ds/components/Sidebar/nav/sidebar-nav-header.d.ts +13 -0
  861. package/dist/src/ds/components/{MainSidebar/main-sidebar-nav-item-classes.d.ts → Sidebar/nav/sidebar-nav-item-classes.d.ts} +2 -2
  862. package/dist/src/ds/components/{MainSidebar/main-sidebar-nav-label.d.ts → Sidebar/nav/sidebar-nav-label.d.ts} +4 -4
  863. package/dist/src/ds/components/{MainSidebar/main-sidebar-nav-link.d.ts → Sidebar/nav/sidebar-nav-link.d.ts} +9 -9
  864. package/dist/src/ds/components/Sidebar/nav/sidebar-nav-list.d.ts +3 -0
  865. package/dist/src/ds/components/Sidebar/nav/sidebar-nav-section.d.ts +3 -0
  866. package/dist/src/ds/components/Sidebar/nav/sidebar-nav-separator.d.ts +3 -0
  867. package/dist/src/ds/components/Sidebar/nav/sidebar-nav.d.ts +3 -0
  868. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack-context.d.ts +8 -0
  869. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack-page-classes.d.ts +1 -0
  870. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack-root-view.d.ts +3 -0
  871. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack-root.d.ts +7 -0
  872. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack-view.d.ts +9 -0
  873. package/dist/src/ds/components/Sidebar/nav-stack/sidebar-nav-stack.d.ts +10 -0
  874. package/dist/src/ds/components/{MainSidebar/main-sidebar-context.d.ts → Sidebar/root/sidebar-context.d.ts} +7 -7
  875. package/dist/src/ds/components/Sidebar/root/sidebar-mobile-trigger.d.ts +5 -0
  876. package/dist/src/ds/components/Sidebar/root/sidebar-panel.d.ts +6 -0
  877. package/dist/src/ds/components/{MainSidebar/main-sidebar-provider.d.ts → Sidebar/root/sidebar-provider.d.ts} +5 -5
  878. package/dist/src/ds/components/Sidebar/root/sidebar-root.d.ts +6 -0
  879. package/dist/src/ds/components/Sidebar/root/sidebar-trigger.d.ts +3 -0
  880. package/dist/src/ds/components/Sidebar/sections/sidebar-customize-dialog.d.ts +12 -0
  881. package/dist/src/ds/components/Sidebar/sections/sidebar-more-links.d.ts +11 -0
  882. package/dist/src/ds/components/Sidebar/sections/sidebar-optional-link.d.ts +11 -0
  883. package/dist/src/ds/components/Sidebar/sections/sidebar-section-link.d.ts +9 -0
  884. package/dist/src/ds/components/Sidebar/sections/sidebar-sections-content.d.ts +4 -0
  885. package/dist/src/ds/components/Sidebar/sections/sidebar-sections.d.ts +18 -0
  886. package/dist/src/ds/components/Sidebar/sections/sidebar-visibility.d.ts +19 -0
  887. package/dist/src/ds/components/{MainSidebar/main-sidebar.stories.d.ts → Sidebar/sidebar-layout.stories.d.ts} +4 -4
  888. package/dist/src/ds/components/Sidebar/sidebar.d.ts +43 -0
  889. package/dist/src/ds/{new/sidebar/sidebar-new.stories.d.ts → components/Sidebar/sidebar.stories.d.ts} +3 -3
  890. package/dist/src/ds/components/Tabs/tabs-list.d.ts +1 -0
  891. package/dist/src/ds/components/Tabs/tabs.stories.d.ts +6 -0
  892. package/dist/src/ds/components/Txt/Txt.d.ts +12 -20
  893. package/dist/src/ds/components/Txt/txt.stories.d.ts +2 -0
  894. package/dist/src/ds/components/ai/plan/plan.d.ts +2 -2
  895. package/dist/src/ds/components/ai/tool-approval/index.d.ts +2 -2
  896. package/dist/src/ds/components/ai/tool-approval/tool-approval.d.ts +11 -4
  897. package/dist/src/ds/components/ai/tool-approval/tool-approval.stories.d.ts +17 -3
  898. package/dist/src/ds/components/ai/tool-call/tool-call-arguments.d.ts +2 -1
  899. package/dist/src/ds/components/ai/tool-call/tool-call-edit.d.ts +2 -1
  900. package/dist/src/ds/primitives/control-sizes.stories.d.ts +10 -0
  901. package/dist/src/ds/primitives/text.d.ts +19 -0
  902. package/dist/src/ds/tokens/fonts.d.ts +1 -1
  903. package/dist/src/ee/signals/components/signals-empty-state.stories.d.ts +12 -0
  904. package/dist/src/hooks/use-fluid-hover.d.ts +5 -1
  905. package/dist/style.css +100 -91
  906. package/dist/{tabs-list-Tqj36HIL.cjs → tabs-list-BeWntzEw.cjs} +17 -3
  907. package/dist/tabs-list-BeWntzEw.cjs.map +1 -0
  908. package/dist/{tabs-list-tLx5fgP0.js → tabs-list-DoSX2xLL.js} +17 -3
  909. package/dist/tabs-list-DoSX2xLL.js.map +1 -0
  910. package/dist/tabs-root.css +2 -2
  911. package/dist/{tabs-tab-ClLIOGiC.js → tabs-tab-BI3hb-HP.js} +3 -4
  912. package/dist/tabs-tab-BI3hb-HP.js.map +1 -0
  913. package/dist/{tabs-tab-C-C2vX-D.cjs → tabs-tab-DhLs9bO0.cjs} +3 -4
  914. package/dist/tabs-tab-DhLs9bO0.cjs.map +1 -0
  915. package/dist/{text-and-icon-Bo6NLLBl.js → text-and-icon-CsBZ4Gn8.js} +2 -2
  916. package/dist/{text-and-icon-Bo6NLLBl.js.map → text-and-icon-CsBZ4Gn8.js.map} +1 -1
  917. package/dist/{text-and-icon-CvakH4YL.cjs → text-and-icon-DB9klVPu.cjs} +2 -2
  918. package/dist/{text-and-icon-CvakH4YL.cjs.map → text-and-icon-DB9klVPu.cjs.map} +1 -1
  919. package/dist/{thread-list-DKBwiGfX.cjs → thread-list-BbOI-tHs.cjs} +2 -2
  920. package/dist/{thread-list-DKBwiGfX.cjs.map → thread-list-BbOI-tHs.cjs.map} +1 -1
  921. package/dist/{thread-list-D2zSEQWK.js → thread-list-BhqOe2iu.js} +2 -2
  922. package/dist/{thread-list-D2zSEQWK.js.map → thread-list-BhqOe2iu.js.map} +1 -1
  923. package/dist/tokens.cjs.js +3 -0
  924. package/dist/tokens.cjs.js.map +1 -1
  925. package/dist/tokens.es.js +3 -0
  926. package/dist/tokens.es.js.map +1 -1
  927. package/dist/tool-approval-B0DJ3coA.js +71 -0
  928. package/dist/tool-approval-B0DJ3coA.js.map +1 -0
  929. package/dist/tool-approval-jNN6UeC7.cjs +75 -0
  930. package/dist/tool-approval-jNN6UeC7.cjs.map +1 -0
  931. package/dist/{tool-call-arguments-DEXKbR8d.cjs → tool-call-arguments-Bud9On3h.cjs} +15 -11
  932. package/dist/tool-call-arguments-Bud9On3h.cjs.map +1 -0
  933. package/dist/{tool-call-arguments-CufA6H_n.js → tool-call-arguments-DzdVtN4f.js} +15 -11
  934. package/dist/tool-call-arguments-DzdVtN4f.js.map +1 -0
  935. package/dist/{tool-call-group-DKCarGYB.js → tool-call-group-Bg9Rg05T.js} +3 -3
  936. package/dist/{tool-call-group-DKCarGYB.js.map → tool-call-group-Bg9Rg05T.js.map} +1 -1
  937. package/dist/{tool-call-group-GBF6eQAK.cjs → tool-call-group-xOLcTzb_.cjs} +3 -3
  938. package/dist/{tool-call-group-GBF6eQAK.cjs.map → tool-call-group-xOLcTzb_.cjs.map} +1 -1
  939. package/dist/{tool-card-DKNWgEoo.js → tool-card-B5wPeDh_.js} +13 -17
  940. package/dist/tool-card-B5wPeDh_.js.map +1 -0
  941. package/dist/{tool-card-CQAEtUhC.cjs → tool-card-CwENsPdZ.cjs} +13 -17
  942. package/dist/tool-card-CwENsPdZ.cjs.map +1 -0
  943. package/dist/{traces-data-list-BeWQiNT2.js → traces-data-list-B0xInvZg.js} +4 -4
  944. package/dist/{traces-data-list-BeWQiNT2.js.map → traces-data-list-B0xInvZg.js.map} +1 -1
  945. package/dist/{traces-data-list-DDG1BY5u.cjs → traces-data-list-CVLHJtd4.cjs} +4 -4
  946. package/dist/{traces-data-list-DDG1BY5u.cjs.map → traces-data-list-CVLHJtd4.cjs.map} +1 -1
  947. package/dist/{transcript-divider-CPIo8NUj.js → transcript-divider-DQbebYHb.js} +2 -2
  948. package/dist/{transcript-divider-CPIo8NUj.js.map → transcript-divider-DQbebYHb.js.map} +1 -1
  949. package/dist/{transcript-divider-273Bsdjs.cjs → transcript-divider-fc_PrxES.cjs} +2 -2
  950. package/dist/{transcript-divider-273Bsdjs.cjs.map → transcript-divider-fc_PrxES.cjs.map} +1 -1
  951. package/dist/{use-workflow-graph-runtime-r_OOpvSo.cjs → use-workflow-graph-runtime-B4njhsih.cjs} +3 -3
  952. package/dist/{use-workflow-graph-runtime-r_OOpvSo.cjs.map → use-workflow-graph-runtime-B4njhsih.cjs.map} +1 -1
  953. package/dist/{use-workflow-graph-runtime-BF_NZEkj.js → use-workflow-graph-runtime-CfRQ3vzM.js} +3 -3
  954. package/dist/{use-workflow-graph-runtime-BF_NZEkj.js.map → use-workflow-graph-runtime-CfRQ3vzM.js.map} +1 -1
  955. package/dist/{workflow-code-dialog-content-DyoN3850.cjs → workflow-code-dialog-content-BE9f1Fcf.cjs} +2 -2
  956. package/dist/{workflow-code-dialog-content-DyoN3850.cjs.map → workflow-code-dialog-content-BE9f1Fcf.cjs.map} +1 -1
  957. package/dist/{workflow-code-dialog-content-3AcgitHa.js → workflow-code-dialog-content-BZAkw31A.js} +2 -2
  958. package/dist/{workflow-code-dialog-content-3AcgitHa.js.map → workflow-code-dialog-content-BZAkw31A.js.map} +1 -1
  959. package/dist/{workflow-condition-card-BCSYogql.js → workflow-condition-card-3YSKAtKw.js} +3 -3
  960. package/dist/{workflow-condition-card-BCSYogql.js.map → workflow-condition-card-3YSKAtKw.js.map} +1 -1
  961. package/dist/{workflow-condition-card-Dlo2PaKV.cjs → workflow-condition-card-80XcAvDl.cjs} +3 -3
  962. package/dist/{workflow-condition-card-Dlo2PaKV.cjs.map → workflow-condition-card-80XcAvDl.cjs.map} +1 -1
  963. package/dist/{workflow-data-edge-view-CjbBulHe.cjs → workflow-data-edge-view-BoCjUe4t.cjs} +2 -2
  964. package/dist/{workflow-data-edge-view-CjbBulHe.cjs.map → workflow-data-edge-view-BoCjUe4t.cjs.map} +1 -1
  965. package/dist/{workflow-data-edge-view-B9uz58wL.js → workflow-data-edge-view-ux68M8gD.js} +2 -2
  966. package/dist/{workflow-data-edge-view-B9uz58wL.js.map → workflow-data-edge-view-ux68M8gD.js.map} +1 -1
  967. package/dist/{workflow-debug-controls-BVaX_0Dq.js → workflow-debug-controls-BgyAN-Ke.js} +2 -2
  968. package/dist/{workflow-debug-controls-BVaX_0Dq.js.map → workflow-debug-controls-BgyAN-Ke.js.map} +1 -1
  969. package/dist/{workflow-debug-controls-DUNR0Ws0.cjs → workflow-debug-controls-DsAvdRuS.cjs} +2 -2
  970. package/dist/{workflow-debug-controls-DUNR0Ws0.cjs.map → workflow-debug-controls-DsAvdRuS.cjs.map} +1 -1
  971. package/dist/{workflow-edge-data-button-DQAzBPfm.cjs → workflow-edge-data-button-BKTN3LQd.cjs} +3 -3
  972. package/dist/{workflow-edge-data-button-DQAzBPfm.cjs.map → workflow-edge-data-button-BKTN3LQd.cjs.map} +1 -1
  973. package/dist/{workflow-edge-data-button-BTynlndD.js → workflow-edge-data-button-YegDtxyD.js} +3 -3
  974. package/dist/{workflow-edge-data-button-BTynlndD.js.map → workflow-edge-data-button-YegDtxyD.js.map} +1 -1
  975. package/package.json +11 -17
  976. package/theme/typography.css +16 -0
  977. package/dist/Txt-C3cYJgKU.js.map +0 -1
  978. package/dist/Txt-DNnvlrBo.cjs.map +0 -1
  979. package/dist/code-C8akLzcu.js.map +0 -1
  980. package/dist/code-D_sH618U.cjs.map +0 -1
  981. package/dist/code-editor-Btr1qm_5.cjs.map +0 -1
  982. package/dist/code-editor-DzhYz1fH.js.map +0 -1
  983. package/dist/comment-B1Cf9w4Z.js.map +0 -1
  984. package/dist/comment-DnbibTOe.cjs.map +0 -1
  985. package/dist/components/MainSidebar.cjs.js +0 -133
  986. package/dist/components/MainSidebar.cjs.js.map +0 -1
  987. package/dist/components/MainSidebar.d.ts +0 -2
  988. package/dist/components/MainSidebar.es.js +0 -121
  989. package/dist/components/MainSidebar.es.js.map +0 -1
  990. package/dist/data-list-BHtjZ528.js.map +0 -1
  991. package/dist/data-list-TouUI4pb.cjs.map +0 -1
  992. package/dist/data-list-skeleton-BqihjHu8.cjs.map +0 -1
  993. package/dist/data-list-skeleton-H8Zpph6_.js.map +0 -1
  994. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +0 -66
  995. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js.map +0 -1
  996. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +0 -62
  997. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js.map +0 -1
  998. package/dist/main-sidebar-link-active-C9P_WBus.cjs +0 -798
  999. package/dist/main-sidebar-link-active-C9P_WBus.cjs.map +0 -1
  1000. package/dist/main-sidebar-link-active-JtKNF9hx.js +0 -781
  1001. package/dist/main-sidebar-link-active-JtKNF9hx.js.map +0 -1
  1002. package/dist/new/sidebar.cjs.js +0 -725
  1003. package/dist/new/sidebar.cjs.js.map +0 -1
  1004. package/dist/new/sidebar.d.ts +0 -2
  1005. package/dist/new/sidebar.es.js +0 -705
  1006. package/dist/new/sidebar.es.js.map +0 -1
  1007. package/dist/page-header-D5a7qrVc.js.map +0 -1
  1008. package/dist/page-header-Dc2KSbnw.cjs.map +0 -1
  1009. package/dist/plan-4Udllcyn.cjs.map +0 -1
  1010. package/dist/plan-CZxw-Q5D.js.map +0 -1
  1011. package/dist/span-payload-primitives-0b_ow5Rt.cjs.map +0 -1
  1012. package/dist/span-payload-primitives-XWZOfAi-.js.map +0 -1
  1013. package/dist/src/domains/chat/stories/approvals.stories.d.ts +0 -52
  1014. package/dist/src/domains/chat/tools/badges/tool-approval-buttons.d.ts +0 -14
  1015. package/dist/src/ds/components/MainSidebar/index.d.ts +0 -1
  1016. package/dist/src/ds/components/MainSidebar/main-sidebar-bottom.d.ts +0 -3
  1017. package/dist/src/ds/components/MainSidebar/main-sidebar-mobile-trigger.d.ts +0 -5
  1018. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-header.d.ts +0 -11
  1019. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-list.d.ts +0 -3
  1020. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-section.d.ts +0 -12
  1021. package/dist/src/ds/components/MainSidebar/main-sidebar-nav-separator.d.ts +0 -3
  1022. package/dist/src/ds/components/MainSidebar/main-sidebar-nav.d.ts +0 -3
  1023. package/dist/src/ds/components/MainSidebar/main-sidebar-root.d.ts +0 -6
  1024. package/dist/src/ds/components/MainSidebar/main-sidebar-sections.d.ts +0 -13
  1025. package/dist/src/ds/components/MainSidebar/main-sidebar-trigger.d.ts +0 -3
  1026. package/dist/src/ds/components/MainSidebar/main-sidebar.d.ts +0 -35
  1027. package/dist/src/ds/components/ai/tool-approval/tool-approval-actions.stories.d.ts +0 -44
  1028. package/dist/src/ds/new/sidebar/index.d.ts +0 -15
  1029. package/dist/src/ds/new/sidebar/sidebar-new-brand.d.ts +0 -6
  1030. package/dist/src/ds/new/sidebar/sidebar-new-command-header.d.ts +0 -3
  1031. package/dist/src/ds/new/sidebar/sidebar-new-footer-meta.d.ts +0 -7
  1032. package/dist/src/ds/new/sidebar/sidebar-new-footer.d.ts +0 -3
  1033. package/dist/src/ds/new/sidebar/sidebar-new-header.d.ts +0 -6
  1034. package/dist/src/ds/new/sidebar/sidebar-new-meter.d.ts +0 -24
  1035. package/dist/src/ds/new/sidebar/sidebar-new-more-links.d.ts +0 -10
  1036. package/dist/src/ds/new/sidebar/sidebar-new-nav-header.d.ts +0 -11
  1037. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-context.d.ts +0 -8
  1038. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-page-classes.d.ts +0 -1
  1039. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root-view.d.ts +0 -3
  1040. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-root.d.ts +0 -7
  1041. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack-view.d.ts +0 -9
  1042. package/dist/src/ds/new/sidebar/sidebar-new-nav-stack.d.ts +0 -10
  1043. package/dist/src/ds/new/sidebar/sidebar-new-nav.d.ts +0 -3
  1044. package/dist/src/ds/new/sidebar/sidebar-new-root.d.ts +0 -6
  1045. package/dist/src/ds/new/sidebar/sidebar-new-search-trigger.d.ts +0 -7
  1046. package/dist/src/ds/new/sidebar/sidebar-new-section-link.d.ts +0 -9
  1047. package/dist/src/ds/new/sidebar/sidebar-new-sections.d.ts +0 -12
  1048. package/dist/src/ds/new/sidebar/sidebar-new-trigger.d.ts +0 -3
  1049. package/dist/src/ds/new/sidebar/sidebar-new.d.ts +0 -43
  1050. package/dist/tabs-list-Tqj36HIL.cjs.map +0 -1
  1051. package/dist/tabs-list-tLx5fgP0.js.map +0 -1
  1052. package/dist/tabs-tab-C-C2vX-D.cjs.map +0 -1
  1053. package/dist/tabs-tab-ClLIOGiC.js.map +0 -1
  1054. package/dist/tool-approval-BNJ6MpnV.js +0 -77
  1055. package/dist/tool-approval-BNJ6MpnV.js.map +0 -1
  1056. package/dist/tool-approval-DOPxugSv.cjs +0 -80
  1057. package/dist/tool-approval-DOPxugSv.cjs.map +0 -1
  1058. package/dist/tool-call-arguments-CufA6H_n.js.map +0 -1
  1059. package/dist/tool-call-arguments-DEXKbR8d.cjs.map +0 -1
  1060. package/dist/tool-card-CQAEtUhC.cjs.map +0 -1
  1061. package/dist/tool-card-DKNWgEoo.js.map +0 -1
  1062. /package/dist/{sidebar.css → Sidebar.css} +0 -0
@@ -0,0 +1,1615 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { c as cn } from '../cn-65Adrsfj.js';
3
+ import React__default, { forwardRef, useRef, useEffect, useCallback, useId, Fragment as Fragment$1, useState } from 'react';
4
+ import { T as Txt } from '../Txt-CuuPO9Ho.js';
5
+ import { surfaceStateLayerStyle, surfaceGroupStateLayerStyle, overlaySurfaceStyle, frameSurfaceStyle } from '../primitives/raised-surface.es.js';
6
+ import { VisuallyHidden } from '@radix-ui/react-visually-hidden';
7
+ import { PanelLeftIcon, ChevronRightIcon, ArrowLeftIcon, MenuIcon, MoreHorizontalIcon, Settings2Icon } from 'lucide-react';
8
+ import { K as Kbd } from '../kbd-BDVTQHD_.js';
9
+ import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../tooltip-DsQPiynb.js';
10
+ import { focusRing, controlStateColorTransition } from '../primitives/transitions.es.js';
11
+ import { quietTextHoverInGroup, quietTextHover } from '../primitives/typography.es.js';
12
+ import { S as ScrollArea, a as ScrollAreaViewport } from '../scroll-area-CfoN8Hpp.js';
13
+ import { c as cva } from '../index-Dubp6Qv4.js';
14
+ import { controlHeight } from '../primitives/control-size.es.js';
15
+ import { D as Drawer, d as DrawerContent, c as DrawerClose, o as DrawerTitle, e as DrawerDescription } from '../drawer-BI3B_krl.js';
16
+ import { ResizeHandleIndicator } from '../primitives/resize-handle-indicator.es.js';
17
+ import { z } from 'zod/v4';
18
+ import { D as Dialog, d as DialogContent, g as DialogHeader, j as DialogTitle, e as DialogDescription, a as DialogBody } from '../dialog-DhtPcWY-.js';
19
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../select-CWxcmE3F.js';
20
+ import { C as ContextMenu } from '../context-menu-YjTzgOUh.js';
21
+ import { D as DropdownMenu } from '../dropdown-menu-DpEn6HwK.js';
22
+ import { useLocalStorageState } from '../hooks/use-local-storage-state.es.js';
23
+
24
+ import '../Sidebar.css';function SidebarFooter({ className, children, ...props }) {
25
+ return /* @__PURE__ */ jsx("footer", { "data-slot": "sidebar-footer", className: cn("mt-auto shrink-0 space-y-1.5 pb-2", className), ...props, children });
26
+ }
27
+
28
+ const SidebarContext = React__default.createContext(null);
29
+ const MobileDrawerContext = React__default.createContext(null);
30
+ function useMaybeSidebarState() {
31
+ return React__default.useContext(SidebarContext);
32
+ }
33
+ function useSidebar() {
34
+ const ctx = React__default.useContext(SidebarContext);
35
+ const drawer = React__default.useContext(MobileDrawerContext);
36
+ if (!ctx || !drawer) {
37
+ throw new Error("useSidebar must be used within a SidebarProvider.");
38
+ }
39
+ return { ...ctx, ...drawer };
40
+ }
41
+ function useMaybeSidebar() {
42
+ const ctx = React__default.useContext(SidebarContext);
43
+ const drawer = React__default.useContext(MobileDrawerContext);
44
+ if (!ctx || !drawer) return null;
45
+ return { ...ctx, ...drawer };
46
+ }
47
+ function useMobileDrawer() {
48
+ const drawer = React__default.useContext(MobileDrawerContext);
49
+ if (!drawer) throw new Error("useMobileDrawer must be used within a SidebarProvider.");
50
+ return drawer;
51
+ }
52
+
53
+ const SidebarFooterMeta = forwardRef(function SidebarFooterMeta2({ className, children, action, ...props }, ref) {
54
+ const { state } = useSidebar();
55
+ return /* @__PURE__ */ jsxs(
56
+ "div",
57
+ {
58
+ ref,
59
+ "data-slot": "sidebar-footer-meta",
60
+ "data-state": state,
61
+ className: cn(
62
+ "grid min-h-10 grid-cols-[minmax(0,1fr)_auto_0fr] items-center border-t border-border px-2 py-1 text-meta text-muted-foreground",
63
+ "transition-[grid-template-columns] duration-slow ease-out-custom motion-reduce:transition-none",
64
+ state === "collapsed" && "grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] px-0",
65
+ className
66
+ ),
67
+ ...props,
68
+ children: [
69
+ /* @__PURE__ */ jsx(
70
+ "div",
71
+ {
72
+ "aria-hidden": state === "collapsed",
73
+ className: cn(
74
+ "min-w-0 truncate transition-opacity duration-normal ease-out-custom motion-reduce:transition-none",
75
+ state === "collapsed" && "opacity-0"
76
+ ),
77
+ children
78
+ }
79
+ ),
80
+ action,
81
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true })
82
+ ]
83
+ }
84
+ );
85
+ });
86
+
87
+ const NOISE = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")`;
88
+ const CARD_HEIGHT = 76;
89
+ const BLOOM_HEIGHT = 100;
90
+ const BLOOM_HOLD_Y = 60;
91
+ const BLOOM_HOLD_X = 22.5;
92
+ const GRAIN_OPACITY = 0.18;
93
+ const GRAIN_SIZE = 110;
94
+ const FALLOFF_RAMP = [0, 0.08, 0.16, 0.25, 0.34, 0.44, 0.55, 0.66, 0.78, 0.89, 1];
95
+ const TONES = {
96
+ neutral: { colorVar: "--foreground", peak: 0.08, grain: true, text: "text-muted-foreground" },
97
+ warning: {
98
+ colorVar: "--warning-indicator",
99
+ peak: 0.16,
100
+ grain: false,
101
+ text: "text-warning-foreground"
102
+ },
103
+ danger: {
104
+ colorVar: "--destructive-indicator",
105
+ peak: 0.16,
106
+ grain: false,
107
+ text: "text-destructive-foreground"
108
+ }
109
+ };
110
+ function cubicFalloff(position) {
111
+ const inverse = 1 - position;
112
+ return inverse * inverse * inverse;
113
+ }
114
+ function easedBloom(colorVar, peak) {
115
+ const stops = FALLOFF_RAMP.map((position) => {
116
+ const alpha = (peak * cubicFalloff(position) * 100).toFixed(2);
117
+ return `color-mix(in oklch, var(${colorVar}) ${alpha}%, transparent) ${(position * 100).toFixed(0)}%`;
118
+ });
119
+ return `linear-gradient(to right, ${stops.join(", ")})`;
120
+ }
121
+ function easedMask(direction, hold) {
122
+ const stops = FALLOFF_RAMP.map((position) => {
123
+ const offset = (hold + (100 - hold) * position).toFixed(2);
124
+ return `rgb(0 0 0 / ${cubicFalloff(position).toFixed(3)}) ${offset}%`;
125
+ });
126
+ return `linear-gradient(${direction}, rgb(0 0 0 / 1) 0%, ${stops.join(", ")})`;
127
+ }
128
+ const BLOOM_MASK = `${easedMask("to bottom", BLOOM_HOLD_Y)}, ${easedMask("to right", BLOOM_HOLD_X)}`;
129
+ function Bloom({ tone }) {
130
+ const current = TONES[tone];
131
+ return /* @__PURE__ */ jsx(
132
+ "span",
133
+ {
134
+ "aria-hidden": true,
135
+ "data-slot": "sidebar-meter-bloom",
136
+ className: "pointer-events-none absolute inset-x-0 top-0 -z-10",
137
+ style: {
138
+ height: BLOOM_HEIGHT,
139
+ backgroundImage: easedBloom(current.colorVar, current.peak),
140
+ maskImage: BLOOM_MASK,
141
+ maskComposite: "intersect"
142
+ },
143
+ children: current.grain ? /* @__PURE__ */ jsx(
144
+ "span",
145
+ {
146
+ "aria-hidden": true,
147
+ className: "absolute inset-0",
148
+ style: {
149
+ backgroundImage: NOISE,
150
+ backgroundRepeat: "repeat",
151
+ backgroundSize: `${GRAIN_SIZE}px ${GRAIN_SIZE}px`,
152
+ opacity: GRAIN_OPACITY
153
+ }
154
+ }
155
+ ) : null
156
+ }
157
+ );
158
+ }
159
+ const SidebarMeter = forwardRef(function SidebarMeter2({
160
+ label,
161
+ value,
162
+ status,
163
+ tone = "neutral",
164
+ icon,
165
+ action,
166
+ href,
167
+ linkLabel,
168
+ LinkComponent: LinkProp,
169
+ state: stateProp,
170
+ className,
171
+ ...props
172
+ }, ref) {
173
+ const ctx = useMaybeSidebarState();
174
+ const state = stateProp ?? ctx?.state ?? "default";
175
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
176
+ const isCollapsed = state === "collapsed";
177
+ const current = TONES[tone];
178
+ if (isCollapsed) {
179
+ return /* @__PURE__ */ jsxs(
180
+ "div",
181
+ {
182
+ ref,
183
+ "data-slot": "sidebar-meter",
184
+ "data-tone": tone,
185
+ "data-state": state,
186
+ className: cn(
187
+ "relative isolate flex items-center justify-center overflow-hidden rounded-lg border border-border bg-background px-1 py-2",
188
+ className
189
+ ),
190
+ ...props,
191
+ children: [
192
+ /* @__PURE__ */ jsx(Bloom, { tone }),
193
+ href ? /* @__PURE__ */ jsx(Link, { href, className: "absolute inset-0 rounded-lg", "aria-label": linkLabel }) : null,
194
+ /* @__PURE__ */ jsx(Txt, { as: "span", variant: "meta", tone: "ink", className: "pointer-events-none relative tabular-nums", children: value })
195
+ ]
196
+ }
197
+ );
198
+ }
199
+ return /* @__PURE__ */ jsxs(
200
+ "div",
201
+ {
202
+ ref,
203
+ "data-slot": "sidebar-meter",
204
+ "data-tone": tone,
205
+ "data-state": state,
206
+ className: cn(
207
+ "relative isolate flex flex-col justify-center overflow-hidden rounded-lg border border-border bg-background px-3",
208
+ href && surfaceStateLayerStyle,
209
+ className
210
+ ),
211
+ style: { height: CARD_HEIGHT },
212
+ ...props,
213
+ children: [
214
+ /* @__PURE__ */ jsx(Bloom, { tone }),
215
+ href ? /* @__PURE__ */ jsx(Link, { href, className: "absolute inset-0 rounded-lg", "aria-label": linkLabel }) : null,
216
+ /* @__PURE__ */ jsxs("div", { className: "pointer-events-none relative", children: [
217
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
218
+ tone === "neutral" ? null : icon,
219
+ /* @__PURE__ */ jsx(Txt, { as: "span", variant: "column", tone: "muted", children: label }),
220
+ action ? /* @__PURE__ */ jsx("span", { className: "pointer-events-auto", children: action }) : null
221
+ ] }),
222
+ /* @__PURE__ */ jsx(Txt, { variant: "heading", tone: "ink", className: "mt-0.5 leading-tight tabular-nums", children: value }),
223
+ status ? /* @__PURE__ */ jsx("div", { className: "mt-1 text-meta", children: /* @__PURE__ */ jsx("p", { className: cn("truncate", current.text), children: status }) }) : null
224
+ ] })
225
+ ]
226
+ }
227
+ );
228
+ });
229
+
230
+ function SidebarBrand({ logo, title, className, ...props }) {
231
+ const { state } = useSidebar();
232
+ return /* @__PURE__ */ jsxs("div", { "data-slot": "sidebar-brand", className: cn("flex min-w-0 flex-1 items-center gap-2", className), ...props, children: [
233
+ logo ? /* @__PURE__ */ jsx("span", { className: "shrink-0", children: logo }) : null,
234
+ state === "collapsed" ? /* @__PURE__ */ jsx(VisuallyHidden, { children: title }) : /* @__PURE__ */ jsx(Txt, { as: "span", variant: "subheading", tone: "ink", className: "truncate font-body tracking-tight", children: title })
235
+ ] });
236
+ }
237
+
238
+ const SidebarCommandHeader = forwardRef(function SidebarCommandHeader2({ className, children, ...props }, ref) {
239
+ const { state, isMobile } = useSidebar();
240
+ return /* @__PURE__ */ jsx(
241
+ "header",
242
+ {
243
+ ref,
244
+ "data-slot": "sidebar-command-header",
245
+ "data-state": state,
246
+ className: cn(
247
+ "flex h-header-default shrink-0 items-center gap-1 overflow-hidden",
248
+ state === "collapsed" ? "px-3" : "pr-2 pl-3.5",
249
+ state !== "collapsed" && !isMobile && "w-[calc(var(--sidebar-width)-1rem)]",
250
+ state === "collapsed" && "[&_[data-slot=sidebar-search-trigger]]:hidden",
251
+ className
252
+ ),
253
+ ...props,
254
+ children
255
+ }
256
+ );
257
+ });
258
+
259
+ function SidebarTrigger({ className, onClick, ...props }) {
260
+ const { desktopState, isMobile, toggleSidebar } = useSidebar();
261
+ const isCollapsed = desktopState === "collapsed";
262
+ if (isMobile) return null;
263
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
264
+ /* @__PURE__ */ jsx(
265
+ TooltipTrigger,
266
+ {
267
+ render: /* @__PURE__ */ jsx(
268
+ "button",
269
+ {
270
+ type: "button",
271
+ "aria-label": "Toggle sidebar",
272
+ "aria-expanded": !isCollapsed,
273
+ ...props,
274
+ onClick: (event) => {
275
+ onClick?.(event);
276
+ if (!event.defaultPrevented) toggleSidebar();
277
+ },
278
+ className: cn(
279
+ "flex items-center justify-center rounded-md text-muted-foreground",
280
+ "size-7",
281
+ !isCollapsed && "ml-auto",
282
+ "hover:bg-fill-subtle hover:text-foreground",
283
+ "transition-colors duration-normal ease-out-custom motion-reduce:transition-none",
284
+ focusRing,
285
+ "[&_svg]:size-4 [&_svg]:text-muted-foreground [&:hover_svg]:text-foreground",
286
+ className
287
+ ),
288
+ children: /* @__PURE__ */ jsx(PanelLeftIcon, {})
289
+ }
290
+ )
291
+ }
292
+ ),
293
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
294
+ "Toggle Sidebar",
295
+ /* @__PURE__ */ jsx(Kbd, { size: "xs", className: "bg-muted text-muted-foreground", children: "[" })
296
+ ] }) })
297
+ ] });
298
+ }
299
+
300
+ const hold = "animate-[sidebar-hold_var(--resize-dur)] motion-reduce:animate-none";
301
+ function SidebarHeader({ className, children, collapsedLogo, actions, ...props }) {
302
+ const sidebar = useMaybeSidebarState();
303
+ const collapsed = sidebar?.state === "collapsed";
304
+ const isMobile = sidebar?.isMobile ?? false;
305
+ return /* @__PURE__ */ jsxs(
306
+ "header",
307
+ {
308
+ "data-slot": "sidebar-header",
309
+ className: cn(
310
+ "flex h-header-default shrink-0 items-center gap-2",
311
+ collapsed ? "px-1" : "pr-2 pl-3.5",
312
+ collapsed && actions && "h-auto flex-col gap-3 py-3",
313
+ !collapsed && !isMobile && "w-[calc(var(--sidebar-width)-1rem)]",
314
+ className
315
+ ),
316
+ ...props,
317
+ children: [
318
+ collapsed && collapsedLogo ? /* @__PURE__ */ jsxs("div", { className: "group/collapsed-logo relative ml-0.5 grid size-9 shrink-0 place-items-center", children: [
319
+ /* @__PURE__ */ jsx(
320
+ "span",
321
+ {
322
+ className: cn(
323
+ hold,
324
+ "grid place-items-center transition-opacity duration-normal [--sidebar-hold-opacity:1] group-focus-within/collapsed-logo:opacity-0 group-hover/sidebar:opacity-0 motion-reduce:transition-none"
325
+ ),
326
+ children: collapsedLogo
327
+ }
328
+ ),
329
+ isMobile ? null : /* @__PURE__ */ jsx(
330
+ "div",
331
+ {
332
+ className: cn(
333
+ hold,
334
+ "absolute inset-0 grid place-items-center opacity-0 transition-opacity duration-normal [--sidebar-hold-opacity:0] group-hover/sidebar:opacity-100 focus-within:opacity-100 motion-reduce:transition-none"
335
+ ),
336
+ children: /* @__PURE__ */ jsx(SidebarTrigger, {})
337
+ }
338
+ )
339
+ ] }) : children,
340
+ actions
341
+ ]
342
+ }
343
+ );
344
+ }
345
+
346
+ const SidebarSearchTrigger = forwardRef(
347
+ function SidebarSearchTrigger2({ className, children, shortcut, type = "button", ...props }, ref) {
348
+ return /* @__PURE__ */ jsxs(
349
+ "button",
350
+ {
351
+ ref,
352
+ "data-slot": "sidebar-search-trigger",
353
+ type,
354
+ className: cn(
355
+ "group inline-flex size-control-md shrink-0 items-center justify-center gap-1.5 rounded-full border border-transparent hover:bg-fill-subtle",
356
+ quietTextHover,
357
+ controlStateColorTransition,
358
+ focusRing,
359
+ "[&_svg]:size-4 [&_svg]:shrink-0",
360
+ shortcut && "w-auto px-2",
361
+ className
362
+ ),
363
+ ...props,
364
+ children: [
365
+ children,
366
+ shortcut ? /* @__PURE__ */ jsx(Kbd, { size: "xs", className: cn("bg-surface-overlay-soft active:scale-100", quietTextHoverInGroup), children: shortcut }) : null
367
+ ]
368
+ }
369
+ );
370
+ }
371
+ );
372
+
373
+ function SidebarNav({ "aria-label": ariaLabel = "Main", children, className, ...props }) {
374
+ const isMobile = useMaybeSidebarState()?.isMobile ?? false;
375
+ return /* @__PURE__ */ jsx(
376
+ "nav",
377
+ {
378
+ "aria-label": ariaLabel,
379
+ className: cn(
380
+ "-mr-1.5 flex min-h-0 flex-1 flex-col",
381
+ "[&_[data-slot=scroll-area-scrollbar][data-orientation=vertical]]:w-1 [&_[data-slot=scroll-area-scrollbar][data-orientation=vertical]]:p-0",
382
+ "focus-within:[&_[data-slot=scroll-area-scrollbar][data-orientation=vertical][data-has-overflow-y]]:opacity-100",
383
+ isMobile && "[&_a]:min-h-11 [&_a]:touch-manipulation [&_button]:min-h-11 [&_button]:touch-manipulation",
384
+ className
385
+ ),
386
+ ...props,
387
+ children: /* @__PURE__ */ jsx(ScrollArea, { className: "min-h-0 flex-1", mask: { top: "3rem", bottom: "5rem" }, children: /* @__PURE__ */ jsx(ScrollAreaViewport, { className: "px-0.5", children: /* @__PURE__ */ jsx("div", { className: "pr-1.5", children }) }) })
388
+ }
389
+ );
390
+ }
391
+
392
+ function SidebarNavHeader({
393
+ children,
394
+ icon,
395
+ action,
396
+ className,
397
+ state: stateProp,
398
+ href,
399
+ isActive,
400
+ LinkComponent: LinkProp,
401
+ ...props
402
+ }) {
403
+ const context = useMaybeSidebarState();
404
+ const state = stateProp ?? context?.state ?? "default";
405
+ const showTitle = state === "default";
406
+ const Link = LinkProp ?? context?.LinkComponent ?? "a";
407
+ const toneClassName = isActive ? "text-foreground" : "text-muted-foreground";
408
+ return /* @__PURE__ */ jsx("div", { className: cn("flex min-w-0 items-center", showTitle ? "mt-3 min-h-7" : "h-10", className), children: showTitle ? /* @__PURE__ */ jsxs(Fragment, { children: [
409
+ icon ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: cn("flex shrink-0 pl-3 [&_svg]:size-4", toneClassName), children: icon }) : null,
410
+ /* @__PURE__ */ jsx(
411
+ "header",
412
+ {
413
+ ...props,
414
+ className: cn("max-w-full min-w-0 flex-1 truncate text-column", icon ? "pl-2" : "pl-3", toneClassName),
415
+ children: href ? /* @__PURE__ */ jsx(
416
+ Link,
417
+ {
418
+ href,
419
+ className: cn("block min-w-0 truncate transition-colors duration-normal", {
420
+ "hover:text-foreground": !isActive,
421
+ "text-foreground": isActive
422
+ }),
423
+ children
424
+ }
425
+ ) : children
426
+ }
427
+ ),
428
+ action
429
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
430
+ /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx("header", { ...props, children }) }),
431
+ /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: "mx-3 h-px flex-1 bg-border" }),
432
+ action ? /* @__PURE__ */ jsx(VisuallyHidden, { children: action }) : null
433
+ ] }) });
434
+ }
435
+
436
+ function SidebarNavLabel({ children, className, state: stateProp, ...rest }) {
437
+ const ctx = useMaybeSidebarState();
438
+ const state = stateProp ?? ctx?.state ?? "default";
439
+ if (state === "collapsed") {
440
+ return /* @__PURE__ */ jsx(VisuallyHidden, { children });
441
+ }
442
+ return /* @__PURE__ */ jsx("span", { ...rest, className: cn("min-w-0 flex-1 truncate text-left", className), children });
443
+ }
444
+
445
+ const navItemVariants = cva("flex min-w-0 cursor-pointer items-center rounded-lg text-label whitespace-nowrap", {
446
+ variants: {
447
+ size: {
448
+ sm: controlHeight.sm,
449
+ md: controlHeight.md,
450
+ lg: controlHeight.lg
451
+ }
452
+ },
453
+ defaultVariants: {
454
+ size: "md"
455
+ }
456
+ });
457
+ const nestedExpandedItemClasses = (level) => {
458
+ if (level <= 0) return "gap-2 py-1 px-3";
459
+ if (level === 1) return `gap-2 py-1 pr-3 pl-8 ${controlHeight.md}`;
460
+ if (level === 2) return `gap-2 py-1 pr-3 pl-10 ${controlHeight.md}`;
461
+ return `gap-2 py-1 pr-3 pl-12 ${controlHeight.md}`;
462
+ };
463
+ const idleSurface = cn("rounded-lg text-muted-foreground hover:text-foreground", surfaceStateLayerStyle);
464
+ const activeSurface = "bg-fill text-foreground";
465
+ const featuredSurface = cn(
466
+ "my-2 border border-transparent bg-brand-green text-black hover:text-black hover:brightness-95"
467
+ );
468
+ const navRowSurfaceClasses = ({ isActive, isFeatured }) => cn(idleSurface, isActive && activeSurface, isFeatured && featuredSurface);
469
+ const navItemLayoutClasses = ({ isCollapsed, level = 0, size }) => cn(
470
+ navItemVariants({ size }),
471
+ "w-full justify-start",
472
+ controlStateColorTransition,
473
+ "[&_svg]:size-4 [&_svg]:shrink-0",
474
+ focusRing,
475
+ !isCollapsed && nestedExpandedItemClasses(level),
476
+ isCollapsed && "gap-0 px-[13.5px] py-0"
477
+ );
478
+ const navItemClasses = ({ isActive, isCollapsed, isFeatured, level, size } = {}) => cn(navItemLayoutClasses({ isCollapsed, level, size }), navRowSurfaceClasses({ isActive, isFeatured }));
479
+
480
+ function SidebarNavLink({
481
+ link,
482
+ state: stateProp,
483
+ children,
484
+ isActive,
485
+ size,
486
+ render,
487
+ action,
488
+ className,
489
+ LinkComponent: LinkProp,
490
+ level: levelProp,
491
+ subItems,
492
+ asChild = false,
493
+ ...props
494
+ }) {
495
+ if (render && asChild) {
496
+ throw new Error("SidebarNavLink accepts either `render` or `asChild`, not both.");
497
+ }
498
+ const ctx = useMaybeSidebarState();
499
+ const state = stateProp ?? ctx?.state ?? "default";
500
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
501
+ const isCollapsed = state === "collapsed";
502
+ const isFeatured = link?.variant === "featured";
503
+ const level = levelProp ?? (link?.indent ? 1 : 0);
504
+ const rowAction = isCollapsed ? void 0 : action;
505
+ const itemClassName = rowAction ? cn(navItemLayoutClasses({ level, size }), "flex-1 pr-1") : cn(navItemClasses({ isActive, isCollapsed, isFeatured, level, size }), link?.opensView && !isCollapsed && "pr-1");
506
+ return /* @__PURE__ */ jsxs("li", { ...props, className: cn("relative flex min-w-0 flex-col", className), children: [
507
+ /* @__PURE__ */ jsx(NavRowBody, { action: rowAction, surfaceClassName: navRowSurfaceClasses({ isActive, isFeatured }), children: /* @__PURE__ */ jsx(NavRowTooltip, { label: navTooltipLabel(link, isCollapsed), children: navInteractiveRow({ render, asChild, children, link, state, Link, isActive, className: itemClassName }) }) }),
508
+ !isCollapsed && subItems
509
+ ] });
510
+ }
511
+ function navInteractiveRow({
512
+ render,
513
+ asChild,
514
+ children,
515
+ link,
516
+ state,
517
+ Link,
518
+ isActive,
519
+ className
520
+ }) {
521
+ const current = isActive ? "page" : void 0;
522
+ const caret = link?.opensView && state !== "collapsed" ? /* @__PURE__ */ jsx(ChevronRightIcon, { "aria-hidden": "true", className: "!size-3.5" }) : null;
523
+ if (render || asChild) {
524
+ const slotted = render ?? children;
525
+ if (!React__default.isValidElement(slotted)) {
526
+ throw new Error(
527
+ "SidebarNavLink requires a valid React element child when `asChild` is true so it can apply `SlottedNavChildProps` and merge `itemClassName`."
528
+ );
529
+ }
530
+ return React__default.cloneElement(slotted, {
531
+ className: cn(className, slotted.props.className),
532
+ "aria-current": current,
533
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [
534
+ slotted.props.children,
535
+ caret
536
+ ] })
537
+ });
538
+ }
539
+ if (!link) return children;
540
+ const externalParams = /^(https?:)?\/\//.test(link.url) ? { target: "_blank", rel: "noreferrer" } : {};
541
+ return /* @__PURE__ */ jsxs(Link, { href: link.url, ...externalParams, "aria-current": current, className, children: [
542
+ link.icon,
543
+ /* @__PURE__ */ jsx(SidebarNavLabel, { state, children: link.name }),
544
+ children,
545
+ caret
546
+ ] });
547
+ }
548
+ function navTooltipLabel(link, isCollapsed) {
549
+ if (!link) return void 0;
550
+ if (link.tooltipMsg) return isCollapsed ? `${link.name} | ${link.tooltipMsg}` : link.tooltipMsg;
551
+ return isCollapsed ? link.name : void 0;
552
+ }
553
+ function NavRowTooltip({ label, children }) {
554
+ if (!React__default.isValidElement(children)) return children;
555
+ return /* @__PURE__ */ jsxs(Tooltip, { disabled: !label, children: [
556
+ /* @__PURE__ */ jsx(TooltipTrigger, { render: children }),
557
+ label ? /* @__PURE__ */ jsx(TooltipContent, { side: "right", align: "center", sideOffset: 16, children: label }) : null
558
+ ] });
559
+ }
560
+ function NavRowBody({
561
+ action,
562
+ surfaceClassName,
563
+ children
564
+ }) {
565
+ if (!action) return children;
566
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex min-w-0 items-center pr-1", surfaceClassName), children: [
567
+ children,
568
+ action
569
+ ] });
570
+ }
571
+
572
+ function SidebarNavList({ className, children, ...props }) {
573
+ return /* @__PURE__ */ jsx("ul", { className: cn("grid grid-cols-[minmax(0,1fr)] content-center items-start gap-0.5", className), ...props, children });
574
+ }
575
+
576
+ function SidebarNavSection({ className, children, ...props }) {
577
+ return /* @__PURE__ */ jsx("section", { className: cn("relative grid grid-cols-[minmax(0,1fr)] content-center items-start", className), ...props, children });
578
+ }
579
+
580
+ function SidebarNavSeparator({ className, ...props }) {
581
+ return /* @__PURE__ */ jsx(
582
+ "div",
583
+ {
584
+ role: "separator",
585
+ "aria-orientation": "horizontal",
586
+ className: cn(
587
+ "relative min-h-5",
588
+ '[&:after]:absolute [&:after]:inset-x-3 [&:after]:top-1/2 [&:after]:block [&:after]:h-0 [&:after]:border-t [&:after]:border-border [&:after]:content-[""]',
589
+ className
590
+ ),
591
+ ...props
592
+ }
593
+ );
594
+ }
595
+
596
+ const SidebarNavStackContext = React__default.createContext(void 0);
597
+ function useSidebarNavStack() {
598
+ const context = React__default.useContext(SidebarNavStackContext);
599
+ if (!context) throw new Error("Sidebar.NavStack components must be used within Sidebar.NavStack.");
600
+ return context;
601
+ }
602
+
603
+ function SidebarNavStackRoot({
604
+ value,
605
+ rootValue = "root",
606
+ onValueChange,
607
+ children,
608
+ className,
609
+ ...props
610
+ }) {
611
+ function closeView(returnFocusRef) {
612
+ onValueChange(rootValue);
613
+ requestAnimationFrame(() => {
614
+ const target = returnFocusRef?.current;
615
+ if (target && !target.closest("[inert]")) target.focus();
616
+ });
617
+ }
618
+ return /* @__PURE__ */ jsx(SidebarNavStackContext.Provider, { value: { activeValue: value, rootValue, closeView }, children: /* @__PURE__ */ jsx(
619
+ "div",
620
+ {
621
+ "data-slot": "sidebar-nav-stack",
622
+ "data-value": value,
623
+ className: cn("relative grid min-w-0 overflow-hidden", className),
624
+ ...props,
625
+ children
626
+ }
627
+ ) });
628
+ }
629
+
630
+ function sidebarNavStackPageClasses(active, page, className) {
631
+ return cn(
632
+ "col-start-1 row-start-1 min-w-0 transition-[opacity,translate] duration-normal ease-out-custom will-change-[opacity,translate] motion-reduce:transition-none",
633
+ active && "relative translate-x-0 opacity-100",
634
+ !active && "pointer-events-none absolute inset-0 opacity-0",
635
+ !active && page === "root" && "-translate-x-2",
636
+ !active && page === "view" && "translate-x-2",
637
+ className
638
+ );
639
+ }
640
+
641
+ function SidebarNavStackRootView({ children, className, ...props }) {
642
+ const { state } = useSidebar();
643
+ const { activeValue, rootValue } = useSidebarNavStack();
644
+ const active = state === "collapsed" || activeValue === rootValue;
645
+ return /* @__PURE__ */ jsx(
646
+ "div",
647
+ {
648
+ ...props,
649
+ "data-slot": "sidebar-nav-stack-root",
650
+ "aria-hidden": !active,
651
+ inert: !active,
652
+ className: sidebarNavStackPageClasses(active, "root", className),
653
+ children
654
+ }
655
+ );
656
+ }
657
+
658
+ function SidebarNavStackView({
659
+ value,
660
+ title,
661
+ backLabel = "Back to main navigation",
662
+ returnFocusRef,
663
+ onBack,
664
+ children,
665
+ className,
666
+ ...props
667
+ }) {
668
+ const { state } = useSidebar();
669
+ const { activeValue, closeView } = useSidebarNavStack();
670
+ const active = state !== "collapsed" && activeValue === value;
671
+ const backRef = React__default.useRef(null);
672
+ const wasActiveRef = React__default.useRef(active);
673
+ React__default.useEffect(() => {
674
+ if (active && !wasActiveRef.current) backRef.current?.focus();
675
+ wasActiveRef.current = active;
676
+ }, [active]);
677
+ React__default.useEffect(() => {
678
+ if (!active) return;
679
+ function handleKeyDown(event) {
680
+ if (event.key !== "Escape" || event.defaultPrevented) return;
681
+ event.preventDefault();
682
+ closeView(returnFocusRef);
683
+ onBack?.();
684
+ }
685
+ document.addEventListener("keydown", handleKeyDown);
686
+ return () => document.removeEventListener("keydown", handleKeyDown);
687
+ }, [active, closeView, onBack, returnFocusRef]);
688
+ function handleBack() {
689
+ closeView(returnFocusRef);
690
+ onBack?.();
691
+ }
692
+ return /* @__PURE__ */ jsxs(
693
+ "div",
694
+ {
695
+ ...props,
696
+ "data-slot": "sidebar-nav-stack-view",
697
+ "data-value": value,
698
+ "aria-hidden": !active,
699
+ inert: !active,
700
+ className: sidebarNavStackPageClasses(active, "view", className),
701
+ children: [
702
+ /* @__PURE__ */ jsxs(
703
+ "button",
704
+ {
705
+ ref: backRef,
706
+ type: "button",
707
+ "aria-label": `${backLabel}: ${title}`,
708
+ onClick: handleBack,
709
+ className: cn(navItemClasses(), "mb-2 grid grid-cols-[2rem_1fr_2rem] px-1"),
710
+ children: [
711
+ /* @__PURE__ */ jsx(ArrowLeftIcon, { className: "justify-self-center", "aria-hidden": "true" }),
712
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate text-center", children: title }),
713
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true" })
714
+ ]
715
+ }
716
+ ),
717
+ children
718
+ ]
719
+ }
720
+ );
721
+ }
722
+
723
+ const SidebarNavStack = Object.assign(SidebarNavStackRoot, {
724
+ Root: SidebarNavStackRootView,
725
+ View: SidebarNavStackView
726
+ });
727
+
728
+ function SidebarMobileTrigger({
729
+ className,
730
+ icon,
731
+ "aria-label": ariaLabel = "Open navigation menu",
732
+ onClick,
733
+ ...props
734
+ }) {
735
+ const { isMobile, mobileTriggerRef, setOpenMobile } = useSidebar();
736
+ return /* @__PURE__ */ jsx(
737
+ "button",
738
+ {
739
+ ref: mobileTriggerRef,
740
+ type: "button",
741
+ "aria-label": ariaLabel,
742
+ "aria-hidden": !isMobile,
743
+ tabIndex: isMobile ? 0 : -1,
744
+ "data-mobile-only": true,
745
+ ...props,
746
+ onClick: (event) => {
747
+ onClick?.(event);
748
+ if (!event.defaultPrevented) setOpenMobile(true);
749
+ },
750
+ className: cn(
751
+ "inline-flex size-10 items-center justify-center rounded-md",
752
+ // compound selector, not `in-*` — its `:where()` ties with a consumer's later `.inline-flex`
753
+ "[[data-sidebar-mobile='false']_&]:hidden",
754
+ "[[data-sidebar-mobile-present='true']_&]:invisible",
755
+ quietTextHover,
756
+ "hover:bg-fill-subtle",
757
+ focusRing,
758
+ className
759
+ ),
760
+ children: icon ?? /* @__PURE__ */ jsx(MenuIcon, { className: "size-5" })
761
+ }
762
+ );
763
+ }
764
+
765
+ const SIDEBAR_STATE_KEY = "sidebar:state";
766
+ const SIDEBAR_WIDTH_KEY = "sidebar:width";
767
+ const SIDEBAR_WIDTH_VAR = "--sidebar-width";
768
+ const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
769
+ const useIsoLayoutEffect = typeof window !== "undefined" ? React__default.useLayoutEffect : React__default.useEffect;
770
+ function SidebarProvider({
771
+ children,
772
+ defaultState = "default",
773
+ defaultWidth = 240,
774
+ minWidth = 200,
775
+ maxWidth = 480,
776
+ collapseBelow,
777
+ collapsedWidth = 64,
778
+ disableKeyboardShortcut = true,
779
+ storageKey,
780
+ mobileBreakpoint = 1024,
781
+ mobileWidth = 360,
782
+ LinkComponent
783
+ }) {
784
+ const safeMin = Math.max(0, Math.min(minWidth, maxWidth));
785
+ const safeMax = Math.max(safeMin, maxWidth);
786
+ const safeCollapsed = Math.max(0, Math.min(collapsedWidth, safeMax));
787
+ const safeDefault = clamp(defaultWidth, safeMin, safeMax);
788
+ const safeCollapseBelow = collapseBelow ?? safeMin;
789
+ const stateStorageKey = storageKey ? `${storageKey}:${SIDEBAR_STATE_KEY}` : SIDEBAR_STATE_KEY;
790
+ const widthStorageKey = storageKey ? `${storageKey}:${SIDEBAR_WIDTH_KEY}` : SIDEBAR_WIDTH_KEY;
791
+ const readInitial = () => {
792
+ if (typeof window === "undefined") return { state: defaultState, width: safeDefault };
793
+ try {
794
+ let nextState = defaultState;
795
+ let nextWidth = safeDefault;
796
+ const storedState = window.localStorage.getItem(stateStorageKey);
797
+ if (storedState === "collapsed" || storedState === "default") nextState = storedState;
798
+ const storedWidth = window.localStorage.getItem(widthStorageKey);
799
+ if (storedWidth !== null) {
800
+ const parsed = Number(storedWidth);
801
+ if (Number.isFinite(parsed)) nextWidth = clamp(parsed, safeMin, safeMax);
802
+ }
803
+ return { state: nextState, width: nextWidth };
804
+ } catch {
805
+ return { state: defaultState, width: safeDefault };
806
+ }
807
+ };
808
+ const initialRef = React__default.useRef(null);
809
+ if (initialRef.current === null) initialRef.current = readInitial();
810
+ const initial = initialRef.current;
811
+ const [state, setState] = React__default.useState(initial.state);
812
+ const [width, setWidthState] = React__default.useState(initial.width);
813
+ const [isMobile, setIsMobile] = React__default.useState(false);
814
+ const [openMobile, setOpenMobileState] = React__default.useState(false);
815
+ const [mobileDrawerPresent, setMobileDrawerPresent] = React__default.useState(false);
816
+ const openMobileRef = React__default.useRef(false);
817
+ const mobileTriggerRef = React__default.useRef(null);
818
+ const widthRef = React__default.useRef(initial.width);
819
+ const stateRef = React__default.useRef(initial.state);
820
+ stateRef.current = state;
821
+ const scopeRef = React__default.useRef(null);
822
+ React__default.useEffect(() => {
823
+ if (typeof window === "undefined") return;
824
+ const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
825
+ const update = () => setIsMobile(mq.matches);
826
+ update();
827
+ mq.addEventListener("change", update);
828
+ return () => mq.removeEventListener("change", update);
829
+ }, [mobileBreakpoint]);
830
+ const setOpenMobile = React__default.useCallback((open) => {
831
+ openMobileRef.current = open;
832
+ if (open) setMobileDrawerPresent(true);
833
+ setOpenMobileState(open);
834
+ }, []);
835
+ React__default.useEffect(() => {
836
+ if (!isMobile && openMobile) {
837
+ setOpenMobile(false);
838
+ setMobileDrawerPresent(false);
839
+ }
840
+ }, [isMobile, openMobile, setOpenMobile]);
841
+ const writeCssVar = React__default.useCallback((px) => {
842
+ const el = scopeRef.current;
843
+ if (el) el.style.setProperty(SIDEBAR_WIDTH_VAR, `${px}px`);
844
+ }, []);
845
+ useIsoLayoutEffect(() => {
846
+ writeCssVar(state === "collapsed" ? safeCollapsed : widthRef.current);
847
+ }, [state, safeCollapsed, writeCssVar]);
848
+ const persistState = React__default.useCallback(
849
+ (next) => {
850
+ try {
851
+ window.localStorage.setItem(stateStorageKey, next);
852
+ } catch {
853
+ }
854
+ },
855
+ [stateStorageKey]
856
+ );
857
+ const toggleSidebar = React__default.useCallback(() => {
858
+ if (isMobile) {
859
+ setOpenMobile(!openMobileRef.current);
860
+ return;
861
+ }
862
+ setState((prev) => {
863
+ const next = prev === "default" ? "collapsed" : "default";
864
+ stateRef.current = next;
865
+ persistState(next);
866
+ return next;
867
+ });
868
+ }, [isMobile, persistState, setOpenMobile]);
869
+ const setWidth = React__default.useCallback(
870
+ (next) => {
871
+ const clamped = clamp(next, safeMin, safeMax);
872
+ widthRef.current = clamped;
873
+ writeCssVar(clamped);
874
+ },
875
+ [safeMin, safeMax, writeCssVar]
876
+ );
877
+ const collapse = React__default.useCallback(() => {
878
+ stateRef.current = "collapsed";
879
+ persistState("collapsed");
880
+ setState("collapsed");
881
+ }, [persistState]);
882
+ const expand = React__default.useCallback(() => {
883
+ stateRef.current = "default";
884
+ persistState("default");
885
+ setState("default");
886
+ }, [persistState]);
887
+ const commit = React__default.useCallback(() => {
888
+ setWidthState(widthRef.current);
889
+ try {
890
+ window.localStorage.setItem(stateStorageKey, stateRef.current);
891
+ window.localStorage.setItem(widthStorageKey, String(widthRef.current));
892
+ } catch {
893
+ }
894
+ }, [stateStorageKey, widthStorageKey]);
895
+ const setGestureActive = React__default.useCallback((active) => {
896
+ const el = scopeRef.current;
897
+ if (!el) return;
898
+ if (active) el.setAttribute("data-sidebar-gesture", "active");
899
+ else el.removeAttribute("data-sidebar-gesture");
900
+ }, []);
901
+ React__default.useEffect(() => {
902
+ if (disableKeyboardShortcut) return;
903
+ const onKeyDown = (ev) => {
904
+ if (ev.code !== "KeyB") return;
905
+ if (!(ev.metaKey || ev.ctrlKey)) return;
906
+ if (ev.altKey || ev.shiftKey) return;
907
+ if (ev.target instanceof HTMLElement) {
908
+ const tag = ev.target.tagName;
909
+ if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return;
910
+ if (ev.target.isContentEditable) return;
911
+ }
912
+ ev.preventDefault();
913
+ toggleSidebar();
914
+ };
915
+ window.addEventListener("keydown", onKeyDown);
916
+ return () => window.removeEventListener("keydown", onKeyDown);
917
+ }, [disableKeyboardShortcut, toggleSidebar]);
918
+ const effectiveState = isMobile ? "default" : state;
919
+ const contextValue = React__default.useMemo(
920
+ () => ({
921
+ state: effectiveState,
922
+ desktopState: state,
923
+ width,
924
+ minWidth: safeMin,
925
+ maxWidth: safeMax,
926
+ collapseBelow: safeCollapseBelow,
927
+ collapsedWidth: safeCollapsed,
928
+ isMobile,
929
+ toggleSidebar,
930
+ setWidth,
931
+ collapse,
932
+ expand,
933
+ commit,
934
+ setGestureActive,
935
+ LinkComponent
936
+ }),
937
+ [
938
+ effectiveState,
939
+ state,
940
+ width,
941
+ safeMin,
942
+ safeMax,
943
+ safeCollapseBelow,
944
+ safeCollapsed,
945
+ isMobile,
946
+ toggleSidebar,
947
+ setWidth,
948
+ collapse,
949
+ expand,
950
+ commit,
951
+ setGestureActive,
952
+ LinkComponent
953
+ ]
954
+ );
955
+ const drawerValue = React__default.useMemo(
956
+ () => ({ openMobile, mobileTriggerRef, setOpenMobile, setMobileDrawerPresent }),
957
+ [openMobile, setOpenMobile]
958
+ );
959
+ const scopeStyle = {
960
+ [SIDEBAR_WIDTH_VAR]: `${initial.state === "collapsed" ? safeCollapsed : initial.width}px`,
961
+ "--sidebar-width-mobile": `${mobileWidth}px`,
962
+ display: "contents"
963
+ };
964
+ return /* @__PURE__ */ jsx(
965
+ "div",
966
+ {
967
+ ref: scopeRef,
968
+ "data-sidebar-scope": true,
969
+ "data-sidebar-state": state,
970
+ "data-sidebar-mobile": isMobile ? "true" : "false",
971
+ "data-sidebar-mobile-present": mobileDrawerPresent ? "true" : "false",
972
+ style: scopeStyle,
973
+ suppressHydrationWarning: true,
974
+ children: /* @__PURE__ */ jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(MobileDrawerContext.Provider, { value: drawerValue, children }) })
975
+ }
976
+ );
977
+ }
978
+
979
+ const KEYBOARD_STEP = 10;
980
+ const DRAG_THRESHOLD = 5;
981
+ function SidebarPanel({ children, className, mobileMode = "drawer" }) {
982
+ const {
983
+ state,
984
+ width,
985
+ minWidth,
986
+ maxWidth,
987
+ collapseBelow,
988
+ collapsedWidth,
989
+ isMobile,
990
+ openMobile,
991
+ mobileTriggerRef,
992
+ setOpenMobile,
993
+ setMobileDrawerPresent,
994
+ setWidth,
995
+ collapse,
996
+ expand,
997
+ commit,
998
+ toggleSidebar,
999
+ setGestureActive
1000
+ } = useSidebar();
1001
+ const isCollapsed = state === "collapsed";
1002
+ const isHidden = isCollapsed && collapsedWidth === 0;
1003
+ const draggedRef = useRef(false);
1004
+ const dragCleanupRef = useRef(null);
1005
+ useEffect(() => {
1006
+ return () => {
1007
+ dragCleanupRef.current?.();
1008
+ dragCleanupRef.current = null;
1009
+ };
1010
+ }, []);
1011
+ const onPointerDown = useCallback(
1012
+ (event) => {
1013
+ if (event.button !== 0) return;
1014
+ event.preventDefault();
1015
+ draggedRef.current = false;
1016
+ setGestureActive(true);
1017
+ const startX = event.clientX;
1018
+ const handle = event.currentTarget;
1019
+ const pointerId = event.pointerId;
1020
+ try {
1021
+ handle.setPointerCapture(pointerId);
1022
+ } catch {
1023
+ }
1024
+ const sidebarEl = handle.parentElement;
1025
+ const sidebarLeft = sidebarEl ? sidebarEl.getBoundingClientRect().left : 0;
1026
+ const prevCursor = document.body.style.cursor;
1027
+ const prevUserSelect = document.body.style.userSelect;
1028
+ const onMove = (ev) => {
1029
+ if (ev.pointerId !== pointerId) return;
1030
+ const dx = ev.clientX - startX;
1031
+ if (!draggedRef.current) {
1032
+ if (Math.abs(dx) <= DRAG_THRESHOLD) return;
1033
+ draggedRef.current = true;
1034
+ document.body.style.cursor = "col-resize";
1035
+ document.body.style.userSelect = "none";
1036
+ }
1037
+ const cursorWidth = ev.clientX - sidebarLeft;
1038
+ if (collapseBelow > 0 && cursorWidth < collapseBelow) {
1039
+ collapse();
1040
+ return;
1041
+ }
1042
+ expand();
1043
+ setWidth(cursorWidth);
1044
+ };
1045
+ const cleanup = (ev) => {
1046
+ if (ev && ev.pointerId !== pointerId) return;
1047
+ window.removeEventListener("pointermove", onMove);
1048
+ window.removeEventListener("pointerup", cleanup);
1049
+ window.removeEventListener("pointercancel", cleanup);
1050
+ document.body.style.cursor = prevCursor;
1051
+ document.body.style.userSelect = prevUserSelect;
1052
+ setGestureActive(false);
1053
+ commit();
1054
+ dragCleanupRef.current = null;
1055
+ };
1056
+ dragCleanupRef.current = () => cleanup();
1057
+ window.addEventListener("pointermove", onMove);
1058
+ window.addEventListener("pointerup", cleanup);
1059
+ window.addEventListener("pointercancel", cleanup);
1060
+ },
1061
+ [collapseBelow, setWidth, expand, collapse, commit, setGestureActive]
1062
+ );
1063
+ const onClick = useCallback(() => {
1064
+ if (draggedRef.current) {
1065
+ draggedRef.current = false;
1066
+ return;
1067
+ }
1068
+ toggleSidebar();
1069
+ }, [toggleSidebar]);
1070
+ const onKeyDown = useCallback(
1071
+ (event) => {
1072
+ switch (event.key) {
1073
+ case "Enter":
1074
+ case " ": {
1075
+ event.preventDefault();
1076
+ toggleSidebar();
1077
+ return;
1078
+ }
1079
+ case "ArrowLeft": {
1080
+ event.preventDefault();
1081
+ if (isCollapsed) return;
1082
+ setWidth(width - KEYBOARD_STEP);
1083
+ commit();
1084
+ return;
1085
+ }
1086
+ case "ArrowRight": {
1087
+ event.preventDefault();
1088
+ if (isCollapsed) {
1089
+ expand();
1090
+ commit();
1091
+ return;
1092
+ }
1093
+ setWidth(width + KEYBOARD_STEP);
1094
+ commit();
1095
+ return;
1096
+ }
1097
+ case "Home": {
1098
+ event.preventDefault();
1099
+ expand();
1100
+ setWidth(minWidth);
1101
+ commit();
1102
+ return;
1103
+ }
1104
+ case "End": {
1105
+ event.preventDefault();
1106
+ expand();
1107
+ setWidth(maxWidth);
1108
+ commit();
1109
+ return;
1110
+ }
1111
+ }
1112
+ },
1113
+ [isCollapsed, width, minWidth, maxWidth, setWidth, expand, commit, toggleSidebar]
1114
+ );
1115
+ const closeOnAnchor = useCallback(
1116
+ (event) => {
1117
+ if (!(event.target instanceof Element)) return;
1118
+ const anchor = event.target.closest("a");
1119
+ if (!anchor || !anchor.hasAttribute("href")) return;
1120
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
1121
+ if (anchor.target === "_blank" || anchor.hasAttribute("download")) return;
1122
+ setOpenMobile(false);
1123
+ },
1124
+ [setOpenMobile]
1125
+ );
1126
+ if (isMobile) {
1127
+ return /* @__PURE__ */ jsx(
1128
+ Drawer,
1129
+ {
1130
+ side: "left",
1131
+ open: openMobile,
1132
+ onOpenChange: setOpenMobile,
1133
+ onOpenChangeComplete: (open) => {
1134
+ if (!open) setMobileDrawerPresent(false);
1135
+ },
1136
+ children: /* @__PURE__ */ jsxs(
1137
+ DrawerContent,
1138
+ {
1139
+ "data-mobile-mode": mobileMode,
1140
+ finalFocus: mobileTriggerRef,
1141
+ showCloseButton: mobileMode === "drawer",
1142
+ className: cn(
1143
+ "border-0 bg-sidebar text-foreground",
1144
+ mobileMode === "takeover" ? "w-[calc(100%-3.5rem)] max-w-none overflow-visible rounded-l-none rounded-r-3xl pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]" : "w-3/4 max-w-(--sidebar-width-mobile) overflow-hidden rounded-none",
1145
+ className
1146
+ ),
1147
+ children: [
1148
+ mobileMode === "takeover" ? /* @__PURE__ */ jsx(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx(
1149
+ "button",
1150
+ {
1151
+ type: "button",
1152
+ "aria-label": "Close",
1153
+ className: "group absolute top-2 -right-12 z-10 inline-flex size-11 touch-manipulation items-center justify-center transition-opacity duration-fast group-data-[ending-style]/popup:opacity-0 focus-visible:outline-hidden motion-reduce:duration-0",
1154
+ children: /* @__PURE__ */ jsx(
1155
+ "span",
1156
+ {
1157
+ className: cn(
1158
+ overlaySurfaceStyle,
1159
+ quietTextHoverInGroup,
1160
+ surfaceGroupStateLayerStyle,
1161
+ "inline-flex size-9 items-center justify-center rounded-full backdrop-blur-sm group-focus-visible:ring-1 group-focus-visible:ring-border-focus"
1162
+ ),
1163
+ children: /* @__PURE__ */ jsx(MenuIcon, { className: "size-4" })
1164
+ }
1165
+ )
1166
+ }
1167
+ ) }) : null,
1168
+ /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(DrawerTitle, { children: "Navigation" }) }),
1169
+ /* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx(DrawerDescription, { children: "Primary site navigation drawer" }) }),
1170
+ /* @__PURE__ */ jsx(
1171
+ "div",
1172
+ {
1173
+ onClick: closeOnAnchor,
1174
+ className: cn(
1175
+ "flex h-full min-h-0 flex-col overflow-hidden py-2",
1176
+ mobileMode === "takeover" ? "px-4" : "px-3"
1177
+ ),
1178
+ children
1179
+ }
1180
+ )
1181
+ ]
1182
+ }
1183
+ )
1184
+ }
1185
+ );
1186
+ }
1187
+ const currentWidth = isCollapsed ? collapsedWidth : width;
1188
+ return /* @__PURE__ */ jsxs(
1189
+ "div",
1190
+ {
1191
+ className: cn(
1192
+ "sidebar-layout group/sidebar t-resize relative min-h-0 shrink-0 self-stretch bg-sidebar text-foreground",
1193
+ "w-(--sidebar-width)",
1194
+ "in-data-[sidebar-gesture=active]:transition-none",
1195
+ className,
1196
+ isHidden && "border-r-0 border-transparent"
1197
+ ),
1198
+ children: [
1199
+ /* @__PURE__ */ jsx(
1200
+ "div",
1201
+ {
1202
+ className: cn(
1203
+ "flex h-full min-h-0 flex-col overflow-hidden",
1204
+ "transition-opacity duration-200 motion-reduce:transition-none",
1205
+ "px-2",
1206
+ isHidden && "pointer-events-none px-0 opacity-0"
1207
+ ),
1208
+ children
1209
+ }
1210
+ ),
1211
+ /* @__PURE__ */ jsx(
1212
+ "div",
1213
+ {
1214
+ role: "separator",
1215
+ "aria-orientation": "vertical",
1216
+ "aria-valuenow": isCollapsed ? void 0 : currentWidth,
1217
+ "aria-valuemin": isCollapsed ? void 0 : minWidth,
1218
+ "aria-valuemax": isCollapsed ? void 0 : maxWidth,
1219
+ "aria-valuetext": isCollapsed ? "collapsed" : `${currentWidth} pixels`,
1220
+ "aria-label": `Resize sidebar. Arrow keys to resize, Enter to ${isCollapsed ? "expand" : "collapse"}.`,
1221
+ tabIndex: 0,
1222
+ onPointerDown,
1223
+ onClick,
1224
+ onKeyDown,
1225
+ className: cn(
1226
+ "group absolute top-0 -right-1 z-10 h-full w-2 cursor-col-resize touch-none",
1227
+ "flex items-center justify-center",
1228
+ "focus-visible:outline-hidden"
1229
+ ),
1230
+ children: /* @__PURE__ */ jsx(
1231
+ ResizeHandleIndicator,
1232
+ {
1233
+ className: cn(
1234
+ "via-foreground/30 group-hover:opacity-100",
1235
+ "group-focus-visible:via-border-focus group-focus-visible:opacity-100",
1236
+ "in-data-[sidebar-gesture=active]:via-foreground/45 in-data-[sidebar-gesture=active]:opacity-100"
1237
+ )
1238
+ }
1239
+ )
1240
+ }
1241
+ )
1242
+ ]
1243
+ }
1244
+ );
1245
+ }
1246
+
1247
+ function SidebarRoot({
1248
+ "aria-label": ariaLabel = "Sidebar",
1249
+ mobileMode = "takeover",
1250
+ variant = "default",
1251
+ children,
1252
+ ...props
1253
+ }) {
1254
+ const sidebar = useMaybeSidebarState();
1255
+ const isRaised = variant === "raised" && !sidebar?.isMobile;
1256
+ return /* @__PURE__ */ jsx("aside", { "aria-label": ariaLabel, className: "contents", children: /* @__PURE__ */ jsx(SidebarPanel, { mobileMode, ...props, children: isRaised ? /* @__PURE__ */ jsx(
1257
+ "div",
1258
+ {
1259
+ "data-slot": "sidebar-surface",
1260
+ className: cn(
1261
+ "my-2 -mr-2 -ml-4 flex min-h-0 flex-1 flex-col overflow-hidden rounded-r-xl py-1.5",
1262
+ sidebar?.state === "collapsed" ? "pr-2 pl-4" : "pr-3.5 pl-5.5",
1263
+ frameSurfaceStyle
1264
+ ),
1265
+ children
1266
+ }
1267
+ ) : children }) });
1268
+ }
1269
+
1270
+ const sidebarLinkPlacements = ["sidebar", "more", "hidden"];
1271
+ const sidebarLinkPlacementLabels = {
1272
+ sidebar: "Always show",
1273
+ more: "Hide in More menu",
1274
+ hidden: "Never show"
1275
+ };
1276
+ const placementsSchema = z.record(z.string(), z.enum(sidebarLinkPlacements));
1277
+ const defaultVisibilityStorageKey = "mastra:sidebar:link-visibility";
1278
+ function getSidebarLinkKey(link) {
1279
+ return `${link.url}:${link.name}`;
1280
+ }
1281
+ function getSidebarVisibilityKey(sectionKey, link) {
1282
+ return `${sectionKey}:${link.name}`;
1283
+ }
1284
+ function getDefaultPlacement(link, optionalLinkCount) {
1285
+ const visible = link.defaultVisible ?? optionalLinkCount < 2;
1286
+ return visible ? "sidebar" : "more";
1287
+ }
1288
+ function isSidebarLinkPlacement(value) {
1289
+ return sidebarLinkPlacements.some((placement) => placement === value);
1290
+ }
1291
+
1292
+ function SidebarCustomizeDialog({
1293
+ open,
1294
+ onOpenChange,
1295
+ returnFocusRef,
1296
+ sections,
1297
+ placementOf,
1298
+ onPlacementChange
1299
+ }) {
1300
+ const baseId = useId();
1301
+ const customizableSections = sections.filter((section) => (section.moreLinks?.length ?? 0) > 0);
1302
+ return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs(DialogContent, { size: "md", finalFocus: returnFocusRef, children: [
1303
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [
1304
+ /* @__PURE__ */ jsx(DialogTitle, { children: "Customize sidebar" }),
1305
+ /* @__PURE__ */ jsx(DialogDescription, { children: "Choose where each optional link appears. Changes save automatically in this browser." })
1306
+ ] }),
1307
+ /* @__PURE__ */ jsx(DialogBody, { className: "space-y-5", children: customizableSections.map((section) => {
1308
+ const links = section.moreLinks ?? [];
1309
+ const headingId = section.title ? `${baseId}-${section.key}` : void 0;
1310
+ return /* @__PURE__ */ jsxs(
1311
+ "section",
1312
+ {
1313
+ "aria-labelledby": headingId,
1314
+ "aria-label": headingId ? void 0 : section.key,
1315
+ className: "space-y-2",
1316
+ children: [
1317
+ section.title ? /* @__PURE__ */ jsx(Txt, { as: "h3", id: headingId, variant: "label", tone: "muted", children: section.title }) : null,
1318
+ /* @__PURE__ */ jsx("ul", { className: "divide-y divide-border rounded-lg border border-border", children: links.map((link) => /* @__PURE__ */ jsxs("li", { className: "flex min-h-11 items-center gap-2.5 py-1.5 pr-1.5 pl-3", children: [
1319
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "flex shrink-0 text-muted-foreground [&_svg]:size-4", children: link.icon }),
1320
+ /* @__PURE__ */ jsx(Txt, { as: "span", variant: "body-sm", className: "min-w-0 flex-1 truncate", children: link.name }),
1321
+ /* @__PURE__ */ jsxs(
1322
+ Select,
1323
+ {
1324
+ value: placementOf(section.key, link, links.length),
1325
+ onValueChange: (placement) => {
1326
+ if (isSidebarLinkPlacement(placement)) onPlacementChange(section.key, link, placement);
1327
+ },
1328
+ children: [
1329
+ /* @__PURE__ */ jsx(
1330
+ SelectTrigger,
1331
+ {
1332
+ size: "sm",
1333
+ variant: "ghost",
1334
+ className: "w-44 shrink-0",
1335
+ "aria-label": `${link.name} placement`,
1336
+ children: /* @__PURE__ */ jsx(SelectValue, {})
1337
+ }
1338
+ ),
1339
+ /* @__PURE__ */ jsx(SelectContent, { children: sidebarLinkPlacements.map((placement) => /* @__PURE__ */ jsx(SelectItem, { value: placement, children: sidebarLinkPlacementLabels[placement] }, placement)) })
1340
+ ]
1341
+ }
1342
+ )
1343
+ ] }, getSidebarLinkKey(link))) })
1344
+ ]
1345
+ },
1346
+ section.key
1347
+ );
1348
+ }) })
1349
+ ] }) });
1350
+ }
1351
+
1352
+ function SidebarSectionLink({ link, activeCandidates, level = 0, isActive, ...props }) {
1353
+ const childLinks = link.children ?? [];
1354
+ return /* @__PURE__ */ jsx(
1355
+ SidebarNavLink,
1356
+ {
1357
+ ...props,
1358
+ link,
1359
+ isActive: isActive?.(link, activeCandidates) ?? link.isActive,
1360
+ level,
1361
+ subItems: childLinks.length > 0 ? /* @__PURE__ */ jsx(SidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsx(
1362
+ SidebarSectionLink,
1363
+ {
1364
+ link: child,
1365
+ activeCandidates,
1366
+ level: level + 1,
1367
+ isActive
1368
+ },
1369
+ getSidebarLinkKey(child)
1370
+ )) }) : null
1371
+ }
1372
+ );
1373
+ }
1374
+
1375
+ function SidebarOptionalLink({
1376
+ link,
1377
+ activeCandidates,
1378
+ isActive,
1379
+ placement,
1380
+ onPlacementChange,
1381
+ onCustomize
1382
+ }) {
1383
+ const itemRef = useRef(null);
1384
+ return /* @__PURE__ */ jsxs(ContextMenu, { children: [
1385
+ /* @__PURE__ */ jsx(
1386
+ ContextMenu.Trigger,
1387
+ {
1388
+ ref: (node) => {
1389
+ itemRef.current = node;
1390
+ },
1391
+ render: /* @__PURE__ */ jsx(SidebarSectionLink, { link, activeCandidates, isActive })
1392
+ }
1393
+ ),
1394
+ /* @__PURE__ */ jsxs(ContextMenu.Content, { "aria-label": `${link.name} options`, children: [
1395
+ /* @__PURE__ */ jsx(
1396
+ ContextMenu.RadioGroup,
1397
+ {
1398
+ value: placement,
1399
+ onValueChange: (value) => {
1400
+ if (isSidebarLinkPlacement(value)) onPlacementChange(value);
1401
+ },
1402
+ children: sidebarLinkPlacements.map((option) => /* @__PURE__ */ jsx(ContextMenu.RadioItem, { value: option, children: sidebarLinkPlacementLabels[option] }, option))
1403
+ }
1404
+ ),
1405
+ /* @__PURE__ */ jsx(ContextMenu.Separator, {}),
1406
+ /* @__PURE__ */ jsx(ContextMenu.Item, { onClick: () => onCustomize(itemRef.current?.querySelector("a") ?? null), children: "Customize sidebar…" })
1407
+ ] })
1408
+ ] });
1409
+ }
1410
+
1411
+ function SidebarMoreLinks({
1412
+ links,
1413
+ activeCandidates,
1414
+ isActive,
1415
+ placementOf,
1416
+ onPlacementChange,
1417
+ onCustomize
1418
+ }) {
1419
+ const context = useMaybeSidebarState();
1420
+ const Link = context?.LinkComponent ?? "a";
1421
+ const linkIsActive = (link) => isActive?.(link, activeCandidates) ?? link.isActive ?? false;
1422
+ const shownLinks = links.filter((link) => linkIsActive(link) || placementOf(link) === "sidebar");
1423
+ const moreMenuLinks = links.filter((link) => !shownLinks.includes(link) && placementOf(link) === "more");
1424
+ const isCustomized = links.some((link) => placementOf(link) !== getDefaultPlacement(link, links.length));
1425
+ const hasMoreRow = links.length > 1 || moreMenuLinks.length > 0 || isCustomized;
1426
+ const moreTriggerRef = useRef(null);
1427
+ function renderMenuLink(link, nested = false) {
1428
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1429
+ /* @__PURE__ */ jsxs(
1430
+ DropdownMenu.Item,
1431
+ {
1432
+ nativeButton: false,
1433
+ inset: nested,
1434
+ render: /* @__PURE__ */ jsx(
1435
+ Link,
1436
+ {
1437
+ href: link.url,
1438
+ .../^(https?:)?\/\//.test(link.url) ? { target: "_blank", rel: "noreferrer" } : {}
1439
+ }
1440
+ ),
1441
+ "aria-current": linkIsActive(link) ? "page" : void 0,
1442
+ children: [
1443
+ link.icon,
1444
+ link.name
1445
+ ]
1446
+ }
1447
+ ),
1448
+ link.children?.map((child) => renderMenuLink(child, true))
1449
+ ] }, getSidebarLinkKey(link));
1450
+ }
1451
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1452
+ shownLinks.map((link) => /* @__PURE__ */ jsx(
1453
+ SidebarOptionalLink,
1454
+ {
1455
+ link,
1456
+ activeCandidates,
1457
+ isActive,
1458
+ placement: placementOf(link),
1459
+ onPlacementChange: (placement) => onPlacementChange(link, placement),
1460
+ onCustomize: (returnFocusTo) => onCustomize(returnFocusTo, () => moreTriggerRef.current)
1461
+ },
1462
+ getSidebarLinkKey(link)
1463
+ )),
1464
+ hasMoreRow ? /* @__PURE__ */ jsxs(DropdownMenu, { modal: false, children: [
1465
+ /* @__PURE__ */ jsx(
1466
+ SidebarNavLink,
1467
+ {
1468
+ link: { name: "More", url: "", icon: /* @__PURE__ */ jsx(MoreHorizontalIcon, {}) },
1469
+ render: /* @__PURE__ */ jsxs(DropdownMenu.Trigger, { ref: moreTriggerRef, render: /* @__PURE__ */ jsx("button", { type: "button" }), "aria-label": "More", children: [
1470
+ /* @__PURE__ */ jsx(MoreHorizontalIcon, { "aria-hidden": "true" }),
1471
+ /* @__PURE__ */ jsx(SidebarNavLabel, { children: "More" })
1472
+ ] })
1473
+ }
1474
+ ),
1475
+ /* @__PURE__ */ jsxs(DropdownMenu.Content, { align: "start", "aria-label": "More navigation", className: "min-w-44", children: [
1476
+ moreMenuLinks.map((link) => renderMenuLink(link)),
1477
+ moreMenuLinks.length > 0 && /* @__PURE__ */ jsx(DropdownMenu.Separator, {}),
1478
+ /* @__PURE__ */ jsxs(DropdownMenu.Item, { onClick: () => onCustomize(moreTriggerRef.current, () => moreTriggerRef.current), children: [
1479
+ /* @__PURE__ */ jsx(Settings2Icon, {}),
1480
+ "Customize sidebar"
1481
+ ] })
1482
+ ] })
1483
+ ] }) : null
1484
+ ] });
1485
+ }
1486
+
1487
+ function SidebarSectionsContent({
1488
+ sections,
1489
+ isActive,
1490
+ className,
1491
+ visibilityStorageKey
1492
+ }) {
1493
+ const baseId = useId();
1494
+ const [customizeOpen, setCustomizeOpen] = useState(false);
1495
+ const customizeReturnFocusRef = useRef(null);
1496
+ const getCustomizeFallbackRef = useRef(() => null);
1497
+ const [placements, setPlacements] = useLocalStorageState({
1498
+ initialKey: visibilityStorageKey,
1499
+ defaultValue: {},
1500
+ schema: placementsSchema
1501
+ });
1502
+ function placementOf(sectionKey, link, optionalLinkCount) {
1503
+ return placements[getSidebarVisibilityKey(sectionKey, link)] ?? getDefaultPlacement(link, optionalLinkCount);
1504
+ }
1505
+ function openCustomize(returnFocusTo, getMoreTrigger) {
1506
+ customizeReturnFocusRef.current = returnFocusTo;
1507
+ getCustomizeFallbackRef.current = getMoreTrigger;
1508
+ setCustomizeOpen(true);
1509
+ }
1510
+ function changeCustomizeOpen(open) {
1511
+ if (!open && !customizeReturnFocusRef.current?.isConnected) {
1512
+ customizeReturnFocusRef.current = getCustomizeFallbackRef.current();
1513
+ }
1514
+ setCustomizeOpen(open);
1515
+ }
1516
+ function changePlacement(sectionKey, link, placement) {
1517
+ setPlacements((current) => ({ ...current, [getSidebarVisibilityKey(sectionKey, link)]: placement }));
1518
+ }
1519
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1520
+ sections.map((section) => {
1521
+ const showSeparator = section.links.length > 0 && section.separator;
1522
+ const headerId = section.title ? `${baseId}-${section.key}` : void 0;
1523
+ const moreLinks = section.moreLinks ?? [];
1524
+ const activeCandidates = [...section.links, ...moreLinks];
1525
+ return /* @__PURE__ */ jsxs(
1526
+ SidebarNavSection,
1527
+ {
1528
+ className,
1529
+ "aria-labelledby": headerId,
1530
+ "aria-label": !headerId ? section.key : void 0,
1531
+ children: [
1532
+ showSeparator ? /* @__PURE__ */ jsx(SidebarNavSeparator, { className: "[&:after]:border-border" }) : null,
1533
+ section.title ? /* @__PURE__ */ jsx(SidebarNavHeader, { id: headerId, href: section.href, isActive: section.isHeaderActive, children: section.title }) : null,
1534
+ /* @__PURE__ */ jsxs(SidebarNavList, { children: [
1535
+ section.links.map((link) => /* @__PURE__ */ jsx(
1536
+ SidebarSectionLink,
1537
+ {
1538
+ link,
1539
+ activeCandidates,
1540
+ isActive
1541
+ },
1542
+ getSidebarLinkKey(link)
1543
+ )),
1544
+ moreLinks.length > 0 ? /* @__PURE__ */ jsx(
1545
+ SidebarMoreLinks,
1546
+ {
1547
+ links: moreLinks,
1548
+ activeCandidates,
1549
+ isActive,
1550
+ placementOf: (link) => placementOf(section.key, link, moreLinks.length),
1551
+ onPlacementChange: (link, placement) => changePlacement(section.key, link, placement),
1552
+ onCustomize: openCustomize
1553
+ }
1554
+ ) : null
1555
+ ] })
1556
+ ]
1557
+ },
1558
+ section.key
1559
+ );
1560
+ }),
1561
+ /* @__PURE__ */ jsx(
1562
+ SidebarCustomizeDialog,
1563
+ {
1564
+ open: customizeOpen,
1565
+ onOpenChange: changeCustomizeOpen,
1566
+ returnFocusRef: customizeReturnFocusRef,
1567
+ sections,
1568
+ placementOf,
1569
+ onPlacementChange: changePlacement
1570
+ }
1571
+ )
1572
+ ] });
1573
+ }
1574
+
1575
+ function SidebarSections({
1576
+ visibilityStorageKey = defaultVisibilityStorageKey,
1577
+ ...props
1578
+ }) {
1579
+ return /* @__PURE__ */ jsx(SidebarSectionsContent, { ...props, visibilityStorageKey }, visibilityStorageKey);
1580
+ }
1581
+
1582
+ const Sidebar = Object.assign(SidebarRoot, {
1583
+ Brand: SidebarBrand,
1584
+ CommandHeader: SidebarCommandHeader,
1585
+ Footer: SidebarFooter,
1586
+ FooterMeta: SidebarFooterMeta,
1587
+ Header: SidebarHeader,
1588
+ Meter: SidebarMeter,
1589
+ MobileTrigger: SidebarMobileTrigger,
1590
+ Nav: SidebarNav,
1591
+ NavHeader: SidebarNavHeader,
1592
+ NavLabel: SidebarNavLabel,
1593
+ NavLink: SidebarNavLink,
1594
+ NavList: SidebarNavList,
1595
+ NavSection: SidebarNavSection,
1596
+ NavSeparator: SidebarNavSeparator,
1597
+ NavStack: SidebarNavStack,
1598
+ Provider: SidebarProvider,
1599
+ SearchTrigger: SidebarSearchTrigger,
1600
+ Sections: SidebarSections,
1601
+ Trigger: SidebarTrigger
1602
+ });
1603
+
1604
+ function getIsLinkActive(link, pathname, siblings = []) {
1605
+ const matches = (url) => pathname === url || pathname.startsWith(url + "/");
1606
+ const flattenLinks = (links) => links.flatMap((item) => [item, ...flattenLinks(item.children ?? [])]);
1607
+ if (!matches(link.url)) return false;
1608
+ const competingLinks = [...flattenLinks(link.children ?? []), ...flattenLinks(siblings)];
1609
+ return !competingLinks.some(
1610
+ (other) => other.url !== link.url && other.url.length > link.url.length && matches(other.url)
1611
+ );
1612
+ }
1613
+
1614
+ export { Sidebar, SidebarBrand, SidebarCommandHeader, SidebarFooter, SidebarFooterMeta, SidebarHeader, SidebarMeter, SidebarMobileTrigger, SidebarNav, SidebarNavHeader, SidebarNavLink, SidebarNavStack, SidebarProvider, SidebarRoot, SidebarSearchTrigger, SidebarSections, SidebarTrigger, getIsLinkActive, navItemClasses, useMaybeSidebar, useMaybeSidebarState, useMobileDrawer, useSidebar };
1615
+ //# sourceMappingURL=Sidebar.es.js.map