@mcp-b/react-components 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
  2. package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
  3. package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
  4. package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bfp5PAg3.js} +9 -6
  5. package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
  6. package/dist/{FileTree-B7bBsUyU.js → FileTree-3zYtrddG.js} +42 -16
  7. package/dist/{Message-C4eYRogZ.js → Message-BXtmfc9Q.js} +13 -20
  8. package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-Cqw_qrUG.js} +15 -22
  9. package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
  10. package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
  11. package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
  12. package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
  13. package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
  14. package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
  15. package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
  16. package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
  17. package/dist/Workspace-Jez8ffUj.d.ts +274 -0
  18. package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
  19. package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
  20. package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-C68Ub8S8.js} +120 -127
  21. package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
  22. package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
  23. package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
  24. package/dist/components/Accordion.js +7 -2
  25. package/dist/components/Activity.js +2 -2
  26. package/dist/components/AgentActivity.d.ts +1 -1
  27. package/dist/components/AgentActivity.js +4 -5
  28. package/dist/components/AgentActivityPreview.d.ts +9 -9
  29. package/dist/components/AgentActivityPreview.js +8 -12
  30. package/dist/components/AgentAttention.d.ts +1 -1
  31. package/dist/components/AgentAttention.js +1 -1
  32. package/dist/components/AgentChat.d.ts +1 -1
  33. package/dist/components/AgentChat.js +94 -62
  34. package/dist/components/AgentChatMessageEditor.js +2 -2
  35. package/dist/components/AgentChatTurnError.js +2 -2
  36. package/dist/components/AgentConnection.js +3 -3
  37. package/dist/components/AgentMessageParts.js +1 -1
  38. package/dist/components/AgentToolDetail.d.ts +6 -4
  39. package/dist/components/AgentToolDetail.js +12 -10
  40. package/dist/components/AlertDialog.js +1 -1
  41. package/dist/components/AppTopBar.d.ts +24 -7
  42. package/dist/components/AppTopBar.js +32 -8
  43. package/dist/components/Approval.js +4 -4
  44. package/dist/components/Artifact.d.ts +1 -1
  45. package/dist/components/Artifact.js +6 -4
  46. package/dist/components/Autocomplete.js +1 -1
  47. package/dist/components/Avatar.d.ts +1 -1
  48. package/dist/components/Avatar.js +2 -2
  49. package/dist/components/Badge.js +3 -0
  50. package/dist/components/BrowserLiveView.js +27 -12
  51. package/dist/components/BrowserReplay.js +4 -3
  52. package/dist/components/BrowserRunPanel.js +5 -5
  53. package/dist/components/Button.d.ts +1 -1
  54. package/dist/components/Button.js +14 -11
  55. package/dist/components/Card.d.ts +7 -8
  56. package/dist/components/Card.js +19 -10
  57. package/dist/components/ChainOfThought.d.ts +1 -1
  58. package/dist/components/ChainOfThought.js +2 -2
  59. package/dist/components/ChatGptSignInScreen.js +8 -8
  60. package/dist/components/Checkbox.js +2 -2
  61. package/dist/components/CheckboxGroup.js +1 -1
  62. package/dist/components/Checkpoint.js +2 -2
  63. package/dist/components/CodeBlock.d.ts +1 -1
  64. package/dist/components/CodeBlock.js +1 -1
  65. package/dist/components/CodexModelSelector.js +2 -2
  66. package/dist/components/Collapsible.js +2 -2
  67. package/dist/components/Combobox.js +1 -1
  68. package/dist/components/Commit.d.ts +1 -1
  69. package/dist/components/Commit.js +3 -3
  70. package/dist/components/Context.js +1 -1
  71. package/dist/components/ContextMenu.js +2 -2
  72. package/dist/components/Conversation.d.ts +1 -1
  73. package/dist/components/Conversation.js +5 -4
  74. package/dist/components/DescriptionListParts.js +1 -1
  75. package/dist/components/Dialog.js +1 -1
  76. package/dist/components/EnvironmentVariables.d.ts +1 -1
  77. package/dist/components/EnvironmentVariables.js +3 -3
  78. package/dist/components/Field.js +5 -2
  79. package/dist/components/Fieldset.js +1 -1
  80. package/dist/components/FileTree.d.ts +6 -0
  81. package/dist/components/FileTree.js +1 -1
  82. package/dist/components/Form.js +1 -1
  83. package/dist/components/GithubMotionMark.js +1 -1
  84. package/dist/components/IconButton.d.ts +2 -3
  85. package/dist/components/IconButton.js +2 -1
  86. package/dist/components/InlineCitation.js +1 -1
  87. package/dist/components/Input.js +1 -1
  88. package/dist/components/Marker.js +1 -1
  89. package/dist/components/McpConnectionRequest.js +2 -2
  90. package/dist/components/McpServerPicker.js +2 -2
  91. package/dist/components/MediaPreviewCard.d.ts +103 -0
  92. package/dist/components/MediaPreviewCard.js +193 -0
  93. package/dist/components/Menu.js +1 -1
  94. package/dist/components/Menubar.js +2 -2
  95. package/dist/components/Message.d.ts +4 -1
  96. package/dist/components/Message.js +1 -1
  97. package/dist/components/MessageScroller.d.ts +1 -1
  98. package/dist/components/MessageScroller.js +5 -4
  99. package/dist/components/Meter.js +1 -1
  100. package/dist/components/ModelSelector.d.ts +4 -3
  101. package/dist/components/ModelSelector.js +1 -1
  102. package/dist/components/NavigationMenu.js +1 -1
  103. package/dist/components/NumberField.js +1 -1
  104. package/dist/components/Plan.js +2 -2
  105. package/dist/components/Popover.js +1 -1
  106. package/dist/components/PreviewCard.js +1 -1
  107. package/dist/components/PricingBillingToggle.js +1 -1
  108. package/dist/components/PricingFAQ.js +1 -1
  109. package/dist/components/PricingPage.js +2 -1
  110. package/dist/components/PricingPlanCard.js +4 -3
  111. package/dist/components/PricingUsageCalculator.js +2 -2
  112. package/dist/components/Progress.js +1 -1
  113. package/dist/components/PromptInput.d.ts +1 -1
  114. package/dist/components/PromptInput.js +33 -20
  115. package/dist/components/Queue.d.ts +1 -1
  116. package/dist/components/Queue.js +2 -3
  117. package/dist/components/RadioGroup.js +1 -1
  118. package/dist/components/Reasoning.js +3 -6
  119. package/dist/components/ResizableSidePanel.js +1 -1
  120. package/dist/components/ResponsiveSidebarShell.js +16 -10
  121. package/dist/components/ScrollArea.js +2 -1
  122. package/dist/components/SearchField.d.ts +43 -0
  123. package/dist/components/SearchField.js +52 -0
  124. package/dist/components/Select.d.ts +1 -1
  125. package/dist/components/Select.js +5 -6
  126. package/dist/components/Separator.js +1 -1
  127. package/dist/components/Slider.js +1 -1
  128. package/dist/components/Sources.js +2 -2
  129. package/dist/components/Stepper.js +16 -9
  130. package/dist/components/SubagentRunDetails.js +1 -1
  131. package/dist/components/SubagentRunIndicator.js +2 -2
  132. package/dist/components/SubagentRunList.d.ts +3 -5
  133. package/dist/components/SubagentRunList.js +3 -4
  134. package/dist/components/SubagentRunSelector.d.ts +8 -12
  135. package/dist/components/SubagentRunSelector.js +17 -20
  136. package/dist/components/Switch.d.ts +2 -2
  137. package/dist/components/Switch.js +4 -5
  138. package/dist/components/Tabs.d.ts +2 -2
  139. package/dist/components/Tabs.js +12 -3
  140. package/dist/components/Task.js +2 -2
  141. package/dist/components/Terminal.d.ts +2 -2
  142. package/dist/components/Terminal.js +5 -4
  143. package/dist/components/TestResults.js +10 -6
  144. package/dist/components/Textarea.js +1 -1
  145. package/dist/components/ThemeModeControl.js +1 -1
  146. package/dist/components/ThinkChat.d.ts +33 -20
  147. package/dist/components/ThinkChat.js +4 -4
  148. package/dist/components/ThinkChatActivity.d.ts +2 -2
  149. package/dist/components/ThinkChatActivity.js +8 -10
  150. package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
  151. package/dist/components/ThinkChatActivitySummary.js +7 -3
  152. package/dist/components/ThinkChatToolPanels.js +26 -16
  153. package/dist/components/ThinkExecutionDetail.js +2 -2
  154. package/dist/components/ThinkExecutionStatus.js +2 -2
  155. package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
  156. package/dist/components/ThinkExecutionWorkbench.js +70 -134
  157. package/dist/components/ThinkFullApp.d.ts +36 -35
  158. package/dist/components/ThinkFullApp.js +156 -109
  159. package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
  160. package/dist/components/ThinkFullAppViewSwitch.js +1 -1
  161. package/dist/components/ThinkRecoveryNotice.js +18 -12
  162. package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
  163. package/dist/components/ThinkRoutineBrowser.js +33 -40
  164. package/dist/components/ThinkRoutineDetail.d.ts +5 -2
  165. package/dist/components/ThinkRoutineDetail.js +4 -4
  166. package/dist/components/ThinkRoutineForm.d.ts +3 -2
  167. package/dist/components/ThinkRoutineForm.js +11 -10
  168. package/dist/components/ThinkRoutineLibrary.d.ts +24 -31
  169. package/dist/components/ThinkRoutineLibrary.js +57 -80
  170. package/dist/components/ThinkRoutineRuns.d.ts +3 -2
  171. package/dist/components/ThinkRoutineRuns.js +31 -24
  172. package/dist/components/ThinkThreadPicker.d.ts +17 -11
  173. package/dist/components/ThinkThreadPicker.js +163 -39
  174. package/dist/components/Toast.js +1 -1
  175. package/dist/components/Toggle.d.ts +1 -1
  176. package/dist/components/Toggle.js +9 -7
  177. package/dist/components/ToggleGroup.d.ts +1 -1
  178. package/dist/components/ToggleGroup.js +15 -13
  179. package/dist/components/ToolInvocation.js +1 -1
  180. package/dist/components/Toolbar.js +1 -1
  181. package/dist/components/Tooltip.d.ts +8 -1
  182. package/dist/components/Tooltip.js +11 -2
  183. package/dist/components/TransitionSurface.d.ts +27 -0
  184. package/dist/components/TransitionSurface.js +20 -0
  185. package/dist/components/WebPreview.d.ts +5 -5
  186. package/dist/components/WebPreview.js +68 -54
  187. package/dist/components/Workspace.d.ts +2 -2
  188. package/dist/components/Workspace.js +358 -328
  189. package/dist/components/WorkspaceBrowser.d.ts +4 -7
  190. package/dist/components/WorkspaceBrowser.js +15 -25
  191. package/dist/components/WorkspaceExplorer.d.ts +5 -5
  192. package/dist/components/WorkspaceExplorer.js +19 -32
  193. package/dist/components/WorkspaceFile.d.ts +1 -1
  194. package/dist/components/WorkspaceFileView.d.ts +14 -2
  195. package/dist/components/WorkspaceFileView.js +1 -1
  196. package/dist/components/WorkspaceHeader.d.ts +0 -8
  197. package/dist/components/WorkspaceHeader.js +3 -15
  198. package/dist/components/WorkspaceLink.d.ts +1 -1
  199. package/dist/components/WorkspaceLink.js +1 -1
  200. package/dist/components/icons.d.ts +2 -2
  201. package/dist/components/icons.js +2 -2
  202. package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
  203. package/dist/{copy-button-cYsJBauI.js → copy-button-DeK6KXEV.js} +3 -2
  204. package/dist/{icons--FqCZEc3.js → icons-CQJ-aMnI.js} +6 -3
  205. package/dist/{icons-DpUqY8Mp.d.ts → icons-CYXmvKlJ.d.ts} +17 -2
  206. package/dist/navigation-link-Cob7KBlM.js +19 -0
  207. package/dist/styles/accordion.css +4 -19
  208. package/dist/styles/activity.css +48 -56
  209. package/dist/styles/agent-activity-preview.css +2 -0
  210. package/dist/styles/agent-chat.css +14 -22
  211. package/dist/styles/alert-dialog.css +16 -18
  212. package/dist/styles/app-top-bar.css +17 -9
  213. package/dist/styles/approval.css +11 -6
  214. package/dist/styles/artifact.css +6 -6
  215. package/dist/styles/autocomplete.css +2 -1
  216. package/dist/styles/avatar.css +35 -30
  217. package/dist/styles/badge.css +10 -10
  218. package/dist/styles/base-ui-motion.css +94 -39
  219. package/dist/styles/browser-control-overlay.css +0 -1
  220. package/dist/styles/browser-live-view.css +39 -22
  221. package/dist/styles/browser-replay.css +1 -1
  222. package/dist/styles/browser-run-panel.css +8 -4
  223. package/dist/styles/button.css +36 -33
  224. package/dist/styles/card.css +5 -6
  225. package/dist/styles/chain-of-thought.css +22 -16
  226. package/dist/styles/checkbox.css +18 -5
  227. package/dist/styles/codex-model-selector.css +3 -7
  228. package/dist/styles/collapsible.css +10 -10
  229. package/dist/styles/combobox.css +3 -2
  230. package/dist/styles/commit.css +19 -18
  231. package/dist/styles/composition-motion.css +83 -0
  232. package/dist/styles/context-menu.css +3 -3
  233. package/dist/styles/context.css +11 -10
  234. package/dist/styles/conversation.css +18 -23
  235. package/dist/styles/dialog.css +15 -15
  236. package/dist/styles/field.css +32 -12
  237. package/dist/styles/file-tree.css +69 -9
  238. package/dist/styles/form.css +1 -1
  239. package/dist/styles/index.css +5 -0
  240. package/dist/styles/input.css +2 -2
  241. package/dist/styles/marker.css +14 -13
  242. package/dist/styles/mcp-server-picker.css +20 -17
  243. package/dist/styles/media-preview-card.css +160 -0
  244. package/dist/styles/menu.css +11 -11
  245. package/dist/styles/menubar.css +12 -11
  246. package/dist/styles/message.css +27 -21
  247. package/dist/styles/meter.css +2 -2
  248. package/dist/styles/model-selector.css +16 -14
  249. package/dist/styles/motion-reduction.css +29 -0
  250. package/dist/styles/navigation-menu.css +14 -30
  251. package/dist/styles/number-field.css +22 -4
  252. package/dist/styles/plan.css +5 -0
  253. package/dist/styles/popover.css +15 -16
  254. package/dist/styles/preview-card.css +2 -32
  255. package/dist/styles/progress.css +8 -3
  256. package/dist/styles/prompt-input.css +75 -75
  257. package/dist/styles/queue.css +48 -32
  258. package/dist/styles/radio.css +19 -12
  259. package/dist/styles/reasoning.css +2 -1
  260. package/dist/styles/recipes.css +109 -37
  261. package/dist/styles/resizable-side-panel.css +4 -10
  262. package/dist/styles/responsive-sidebar-shell.css +16 -15
  263. package/dist/styles/scroll-area.css +32 -15
  264. package/dist/styles/search-field.css +21 -0
  265. package/dist/styles/select.css +19 -12
  266. package/dist/styles/slider.css +25 -29
  267. package/dist/styles/sources.css +3 -3
  268. package/dist/styles/stepper.css +36 -26
  269. package/dist/styles/subagent-run.css +1 -1
  270. package/dist/styles/switch.css +32 -29
  271. package/dist/styles/tabs.css +79 -23
  272. package/dist/styles/task.css +13 -9
  273. package/dist/styles/test-results.css +29 -23
  274. package/dist/styles/theme-mode-control.css +8 -0
  275. package/dist/styles/think-execution-workbench.css +18 -15
  276. package/dist/styles/think-full-app.css +45 -68
  277. package/dist/styles/think-routine-library.css +43 -24
  278. package/dist/styles/think-thread-picker.css +193 -51
  279. package/dist/styles/toast.css +48 -27
  280. package/dist/styles/toggle-group.css +2 -36
  281. package/dist/styles/toggle.css +29 -5
  282. package/dist/styles/toolbar.css +25 -27
  283. package/dist/styles/tooltip.css +2 -32
  284. package/dist/styles/transition-surface.css +55 -0
  285. package/dist/styles/workspace-explorer.css +99 -44
  286. package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
  287. package/dist/utils/mcp-server-catalog.d.ts +132 -0
  288. package/dist/utils/mcp-server-catalog.js +90 -0
  289. package/dist/utils/structured-code.d.ts +1 -1
  290. package/package.json +13 -7
  291. package/dist/Workspace-C9RFoxcu.d.ts +0 -62
  292. package/dist/summarize-tool-input-BUJsENSn.js +0 -12
