@mcp-b/react-components 0.30.0 → 0.30.1

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 (99) hide show
  1. package/dist/{CodeBlock-CM5gfmdq.js → CodeBlock-B5I7wje1.js} +1 -1
  2. package/dist/{FileTree-4WP4Uc_m.js → FileTree-DbQMpvxV.js} +1 -1
  3. package/dist/MenuDisclosureGroup-BUOZ42me.js +32 -0
  4. package/dist/{ModelSelector-DzdEs2fX.js → ModelSelector-DZcpUBgn.js} +1 -1
  5. package/dist/{ThinkChat-Dsm1xF3a.js → ThinkChat-yid8e_Jb.js} +1 -1
  6. package/dist/{WorkspaceFileView-hd1-cpuz.js → WorkspaceFileView-BeUpr6TU.js} +65 -88
  7. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  8. package/dist/components/agents-sdk/AgentActivityPreview.js +3 -3
  9. package/dist/components/agents-sdk/AgentChat.js +9 -9
  10. package/dist/components/agents-sdk/BrowserLiveView.js +1 -1
  11. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  12. package/dist/components/agents-sdk/BrowserRunPanel.js +1 -1
  13. package/dist/components/agents-sdk/McpConnectionRequest.js +2 -2
  14. package/dist/components/agents-sdk/McpConnectorForm.js +1 -1
  15. package/dist/components/agents-sdk/McpPluginCatalog.js +3 -3
  16. package/dist/components/agents-sdk/McpServerPicker.d.ts +9 -1
  17. package/dist/components/agents-sdk/McpServerPicker.js +7 -7
  18. package/dist/components/agents-sdk/ModelSelector.js +1 -1
  19. package/dist/components/agents-sdk/PromptInputApproval.js +1 -1
  20. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  21. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  22. package/dist/components/agents-sdk/SubagentRunSelector.js +2 -2
  23. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  24. package/dist/components/agents-sdk/ThinkChatActivity.js +1 -1
  25. package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
  26. package/dist/components/agents-sdk/ThinkExecutionDetail.js +1 -1
  27. package/dist/components/agents-sdk/ThinkExecutionStatus.js +1 -1
  28. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +3 -3
  29. package/dist/components/agents-sdk/ThinkFullApp.d.ts +12 -0
  30. package/dist/components/agents-sdk/ThinkFullApp.js +30 -11
  31. package/dist/components/agents-sdk/ThinkRecoveryNotice.js +1 -1
  32. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +2 -2
  33. package/dist/components/agents-sdk/ThinkRoutineForm.js +3 -3
  34. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +3 -0
  35. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +38 -33
  36. package/dist/components/agents-sdk/ThinkRoutineRuns.js +2 -2
  37. package/dist/components/agents-sdk/ThinkThreadPicker.js +3 -3
  38. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  39. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -3
  40. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  41. package/dist/components/agents-sdk/WorkspaceHeader.js +1 -1
  42. package/dist/components/agents-sdk/WorkspaceMountManager.js +3 -3
  43. package/dist/components/ai-sdk/Activity.js +1 -1
  44. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  45. package/dist/components/ai-sdk/Approval.js +1 -1
  46. package/dist/components/ai-sdk/Artifact.js +1 -1
  47. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  48. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  49. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  50. package/dist/components/ai-sdk/Conversation.js +1 -1
  51. package/dist/components/ai-sdk/Goal.js +1 -1
  52. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  53. package/dist/components/ai-sdk/Message.js +1 -1
  54. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  55. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  56. package/dist/components/ai-sdk/Plan.js +1 -1
  57. package/dist/components/ai-sdk/PromptInput.js +3 -3
  58. package/dist/components/ai-sdk/Queue.js +1 -1
  59. package/dist/components/ai-sdk/Reasoning.js +1 -1
  60. package/dist/components/ai-sdk/Sources.js +1 -1
  61. package/dist/components/ai-sdk/Task.js +1 -1
  62. package/dist/components/extension/ChatGptSignInScreen.js +2 -2
  63. package/dist/components/extension/CodexModelSelector.js +2 -2
  64. package/dist/components/extension/ConversationTabPicker.js +3 -3
  65. package/dist/components/foundations/Checkbox.js +1 -1
  66. package/dist/components/foundations/Collapsible.js +1 -1
  67. package/dist/components/foundations/ContextMenu.js +1 -1
  68. package/dist/components/foundations/Menubar.js +1 -1
  69. package/dist/components/foundations/SearchField.js +1 -1
  70. package/dist/components/foundations/Select.js +1 -1
  71. package/dist/components/foundations/Stepper.js +1 -1
  72. package/dist/components/foundations/Toast.js +1 -1
  73. package/dist/components/foundations/icons.js +1 -1
  74. package/dist/components/general-purpose/Commit.js +3 -3
  75. package/dist/components/general-purpose/EnvironmentVariables.js +2 -2
  76. package/dist/components/general-purpose/FileTree.js +1 -1
  77. package/dist/components/general-purpose/PricingPlanCard.js +2 -2
  78. package/dist/components/general-purpose/PricingUsageCalculator.js +1 -1
  79. package/dist/components/general-purpose/ResizableSidePanel.d.ts +6 -0
  80. package/dist/components/general-purpose/ResizableSidePanel.js +10 -2
  81. package/dist/components/general-purpose/ResponsiveSidebarShell.js +1 -1
  82. package/dist/components/general-purpose/SettingsFormDialog.js +2 -2
  83. package/dist/components/general-purpose/SetupChecklist.d.ts +3 -0
  84. package/dist/components/general-purpose/SetupChecklist.js +20 -14
  85. package/dist/components/general-purpose/Terminal.js +2 -2
  86. package/dist/components/general-purpose/TestResults.js +1 -1
  87. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  88. package/dist/components/general-purpose/WebPreview.js +2 -2
  89. package/dist/components/nanites/AgentConnection.js +2 -2
  90. package/dist/components/nanites/AgentToolDetail.js +2 -2
  91. package/dist/{copy-button-CsNSSKYG.js → copy-button-4YvddK4e.js} +1 -1
  92. package/dist/styles/file-tree.css +1 -0
  93. package/dist/styles/index.css +1 -0
  94. package/dist/styles/mcp-server-picker.css +1 -3
  95. package/dist/styles/menu-disclosure-group.css +13 -0
  96. package/dist/styles/think-full-app.css +1 -1
  97. package/dist/styles/workspace-explorer.css +0 -9
  98. package/package.json +2 -2
  99. package/dist/{icons-B1Qw05te.js → icons-B4mGvCvc.js} +1 -1
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { W as RefreshIcon, d as CheckIcon, f as ChevronDownIcon, l as BrainIcon, m as ChevronRightIcon } from "../../icons-B1Qw05te.js";
2
+ import { W as RefreshIcon, d as CheckIcon, f as ChevronDownIcon, l as BrainIcon, m as ChevronRightIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Tooltip } from "../foundations/Tooltip.js";
4
- import { a as titleCase } from "../../format-CmopcfqJ.js";
5
4
  import { Menu } from "../foundations/Menu.js";
