@mcp-b/react-components 0.1.1 → 0.1.3
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/Button-QCM8ZKgR.d.ts +98 -0
- package/dist/CodeBlock-CttHhWcb.js +356 -0
- package/dist/CodeBlock-V6pgafSS.d.ts +174 -0
- package/dist/Select-CRsKCJ9x.d.ts +200 -0
- package/dist/class-names-9UtZwb0J.js +12 -0
- package/dist/components/Accordion.d.ts +81 -0
- package/dist/components/Accordion.js +97 -0
- package/dist/components/AgentConnection.d.ts +69 -0
- package/dist/components/AgentConnection.js +176 -0
- package/dist/components/AlertDialog.d.ts +148 -0
- package/dist/components/AlertDialog.js +141 -0
- package/dist/components/Artifact.d.ts +128 -0
- package/dist/components/Artifact.js +115 -0
- package/dist/components/Autocomplete.d.ts +186 -0
- package/dist/components/Autocomplete.js +186 -0
- package/dist/components/Avatar.d.ts +134 -0
- package/dist/components/Avatar.js +118 -0
- package/dist/components/Badge.d.ts +68 -0
- package/dist/components/Badge.js +108 -0
- package/dist/components/Button.d.ts +2 -0
- package/dist/components/Button.js +73 -0
- package/dist/components/Card.d.ts +87 -0
- package/dist/components/Card.js +81 -0
- package/dist/components/ChainOfThought.d.ts +153 -0
- package/dist/components/ChainOfThought.js +157 -0
- package/dist/components/Checkbox.d.ts +35 -0
- package/dist/components/Checkbox.js +47 -0
- package/dist/components/CheckboxGroup.d.ts +76 -0
- package/dist/components/CheckboxGroup.js +69 -0
- package/dist/components/CodeBlock.d.ts +2 -0
- package/dist/components/CodeBlock.js +2 -0
- package/dist/components/Collapsible.d.ts +127 -0
- package/dist/components/Collapsible.js +103 -0
- package/dist/components/Combobox.d.ts +177 -0
- package/dist/components/Combobox.js +179 -0
- package/dist/components/Commit.d.ts +265 -0
- package/dist/components/Commit.js +282 -0
- package/dist/components/Context.d.ts +129 -0
- package/dist/components/Context.js +309 -0
- package/dist/components/ContextMenu.d.ts +282 -0
- package/dist/components/ContextMenu.js +270 -0
- package/dist/components/Conversation.d.ts +166 -0
- package/dist/components/Conversation.js +202 -0
- package/dist/components/Dialog.d.ts +120 -0
- package/dist/components/Dialog.js +114 -0
- package/dist/components/EnvironmentVariables.d.ts +176 -0
- package/dist/components/EnvironmentVariables.js +221 -0
- package/dist/components/Field.d.ts +281 -0
- package/dist/components/Field.js +274 -0
- package/dist/components/Fieldset.d.ts +93 -0
- package/dist/components/Fieldset.js +81 -0
- package/dist/components/FileTree.d.ts +116 -0
- package/dist/components/FileTree.js +310 -0
- package/dist/components/Form.d.ts +94 -0
- package/dist/components/Form.js +88 -0
- package/dist/components/GithubMotionMark.d.ts +13 -0
- package/dist/components/GithubMotionMark.js +23 -0
- package/dist/components/Input.d.ts +33 -0
- package/dist/components/Input.js +27 -0
- package/dist/components/Label.d.ts +44 -0
- package/dist/components/Label.js +41 -0
- package/dist/components/Menu.d.ts +395 -0
- package/dist/components/Menu.js +338 -0
- package/dist/components/Menubar.d.ts +331 -0
- package/dist/components/Menubar.js +299 -0
- package/dist/components/Message.d.ts +216 -0
- package/dist/components/Message.js +245 -0
- package/dist/components/Meter.d.ts +151 -0
- package/dist/components/Meter.js +121 -0
- package/dist/components/ModelSelector.d.ts +198 -0
- package/dist/components/ModelSelector.js +306 -0
- package/dist/components/NaniteScene.d.ts +33 -0
- package/dist/components/NaniteScene.js +405 -0
- package/dist/components/NavigationMenu.d.ts +256 -0
- package/dist/components/NavigationMenu.js +228 -0
- package/dist/components/NumberField.d.ts +159 -0
- package/dist/components/NumberField.js +123 -0
- package/dist/components/Popover.d.ts +278 -0
- package/dist/components/Popover.js +245 -0
- package/dist/components/PreviewCard.d.ts +156 -0
- package/dist/components/PreviewCard.js +156 -0
- package/dist/components/PricingPage.d.ts +209 -0
- package/dist/components/PricingPage.js +506 -0
- package/dist/components/Progress.d.ts +58 -0
- package/dist/components/Progress.js +51 -0
- package/dist/components/PromptInput.d.ts +399 -0
- package/dist/components/PromptInput.js +737 -0
- package/dist/components/Queue.d.ts +241 -0
- package/dist/components/Queue.js +225 -0
- package/dist/components/RadioGroup.d.ts +78 -0
- package/dist/components/RadioGroup.js +72 -0
- package/dist/components/Reasoning.d.ts +88 -0
- package/dist/components/Reasoning.js +187 -0
- package/dist/components/ScrollArea.d.ts +160 -0
- package/dist/components/ScrollArea.js +145 -0
- package/dist/components/Select.d.ts +2 -0
- package/dist/components/Select.js +260 -0
- package/dist/components/Separator.d.ts +45 -0
- package/dist/components/Separator.js +40 -0
- package/dist/components/Shell.d.ts +163 -0
- package/dist/components/Shell.js +137 -0
- package/dist/components/Slider.d.ts +120 -0
- package/dist/components/Slider.js +115 -0
- package/dist/components/Sources.d.ts +91 -0
- package/dist/components/Sources.js +121 -0
- package/dist/components/Stepper.d.ts +190 -0
- package/dist/components/Stepper.js +315 -0
- package/dist/components/Switch.d.ts +57 -0
- package/dist/components/Switch.js +55 -0
- package/dist/components/Tabs.d.ts +84 -0
- package/dist/components/Tabs.js +78 -0
- package/dist/components/Task.d.ts +100 -0
- package/dist/components/Task.js +120 -0
- package/dist/components/Terminal.d.ts +118 -0
- package/dist/components/Terminal.js +234 -0
- package/dist/components/TestResults.d.ts +236 -0
- package/dist/components/TestResults.js +346 -0
- package/dist/components/Toast.d.ts +192 -0
- package/dist/components/Toast.js +163 -0
- package/dist/components/Toggle.d.ts +69 -0
- package/dist/components/Toggle.js +66 -0
- package/dist/components/ToggleGroup.d.ts +69 -0
- package/dist/components/ToggleGroup.js +99 -0
- package/dist/components/Tool.d.ts +119 -0
- package/dist/components/Tool.js +192 -0
- package/dist/components/Toolbar.d.ts +162 -0
- package/dist/components/Toolbar.js +126 -0
- package/dist/components/Tooltip.d.ts +81 -0
- package/dist/components/Tooltip.js +74 -0
- package/dist/components/WebPreview.d.ts +143 -0
- package/dist/components/WebPreview.js +280 -0
- package/dist/components/useStickToBottom.d.ts +30 -0
- package/dist/components/useStickToBottom.js +95 -0
- package/dist/copy-button-BIATcZWZ.d.ts +16 -0
- package/dist/copy-button-BNgclDrO.js +43 -0
- package/dist/icons-BsWc8g4E.js +221 -0
- package/dist/styles/accordion.css +10 -10
- package/dist/styles/agent-connection.css +18 -17
- package/dist/styles/alert-dialog.css +48 -29
- package/dist/styles/artifact.css +10 -10
- package/dist/styles/autocomplete.css +25 -24
- package/dist/styles/avatar.css +96 -6
- package/dist/styles/badge.css +78 -14
- package/dist/styles/base.css +9 -9
- package/dist/styles/button.css +57 -38
- package/dist/styles/card.css +57 -10
- package/dist/styles/chain-of-thought.css +47 -33
- package/dist/styles/checkbox.css +24 -10
- package/dist/styles/code-block.css +22 -15
- package/dist/styles/collapsible.css +14 -12
- package/dist/styles/combobox.css +26 -25
- package/dist/styles/commit.css +49 -24
- package/dist/styles/context-menu.css +70 -16
- package/dist/styles/context.css +15 -15
- package/dist/styles/conversation.css +12 -12
- package/dist/styles/dialog.css +52 -16
- package/dist/styles/environment-variables.css +19 -19
- package/dist/styles/field.css +184 -22
- package/dist/styles/fieldset.css +5 -4
- package/dist/styles/file-tree.css +17 -17
- package/dist/styles/index.css.d.ts +1 -0
- package/dist/styles/input.css +45 -11
- package/dist/styles/label.css +21 -4
- package/dist/styles/menu.css +55 -32
- package/dist/styles/menubar.css +80 -28
- package/dist/styles/message.css +22 -13
- package/dist/styles/meter.css +8 -8
- package/dist/styles/model-selector.css +33 -21
- package/dist/styles/navigation-menu.css +26 -24
- package/dist/styles/number-field.css +20 -18
- package/dist/styles/popover.css +38 -28
- package/dist/styles/preview-card.css +15 -13
- package/dist/styles/pricing-page.css +53 -53
- package/dist/styles/progress.css +7 -7
- package/dist/styles/prompt-input.css +73 -24
- package/dist/styles/queue.css +58 -32
- package/dist/styles/radio.css +26 -11
- package/dist/styles/reasoning.css +15 -11
- package/dist/styles/scroll-area.css +6 -6
- package/dist/styles/scrollbars.css +4 -4
- package/dist/styles/select.css +84 -25
- package/dist/styles/separator.css +1 -1
- package/dist/styles/shell.css +21 -20
- package/dist/styles/slider.css +35 -11
- package/dist/styles/sources.css +20 -20
- package/dist/styles/stepper.css +22 -22
- package/dist/styles/switch.css +29 -13
- package/dist/styles/tabs.css +23 -16
- package/dist/styles/task.css +27 -23
- package/dist/styles/terminal.css +16 -13
- package/dist/styles/test-results.css +79 -32
- package/dist/styles/toast.css +26 -25
- package/dist/styles/toggle-group.css +12 -12
- package/dist/styles/toggle.css +29 -11
- package/dist/styles/tool.css +54 -32
- package/dist/styles/toolbar.css +30 -28
- package/dist/styles/tooltip.css +10 -8
- package/dist/styles/web-preview.css +37 -21
- package/dist/utils/structured-code.d.ts +10 -0
- package/dist/utils/structured-code.js +81 -0
- package/package.json +17 -8
- package/dist/index.d.ts +0 -7236
- package/dist/index.js +0 -8945
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { c as ChevronRightIcon, o as CheckIcon, u as DotIcon } from "../icons-BsWc8g4E.js";
|
|
2
|
+
import "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Menu } from "@base-ui/react/menu";
|
|
5
|
+
import { Menubar as Menubar$1 } from "@base-ui/react/menubar";
|
|
6
|
+
//#region src/components/Menubar.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Root menubar container.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <Menubar.Root>
|
|
13
|
+
* <Menubar.Menu>
|
|
14
|
+
* <Menubar.Trigger>File</Menubar.Trigger>
|
|
15
|
+
* <Menubar.Portal>
|
|
16
|
+
* <Menubar.Positioner>
|
|
17
|
+
* <Menubar.Popup>
|
|
18
|
+
* <Menubar.Item>New</Menubar.Item>
|
|
19
|
+
* <Menubar.Item>Open</Menubar.Item>
|
|
20
|
+
* <Menubar.Item>Save</Menubar.Item>
|
|
21
|
+
* </Menubar.Popup>
|
|
22
|
+
* </Menubar.Positioner>
|
|
23
|
+
* </Menubar.Portal>
|
|
24
|
+
* </Menubar.Menu>
|
|
25
|
+
* </Menubar.Root>
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @see {@link https://base-ui.com/react/components/menubar | Base UI Menubar}
|
|
29
|
+
*/
|
|
30
|
+
function MenubarRoot({ className = "", ref, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ jsx(Menubar$1, {
|
|
32
|
+
ref,
|
|
33
|
+
"data-slot": "menubar",
|
|
34
|
+
className: ["menubar", className].filter(Boolean).join(" "),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Individual menu within the menubar.
|
|
40
|
+
*/
|
|
41
|
+
const MenubarMenu = (props) => {
|
|
42
|
+
return /* @__PURE__ */ jsx(Menu.Root, { ...props });
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Button that opens the menu.
|
|
46
|
+
*/
|
|
47
|
+
function MenubarTrigger({ className = "", ref, ...props }) {
|
|
48
|
+
const classes = ["menubar__trigger", className].filter(Boolean).join(" ");
|
|
49
|
+
return /* @__PURE__ */ jsx(Menu.Trigger, {
|
|
50
|
+
ref,
|
|
51
|
+
"data-slot": "menubar-trigger",
|
|
52
|
+
className: classes,
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Renders menu content in a portal.
|
|
58
|
+
*/
|
|
59
|
+
const MenubarPortal = (props) => {
|
|
60
|
+
return /* @__PURE__ */ jsx(Menu.Portal, {
|
|
61
|
+
"data-slot": "menubar-portal",
|
|
62
|
+
...props
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Positions the menu popup.
|
|
67
|
+
*/
|
|
68
|
+
function MenubarPositioner({ className = "", ref, ...props }) {
|
|
69
|
+
const classes = ["menubar__positioner", className].filter(Boolean).join(" ");
|
|
70
|
+
return /* @__PURE__ */ jsx(Menu.Positioner, {
|
|
71
|
+
ref,
|
|
72
|
+
"data-slot": "menubar-positioner",
|
|
73
|
+
className: classes,
|
|
74
|
+
...props
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Container for menu items.
|
|
79
|
+
*/
|
|
80
|
+
function MenubarPopup({ className = "", ref, ...props }) {
|
|
81
|
+
const classes = ["menubar__popup", className].filter(Boolean).join(" ");
|
|
82
|
+
return /* @__PURE__ */ jsx(Menu.Popup, {
|
|
83
|
+
ref,
|
|
84
|
+
"data-slot": "menubar-content",
|
|
85
|
+
className: classes,
|
|
86
|
+
...props
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function MenubarContent({ anchor, positionMethod, side, sideOffset = 8, align = "start", alignOffset = -4, collisionBoundary, collisionPadding, sticky, arrowPadding, disableAnchorTracking, collisionAvoidance, ...props }) {
|
|
90
|
+
return /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(MenubarPositioner, {
|
|
91
|
+
anchor,
|
|
92
|
+
positionMethod,
|
|
93
|
+
side,
|
|
94
|
+
sideOffset,
|
|
95
|
+
align,
|
|
96
|
+
alignOffset,
|
|
97
|
+
collisionBoundary,
|
|
98
|
+
collisionPadding,
|
|
99
|
+
sticky,
|
|
100
|
+
arrowPadding,
|
|
101
|
+
disableAnchorTracking,
|
|
102
|
+
collisionAvoidance,
|
|
103
|
+
children: /* @__PURE__ */ jsx(MenubarPopup, { ...props })
|
|
104
|
+
}) });
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Interactive menu item.
|
|
108
|
+
*/
|
|
109
|
+
function MenubarItem({ className = "", inset, variant = "default", ref, ...props }) {
|
|
110
|
+
const classes = [
|
|
111
|
+
"menubar__item",
|
|
112
|
+
inset && "menubar__item--inset",
|
|
113
|
+
className
|
|
114
|
+
].filter(Boolean).join(" ");
|
|
115
|
+
return /* @__PURE__ */ jsx(Menu.Item, {
|
|
116
|
+
ref,
|
|
117
|
+
"data-slot": "menubar-item",
|
|
118
|
+
"data-inset": inset || void 0,
|
|
119
|
+
"data-variant": variant,
|
|
120
|
+
className: classes,
|
|
121
|
+
...props
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Visual separator between menu sections.
|
|
126
|
+
*/
|
|
127
|
+
function MenubarSeparator({ className = "", ref, ...props }) {
|
|
128
|
+
const classes = ["menubar__separator", className].filter(Boolean).join(" ");
|
|
129
|
+
return /* @__PURE__ */ jsx(Menu.Separator, {
|
|
130
|
+
ref,
|
|
131
|
+
"data-slot": "menubar-separator",
|
|
132
|
+
className: classes,
|
|
133
|
+
...props
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Groups related menu items.
|
|
138
|
+
*/
|
|
139
|
+
function MenubarGroup({ className = "", ref, ...props }) {
|
|
140
|
+
const classes = ["menubar__group", className].filter(Boolean).join(" ");
|
|
141
|
+
return /* @__PURE__ */ jsx(Menu.Group, {
|
|
142
|
+
ref,
|
|
143
|
+
"data-slot": "menubar-group",
|
|
144
|
+
className: classes,
|
|
145
|
+
...props
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Label for a menu item group.
|
|
150
|
+
*/
|
|
151
|
+
function MenubarGroupLabel({ className = "", inset, ref, ...props }) {
|
|
152
|
+
const classes = [
|
|
153
|
+
"menubar__group-label",
|
|
154
|
+
inset && "menubar__group-label--inset",
|
|
155
|
+
className
|
|
156
|
+
].filter(Boolean).join(" ");
|
|
157
|
+
return /* @__PURE__ */ jsx(Menu.GroupLabel, {
|
|
158
|
+
ref,
|
|
159
|
+
"data-slot": "menubar-label",
|
|
160
|
+
"data-inset": inset || void 0,
|
|
161
|
+
className: classes,
|
|
162
|
+
...props
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
const MenubarLabel = MenubarGroupLabel;
|
|
166
|
+
function MenubarCheckboxItem({ className = "", children, ref, ...props }) {
|
|
167
|
+
const classes = ["menubar__checkbox-item", className].filter(Boolean).join(" ");
|
|
168
|
+
return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
|
|
169
|
+
ref,
|
|
170
|
+
"data-slot": "menubar-checkbox-item",
|
|
171
|
+
className: classes,
|
|
172
|
+
...props,
|
|
173
|
+
children: [/* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, {
|
|
174
|
+
className: "menubar__indicator",
|
|
175
|
+
children: /* @__PURE__ */ jsx(CheckIcon, {})
|
|
176
|
+
}), children]
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
function MenubarRadioGroup({ className = "", ref, ...props }) {
|
|
180
|
+
const classes = ["menubar__radio-group", className].filter(Boolean).join(" ");
|
|
181
|
+
return /* @__PURE__ */ jsx(Menu.RadioGroup, {
|
|
182
|
+
ref,
|
|
183
|
+
"data-slot": "menubar-radio-group",
|
|
184
|
+
className: classes,
|
|
185
|
+
...props
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
function MenubarRadioItem({ className = "", children, ref, ...props }) {
|
|
189
|
+
const classes = ["menubar__radio-item", className].filter(Boolean).join(" ");
|
|
190
|
+
return /* @__PURE__ */ jsxs(Menu.RadioItem, {
|
|
191
|
+
ref,
|
|
192
|
+
"data-slot": "menubar-radio-item",
|
|
193
|
+
className: classes,
|
|
194
|
+
...props,
|
|
195
|
+
children: [/* @__PURE__ */ jsx(Menu.RadioItemIndicator, {
|
|
196
|
+
className: "menubar__indicator",
|
|
197
|
+
children: /* @__PURE__ */ jsx(DotIcon, { size: 8 })
|
|
198
|
+
}), children]
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
function MenubarShortcut({ className = "", ref, ...props }) {
|
|
202
|
+
return /* @__PURE__ */ jsx("span", {
|
|
203
|
+
ref,
|
|
204
|
+
"data-slot": "menubar-shortcut",
|
|
205
|
+
className: ["menubar__shortcut", className].filter(Boolean).join(" "),
|
|
206
|
+
...props
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
function MenubarSub(props) {
|
|
210
|
+
return /* @__PURE__ */ jsx(Menu.SubmenuRoot, { ...props });
|
|
211
|
+
}
|
|
212
|
+
function MenubarSubContent({ side = "right", align = "start", sideOffset = 4, ...props }) {
|
|
213
|
+
return /* @__PURE__ */ jsx(MenubarContent, {
|
|
214
|
+
"data-slot": "menubar-sub-content",
|
|
215
|
+
side,
|
|
216
|
+
align,
|
|
217
|
+
sideOffset,
|
|
218
|
+
...props
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function MenubarSubTrigger({ className = "", inset, children, ref, ...props }) {
|
|
222
|
+
const classes = [
|
|
223
|
+
"menubar__submenu-trigger",
|
|
224
|
+
inset && "menubar__item--inset",
|
|
225
|
+
className
|
|
226
|
+
].filter(Boolean).join(" ");
|
|
227
|
+
return /* @__PURE__ */ jsxs(Menu.SubmenuTrigger, {
|
|
228
|
+
ref,
|
|
229
|
+
"data-slot": "menubar-sub-trigger",
|
|
230
|
+
"data-inset": inset || void 0,
|
|
231
|
+
className: classes,
|
|
232
|
+
...props,
|
|
233
|
+
children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "menubar__submenu-icon" })]
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* A horizontal menu bar component typically used for application menus.
|
|
238
|
+
* Provides keyboard navigation and supports nested submenus.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```tsx
|
|
242
|
+
* // Application menubar
|
|
243
|
+
* <Menubar.Root>
|
|
244
|
+
* <Menubar.Menu>
|
|
245
|
+
* <Menubar.Trigger>File</Menubar.Trigger>
|
|
246
|
+
* <Menubar.Portal>
|
|
247
|
+
* <Menubar.Positioner>
|
|
248
|
+
* <Menubar.Popup>
|
|
249
|
+
* <Menubar.Item onClick={() => newFile()}>New</Menubar.Item>
|
|
250
|
+
* <Menubar.Item onClick={() => openFile()}>Open</Menubar.Item>
|
|
251
|
+
* <Menubar.Separator />
|
|
252
|
+
* <Menubar.Item onClick={() => saveFile()}>Save</Menubar.Item>
|
|
253
|
+
* </Menubar.Popup>
|
|
254
|
+
* </Menubar.Positioner>
|
|
255
|
+
* </Menubar.Portal>
|
|
256
|
+
* </Menubar.Menu>
|
|
257
|
+
* <Menubar.Menu>
|
|
258
|
+
* <Menubar.Trigger>Edit</Menubar.Trigger>
|
|
259
|
+
* <Menubar.Portal>
|
|
260
|
+
* <Menubar.Positioner>
|
|
261
|
+
* <Menubar.Popup>
|
|
262
|
+
* <Menubar.Item>Undo</Menubar.Item>
|
|
263
|
+
* <Menubar.Item>Redo</Menubar.Item>
|
|
264
|
+
* <Menubar.Separator />
|
|
265
|
+
* <Menubar.Item>Cut</Menubar.Item>
|
|
266
|
+
* <Menubar.Item>Copy</Menubar.Item>
|
|
267
|
+
* <Menubar.Item>Paste</Menubar.Item>
|
|
268
|
+
* </Menubar.Popup>
|
|
269
|
+
* </Menubar.Positioner>
|
|
270
|
+
* </Menubar.Portal>
|
|
271
|
+
* </Menubar.Menu>
|
|
272
|
+
* </Menubar.Root>
|
|
273
|
+
* ```
|
|
274
|
+
*
|
|
275
|
+
* @see {@link https://base-ui.com/react/components/menubar | Base UI Menubar}
|
|
276
|
+
*/
|
|
277
|
+
const Menubar = Object.assign(MenubarRoot, {
|
|
278
|
+
Root: MenubarRoot,
|
|
279
|
+
Menu: MenubarMenu,
|
|
280
|
+
Trigger: MenubarTrigger,
|
|
281
|
+
Portal: MenubarPortal,
|
|
282
|
+
Positioner: MenubarPositioner,
|
|
283
|
+
Popup: MenubarPopup,
|
|
284
|
+
Content: MenubarContent,
|
|
285
|
+
Item: MenubarItem,
|
|
286
|
+
Separator: MenubarSeparator,
|
|
287
|
+
Group: MenubarGroup,
|
|
288
|
+
GroupLabel: MenubarGroupLabel,
|
|
289
|
+
Label: MenubarLabel,
|
|
290
|
+
CheckboxItem: MenubarCheckboxItem,
|
|
291
|
+
RadioGroup: MenubarRadioGroup,
|
|
292
|
+
RadioItem: MenubarRadioItem,
|
|
293
|
+
Shortcut: MenubarShortcut,
|
|
294
|
+
Sub: MenubarSub,
|
|
295
|
+
SubContent: MenubarSubContent,
|
|
296
|
+
SubTrigger: MenubarSubTrigger
|
|
297
|
+
});
|
|
298
|
+
//#endregion
|
|
299
|
+
export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarGroupLabel, MenubarItem, MenubarLabel, MenubarMenu, MenubarPopup, MenubarPortal, MenubarPositioner, MenubarRadioGroup, MenubarRadioItem, MenubarRoot, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { r as ButtonProps } from "../Button-QCM8ZKgR.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { StreamdownProps } from "streamdown";
|
|
4
|
+
|
|
5
|
+
//#region src/components/Message.d.ts
|
|
6
|
+
type MessageRole = "user" | "assistant" | "system" | "tool" | (string & {});
|
|
7
|
+
interface MessageProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/**
|
|
9
|
+
* The originating role of the message. Controls alignment and styling via
|
|
10
|
+
* the `data-from` attribute (e.g. user messages align end).
|
|
11
|
+
*/
|
|
12
|
+
from?: MessageRole;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A chat message row. Aligns and styles itself based on {@link from}.
|
|
16
|
+
* Adapted from Vercel AI Elements and restyled with Sigvelo CSS tokens.
|
|
17
|
+
*
|
|
18
|
+
* Compose with {@link MessageContent} for the bubble, {@link MessageActions}
|
|
19
|
+
* for toolbar actions, and {@link MessageBranch} for multi-version responses.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Message from="assistant">
|
|
24
|
+
* <MessageContent>Hello there!</MessageContent>
|
|
25
|
+
* <MessageActions>
|
|
26
|
+
* <MessageAction label="Copy" tooltip="Copy to clipboard">
|
|
27
|
+
* <CopyIcon />
|
|
28
|
+
* </MessageAction>
|
|
29
|
+
* </MessageActions>
|
|
30
|
+
* </Message>
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @see {@link https://elements.ai-sdk.dev/components/message | AI Elements Message}
|
|
34
|
+
*/
|
|
35
|
+
declare function Message({
|
|
36
|
+
className,
|
|
37
|
+
from,
|
|
38
|
+
children,
|
|
39
|
+
ref,
|
|
40
|
+
...props
|
|
41
|
+
}: MessageProps & {
|
|
42
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
43
|
+
}): React.JSX.Element;
|
|
44
|
+
interface MessageContentProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
45
|
+
/**
|
|
46
|
+
* The visible bubble/body of a message. Styled differently based on the
|
|
47
|
+
* parent {@link Message}'s `from` attribute.
|
|
48
|
+
*/
|
|
49
|
+
declare function MessageContent({
|
|
50
|
+
className,
|
|
51
|
+
children,
|
|
52
|
+
ref,
|
|
53
|
+
...props
|
|
54
|
+
}: MessageContentProps & {
|
|
55
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
56
|
+
}): React.JSX.Element;
|
|
57
|
+
type MessageResponseProps = StreamdownProps;
|
|
58
|
+
declare const MessageResponse: React.MemoExoticComponent<({
|
|
59
|
+
className,
|
|
60
|
+
...props
|
|
61
|
+
}: MessageResponseProps) => React.JSX.Element>;
|
|
62
|
+
interface MessageActionsProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
63
|
+
/**
|
|
64
|
+
* Horizontal list of action buttons (copy, retry, thumbs-up, etc.) shown
|
|
65
|
+
* alongside or beneath a message.
|
|
66
|
+
*/
|
|
67
|
+
declare function MessageActions({
|
|
68
|
+
className,
|
|
69
|
+
children,
|
|
70
|
+
ref,
|
|
71
|
+
...props
|
|
72
|
+
}: MessageActionsProps & {
|
|
73
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
74
|
+
}): React.JSX.Element;
|
|
75
|
+
interface MessageActionProps extends Omit<ButtonProps, "children" | "className"> {
|
|
76
|
+
className?: string;
|
|
77
|
+
/** Accessible name for the button. Required when no visible text children. */
|
|
78
|
+
label?: string;
|
|
79
|
+
/** Optional tooltip text shown on hover/focus. Defaults to {@link label}. */
|
|
80
|
+
tooltip?: string;
|
|
81
|
+
children?: React.ReactNode;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A single icon button inside {@link MessageActions}. Always has an accessible
|
|
85
|
+
* name; shows a tooltip on hover/focus when {@link tooltip} is set.
|
|
86
|
+
*/
|
|
87
|
+
declare function MessageAction({
|
|
88
|
+
className,
|
|
89
|
+
label,
|
|
90
|
+
tooltip,
|
|
91
|
+
variant,
|
|
92
|
+
color,
|
|
93
|
+
size,
|
|
94
|
+
children,
|
|
95
|
+
ref,
|
|
96
|
+
...props
|
|
97
|
+
}: MessageActionProps & {
|
|
98
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
99
|
+
}): React.JSX.Element;
|
|
100
|
+
interface MessageToolbarProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
101
|
+
/**
|
|
102
|
+
* Horizontal container that places children in a row with space between —
|
|
103
|
+
* typically a {@link MessageBranchSelector} on one side and
|
|
104
|
+
* {@link MessageActions} on the other.
|
|
105
|
+
*/
|
|
106
|
+
declare function MessageToolbar({
|
|
107
|
+
className,
|
|
108
|
+
children,
|
|
109
|
+
ref,
|
|
110
|
+
...props
|
|
111
|
+
}: MessageToolbarProps & {
|
|
112
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
113
|
+
}): React.JSX.Element;
|
|
114
|
+
interface MessageBranchProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
115
|
+
/** Zero-based index of the initially selected branch. */
|
|
116
|
+
defaultBranch?: number;
|
|
117
|
+
/** Controlled branch index. */
|
|
118
|
+
branch?: number;
|
|
119
|
+
/** Called when the selected branch changes. */
|
|
120
|
+
onBranchChange?: (branchIndex: number) => void;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Container for a message response with multiple versions. Tracks which
|
|
124
|
+
* branch is active and exposes navigation through {@link MessageBranchSelector},
|
|
125
|
+
* {@link MessageBranchPrevious}, {@link MessageBranchNext}, and {@link MessageBranchPage}.
|
|
126
|
+
*/
|
|
127
|
+
declare function MessageBranch({
|
|
128
|
+
className,
|
|
129
|
+
defaultBranch,
|
|
130
|
+
branch,
|
|
131
|
+
onBranchChange,
|
|
132
|
+
children,
|
|
133
|
+
ref,
|
|
134
|
+
...props
|
|
135
|
+
}: MessageBranchProps & {
|
|
136
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
137
|
+
}): React.JSX.Element;
|
|
138
|
+
interface MessageBranchContentProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
139
|
+
/**
|
|
140
|
+
* Renders only the active branch's child. Expects siblings to represent
|
|
141
|
+
* alternative versions of the same response.
|
|
142
|
+
*/
|
|
143
|
+
declare function MessageBranchContent({
|
|
144
|
+
className,
|
|
145
|
+
children,
|
|
146
|
+
ref,
|
|
147
|
+
...props
|
|
148
|
+
}: MessageBranchContentProps & {
|
|
149
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
150
|
+
}): React.JSX.Element;
|
|
151
|
+
interface MessageBranchSelectorProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
152
|
+
/**
|
|
153
|
+
* Inline group containing branch navigation controls (previous / page /
|
|
154
|
+
* next). Hidden automatically when there is only one branch.
|
|
155
|
+
*/
|
|
156
|
+
declare function MessageBranchSelector({
|
|
157
|
+
className,
|
|
158
|
+
children,
|
|
159
|
+
ref,
|
|
160
|
+
...props
|
|
161
|
+
}: MessageBranchSelectorProps & {
|
|
162
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
163
|
+
}): React.JSX.Element | null;
|
|
164
|
+
interface MessageBranchPreviousProps extends Omit<ButtonProps, "children" | "className"> {
|
|
165
|
+
className?: string;
|
|
166
|
+
label?: string;
|
|
167
|
+
children?: React.ReactNode;
|
|
168
|
+
}
|
|
169
|
+
/** Button that selects the previous branch. Disabled at the first branch. */
|
|
170
|
+
declare function MessageBranchPrevious({
|
|
171
|
+
className,
|
|
172
|
+
label,
|
|
173
|
+
variant,
|
|
174
|
+
color,
|
|
175
|
+
size,
|
|
176
|
+
children,
|
|
177
|
+
onClick,
|
|
178
|
+
ref,
|
|
179
|
+
...props
|
|
180
|
+
}: MessageBranchPreviousProps & {
|
|
181
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
182
|
+
}): React.JSX.Element;
|
|
183
|
+
interface MessageBranchNextProps extends Omit<ButtonProps, "children" | "className"> {
|
|
184
|
+
className?: string;
|
|
185
|
+
label?: string;
|
|
186
|
+
children?: React.ReactNode;
|
|
187
|
+
}
|
|
188
|
+
/** Button that selects the next branch. Disabled at the last branch. */
|
|
189
|
+
declare function MessageBranchNext({
|
|
190
|
+
className,
|
|
191
|
+
label,
|
|
192
|
+
variant,
|
|
193
|
+
color,
|
|
194
|
+
size,
|
|
195
|
+
children,
|
|
196
|
+
onClick,
|
|
197
|
+
ref,
|
|
198
|
+
...props
|
|
199
|
+
}: MessageBranchNextProps & {
|
|
200
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
201
|
+
}): React.JSX.Element;
|
|
202
|
+
interface MessageBranchPageProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
203
|
+
/** Customize the displayed text. Defaults to `{index} / {count}`. */
|
|
204
|
+
format?: (currentIndex: number, total: number) => React.ReactNode;
|
|
205
|
+
}
|
|
206
|
+
/** Page indicator (e.g. "1 / 3") for the current branch selection. */
|
|
207
|
+
declare function MessageBranchPage({
|
|
208
|
+
className,
|
|
209
|
+
format,
|
|
210
|
+
ref,
|
|
211
|
+
...props
|
|
212
|
+
}: MessageBranchPageProps & {
|
|
213
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
214
|
+
}): React.JSX.Element;
|
|
215
|
+
//#endregion
|
|
216
|
+
export { Message, MessageAction, MessageActionProps, MessageActions, MessageActionsProps, MessageBranch, MessageBranchContent, MessageBranchContentProps, MessageBranchNext, MessageBranchNextProps, MessageBranchPage, MessageBranchPageProps, MessageBranchPrevious, MessageBranchPreviousProps, MessageBranchProps, MessageBranchSelector, MessageBranchSelectorProps, MessageContent, MessageContentProps, MessageProps, MessageResponse, MessageResponseProps, MessageRole, MessageToolbar, MessageToolbarProps };
|