@@ -1,5 +1,6 @@
1
- import { Toolbar, ToolbarButtonProps, ToolbarGroupProps } from "./Toolbar.js";
1
+ import { Toolbar, ToolbarButtonProps, ToolbarGroupProps, ToolbarLinkProps } from "./Toolbar.js";
2
2
  import * as React from "react";
3
+ import { useRender } from "@base-ui/react/use-render";
3
4
 
4
5
  //#region src/components/AppTopBar.d.ts
5
6
  interface AppTopBarRootProps extends React.ComponentPropsWithoutRef<typeof Toolbar.Root> {
@@ -7,7 +8,7 @@ interface AppTopBarRootProps extends React.ComponentPropsWithoutRef<typeof Toolb
7
8
  "aria-label": string;
8
9
  }
9
10
  interface AppTopBarGroupProps extends ToolbarGroupProps {}
10
- interface AppTopBarTitleProps extends React.HTMLAttributes<HTMLDivElement> {}
11
+ interface AppTopBarTitleProps extends useRender.ComponentProps<"div"> {}
11
12
  interface AppTopBarButtonProps extends Omit<ToolbarButtonProps, "aria-label"> {
12
13
  ref?: React.Ref<HTMLButtonElement>;
13
14
  /** Accessible name and default tooltip text for the icon-only control. */
@@ -15,6 +16,13 @@ interface AppTopBarButtonProps extends Omit<ToolbarButtonProps, "aria-label"> {
15
16
  /** Tooltip text when it should differ from the accessible name. */
16
17
  tooltip?: React.ReactNode;
17
18
  }
19
+ interface AppTopBarLinkProps extends Omit<ToolbarLinkProps, "aria-label"> {
20
+ ref?: React.Ref<HTMLAnchorElement>;
21
+ /** Accessible name and default tooltip text for the icon-only link. */
22
+ label: string;
23
+ /** Tooltip text when it should differ from the accessible name. */
24
+ tooltip?: React.ReactNode;
25
+ }
18
26
  interface AppTopBarControlProps extends ToolbarButtonProps {
19
27
  ref?: React.Ref<HTMLButtonElement>;
20
28
  }
@@ -33,11 +41,10 @@ declare function AppTopBarLeading({
33
41
  }: AppTopBarGroupProps): React.JSX.Element;
34
42
  declare function AppTopBarTitle({
35
43
  className,
44
+ render,
36
45
  ref,
37
46
  ...props
38
- }: AppTopBarTitleProps & {
39
- ref?: React.Ref<HTMLDivElement>;
40
- }): React.JSX.Element;
47
+ }: AppTopBarTitleProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
41
48
  declare function AppTopBarTrailing({
42
49
  className,
43
50
  ...props
@@ -55,12 +62,21 @@ declare function AppTopBarButton({
55
62
  tooltip,
56
63
  ...props
57
64
  }: AppTopBarButtonProps): React.JSX.Element;
65
+ declare function AppTopBarLink({
66
+ children,
67
+ className,
68
+ label,
69
+ render,
70
+ tooltip,
71
+ ...props
72
+ }: AppTopBarLinkProps): React.JSX.Element;
58
73
  /**
59
74
  * Composable application top bar with stable leading, title, and trailing
60
75
  * slots. Icon controls use shared Toolbar roving focus and coordinated Tooltip
61
76
  * behavior; their fixed slots do not resize when state icons change. Render an
62
77
  * existing behavior-rich button through `Control` to retain those toolbar
63
- * semantics without rebuilding the control.
78
+ * semantics without rebuilding the control. Use `Link` for navigation so an
79
+ * `href` or router-provided link keeps native link semantics.
64
80
  */
65
81
  declare const AppTopBar: {
66
82
  Root: typeof AppTopBarRoot;
@@ -69,6 +85,7 @@ declare const AppTopBar: {
69
85
  Trailing: typeof AppTopBarTrailing;
70
86
  Control: typeof AppTopBarControl;
71
87
  Button: typeof AppTopBarButton;
88
+ Link: typeof AppTopBarLink;
72
89
  };
73
90
  //#endregion
74
- export { AppTopBar, AppTopBarButtonProps, AppTopBarControlProps, AppTopBarGroupProps, AppTopBarRootProps, AppTopBarTitleProps };
91
+ export { AppTopBar, AppTopBarButtonProps, AppTopBarControlProps, AppTopBarGroupProps, AppTopBarLinkProps, AppTopBarRootProps, AppTopBarTitleProps };
@@ -1,9 +1,10 @@
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 { Button } from "./Button.js";
3
3
  import { Tooltip } from "./Tooltip.js";
4
4
  import { Toolbar } from "./Toolbar.js";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { useRender } from "@base-ui/react/use-render";
7
8
  //#region src/components/AppTopBar.tsx
8
9
  /**
9
10
  * Stable application-level toolbar with composable leading, title, and trailing
@@ -22,11 +23,16 @@ function AppTopBarLeading({ className, ...props }) {
22
23
  ...props
23
24
  });
24
25
  }
25
- function AppTopBarTitle({ className, ref, ...props }) {
26
- return /* @__PURE__ */ jsx("div", {
26
+ function AppTopBarTitle({ className, render, ref, ...props }) {
27
+ return useRender({
28
+ defaultTagName: "div",
29
+ render,
27
30
  ref,
28
- className: cx("app-top-bar__title", className),
29
- ...props
31
+ props: {
32
+ ...props,
33
+ "data-slot": "app-top-bar-title",
34
+ className: cx("app-top-bar__title", className)
35
+ }
30
36
  });
31
37
  }
32
38
  function AppTopBarTrailing({ className, ...props }) {
@@ -50,7 +56,8 @@ function AppTopBarButton({ children, className, disabled, label, render, tooltip
50
56
  type: "button",
51
57
  variant: "ghost",
52
58
  color: "neutral",
53
- size: "icon-sm",
59
+ size: "sm",
60
+ iconOnly: true,
54
61
  disabled
55
62
  }),
56
63
  disabled,
@@ -63,12 +70,28 @@ function AppTopBarButton({ children, className, disabled, label, render, tooltip
63
70
  children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: tooltip })
64
71
  }) })] });