5
+ import { a as titleCase } from "../../format-CmopcfqJ.js";
6
6
  import "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/extension/CodexModelSelector.tsx
@@ -1,8 +1,8 @@
1
- import { tt as WarningIcon } from "../../icons-B1Qw05te.js";
2
- import { Avatar } from "../foundations/Avatar.js";
1
+ import { tt as WarningIcon } from "../../icons-B4mGvCvc.js";
3
2
  import { Button } from "../foundations/Button.js";
4
- import { i as formatErrorMessage } from "../../format-CmopcfqJ.js";
5
3
  import { Menu } from "../foundations/Menu.js";
4
+ import { i as formatErrorMessage } from "../../format-CmopcfqJ.js";
5
+ import { Avatar } from "../foundations/Avatar.js";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/extension/ConversationTabPicker.tsx
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon } from "../../icons-B1Qw05te.js";
2
+ import { d as CheckIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
5
5
  //#region src/components/foundations/Checkbox.tsx
@@ -1,7 +1,7 @@
1
1
  import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import "react";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { Collapsible as Collapsible$1 } from "@base-ui/react/collapsible";
4
+ import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/foundations/Collapsible.tsx
6
6
  /**
7
7
  * Container that groups all collapsible parts. Renders a `<div>` element.
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon, v as DotIcon } from "../../icons-B1Qw05te.js";
2
+ import { d as CheckIcon, v as DotIcon } from "../../icons-B4mGvCvc.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,5 +1,5 @@
1
1
  import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon, v as DotIcon } from "../../icons-B1Qw05te.js";
2
+ import { d as CheckIcon, v as DotIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { buttonVariants } from "./Button.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { G as SearchIcon } from "../../icons-B1Qw05te.js";
2
+ import { G as SearchIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Field } from "./Field.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region src/components/foundations/SearchField.tsx
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { a as ArrowUpIcon, d as CheckIcon, n as ArrowDownIcon } from "../../icons-B1Qw05te.js";
2
+ import { a as ArrowUpIcon, d as CheckIcon, n as ArrowDownIcon } from "../../icons-B4mGvCvc.js";
3
3
  import "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Select as Select$1 } from "@base-ui/react/select";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { J as SpinnerIcon, d as CheckIcon } from "../../icons-B1Qw05te.js";
2
+ import { J as SpinnerIcon, d as CheckIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Tabs } from "./Tabs.js";
4
4
  import * as React from "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { rt as XIcon } from "../../icons-B1Qw05te.js";
2
+ import { rt as XIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { buttonVariants } from "./Button.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { $ as TerminalIcon, A as MaximizeIcon, B as PencilIcon, C as FileIcon, D as ImageIcon, E as HashIcon, F as MonitorIcon, G as SearchIcon, H as PlusIcon, I as MoonIcon, J as SpinnerIcon, K as SidebarIcon, L as MoveToFrontIcon, M as MessageSquareIcon, N as MicrophoneIcon, O as InfoIcon, P as MinusIcon, Q as TargetIcon, R as PaperclipIcon, S as EyeOffIcon, T as FolderOpenIcon, U as QueueIcon, V as PlayIcon, W as RefreshIcon, X as StopIcon, Y as SquareIcon, Z as SunIcon, _ as DiscordIcon, a as ArrowUpIcon, b as EllipsisIcon, c as BoxIcon, d as CheckIcon, et as TrashIcon, f as ChevronDownIcon, g as CopyIcon, h as CodeIcon, i as ArrowRightIcon, j as McpIcon, k as LinkIcon, l as BrainIcon, m as ChevronRightIcon, n as ArrowDownIcon, nt as WrenchIcon, o as ArrowUpRightIcon, p as ChevronLeftIcon, q as SlackIcon, r as ArrowLeftIcon, rt as XIcon, s as BookmarkIcon, t as ArchiveIcon, tt as WarningIcon, u as CalendarIcon, v as DotIcon, w as FolderIcon, x as EyeIcon, y as DownloadIcon, z as PauseIcon } from "../../icons-B1Qw05te.js";
1
+ import { $ as TerminalIcon, A as MaximizeIcon, B as PencilIcon, C as FileIcon, D as ImageIcon, E as HashIcon, F as MonitorIcon, G as SearchIcon, H as PlusIcon, I as MoonIcon, J as SpinnerIcon, K as SidebarIcon, L as MoveToFrontIcon, M as MessageSquareIcon, N as MicrophoneIcon, O as InfoIcon, P as MinusIcon, Q as TargetIcon, R as PaperclipIcon, S as EyeOffIcon, T as FolderOpenIcon, U as QueueIcon, V as PlayIcon, W as RefreshIcon, X as StopIcon, Y as SquareIcon, Z as SunIcon, _ as DiscordIcon, a as ArrowUpIcon, b as EllipsisIcon, c as BoxIcon, d as CheckIcon, et as TrashIcon, f as ChevronDownIcon, g as CopyIcon, h as CodeIcon, i as ArrowRightIcon, j as McpIcon, k as LinkIcon, l as BrainIcon, m as ChevronRightIcon, n as ArrowDownIcon, nt as WrenchIcon, o as ArrowUpRightIcon, p as ChevronLeftIcon, q as SlackIcon, r as ArrowLeftIcon, rt as XIcon, s as BookmarkIcon, t as ArchiveIcon, tt as WarningIcon, u as CalendarIcon, v as DotIcon, w as FolderIcon, x as EyeIcon, y as DownloadIcon, z as PauseIcon } from "../../icons-B4mGvCvc.js";
2
2
  export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, HashIcon, ImageIcon, InfoIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
@@ -1,9 +1,9 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { C as FileIcon, m as ChevronRightIcon } from "../../icons-B1Qw05te.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
4
- import { Avatar } from "../foundations/Avatar.js";
5
- import { t as CopyButton } from "../../copy-button-CsNSSKYG.js";
3
+ import { C as FileIcon, m as ChevronRightIcon } from "../../icons-B4mGvCvc.js";
4
+ import { t as CopyButton } from "../../copy-button-4YvddK4e.js";
6
5
  import { Badge } from "../foundations/Badge.js";
6
+ import { Avatar } from "../foundations/Avatar.js";
7
7
  import "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/components/general-purpose/Commit.tsx
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { S as EyeOffIcon, x as EyeIcon } from "../../icons-B1Qw05te.js";
3
- import { t as CopyButton } from "../../copy-button-CsNSSKYG.js";
2
+ import { S as EyeOffIcon, x as EyeIcon } from "../../icons-B4mGvCvc.js";
3
+ import { t as CopyButton } from "../../copy-button-4YvddK4e.js";
4
4
  import { Badge } from "../foundations/Badge.js";
5
5
  import { Switch } from "../foundations/Switch.js";
6
6
  import * as React from "react";
@@ -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-4WP4Uc_m.js";
1
+ import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../../FileTree-DbQMpvxV.js";
2
2
  export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
@@ -1,10 +1,10 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { O as InfoIcon, P as MinusIcon, d as CheckIcon } from "../../icons-B1Qw05te.js";
2
+ import { O as InfoIcon, P as MinusIcon, d as CheckIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { Separator } from "../foundations/Separator.js";
6
- import { Badge } from "../foundations/Badge.js";
7
6
  import { Card } from "../foundations/Card.js";
7
+ import { Badge } from "../foundations/Badge.js";
8
8
  import { getPlanPrice, getPlanYearlySavings } from "./Pricing.js";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  //#region src/components/general-purpose/PricingPlanCard.tsx
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Separator } from "../foundations/Separator.js";
3
+ import { Card } from "../foundations/Card.js";
3
4
  import { Slider } from "../foundations/Slider.js";
4
5
  import { Progress } from "../foundations/Progress.js";
5
- import { Card } from "../foundations/Card.js";
6
6
  import { formatPricingUsage, getUsagePrice } from "./Pricing.js";
7
7
  import * as React from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -18,6 +18,10 @@ interface ResizableSidePanelRootProps extends React.HTMLAttributes<HTMLDivElemen
18
18
  keyboardStep?: number;
19
19
  /** Called whenever pointer or keyboard input changes the panel size. */
20
20
  onSizeChange?: (size: number) => void;
21
+ /** Pointer size below which the consumer should collapse the panel. */
22
+ collapseThreshold?: number;
23
+ /** Called once pointer resizing crosses `collapseThreshold`. */
24
+ onCollapse?: () => void;
21
25
  }
