@mcp-b/react-components 0.17.0 → 0.18.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 (292) hide show
  1. package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
  2. package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
  3. package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
  4. package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bfp5PAg3.js} +9 -6
  5. package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
  6. package/dist/{FileTree-B7bBsUyU.js → FileTree-3zYtrddG.js} +42 -16
  7. package/dist/{Message-C4eYRogZ.js → Message-BXtmfc9Q.js} +13 -20
  8. package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-Cqw_qrUG.js} +15 -22
  9. package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
  10. package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
  11. package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
  12. package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
  13. package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
  14. package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
  15. package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
  16. package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
  17. package/dist/Workspace-Jez8ffUj.d.ts +274 -0
  18. package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
  19. package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
  20. package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-C68Ub8S8.js} +120 -127
  21. package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
  22. package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
  23. package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
  24. package/dist/components/Accordion.js +7 -2
  25. package/dist/components/Activity.js +2 -2
  26. package/dist/components/AgentActivity.d.ts +1 -1
  27. package/dist/components/AgentActivity.js +4 -5
  28. package/dist/components/AgentActivityPreview.d.ts +9 -9
  29. package/dist/components/AgentActivityPreview.js +8 -12
  30. package/dist/components/AgentAttention.d.ts +1 -1
  31. package/dist/components/AgentAttention.js +1 -1
  32. package/dist/components/AgentChat.d.ts +1 -1
  33. package/dist/components/AgentChat.js +94 -62
  34. package/dist/components/AgentChatMessageEditor.js +2 -2
  35. package/dist/components/AgentChatTurnError.js +2 -2
  36. package/dist/components/AgentConnection.js +3 -3
  37. package/dist/components/AgentMessageParts.js +1 -1
  38. package/dist/components/AgentToolDetail.d.ts +6 -4
  39. package/dist/components/AgentToolDetail.js +12 -10
  40. package/dist/components/AlertDialog.js +1 -1
  41. package/dist/components/AppTopBar.d.ts +24 -7
  42. package/dist/components/AppTopBar.js +32 -8
  43. package/dist/components/Approval.js +4 -4
  44. package/dist/components/Artifact.d.ts +1 -1
  45. package/dist/components/Artifact.js +6 -4
  46. package/dist/components/Autocomplete.js +1 -1
  47. package/dist/components/Avatar.d.ts +1 -1
  48. package/dist/components/Avatar.js +2 -2
  49. package/dist/components/Badge.js +3 -0
  50. package/dist/components/BrowserLiveView.js +27 -12
  51. package/dist/components/BrowserReplay.js +4 -3
  52. package/dist/components/BrowserRunPanel.js +5 -5
  53. package/dist/components/Button.d.ts +1 -1
  54. package/dist/components/Button.js +14 -11
  55. package/dist/components/Card.d.ts +7 -8
  56. package/dist/components/Card.js +19 -10
  57. package/dist/components/ChainOfThought.d.ts +1 -1
  58. package/dist/components/ChainOfThought.js +2 -2
  59. package/dist/components/ChatGptSignInScreen.js +8 -8
  60. package/dist/components/Checkbox.js +2 -2
  61. package/dist/components/CheckboxGroup.js +1 -1
  62. package/dist/components/Checkpoint.js +2 -2
  63. package/dist/components/CodeBlock.d.ts +1 -1
  64. package/dist/components/CodeBlock.js +1 -1
  65. package/dist/components/CodexModelSelector.js +2 -2
  66. package/dist/components/Collapsible.js +2 -2
  67. package/dist/components/Combobox.js +1 -1
  68. package/dist/components/Commit.d.ts +1 -1
  69. package/dist/components/Commit.js +3 -3
  70. package/dist/components/Context.js +1 -1
  71. package/dist/components/ContextMenu.js +2 -2
  72. package/dist/components/Conversation.d.ts +1 -1
  73. package/dist/components/Conversation.js +5 -4
  74. package/dist/components/DescriptionListParts.js +1 -1
  75. package/dist/components/Dialog.js +1 -1
  76. package/dist/components/EnvironmentVariables.d.ts +1 -1
  77. package/dist/components/EnvironmentVariables.js +3 -3
  78. package/dist/components/Field.js +5 -2
  79. package/dist/components/Fieldset.js +1 -1
  80. package/dist/components/FileTree.d.ts +6 -0
  81. package/dist/components/FileTree.js +1 -1
  82. package/dist/components/Form.js +1 -1
  83. package/dist/components/GithubMotionMark.js +1 -1
  84. package/dist/components/IconButton.d.ts +2 -3
  85. package/dist/components/IconButton.js +2 -1
  86. package/dist/components/InlineCitation.js +1 -1
  87. package/dist/components/Input.js +1 -1
  88. package/dist/components/Marker.js +1 -1
  89. package/dist/components/McpConnectionRequest.js +2 -2
  90. package/dist/components/McpServerPicker.js +2 -2
  91. package/dist/components/MediaPreviewCard.d.ts +103 -0
  92. package/dist/components/MediaPreviewCard.js +193 -0
  93. package/dist/components/Menu.js +1 -1
  94. package/dist/components/Menubar.js +2 -2
  95. package/dist/components/Message.d.ts +4 -1
  96. package/dist/components/Message.js +1 -1
  97. package/dist/components/MessageScroller.d.ts +1 -1
  98. package/dist/components/MessageScroller.js +5 -4
  99. package/dist/components/Meter.js +1 -1
  100. package/dist/components/ModelSelector.d.ts +4 -3
  101. package/dist/components/ModelSelector.js +1 -1
  102. package/dist/components/NavigationMenu.js +1 -1
  103. package/dist/components/NumberField.js +1 -1
  104. package/dist/components/Plan.js +2 -2
  105. package/dist/components/Popover.js +1 -1
  106. package/dist/components/PreviewCard.js +1 -1
  107. package/dist/components/PricingBillingToggle.js +1 -1
  108. package/dist/components/PricingFAQ.js +1 -1
  109. package/dist/components/PricingPage.js +2 -1
  110. package/dist/components/PricingPlanCard.js +4 -3
  111. package/dist/components/PricingUsageCalculator.js +2 -2
  112. package/dist/components/Progress.js +1 -1
  113. package/dist/components/PromptInput.d.ts +1 -1
  114. package/dist/components/PromptInput.js +33 -20
  115. package/dist/components/Queue.d.ts +1 -1
  116. package/dist/components/Queue.js +2 -3
  117. package/dist/components/RadioGroup.js +1 -1
  118. package/dist/components/Reasoning.js +3 -6
  119. package/dist/components/ResizableSidePanel.js +1 -1
  120. package/dist/components/ResponsiveSidebarShell.js +16 -10
  121. package/dist/components/ScrollArea.js +2 -1
  122. package/dist/components/SearchField.d.ts +43 -0
  123. package/dist/components/SearchField.js +52 -0
  124. package/dist/components/Select.d.ts +1 -1
  125. package/dist/components/Select.js +5 -6
  126. package/dist/components/Separator.js +1 -1
  127. package/dist/components/Slider.js +1 -1
  128. package/dist/components/Sources.js +2 -2
  129. package/dist/components/Stepper.js +16 -9
  130. package/dist/components/SubagentRunDetails.js +1 -1
  131. package/dist/components/SubagentRunIndicator.js +2 -2
  132. package/dist/components/SubagentRunList.d.ts +3 -5
  133. package/dist/components/SubagentRunList.js +3 -4
  134. package/dist/components/SubagentRunSelector.d.ts +8 -12
  135. package/dist/components/SubagentRunSelector.js +17 -20
  136. package/dist/components/Switch.d.ts +2 -2
  137. package/dist/components/Switch.js +4 -5
  138. package/dist/components/Tabs.d.ts +2 -2
  139. package/dist/components/Tabs.js +12 -3
  140. package/dist/components/Task.js +2 -2
  141. package/dist/components/Terminal.d.ts +2 -2
  142. package/dist/components/Terminal.js +5 -4
  143. package/dist/components/TestResults.js +10 -6
  144. package/dist/components/Textarea.js +1 -1
  145. package/dist/components/ThemeModeControl.js +1 -1
  146. package/dist/components/ThinkChat.d.ts +33 -20
  147. package/dist/components/ThinkChat.js +4 -4
  148. package/dist/components/ThinkChatActivity.d.ts +2 -2
  149. package/dist/components/ThinkChatActivity.js +8 -10
  150. package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
  151. package/dist/components/ThinkChatActivitySummary.js +7 -3
  152. package/dist/components/ThinkChatToolPanels.js +26 -16
  153. package/dist/components/ThinkExecutionDetail.js +2 -2
  154. package/dist/components/ThinkExecutionStatus.js +2 -2
  155. package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
  156. package/dist/components/ThinkExecutionWorkbench.js +70 -134
  157. package/dist/components/ThinkFullApp.d.ts +36 -35
  158. package/dist/components/ThinkFullApp.js +156 -109
  159. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  160. package/dist/components/ThinkFullAppViewSwitch.js +1 -1
  161. package/dist/components/ThinkRecoveryNotice.js +18 -12
  162. package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
  163. package/dist/components/ThinkRoutineBrowser.js +33 -40
  164. package/dist/components/ThinkRoutineDetail.d.ts +5 -2
  165. package/dist/components/ThinkRoutineDetail.js +4 -4
  166. package/dist/components/ThinkRoutineForm.d.ts +3 -2
  167. package/dist/components/ThinkRoutineForm.js +11 -10
  168. package/dist/components/ThinkRoutineLibrary.d.ts +24 -31
  169. package/dist/components/ThinkRoutineLibrary.js +57 -80
  170. package/dist/components/ThinkRoutineRuns.d.ts +3 -2
  171. package/dist/components/ThinkRoutineRuns.js +31 -24
  172. package/dist/components/ThinkThreadPicker.d.ts +17 -11
  173. package/dist/components/ThinkThreadPicker.js +163 -39
  174. package/dist/components/Toast.js +1 -1
  175. package/dist/components/Toggle.d.ts +1 -1
  176. package/dist/components/Toggle.js +9 -7
  177. package/dist/components/ToggleGroup.d.ts +1 -1
  178. package/dist/components/ToggleGroup.js +15 -13
  179. package/dist/components/ToolInvocation.js +1 -1
  180. package/dist/components/Toolbar.js +1 -1
  181. package/dist/components/Tooltip.d.ts +8 -1
  182. package/dist/components/Tooltip.js +11 -2
  183. package/dist/components/TransitionSurface.d.ts +27 -0
  184. package/dist/components/TransitionSurface.js +20 -0
  185. package/dist/components/WebPreview.d.ts +5 -5
  186. package/dist/components/WebPreview.js +68 -54
  187. package/dist/components/Workspace.d.ts +2 -2
  188. package/dist/components/Workspace.js +358 -328
  189. package/dist/components/WorkspaceBrowser.d.ts +4 -7
  190. package/dist/components/WorkspaceBrowser.js +15 -25
  191. package/dist/components/WorkspaceExplorer.d.ts +5 -5
  192. package/dist/components/WorkspaceExplorer.js +19 -32
  193. package/dist/components/WorkspaceFile.d.ts +1 -1
  194. package/dist/components/WorkspaceFileView.d.ts +14 -2
  195. package/dist/components/WorkspaceFileView.js +1 -1
  196. package/dist/components/WorkspaceHeader.d.ts +0 -8
  197. package/dist/components/WorkspaceHeader.js +3 -15
  198. package/dist/components/WorkspaceLink.d.ts +1 -1
  199. package/dist/components/WorkspaceLink.js +1 -1
  200. package/dist/components/icons.d.ts +2 -2
  201. package/dist/components/icons.js +2 -2
  202. package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
  203. package/dist/{copy-button-cYsJBauI.js → copy-button-DeK6KXEV.js} +3 -2
  204. package/dist/{icons--FqCZEc3.js → icons-CQJ-aMnI.js} +6 -3
  205. package/dist/{icons-DpUqY8Mp.d.ts → icons-CYXmvKlJ.d.ts} +17 -2
  206. package/dist/navigation-link-Cob7KBlM.js +19 -0
  207. package/dist/styles/accordion.css +4 -19
  208. package/dist/styles/activity.css +48 -56
  209. package/dist/styles/agent-activity-preview.css +2 -0
  210. package/dist/styles/agent-chat.css +14 -22
  211. package/dist/styles/alert-dialog.css +16 -18
  212. package/dist/styles/app-top-bar.css +17 -9
  213. package/dist/styles/approval.css +11 -6
  214. package/dist/styles/artifact.css +6 -6
  215. package/dist/styles/autocomplete.css +2 -1
  216. package/dist/styles/avatar.css +35 -30
  217. package/dist/styles/badge.css +10 -10
  218. package/dist/styles/base-ui-motion.css +94 -39
  219. package/dist/styles/browser-control-overlay.css +0 -1
  220. package/dist/styles/browser-live-view.css +39 -22
  221. package/dist/styles/browser-replay.css +1 -1
  222. package/dist/styles/browser-run-panel.css +8 -4
  223. package/dist/styles/button.css +36 -33
  224. package/dist/styles/card.css +5 -6
  225. package/dist/styles/chain-of-thought.css +22 -16
  226. package/dist/styles/checkbox.css +18 -5
  227. package/dist/styles/codex-model-selector.css +3 -7
  228. package/dist/styles/collapsible.css +10 -10
  229. package/dist/styles/combobox.css +3 -2
  230. package/dist/styles/commit.css +19 -18
  231. package/dist/styles/composition-motion.css +83 -0
  232. package/dist/styles/context-menu.css +3 -3
  233. package/dist/styles/context.css +11 -10
  234. package/dist/styles/conversation.css +18 -23
  235. package/dist/styles/dialog.css +15 -15
  236. package/dist/styles/field.css +32 -12
  237. package/dist/styles/file-tree.css +69 -9
  238. package/dist/styles/form.css +1 -1
  239. package/dist/styles/index.css +5 -0
  240. package/dist/styles/input.css +2 -2
  241. package/dist/styles/marker.css +14 -13
  242. package/dist/styles/mcp-server-picker.css +20 -17
  243. package/dist/styles/media-preview-card.css +160 -0
  244. package/dist/styles/menu.css +11 -11
  245. package/dist/styles/menubar.css +12 -11
  246. package/dist/styles/message.css +27 -21
  247. package/dist/styles/meter.css +2 -2
  248. package/dist/styles/model-selector.css +16 -14
  249. package/dist/styles/motion-reduction.css +29 -0
  250. package/dist/styles/navigation-menu.css +14 -30
  251. package/dist/styles/number-field.css +22 -4
  252. package/dist/styles/plan.css +5 -0
  253. package/dist/styles/popover.css +15 -16
  254. package/dist/styles/preview-card.css +2 -32
  255. package/dist/styles/progress.css +8 -3
  256. package/dist/styles/prompt-input.css +75 -75
  257. package/dist/styles/queue.css +48 -32
  258. package/dist/styles/radio.css +19 -12
  259. package/dist/styles/reasoning.css +2 -1
  260. package/dist/styles/recipes.css +109 -37
  261. package/dist/styles/resizable-side-panel.css +4 -10
  262. package/dist/styles/responsive-sidebar-shell.css +16 -15
  263. package/dist/styles/scroll-area.css +32 -15
  264. package/dist/styles/search-field.css +21 -0
  265. package/dist/styles/select.css +19 -12
  266. package/dist/styles/slider.css +25 -29
  267. package/dist/styles/sources.css +3 -3
  268. package/dist/styles/stepper.css +36 -26
  269. package/dist/styles/subagent-run.css +1 -1
  270. package/dist/styles/switch.css +32 -29
  271. package/dist/styles/tabs.css +79 -23
  272. package/dist/styles/task.css +13 -9
  273. package/dist/styles/test-results.css +29 -23
  274. package/dist/styles/theme-mode-control.css +8 -0
  275. package/dist/styles/think-execution-workbench.css +18 -15
  276. package/dist/styles/think-full-app.css +45 -68
  277. package/dist/styles/think-routine-library.css +43 -24
  278. package/dist/styles/think-thread-picker.css +193 -51
  279. package/dist/styles/toast.css +48 -27
  280. package/dist/styles/toggle-group.css +2 -36
  281. package/dist/styles/toggle.css +29 -5
  282. package/dist/styles/toolbar.css +25 -27
  283. package/dist/styles/tooltip.css +2 -32
  284. package/dist/styles/transition-surface.css +55 -0
  285. package/dist/styles/workspace-explorer.css +99 -44
  286. package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
  287. package/dist/utils/mcp-server-catalog.d.ts +132 -0
  288. package/dist/utils/mcp-server-catalog.js +90 -0
  289. package/dist/utils/structured-code.d.ts +1 -1
  290. package/package.json +13 -7
  291. package/dist/Workspace-C9RFoxcu.d.ts +0 -62
  292. package/dist/summarize-tool-input-BUJsENSn.js +0 -12