65
72
  }
73
+ function AppTopBarLink({ children, className, label, render, tooltip = label, ...props }) {
74
+ return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, {
75
+ render: /* @__PURE__ */ jsx(Toolbar.Link, {
76
+ className: mergeBaseClassName("app-top-bar__button", className),
77
+ "aria-label": label,
78
+ render,
79
+ ...props
80
+ }),
81
+ children
82
+ }), /* @__PURE__ */ jsx(Tooltip.Portal, { children: /* @__PURE__ */ jsx(Tooltip.Positioner, {
83
+ side: "bottom",
84
+ sideOffset: 6,
85
+ children: /* @__PURE__ */ jsx(Tooltip.Popup, { children: tooltip })
86
+ }) })] });
87
+ }
66
88
  /**
67
89
  * Composable application top bar with stable leading, title, and trailing
68
90
  * slots. Icon controls use shared Toolbar roving focus and coordinated Tooltip
69
91
  * behavior; their fixed slots do not resize when state icons change. Render an
70
92
  * existing behavior-rich button through `Control` to retain those toolbar
71
- * semantics without rebuilding the control.
93
+ * semantics without rebuilding the control. Use `Link` for navigation so an
94
+ * `href` or router-provided link keeps native link semantics.
72
95
  */
73
96
  const AppTopBar = {
74
97
  Root: AppTopBarRoot,
@@ -76,7 +99,8 @@ const AppTopBar = {
76
99
  Title: AppTopBarTitle,
77
100
  Trailing: AppTopBarTrailing,
78
101
  Control: AppTopBarControl,
79
- Button: AppTopBarButton
102
+ Button: AppTopBarButton,
103
+ Link: AppTopBarLink
80
104
  };
81
105
  //#endregion
82
106
  export { AppTopBar };
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { P as PencilIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { R as PencilIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import * as React from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -192,7 +192,7 @@ function ApprovalDecision({ className, onDecision, onSkip, subject = "this actio
192
192
  }),
193
193
  onSkip ? /* @__PURE__ */ jsx(Button, {
194
194
  type: "button",
195
- size: "xs",
195
+ size: "sm",
196
196
  variant: "ghost",
197
197
  color: "neutral",
198
198
  className: "approval__skip",
@@ -202,7 +202,7 @@ function ApprovalDecision({ className, onDecision, onSkip, subject = "this actio
202
202
  }) : null,
203
203
  /* @__PURE__ */ jsxs(Button, {
204
204
  type: "button",
205
- size: "xs",
205
+ size: "sm",
206
206
  color: "primary",
207
207
  className: "approval__submit",
208
208
  disabled: busy,
@@ -1,4 +1,4 @@
1
- import { r as ButtonProps } from "../Button-FX_hpqxm.js";
1
+ import { r as ButtonProps } from "../Button-DLGzHsjc.js";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/components/Artifact.d.ts
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { X as XIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { $ as XIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { Tooltip } from "./Tooltip.js";
5
5
  import "react";
@@ -81,7 +81,8 @@ function ArtifactAction({ className, label, tooltip, icon, children, ...props })
81
81
  const accessibleLabel = label ?? tooltip;
82
82
  const button = /* @__PURE__ */ jsxs(Button, {
83
83
  variant: "ghost",
84
- size: "icon",
84
+ size: "sm",
85
+ iconOnly: true,
85
86
  "aria-label": accessibleLabel,
86
87
  className: cx("artifact__action", className),
87
88
  ...props,
@@ -96,7 +97,8 @@ function ArtifactAction({ className, label, tooltip, icon, children, ...props })
96
97
  function ArtifactClose({ className, label = "Close", children, ...props }) {
97
98
  return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, { render: /* @__PURE__ */ jsx(Button, {
98
99
  variant: "ghost",
99
- size: "icon",
100
+ size: "sm",
101
+ iconOnly: true,
100
102
  "aria-label": label,
101
103
  className: cx("artifact__close", className),
102
104
  ...props,
@@ -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 { Autocomplete as Autocomplete$1 } from "@base-ui/react/autocomplete";
@@ -6,7 +6,7 @@ import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
6
6
  * Props for the Avatar.Root component.
7
7
  */
8
8
  interface AvatarRootProps extends React.ComponentPropsWithoutRef<typeof Avatar$1.Root> {
9
- size?: "default" | "sm" | "lg";
9
+ size?: "sm" | "md" | "lg";
10
10
  }
11
11
  /**
12
12
  * Props for the Avatar.Image component.
@@ -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 { Avatar as Avatar$1 } from "@base-ui/react/avatar";
@@ -16,7 +16,7 @@ import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
16
16
  *
17
17
  * @see {@link https://base-ui.com/react/components/avatar | Base UI Avatar}
18
18
  */
19
- function AvatarRoot({ className, size = "default", ref, ...props }) {
19
+ function AvatarRoot({ className, size = "md", ref, ...props }) {
20
20
  const classes = mergeBaseClassName(["avatar"].filter(Boolean).join(" "), className);
21
21
  return /* @__PURE__ */ jsx(Avatar$1.Root, {
22
22
  ref,
@@ -43,6 +43,7 @@ function mergeSlottedBadgeProps(childProps, badgeProps) {
43
43
  mergedProps.ref = mergeRefs(childProps.ref, badgeProps.ref);
44
44
  mergedProps["data-slot"] = "badge";
45
45
  mergedProps["data-variant"] = badgeProps["data-variant"];
46
+ mergedProps["data-size"] = badgeProps["data-size"];
46
47
  return mergedProps;
47
48
  }
48
49
  /**
@@ -71,12 +72,14 @@ function Badge({ variant = "normal", color, size = "md", className, render, chil
71
72
  className: classes,
72
73
  "data-slot": "badge",
73
74
  "data-variant": badgeVariant,
75
+ "data-size": size,
74
76
  children
75
77
  }));
76
78
  return /* @__PURE__ */ jsx("span", {
77
79
  ref,
78
80
  "data-slot": "badge",
79
81
  "data-variant": badgeVariant,
82
+ "data-size": size,
80
83
  className: classes,
81
84
  ...props,
82
85
  children
@@ -1,7 +1,8 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { T as MaximizeIcon, V as SpinnerIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { G as SpinnerIcon, O as MaximizeIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { Dialog } from "./Dialog.js";
5
+ import { TransitionSurface } from "./TransitionSurface.js";
5
6
  import { Badge } from "./Badge.js";
6
7
  import * as React from "react";
7
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -41,7 +42,15 @@ function EndedState({ title, detail }) {
41
42
  */
42
43
  function BrowserLiveView({ source, receivedAt, pageTitle, fallback, className, ...props }) {
43
44
  const [expired, setExpired] = React.useState(() => receivedAt !== void 0 && receivedAt + source.expiresInMs <= Date.now());
44
- const [frameState, setFrameState] = React.useState("loading");
45
+ const [reportedFrameState, setReportedFrameState] = React.useState(() => ({
46
+ url: source.url,
47
+ value: "loading"
48
+ }));
49
+ if (reportedFrameState.url !== source.url) setReportedFrameState({
50
+ url: source.url,
51
+ value: "loading"
52
+ });
53
+ const frameState = reportedFrameState.url === source.url ? reportedFrameState.value : "loading";
45
54
  React.useEffect(() => {
46
55
  const remaining = (receivedAt ?? Date.now()) + source.expiresInMs - Date.now();
47
56
  if (remaining <= 0) {
@@ -57,14 +66,15 @@ function BrowserLiveView({ source, receivedAt, pageTitle, fallback, className, .
57
66
  source.targetId,
58
67
  source.url
59
68
  ]);
60
- React.useEffect(() => {
61
- setFrameState("loading");
62
- }, [source.url]);
63
69
  React.useEffect(() => {
64
70
  if (frameState !== "loading") return;
65
- const timer = setTimeout(() => setFrameState("failed"), FRAME_LOAD_TIMEOUT_MS);
71
+ const url = source.url;
72
+ const timer = setTimeout(() => setReportedFrameState({
73
+ url,
74
+ value: "failed"
75
+ }), FRAME_LOAD_TIMEOUT_MS);
66
76
  return () => clearTimeout(timer);
67
- }, [frameState]);
77
+ }, [frameState, source.url]);
68
78
  const failed = frameState === "failed";
69
79
  const live = !expired && !failed;
70
80
  const frameTitle = pageTitle ? `Live browser view — ${pageTitle}` : "Live browser view";
@@ -83,9 +93,12 @@ function BrowserLiveView({ source, receivedAt, pageTitle, fallback, className, .
83
93
  src: source.url,
84
94
  title: frameTitle,
85
95
  allow: "clipboard-read; clipboard-write",
86
- onLoad: () => setFrameState("ready")
87
- }),
88
- frameState === "loading" ? /* @__PURE__ */ jsxs("div", {
96
+ onLoad: () => setReportedFrameState({
97
+ url: source.url,
98
+ value: "ready"
99
+ })
100
+ }, source.url),
101
+ frameState === "loading" ? /* @__PURE__ */ jsxs(TransitionSurface, {
89
102
  className: "browser-live-view__state",
90
103
  role: "status",
91
104
  children: [/* @__PURE__ */ jsx(SpinnerIcon, { className: "browser-live-view__state-spinner" }), "Connecting live view…"]
@@ -98,10 +111,12 @@ function BrowserLiveView({ source, receivedAt, pageTitle, fallback, className, .
98
111
  ...props,
99
112
  className: cx("browser-live-view", className),
100
113
  "data-expired": expired || failed || void 0,
114
+ "data-frame-state": frameState,
101
115
  children: [view, /* @__PURE__ */ jsxs(Dialog.Root, { children: [/* @__PURE__ */ jsx(Dialog.Trigger, { render: /* @__PURE__ */ jsx(Button, {
102
116
  variant: "ghost",
103
117
  color: "neutral",
104
- size: "icon-xs",
118
+ size: "sm",
119
+ iconOnly: true,
105
120
  className: "browser-live-view__expand",
106
121
  "aria-label": "Expand browser view",
107
122
  children: /* @__PURE__ */ jsx(MaximizeIcon, {})
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { F as PlayIcon, N as PauseIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { L as PauseIcon, z as PlayIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { Slider } from "./Slider.js";
5
5
  import * as React from "react";
@@ -154,7 +154,8 @@ function BrowserReplay({ className, events, autoPlay, ref, ...props }) {
154
154
  /* @__PURE__ */ jsx(Button, {
155
155
  variant: "ghost",
156
156
  color: "neutral",
157
- size: "icon-sm",
157
+ size: "sm",
158
+ iconOnly: true,
158
159
  className: "browser-replay__toggle",
159
160
  "aria-label": isPlaying ? "Pause replay" : "Play replay",
160
161
  disabled,
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { V as SpinnerIcon, X as XIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { $ as XIcon, G as SpinnerIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { Tabs } from "./Tabs.js";
5
5
  import { BrowserLiveView } from "./BrowserLiveView.js";
@@ -76,11 +76,11 @@ function BrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error,
76
76
  ...props
77
77
  }),
78
78
  children: [
79
- targets.length > 1 ? /* @__PURE__ */ jsx(WebPreviewNavigation, { children: /* @__PURE__ */ jsx(Tabs.List, {
79
+ targets.length > 1 ? /* @__PURE__ */ jsx(WebPreviewNavigation, { children: /* @__PURE__ */ jsxs(Tabs.List, {
80
80
  className: "browser-run-panel__tabs",
81
81
  "aria-label": "Open browser pages",
82
82
  activateOnFocus: true,
83
- children: targets.map((candidate) => /* @__PURE__ */ jsxs(Tabs.Tab, {
83
+ children: [targets.map((candidate) => /* @__PURE__ */ jsxs(Tabs.Tab, {
84
84
  value: candidate.targetId,
85
85
  className: "browser-run-panel__tab",
86
86
  render: /* @__PURE__ */ jsx(Button, {
@@ -97,7 +97,7 @@ function BrowserRunPanel({ liveView, onRefresh, onCloseSession, loading, error,
97
97
  className: "browser-run-panel__tab-title",
98
98
  children: targetLabel(candidate)
99
99
  })]
100
- }, candidate.targetId))
100
+ }, candidate.targetId)), /* @__PURE__ */ jsx(Tabs.Indicator, {})]
101
101
  }) }) : null,
102
102
  /* @__PURE__ */ jsxs(WebPreviewNavigation, {
103
103
  className: "browser-run-panel__address-bar",
@@ -1,2 +1,2 @@
1
- import { a as ButtonVariant, i as ButtonSize, n as ButtonColor, o as ButtonVariantsOptions, r as ButtonProps, s as buttonVariants, t as Button } from "../Button-FX_hpqxm.js";
1
+ import { a as ButtonVariant, i as ButtonSize, n as ButtonColor, o as ButtonVariantsOptions, r as ButtonProps, s as buttonVariants, t as Button } from "../Button-DLGzHsjc.js";
2
2
  export { Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, ButtonVariantsOptions, buttonVariants };
@@ -1,13 +1,13 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { Button as Button$1 } from "@base-ui/react/button";
4
4
  //#region src/components/Button.tsx
5
- function buttonVariants({ variant = "normal", color = "primary", size = "md", className } = {}) {
5
+ function buttonVariants({ variant = "normal", color = "primary", size = "sm", className } = {}) {
6
6
  return [
7
7
  "button",
8
8
  `button--${variant ?? "normal"}`,
9
9
  `button--${color ?? "primary"}`,
10
- `button--${size ?? "md"}`,
10
+ `button--${size ?? "sm"}`,
11
11
  className
12
12
  ].filter(Boolean).join(" ");
13
13
  }
@@ -24,21 +24,24 @@ function buttonVariants({ variant = "normal", color = "primary", size = "md", cl
24
24
  * <Button color="primary">Save changes</Button>
25
25
  * <Button color="destructive">Delete account</Button>
26
26
  * <Button variant="outline">Cancel</Button>
27
- * <Button variant="ghost" size="icon"><SearchIcon /></Button>
27
+ * <Button variant="ghost" size="sm" iconOnly aria-label="Search"><SearchIcon /></Button>
28
28
  * ```
29
29
  *
30
30
  * @see {@link https://base-ui.com/react/components/button | Base UI Button}
31
31
  */
32
- function Button({ variant = "normal", color = "primary", size = "md", className, nativeButton, ref, ...props }) {
32
+ function Button({ variant = "normal", color = "primary", size = "sm", iconOnly = false, className, nativeButton, ref, ...props }) {
33
+ const classes = mergeBaseClassName(buttonVariants({
34
+ variant,
35
+ color,
36
+ size
37
+ }), className);
38
+ const resolvedNativeButton = nativeButton ?? props.render == null;
33
39
  return /* @__PURE__ */ jsx(Button$1, {
34
40
  ref,
35
41
  "data-slot": "button",
36
- className: mergeBaseClassName(buttonVariants({
37
- variant,
38
- color,
39
- size
40
- }), className),
41
- nativeButton: nativeButton ?? props.render == null,
42
+ "data-icon-only": iconOnly ? "" : void 0,
43
+ className: classes,
44
+ nativeButton: resolvedNativeButton,
42
45
  ...props
43
46
  });
44
47
  }
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { useRender } from "@base-ui/react/use-render";
2
3
 
3
4
  //#region src/components/Card.d.ts
4
5
  /**
@@ -14,8 +15,8 @@ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
14
15
  size?: "default" | "sm";
15
16
  }
16
17
  interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {}
17
- interface CardTitleProps extends React.HTMLAttributes<HTMLDivElement> {}
18
- interface CardDescriptionProps extends React.HTMLAttributes<HTMLDivElement> {}
18
+ interface CardTitleProps extends useRender.ComponentProps<"div"> {}
19
+ interface CardDescriptionProps extends useRender.ComponentProps<"div"> {}
19
20
  interface CardActionProps extends React.HTMLAttributes<HTMLDivElement> {}
20
21
  interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {}
21
22
  interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {}
@@ -53,18 +54,16 @@ declare function CardHeader({
53
54
  }): React.JSX.Element;
54
55
  declare function CardTitle({
55
56
  className,
57
+ render,
56
58
  ref,
57
59
  ...props
58
- }: CardTitleProps & {
59
- ref?: React.Ref<HTMLDivElement>;
60
- }): React.JSX.Element;
60
+ }: CardTitleProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
61
61
  declare function CardDescription({
62
62
  className,
63
+ render,
63
64
  ref,
64
65
  ...props
65
- }: CardDescriptionProps & {
66
- ref?: React.Ref<HTMLDivElement>;
67
- }): React.JSX.Element;
66
+ }: CardDescriptionProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
68
67
  declare function CardAction({
69
68
  className,
70
69
  ref,
@@ -1,5 +1,6 @@
1
1
  import "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
+ import { useRender } from "@base-ui/react/use-render";
3
4
  //#region src/components/Card.tsx
4
5
  /**
5
6
  * A container component that provides consistent styling and elevation.
@@ -38,20 +39,28 @@ function CardHeader({ className = "", ref, ...props }) {
38
39
  ...props
39
40
  });
40
41
  }
41
- function CardTitle({ className = "", ref, ...props }) {
42
- return /* @__PURE__ */ jsx("div", {
42
+ function CardTitle({ className = "", render, ref, ...props }) {
43
+ return useRender({
44
+ defaultTagName: "div",
45
+ render,
43
46
  ref,
44
- "data-slot": "card-title",
45
- className: ["card__title", className].filter(Boolean).join(" "),
46
- ...props
47
+ props: {
48
+ ...props,
49
+ "data-slot": "card-title",
50
+ className: ["card__title", className].filter(Boolean).join(" ")
51
+ }
47
52
  });
48
53
  }
49
- function CardDescription({ className = "", ref, ...props }) {
50
- return /* @__PURE__ */ jsx("div", {
54
+ function CardDescription({ className = "", render, ref, ...props }) {
55
+ return useRender({
56
+ defaultTagName: "div",
57
+ render,
51
58
  ref,
52
- "data-slot": "card-description",
53
- className: ["card__description", className].filter(Boolean).join(" "),
54
- ...props
59
+ props: {
60
+ ...props,
61
+ "data-slot": "card-description",
62
+ className: ["card__description", className].filter(Boolean).join(" ")
63
+ }
55
64
  });
56
65
  }
57
66
  function CardAction({ className = "", ref, ...props }) {
@@ -1,5 +1,5 @@
1
1
  import { t as Collapsible } from "../Collapsible-N64ASIQr.js";
2
- import { C as IconProps } from "../icons-DpUqY8Mp.js";
2
+ import { E as IconProps } from "../icons-CYXmvKlJ.js";
3
3
  import * as React from "react";
4
4
 
5
5
  //#region src/components/ChainOfThought.d.ts
@@ -1,6 +1,6 @@
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 { V as SpinnerIcon, m as DotIcon, s as CheckIcon, u as ChevronRightIcon } from "../icons--FqCZEc3.js";
3
+ import { G as SpinnerIcon, f as ChevronRightIcon, g as DotIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
4
4
  import "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  //#region src/components/ChainOfThought.tsx
@@ -1,7 +1,7 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { V as SpinnerIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { G as SpinnerIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Button } from "./Button.js";
4
- import { u as ModelSelectorLogo } from "../ModelSelector-BNrZlY_Y.js";
4
+ import { u as ModelSelectorLogo } from "../ModelSelector-Cqw_qrUG.js";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region src/components/ChatGptSignInScreen.tsx
@@ -16,9 +16,6 @@ function ChatGptSignInScreen({ busy = false, error = false, label = "Sign in wit
16
16
  onPointerLeave?.(event);
17
17
  delete event.currentTarget.dataset.pointerActive;
18
18
  };
19
- const handleButtonPointerMove = (event) => {
20
- setPointerPosition(event.currentTarget, event, "chatgpt-sign-in-button");
21
- };
22
19
  return /* @__PURE__ */ jsx("main", {
23
20
  ref,
24
21
  className: cx("chatgpt-sign-in", className),
@@ -42,12 +39,12 @@ function ChatGptSignInScreen({ busy = false, error = false, label = "Sign in wit
42
39
  type: "button",
43
40
  variant: "normal",
44
41
  color: error ? "destructive" : "primary",
45
- size: "lg",
42
+ size: "sm",
46
43
  className: "chatgpt-sign-in__button",
47
44
  "data-busy": busy ? "true" : void 0,
48
45
  disabled: busy,
49
46
  onClick: onSignIn,
50
- onPointerMove: handleButtonPointerMove,
47
+ onPointerMove: handleSignInButtonPointerMove,
51
48
  children: [/* @__PURE__ */ jsx("span", {
52
49
  className: "chatgpt-sign-in__button-icon",
53
50
  children: busy ? /* @__PURE__ */ jsx(SpinnerIcon, { size: 16 }) : /* @__PURE__ */ jsx(ModelSelectorLogo, {
@@ -62,6 +59,9 @@ function ChatGptSignInScreen({ busy = false, error = false, label = "Sign in wit
62
59
  })
63
60
  });
64
61
  }
62
+ function handleSignInButtonPointerMove(event) {
63
+ setPointerPosition(event.currentTarget, event, "chatgpt-sign-in-button");
64
+ }
65
65
  function setPointerPosition(element, event, name) {
66
66
  const rect = element.getBoundingClientRect();
67
67
  if (rect.width === 0 || rect.height === 0) return;
@@ -1,5 +1,5 @@
1
- import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
2
- import { s as CheckIcon } from "../icons--FqCZEc3.js";
1
+ import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
+ import { l as CheckIcon } from "../icons-CQJ-aMnI.js";
3
3
  import "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
@@ -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 { CheckboxGroup as CheckboxGroup$1 } from "@base-ui/react/checkbox-group";
@@ -1,5 +1,5 @@
1
- import { t as cx } from "../class-names-Bk-QLWWI.js";
2
- import { a as BookmarkIcon } from "../icons--FqCZEc3.js";
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { o as BookmarkIcon } from "../icons-CQJ-aMnI.js";
3
3
  import { Marker, MarkerIcon } from "./Marker.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -1,2 +1,2 @@
1
- import { A as CodeBlockLanguage, C as CodeBlockLanguageSelectorValueProps, D as TokenizedCode, E as CodeBlockTitleProps, O as highlightCode, S as CodeBlockLanguageSelectorValue, T as CodeBlockTitle, _ as CodeBlockLanguageSelectorItem, a as CodeBlockContainerProps, b as CodeBlockLanguageSelectorTrigger, c as CodeBlockCopyButton, d as CodeBlockFilenameProps, f as CodeBlockHeader, g as CodeBlockLanguageSelectorContentProps, h as CodeBlockLanguageSelectorContent, i as CodeBlockContainer, k as CODE_BLOCK_LANGUAGES, l as CodeBlockCopyButtonProps, m as CodeBlockLanguageSelector, n as CodeBlockActions, o as CodeBlockContent, p as CodeBlockHeaderProps, r as CodeBlockActionsProps, s as CodeBlockContentProps, t as CodeBlock, u as CodeBlockFilename, v as CodeBlockLanguageSelectorItemProps, w as CodeBlockProps, x as CodeBlockLanguageSelectorTriggerProps, y as CodeBlockLanguageSelectorProps } from "../CodeBlock-Dnpr88ZQ.js";
1
+ import { A as CodeBlockLanguage, C as CodeBlockLanguageSelectorValueProps, D as TokenizedCode, E as CodeBlockTitleProps, O as highlightCode, S as CodeBlockLanguageSelectorValue, T as CodeBlockTitle, _ as CodeBlockLanguageSelectorItem, a as CodeBlockContainerProps, b as CodeBlockLanguageSelectorTrigger, c as CodeBlockCopyButton, d as CodeBlockFilenameProps, f as CodeBlockHeader, g as CodeBlockLanguageSelectorContentProps, h as CodeBlockLanguageSelectorContent, i as CodeBlockContainer, k as CODE_BLOCK_LANGUAGES, l as CodeBlockCopyButtonProps, m as CodeBlockLanguageSelector, n as CodeBlockActions, o as CodeBlockContent, p as CodeBlockHeaderProps, r as CodeBlockActionsProps, s as CodeBlockContentProps, t as CodeBlock, u as CodeBlockFilename, v as CodeBlockLanguageSelectorItemProps, w as CodeBlockProps, x as CodeBlockLanguageSelectorTriggerProps, y as CodeBlockLanguageSelectorProps } from "../CodeBlock-gV4kZeCI.js";
2
2
  export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockActionsProps, CodeBlockContainer, CodeBlockContainerProps, CodeBlockContent, CodeBlockContentProps, CodeBlockCopyButton, CodeBlockCopyButtonProps, CodeBlockFilename, CodeBlockFilenameProps, CodeBlockHeader, CodeBlockHeaderProps, type CodeBlockLanguage, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorContentProps, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorItemProps, CodeBlockLanguageSelectorProps, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorTriggerProps, CodeBlockLanguageSelectorValue, CodeBlockLanguageSelectorValueProps, CodeBlockProps, CodeBlockTitle, CodeBlockTitleProps, TokenizedCode, highlightCode };