22
26
  interface ResizableSidePanelHandleProps extends Omit<SeparatorProps, "aria-label" | "aria-orientation" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "decorative" | "orientation"> {}
23
27
  /**
@@ -27,12 +31,14 @@ interface ResizableSidePanelHandleProps extends Omit<SeparatorProps, "aria-label
27
31
  declare function ResizableSidePanelRoot({
28
32
  children,
29
33
  className,
34
+ collapseThreshold,
30
35
  defaultSize,
31
36
  keyboardStep,
32
37
  label,
33
38
  maxSize,
34
39
  minSize,
35
40
  onSizeChange,
41
+ onCollapse,
36
42
  ref,
37
43
  side,
38
44
  style,
@@ -14,7 +14,7 @@ function panelSizeDelta(physicalDelta, side, direction) {
14
14
  * Shared sizing seam for a logical start- or end-side panel. Consumers retain
15
15
  * ownership of panel placement, visibility, compact behavior, and top bars.
16
16
  */
17
- function ResizableSidePanelRoot({ children, className, defaultSize, keyboardStep = 24, label, maxSize, minSize, onSizeChange, ref, side = "start", style, ...props }) {
17
+ function ResizableSidePanelRoot({ children, className, collapseThreshold, defaultSize, keyboardStep = 24, label, maxSize, minSize, onSizeChange, onCollapse, ref, side = "start", style, ...props }) {
18
18
  const [size, setInnerSize] = React.useState(() => clamp(defaultSize, minSize, maxSize));
19
19
  const cleanupResizeRef = React.useRef(null);
20
20
  const setSize = React.useCallback((nextSize) => {
@@ -41,7 +41,13 @@ function ResizableSidePanelRoot({ children, className, defaultSize, keyboardStep
41
41
  const direction = getComputedStyle(event.currentTarget).direction === "rtl" ? "rtl" : "ltr";
42
42
  const onMove = (move) => {
43
43
  if (move.pointerId !== pointerId) return;
44
- setSize(startSize + panelSizeDelta(move.clientX - startX, side, direction));
44
+ const nextSize = startSize + panelSizeDelta(move.clientX - startX, side, direction);
45
+ if (collapseThreshold !== void 0 && nextSize < collapseThreshold) {
46
+ onCollapse?.();
47
+ stopResize();
48
+ return;
49
+ }
50
+ setSize(nextSize);
45
51
  };
46
52
  const onEnd = (end) => {
47
53
  if (end.pointerId === pointerId) stopResize();
@@ -58,6 +64,8 @@ function ResizableSidePanelRoot({ children, className, defaultSize, keyboardStep
58
64
  window.addEventListener("pointerup", onEnd);
59
65
  window.addEventListener("pointercancel", onEnd);
60
66
  }, [
67
+ collapseThreshold,
68
+ onCollapse,
61
69
  setSize,
62
70
  side,
63
71
  size,
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { K as SidebarIcon } from "../../icons-B1Qw05te.js";
2
+ import { K as SidebarIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { t as capitalize } from "../../format-CmopcfqJ.js";
5
5
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
@@ -1,8 +1,8 @@
1
1
  import { Button } from "../foundations/Button.js";
2
- import { Dialog } from "../foundations/Dialog.js";
3
- import { i as formatErrorMessage } from "../../format-CmopcfqJ.js";
4
2
  import { Field } from "../foundations/Field.js";
5
3
  import { Form } from "../foundations/Form.js";
4
+ import { Dialog } from "../foundations/Dialog.js";
5
+ import { i as formatErrorMessage } from "../../format-CmopcfqJ.js";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/general-purpose/SettingsFormDialog.tsx
@@ -15,6 +15,8 @@ interface SetupChecklistGroupProps<Id extends string = string> {
15
15
  /** Quiet visible heading above the checklist rows. */
16
16
  label: React.ReactNode;
17
17
  entries: readonly SetupChecklistEntry<Id>[];
18
+ /** Whether rows are visible when the containing menu first opens. */
19
+ defaultOpen?: boolean;
18
20
  /** Called with the selected entry id — complete rows re-run their setup. */
19
21
  onSelect: (id: Id) => void;
20
22
  }
@@ -22,6 +24,7 @@ interface SetupChecklistGroupProps<Id extends string = string> {
22
24
  declare function SetupChecklistGroup<Id extends string = string>({
23
25
  label,
24
26
  entries,
27
+ defaultOpen,
25
28
  onSelect
26
29
  }: SetupChecklistGroupProps<Id>): React.JSX.Element;
27
30
  interface SetupChecklistActionProps<Id extends string = string> extends SetupChecklistGroupProps<Id> {
@@ -1,23 +1,28 @@
1
- import { H as PlusIcon, d as CheckIcon, tt as WarningIcon } from "../../icons-B1Qw05te.js";
1
+ import { H as PlusIcon, d as CheckIcon, tt as WarningIcon } from "../../icons-B4mGvCvc.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { Menu } from "../foundations/Menu.js";
4
+ import { t as MenuDisclosureGroup } from "../../MenuDisclosureGroup-BUOZ42me.js";
4
5
  import "react";
5
6
  import { jsx, jsxs } from "react/jsx-runtime";
6
7
  //#region src/components/general-purpose/SetupChecklist.tsx
7
8
  /** Checklist rows for any Menu surface (composer plus menu, tray menu). */
8
- function SetupChecklistGroup({ label, entries, onSelect }) {
9
- return /* @__PURE__ */ jsxs(Menu.Group, { children: [/* @__PURE__ */ jsx(Menu.GroupLabel, { children: label }), entries.map((entry) => /* @__PURE__ */ jsxs(Menu.Item, {
10
- "aria-label": `${entry.name}, ${entry.complete ? "complete" : "not set up"}`,
11
- onClick: () => onSelect(entry.id),
12
- children: [
13
- entry.icon,
14
- /* @__PURE__ */ jsx("span", {
15
- className: "sigvelo-truncate-grow",
16
- children: entry.description
17
- }),
18
- entry.complete ? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx(PlusIcon, { "aria-hidden": "true" })
19
- ]
20
- }, entry.id))] });
9
+ function SetupChecklistGroup({ label, entries, defaultOpen = false, onSelect }) {
10
+ return /* @__PURE__ */ jsx(MenuDisclosureGroup, {
11
+ label,
12
+ defaultOpen,
13
+ children: entries.map((entry) => /* @__PURE__ */ jsxs(Menu.Item, {
14
+ "aria-label": `${entry.name}, ${entry.complete ? "complete" : "not set up"}`,
15
+ onClick: () => onSelect(entry.id),
16
+ children: [
17
+ entry.icon,
18
+ /* @__PURE__ */ jsx("span", {
19
+ className: "sigvelo-truncate-grow",
20
+ children: entry.description
21
+ }),
22
+ entry.complete ? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true" }) : /* @__PURE__ */ jsx(PlusIcon, { "aria-hidden": "true" })
23
+ ]
24
+ }, entry.id))
25
+ });
21
26
  }
22
27
  /** Progress-aware tray trigger opening the checklist in its own menu. */
23
28
  function SetupChecklistAction({ actionLabel, label, entries, onSelect }) {
@@ -35,6 +40,7 @@ function SetupChecklistAction({ actionLabel, label, entries, onSelect }) {
35
40
  align: "start",
36
41
  sideOffset: 4,
37
42
  children: /* @__PURE__ */ jsx(Menu.Popup, { children: /* @__PURE__ */ jsx(SetupChecklistGroup, {
43
+ defaultOpen: true,
38
44
  label,
39
45
  entries,
40
46
  onSelect
@@ -1,7 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { $ as TerminalIcon, rt as XIcon } from "../../icons-B1Qw05te.js";
2
+ import { $ as TerminalIcon, rt as XIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
- import { t as CopyButton } from "../../copy-button-CsNSSKYG.js";
4
+ import { t as CopyButton } from "../../copy-button-4YvddK4e.js";
5
5
  import { Badge } from "../foundations/Badge.js";
6
6
  import { ScrollArea } from "../foundations/ScrollArea.js";
7
7
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { J as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, rt as XIcon } from "../../icons-B1Qw05te.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
+ import { J as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, rt as XIcon } from "../../icons-B4mGvCvc.js";
4
4
  import { Badge } from "../foundations/Badge.js";
5
5
  import { Progress } from "../foundations/Progress.js";
6
6
  import * as React from "react";
@@ -1,4 +1,4 @@
1
- import { F as MonitorIcon, I as MoonIcon, Z as SunIcon } from "../../icons-B1Qw05te.js";
1
+ import { F as MonitorIcon, I as MoonIcon, Z as SunIcon } from "../../icons-B4mGvCvc.js";
2
2
  import { Radio, RadioGroup } from "../foundations/RadioGroup.js";
3
3
  import { useTheme } from "../foundations/ThemeProvider.js";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { W as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-B1Qw05te.js";
3
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
+ import { W as RefreshIcon, f as ChevronDownIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-B4mGvCvc.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { Badge } from "../foundations/Badge.js";
6
- import { Input } from "../foundations/Input.js";
7
6
  import { ScrollArea } from "../foundations/ScrollArea.js";
7
+ import { Input } from "../foundations/Input.js";
8
8
  import * as React from "react";
9
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
10
  //#region src/components/general-purpose/WebPreview.tsx
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { k as LinkIcon } from "../../icons-B1Qw05te.js";
2
+ import { k as LinkIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { Button } from "../foundations/Button.js";
4
+ import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-B5I7wje1.js";
4
5
  import { Popover } from "../foundations/Popover.js";
5
- import { a as CodeBlockCopyButton, i as CodeBlockContent, n as CodeBlockActions, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock } from "../../CodeBlock-CM5gfmdq.js";
6
6
  import * as React from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
8
  //#region src/components/nanites/AgentConnection.tsx
@@ -1,9 +1,9 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { r as ArrowLeftIcon } from "../../icons-B1Qw05te.js";
2
+ import { r as ArrowLeftIcon } from "../../icons-B4mGvCvc.js";
3
3
  import { TransitionSurface } from "../foundations/TransitionSurface.js";
4
4
  import { SubagentRunMilestone, SubagentRunMilestones, SubagentRunProgress } from "../agents-sdk/SubagentRunDetails.js";
5
5
  import { SubagentRunIndicator, getSubagentRunName } from "../agents-sdk/SubagentRunIndicator.js";
6
- import { t as ThinkChat } from "../../ThinkChat-Dsm1xF3a.js";
6
+ import { t as ThinkChat } from "../../ThinkChat-yid8e_Jb.js";
7
7
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
8
8
  import { NaniteMark } from "./NaniteScene.js";
9
9
  import * as React from "react";
@@ -1,4 +1,4 @@
1
- import { d as CheckIcon, g as CopyIcon } from "./icons-B1Qw05te.js";
1
+ import { d as CheckIcon, g as CopyIcon } from "./icons-B4mGvCvc.js";
2
2
  import { IconButton } from "./components/foundations/IconButton.js";
3
3
  import * as React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -81,6 +81,7 @@
81
81
  font-family: inherit;
82
82
  font-size: var(--sigvelo-text-compact);
83
83
  text-align: start;
84
+ text-decoration: none;
84
85
  cursor: pointer;
85
86
  border-radius: var(--sigvelo-radius-sm);
86
87
  transition: background-color var(--sigvelo-motion-duration-interaction)
@@ -49,6 +49,7 @@
49
49
  @import "./mcp-server-picker.css" layer(components);
50
50
  @import "./media-preview-card.css" layer(components);
51
51
  @import "./menu.css" layer(components);
52
+ @import "./menu-disclosure-group.css" layer(components);
52
53
  @import "./menubar.css" layer(components);
53
54
  @import "./message-scroller.css" layer(components);
54
55
  @import "./meter.css" layer(components);
@@ -2,9 +2,7 @@
2
2
  margin-block-start: var(--sigvelo-spacing-0-5);
3
3
  }
4
4
 
5
- .mcp-server-picker__group-label {
6
- padding-block: var(--sigvelo-spacing-1-5) var(--sigvelo-spacing-0-5);
7
- padding-inline: var(--sigvelo-spacing-2);
5
+ .mcp-server-picker__group-trigger {
8
6
  color: var(--sigvelo-color-text);
9
7
  font-size: var(--sigvelo-text-xs);
10
8
  font-weight: var(--sigvelo-font-weight-normal);
@@ -0,0 +1,13 @@
1
+ .menu-disclosure-group__trigger > svg {
2
+ flex: 0 0 auto;
3
+ transition: rotate var(--sigvelo-motion-duration-interaction) var(--sigvelo-motion-ease-change);
4
+ }
5
+
6
+ .menu-disclosure-group__trigger[aria-expanded="true"] > svg {
7
+ rotate: 180deg;
8
+ }
9
+
10
+ .menu-disclosure-group__items {
11
+ display: flex;
12
+ flex-direction: column;
13
+ }
@@ -11,7 +11,7 @@
11
11
  position: relative;
12
12
  container: think-full-app / inline-size;
13
13
  block-size: 100%;
14
- min-block-size: 32rem;
14
+ min-block-size: 0;
15
15
  min-inline-size: 0;
16
16
  display: grid;
17
17
  grid-template-rows: minmax(0, 1fr);
@@ -125,15 +125,6 @@
125
125
  position: relative;
126
126
  }
127
127
 
128
- .workspace-explorer__file-close {
129
- position: absolute;
130
- z-index: 2;
131
- inset-block-start: calc(var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2));
132
- inset-inline-end: var(--sigvelo-spacing-2);
133
- background-color: var(--sigvelo-color-surface-raised);
134
- box-shadow: var(--sigvelo-elevation-floating);
135
- }
136
-
137
128
  .workspace-explorer__filter {
138
129
  --sigvelo-recipe-control-height: var(--sigvelo-density-compact-control-height);
139
130
  --sigvelo-recipe-control-font-size: var(--sigvelo-density-compact-control-font-size);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-b/react-components",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "description": "MCP-B React components built on Base UI and shared design tokens, including Cloudflare Think chat primitives.",
5
5
  "homepage": "https://design-system.sigvelo.com",
6
6
  "bugs": {
@@ -58,7 +58,7 @@
58
58
  "streamdown": "^2.5.0",
59
59
  "unist-util-visit": "^5.1.0",
60
60
  "yet-another-react-lightbox": "^3.32.1",
61
- "@mcp-b/design-tokens": "0.30.0"
61
+ "@mcp-b/design-tokens": "0.30.1"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@ai-sdk/react": "^3.0.230",
@@ -1,8 +1,8 @@
1
1
  import { t as cx } from "./class-names-BiMDVpUo.js";
2
+ import { jsx } from "react/jsx-runtime";
2
3
  import { Archive, ArrowDown, ArrowLeft, ArrowRight, ArrowUp, ArrowUpRight, Bookmark, Box, Brain, CalendarDays, Check, ChevronDown, ChevronLeft, ChevronRight, CircleStop, CodeXml, Copy, CornerDownRight, Dot, Download, Ellipsis, Eye, EyeOff, File, Folder, FolderOpen, Hash, Image, Info, Link2, ListRestart, LoaderCircle, Maximize2, MessageSquare, Mic, Minus, Monitor, Moon, PanelLeft, Paperclip, Pause, Pencil, Play, Plus, RefreshCw, Search, Square, Sun, Target, Terminal, Trash2, TriangleAlert, Wrench, X } from "lucide-react";
3
4
  import { FaSlack } from "react-icons/fa6";
4
5
  import { SiDiscord, SiModelcontextprotocol } from "react-icons/si";
5
- import { jsx } from "react/jsx-runtime";
6
6
  //#region src/components/_internal/icons.tsx
7
7
  function icon(Component) {
8
8
  return function DesignSystemIcon({ size = 16, strokeWidth = 1.75, ...props }) {