@@ -1,2 +1,2 @@
1
- import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, h as CODE_BLOCK_LANGUAGES, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as highlightCode, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../CodeBlock-Co1noLbC.js";
1
+ import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, h as CODE_BLOCK_LANGUAGES, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as highlightCode, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../CodeBlock-Bfp5PAg3.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorValue, CodeBlockTitle, highlightCode };
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { R as RefreshIcon, c as ChevronDownIcon, s as CheckIcon, u as ChevronRightIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { H as RefreshIcon, f as ChevronRightIcon, l as CheckIcon, u as ChevronDownIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Menu } from "./Menu.js";
4
4
  import "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Collapsible as Collapsible$1 } from "@base-ui/react/collapsible";
@@ -42,7 +42,7 @@ function CollapsibleTrigger({ className, unstyled = false, ref, ...props }) {
42
42
  * Supports CSS animations via `--collapsible-panel-height` variable.
43
43
  */
44
44
  function CollapsiblePanel({ className, unstyled = false, ref, ...props }) {
45
- const classes = mergeBaseClassName(["base-ui-collapsible-panel", !unstyled && "collapsible__panel"].filter(Boolean).join(" "), className);
45
+ const classes = mergeBaseClassName(["base-ui-disclosure-panel", !unstyled && "collapsible__panel"].filter(Boolean).join(" "), className);
46
46
  return /* @__PURE__ */ jsx(Collapsible$1.Panel, {
47
47
  ref,
48
48
  "data-slot": "collapsible-content",
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import * as React from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
@@ -1,5 +1,5 @@
1
1
  import { t as Collapsible } from "../Collapsible-N64ASIQr.js";
2
- import { t as CopyButtonProps } from "../copy-button-CQx3LQAC.js";
2
+ import { t as CopyButtonProps } from "../copy-button-D7aAYA-2.js";
3
3
  import * as React from "react";
4
4
 
5
5
  //#region src/components/Commit.d.ts
@@ -1,7 +1,7 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "./Collapsible.js";
3
- import { u as ChevronRightIcon, y as FileIcon } from "../icons--FqCZEc3.js";
4
- import { t as CopyButton } from "../copy-button-cYsJBauI.js";
3
+ import { f as ChevronRightIcon, x as FileIcon } from "../icons-CQJ-aMnI.js";
4
+ import { t as CopyButton } from "../copy-button-DeK6KXEV.js";
5
5
  import { Badge } from "./Badge.js";
6
6
  import { Avatar } from "./Avatar.js";
7
7
  import "react";
@@ -1,4 +1,4 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import { Popover } from "./Popover.js";
3
3
  import { Separator } from "./Separator.js";
4
4
  import * as React from "react";
@@ -1,5 +1,5 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
2
- import { m as DotIcon, s as CheckIcon } from "../icons--FqCZEc3.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
+ import { g as DotIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { ContextMenu as ContextMenu$1 } from "@base-ui/react/context-menu";
@@ -1,4 +1,4 @@
1
- import { t as Button } from "../Button-FX_hpqxm.js";
1
+ import { t as Button } from "../Button-DLGzHsjc.js";
2
2
  import { MessageScrollerButtonProps, MessageScrollerItemProps } from "./MessageScroller.js";
3
3
  import * as React from "react";
4
4
  import { UIMessage } from "ai";
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { h as DownloadIcon, t as ArrowDownIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { _ as DownloadIcon, n as ArrowDownIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport } from "./MessageScroller.js";
5
5
  import * as React from "react";
@@ -119,7 +119,7 @@ function ConversationEmptyState({ className, title = "No messages yet", descript
119
119
  * Floating button that scrolls the conversation to the latest message.
120
120
  * Hidden from view and tab order while the viewport is already at the end.
121
121
  */
122
- function ConversationScrollButton({ className, variant = "outline", color = "neutral", size = "icon", label = "Scroll to latest", children, ...props }) {
122
+ function ConversationScrollButton({ className, variant = "outline", color = "neutral", size = "sm", label = "Scroll to latest", children, ...props }) {
123
123
  return /* @__PURE__ */ jsx(MessageScrollerButton, {
124
124
  variant,
125
125
  color,
@@ -154,7 +154,7 @@ function messagesToMarkdown(messages, formatMessage = defaultFormatMessage) {
154
154
  * Skipped when `messages` is empty. For custom export flows, use
155
155
  * {@link messagesToMarkdown} directly.
156
156
  */
157
- function ConversationDownload({ className, messages, filename = "conversation.md", formatMessage, label = "Download conversation", variant = "outline", color = "neutral", size = "icon", children, ref, ...props }) {
157
+ function ConversationDownload({ className, messages, filename = "conversation.md", formatMessage, label = "Download conversation", variant = "outline", color = "neutral", size = "sm", children, ref, ...props }) {
158
158
  if (messages.length === 0) return null;
159
159
  const handleClick = () => {
160
160
  const markdown = messagesToMarkdown(messages, formatMessage);
@@ -174,6 +174,7 @@ function ConversationDownload({ className, messages, filename = "conversation.md
174
174
  variant,
175
175
  color,
176
176
  size,
177
+ iconOnly: true,
177
178
  className: cx("conversation__download-button", className),
178
179
  "aria-label": label,
179
180
  onClick: handleClick,
@@ -1,4 +1,4 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/components/DescriptionListParts.tsx
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
@@ -1,4 +1,4 @@
1
- import { t as CopyButtonProps } from "../copy-button-CQx3LQAC.js";
1
+ import { t as CopyButtonProps } from "../copy-button-D7aAYA-2.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/EnvironmentVariables.d.ts
@@ -1,6 +1,6 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { _ as EyeIcon, v as EyeOffIcon } from "../icons--FqCZEc3.js";
3
- import { t as CopyButton } from "../copy-button-cYsJBauI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { b as EyeOffIcon, y as EyeIcon } from "../icons-CQJ-aMnI.js";
3
+ import { t as CopyButton } from "../copy-button-DeK6KXEV.js";
4
4
  import { Badge } from "./Badge.js";
5
5
  import { Switch } from "./Switch.js";
6
6
  import * as React from "react";
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName, t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName, t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Field as Field$1 } from "@base-ui/react/field";
@@ -128,7 +128,10 @@ function FieldError({ className, children, ref, ...props }) {
128
128
  });
129
129
  }
130
130
  function FieldErrors({ className = "", errors, children, ref, ...props }) {
131
- const messages = [...new Set(errors.map((error) => typeof error === "string" ? error : error?.message).filter(Boolean))];
131
+ const messages = [...new Set(errors.flatMap((error) => {
132
+ const message = typeof error === "string" ? error : error?.message;
133
+ return message ? [message] : [];
134
+ }))];
132
135
  const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ jsx("ul", {
133
136
  className: "field__error-list",
134
137
  children: messages.map((message) => /* @__PURE__ */ jsx("li", { children: message }, message))
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Fieldset as Fieldset$1 } from "@base-ui/react/fieldset";
@@ -2,6 +2,8 @@ import * as React from "react";
2
2
 
3
3
  //#region src/components/FileTree.d.ts
4
4
  interface FileTreeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {
5
+ /** Visual treatment for the tree container. Plain trees inherit their surrounding canvas. */
6
+ appearance?: "contained" | "plain";
5
7
  /** Set of folder paths that should be expanded. Controlled mode. */
6
8
  expanded?: Set<string>;
7
9
  /** Initial set of expanded folder paths. Uncontrolled mode. */
@@ -33,6 +35,7 @@ interface FileTreeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSe
33
35
  * ```
34
36
  */
35
37
  declare function FileTree({
38
+ appearance,
36
39
  className,
37
40
  "aria-label": ariaLabel,
38
41
  expanded,
@@ -70,6 +73,8 @@ interface FileTreeFileProps extends React.HTMLAttributes<HTMLLIElement> {
70
73
  name: string;
71
74
  /** Optional custom icon; defaults to a generic file icon. */
72
75
  icon?: React.ReactNode;
76
+ /** App-owned anchor or router Link when selecting the file navigates. */
77
+ render?: React.ReactElement;
73
78
  /** Depth level, auto-set by parent folder. */
74
79
  level?: number;
75
80
  }
@@ -78,6 +83,7 @@ declare function FileTreeFile({
78
83
  path,
79
84
  name,
80
85
  icon,
86
+ render,
81
87
  level,
82
88
  ref,
83
89
  ...props
@@ -1,2 +1,2 @@
1
- import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-B7bBsUyU.js";
1
+ import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-3zYtrddG.js";
2
2
  export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Form as Form$1 } from "@base-ui/react/form";
@@ -1,4 +1,4 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  //#region src/components/GithubMotionMark.tsx
4
4
  /**
@@ -1,8 +1,7 @@
1
- import { i as ButtonSize, r as ButtonProps } from "../Button-FX_hpqxm.js";
1
+ import { i as ButtonSize, r as ButtonProps } from "../Button-DLGzHsjc.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/IconButton.d.ts
5
- type IconButtonSize = Extract<ButtonSize, "icon" | "icon-xs" | "icon-sm" | "icon-lg">;
6
5
  interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" | "size"> {
7
6
  /** Decorative icon rendered inside the square button. */
8
7
  children: React.ReactNode;
@@ -13,7 +12,7 @@ interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" |
13
12
  /** Preferred side for the tooltip. */
14
13
  tooltipSide?: "top" | "right" | "bottom" | "left";
15
14
  /** Square button size. */
16
- size?: IconButtonSize;
15
+ size?: ButtonSize;
17
16
  }
18
17
  /**
19
18
  * A square, icon-only button with a required accessible name and matching
@@ -8,11 +8,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
8
8
  * tooltip. Use text buttons for actions whose consequence an icon cannot make
9
9
  * clear on its own.
10
10
  */
11
- function IconButton({ children, label, size = "icon-sm", tooltip = label, tooltipSide = "top", type = "button", ...props }) {
11
+ function IconButton({ children, label, size = "sm", tooltip = label, tooltipSide = "top", type = "button", ...props }) {
12
12
  return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, {
13
13
  render: /* @__PURE__ */ jsx(Button, {
14
14
  type,
15
15
  size,
16
+ iconOnly: true,
16
17
  "aria-label": label,
17
18
  ...props
18
19
  }),
@@ -1,4 +1,4 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import { Popover } from "./Popover.js";
3
3
  import { PreviewCard } from "./PreviewCard.js";
4
4
  import "react";
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Input as Input$1 } from "@base-ui/react/input";
@@ -1,4 +1,4 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { E as McpIcon, J as WarningIcon, V as SpinnerIcon, s as CheckIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { G as SpinnerIcon, Z as WarningIcon, k as McpIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "./AgentAttention.js";
5
5
  import { getMcpServerEntry, getMcpServerRuntimeState } from "../utils/mcp-server-catalog.js";
@@ -1,5 +1,5 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
2
- import { J as WarningIcon, V as SpinnerIcon, k as MinusIcon, s as CheckIcon } from "../icons--FqCZEc3.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
+ import { G as SpinnerIcon, M as MinusIcon, Z as WarningIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { buttonVariants } from "./Button.js";
4
4
  import { Dialog } from "./Dialog.js";
5
5
  import { Menu } from "./Menu.js";
@@ -0,0 +1,103 @@
1
+ import { CardProps } from "./Card.js";
2
+ import * as React from "react";
3
+
4
+ //#region src/components/MediaPreviewCard.d.ts
5
+ interface MediaPreviewCardProps extends Omit<CardProps, "hover"> {}
6
+ /**
7
+ * A media-led card that plays its decorative preview only while a mouse is
8
+ * hovering the card or keyboard focus is within it. The preview pauses and
9
+ * resets when both forms of intent leave, and remains poster-only when the
10
+ * user prefers reduced motion.
11
+ *
12
+ * Keep routing and product data in the consumer. Place its link and ordinary
13
+ * Card content inside this root so the entire composition keeps native link
14
+ * semantics.
15
+ */
16
+ declare function MediaPreviewCard({
17
+ children,
18
+ className,
19
+ onBlurCapture,
20
+ onFocusCapture,
21
+ onPointerEnter,
22
+ onPointerLeave,
23
+ ref,
24
+ ...props
25
+ }: MediaPreviewCardProps & {
26
+ ref?: React.Ref<HTMLDivElement>;
27
+ }): React.JSX.Element;
28
+ type FixedVideoProps = "autoPlay" | "controls" | "loop" | "muted" | "playsInline" | "preload";
29
+ interface MediaPreviewCardVideoProps extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, FixedVideoProps> {
30
+ /** Lightweight still frame displayed until the user shows intent. */
31
+ poster: string;
32
+ /** Intrinsic media width used to reserve layout space. */
33
+ width: number;
34
+ /** Intrinsic media height used to reserve layout space. */
35
+ height: number;
36
+ }
37
+ /**
38
+ * Decorative, silent preview media for MediaPreviewCard. Native source
39
+ * children allow callers to provide WebM followed by MP4 without the design
40
+ * system owning storage or URLs.
41
+ */
42
+ declare function MediaPreviewCardVideo({
43
+ children,
44
+ className,
45
+ height,
46
+ onEnded,
47
+ onPause,
48
+ onPlaying,
49
+ poster,
50
+ ref,
51
+ style,
52
+ width,
53
+ ...props
54
+ }: MediaPreviewCardVideoProps & {
55
+ ref?: React.Ref<HTMLVideoElement>;
56
+ }): React.JSX.Element;
57
+ interface MediaPreviewCardActionsProps extends React.HTMLAttributes<HTMLDivElement> {}
58
+ /**
59
+ * Positions sibling controls above the preview without nesting them inside the
60
+ * card's primary link. Use this slot for compact secondary actions such as a
61
+ * menu trigger; the consumer remains responsible for each control's behavior
62
+ * and accessible name.
63
+ */
64
+ declare function MediaPreviewCardActions({
65
+ className,
66
+ ref,
67
+ ...props
68
+ }: MediaPreviewCardActionsProps & {
69
+ ref?: React.Ref<HTMLDivElement>;
70
+ }): React.JSX.Element;
71
+ interface MediaPreviewCardPlaceholderProps extends React.HTMLAttributes<HTMLDivElement> {}
72
+ /**
73
+ * Reserves the same frame as preview media when a card has no poster or video.
74
+ * Keep any explanatory copy visually hidden so the quiet fallback remains
75
+ * useful without competing with the card title.
76
+ */
77
+ declare function MediaPreviewCardPlaceholder({
78
+ className,
79
+ ref,
80
+ ...props
81
+ }: MediaPreviewCardPlaceholderProps & {
82
+ ref?: React.Ref<HTMLDivElement>;
83
+ }): React.JSX.Element;
84
+ interface MediaPreviewCardMetaProps extends React.HTMLAttributes<HTMLDivElement> {}
85
+ /** Compact facts shown immediately below a preview. */
86
+ declare function MediaPreviewCardMeta({
87
+ className,
88
+ ref,
89
+ ...props
90
+ }: MediaPreviewCardMetaProps & {
91
+ ref?: React.Ref<HTMLDivElement>;
92
+ }): React.JSX.Element;
93
+ interface MediaPreviewCardFactProps extends React.HTMLAttributes<HTMLSpanElement> {}
94
+ /** A single icon-led fact inside MediaPreviewCardMeta. */
95
+ declare function MediaPreviewCardFact({
96
+ className,
97
+ ref,
98
+ ...props
99
+ }: MediaPreviewCardFactProps & {
100
+ ref?: React.Ref<HTMLSpanElement>;
101
+ }): React.JSX.Element;
102
+ //#endregion
103
+ export { MediaPreviewCard, MediaPreviewCardActions, MediaPreviewCardActionsProps, MediaPreviewCardFact, MediaPreviewCardFactProps, MediaPreviewCardMeta, MediaPreviewCardMetaProps, MediaPreviewCardPlaceholder, MediaPreviewCardPlaceholderProps, MediaPreviewCardProps, MediaPreviewCardVideo, MediaPreviewCardVideoProps };
@@ -0,0 +1,193 @@
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { z as PlayIcon } from "../icons-CQJ-aMnI.js";
3
+ import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
4
+ import { Card } from "./Card.js";
5
+ import * as React from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/components/MediaPreviewCard.tsx
8
+ const MediaPreviewCardContext = React.createContext(null);
9
+ function useMediaPreviewCardContext() {
10
+ const context = React.useContext(MediaPreviewCardContext);
11
+ if (!context) throw new Error("MediaPreviewCardVideo must be rendered inside MediaPreviewCard.");
12
+ return context;
13
+ }
14
+ /**
15
+ * A media-led card that plays its decorative preview only while a mouse is
16
+ * hovering the card or keyboard focus is within it. The preview pauses and
17
+ * resets when both forms of intent leave, and remains poster-only when the
18
+ * user prefers reduced motion.
19
+ *
20
+ * Keep routing and product data in the consumer. Place its link and ordinary
21
+ * Card content inside this root so the entire composition keeps native link
22
+ * semantics.
23
+ */
24
+ function MediaPreviewCard({ children, className, onBlurCapture, onFocusCapture, onPointerEnter, onPointerLeave, ref, ...props }) {
25
+ const videoRef = React.useRef(null);
26
+ const pointerInsideRef = React.useRef(false);
27
+ const focusInsideRef = React.useRef(false);
28
+ const [playing, setPlaying] = React.useState(false);
29
+ const stopPreview = React.useCallback(() => {
30
+ const video = videoRef.current;
31
+ if (!video) return;
32
+ video.pause();
33
+ if (video.readyState >= HTMLMediaElement.HAVE_METADATA) try {
34
+ video.currentTime = 0;
35
+ } catch {}
36
+ setPlaying(false);
37
+ }, []);
38
+ const startPreview = React.useCallback(() => {
39
+ const video = videoRef.current;
40
+ if (!video || typeof window !== "undefined" && (window.matchMedia("(prefers-reduced-motion: reduce)").matches || document.documentElement.dataset.motion === "reduce")) return;
41
+ video.play().catch(() => {
42
+ setPlaying(false);
43
+ });
44
+ }, []);
45
+ React.useEffect(() => {
46
+ const media = window.matchMedia("(prefers-reduced-motion: reduce)");
47
+ const root = document.documentElement;
48
+ const stopWhenReduced = () => {
49
+ if (media.matches || root.dataset.motion === "reduce") stopPreview();
50
+ };
51
+ const observer = new MutationObserver(stopWhenReduced);
52
+ media.addEventListener("change", stopWhenReduced);
53
+ observer.observe(root, { attributeFilter: ["data-motion"] });
54
+ return () => {
55
+ media.removeEventListener("change", stopWhenReduced);
56
+ observer.disconnect();
57
+ };
58
+ }, [stopPreview]);
59
+ const context = React.useMemo(() => ({
60
+ setPlaying,
61
+ videoRef
62
+ }), []);
63
+ return /* @__PURE__ */ jsx(MediaPreviewCardContext.Provider, {
64
+ value: context,
65
+ children: /* @__PURE__ */ jsx(Card, {
66
+ ref,
67
+ "data-slot": "media-preview-card",
68
+ "data-playing": playing ? "true" : "false",
69
+ className: cx("media-preview-card", className),
70
+ onPointerEnter: (event) => {
71
+ onPointerEnter?.(event);
72
+ if (event.defaultPrevented || event.pointerType !== "mouse") return;
73
+ pointerInsideRef.current = true;
74
+ startPreview();
75
+ },
76
+ onPointerLeave: (event) => {
77
+ onPointerLeave?.(event);
78
+ if (event.defaultPrevented) return;
79
+ pointerInsideRef.current = false;
80
+ if (!focusInsideRef.current) stopPreview();
81
+ },
82
+ onFocusCapture: (event) => {
83
+ onFocusCapture?.(event);
84
+ if (event.defaultPrevented) return;
85
+ focusInsideRef.current = true;
86
+ startPreview();
87
+ },
88
+ onBlurCapture: (event) => {
89
+ onBlurCapture?.(event);
90
+ if (event.defaultPrevented) return;
91
+ if (event.currentTarget.contains(event.relatedTarget)) return;
92
+ focusInsideRef.current = false;
93
+ if (!pointerInsideRef.current) stopPreview();
94
+ },
95
+ ...props,
96
+ children
97
+ })
98
+ });
99
+ }
100
+ /**
101
+ * Decorative, silent preview media for MediaPreviewCard. Native source
102
+ * children allow callers to provide WebM followed by MP4 without the design
103
+ * system owning storage or URLs.
104
+ */
105
+ function MediaPreviewCardVideo({ children, className, height, onEnded, onPause, onPlaying, poster, ref, style, width, ...props }) {
106
+ const { setPlaying, videoRef } = useMediaPreviewCardContext();
107
+ return /* @__PURE__ */ jsxs("div", {
108
+ "data-slot": "media-preview-card-media",
109
+ className: "media-preview-card__media",
110
+ style: { "--media-preview-card-aspect-ratio": `${width} / ${height}` },
111
+ children: [/* @__PURE__ */ jsx("video", {
112
+ ...props,
113
+ ref: mergeRefs(ref, (node) => {
114
+ videoRef.current = node;
115
+ }),
116
+ "data-slot": "media-preview-card-video",
117
+ className: cx("media-preview-card__video", className),
118
+ style,
119
+ poster,
120
+ width,
121
+ height,
122
+ muted: true,
123
+ loop: true,
124
+ playsInline: true,
125
+ preload: "none",
126
+ "aria-hidden": "true",
127
+ onPlaying: (event) => {
128
+ setPlaying(true);
129
+ onPlaying?.(event);
130
+ },
131
+ onPause: (event) => {
132
+ setPlaying(false);
133
+ onPause?.(event);
134
+ },
135
+ onEnded: (event) => {
136
+ setPlaying(false);
137
+ onEnded?.(event);
138
+ },
139
+ children
140
+ }), /* @__PURE__ */ jsx("span", {
141
+ className: "media-preview-card__play",
142
+ "aria-hidden": "true",
143
+ children: /* @__PURE__ */ jsx(PlayIcon, {})
144
+ })]
145
+ });
146
+ }
147
+ /**
148
+ * Positions sibling controls above the preview without nesting them inside the
149
+ * card's primary link. Use this slot for compact secondary actions such as a
150
+ * menu trigger; the consumer remains responsible for each control's behavior
151
+ * and accessible name.
152
+ */
153
+ function MediaPreviewCardActions({ className, ref, ...props }) {
154
+ return /* @__PURE__ */ jsx("div", {
155
+ ref,
156
+ "data-slot": "media-preview-card-actions",
157
+ className: cx("media-preview-card__actions", className),
158
+ ...props
159
+ });
160
+ }
161
+ /**
162
+ * Reserves the same frame as preview media when a card has no poster or video.
163
+ * Keep any explanatory copy visually hidden so the quiet fallback remains
164
+ * useful without competing with the card title.
165
+ */
166
+ function MediaPreviewCardPlaceholder({ className, ref, ...props }) {
167
+ return /* @__PURE__ */ jsx("div", {
168
+ ref,
169
+ "data-slot": "media-preview-card-placeholder",
170
+ className: cx("media-preview-card__placeholder", className),
171
+ ...props
172
+ });
173
+ }
174
+ /** Compact facts shown immediately below a preview. */
175
+ function MediaPreviewCardMeta({ className, ref, ...props }) {
176
+ return /* @__PURE__ */ jsx("div", {
177
+ ref,
178
+ "data-slot": "media-preview-card-meta",
179
+ className: cx("media-preview-card__meta", className),
180
+ ...props
181
+ });
182
+ }
183
+ /** A single icon-led fact inside MediaPreviewCardMeta. */
184
+ function MediaPreviewCardFact({ className, ref, ...props }) {
185
+ return /* @__PURE__ */ jsx("span", {
186
+ ref,
187
+ "data-slot": "media-preview-card-fact",
188
+ className: cx("media-preview-card__fact", className),
189
+ ...props
190
+ });
191
+ }
192
+ //#endregion
193
+ export { MediaPreviewCard, MediaPreviewCardActions, MediaPreviewCardFact, MediaPreviewCardMeta, MediaPreviewCardPlaceholder, MediaPreviewCardVideo };
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu as Menu$1 } from "@base-ui/react/menu";
@@ -1,5 +1,5 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
2
- import { m as DotIcon, s as CheckIcon } from "../icons--FqCZEc3.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
+ import { g as DotIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { Menu } from "@base-ui/react/menu";
@@ -1,4 +1,4 @@
1
- import { r as ButtonProps } from "../Button-FX_hpqxm.js";
1
+ import { r as ButtonProps } from "../Button-DLGzHsjc.js";
2
2
  import * as React from "react";
3
3
  import { FileUIPart, UIMessage } from "ai";
4
4
  import { StreamdownProps } from "streamdown";
@@ -128,6 +128,8 @@ declare function MessageToolbar({
128
128
  ref?: React.Ref<HTMLDivElement>;
129
129
  }): React.JSX.Element;
130
130
  interface MessageBranchProps extends React.HTMLAttributes<HTMLDivElement> {
131
+ /** Number of response branches rendered by MessageBranchContent. */
132
+ branchCount: number;
131
133
  /** Zero-based index of the initially selected branch. */
132
134
  defaultBranch?: number;
133
135
  /** Controlled branch index. */
@@ -142,6 +144,7 @@ interface MessageBranchProps extends React.HTMLAttributes<HTMLDivElement> {
142
144
  */
143
145
  declare function MessageBranch({
144
146
  className,
147
+ branchCount,
145
148
  defaultBranch,
146
149
  branch,
147
150
  onBranchChange,
@@ -1,2 +1,2 @@
1
- import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-C4eYRogZ.js";
1
+ import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-BXtmfc9Q.js";
2
2
  export { Message, MessageAction, MessageActions, MessageAttachment, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageResponse, MessageToolbar };