@mcp-b/react-components 0.40.0 → 0.41.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 (196) hide show
  1. package/dist/{AgentChat-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
  2. package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
  3. package/dist/AppTopBar-ZdgmB_Lu.d.ts +97 -0
  4. package/dist/{CodeBlock-CWk1FVtm.js → CodeBlock-BjELA-_s.js} +1 -1
  5. package/dist/{FileTree-xqHYBw4g.js → FileTree-DMYRdT6R.js} +1 -1
  6. package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
  7. package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
  8. package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-DyGHj01E.d.ts} +1 -1
  9. package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
  10. package/dist/{ToggleGroup-_pQMyHGM.d.ts → ToggleGroup-BrQZOQn_.d.ts} +1 -1
  11. package/dist/Toolbar-CBOseBQr.d.ts +152 -0
  12. package/dist/{WorkspaceFileView-Lab3om3F.js → WorkspaceFileView-D0yFwoDr.js} +2 -2
  13. package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
  14. package/dist/components/agents-sdk/AgentActivity.js +1 -1
  15. package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
  16. package/dist/components/agents-sdk/AgentChat.js +41 -18
  17. package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
  18. package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
  19. package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
  20. package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
  21. package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
  22. package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
  23. package/dist/components/agents-sdk/BrowserReplay.js +1 -1
  24. package/dist/components/agents-sdk/BrowserRunPanel.d.ts +1 -1
  25. package/dist/components/agents-sdk/BrowserRunPanel.js +6 -12
  26. package/dist/components/agents-sdk/ManagerOffice.d.ts +156 -0
  27. package/dist/components/agents-sdk/ManagerOffice.js +662 -0
  28. package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
  29. package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
  30. package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
  31. package/dist/components/agents-sdk/McpPluginCatalog.js +80 -62
  32. package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
  33. package/dist/components/agents-sdk/McpServerPicker.js +2 -2
  34. package/dist/components/agents-sdk/ModelSelector.js +2 -2
  35. package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
  36. package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
  37. package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
  38. package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
  39. package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
  40. package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
  41. package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
  42. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  43. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  44. package/dist/components/agents-sdk/ThinkChatActivity.js +1 -1
  45. package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
  46. package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
  47. package/dist/components/agents-sdk/ThinkExecutionDetail.js +43 -43
  48. package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
  49. package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
  50. package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
  51. package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
  52. package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
  53. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +42 -37
  54. package/dist/components/agents-sdk/ThinkFullApp.d.ts +18 -6
  55. package/dist/components/agents-sdk/ThinkFullApp.js +113 -145
  56. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
  57. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  58. package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
  59. package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
  60. package/dist/components/agents-sdk/ThinkRoutineDetail.js +5 -16
  61. package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
  62. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +69 -89
  63. package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
  64. package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
  65. package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -2
  66. package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
  67. package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
  68. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  69. package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
  70. package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
  71. package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
  72. package/dist/components/ai-sdk/Activity.js +1 -1
  73. package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
  74. package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
  75. package/dist/components/ai-sdk/Approval.js +1 -1
  76. package/dist/components/ai-sdk/Artifact.js +1 -1
  77. package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
  78. package/dist/components/ai-sdk/ChainOfThought.js +1 -1
  79. package/dist/components/ai-sdk/Checkpoint.js +1 -1
  80. package/dist/components/ai-sdk/CodeBlock.js +1 -1
  81. package/dist/components/ai-sdk/Conversation.js +1 -1
  82. package/dist/components/ai-sdk/Goal.js +1 -1
  83. package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
  84. package/dist/components/ai-sdk/Message.d.ts +2 -2
  85. package/dist/components/ai-sdk/Message.js +25 -3
  86. package/dist/components/ai-sdk/MessageScroller.js +1 -1
  87. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
  88. package/dist/components/ai-sdk/Plan.js +1 -1
  89. package/dist/components/ai-sdk/PromptInput.js +1 -1
  90. package/dist/components/ai-sdk/Queue.d.ts +4 -4
  91. package/dist/components/ai-sdk/Queue.js +6 -15
  92. package/dist/components/ai-sdk/Reasoning.js +1 -1
  93. package/dist/components/ai-sdk/Sources.js +1 -1
  94. package/dist/components/ai-sdk/Task.d.ts +2 -2
  95. package/dist/components/ai-sdk/Task.js +2 -2
  96. package/dist/components/extension/ChatGptSignInScreen.js +1 -1
  97. package/dist/components/extension/CodexModelSelector.js +1 -1
  98. package/dist/components/extension/ConversationTabPicker.js +1 -1
  99. package/dist/components/foundations/Avatar.d.ts +1 -10
  100. package/dist/components/foundations/Avatar.js +1 -10
  101. package/dist/components/foundations/Checkbox.js +1 -1
  102. package/dist/components/foundations/CheckboxGroup.js +1 -0
  103. package/dist/components/foundations/ContextMenu.js +1 -1
  104. package/dist/components/foundations/LinkButton.d.ts +12 -10
  105. package/dist/components/foundations/LinkButton.js +15 -11
  106. package/dist/components/foundations/Menubar.js +1 -1
  107. package/dist/components/foundations/SearchField.js +1 -1
  108. package/dist/components/foundations/Select.js +1 -1
  109. package/dist/components/foundations/Stepper.js +1 -1
  110. package/dist/components/foundations/Toast.js +1 -1
  111. package/dist/components/foundations/ToggleGroup.d.ts +1 -1
  112. package/dist/components/foundations/ToggleGroup.js +1 -1
  113. package/dist/components/foundations/Toolbar.d.ts +1 -151
  114. package/dist/components/foundations/icons.d.ts +2 -2
  115. package/dist/components/foundations/icons.js +2 -2
  116. package/dist/components/general-purpose/AppTopBar.d.ts +1 -90
  117. package/dist/components/general-purpose/AppTopBar.js +2 -1
  118. package/dist/components/general-purpose/Commit.d.ts +2 -2
  119. package/dist/components/general-purpose/Commit.js +5 -13
  120. package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
  121. package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
  122. package/dist/components/general-purpose/FileTree.js +1 -1
  123. package/dist/components/general-purpose/PricingBillingToggle.js +5 -10
  124. package/dist/components/general-purpose/PricingPlanCard.js +15 -14
  125. package/dist/components/general-purpose/PricingUsageCalculator.js +1 -1
  126. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +95 -2
  127. package/dist/components/general-purpose/ResponsiveSidebarShell.js +90 -34
  128. package/dist/components/general-purpose/SetupChecklist.js +1 -1
  129. package/dist/components/general-purpose/Terminal.d.ts +1 -1
  130. package/dist/components/general-purpose/Terminal.js +4 -12
  131. package/dist/components/general-purpose/TestResults.d.ts +1 -1
  132. package/dist/components/general-purpose/TestResults.js +8 -21
  133. package/dist/components/general-purpose/ThemeModeControl.js +1 -1
  134. package/dist/components/general-purpose/WebPreview.d.ts +1 -1
  135. package/dist/components/general-purpose/WebPreview.js +4 -12
  136. package/dist/components/nanites/AgentConnection.js +2 -2
  137. package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
  138. package/dist/components/nanites/AgentToolDetail.js +7 -7
  139. package/dist/components/nanites/NaniteScene.js +11 -11
  140. package/dist/{copy-button-Bc7jsYv_.js → copy-button-lys9N_aI.js} +1 -1
  141. package/dist/{icons-DwgNir1Q.d.ts → icons-0corjfxR.d.ts} +1 -16
  142. package/dist/{icons-MmIXciMO.js → icons-CVFSeTJn.js} +2 -5
  143. package/dist/styles/agent-attention.css +5 -5
  144. package/dist/styles/agent-chat.css +47 -12
  145. package/dist/styles/agent-tool-detail.css +2 -12
  146. package/dist/styles/app-icon.css +12 -18
  147. package/dist/styles/app-top-bar.css +32 -6
  148. package/dist/styles/avatar.css +6 -22
  149. package/dist/styles/base.css +2 -8
  150. package/dist/styles/browser-live-screen.css +38 -0
  151. package/dist/styles/browser-live-view.css +12 -4
  152. package/dist/styles/browser-run-panel.css +20 -18
  153. package/dist/styles/chatgpt-sign-in-screen.css +5 -5
  154. package/dist/styles/commit.css +24 -1
  155. package/dist/styles/environment-variables.css +3 -0
  156. package/dist/styles/index.css +5 -4
  157. package/dist/styles/manager-office.css +486 -0
  158. package/dist/styles/mcp-plugin-catalog.css +39 -35
  159. package/dist/styles/mcp-server-picker.css +1 -1
  160. package/dist/styles/message.css +41 -18
  161. package/dist/styles/nanite-scene.css +9 -9
  162. package/dist/styles/pricing-page.css +12 -8
  163. package/dist/styles/prompt-input.css +8 -13
  164. package/dist/styles/recipes.css +1 -57
  165. package/dist/styles/responsive-sidebar-shell.css +70 -20
  166. package/dist/styles/subagent-run.css +20 -3
  167. package/dist/styles/terminal.css +19 -0
  168. package/dist/styles/test-results.css +10 -1
  169. package/dist/styles/think-execution-status.css +8 -24
  170. package/dist/styles/think-execution-workbench.css +98 -105
  171. package/dist/styles/think-full-app.css +81 -193
  172. package/dist/styles/think-routine-library.css +0 -40
  173. package/dist/styles/think-thread-picker.css +8 -3
  174. package/dist/styles/transition-surface.css +7 -8
  175. package/dist/styles/utilities.css +42 -0
  176. package/dist/styles/web-preview.css +28 -5
  177. package/dist/styles/workspace-explorer.css +4 -23
  178. package/dist/styles/workspace-mount-manager.css +22 -0
  179. package/package.json +37 -35
  180. package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
  181. package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
  182. package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
  183. package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
  184. package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
  185. package/dist/components/foundations/Badge.d.ts +0 -62
  186. package/dist/components/foundations/Badge.js +0 -55
  187. package/dist/components/foundations/StatusPill.d.ts +0 -43
  188. package/dist/components/foundations/StatusPill.js +0 -35
  189. package/dist/components/general-purpose/Shell.d.ts +0 -149
  190. package/dist/components/general-purpose/Shell.js +0 -116
  191. package/dist/styles/agent-activity-preview-overlay.css +0 -169
  192. package/dist/styles/agent-activity-preview.css +0 -209
  193. package/dist/styles/badge.css +0 -120
  194. package/dist/styles/shell.css +0 -122
  195. package/dist/styles/status-pill.css +0 -39
  196. package/dist/{ThinkChat-DkA4Wr71.js → ThinkChat-BES_3Mb-.js} +1 -1
