@mcp-b/react-components 0.6.5 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AgentChat-403mckDG.d.ts +101 -0
- package/dist/BrowserLiveView-ZktFZiMD.d.ts +47 -0
- package/dist/BrowserReplay-6G-mnwcn.d.ts +40 -0
- package/dist/{CodeBlock-BK0sOAbV.js → CodeBlock-D9koxDA7.js} +1 -1
- package/dist/{FileTree-BWQZ0FSi.js → FileTree-BdK93Uuu.js} +1 -1
- package/dist/ModelSelector-MQvK-pNb.js +306 -0
- package/dist/PromptInput-D6-G24p7.d.ts +528 -0
- package/dist/ThinkChatActivity-CeHzk6-K.d.ts +73 -0
- package/dist/ThinkChatContext-CC94HL4u.d.ts +28 -0
- package/dist/ThinkChatToolParts-DnUiZgCC.d.ts +83 -0
- package/dist/components/Activity.js +1 -1
- package/dist/components/AgentChat.d.ts +1 -103
- package/dist/components/AgentChat.js +77 -58
- package/dist/components/AgentConnection.d.ts +43 -2
- package/dist/components/AgentConnection.js +154 -3
- package/dist/components/Artifact.js +1 -1
- package/dist/components/BrowserLiveView.d.ts +1 -46
- package/dist/components/BrowserLiveView.js +1 -1
- package/dist/components/BrowserReplay.d.ts +1 -39
- package/dist/components/BrowserReplay.js +1 -1
- package/dist/components/ChainOfThought.d.ts +1 -1
- package/dist/components/ChainOfThought.js +1 -1
- package/dist/components/ChatGptSignInScreen.d.ts +38 -0
- package/dist/components/ChatGptSignInScreen.js +201 -0
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/Commit.js +1 -1
- package/dist/components/Context.d.ts +6 -10
- package/dist/components/Context.js +4 -2
- package/dist/components/ContextMenu.js +1 -1
- package/dist/components/Conversation.d.ts +28 -28
- package/dist/components/Conversation.js +36 -55
- package/dist/components/Dialog.js +1 -1
- package/dist/components/EnvironmentVariables.js +1 -1
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Marker.d.ts +57 -0
- package/dist/components/Marker.js +89 -0
- package/dist/components/McpServerPicker.js +1 -1
- package/dist/components/Menubar.js +1 -1
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +52 -0
- package/dist/components/MessageScroller.js +62 -0
- package/dist/components/ModelSelector.js +1 -305
- package/dist/components/NavigationMenu.js +1 -1
- package/dist/components/PromptInput.d.ts +2 -534
- package/dist/components/PromptInput.js +18 -12
- package/dist/components/Queue.js +1 -1
- package/dist/components/Reasoning.js +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Sources.js +1 -1
- package/dist/components/Stepper.js +1 -1
- package/dist/components/Task.js +1 -1
- package/dist/components/Terminal.js +2 -2
- package/dist/components/TestResults.js +1 -1
- package/dist/components/ThinkChat.d.ts +23 -80
- package/dist/components/ThinkChat.js +60 -857
- package/dist/components/ThinkChatActivity.d.ts +3 -0
- package/dist/components/ThinkChatActivity.js +429 -0
- package/dist/components/ThinkChatContext.d.ts +2 -0
- package/dist/components/ThinkChatContext.js +10 -0
- package/dist/components/ThinkChatToolPanels.d.ts +39 -0
- package/dist/components/ThinkChatToolPanels.js +355 -0
- package/dist/components/ThinkChatToolParts.d.ts +2 -0
- package/dist/components/ThinkChatToolParts.js +66 -0
- package/dist/components/ThinkFullApp.d.ts +23 -0
- package/dist/components/ThinkFullApp.js +175 -0
- package/dist/components/WebPreview.js +1 -1
- package/dist/components/WorkspaceExplorer.d.ts +1 -1
- package/dist/components/WorkspaceExplorer.js +3 -3
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/components/useStickToBottom.d.ts +5 -2
- package/dist/components/useStickToBottom.js +5 -2
- package/dist/{copy-button-CB2MWcau.js → copy-button-TVhDAroI.js} +1 -1
- package/dist/{icons-BCNawx-T.js → icons-BAlTbWWP.js} +27 -1
- package/dist/{icons-BYpJY6L2.d.ts → icons-BRI54ATJ.d.ts} +2 -1
- package/dist/styles/agent-chat.css +15 -3
- package/dist/styles/agent-connection.css +33 -4
- package/dist/styles/chatgpt-sign-in-screen.css +224 -0
- package/dist/styles/code-block.css +6 -4
- package/dist/styles/conversation.css +10 -0
- package/dist/styles/index.css +4 -0
- package/dist/styles/marker.css +95 -0
- package/dist/styles/message-scroller.css +113 -0
- package/dist/styles/message.css +2 -1
- package/dist/styles/prompt-input.css +1 -0
- package/dist/styles/scrollbars.css +10 -2
- package/dist/styles/streamdown.css +2 -0
- package/dist/styles/think-full-app.css +318 -0
- package/dist/utils/mcp-server-catalog.d.ts +23 -1
- package/dist/utils/mcp-server-catalog.js +27 -1
- package/package.json +3 -2
|
@@ -1,306 +1,2 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { k as SearchIcon, o as ChevronDownIcon } from "../icons-BCNawx-T.js";
|
|
3
|
-
import { Button } from "./Button.js";
|
|
4
|
-
import { Dialog, DialogBackdrop, DialogPopup, DialogPortal, DialogTitle, DialogTrigger } from "./Dialog.js";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
-
//#region src/components/_internal/provider-logos.tsx
|
|
8
|
-
function Svg({ children, size = 16, ...props }) {
|
|
9
|
-
return /* @__PURE__ */ jsx("svg", {
|
|
10
|
-
width: size,
|
|
11
|
-
height: size,
|
|
12
|
-
viewBox: "0 0 24 24",
|
|
13
|
-
fill: "currentColor",
|
|
14
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
-
"aria-hidden": "true",
|
|
16
|
-
focusable: "false",
|
|
17
|
-
...props,
|
|
18
|
-
children
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
const OpenAILogo = (props) => /* @__PURE__ */ jsx(Svg, {
|
|
22
|
-
...props,
|
|
23
|
-
children: /* @__PURE__ */ jsx("path", { d: "M22.28 9.81a5.99 5.99 0 0 0-.52-4.91 6.05 6.05 0 0 0-6.52-2.9A6.05 6.05 0 0 0 10.58 0a6.05 6.05 0 0 0-5.77 4.18 5.99 5.99 0 0 0-4 2.9 6.05 6.05 0 0 0 .74 7.09 5.99 5.99 0 0 0 .52 4.91 6.05 6.05 0 0 0 6.52 2.9A5.99 5.99 0 0 0 13.25 24a6.05 6.05 0 0 0 5.77-4.19 5.99 5.99 0 0 0 4-2.9 6.05 6.05 0 0 0-.74-7.1ZM13.25 22.44a4.48 4.48 0 0 1-2.88-1.04l.14-.08 4.79-2.76a.78.78 0 0 0 .39-.68v-6.75l2.02 1.17c.02 0 .04.03.04.05v5.58a4.5 4.5 0 0 1-4.5 4.5ZM3.57 18.3a4.5 4.5 0 0 1-.54-3.03l.14.09 4.79 2.76a.78.78 0 0 0 .78 0l5.85-3.37v2.33c0 .02 0 .04-.03.06L9.72 19.94a4.5 4.5 0 0 1-6.15-1.64ZM2.31 7.88a4.48 4.48 0 0 1 2.35-1.97v5.69a.78.78 0 0 0 .39.67l5.83 3.36-2.02 1.17a.07.07 0 0 1-.07 0l-4.83-2.8A4.5 4.5 0 0 1 2.3 7.9Zm16.64 3.87L13.1 8.37l2.02-1.17c.02 0 .05-.01.07 0l4.83 2.8a4.5 4.5 0 0 1-.67 8.11V12.4a.77.77 0 0 0-.4-.66Zm2-3.03-.14-.09-4.78-2.78a.78.78 0 0 0-.79 0L9.4 9.25V6.92c0-.02 0-.04.02-.05l4.83-2.79a4.5 4.5 0 0 1 6.68 4.66Zm-12.68 4.17-2.02-1.17a.07.07 0 0 1-.04-.06V6.1a4.5 4.5 0 0 1 7.38-3.45l-.14.08L8.66 5.5a.78.78 0 0 0-.4.68v6.74Zm1.1-2.36 2.6-1.5 2.61 1.5v3l-2.6 1.5-2.6-1.5Z" })
|
|
24
|
-
});
|
|
25
|
-
const AnthropicLogo = (props) => /* @__PURE__ */ jsxs(Svg, {
|
|
26
|
-
...props,
|
|
27
|
-
children: [/* @__PURE__ */ jsx("path", { d: "M13.83 4H17.3L24 20h-3.47l-1.37-3.52h-7L10.82 20H7.36ZM13.25 13.58h4.8l-2.4-6.15Z" }), /* @__PURE__ */ jsx("path", { d: "M0 4h3.47l6.7 16H6.7Z" })]
|
|
28
|
-
});
|
|
29
|
-
const GoogleLogo = (props) => /* @__PURE__ */ jsx(Svg, {
|
|
30
|
-
...props,
|
|
31
|
-
children: /* @__PURE__ */ jsx("path", { d: "M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 2a8 8 0 0 1 5.34 2.05l-2.2 2.2A5 5 0 1 0 17 12.6h-5v-2.6h7.9A8 8 0 0 1 12 20 8 8 0 0 1 12 4Z" })
|
|
32
|
-
});
|
|
33
|
-
const MetaLogo = (props) => /* @__PURE__ */ jsx(Svg, {
|
|
34
|
-
...props,
|
|
35
|
-
children: /* @__PURE__ */ jsx("path", { d: "M2 12.5c0-3.5 1.8-6.5 4.4-6.5 1.8 0 3.2 1.3 4.9 3.8 2.2 3.2 3.3 5 4.6 5 1 0 1.5-.8 1.5-2.3 0-2.1-1-4.3-2.7-4.3-1 0-2 .6-3.2 2l-1.3-1.7C11.5 6.8 12.9 6 14.5 6c3 0 5.5 3.3 5.5 7 0 3.3-1.6 5-3.8 5-2.3 0-3.6-1.6-6-5.3C8.9 10.4 8 9.2 6.8 9.2 5.4 9.2 4.3 10.6 4.3 13c0 1.8.5 3 1.3 3 .6 0 1.1-.3 1.8-1.1l1.3 1.7C7.6 17.6 6.3 18 5.3 18 3.3 18 2 16 2 12.5Z" })
|
|
36
|
-
});
|
|
37
|
-
const KimiLogo = (props) => /* @__PURE__ */ jsxs(Svg, {
|
|
38
|
-
...props,
|
|
39
|
-
children: [/* @__PURE__ */ jsx("circle", {
|
|
40
|
-
cx: "12",
|
|
41
|
-
cy: "12",
|
|
42
|
-
r: "9.5",
|
|
43
|
-
fill: "none",
|
|
44
|
-
stroke: "currentColor",
|
|
45
|
-
strokeWidth: "1.5"
|
|
46
|
-
}), /* @__PURE__ */ jsx("path", {
|
|
47
|
-
d: "M8 7.5v9M8 12l4.5-4.5M8 12l5 4.5M14 7.5h2.5v9H14z",
|
|
48
|
-
fill: "none",
|
|
49
|
-
stroke: "currentColor",
|
|
50
|
-
strokeWidth: "1.5",
|
|
51
|
-
strokeLinecap: "round",
|
|
52
|
-
strokeLinejoin: "round"
|
|
53
|
-
})]
|
|
54
|
-
});
|
|
55
|
-
const FallbackLogo = (props) => /* @__PURE__ */ jsx(Svg, {
|
|
56
|
-
...props,
|
|
57
|
-
children: /* @__PURE__ */ jsx("circle", {
|
|
58
|
-
cx: "12",
|
|
59
|
-
cy: "12",
|
|
60
|
-
r: "3"
|
|
61
|
-
})
|
|
62
|
-
});
|
|
63
|
-
/**
|
|
64
|
-
* Resolves a provider string to its logo component.
|
|
65
|
-
* Unknown providers get a neutral dot fallback.
|
|
66
|
-
*/
|
|
67
|
-
function ProviderLogo({ provider, ...props }) {
|
|
68
|
-
switch (provider.toLowerCase()) {
|
|
69
|
-
case "openai": return /* @__PURE__ */ jsx(OpenAILogo, { ...props });
|
|
70
|
-
case "anthropic": return /* @__PURE__ */ jsx(AnthropicLogo, { ...props });
|
|
71
|
-
case "google": return /* @__PURE__ */ jsx(GoogleLogo, { ...props });
|
|
72
|
-
case "meta": return /* @__PURE__ */ jsx(MetaLogo, { ...props });
|
|
73
|
-
case "kimi": return /* @__PURE__ */ jsx(KimiLogo, { ...props });
|
|
74
|
-
default: return /* @__PURE__ */ jsx(FallbackLogo, { ...props });
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/components/ModelSelector.tsx
|
|
79
|
-
const ModelSelectorContext = React.createContext(null);
|
|
80
|
-
function useModelSelectorContext() {
|
|
81
|
-
const ctx = React.useContext(ModelSelectorContext);
|
|
82
|
-
if (!ctx) throw new Error("ModelSelector subcomponents must be used inside <ModelSelector>.");
|
|
83
|
-
return ctx;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* A searchable model picker. Click the trigger to open a dialog containing a
|
|
87
|
-
* search input and a grouped list of available models.
|
|
88
|
-
*
|
|
89
|
-
* Built internally for AI model selection. Use it when users choose one model
|
|
90
|
-
* from a grouped provider list. Do not use it as a general command palette or
|
|
91
|
-
* multiselect; use Combobox or a dedicated component for that.
|
|
92
|
-
*
|
|
93
|
-
* Sigvelo changes: composes the design-system Dialog and Button, filters item
|
|
94
|
-
* children locally, and maps provider logos plus listbox styling to Sigvelo
|
|
95
|
-
* CSS tokens.
|
|
96
|
-
*
|
|
97
|
-
* The dialog owns focus while open, the list uses `role="listbox"`, and items
|
|
98
|
-
* use `role="option"` with `aria-selected`. Styling consumes surface, border,
|
|
99
|
-
* spacing, radius, focus, and typography tokens. Add provider/item affordances
|
|
100
|
-
* here when they need to be shared.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```tsx
|
|
104
|
-
* <ModelSelector>
|
|
105
|
-
* <ModelSelectorTrigger>
|
|
106
|
-
* <ModelSelectorLogo provider="anthropic" />
|
|
107
|
-
* <ModelSelectorName>Claude Opus 4.6</ModelSelectorName>
|
|
108
|
-
* </ModelSelectorTrigger>
|
|
109
|
-
* <ModelSelectorContent>
|
|
110
|
-
* <ModelSelectorDialog>
|
|
111
|
-
* <ModelSelectorInput placeholder="Search models…" />
|
|
112
|
-
* <ModelSelectorList>
|
|
113
|
-
* <ModelSelectorGroup label="Anthropic">
|
|
114
|
-
* <ModelSelectorItem value="claude-opus-4-6" onSelect={…}>
|
|
115
|
-
* <ModelSelectorLogo provider="anthropic" />
|
|
116
|
-
* <ModelSelectorName>Claude Opus 4.6</ModelSelectorName>
|
|
117
|
-
* </ModelSelectorItem>
|
|
118
|
-
* </ModelSelectorGroup>
|
|
119
|
-
* </ModelSelectorList>
|
|
120
|
-
* </ModelSelectorDialog>
|
|
121
|
-
* </ModelSelectorContent>
|
|
122
|
-
* </ModelSelector>
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
|
-
function ModelSelector({ open, defaultOpen = false, onOpenChange, children, className, ref, ...props }) {
|
|
126
|
-
const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
|
|
127
|
-
const [query, setQuery] = React.useState("");
|
|
128
|
-
const isControlled = open !== void 0;
|
|
129
|
-
const currentOpen = isControlled ? open : internalOpen;
|
|
130
|
-
const handleOpenChange = React.useCallback((next) => {
|
|
131
|
-
if (!isControlled) setInternalOpen(next);
|
|
132
|
-
onOpenChange?.(next);
|
|
133
|
-
if (!next) setQuery("");
|
|
134
|
-
}, [isControlled, onOpenChange]);
|
|
135
|
-
const onSelectItem = React.useCallback(() => {
|
|
136
|
-
handleOpenChange(false);
|
|
137
|
-
}, [handleOpenChange]);
|
|
138
|
-
const ctxValue = React.useMemo(() => ({
|
|
139
|
-
query,
|
|
140
|
-
setQuery,
|
|
141
|
-
onSelectItem
|
|
142
|
-
}), [query, onSelectItem]);
|
|
143
|
-
return /* @__PURE__ */ jsx(ModelSelectorContext.Provider, {
|
|
144
|
-
value: ctxValue,
|
|
145
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
146
|
-
ref,
|
|
147
|
-
className: cx("model-selector", className),
|
|
148
|
-
...props,
|
|
149
|
-
children: /* @__PURE__ */ jsx(Dialog, {
|
|
150
|
-
open: currentOpen,
|
|
151
|
-
onOpenChange: handleOpenChange,
|
|
152
|
-
children
|
|
153
|
-
})
|
|
154
|
-
})
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
function ModelSelectorTrigger({ className, children, ...props }) {
|
|
158
|
-
return /* @__PURE__ */ jsx(DialogTrigger, { render: /* @__PURE__ */ jsxs(Button, {
|
|
159
|
-
variant: "outline",
|
|
160
|
-
color: "neutral",
|
|
161
|
-
className: cx("model-selector__trigger", className),
|
|
162
|
-
...props,
|
|
163
|
-
children: [children, /* @__PURE__ */ jsx("span", {
|
|
164
|
-
className: "model-selector__trigger-chevron",
|
|
165
|
-
"aria-hidden": "true",
|
|
166
|
-
children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
|
|
167
|
-
})]
|
|
168
|
-
}) });
|
|
169
|
-
}
|
|
170
|
-
function ModelSelectorContent({ children, title = "Model Selector", ...props }) {
|
|
171
|
-
return /* @__PURE__ */ jsxs(DialogPortal, { children: [/* @__PURE__ */ jsx(DialogBackdrop, {}), /* @__PURE__ */ jsxs(DialogPopup, {
|
|
172
|
-
...props,
|
|
173
|
-
children: [/* @__PURE__ */ jsx(DialogTitle, {
|
|
174
|
-
className: "model-selector__title",
|
|
175
|
-
children: title
|
|
176
|
-
}), children]
|
|
177
|
-
})] });
|
|
178
|
-
}
|
|
179
|
-
function ModelSelectorDialog({ className, children, ref, ...props }) {
|
|
180
|
-
return /* @__PURE__ */ jsx("div", {
|
|
181
|
-
ref,
|
|
182
|
-
className: cx("model-selector__dialog", className),
|
|
183
|
-
...props,
|
|
184
|
-
children
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
function ModelSelectorInput({ className, placeholder = "Search models…", ref, ...props }) {
|
|
188
|
-
const { query, setQuery } = useModelSelectorContext();
|
|
189
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
190
|
-
className: "model-selector__search",
|
|
191
|
-
children: [/* @__PURE__ */ jsx("span", {
|
|
192
|
-
className: "model-selector__search-icon",
|
|
193
|
-
"aria-hidden": "true",
|
|
194
|
-
children: /* @__PURE__ */ jsx(SearchIcon, {})
|
|
195
|
-
}), /* @__PURE__ */ jsx("input", {
|
|
196
|
-
ref,
|
|
197
|
-
type: "search",
|
|
198
|
-
value: query,
|
|
199
|
-
onChange: (e) => setQuery(e.target.value),
|
|
200
|
-
placeholder,
|
|
201
|
-
className: cx("model-selector__input", className),
|
|
202
|
-
autoFocus: true,
|
|
203
|
-
...props
|
|
204
|
-
})]
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
function ModelSelectorList({ className, children, ref, ...props }) {
|
|
208
|
-
return /* @__PURE__ */ jsx("div", {
|
|
209
|
-
ref,
|
|
210
|
-
role: "listbox",
|
|
211
|
-
className: cx("model-selector__list", className),
|
|
212
|
-
...props,
|
|
213
|
-
children
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
function ModelSelectorGroup({ className, label, children, ref, ...props }) {
|
|
217
|
-
const { query } = useModelSelectorContext();
|
|
218
|
-
const childArray = React.Children.toArray(children).filter((child) => React.isValidElement(child));
|
|
219
|
-
const q = query.trim().toLowerCase();
|
|
220
|
-
const filtered = q ? childArray.filter((child) => {
|
|
221
|
-
const value = String(child.props.value ?? "").toLowerCase();
|
|
222
|
-
const keywords = String(child.props.keywords ?? "").toLowerCase();
|
|
223
|
-
return value.includes(q) || keywords.includes(q);
|
|
224
|
-
}) : childArray;
|
|
225
|
-
if (filtered.length === 0) return null;
|
|
226
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
227
|
-
ref,
|
|
228
|
-
role: "group",
|
|
229
|
-
"aria-label": label,
|
|
230
|
-
className: cx("model-selector__group", className),
|
|
231
|
-
...props,
|
|
232
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
233
|
-
className: "model-selector__group-label",
|
|
234
|
-
children: label
|
|
235
|
-
}), filtered]
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
function ModelSelectorItem({ className, value, keywords, selected, onSelect, children, onClick, ref, ...props }) {
|
|
239
|
-
const { onSelectItem } = useModelSelectorContext();
|
|
240
|
-
const handleClick = (e) => {
|
|
241
|
-
onSelect?.(value);
|
|
242
|
-
onSelectItem();
|
|
243
|
-
onClick?.(e);
|
|
244
|
-
};
|
|
245
|
-
return /* @__PURE__ */ jsx("button", {
|
|
246
|
-
ref,
|
|
247
|
-
type: "button",
|
|
248
|
-
role: "option",
|
|
249
|
-
"aria-selected": selected,
|
|
250
|
-
"data-selected": selected ? "" : void 0,
|
|
251
|
-
className: cx("model-selector__item", className),
|
|
252
|
-
onClick: handleClick,
|
|
253
|
-
...props,
|
|
254
|
-
children
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
function ModelSelectorEmpty({ className, children = "No models found", ref, ...props }) {
|
|
258
|
-
return /* @__PURE__ */ jsx("div", {
|
|
259
|
-
ref,
|
|
260
|
-
className: cx("model-selector__empty", className),
|
|
261
|
-
...props,
|
|
262
|
-
children
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
function ModelSelectorSeparator({ className, ref, ...props }) {
|
|
266
|
-
return /* @__PURE__ */ jsx("hr", {
|
|
267
|
-
ref,
|
|
268
|
-
className: cx("model-selector__separator", className),
|
|
269
|
-
...props
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
function ModelSelectorLogo({ className, provider, ...props }) {
|
|
273
|
-
return /* @__PURE__ */ jsx("span", {
|
|
274
|
-
className: cx("model-selector__logo", className),
|
|
275
|
-
children: /* @__PURE__ */ jsx(ProviderLogo, {
|
|
276
|
-
provider,
|
|
277
|
-
...props
|
|
278
|
-
})
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
function ModelSelectorLogoGroup({ className, children, ref, ...props }) {
|
|
282
|
-
return /* @__PURE__ */ jsx("div", {
|
|
283
|
-
ref,
|
|
284
|
-
className: cx("model-selector__logo-group", className),
|
|
285
|
-
...props,
|
|
286
|
-
children
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
function ModelSelectorName({ className, children, ref, ...props }) {
|
|
290
|
-
return /* @__PURE__ */ jsx("span", {
|
|
291
|
-
ref,
|
|
292
|
-
className: cx("model-selector__name", className),
|
|
293
|
-
...props,
|
|
294
|
-
children
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
function ModelSelectorShortcut({ className, children, ref, ...props }) {
|
|
298
|
-
return /* @__PURE__ */ jsx("kbd", {
|
|
299
|
-
ref,
|
|
300
|
-
className: cx("model-selector__shortcut", className),
|
|
301
|
-
...props,
|
|
302
|
-
children
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
//#endregion
|
|
1
|
+
import { a as ModelSelectorGroup, c as ModelSelectorList, d as ModelSelectorName, f as ModelSelectorSeparator, i as ModelSelectorEmpty, l as ModelSelectorLogo, m as ModelSelectorTrigger, n as ModelSelectorContent, o as ModelSelectorInput, p as ModelSelectorShortcut, r as ModelSelectorDialog, s as ModelSelectorItem, t as ModelSelector, u as ModelSelectorLogoGroup } from "../ModelSelector-MQvK-pNb.js";
|
|
306
2
|
export { ModelSelector, ModelSelectorContent, ModelSelectorDialog, ModelSelectorEmpty, ModelSelectorGroup, ModelSelectorInput, ModelSelectorItem, ModelSelectorList, ModelSelectorLogo, ModelSelectorLogoGroup, ModelSelectorName, ModelSelectorSeparator, ModelSelectorShortcut, ModelSelectorTrigger };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as ChevronDownIcon } from "../icons-
|
|
1
|
+
import { o as ChevronDownIcon } from "../icons-BAlTbWWP.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { NavigationMenu as NavigationMenu$1 } from "@base-ui/react/navigation-menu";
|