@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,1641 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ require('../Sidebar.css');const jsxRuntime = require('react/jsx-runtime');
6
+ const utils_cn = require('../cn-DG0X1KEP.cjs');
7
+ const React = require('react');
8
+ const Txt = require('../Txt-DFPibRb3.cjs');
9
+ const primitives_raisedSurface = require('../primitives/raised-surface.cjs.js');
10
+ const reactVisuallyHidden = require('@radix-ui/react-visually-hidden');
11
+ const lucideReact = require('lucide-react');
12
+ const kbd = require('../kbd-BptPsKP6.cjs');
13
+ const tooltip = require('../tooltip-DIZ5oqjV.cjs');
14
+ const primitives_transitions = require('../primitives/transitions.cjs.js');
15
+ const primitives_typography = require('../primitives/typography.cjs.js');
16
+ const scrollArea = require('../scroll-area-gN-e805H.cjs');
17
+ const index = require('../index-C-fBJhpb.cjs');
18
+ const primitives_controlSize = require('../primitives/control-size.cjs.js');
19
+ const drawer = require('../drawer-DnXudVbm.cjs');
20
+ const primitives_resizeHandleIndicator = require('../primitives/resize-handle-indicator.cjs.js');
21
+ const v4 = require('zod/v4');
22
+ const dialog = require('../dialog-c2AhB8HM.cjs');
23
+ const select = require('../select-KV77JIvp.cjs');
24
+ const contextMenu = require('../context-menu-rZEMPP12.cjs');
25
+ const dropdownMenu = require('../dropdown-menu-j2y37TL5.cjs');
26
+ const hooks_useLocalStorageState = require('../hooks/use-local-storage-state.cjs.js');
27
+
28
+ function SidebarFooter({ className, children, ...props }) {
29
+ return /* @__PURE__ */ jsxRuntime.jsx("footer", { "data-slot": "sidebar-footer", className: utils_cn.cn("mt-auto shrink-0 space-y-1.5 pb-2", className), ...props, children });
30
+ }
31
+
32
+ const SidebarContext = React.createContext(null);
33
+ const MobileDrawerContext = React.createContext(null);
34
+ function useMaybeSidebarState() {
35
+ return React.useContext(SidebarContext);
36
+ }
37
+ function useSidebar() {
38
+ const ctx = React.useContext(SidebarContext);
39
+ const drawer = React.useContext(MobileDrawerContext);
40
+ if (!ctx || !drawer) {
41
+ throw new Error("useSidebar must be used within a SidebarProvider.");
42
+ }
43
+ return { ...ctx, ...drawer };
44
+ }
45
+ function useMaybeSidebar() {
46
+ const ctx = React.useContext(SidebarContext);
47
+ const drawer = React.useContext(MobileDrawerContext);
48
+ if (!ctx || !drawer) return null;
49
+ return { ...ctx, ...drawer };
50
+ }
51
+ function useMobileDrawer() {
52
+ const drawer = React.useContext(MobileDrawerContext);
53
+ if (!drawer) throw new Error("useMobileDrawer must be used within a SidebarProvider.");
54
+ return drawer;
55
+ }
56
+
57
+ const SidebarFooterMeta = React.forwardRef(function SidebarFooterMeta2({ className, children, action, ...props }, ref) {
58
+ const { state } = useSidebar();
59
+ return /* @__PURE__ */ jsxRuntime.jsxs(
60
+ "div",
61
+ {
62
+ ref,
63
+ "data-slot": "sidebar-footer-meta",
64
+ "data-state": state,
65
+ className: utils_cn.cn(
66
+ "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",
67
+ "transition-[grid-template-columns] duration-slow ease-out-custom motion-reduce:transition-none",
68
+ state === "collapsed" && "grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] px-0",
69
+ className
70
+ ),
71
+ ...props,
72
+ children: [
73
+ /* @__PURE__ */ jsxRuntime.jsx(
74
+ "div",
75
+ {
76
+ "aria-hidden": state === "collapsed",
77
+ className: utils_cn.cn(
78
+ "min-w-0 truncate transition-opacity duration-normal ease-out-custom motion-reduce:transition-none",
79
+ state === "collapsed" && "opacity-0"
80
+ ),
81
+ children
82
+ }
83
+ ),
84
+ action,
85
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true })
86
+ ]
87
+ }
88
+ );
89
+ });
90
+
91
+ 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")`;
92
+ const CARD_HEIGHT = 76;
93
+ const BLOOM_HEIGHT = 100;
94
+ const BLOOM_HOLD_Y = 60;
95
+ const BLOOM_HOLD_X = 22.5;
96
+ const GRAIN_OPACITY = 0.18;
97
+ const GRAIN_SIZE = 110;
98
+ const FALLOFF_RAMP = [0, 0.08, 0.16, 0.25, 0.34, 0.44, 0.55, 0.66, 0.78, 0.89, 1];
99
+ const TONES = {
100
+ neutral: { colorVar: "--foreground", peak: 0.08, grain: true, text: "text-muted-foreground" },
101
+ warning: {
102
+ colorVar: "--warning-indicator",
103
+ peak: 0.16,
104
+ grain: false,
105
+ text: "text-warning-foreground"
106
+ },
107
+ danger: {
108
+ colorVar: "--destructive-indicator",
109
+ peak: 0.16,
110
+ grain: false,
111
+ text: "text-destructive-foreground"
112
+ }
113
+ };
114
+ function cubicFalloff(position) {
115
+ const inverse = 1 - position;
116
+ return inverse * inverse * inverse;
117
+ }
118
+ function easedBloom(colorVar, peak) {
119
+ const stops = FALLOFF_RAMP.map((position) => {
120
+ const alpha = (peak * cubicFalloff(position) * 100).toFixed(2);
121
+ return `color-mix(in oklch, var(${colorVar}) ${alpha}%, transparent) ${(position * 100).toFixed(0)}%`;
122
+ });
123
+ return `linear-gradient(to right, ${stops.join(", ")})`;
124
+ }
125
+ function easedMask(direction, hold) {
126
+ const stops = FALLOFF_RAMP.map((position) => {
127
+ const offset = (hold + (100 - hold) * position).toFixed(2);
128
+ return `rgb(0 0 0 / ${cubicFalloff(position).toFixed(3)}) ${offset}%`;
129
+ });
130
+ return `linear-gradient(${direction}, rgb(0 0 0 / 1) 0%, ${stops.join(", ")})`;
131
+ }
132
+ const BLOOM_MASK = `${easedMask("to bottom", BLOOM_HOLD_Y)}, ${easedMask("to right", BLOOM_HOLD_X)}`;
133
+ function Bloom({ tone }) {
134
+ const current = TONES[tone];
135
+ return /* @__PURE__ */ jsxRuntime.jsx(
136
+ "span",
137
+ {
138
+ "aria-hidden": true,
139
+ "data-slot": "sidebar-meter-bloom",
140
+ className: "pointer-events-none absolute inset-x-0 top-0 -z-10",
141
+ style: {
142
+ height: BLOOM_HEIGHT,
143
+ backgroundImage: easedBloom(current.colorVar, current.peak),
144
+ maskImage: BLOOM_MASK,
145
+ maskComposite: "intersect"
146
+ },
147
+ children: current.grain ? /* @__PURE__ */ jsxRuntime.jsx(
148
+ "span",
149
+ {
150
+ "aria-hidden": true,
151
+ className: "absolute inset-0",
152
+ style: {
153
+ backgroundImage: NOISE,
154
+ backgroundRepeat: "repeat",
155
+ backgroundSize: `${GRAIN_SIZE}px ${GRAIN_SIZE}px`,
156
+ opacity: GRAIN_OPACITY
157
+ }
158
+ }
159
+ ) : null
160
+ }
161
+ );
162
+ }
163
+ const SidebarMeter = React.forwardRef(function SidebarMeter2({
164
+ label,
165
+ value,
166
+ status,
167
+ tone = "neutral",
168
+ icon,
169
+ action,
170
+ href,
171
+ linkLabel,
172
+ LinkComponent: LinkProp,
173
+ state: stateProp,
174
+ className,
175
+ ...props
176
+ }, ref) {
177
+ const ctx = useMaybeSidebarState();
178
+ const state = stateProp ?? ctx?.state ?? "default";
179
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
180
+ const isCollapsed = state === "collapsed";
181
+ const current = TONES[tone];
182
+ if (isCollapsed) {
183
+ return /* @__PURE__ */ jsxRuntime.jsxs(
184
+ "div",
185
+ {
186
+ ref,
187
+ "data-slot": "sidebar-meter",
188
+ "data-tone": tone,
189
+ "data-state": state,
190
+ className: utils_cn.cn(
191
+ "relative isolate flex items-center justify-center overflow-hidden rounded-lg border border-border bg-background px-1 py-2",
192
+ className
193
+ ),
194
+ ...props,
195
+ children: [
196
+ /* @__PURE__ */ jsxRuntime.jsx(Bloom, { tone }),
197
+ href ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href, className: "absolute inset-0 rounded-lg", "aria-label": linkLabel }) : null,
198
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "meta", tone: "ink", className: "pointer-events-none relative tabular-nums", children: value })
199
+ ]
200
+ }
201
+ );
202
+ }
203
+ return /* @__PURE__ */ jsxRuntime.jsxs(
204
+ "div",
205
+ {
206
+ ref,
207
+ "data-slot": "sidebar-meter",
208
+ "data-tone": tone,
209
+ "data-state": state,
210
+ className: utils_cn.cn(
211
+ "relative isolate flex flex-col justify-center overflow-hidden rounded-lg border border-border bg-background px-3",
212
+ href && primitives_raisedSurface.surfaceStateLayerStyle,
213
+ className
214
+ ),
215
+ style: { height: CARD_HEIGHT },
216
+ ...props,
217
+ children: [
218
+ /* @__PURE__ */ jsxRuntime.jsx(Bloom, { tone }),
219
+ href ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href, className: "absolute inset-0 rounded-lg", "aria-label": linkLabel }) : null,
220
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pointer-events-none relative", children: [
221
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
222
+ tone === "neutral" ? null : icon,
223
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "column", tone: "muted", children: label }),
224
+ action ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-auto", children: action }) : null
225
+ ] }),
226
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { variant: "heading", tone: "ink", className: "mt-0.5 leading-tight tabular-nums", children: value }),
227
+ status ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-meta", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: utils_cn.cn("truncate", current.text), children: status }) }) : null
228
+ ] })
229
+ ]
230
+ }
231
+ );
232
+ });
233
+
234
+ function SidebarBrand({ logo, title, className, ...props }) {
235
+ const { state } = useSidebar();
236
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "sidebar-brand", className: utils_cn.cn("flex min-w-0 flex-1 items-center gap-2", className), ...props, children: [
237
+ logo ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: logo }) : null,
238
+ state === "collapsed" ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: title }) : /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "subheading", tone: "ink", className: "truncate font-body tracking-tight", children: title })
239
+ ] });
240
+ }
241
+
242
+ const SidebarCommandHeader = React.forwardRef(function SidebarCommandHeader2({ className, children, ...props }, ref) {
243
+ const { state, isMobile } = useSidebar();
244
+ return /* @__PURE__ */ jsxRuntime.jsx(
245
+ "header",
246
+ {
247
+ ref,
248
+ "data-slot": "sidebar-command-header",
249
+ "data-state": state,
250
+ className: utils_cn.cn(
251
+ "flex h-header-default shrink-0 items-center gap-1 overflow-hidden",
252
+ state === "collapsed" ? "px-3" : "pr-2 pl-3.5",
253
+ state !== "collapsed" && !isMobile && "w-[calc(var(--sidebar-width)-1rem)]",
254
+ state === "collapsed" && "[&_[data-slot=sidebar-search-trigger]]:hidden",
255
+ className
256
+ ),
257
+ ...props,
258
+ children
259
+ }
260
+ );
261
+ });
262
+
263
+ function SidebarTrigger({ className, onClick, ...props }) {
264
+ const { desktopState, isMobile, toggleSidebar } = useSidebar();
265
+ const isCollapsed = desktopState === "collapsed";
266
+ if (isMobile) return null;
267
+ return /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
268
+ /* @__PURE__ */ jsxRuntime.jsx(
269
+ tooltip.TooltipTrigger,
270
+ {
271
+ render: /* @__PURE__ */ jsxRuntime.jsx(
272
+ "button",
273
+ {
274
+ type: "button",
275
+ "aria-label": "Toggle sidebar",
276
+ "aria-expanded": !isCollapsed,
277
+ ...props,
278
+ onClick: (event) => {
279
+ onClick?.(event);
280
+ if (!event.defaultPrevented) toggleSidebar();
281
+ },
282
+ className: utils_cn.cn(
283
+ "flex items-center justify-center rounded-md text-muted-foreground",
284
+ "size-7",
285
+ !isCollapsed && "ml-auto",
286
+ "hover:bg-fill-subtle hover:text-foreground",
287
+ "transition-colors duration-normal ease-out-custom motion-reduce:transition-none",
288
+ primitives_transitions.focusRing,
289
+ "[&_svg]:size-4 [&_svg]:text-muted-foreground [&:hover_svg]:text-foreground",
290
+ className
291
+ ),
292
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftIcon, {})
293
+ }
294
+ )
295
+ }
296
+ ),
297
+ /* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipContent, { children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
298
+ "Toggle Sidebar",
299
+ /* @__PURE__ */ jsxRuntime.jsx(kbd.Kbd, { size: "xs", className: "bg-muted text-muted-foreground", children: "[" })
300
+ ] }) })
301
+ ] });
302
+ }
303
+
304
+ const hold = "animate-[sidebar-hold_var(--resize-dur)] motion-reduce:animate-none";
305
+ function SidebarHeader({ className, children, collapsedLogo, actions, ...props }) {
306
+ const sidebar = useMaybeSidebarState();
307
+ const collapsed = sidebar?.state === "collapsed";
308
+ const isMobile = sidebar?.isMobile ?? false;
309
+ return /* @__PURE__ */ jsxRuntime.jsxs(
310
+ "header",
311
+ {
312
+ "data-slot": "sidebar-header",
313
+ className: utils_cn.cn(
314
+ "flex h-header-default shrink-0 items-center gap-2",
315
+ collapsed ? "px-1" : "pr-2 pl-3.5",
316
+ collapsed && actions && "h-auto flex-col gap-3 py-3",
317
+ !collapsed && !isMobile && "w-[calc(var(--sidebar-width)-1rem)]",
318
+ className
319
+ ),
320
+ ...props,
321
+ children: [
322
+ collapsed && collapsedLogo ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group/collapsed-logo relative ml-0.5 grid size-9 shrink-0 place-items-center", children: [
323
+ /* @__PURE__ */ jsxRuntime.jsx(
324
+ "span",
325
+ {
326
+ className: utils_cn.cn(
327
+ hold,
328
+ "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"
329
+ ),
330
+ children: collapsedLogo
331
+ }
332
+ ),
333
+ isMobile ? null : /* @__PURE__ */ jsxRuntime.jsx(
334
+ "div",
335
+ {
336
+ className: utils_cn.cn(
337
+ hold,
338
+ "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"
339
+ ),
340
+ children: /* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, {})
341
+ }
342
+ )
343
+ ] }) : children,
344
+ actions
345
+ ]
346
+ }
347
+ );
348
+ }
349
+
350
+ const SidebarSearchTrigger = React.forwardRef(
351
+ function SidebarSearchTrigger2({ className, children, shortcut, type = "button", ...props }, ref) {
352
+ return /* @__PURE__ */ jsxRuntime.jsxs(
353
+ "button",
354
+ {
355
+ ref,
356
+ "data-slot": "sidebar-search-trigger",
357
+ type,
358
+ className: utils_cn.cn(
359
+ "group inline-flex size-control-md shrink-0 items-center justify-center gap-1.5 rounded-full border border-transparent hover:bg-fill-subtle",
360
+ primitives_typography.quietTextHover,
361
+ primitives_transitions.controlStateColorTransition,
362
+ primitives_transitions.focusRing,
363
+ "[&_svg]:size-4 [&_svg]:shrink-0",
364
+ shortcut && "w-auto px-2",
365
+ className
366
+ ),
367
+ ...props,
368
+ children: [
369
+ children,
370
+ shortcut ? /* @__PURE__ */ jsxRuntime.jsx(kbd.Kbd, { size: "xs", className: utils_cn.cn("bg-surface-overlay-soft active:scale-100", primitives_typography.quietTextHoverInGroup), children: shortcut }) : null
371
+ ]
372
+ }
373
+ );
374
+ }
375
+ );
376
+
377
+ function SidebarNav({ "aria-label": ariaLabel = "Main", children, className, ...props }) {
378
+ const isMobile = useMaybeSidebarState()?.isMobile ?? false;
379
+ return /* @__PURE__ */ jsxRuntime.jsx(
380
+ "nav",
381
+ {
382
+ "aria-label": ariaLabel,
383
+ className: utils_cn.cn(
384
+ "-mr-1.5 flex min-h-0 flex-1 flex-col",
385
+ "[&_[data-slot=scroll-area-scrollbar][data-orientation=vertical]]:w-1 [&_[data-slot=scroll-area-scrollbar][data-orientation=vertical]]:p-0",
386
+ "focus-within:[&_[data-slot=scroll-area-scrollbar][data-orientation=vertical][data-has-overflow-y]]:opacity-100",
387
+ isMobile && "[&_a]:min-h-11 [&_a]:touch-manipulation [&_button]:min-h-11 [&_button]:touch-manipulation",
388
+ className
389
+ ),
390
+ ...props,
391
+ children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { className: "min-h-0 flex-1", mask: { top: "3rem", bottom: "5rem" }, children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollAreaViewport, { className: "px-0.5", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pr-1.5", children }) }) })
392
+ }
393
+ );
394
+ }
395
+
396
+ function SidebarNavHeader({
397
+ children,
398
+ icon,
399
+ action,
400
+ className,
401
+ state: stateProp,
402
+ href,
403
+ isActive,
404
+ LinkComponent: LinkProp,
405
+ ...props
406
+ }) {
407
+ const context = useMaybeSidebarState();
408
+ const state = stateProp ?? context?.state ?? "default";
409
+ const showTitle = state === "default";
410
+ const Link = LinkProp ?? context?.LinkComponent ?? "a";
411
+ const toneClassName = isActive ? "text-foreground" : "text-muted-foreground";
412
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils_cn.cn("flex min-w-0 items-center", showTitle ? "mt-3 min-h-7" : "h-10", className), children: showTitle ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
413
+ icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: utils_cn.cn("flex shrink-0 pl-3 [&_svg]:size-4", toneClassName), children: icon }) : null,
414
+ /* @__PURE__ */ jsxRuntime.jsx(
415
+ "header",
416
+ {
417
+ ...props,
418
+ className: utils_cn.cn("max-w-full min-w-0 flex-1 truncate text-column", icon ? "pl-2" : "pl-3", toneClassName),
419
+ children: href ? /* @__PURE__ */ jsxRuntime.jsx(
420
+ Link,
421
+ {
422
+ href,
423
+ className: utils_cn.cn("block min-w-0 truncate transition-colors duration-normal", {
424
+ "hover:text-foreground": !isActive,
425
+ "text-foreground": isActive
426
+ }),
427
+ children
428
+ }
429
+ ) : children
430
+ }
431
+ ),
432
+ action
433
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
434
+ /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("header", { ...props, children }) }),
435
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "aria-hidden": "true", className: "mx-3 h-px flex-1 bg-border" }),
436
+ action ? /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children: action }) : null
437
+ ] }) });
438
+ }
439
+
440
+ function SidebarNavLabel({ children, className, state: stateProp, ...rest }) {
441
+ const ctx = useMaybeSidebarState();
442
+ const state = stateProp ?? ctx?.state ?? "default";
443
+ if (state === "collapsed") {
444
+ return /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { children });
445
+ }
446
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...rest, className: utils_cn.cn("min-w-0 flex-1 truncate text-left", className), children });
447
+ }
448
+
449
+ const navItemVariants = index.cva("flex min-w-0 cursor-pointer items-center rounded-lg text-label whitespace-nowrap", {
450
+ variants: {
451
+ size: {
452
+ sm: primitives_controlSize.controlHeight.sm,
453
+ md: primitives_controlSize.controlHeight.md,
454
+ lg: primitives_controlSize.controlHeight.lg
455
+ }
456
+ },
457
+ defaultVariants: {
458
+ size: "md"
459
+ }
460
+ });
461
+ const nestedExpandedItemClasses = (level) => {
462
+ if (level <= 0) return "gap-2 py-1 px-3";
463
+ if (level === 1) return `gap-2 py-1 pr-3 pl-8 ${primitives_controlSize.controlHeight.md}`;
464
+ if (level === 2) return `gap-2 py-1 pr-3 pl-10 ${primitives_controlSize.controlHeight.md}`;
465
+ return `gap-2 py-1 pr-3 pl-12 ${primitives_controlSize.controlHeight.md}`;
466
+ };
467
+ const idleSurface = utils_cn.cn("rounded-lg text-muted-foreground hover:text-foreground", primitives_raisedSurface.surfaceStateLayerStyle);
468
+ const activeSurface = "bg-fill text-foreground";
469
+ const featuredSurface = utils_cn.cn(
470
+ "my-2 border border-transparent bg-brand-green text-black hover:text-black hover:brightness-95"
471
+ );
472
+ const navRowSurfaceClasses = ({ isActive, isFeatured }) => utils_cn.cn(idleSurface, isActive && activeSurface, isFeatured && featuredSurface);
473
+ const navItemLayoutClasses = ({ isCollapsed, level = 0, size }) => utils_cn.cn(
474
+ navItemVariants({ size }),
475
+ "w-full justify-start",
476
+ primitives_transitions.controlStateColorTransition,
477
+ "[&_svg]:size-4 [&_svg]:shrink-0",
478
+ primitives_transitions.focusRing,
479
+ !isCollapsed && nestedExpandedItemClasses(level),
480
+ isCollapsed && "gap-0 px-[13.5px] py-0"
481
+ );
482
+ const navItemClasses = ({ isActive, isCollapsed, isFeatured, level, size } = {}) => utils_cn.cn(navItemLayoutClasses({ isCollapsed, level, size }), navRowSurfaceClasses({ isActive, isFeatured }));
483
+
484
+ function SidebarNavLink({
485
+ link,
486
+ state: stateProp,
487
+ children,
488
+ isActive,
489
+ size,
490
+ render,
491
+ action,
492
+ className,
493
+ LinkComponent: LinkProp,
494
+ level: levelProp,
495
+ subItems,
496
+ asChild = false,
497
+ ...props
498
+ }) {
499
+ if (render && asChild) {
500
+ throw new Error("SidebarNavLink accepts either `render` or `asChild`, not both.");
501
+ }
502
+ const ctx = useMaybeSidebarState();
503
+ const state = stateProp ?? ctx?.state ?? "default";
504
+ const Link = LinkProp ?? ctx?.LinkComponent ?? "a";
505
+ const isCollapsed = state === "collapsed";
506
+ const isFeatured = link?.variant === "featured";
507
+ const level = levelProp ?? (link?.indent ? 1 : 0);
508
+ const rowAction = isCollapsed ? void 0 : action;
509
+ const itemClassName = rowAction ? utils_cn.cn(navItemLayoutClasses({ level, size }), "flex-1 pr-1") : utils_cn.cn(navItemClasses({ isActive, isCollapsed, isFeatured, level, size }), link?.opensView && !isCollapsed && "pr-1");
510
+ return /* @__PURE__ */ jsxRuntime.jsxs("li", { ...props, className: utils_cn.cn("relative flex min-w-0 flex-col", className), children: [
511
+ /* @__PURE__ */ jsxRuntime.jsx(NavRowBody, { action: rowAction, surfaceClassName: navRowSurfaceClasses({ isActive, isFeatured }), children: /* @__PURE__ */ jsxRuntime.jsx(NavRowTooltip, { label: navTooltipLabel(link, isCollapsed), children: navInteractiveRow({ render, asChild, children, link, state, Link, isActive, className: itemClassName }) }) }),
512
+ !isCollapsed && subItems
513
+ ] });
514
+ }
515
+ function navInteractiveRow({
516
+ render,
517
+ asChild,
518
+ children,
519
+ link,
520
+ state,
521
+ Link,
522
+ isActive,
523
+ className
524
+ }) {
525
+ const current = isActive ? "page" : void 0;
526
+ const caret = link?.opensView && state !== "collapsed" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRightIcon, { "aria-hidden": "true", className: "!size-3.5" }) : null;
527
+ if (render || asChild) {
528
+ const slotted = render ?? children;
529
+ if (!React.isValidElement(slotted)) {
530
+ throw new Error(
531
+ "SidebarNavLink requires a valid React element child when `asChild` is true so it can apply `SlottedNavChildProps` and merge `itemClassName`."
532
+ );
533
+ }
534
+ return React.cloneElement(slotted, {
535
+ className: utils_cn.cn(className, slotted.props.className),
536
+ "aria-current": current,
537
+ children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
538
+ slotted.props.children,
539
+ caret
540
+ ] })
541
+ });
542
+ }
543
+ if (!link) return children;
544
+ const externalParams = /^(https?:)?\/\//.test(link.url) ? { target: "_blank", rel: "noreferrer" } : {};
545
+ return /* @__PURE__ */ jsxRuntime.jsxs(Link, { href: link.url, ...externalParams, "aria-current": current, className, children: [
546
+ link.icon,
547
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarNavLabel, { state, children: link.name }),
548
+ children,
549
+ caret
550
+ ] });
551
+ }
552
+ function navTooltipLabel(link, isCollapsed) {
553
+ if (!link) return void 0;
554
+ if (link.tooltipMsg) return isCollapsed ? `${link.name} | ${link.tooltipMsg}` : link.tooltipMsg;
555
+ return isCollapsed ? link.name : void 0;
556
+ }
557
+ function NavRowTooltip({ label, children }) {
558
+ if (!React.isValidElement(children)) return children;
559
+ return /* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { disabled: !label, children: [
560
+ /* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipTrigger, { render: children }),
561
+ label ? /* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipContent, { side: "right", align: "center", sideOffset: 16, children: label }) : null
562
+ ] });
563
+ }
564
+ function NavRowBody({
565
+ action,
566
+ surfaceClassName,
567
+ children
568
+ }) {
569
+ if (!action) return children;
570
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("flex min-w-0 items-center pr-1", surfaceClassName), children: [
571
+ children,
572
+ action
573
+ ] });
574
+ }
575
+
576
+ function SidebarNavList({ className, children, ...props }) {
577
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: utils_cn.cn("grid grid-cols-[minmax(0,1fr)] content-center items-start gap-0.5", className), ...props, children });
578
+ }
579
+
580
+ function SidebarNavSection({ className, children, ...props }) {
581
+ return /* @__PURE__ */ jsxRuntime.jsx("section", { className: utils_cn.cn("relative grid grid-cols-[minmax(0,1fr)] content-center items-start", className), ...props, children });
582
+ }
583
+
584
+ function SidebarNavSeparator({ className, ...props }) {
585
+ return /* @__PURE__ */ jsxRuntime.jsx(
586
+ "div",
587
+ {
588
+ role: "separator",
589
+ "aria-orientation": "horizontal",
590
+ className: utils_cn.cn(
591
+ "relative min-h-5",
592
+ '[&:after]:absolute [&:after]:inset-x-3 [&:after]:top-1/2 [&:after]:block [&:after]:h-0 [&:after]:border-t [&:after]:border-border [&:after]:content-[""]',
593
+ className
594
+ ),
595
+ ...props
596
+ }
597
+ );
598
+ }
599
+
600
+ const SidebarNavStackContext = React.createContext(void 0);
601
+ function useSidebarNavStack() {
602
+ const context = React.useContext(SidebarNavStackContext);
603
+ if (!context) throw new Error("Sidebar.NavStack components must be used within Sidebar.NavStack.");
604
+ return context;
605
+ }
606
+
607
+ function SidebarNavStackRoot({
608
+ value,
609
+ rootValue = "root",
610
+ onValueChange,
611
+ children,
612
+ className,
613
+ ...props
614
+ }) {
615
+ function closeView(returnFocusRef) {
616
+ onValueChange(rootValue);
617
+ requestAnimationFrame(() => {
618
+ const target = returnFocusRef?.current;
619
+ if (target && !target.closest("[inert]")) target.focus();
620
+ });
621
+ }
622
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarNavStackContext.Provider, { value: { activeValue: value, rootValue, closeView }, children: /* @__PURE__ */ jsxRuntime.jsx(
623
+ "div",
624
+ {
625
+ "data-slot": "sidebar-nav-stack",
626
+ "data-value": value,
627
+ className: utils_cn.cn("relative grid min-w-0 overflow-hidden", className),
628
+ ...props,
629
+ children
630
+ }
631
+ ) });
632
+ }
633
+
634
+ function sidebarNavStackPageClasses(active, page, className) {
635
+ return utils_cn.cn(
636
+ "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",
637
+ active && "relative translate-x-0 opacity-100",
638
+ !active && "pointer-events-none absolute inset-0 opacity-0",
639
+ !active && page === "root" && "-translate-x-2",
640
+ !active && page === "view" && "translate-x-2",
641
+ className
642
+ );
643
+ }
644
+
645
+ function SidebarNavStackRootView({ children, className, ...props }) {
646
+ const { state } = useSidebar();
647
+ const { activeValue, rootValue } = useSidebarNavStack();
648
+ const active = state === "collapsed" || activeValue === rootValue;
649
+ return /* @__PURE__ */ jsxRuntime.jsx(
650
+ "div",
651
+ {
652
+ ...props,
653
+ "data-slot": "sidebar-nav-stack-root",
654
+ "aria-hidden": !active,
655
+ inert: !active,
656
+ className: sidebarNavStackPageClasses(active, "root", className),
657
+ children
658
+ }
659
+ );
660
+ }
661
+
662
+ function SidebarNavStackView({
663
+ value,
664
+ title,
665
+ backLabel = "Back to main navigation",
666
+ returnFocusRef,
667
+ onBack,
668
+ children,
669
+ className,
670
+ ...props
671
+ }) {
672
+ const { state } = useSidebar();
673
+ const { activeValue, closeView } = useSidebarNavStack();
674
+ const active = state !== "collapsed" && activeValue === value;
675
+ const backRef = React.useRef(null);
676
+ const wasActiveRef = React.useRef(active);
677
+ React.useEffect(() => {
678
+ if (active && !wasActiveRef.current) backRef.current?.focus();
679
+ wasActiveRef.current = active;
680
+ }, [active]);
681
+ React.useEffect(() => {
682
+ if (!active) return;
683
+ function handleKeyDown(event) {
684
+ if (event.key !== "Escape" || event.defaultPrevented) return;
685
+ event.preventDefault();
686
+ closeView(returnFocusRef);
687
+ onBack?.();
688
+ }
689
+ document.addEventListener("keydown", handleKeyDown);
690
+ return () => document.removeEventListener("keydown", handleKeyDown);
691
+ }, [active, closeView, onBack, returnFocusRef]);
692
+ function handleBack() {
693
+ closeView(returnFocusRef);
694
+ onBack?.();
695
+ }
696
+ return /* @__PURE__ */ jsxRuntime.jsxs(
697
+ "div",
698
+ {
699
+ ...props,
700
+ "data-slot": "sidebar-nav-stack-view",
701
+ "data-value": value,
702
+ "aria-hidden": !active,
703
+ inert: !active,
704
+ className: sidebarNavStackPageClasses(active, "view", className),
705
+ children: [
706
+ /* @__PURE__ */ jsxRuntime.jsxs(
707
+ "button",
708
+ {
709
+ ref: backRef,
710
+ type: "button",
711
+ "aria-label": `${backLabel}: ${title}`,
712
+ onClick: handleBack,
713
+ className: utils_cn.cn(navItemClasses(), "mb-2 grid grid-cols-[2rem_1fr_2rem] px-1"),
714
+ children: [
715
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowLeftIcon, { className: "justify-self-center", "aria-hidden": "true" }),
716
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-center", children: title }),
717
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true" })
718
+ ]
719
+ }
720
+ ),
721
+ children
722
+ ]
723
+ }
724
+ );
725
+ }
726
+
727
+ const SidebarNavStack = Object.assign(SidebarNavStackRoot, {
728
+ Root: SidebarNavStackRootView,
729
+ View: SidebarNavStackView
730
+ });
731
+
732
+ function SidebarMobileTrigger({
733
+ className,
734
+ icon,
735
+ "aria-label": ariaLabel = "Open navigation menu",
736
+ onClick,
737
+ ...props
738
+ }) {
739
+ const { isMobile, mobileTriggerRef, setOpenMobile } = useSidebar();
740
+ return /* @__PURE__ */ jsxRuntime.jsx(
741
+ "button",
742
+ {
743
+ ref: mobileTriggerRef,
744
+ type: "button",
745
+ "aria-label": ariaLabel,
746
+ "aria-hidden": !isMobile,
747
+ tabIndex: isMobile ? 0 : -1,
748
+ "data-mobile-only": true,
749
+ ...props,
750
+ onClick: (event) => {
751
+ onClick?.(event);
752
+ if (!event.defaultPrevented) setOpenMobile(true);
753
+ },
754
+ className: utils_cn.cn(
755
+ "inline-flex size-10 items-center justify-center rounded-md",
756
+ // compound selector, not `in-*` — its `:where()` ties with a consumer's later `.inline-flex`
757
+ "[[data-sidebar-mobile='false']_&]:hidden",
758
+ "[[data-sidebar-mobile-present='true']_&]:invisible",
759
+ primitives_typography.quietTextHover,
760
+ "hover:bg-fill-subtle",
761
+ primitives_transitions.focusRing,
762
+ className
763
+ ),
764
+ children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MenuIcon, { className: "size-5" })
765
+ }
766
+ );
767
+ }
768
+
769
+ const SIDEBAR_STATE_KEY = "sidebar:state";
770
+ const SIDEBAR_WIDTH_KEY = "sidebar:width";
771
+ const SIDEBAR_WIDTH_VAR = "--sidebar-width";
772
+ const clamp = (v, lo, hi) => Math.min(hi, Math.max(lo, v));
773
+ const useIsoLayoutEffect = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
774
+ function SidebarProvider({
775
+ children,
776
+ defaultState = "default",
777
+ defaultWidth = 240,
778
+ minWidth = 200,
779
+ maxWidth = 480,
780
+ collapseBelow,
781
+ collapsedWidth = 64,
782
+ disableKeyboardShortcut = true,
783
+ storageKey,
784
+ mobileBreakpoint = 1024,
785
+ mobileWidth = 360,
786
+ LinkComponent
787
+ }) {
788
+ const safeMin = Math.max(0, Math.min(minWidth, maxWidth));
789
+ const safeMax = Math.max(safeMin, maxWidth);
790
+ const safeCollapsed = Math.max(0, Math.min(collapsedWidth, safeMax));
791
+ const safeDefault = clamp(defaultWidth, safeMin, safeMax);
792
+ const safeCollapseBelow = collapseBelow ?? safeMin;
793
+ const stateStorageKey = storageKey ? `${storageKey}:${SIDEBAR_STATE_KEY}` : SIDEBAR_STATE_KEY;
794
+ const widthStorageKey = storageKey ? `${storageKey}:${SIDEBAR_WIDTH_KEY}` : SIDEBAR_WIDTH_KEY;
795
+ const readInitial = () => {
796
+ if (typeof window === "undefined") return { state: defaultState, width: safeDefault };
797
+ try {
798
+ let nextState = defaultState;
799
+ let nextWidth = safeDefault;
800
+ const storedState = window.localStorage.getItem(stateStorageKey);
801
+ if (storedState === "collapsed" || storedState === "default") nextState = storedState;
802
+ const storedWidth = window.localStorage.getItem(widthStorageKey);
803
+ if (storedWidth !== null) {
804
+ const parsed = Number(storedWidth);
805
+ if (Number.isFinite(parsed)) nextWidth = clamp(parsed, safeMin, safeMax);
806
+ }
807
+ return { state: nextState, width: nextWidth };
808
+ } catch {
809
+ return { state: defaultState, width: safeDefault };
810
+ }
811
+ };
812
+ const initialRef = React.useRef(null);
813
+ if (initialRef.current === null) initialRef.current = readInitial();
814
+ const initial = initialRef.current;
815
+ const [state, setState] = React.useState(initial.state);
816
+ const [width, setWidthState] = React.useState(initial.width);
817
+ const [isMobile, setIsMobile] = React.useState(false);
818
+ const [openMobile, setOpenMobileState] = React.useState(false);
819
+ const [mobileDrawerPresent, setMobileDrawerPresent] = React.useState(false);
820
+ const openMobileRef = React.useRef(false);
821
+ const mobileTriggerRef = React.useRef(null);
822
+ const widthRef = React.useRef(initial.width);
823
+ const stateRef = React.useRef(initial.state);
824
+ stateRef.current = state;
825
+ const scopeRef = React.useRef(null);
826
+ React.useEffect(() => {
827
+ if (typeof window === "undefined") return;
828
+ const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);
829
+ const update = () => setIsMobile(mq.matches);
830
+ update();
831
+ mq.addEventListener("change", update);
832
+ return () => mq.removeEventListener("change", update);
833
+ }, [mobileBreakpoint]);
834
+ const setOpenMobile = React.useCallback((open) => {
835
+ openMobileRef.current = open;
836
+ if (open) setMobileDrawerPresent(true);
837
+ setOpenMobileState(open);
838
+ }, []);
839
+ React.useEffect(() => {
840
+ if (!isMobile && openMobile) {
841
+ setOpenMobile(false);
842
+ setMobileDrawerPresent(false);
843
+ }
844
+ }, [isMobile, openMobile, setOpenMobile]);
845
+ const writeCssVar = React.useCallback((px) => {
846
+ const el = scopeRef.current;
847
+ if (el) el.style.setProperty(SIDEBAR_WIDTH_VAR, `${px}px`);
848
+ }, []);
849
+ useIsoLayoutEffect(() => {
850
+ writeCssVar(state === "collapsed" ? safeCollapsed : widthRef.current);
851
+ }, [state, safeCollapsed, writeCssVar]);
852
+ const persistState = React.useCallback(
853
+ (next) => {
854
+ try {
855
+ window.localStorage.setItem(stateStorageKey, next);
856
+ } catch {
857
+ }
858
+ },
859
+ [stateStorageKey]
860
+ );
861
+ const toggleSidebar = React.useCallback(() => {
862
+ if (isMobile) {
863
+ setOpenMobile(!openMobileRef.current);
864
+ return;
865
+ }
866
+ setState((prev) => {
867
+ const next = prev === "default" ? "collapsed" : "default";
868
+ stateRef.current = next;
869
+ persistState(next);
870
+ return next;
871
+ });
872
+ }, [isMobile, persistState, setOpenMobile]);
873
+ const setWidth = React.useCallback(
874
+ (next) => {
875
+ const clamped = clamp(next, safeMin, safeMax);
876
+ widthRef.current = clamped;
877
+ writeCssVar(clamped);
878
+ },
879
+ [safeMin, safeMax, writeCssVar]
880
+ );
881
+ const collapse = React.useCallback(() => {
882
+ stateRef.current = "collapsed";
883
+ persistState("collapsed");
884
+ setState("collapsed");
885
+ }, [persistState]);
886
+ const expand = React.useCallback(() => {
887
+ stateRef.current = "default";
888
+ persistState("default");
889
+ setState("default");
890
+ }, [persistState]);
891
+ const commit = React.useCallback(() => {
892
+ setWidthState(widthRef.current);
893
+ try {
894
+ window.localStorage.setItem(stateStorageKey, stateRef.current);
895
+ window.localStorage.setItem(widthStorageKey, String(widthRef.current));
896
+ } catch {
897
+ }
898
+ }, [stateStorageKey, widthStorageKey]);
899
+ const setGestureActive = React.useCallback((active) => {
900
+ const el = scopeRef.current;
901
+ if (!el) return;
902
+ if (active) el.setAttribute("data-sidebar-gesture", "active");
903
+ else el.removeAttribute("data-sidebar-gesture");
904
+ }, []);
905
+ React.useEffect(() => {
906
+ if (disableKeyboardShortcut) return;
907
+ const onKeyDown = (ev) => {
908
+ if (ev.code !== "KeyB") return;
909
+ if (!(ev.metaKey || ev.ctrlKey)) return;
910
+ if (ev.altKey || ev.shiftKey) return;
911
+ if (ev.target instanceof HTMLElement) {
912
+ const tag = ev.target.tagName;
913
+ if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return;
914
+ if (ev.target.isContentEditable) return;
915
+ }
916
+ ev.preventDefault();
917
+ toggleSidebar();
918
+ };
919
+ window.addEventListener("keydown", onKeyDown);
920
+ return () => window.removeEventListener("keydown", onKeyDown);
921
+ }, [disableKeyboardShortcut, toggleSidebar]);
922
+ const effectiveState = isMobile ? "default" : state;
923
+ const contextValue = React.useMemo(
924
+ () => ({
925
+ state: effectiveState,
926
+ desktopState: state,
927
+ width,
928
+ minWidth: safeMin,
929
+ maxWidth: safeMax,
930
+ collapseBelow: safeCollapseBelow,
931
+ collapsedWidth: safeCollapsed,
932
+ isMobile,
933
+ toggleSidebar,
934
+ setWidth,
935
+ collapse,
936
+ expand,
937
+ commit,
938
+ setGestureActive,
939
+ LinkComponent
940
+ }),
941
+ [
942
+ effectiveState,
943
+ state,
944
+ width,
945
+ safeMin,
946
+ safeMax,
947
+ safeCollapseBelow,
948
+ safeCollapsed,
949
+ isMobile,
950
+ toggleSidebar,
951
+ setWidth,
952
+ collapse,
953
+ expand,
954
+ commit,
955
+ setGestureActive,
956
+ LinkComponent
957
+ ]
958
+ );
959
+ const drawerValue = React.useMemo(
960
+ () => ({ openMobile, mobileTriggerRef, setOpenMobile, setMobileDrawerPresent }),
961
+ [openMobile, setOpenMobile]
962
+ );
963
+ const scopeStyle = {
964
+ [SIDEBAR_WIDTH_VAR]: `${initial.state === "collapsed" ? safeCollapsed : initial.width}px`,
965
+ "--sidebar-width-mobile": `${mobileWidth}px`,
966
+ display: "contents"
967
+ };
968
+ return /* @__PURE__ */ jsxRuntime.jsx(
969
+ "div",
970
+ {
971
+ ref: scopeRef,
972
+ "data-sidebar-scope": true,
973
+ "data-sidebar-state": state,
974
+ "data-sidebar-mobile": isMobile ? "true" : "false",
975
+ "data-sidebar-mobile-present": mobileDrawerPresent ? "true" : "false",
976
+ style: scopeStyle,
977
+ suppressHydrationWarning: true,
978
+ children: /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(MobileDrawerContext.Provider, { value: drawerValue, children }) })
979
+ }
980
+ );
981
+ }
982
+
983
+ const KEYBOARD_STEP = 10;
984
+ const DRAG_THRESHOLD = 5;
985
+ function SidebarPanel({ children, className, mobileMode = "drawer" }) {
986
+ const {
987
+ state,
988
+ width,
989
+ minWidth,
990
+ maxWidth,
991
+ collapseBelow,
992
+ collapsedWidth,
993
+ isMobile,
994
+ openMobile,
995
+ mobileTriggerRef,
996
+ setOpenMobile,
997
+ setMobileDrawerPresent,
998
+ setWidth,
999
+ collapse,
1000
+ expand,
1001
+ commit,
1002
+ toggleSidebar,
1003
+ setGestureActive
1004
+ } = useSidebar();
1005
+ const isCollapsed = state === "collapsed";
1006
+ const isHidden = isCollapsed && collapsedWidth === 0;
1007
+ const draggedRef = React.useRef(false);
1008
+ const dragCleanupRef = React.useRef(null);
1009
+ React.useEffect(() => {
1010
+ return () => {
1011
+ dragCleanupRef.current?.();
1012
+ dragCleanupRef.current = null;
1013
+ };
1014
+ }, []);
1015
+ const onPointerDown = React.useCallback(
1016
+ (event) => {
1017
+ if (event.button !== 0) return;
1018
+ event.preventDefault();
1019
+ draggedRef.current = false;
1020
+ setGestureActive(true);
1021
+ const startX = event.clientX;
1022
+ const handle = event.currentTarget;
1023
+ const pointerId = event.pointerId;
1024
+ try {
1025
+ handle.setPointerCapture(pointerId);
1026
+ } catch {
1027
+ }
1028
+ const sidebarEl = handle.parentElement;
1029
+ const sidebarLeft = sidebarEl ? sidebarEl.getBoundingClientRect().left : 0;
1030
+ const prevCursor = document.body.style.cursor;
1031
+ const prevUserSelect = document.body.style.userSelect;
1032
+ const onMove = (ev) => {
1033
+ if (ev.pointerId !== pointerId) return;
1034
+ const dx = ev.clientX - startX;
1035
+ if (!draggedRef.current) {
1036
+ if (Math.abs(dx) <= DRAG_THRESHOLD) return;
1037
+ draggedRef.current = true;
1038
+ document.body.style.cursor = "col-resize";
1039
+ document.body.style.userSelect = "none";
1040
+ }
1041
+ const cursorWidth = ev.clientX - sidebarLeft;
1042
+ if (collapseBelow > 0 && cursorWidth < collapseBelow) {
1043
+ collapse();
1044
+ return;
1045
+ }
1046
+ expand();
1047
+ setWidth(cursorWidth);
1048
+ };
1049
+ const cleanup = (ev) => {
1050
+ if (ev && ev.pointerId !== pointerId) return;
1051
+ window.removeEventListener("pointermove", onMove);
1052
+ window.removeEventListener("pointerup", cleanup);
1053
+ window.removeEventListener("pointercancel", cleanup);
1054
+ document.body.style.cursor = prevCursor;
1055
+ document.body.style.userSelect = prevUserSelect;
1056
+ setGestureActive(false);
1057
+ commit();
1058
+ dragCleanupRef.current = null;
1059
+ };
1060
+ dragCleanupRef.current = () => cleanup();
1061
+ window.addEventListener("pointermove", onMove);
1062
+ window.addEventListener("pointerup", cleanup);
1063
+ window.addEventListener("pointercancel", cleanup);
1064
+ },
1065
+ [collapseBelow, setWidth, expand, collapse, commit, setGestureActive]
1066
+ );
1067
+ const onClick = React.useCallback(() => {
1068
+ if (draggedRef.current) {
1069
+ draggedRef.current = false;
1070
+ return;
1071
+ }
1072
+ toggleSidebar();
1073
+ }, [toggleSidebar]);
1074
+ const onKeyDown = React.useCallback(
1075
+ (event) => {
1076
+ switch (event.key) {
1077
+ case "Enter":
1078
+ case " ": {
1079
+ event.preventDefault();
1080
+ toggleSidebar();
1081
+ return;
1082
+ }
1083
+ case "ArrowLeft": {
1084
+ event.preventDefault();
1085
+ if (isCollapsed) return;
1086
+ setWidth(width - KEYBOARD_STEP);
1087
+ commit();
1088
+ return;
1089
+ }
1090
+ case "ArrowRight": {
1091
+ event.preventDefault();
1092
+ if (isCollapsed) {
1093
+ expand();
1094
+ commit();
1095
+ return;
1096
+ }
1097
+ setWidth(width + KEYBOARD_STEP);
1098
+ commit();
1099
+ return;
1100
+ }
1101
+ case "Home": {
1102
+ event.preventDefault();
1103
+ expand();
1104
+ setWidth(minWidth);
1105
+ commit();
1106
+ return;
1107
+ }
1108
+ case "End": {
1109
+ event.preventDefault();
1110
+ expand();
1111
+ setWidth(maxWidth);
1112
+ commit();
1113
+ return;
1114
+ }
1115
+ }
1116
+ },
1117
+ [isCollapsed, width, minWidth, maxWidth, setWidth, expand, commit, toggleSidebar]
1118
+ );
1119
+ const closeOnAnchor = React.useCallback(
1120
+ (event) => {
1121
+ if (!(event.target instanceof Element)) return;
1122
+ const anchor = event.target.closest("a");
1123
+ if (!anchor || !anchor.hasAttribute("href")) return;
1124
+ if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
1125
+ if (anchor.target === "_blank" || anchor.hasAttribute("download")) return;
1126
+ setOpenMobile(false);
1127
+ },
1128
+ [setOpenMobile]
1129
+ );
1130
+ if (isMobile) {
1131
+ return /* @__PURE__ */ jsxRuntime.jsx(
1132
+ drawer.Drawer,
1133
+ {
1134
+ side: "left",
1135
+ open: openMobile,
1136
+ onOpenChange: setOpenMobile,
1137
+ onOpenChangeComplete: (open) => {
1138
+ if (!open) setMobileDrawerPresent(false);
1139
+ },
1140
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1141
+ drawer.DrawerContent,
1142
+ {
1143
+ "data-mobile-mode": mobileMode,
1144
+ finalFocus: mobileTriggerRef,
1145
+ showCloseButton: mobileMode === "drawer",
1146
+ className: utils_cn.cn(
1147
+ "border-0 bg-sidebar text-foreground",
1148
+ 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",
1149
+ className
1150
+ ),
1151
+ children: [
1152
+ mobileMode === "takeover" ? /* @__PURE__ */ jsxRuntime.jsx(drawer.DrawerClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1153
+ "button",
1154
+ {
1155
+ type: "button",
1156
+ "aria-label": "Close",
1157
+ 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",
1158
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1159
+ "span",
1160
+ {
1161
+ className: utils_cn.cn(
1162
+ primitives_raisedSurface.overlaySurfaceStyle,
1163
+ primitives_typography.quietTextHoverInGroup,
1164
+ primitives_raisedSurface.surfaceGroupStateLayerStyle,
1165
+ "inline-flex size-9 items-center justify-center rounded-full backdrop-blur-sm group-focus-visible:ring-1 group-focus-visible:ring-border-focus"
1166
+ ),
1167
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MenuIcon, { className: "size-4" })
1168
+ }
1169
+ )
1170
+ }
1171
+ ) }) : null,
1172
+ /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(drawer.DrawerTitle, { children: "Navigation" }) }),
1173
+ /* @__PURE__ */ jsxRuntime.jsx(reactVisuallyHidden.VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(drawer.DrawerDescription, { children: "Primary site navigation drawer" }) }),
1174
+ /* @__PURE__ */ jsxRuntime.jsx(
1175
+ "div",
1176
+ {
1177
+ onClick: closeOnAnchor,
1178
+ className: utils_cn.cn(
1179
+ "flex h-full min-h-0 flex-col overflow-hidden py-2",
1180
+ mobileMode === "takeover" ? "px-4" : "px-3"
1181
+ ),
1182
+ children
1183
+ }
1184
+ )
1185
+ ]
1186
+ }
1187
+ )
1188
+ }
1189
+ );
1190
+ }
1191
+ const currentWidth = isCollapsed ? collapsedWidth : width;
1192
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1193
+ "div",
1194
+ {
1195
+ className: utils_cn.cn(
1196
+ "sidebar-layout group/sidebar t-resize relative min-h-0 shrink-0 self-stretch bg-sidebar text-foreground",
1197
+ "w-(--sidebar-width)",
1198
+ "in-data-[sidebar-gesture=active]:transition-none",
1199
+ className,
1200
+ isHidden && "border-r-0 border-transparent"
1201
+ ),
1202
+ children: [
1203
+ /* @__PURE__ */ jsxRuntime.jsx(
1204
+ "div",
1205
+ {
1206
+ className: utils_cn.cn(
1207
+ "flex h-full min-h-0 flex-col overflow-hidden",
1208
+ "transition-opacity duration-200 motion-reduce:transition-none",
1209
+ "px-2",
1210
+ isHidden && "pointer-events-none px-0 opacity-0"
1211
+ ),
1212
+ children
1213
+ }
1214
+ ),
1215
+ /* @__PURE__ */ jsxRuntime.jsx(
1216
+ "div",
1217
+ {
1218
+ role: "separator",
1219
+ "aria-orientation": "vertical",
1220
+ "aria-valuenow": isCollapsed ? void 0 : currentWidth,
1221
+ "aria-valuemin": isCollapsed ? void 0 : minWidth,
1222
+ "aria-valuemax": isCollapsed ? void 0 : maxWidth,
1223
+ "aria-valuetext": isCollapsed ? "collapsed" : `${currentWidth} pixels`,
1224
+ "aria-label": `Resize sidebar. Arrow keys to resize, Enter to ${isCollapsed ? "expand" : "collapse"}.`,
1225
+ tabIndex: 0,
1226
+ onPointerDown,
1227
+ onClick,
1228
+ onKeyDown,
1229
+ className: utils_cn.cn(
1230
+ "group absolute top-0 -right-1 z-10 h-full w-2 cursor-col-resize touch-none",
1231
+ "flex items-center justify-center",
1232
+ "focus-visible:outline-hidden"
1233
+ ),
1234
+ children: /* @__PURE__ */ jsxRuntime.jsx(
1235
+ primitives_resizeHandleIndicator.ResizeHandleIndicator,
1236
+ {
1237
+ className: utils_cn.cn(
1238
+ "via-foreground/30 group-hover:opacity-100",
1239
+ "group-focus-visible:via-border-focus group-focus-visible:opacity-100",
1240
+ "in-data-[sidebar-gesture=active]:via-foreground/45 in-data-[sidebar-gesture=active]:opacity-100"
1241
+ )
1242
+ }
1243
+ )
1244
+ }
1245
+ )
1246
+ ]
1247
+ }
1248
+ );
1249
+ }
1250
+
1251
+ function SidebarRoot({
1252
+ "aria-label": ariaLabel = "Sidebar",
1253
+ mobileMode = "takeover",
1254
+ variant = "default",
1255
+ children,
1256
+ ...props
1257
+ }) {
1258
+ const sidebar = useMaybeSidebarState();
1259
+ const isRaised = variant === "raised" && !sidebar?.isMobile;
1260
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { "aria-label": ariaLabel, className: "contents", children: /* @__PURE__ */ jsxRuntime.jsx(SidebarPanel, { mobileMode, ...props, children: isRaised ? /* @__PURE__ */ jsxRuntime.jsx(
1261
+ "div",
1262
+ {
1263
+ "data-slot": "sidebar-surface",
1264
+ className: utils_cn.cn(
1265
+ "my-2 -mr-2 -ml-4 flex min-h-0 flex-1 flex-col overflow-hidden rounded-r-xl py-1.5",
1266
+ sidebar?.state === "collapsed" ? "pr-2 pl-4" : "pr-3.5 pl-5.5",
1267
+ primitives_raisedSurface.frameSurfaceStyle
1268
+ ),
1269
+ children
1270
+ }
1271
+ ) : children }) });
1272
+ }
1273
+
1274
+ const sidebarLinkPlacements = ["sidebar", "more", "hidden"];
1275
+ const sidebarLinkPlacementLabels = {
1276
+ sidebar: "Always show",
1277
+ more: "Hide in More menu",
1278
+ hidden: "Never show"
1279
+ };
1280
+ const placementsSchema = v4.z.record(v4.z.string(), v4.z.enum(sidebarLinkPlacements));
1281
+ const defaultVisibilityStorageKey = "mastra:sidebar:link-visibility";
1282
+ function getSidebarLinkKey(link) {
1283
+ return `${link.url}:${link.name}`;
1284
+ }
1285
+ function getSidebarVisibilityKey(sectionKey, link) {
1286
+ return `${sectionKey}:${link.name}`;
1287
+ }
1288
+ function getDefaultPlacement(link, optionalLinkCount) {
1289
+ const visible = link.defaultVisible ?? optionalLinkCount < 2;
1290
+ return visible ? "sidebar" : "more";
1291
+ }
1292
+ function isSidebarLinkPlacement(value) {
1293
+ return sidebarLinkPlacements.some((placement) => placement === value);
1294
+ }
1295
+
1296
+ function SidebarCustomizeDialog({
1297
+ open,
1298
+ onOpenChange,
1299
+ returnFocusRef,
1300
+ sections,
1301
+ placementOf,
1302
+ onPlacementChange
1303
+ }) {
1304
+ const baseId = React.useId();
1305
+ const customizableSections = sections.filter((section) => (section.moreLinks?.length ?? 0) > 0);
1306
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { size: "md", finalFocus: returnFocusRef, children: [
1307
+ /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogHeader, { children: [
1308
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: "Customize sidebar" }),
1309
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogDescription, { children: "Choose where each optional link appears. Changes save automatically in this browser." })
1310
+ ] }),
1311
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogBody, { className: "space-y-5", children: customizableSections.map((section) => {
1312
+ const links = section.moreLinks ?? [];
1313
+ const headingId = section.title ? `${baseId}-${section.key}` : void 0;
1314
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1315
+ "section",
1316
+ {
1317
+ "aria-labelledby": headingId,
1318
+ "aria-label": headingId ? void 0 : section.key,
1319
+ className: "space-y-2",
1320
+ children: [
1321
+ section.title ? /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "h3", id: headingId, variant: "label", tone: "muted", children: section.title }) : null,
1322
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "divide-y divide-border rounded-lg border border-border", children: links.map((link) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex min-h-11 items-center gap-2.5 py-1.5 pr-1.5 pl-3", children: [
1323
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "flex shrink-0 text-muted-foreground [&_svg]:size-4", children: link.icon }),
1324
+ /* @__PURE__ */ jsxRuntime.jsx(Txt.Txt, { as: "span", variant: "body-sm", className: "min-w-0 flex-1 truncate", children: link.name }),
1325
+ /* @__PURE__ */ jsxRuntime.jsxs(
1326
+ select.Select,
1327
+ {
1328
+ value: placementOf(section.key, link, links.length),
1329
+ onValueChange: (placement) => {
1330
+ if (isSidebarLinkPlacement(placement)) onPlacementChange(section.key, link, placement);
1331
+ },
1332
+ children: [
1333
+ /* @__PURE__ */ jsxRuntime.jsx(
1334
+ select.SelectTrigger,
1335
+ {
1336
+ size: "sm",
1337
+ variant: "ghost",
1338
+ className: "w-44 shrink-0",
1339
+ "aria-label": `${link.name} placement`,
1340
+ children: /* @__PURE__ */ jsxRuntime.jsx(select.SelectValue, {})
1341
+ }
1342
+ ),
1343
+ /* @__PURE__ */ jsxRuntime.jsx(select.SelectContent, { children: sidebarLinkPlacements.map((placement) => /* @__PURE__ */ jsxRuntime.jsx(select.SelectItem, { value: placement, children: sidebarLinkPlacementLabels[placement] }, placement)) })
1344
+ ]
1345
+ }
1346
+ )
1347
+ ] }, getSidebarLinkKey(link))) })
1348
+ ]
1349
+ },
1350
+ section.key
1351
+ );
1352
+ }) })
1353
+ ] }) });
1354
+ }
1355
+
1356
+ function SidebarSectionLink({ link, activeCandidates, level = 0, isActive, ...props }) {
1357
+ const childLinks = link.children ?? [];
1358
+ return /* @__PURE__ */ jsxRuntime.jsx(
1359
+ SidebarNavLink,
1360
+ {
1361
+ ...props,
1362
+ link,
1363
+ isActive: isActive?.(link, activeCandidates) ?? link.isActive,
1364
+ level,
1365
+ subItems: childLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(SidebarNavList, { className: "mt-0.5", children: childLinks.map((child) => /* @__PURE__ */ jsxRuntime.jsx(
1366
+ SidebarSectionLink,
1367
+ {
1368
+ link: child,
1369
+ activeCandidates,
1370
+ level: level + 1,
1371
+ isActive
1372
+ },
1373
+ getSidebarLinkKey(child)
1374
+ )) }) : null
1375
+ }
1376
+ );
1377
+ }
1378
+
1379
+ function SidebarOptionalLink({
1380
+ link,
1381
+ activeCandidates,
1382
+ isActive,
1383
+ placement,
1384
+ onPlacementChange,
1385
+ onCustomize
1386
+ }) {
1387
+ const itemRef = React.useRef(null);
1388
+ return /* @__PURE__ */ jsxRuntime.jsxs(contextMenu.ContextMenu, { children: [
1389
+ /* @__PURE__ */ jsxRuntime.jsx(
1390
+ contextMenu.ContextMenu.Trigger,
1391
+ {
1392
+ ref: (node) => {
1393
+ itemRef.current = node;
1394
+ },
1395
+ render: /* @__PURE__ */ jsxRuntime.jsx(SidebarSectionLink, { link, activeCandidates, isActive })
1396
+ }
1397
+ ),
1398
+ /* @__PURE__ */ jsxRuntime.jsxs(contextMenu.ContextMenu.Content, { "aria-label": `${link.name} options`, children: [
1399
+ /* @__PURE__ */ jsxRuntime.jsx(
1400
+ contextMenu.ContextMenu.RadioGroup,
1401
+ {
1402
+ value: placement,
1403
+ onValueChange: (value) => {
1404
+ if (isSidebarLinkPlacement(value)) onPlacementChange(value);
1405
+ },
1406
+ children: sidebarLinkPlacements.map((option) => /* @__PURE__ */ jsxRuntime.jsx(contextMenu.ContextMenu.RadioItem, { value: option, children: sidebarLinkPlacementLabels[option] }, option))
1407
+ }
1408
+ ),
1409
+ /* @__PURE__ */ jsxRuntime.jsx(contextMenu.ContextMenu.Separator, {}),
1410
+ /* @__PURE__ */ jsxRuntime.jsx(contextMenu.ContextMenu.Item, { onClick: () => onCustomize(itemRef.current?.querySelector("a") ?? null), children: "Customize sidebar…" })
1411
+ ] })
1412
+ ] });
1413
+ }
1414
+
1415
+ function SidebarMoreLinks({
1416
+ links,
1417
+ activeCandidates,
1418
+ isActive,
1419
+ placementOf,
1420
+ onPlacementChange,
1421
+ onCustomize
1422
+ }) {
1423
+ const context = useMaybeSidebarState();
1424
+ const Link = context?.LinkComponent ?? "a";
1425
+ const linkIsActive = (link) => isActive?.(link, activeCandidates) ?? link.isActive ?? false;
1426
+ const shownLinks = links.filter((link) => linkIsActive(link) || placementOf(link) === "sidebar");
1427
+ const moreMenuLinks = links.filter((link) => !shownLinks.includes(link) && placementOf(link) === "more");
1428
+ const isCustomized = links.some((link) => placementOf(link) !== getDefaultPlacement(link, links.length));
1429
+ const hasMoreRow = links.length > 1 || moreMenuLinks.length > 0 || isCustomized;
1430
+ const moreTriggerRef = React.useRef(null);
1431
+ function renderMenuLink(link, nested = false) {
1432
+ return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
1433
+ /* @__PURE__ */ jsxRuntime.jsxs(
1434
+ dropdownMenu.DropdownMenu.Item,
1435
+ {
1436
+ nativeButton: false,
1437
+ inset: nested,
1438
+ render: /* @__PURE__ */ jsxRuntime.jsx(
1439
+ Link,
1440
+ {
1441
+ href: link.url,
1442
+ .../^(https?:)?\/\//.test(link.url) ? { target: "_blank", rel: "noreferrer" } : {}
1443
+ }
1444
+ ),
1445
+ "aria-current": linkIsActive(link) ? "page" : void 0,
1446
+ children: [
1447
+ link.icon,
1448
+ link.name
1449
+ ]
1450
+ }
1451
+ ),
1452
+ link.children?.map((child) => renderMenuLink(child, true))
1453
+ ] }, getSidebarLinkKey(link));
1454
+ }
1455
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1456
+ shownLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
1457
+ SidebarOptionalLink,
1458
+ {
1459
+ link,
1460
+ activeCandidates,
1461
+ isActive,
1462
+ placement: placementOf(link),
1463
+ onPlacementChange: (placement) => onPlacementChange(link, placement),
1464
+ onCustomize: (returnFocusTo) => onCustomize(returnFocusTo, () => moreTriggerRef.current)
1465
+ },
1466
+ getSidebarLinkKey(link)
1467
+ )),
1468
+ hasMoreRow ? /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu, { modal: false, children: [
1469
+ /* @__PURE__ */ jsxRuntime.jsx(
1470
+ SidebarNavLink,
1471
+ {
1472
+ link: { name: "More", url: "", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, {}) },
1473
+ render: /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Trigger, { ref: moreTriggerRef, render: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button" }), "aria-label": "More", children: [
1474
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontalIcon, { "aria-hidden": "true" }),
1475
+ /* @__PURE__ */ jsxRuntime.jsx(SidebarNavLabel, { children: "More" })
1476
+ ] })
1477
+ }
1478
+ ),
1479
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Content, { align: "start", "aria-label": "More navigation", className: "min-w-44", children: [
1480
+ moreMenuLinks.map((link) => renderMenuLink(link)),
1481
+ moreMenuLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenu.Separator, {}),
1482
+ /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu.Item, { onClick: () => onCustomize(moreTriggerRef.current, () => moreTriggerRef.current), children: [
1483
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings2Icon, {}),
1484
+ "Customize sidebar"
1485
+ ] })
1486
+ ] })
1487
+ ] }) : null
1488
+ ] });
1489
+ }
1490
+
1491
+ function SidebarSectionsContent({
1492
+ sections,
1493
+ isActive,
1494
+ className,
1495
+ visibilityStorageKey
1496
+ }) {
1497
+ const baseId = React.useId();
1498
+ const [customizeOpen, setCustomizeOpen] = React.useState(false);
1499
+ const customizeReturnFocusRef = React.useRef(null);
1500
+ const getCustomizeFallbackRef = React.useRef(() => null);
1501
+ const [placements, setPlacements] = hooks_useLocalStorageState.useLocalStorageState({
1502
+ initialKey: visibilityStorageKey,
1503
+ defaultValue: {},
1504
+ schema: placementsSchema
1505
+ });
1506
+ function placementOf(sectionKey, link, optionalLinkCount) {
1507
+ return placements[getSidebarVisibilityKey(sectionKey, link)] ?? getDefaultPlacement(link, optionalLinkCount);
1508
+ }
1509
+ function openCustomize(returnFocusTo, getMoreTrigger) {
1510
+ customizeReturnFocusRef.current = returnFocusTo;
1511
+ getCustomizeFallbackRef.current = getMoreTrigger;
1512
+ setCustomizeOpen(true);
1513
+ }
1514
+ function changeCustomizeOpen(open) {
1515
+ if (!open && !customizeReturnFocusRef.current?.isConnected) {
1516
+ customizeReturnFocusRef.current = getCustomizeFallbackRef.current();
1517
+ }
1518
+ setCustomizeOpen(open);
1519
+ }
1520
+ function changePlacement(sectionKey, link, placement) {
1521
+ setPlacements((current) => ({ ...current, [getSidebarVisibilityKey(sectionKey, link)]: placement }));
1522
+ }
1523
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1524
+ sections.map((section) => {
1525
+ const showSeparator = section.links.length > 0 && section.separator;
1526
+ const headerId = section.title ? `${baseId}-${section.key}` : void 0;
1527
+ const moreLinks = section.moreLinks ?? [];
1528
+ const activeCandidates = [...section.links, ...moreLinks];
1529
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1530
+ SidebarNavSection,
1531
+ {
1532
+ className,
1533
+ "aria-labelledby": headerId,
1534
+ "aria-label": !headerId ? section.key : void 0,
1535
+ children: [
1536
+ showSeparator ? /* @__PURE__ */ jsxRuntime.jsx(SidebarNavSeparator, { className: "[&:after]:border-border" }) : null,
1537
+ section.title ? /* @__PURE__ */ jsxRuntime.jsx(SidebarNavHeader, { id: headerId, href: section.href, isActive: section.isHeaderActive, children: section.title }) : null,
1538
+ /* @__PURE__ */ jsxRuntime.jsxs(SidebarNavList, { children: [
1539
+ section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
1540
+ SidebarSectionLink,
1541
+ {
1542
+ link,
1543
+ activeCandidates,
1544
+ isActive
1545
+ },
1546
+ getSidebarLinkKey(link)
1547
+ )),
1548
+ moreLinks.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
1549
+ SidebarMoreLinks,
1550
+ {
1551
+ links: moreLinks,
1552
+ activeCandidates,
1553
+ isActive,
1554
+ placementOf: (link) => placementOf(section.key, link, moreLinks.length),
1555
+ onPlacementChange: (link, placement) => changePlacement(section.key, link, placement),
1556
+ onCustomize: openCustomize
1557
+ }
1558
+ ) : null
1559
+ ] })
1560
+ ]
1561
+ },
1562
+ section.key
1563
+ );
1564
+ }),
1565
+ /* @__PURE__ */ jsxRuntime.jsx(
1566
+ SidebarCustomizeDialog,
1567
+ {
1568
+ open: customizeOpen,
1569
+ onOpenChange: changeCustomizeOpen,
1570
+ returnFocusRef: customizeReturnFocusRef,
1571
+ sections,
1572
+ placementOf,
1573
+ onPlacementChange: changePlacement
1574
+ }
1575
+ )
1576
+ ] });
1577
+ }
1578
+
1579
+ function SidebarSections({
1580
+ visibilityStorageKey = defaultVisibilityStorageKey,
1581
+ ...props
1582
+ }) {
1583
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarSectionsContent, { ...props, visibilityStorageKey }, visibilityStorageKey);
1584
+ }
1585
+
1586
+ const Sidebar = Object.assign(SidebarRoot, {
1587
+ Brand: SidebarBrand,
1588
+ CommandHeader: SidebarCommandHeader,
1589
+ Footer: SidebarFooter,
1590
+ FooterMeta: SidebarFooterMeta,
1591
+ Header: SidebarHeader,
1592
+ Meter: SidebarMeter,
1593
+ MobileTrigger: SidebarMobileTrigger,
1594
+ Nav: SidebarNav,
1595
+ NavHeader: SidebarNavHeader,
1596
+ NavLabel: SidebarNavLabel,
1597
+ NavLink: SidebarNavLink,
1598
+ NavList: SidebarNavList,
1599
+ NavSection: SidebarNavSection,
1600
+ NavSeparator: SidebarNavSeparator,
1601
+ NavStack: SidebarNavStack,
1602
+ Provider: SidebarProvider,
1603
+ SearchTrigger: SidebarSearchTrigger,
1604
+ Sections: SidebarSections,
1605
+ Trigger: SidebarTrigger
1606
+ });
1607
+
1608
+ function getIsLinkActive(link, pathname, siblings = []) {
1609
+ const matches = (url) => pathname === url || pathname.startsWith(url + "/");
1610
+ const flattenLinks = (links) => links.flatMap((item) => [item, ...flattenLinks(item.children ?? [])]);
1611
+ if (!matches(link.url)) return false;
1612
+ const competingLinks = [...flattenLinks(link.children ?? []), ...flattenLinks(siblings)];
1613
+ return !competingLinks.some(
1614
+ (other) => other.url !== link.url && other.url.length > link.url.length && matches(other.url)
1615
+ );
1616
+ }
1617
+
1618
+ exports.Sidebar = Sidebar;
1619
+ exports.SidebarBrand = SidebarBrand;
1620
+ exports.SidebarCommandHeader = SidebarCommandHeader;
1621
+ exports.SidebarFooter = SidebarFooter;
1622
+ exports.SidebarFooterMeta = SidebarFooterMeta;
1623
+ exports.SidebarHeader = SidebarHeader;
1624
+ exports.SidebarMeter = SidebarMeter;
1625
+ exports.SidebarMobileTrigger = SidebarMobileTrigger;
1626
+ exports.SidebarNav = SidebarNav;
1627
+ exports.SidebarNavHeader = SidebarNavHeader;
1628
+ exports.SidebarNavLink = SidebarNavLink;
1629
+ exports.SidebarNavStack = SidebarNavStack;
1630
+ exports.SidebarProvider = SidebarProvider;
1631
+ exports.SidebarRoot = SidebarRoot;
1632
+ exports.SidebarSearchTrigger = SidebarSearchTrigger;
1633
+ exports.SidebarSections = SidebarSections;
1634
+ exports.SidebarTrigger = SidebarTrigger;
1635
+ exports.getIsLinkActive = getIsLinkActive;
1636
+ exports.navItemClasses = navItemClasses;
1637
+ exports.useMaybeSidebar = useMaybeSidebar;
1638
+ exports.useMaybeSidebarState = useMaybeSidebarState;
1639
+ exports.useMobileDrawer = useMobileDrawer;
1640
+ exports.useSidebar = useSidebar;
1641
+ //# sourceMappingURL=Sidebar.cjs.js.map