@@ -1,7 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { buttonVariants } from "../foundations/Button.js";
3
3
  import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
4
- import { Badge } from "../foundations/Badge.js";
5
4
  import { EmptyState } from "../foundations/EmptyState.js";
6
5
  import { getThinkExecutionRunAccessibleName, getThinkExecutionRunId, isThinkSubmissionRun } from "./ThinkExecutionRun.js";
7
6
  import { ThinkExecutionRunSummary } from "./ThinkExecutionStatus.js";
@@ -16,18 +15,12 @@ function ThinkRoutineRuns({ className, runs, title = "Recent runs", emptyState =
16
15
  className: cx("think-routine-runs", "think-routine-library__runs", className),
17
16
  "aria-labelledby": titleId,
18
17
  ...props,
19
- children: [/* @__PURE__ */ jsxs("div", {
18
+ children: [/* @__PURE__ */ jsx("div", {
20
19
  className: "think-routine-library__section-heading",
21
- children: [/* @__PURE__ */ jsx("h2", {
20
+ children: /* @__PURE__ */ jsx("h2", {
22
21
  id: titleId,
23
22
  children: title
24
- }), /* @__PURE__ */ jsx(Badge, {
25
- variant: "ghost",
26
- color: "neutral",
27
- size: "sm",
28
- "aria-label": `${runs.length} recorded runs`,
29
- children: runs.length
30
- })]
23
+ })
31
24
  }), runs.length ? /* @__PURE__ */ jsx("ol", {
32
25
  className: "think-routine-library__run-list",
33
26
  children: runs.map((run) => {
@@ -1,12 +1,12 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { U as PlusIcon, Y as SpinnerIcon, nt as WarningIcon, t as ArchiveIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
2
+ import { $ as WarningIcon, B as PlusIcon, K as SpinnerIcon, _ as DotIcon, t as ArchiveIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button, buttonVariants } from "../foundations/Button.js";
4
4
  import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
5
5
  import { n as isPlainPrimaryLinkActivation, t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
6
6
  import { ScrollArea } from "../foundations/ScrollArea.js";
7
- import { AlertDialog } from "../foundations/AlertDialog.js";
8
7
  import { EmptyState } from "../foundations/EmptyState.js";
9
8
  import { SearchField } from "../foundations/SearchField.js";
9
+ import { AlertDialog } from "../foundations/AlertDialog.js";
10
10
  import * as React from "react";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  //#region src/components/agents-sdk/ThinkThreadPicker.tsx
@@ -1,5 +1,5 @@
1
1
  import { SearchField } from "../foundations/SearchField.js";
2
- import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../../FileTree-xqHYBw4g.js";
2
+ import { i as FileTreeFolder, r as FileTreeFile, t as FileTree } from "../../FileTree-DMYRdT6R.js";
3
3
  import { WorkspaceHeader } from "./WorkspaceHeader.js";
4
4
  import * as React from "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -2,7 +2,7 @@ import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
3
3
  import { a as WorkspaceNavigationRestorationBoundary, n as WorkspaceNavigationProvider, o as useRequiredWorkspaceNavigationRestoration, r as resolveWorkspaceLink } from "../../WorkspaceLink-DtH66bAY.js";
4
4
  import { WorkspaceBrowser } from "./WorkspaceBrowser.js";
5
- import { t as WorkspaceFileView } from "../../WorkspaceFileView-Lab3om3F.js";
5
+ import { t as WorkspaceFileView } from "../../WorkspaceFileView-D0yFwoDr.js";
6
6
  import * as React from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/components/agents-sdk/WorkspaceExplorer.tsx
@@ -1,2 +1,2 @@
1
- import { t as WorkspaceFileView } from "../../WorkspaceFileView-Lab3om3F.js";
1
+ import { t as WorkspaceFileView } from "../../WorkspaceFileView-D0yFwoDr.js";
2
2
  export { WorkspaceFileView };
@@ -1,4 +1,4 @@
1
- import { G as RefreshIcon } from "../../icons-MmIXciMO.js";
1
+ import { H as RefreshIcon } from "../../icons-CVFSeTJn.js";
2
2
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
3
3
  import "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -7,6 +7,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  function WorkspaceHeader({ title, fileCount, path, leading, actions, copyAction, isRefreshing, onRefresh }) {
8
8
  return /* @__PURE__ */ jsxs(AppTopBar.Root, {
9
9
  className: "workspace-explorer__header",
10
+ titleAlign: "start",
10
11
  "aria-label": "Workspace controls",
11
12
  children: [
12
13
  /* @__PURE__ */ jsx(AppTopBar.Leading, { children: leading }),
@@ -1,2 +1,2 @@
1
- import { i as WorkspaceMessageResponseProps, n as WorkspaceHtmlArtifactRenderer, r as WorkspaceMessageResponse, t as WorkspaceHtmlArtifactRenderInput } from "../../WorkspaceMessageResponse-Cy28WGSz.js";
1
+ import { i as WorkspaceMessageResponseProps, n as WorkspaceHtmlArtifactRenderer, r as WorkspaceMessageResponse, t as WorkspaceHtmlArtifactRenderInput } from "../../WorkspaceMessageResponse-D66ty4FO.js";
2
2
  export { WorkspaceHtmlArtifactRenderInput, WorkspaceHtmlArtifactRenderer, WorkspaceMessageResponse, WorkspaceMessageResponseProps };
@@ -1,9 +1,8 @@
1
- import { z as PaperclipIcon } from "../../icons-MmIXciMO.js";
1
+ import { $ as WarningIcon, I as PaperclipIcon, T as InfoIcon, d as CheckIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { Popover } from "../foundations/Popover.js";
4
4
  import { Card, CardAction, CardFooter, CardHeader, CardTitle } from "../foundations/Card.js";
5
5
  import { EmptyState } from "../foundations/EmptyState.js";
6
- import { StatusPill } from "../foundations/StatusPill.js";
7
6
  import { AppTopBar } from "../general-purpose/AppTopBar.js";
8
7
  import "react";
9
8
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -14,11 +13,11 @@ function permissionLabel(permission) {
14
13
  if (permission === "denied") return "Access denied";
15
14
  return "Unavailable";
16
15
  }
17
- function permissionColor(permission) {
18
- if (permission === "granted") return "success";
19
- if (permission === "prompt") return "warning";
20
- if (permission === "denied") return "destructive";
21
- return "neutral";
16
+ function permissionIcon(permission) {
17
+ if (permission === "granted") return /* @__PURE__ */ jsx(CheckIcon, {});
18
+ if (permission === "prompt") return /* @__PURE__ */ jsx(InfoIcon, {});
19
+ if (permission === "denied") return /* @__PURE__ */ jsx(XIcon, {});
20
+ return /* @__PURE__ */ jsx(WarningIcon, {});
22
21
  }
23
22
  /** Controlled local-mount presentation; native handles and persistence stay in the host. */
24
23
  function WorkspaceMountManager({ mounts, adding = false, busyMountId = null, error, onAdd, onReconnect, onRemove, triggerLabel = "Attach local folders" }) {
@@ -55,10 +54,11 @@ function WorkspaceMountManager({ mounts, adding = false, busyMountId = null, err
55
54
  children: [/* @__PURE__ */ jsxs(CardHeader, { children: [/* @__PURE__ */ jsx(CardTitle, {
56
55
  className: "workspace-mount-manager__path",
57
56
  children: /* @__PURE__ */ jsx("code", { children: mount.path })
58
- }), /* @__PURE__ */ jsx(CardAction, { children: /* @__PURE__ */ jsx(StatusPill, {
59
- color: permissionColor(mount.permission),
60
- size: "sm",
61
- children: permissionLabel(mount.permission)
57
+ }), /* @__PURE__ */ jsx(CardAction, { children: /* @__PURE__ */ jsxs("span", {
58
+ className: "workspace-mount-manager__permission",
59
+ "data-permission": mount.permission,
60
+ role: "status",
61
+ children: [permissionIcon(mount.permission), permissionLabel(mount.permission)]
62
62
  }) })] }), /* @__PURE__ */ jsxs(CardFooter, { children: [mount.permission !== "granted" ? /* @__PURE__ */ jsx(Button, {
63
63
  type: "button",
64
64
  size: "sm",
@@ -1,7 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
3
  import { useExpansionState } from "./ExpansionState.js";
4
- import { m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
4
+ import { p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
5
5
  import * as React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/ai-sdk/Activity.tsx
@@ -2,7 +2,7 @@ import { r as ButtonProps } from "../../Button-CZt3yywF.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/ai-sdk/AgentAttention.d.ts
5
- type AgentAttentionTone = "neutral" | "warning";
5
+ type AgentAttentionTone = "neutral" | "attention";
6
6
  interface AgentAttentionProps extends React.HTMLAttributes<HTMLDivElement> {
7
7
  /** Visual emphasis only; products retain ownership of the underlying state. */
8
8
  tone?: AgentAttentionTone;
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { it as XIcon } from "../../icons-MmIXciMO.js";
2
+ import { tt as XIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { PromptInputTray } from "./PromptInput.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { V as PencilIcon } from "../../icons-MmIXciMO.js";
2
+ import { R as PencilIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { Kbd } from "../foundations/Kbd.js";
5
5
  import { a as formatUnknownValue } from "../../format-DB2mX9DA.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Y as SpinnerIcon, it as XIcon, nt as WarningIcon } from "../../icons-MmIXciMO.js";
2
+ import { $ as WarningIcon, K as SpinnerIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button, buttonVariants } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { t as NavigationLink } from "../../navigation-link-kqMa81v5.js";
@@ -1,5 +1,5 @@
1
1
  import { Collapsible } from "../foundations/Collapsible.js";
2
- import { O as IconProps } from "../../icons-DwgNir1Q.js";
2
+ import { E as IconProps } from "../../icons-0corjfxR.js";
3
3
  import * as React from "react";
4
4
 
5
5
  //#region src/components/ai-sdk/ChainOfThought.d.ts
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
- import { Y as SpinnerIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
3
+ import { K as SpinnerIcon, _ as DotIcon, d as CheckIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ai-sdk/ChainOfThought.tsx
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { s as BookmarkIcon } from "../../icons-MmIXciMO.js";
2
+ import { s as BookmarkIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Marker, MarkerIcon } from "../foundations/Marker.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as CODE_BLOCK_LANGUAGES, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../../CodeBlock-CWk1FVtm.js";
1
+ import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as CODE_BLOCK_LANGUAGES, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../../CodeBlock-BjELA-_s.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorValue, CodeBlockTitle };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon, y as DownloadIcon } from "../../icons-MmIXciMO.js";
2
+ import { n as ArrowDownIcon, v as DownloadIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { t as assignRef } from "../../merge-refs-DF_7w2x_.js";
5
5
  import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport } from "./MessageScroller.js";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { $ as TargetIcon, B as PauseIcon, H as PlayIcon, tt as TrashIcon } from "../../icons-MmIXciMO.js";
2
+ import { L as PauseIcon, Q as TrashIcon, X as TargetIcon, z as PlayIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { IconButton } from "../foundations/IconButton.js";
4
4
  import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
5
5
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { H as PlayIcon } from "../../icons-MmIXciMO.js";
2
+ import { z as PlayIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
4
4
  import { Card } from "../foundations/Card.js";
5
5
  import * as React from "react";
@@ -1,2 +1,2 @@
1
- import { C as MessageResponse, D as MessageToolbarProps, E as MessageToolbar, S as MessageProps, T as MessageRole, _ as MessageBranchProps, a as MessageActionsProps, b as MessageContent, c as MessageBranch, d as MessageBranchNext, f as MessageBranchNextProps, g as MessageBranchPreviousProps, h as MessageBranchPrevious, i as MessageActions, l as MessageBranchContent, m as MessageBranchPageProps, n as MessageAction, o as MessageAttachment, p as MessageBranchPage, r as MessageActionProps, s as MessageAttachmentProps, t as Message, u as MessageBranchContentProps, v as MessageBranchSelector, w as MessageResponseProps, x as MessageContentProps, y as MessageBranchSelectorProps } from "../../Message-DBsHHhcM.js";
2
- export { Message, MessageAction, MessageActionProps, MessageActions, MessageActionsProps, MessageAttachment, MessageAttachmentProps, MessageBranch, MessageBranchContent, MessageBranchContentProps, MessageBranchNext, MessageBranchNextProps, MessageBranchPage, MessageBranchPageProps, MessageBranchPrevious, MessageBranchPreviousProps, MessageBranchProps, MessageBranchSelector, MessageBranchSelectorProps, MessageContent, MessageContentProps, MessageProps, MessageResponse, MessageResponseProps, MessageRole, MessageToolbar, MessageToolbarProps };
1
+ import { A as MessageToolbar, C as MessageMetaProps, D as MessageRole, E as MessageResponseProps, O as MessageTimestamp, S as MessageMeta, T as MessageResponse, _ as MessageBranchProps, a as MessageActionsProps, b as MessageContent, c as MessageBranch, d as MessageBranchNext, f as MessageBranchNextProps, g as MessageBranchPreviousProps, h as MessageBranchPrevious, i as MessageActions, j as MessageToolbarProps, k as MessageTimestampProps, l as MessageBranchContent, m as MessageBranchPageProps, n as MessageAction, o as MessageAttachment, p as MessageBranchPage, r as MessageActionProps, s as MessageAttachmentProps, t as Message, u as MessageBranchContentProps, v as MessageBranchSelector, w as MessageProps, x as MessageContentProps, y as MessageBranchSelectorProps } from "../../Message-D_vCVEGB.js";
2
+ export { Message, MessageAction, MessageActionProps, MessageActions, MessageActionsProps, MessageAttachment, MessageAttachmentProps, MessageBranch, MessageBranchContent, MessageBranchContentProps, MessageBranchNext, MessageBranchNextProps, MessageBranchPage, MessageBranchPageProps, MessageBranchPrevious, MessageBranchPreviousProps, MessageBranchProps, MessageBranchSelector, MessageBranchSelectorProps, MessageContent, MessageContentProps, MessageMeta, MessageMetaProps, MessageProps, MessageResponse, MessageResponseProps, MessageRole, MessageTimestamp, MessageTimestampProps, MessageToolbar, MessageToolbarProps };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { C as FileIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-MmIXciMO.js";
2
+ import { S as FileIcon, i as ArrowRightIcon, r as ArrowLeftIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { IconButton } from "../foundations/IconButton.js";
5
5
  import { t as AttachmentPreview } from "../../attachment-preview-1CXJvrmb.js";
@@ -52,6 +52,28 @@ function MessageContent({ className, children, ref, ...props }) {
52
52
  children
53
53
  });
54
54
  }
55
+ /** Quiet message metadata and actions shown on hover or keyboard focus. */
56
+ function MessageMeta({ className, children, ref, ...props }) {
57
+ return /* @__PURE__ */ jsx("div", {
58
+ ref,
59
+ className: cx("message__meta", className),
60
+ ...props,
61
+ children
62
+ });
63
+ }
64
+ /** Machine-readable message time with a compact local-time label. */
65
+ function MessageTimestamp({ date, className, ...props }) {
66
+ return /* @__PURE__ */ jsx("time", {
67
+ className: cx("message__timestamp", className),
68
+ dateTime: date.toISOString(),
69
+ title: date.toLocaleString(),
70
+ ...props,
71
+ children: date.toLocaleTimeString(void 0, {
72
+ hour: "numeric",
73
+ minute: "2-digit"
74
+ })
75
+ });
76
+ }
55
77
  const streamdownPlugins = {
56
78
  cjk,
57
79
  code
@@ -59,7 +81,7 @@ const streamdownPlugins = {
59
81
  const messageResponseComponents = { img: "img" };
60
82
  const MessageResponse = React.memo(function MessageResponse({ className, components, ...props }) {
61
83
  return /* @__PURE__ */ jsx(Streamdown, {
62
- className: cx("message__response", className),
84
+ className: cx("message__response", "sigvelo-reader-text", className),
63
85
  components: components ? {
64
86
  ...messageResponseComponents,
65
87
  ...components
@@ -270,4 +292,4 @@ function MessageBranchPage({ className, format, ref, ...props }) {
270
292
  });
271
293
  }
272
294
  //#endregion
273
- export { Message, MessageAction, MessageActions, MessageAttachment, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageResponse, MessageToolbar };
295
+ export { Message, MessageAction, MessageActions, MessageAttachment, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageMeta, MessageResponse, MessageTimestamp, MessageToolbar };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
2
+ import { n as ArrowDownIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { t as messageScrollerContract } from "../../message-scroller-C8cplcQO.js";
5
5
  import "react";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon } from "../../icons-MmIXciMO.js";
2
+ import { n as ArrowDownIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { t as messageScrollerContract } from "../../message-scroller-C8cplcQO.js";
5
5
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon, i as ArrowRightIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
2
+ import { _ as DotIcon, d as CheckIcon, i as ArrowRightIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Popover } from "../foundations/Popover.js";
4
4
  import { t as ProgressRing } from "../../progress-ring-BEocM1e3.js";
5
5
  import * as React from "react";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName, t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { C as FileIcon, I as MonitorIcon, P as MicrophoneIcon, U as PlusIcon, X as SquareIcon, Y as SpinnerIcon, Z as StopIcon, a as ArrowUpIcon, d as CheckIcon, f as ChevronDownIcon, it as XIcon, nt as WarningIcon, rt as WrenchIcon, w as FolderIcon, z as PaperclipIcon } from "../../icons-MmIXciMO.js";
2
+ import { $ as WarningIcon, B as PlusIcon, C as FolderIcon, I as PaperclipIcon, J as StopIcon, K as SpinnerIcon, N as MonitorIcon, S as FileIcon, a as ArrowUpIcon, d as CheckIcon, et as WrenchIcon, f as ChevronDownIcon, j as MicrophoneIcon, q as SquareIcon, tt as XIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { Tooltip } from "../foundations/Tooltip.js";
5
5
  import { IconButton } from "../foundations/IconButton.js";
@@ -24,9 +24,9 @@ interface QueueProps extends React.HTMLAttributes<HTMLDivElement> {
24
24
  * Use for agent work queues, todo groups, and attachment queues. Do not use it
25
25
  * for navigation or arbitrary card lists.
26
26
  *
27
- * Sigvelo changes: uses shared Collapsible, ScrollArea, Badge, and Button
28
- * components; normalizes Vercel-compatible `completed` status to `complete`;
29
- * maps all styling to Sigvelo queue CSS tokens/classes.
27
+ * Sigvelo changes: uses shared Collapsible, ScrollArea, and Button components;
28
+ * normalizes Vercel-compatible `completed` status to `complete`; maps all
29
+ * styling to Sigvelo queue CSS tokens/classes.
30
30
  *
31
31
  * Section triggers inherit Collapsible keyboard behavior. Status indicators
32
32
  * are decorative, so visible item text must carry the real meaning. Add new
@@ -84,7 +84,7 @@ declare function QueueSectionTrigger({
84
84
  ref?: React.Ref<HTMLButtonElement>;
85
85
  }): React.JSX.Element;
86
86
  interface QueueSectionLabelProps extends React.HTMLAttributes<HTMLSpanElement> {
87
- /** Optional count rendered as a trailing badge. */
87
+ /** Optional item total shown as ordinary label text. */
88
88
  count?: number;
89
89
  label?: string;
90
90
  icon?: React.ReactNode;
@@ -1,8 +1,7 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
- import { C as FileIcon, d as CheckIcon, m as ChevronRightIcon, v as DotIcon } from "../../icons-MmIXciMO.js";
3
+ import { S as FileIcon, _ as DotIcon, d as CheckIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
4
4
  import { Button } from "../foundations/Button.js";
5
- import { Badge } from "../foundations/Badge.js";
6
5
  import { ScrollArea } from "../foundations/ScrollArea.js";
7
6
  import "react";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -15,9 +14,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
15
14
  * Use for agent work queues, todo groups, and attachment queues. Do not use it
16
15
  * for navigation or arbitrary card lists.
17
16
  *
18
- * Sigvelo changes: uses shared Collapsible, ScrollArea, Badge, and Button
19
- * components; normalizes Vercel-compatible `completed` status to `complete`;
20
- * maps all styling to Sigvelo queue CSS tokens/classes.
17
+ * Sigvelo changes: uses shared Collapsible, ScrollArea, and Button components;
18
+ * normalizes Vercel-compatible `completed` status to `complete`; maps all
19
+ * styling to Sigvelo queue CSS tokens/classes.
21
20
  *
22
21
  * Section triggers inherit Collapsible keyboard behavior. Status indicators
23
22
  * are decorative, so visible item text must carry the real meaning. Add new
@@ -79,20 +78,12 @@ function QueueSectionTrigger({ className, children, ref, ...props }) {
79
78
  });
80
79
  }
81
80
  function QueueSectionLabel({ className, children, count, label, icon, ref, ...props }) {
82
- const content = children ?? (label ? `${count ?? ""} ${label}`.trim() : null);
81
+ const content = children ?? label;
83
82
  return /* @__PURE__ */ jsxs("span", {
84
83
  ref,
85
84
  className: cx("queue__section-label", className),
86
85
  ...props,
87
- children: [
88
- icon,
89
- /* @__PURE__ */ jsx("span", { children: content }),
90
- children !== void 0 && count !== void 0 ? /* @__PURE__ */ jsx(Badge, {
91
- color: "neutral",
92
- size: "sm",
93
- children: count
94
- }) : null
95
- ]
86
+ children: [icon, /* @__PURE__ */ jsxs("span", { children: [content, count === void 0 ? null : ` · ${count}`] })]
96
87
  });
97
88
  }
98
89
  function QueueList({ className, children, ref, ...props }) {
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Y as SpinnerIcon } from "../../icons-MmIXciMO.js";
2
+ import { K as SpinnerIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Activity, ActivityContent, ActivityText, ActivityTrigger } from "./Activity.js";
4
4
  import { MessageResponse } from "./Message.js";
5
5
  import * as React from "react";
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
- import { A as LinkIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
3
+ import { D as LinkIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
4
4
  import "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ai-sdk/Sources.tsx
@@ -76,11 +76,11 @@ declare function TaskItem({
76
76
  ref?: React.Ref<HTMLLIElement>;
77
77
  }): React.JSX.Element;
78
78
  interface TaskItemFileProps extends React.HTMLAttributes<HTMLSpanElement> {
79
- /** The file name or path to display. Used to derive the language badge. */
79
+ /** The file name or path to display. */
80
80
  name?: string;
81
81
  }
82
82
  /**
83
- * Inline file reference badge used inside TaskItem content.
83
+ * Inline file reference used inside TaskItem content.
84
84
  */
85
85
  declare function TaskItemFile({
86
86
  className,
@@ -1,6 +1,6 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
2
  import { Collapsible } from "../foundations/Collapsible.js";
3
- import { C as FileIcon, K as SearchIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
3
+ import { S as FileIcon, U as SearchIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ai-sdk/Task.tsx
@@ -104,7 +104,7 @@ function TaskItem({ className, children, ref, ...props }) {
104
104
  });
105
105
  }
106
106
  /**
107
- * Inline file reference badge used inside TaskItem content.
107
+ * Inline file reference used inside TaskItem content.
108
108
  */
109
109
  function TaskItemFile({ className, name, children, ref, ...props }) {
110
110
  return /* @__PURE__ */ jsxs("span", {
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { Y as SpinnerIcon } from "../../icons-MmIXciMO.js";
2
+ import { K as SpinnerIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Button } from "../foundations/Button.js";
4
4
  import { t as ProviderLogo } from "../../provider-logos-zjZycgV6.js";
5
5
  import "react";
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../../class-names-BiMDVpUo.js";
2
- import { G as RefreshIcon, d as CheckIcon, f as ChevronDownIcon, l as BrainIcon, m as ChevronRightIcon } from "../../icons-MmIXciMO.js";
2
+ import { H as RefreshIcon, d as CheckIcon, f as ChevronDownIcon, l as BrainIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
3
3
  import { Tooltip } from "../foundations/Tooltip.js";
4
4
  import { Menu } from "../foundations/Menu.js";
5
5
  import { o as titleCase } from "../../format-DB2mX9DA.js";
@@ -1,4 +1,4 @@
1
- import { nt as WarningIcon } from "../../icons-MmIXciMO.js";
1
+ import { $ as WarningIcon } from "../../icons-CVFSeTJn.js";
2
2
  import { Button } from "../foundations/Button.js";
3
3
  import { Menu } from "../foundations/Menu.js";
4
4
  import { i as formatErrorMessage } from "../../format-DB2mX9DA.js";
@@ -21,7 +21,6 @@ interface AvatarImageProps extends React.ComponentPropsWithoutRef<typeof Avatar$
21
21
  interface AvatarFallbackProps extends React.ComponentPropsWithoutRef<typeof Avatar$1.Fallback> {}
22
22
  interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {}
23
23
  interface AvatarGroupCountProps extends React.HTMLAttributes<HTMLDivElement> {}
24
- interface AvatarBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {}
25
24
  /**
26
25
  * Container for the avatar. Renders a `<span>` element.
27
26
  *
@@ -80,13 +79,6 @@ declare function AvatarGroupCount({
80
79
  }: AvatarGroupCountProps & {
81
80
  ref?: React.Ref<HTMLDivElement>;
82
81
  }): React.JSX.Element;
83
- declare function AvatarBadge({
84
- className,
85
- ref,
86
- ...props
87
- }: AvatarBadgeProps & {
88
- ref?: React.Ref<HTMLSpanElement>;
89
- }): React.JSX.Element;
90
82
  /**
91
83
  * An avatar component for displaying user profile pictures with fallback support.
92
84
  * Shows initials or an icon when the image fails to load or isn't provided.
@@ -125,7 +117,6 @@ declare const Avatar: {
125
117
  Fallback: typeof AvatarFallback;
126
118
  Group: typeof AvatarGroup;
127
119
  GroupCount: typeof AvatarGroupCount;
128
- Badge: typeof AvatarBadge;
129
120
  };
130
121
  //#endregion
131
- export { Avatar, AvatarBadgeProps, AvatarFallbackProps, AvatarGroupCountProps, AvatarGroupProps, AvatarImageProps, AvatarRootProps };
122
+ export { Avatar, AvatarFallbackProps, AvatarGroupCountProps, AvatarGroupProps, AvatarImageProps, AvatarRootProps };
@@ -69,14 +69,6 @@ function AvatarGroupCount({ className, ref, ...props }) {
69
69
  ...props
70
70
  });
71
71
  }
72
- function AvatarBadge({ className, ref, ...props }) {
73
- return /* @__PURE__ */ jsx("span", {
74
- ref,
75
- "data-slot": "avatar-badge",
76
- className: mergeBaseClassName("avatar__badge", className),
77
- ...props
78
- });
79
- }
80
72
  /**
81
73
  * An avatar component for displaying user profile pictures with fallback support.
82
74
  * Shows initials or an icon when the image fails to load or isn't provided.
@@ -114,8 +106,7 @@ const Avatar = {
114
106
  Image: AvatarImage,
115
107
  Fallback: AvatarFallback,
116
108
  Group: AvatarGroup,
117
- GroupCount: AvatarGroupCount,
118
- Badge: AvatarBadge
109
+ GroupCount: AvatarGroupCount
119
110
  };
120
111
  //#endregion
121
112
  export { Avatar };
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
2
- import { d as CheckIcon } from "../../icons-MmIXciMO.js";
2
+ import { d as CheckIcon } from "../../icons-CVFSeTJn.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
@@ -62,6 +62,7 @@ import { CheckboxGroup as CheckboxGroup$1 } from "@base-ui/react/checkbox-group"
62
62
  function CheckboxGroupRoot({ className, layout = "stack", ref, ...props }) {
63
63
  return /* @__PURE__ */ jsx(CheckboxGroup$1, {
64
64
  ref,
65
+ "data-slot": "checkbox-group",
65
66
  "data-layout": layout,
66
67
  className: mergeBaseClassName("checkbox-group", className),
67
68
  ...props
@@ -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-MmIXciMO.js";
2
+ import { _ as DotIcon, d as CheckIcon } from "../../icons-CVFSeTJn.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,10 +1,8 @@
1
1
  import { a as ButtonVariant, i as ButtonSize, n as ButtonColor } from "../../Button-CZt3yywF.js";
2
- import { AnchorHTMLAttributes } from "react";
2
+ import { AnchorHTMLAttributes, ReactElement } from "react";
3
3
 
4
4
  //#region src/components/foundations/LinkButton.d.ts
5
- interface LinkButtonProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
6
- /** Destination of the link. */
7
- href: string;
5
+ interface LinkButtonStyleProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "color" | "href"> {
8
6
  /**
9
7
  * The visual rendering style of the button chrome.
10
8
  * @default 'normal'
@@ -21,22 +19,26 @@ interface LinkButtonProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
21
19
  */
22
20
  size?: ButtonSize;
23
21
  }
22
+ type LinkButtonProps = LinkButtonStyleProps & ({
23
+ /** Destination for a native anchor. */href: string;
24
+ render?: never;
25
+ } | {
26
+ /** App-authored router link whose destination remains type-checked by the app. */render: ReactElement;
27
+ href?: never;
28
+ });
24
29
  /**
25
30
  * A link that wears Button chrome. Renders a plain anchor composed through the
26
31
  * {@link buttonVariants} seam, so the element stays a genuine link.
27
32
  *
28
- * `Button render={<a />}` gives the same visuals in React, but a link styled as
29
- * a button still needs a component wrapper for non-React hosts: Astro templates
30
- * cannot construct the React element the `render` prop expects (a `.astro` `<a />`
31
- * is an Astro vnode, not a React element, and `@astrojs/react` rejects it). This
32
- * component is that wrapper, so Astro can render a button-styled link by passing
33
- * plain props.
33
+ * Pass `href` for a native anchor or an app-authored router link through
34
+ * `render`. The latter preserves the consuming app's route-tree inference.
34
35
  */
35
36
  declare function LinkButton({
36
37
  variant,
37
38
  color,
38
39
  size,
39
40
  className,
41
+ render,
40
42
  ref,
41
43
  ...props
42
44
  }: LinkButtonProps & {