@mcp-b/react-components 0.17.0 → 0.19.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 (294) 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-Bb-IPBc_.js} +9 -6
  5. package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
  6. package/dist/{FileTree-B7bBsUyU.js → FileTree-CUlXfnmc.js} +42 -16
  7. package/dist/{Message-C4eYRogZ.js → Message-rZEaaD8Q.js} +13 -20
  8. package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-4GsCWcZV.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-CEdArlOT.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 +35 -15
  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 +31 -18
  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-cYsJBauI.js → copy-button-BtRwhRks.js} +3 -2
  203. package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
  204. package/dist/{icons--FqCZEc3.js → icons-DKXiSepE.js} +7 -3
  205. package/dist/{icons-DpUqY8Mp.d.ts → icons-DkRtZmvT.d.ts} +22 -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 +46 -8
  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 +87 -70
  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/codex-model-catalog.d.ts +2 -8
  288. package/dist/utils/codex-model-catalog.js +2 -16
  289. package/dist/utils/mcp-server-catalog.d.ts +139 -0
  290. package/dist/utils/mcp-server-catalog.js +98 -0
  291. package/dist/utils/structured-code.d.ts +1 -1
  292. package/package.json +13 -7
  293. package/dist/Workspace-C9RFoxcu.d.ts +0 -62
  294. 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-Bb-IPBc_.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorValue, CodeBlockTitle, highlightCode };
@@ -1,5 +1,6 @@
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 { U as RefreshIcon, c as BrainIcon, d as ChevronDownIcon, p as ChevronRightIcon, u as CheckIcon } from "../icons-DKXiSepE.js";
3
+ import { Tooltip } from "./Tooltip.js";
3
4
  import { Menu } from "./Menu.js";
4
5
  import "react";
5
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -19,6 +20,10 @@ function CodexModelSelector({ models, selectedModelId = null, onSelectModel, sel
19
20
  const speedOptions = getServiceTiers(selectedModel);
20
21
  const selectedEffort = effortOptions.find((option) => option.reasoningEffort === selectedEffortId);
21
22
  const selectedSpeed = speedOptions.find((option) => option.id === selectedSpeedId);
23
+ const selectedModelLabel = selectedModel?.displayName ?? "Select model";
24
+ const compactModelLabel = selectedModelLabel.replace(/^GPT-([^-]+).*$/i, "$1");
25
+ const selectedEffortLabel = selectedEffort ? formatSettingLabel(selectedEffort.reasoningEffort) : void 0;
26
+ const selectedSettingsLabel = selectedEffortLabel ? `${selectedModelLabel} · ${selectedEffortLabel}` : selectedModelLabel;
22
27
  function handleSelectModel(modelId) {
23
28
  const model = visibleModels.find((option) => option.id === modelId);
24
29
  if (!model) return;
@@ -41,23 +46,38 @@ function CodexModelSelector({ models, selectedModelId = null, onSelectModel, sel
41
46
  function handleReset() {
42
47
  onReset?.();
43
48
  }
49
+ const trigger = /* @__PURE__ */ jsxs(Menu.Trigger, {
50
+ unstyled: true,
51
+ className: cx("codex-model-selector__trigger", className),
52
+ disabled,
53
+ "aria-label": ariaLabel,
54
+ children: [
55
+ /* @__PURE__ */ jsxs("span", {
56
+ className: "codex-model-selector__compact",
57
+ children: [/* @__PURE__ */ jsx(BrainIcon, { className: "codex-model-selector__compact-icon" }), /* @__PURE__ */ jsx("span", {
58
+ className: "codex-model-selector__compact-label",
59
+ children: compactModelLabel
60
+ })]
61
+ }),
62
+ /* @__PURE__ */ jsxs("span", {
63
+ className: "codex-model-selector__summary",
64
+ children: [/* @__PURE__ */ jsx("span", { children: selectedModelLabel }), selectedEffort ? /* @__PURE__ */ jsx("span", {
65
+ className: cx("codex-model-selector__summary-effort", selectedEffort.reasoningEffort === "ultra" && "codex-model-selector__summary-effort--ultra"),
66
+ children: selectedEffortLabel
67
+ }) : null]
68
+ }),
69
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "codex-model-selector__trigger-icon" })
70
+ ]
71
+ });
44
72
  return /* @__PURE__ */ jsxs(Menu.Root, {
45
73
  open,
46
74
  defaultOpen,
47
75
  onOpenChange,
48
- children: [/* @__PURE__ */ jsxs(Menu.Trigger, {
49
- unstyled: true,
50
- className: cx("codex-model-selector__trigger", className),
51
- disabled,
52
- "aria-label": ariaLabel,
53
- children: [/* @__PURE__ */ jsxs("span", {
54
- className: "codex-model-selector__summary",
55
- children: [/* @__PURE__ */ jsx("span", { children: selectedModel?.displayName ?? "Select model" }), selectedEffort ? /* @__PURE__ */ jsx("span", {
56
- className: cx("codex-model-selector__summary-effort", selectedEffort.reasoningEffort === "ultra" && "codex-model-selector__summary-effort--ultra"),
57
- children: formatSettingLabel(selectedEffort.reasoningEffort)
58
- }) : null]
59
- }), /* @__PURE__ */ jsx(ChevronDownIcon, { className: "codex-model-selector__trigger-icon" })]
60
- }), /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
76
+ children: [/* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: trigger }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
77
+ side: "top",
78
+ sideOffset: 6,
79
+ children: /* @__PURE__ */ jsxs(Tooltip.Popup, { children: ["Response settings: ", selectedSettingsLabel] })
80
+ }) })] }), /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
61
81
  side: "top",
62
82
  align: "end",
63
83
  children: /* @__PURE__ */ jsxs(Menu.Popup, {
@@ -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 { S as FileIcon, p as ChevronRightIcon } from "../icons-DKXiSepE.js";
4
+ import { t as CopyButton } from "../copy-button-BtRwhRks.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 { _ as DotIcon, u as CheckIcon } from "../icons-DKXiSepE.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 { n as ArrowDownIcon, v as DownloadIcon } from "../icons-DKXiSepE.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 EyeIcon, x as EyeOffIcon } from "../icons-DKXiSepE.js";
3
+ import { t as CopyButton } from "../copy-button-BtRwhRks.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-CUlXfnmc.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 { A as McpIcon, K as SpinnerIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DKXiSepE.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 { K as SpinnerIcon, N as MinusIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DKXiSepE.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 };