@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.
- package/dist/{AgentActivity-BNUNrP9O.d.ts → AgentActivity-D2SHSGFX.d.ts} +1 -1
- package/dist/{AgentChat-CRuMi1Pb.d.ts → AgentChat-ClxViuUM.d.ts} +1 -20
- package/dist/{Button-FX_hpqxm.d.ts → Button-DLGzHsjc.d.ts} +13 -7
- package/dist/{CodeBlock-Co1noLbC.js → CodeBlock-Bfp5PAg3.js} +9 -6
- package/dist/{CodeBlock-Dnpr88ZQ.d.ts → CodeBlock-gV4kZeCI.d.ts} +2 -9
- package/dist/{FileTree-B7bBsUyU.js → FileTree-3zYtrddG.js} +42 -16
- package/dist/{Message-C4eYRogZ.js → Message-BXtmfc9Q.js} +13 -20
- package/dist/{ModelSelector-BNrZlY_Y.js → ModelSelector-Cqw_qrUG.js} +15 -22
- package/dist/{PromptInput-OLfXPuHM.d.ts → PromptInput-Bdh9pqlo.d.ts} +4 -6
- package/dist/{Select-CwSqP07Y.d.ts → Select-B_13gg_J.d.ts} +2 -2
- package/dist/{Tabs-9zddXDQo.d.ts → Tabs-ColWK-XA.d.ts} +10 -2
- package/dist/{ThinkChat-DInElus-.js → ThinkChat-15EhfvYJ.js} +84 -61
- package/dist/{ThinkChatActivity-BgesTfZ4.d.ts → ThinkChatActivity-Bzot45kX.d.ts} +4 -7
- package/dist/{ThinkChatActivitySummary-BPmu9a-c.d.ts → ThinkChatActivitySummary-D1xOrNrq.d.ts} +1 -1
- package/dist/{Toggle-DaXpe1Lc.d.ts → Toggle-JKZ43D5S.d.ts} +1 -1
- package/dist/{ToggleGroup-yseEWkOC.d.ts → ToggleGroup-DNd6cDJZ.d.ts} +2 -2
- package/dist/Workspace-Jez8ffUj.d.ts +274 -0
- package/dist/{WorkspaceExplorer-sZewzT2O.d.ts → WorkspaceExplorer-B9dQWNVK.d.ts} +2 -2
- package/dist/{WorkspaceFile-C8UzuSH4.d.ts → WorkspaceFile-CzyHnESE.d.ts} +1 -1
- package/dist/{WorkspaceFileView-DNdGAEiX.js → WorkspaceFileView-C68Ub8S8.js} +120 -127
- package/dist/{WorkspaceLink-B1ykV1dS.js → WorkspaceLink-BYYeTQLf.js} +6 -27
- package/dist/{WorkspaceLink-DK1DWMHe.d.ts → WorkspaceLink-O-EBKUJ8.d.ts} +6 -9
- package/dist/{class-names-Bk-QLWWI.js → class-names-BiMDVpUo.js} +4 -1
- package/dist/components/Accordion.js +7 -2
- package/dist/components/Activity.js +2 -2
- package/dist/components/AgentActivity.d.ts +1 -1
- package/dist/components/AgentActivity.js +4 -5
- package/dist/components/AgentActivityPreview.d.ts +9 -9
- package/dist/components/AgentActivityPreview.js +8 -12
- package/dist/components/AgentAttention.d.ts +1 -1
- package/dist/components/AgentAttention.js +1 -1
- package/dist/components/AgentChat.d.ts +1 -1
- package/dist/components/AgentChat.js +94 -62
- package/dist/components/AgentChatMessageEditor.js +2 -2
- package/dist/components/AgentChatTurnError.js +2 -2
- package/dist/components/AgentConnection.js +3 -3
- package/dist/components/AgentMessageParts.js +1 -1
- package/dist/components/AgentToolDetail.d.ts +6 -4
- package/dist/components/AgentToolDetail.js +12 -10
- package/dist/components/AlertDialog.js +1 -1
- package/dist/components/AppTopBar.d.ts +24 -7
- package/dist/components/AppTopBar.js +32 -8
- package/dist/components/Approval.js +4 -4
- package/dist/components/Artifact.d.ts +1 -1
- package/dist/components/Artifact.js +6 -4
- package/dist/components/Autocomplete.js +1 -1
- package/dist/components/Avatar.d.ts +1 -1
- package/dist/components/Avatar.js +2 -2
- package/dist/components/Badge.js +3 -0
- package/dist/components/BrowserLiveView.js +27 -12
- package/dist/components/BrowserReplay.js +4 -3
- package/dist/components/BrowserRunPanel.js +5 -5
- package/dist/components/Button.d.ts +1 -1
- package/dist/components/Button.js +14 -11
- package/dist/components/Card.d.ts +7 -8
- package/dist/components/Card.js +19 -10
- package/dist/components/ChainOfThought.d.ts +1 -1
- package/dist/components/ChainOfThought.js +2 -2
- package/dist/components/ChatGptSignInScreen.js +8 -8
- package/dist/components/Checkbox.js +2 -2
- package/dist/components/CheckboxGroup.js +1 -1
- package/dist/components/Checkpoint.js +2 -2
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.js +2 -2
- package/dist/components/Collapsible.js +2 -2
- package/dist/components/Combobox.js +1 -1
- package/dist/components/Commit.d.ts +1 -1
- package/dist/components/Commit.js +3 -3
- package/dist/components/Context.js +1 -1
- package/dist/components/ContextMenu.js +2 -2
- package/dist/components/Conversation.d.ts +1 -1
- package/dist/components/Conversation.js +5 -4
- package/dist/components/DescriptionListParts.js +1 -1
- package/dist/components/Dialog.js +1 -1
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +3 -3
- package/dist/components/Field.js +5 -2
- package/dist/components/Fieldset.js +1 -1
- package/dist/components/FileTree.d.ts +6 -0
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Form.js +1 -1
- package/dist/components/GithubMotionMark.js +1 -1
- package/dist/components/IconButton.d.ts +2 -3
- package/dist/components/IconButton.js +2 -1
- package/dist/components/InlineCitation.js +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Marker.js +1 -1
- package/dist/components/McpConnectionRequest.js +2 -2
- package/dist/components/McpServerPicker.js +2 -2
- package/dist/components/MediaPreviewCard.d.ts +103 -0
- package/dist/components/MediaPreviewCard.js +193 -0
- package/dist/components/Menu.js +1 -1
- package/dist/components/Menubar.js +2 -2
- package/dist/components/Message.d.ts +4 -1
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +5 -4
- package/dist/components/Meter.js +1 -1
- package/dist/components/ModelSelector.d.ts +4 -3
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NavigationMenu.js +1 -1
- package/dist/components/NumberField.js +1 -1
- package/dist/components/Plan.js +2 -2
- package/dist/components/Popover.js +1 -1
- package/dist/components/PreviewCard.js +1 -1
- package/dist/components/PricingBillingToggle.js +1 -1
- package/dist/components/PricingFAQ.js +1 -1
- package/dist/components/PricingPage.js +2 -1
- package/dist/components/PricingPlanCard.js +4 -3
- package/dist/components/PricingUsageCalculator.js +2 -2
- package/dist/components/Progress.js +1 -1
- package/dist/components/PromptInput.d.ts +1 -1
- package/dist/components/PromptInput.js +33 -20
- package/dist/components/Queue.d.ts +1 -1
- package/dist/components/Queue.js +2 -3
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/Reasoning.js +3 -6
- package/dist/components/ResizableSidePanel.js +1 -1
- package/dist/components/ResponsiveSidebarShell.js +16 -10
- package/dist/components/ScrollArea.js +2 -1
- package/dist/components/SearchField.d.ts +43 -0
- package/dist/components/SearchField.js +52 -0
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.js +5 -6
- package/dist/components/Separator.js +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Sources.js +2 -2
- package/dist/components/Stepper.js +16 -9
- package/dist/components/SubagentRunDetails.js +1 -1
- package/dist/components/SubagentRunIndicator.js +2 -2
- package/dist/components/SubagentRunList.d.ts +3 -5
- package/dist/components/SubagentRunList.js +3 -4
- package/dist/components/SubagentRunSelector.d.ts +8 -12
- package/dist/components/SubagentRunSelector.js +17 -20
- package/dist/components/Switch.d.ts +2 -2
- package/dist/components/Switch.js +4 -5
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +12 -3
- package/dist/components/Task.js +2 -2
- package/dist/components/Terminal.d.ts +2 -2
- package/dist/components/Terminal.js +5 -4
- package/dist/components/TestResults.js +10 -6
- package/dist/components/Textarea.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +33 -20
- package/dist/components/ThinkChat.js +4 -4
- package/dist/components/ThinkChatActivity.d.ts +2 -2
- package/dist/components/ThinkChatActivity.js +8 -10
- package/dist/components/ThinkChatActivitySummary.d.ts +1 -1
- package/dist/components/ThinkChatActivitySummary.js +7 -3
- package/dist/components/ThinkChatToolPanels.js +26 -16
- package/dist/components/ThinkExecutionDetail.js +2 -2
- package/dist/components/ThinkExecutionStatus.js +2 -2
- package/dist/components/ThinkExecutionWorkbench.d.ts +30 -8
- package/dist/components/ThinkExecutionWorkbench.js +70 -134
- package/dist/components/ThinkFullApp.d.ts +36 -35
- package/dist/components/ThinkFullApp.js +156 -109
- package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/ThinkFullAppViewSwitch.js +1 -1
- package/dist/components/ThinkRecoveryNotice.js +18 -12
- package/dist/components/ThinkRoutineBrowser.d.ts +17 -9
- package/dist/components/ThinkRoutineBrowser.js +33 -40
- package/dist/components/ThinkRoutineDetail.d.ts +5 -2
- package/dist/components/ThinkRoutineDetail.js +4 -4
- package/dist/components/ThinkRoutineForm.d.ts +3 -2
- package/dist/components/ThinkRoutineForm.js +11 -10
- package/dist/components/ThinkRoutineLibrary.d.ts +24 -31
- package/dist/components/ThinkRoutineLibrary.js +57 -80
- package/dist/components/ThinkRoutineRuns.d.ts +3 -2
- package/dist/components/ThinkRoutineRuns.js +31 -24
- package/dist/components/ThinkThreadPicker.d.ts +17 -11
- package/dist/components/ThinkThreadPicker.js +163 -39
- package/dist/components/Toast.js +1 -1
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +9 -7
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +15 -13
- package/dist/components/ToolInvocation.js +1 -1
- package/dist/components/Toolbar.js +1 -1
- package/dist/components/Tooltip.d.ts +8 -1
- package/dist/components/Tooltip.js +11 -2
- package/dist/components/TransitionSurface.d.ts +27 -0
- package/dist/components/TransitionSurface.js +20 -0
- package/dist/components/WebPreview.d.ts +5 -5
- package/dist/components/WebPreview.js +68 -54
- package/dist/components/Workspace.d.ts +2 -2
- package/dist/components/Workspace.js +358 -328
- package/dist/components/WorkspaceBrowser.d.ts +4 -7
- package/dist/components/WorkspaceBrowser.js +15 -25
- package/dist/components/WorkspaceExplorer.d.ts +5 -5
- package/dist/components/WorkspaceExplorer.js +19 -32
- package/dist/components/WorkspaceFile.d.ts +1 -1
- package/dist/components/WorkspaceFileView.d.ts +14 -2
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.d.ts +0 -8
- package/dist/components/WorkspaceHeader.js +3 -15
- package/dist/components/WorkspaceLink.d.ts +1 -1
- package/dist/components/WorkspaceLink.js +1 -1
- package/dist/components/icons.d.ts +2 -2
- package/dist/components/icons.js +2 -2
- package/dist/{copy-button-CQx3LQAC.d.ts → copy-button-D7aAYA-2.d.ts} +1 -1
- package/dist/{copy-button-cYsJBauI.js → copy-button-DeK6KXEV.js} +3 -2
- package/dist/{icons--FqCZEc3.js → icons-CQJ-aMnI.js} +6 -3
- package/dist/{icons-DpUqY8Mp.d.ts → icons-CYXmvKlJ.d.ts} +17 -2
- package/dist/navigation-link-Cob7KBlM.js +19 -0
- package/dist/styles/accordion.css +4 -19
- package/dist/styles/activity.css +48 -56
- package/dist/styles/agent-activity-preview.css +2 -0
- package/dist/styles/agent-chat.css +14 -22
- package/dist/styles/alert-dialog.css +16 -18
- package/dist/styles/app-top-bar.css +17 -9
- package/dist/styles/approval.css +11 -6
- package/dist/styles/artifact.css +6 -6
- package/dist/styles/autocomplete.css +2 -1
- package/dist/styles/avatar.css +35 -30
- package/dist/styles/badge.css +10 -10
- package/dist/styles/base-ui-motion.css +94 -39
- package/dist/styles/browser-control-overlay.css +0 -1
- package/dist/styles/browser-live-view.css +39 -22
- package/dist/styles/browser-replay.css +1 -1
- package/dist/styles/browser-run-panel.css +8 -4
- package/dist/styles/button.css +36 -33
- package/dist/styles/card.css +5 -6
- package/dist/styles/chain-of-thought.css +22 -16
- package/dist/styles/checkbox.css +18 -5
- package/dist/styles/codex-model-selector.css +3 -7
- package/dist/styles/collapsible.css +10 -10
- package/dist/styles/combobox.css +3 -2
- package/dist/styles/commit.css +19 -18
- package/dist/styles/composition-motion.css +83 -0
- package/dist/styles/context-menu.css +3 -3
- package/dist/styles/context.css +11 -10
- package/dist/styles/conversation.css +18 -23
- package/dist/styles/dialog.css +15 -15
- package/dist/styles/field.css +32 -12
- package/dist/styles/file-tree.css +69 -9
- package/dist/styles/form.css +1 -1
- package/dist/styles/index.css +5 -0
- package/dist/styles/input.css +2 -2
- package/dist/styles/marker.css +14 -13
- package/dist/styles/mcp-server-picker.css +20 -17
- package/dist/styles/media-preview-card.css +160 -0
- package/dist/styles/menu.css +11 -11
- package/dist/styles/menubar.css +12 -11
- package/dist/styles/message.css +27 -21
- package/dist/styles/meter.css +2 -2
- package/dist/styles/model-selector.css +16 -14
- package/dist/styles/motion-reduction.css +29 -0
- package/dist/styles/navigation-menu.css +14 -30
- package/dist/styles/number-field.css +22 -4
- package/dist/styles/plan.css +5 -0
- package/dist/styles/popover.css +15 -16
- package/dist/styles/preview-card.css +2 -32
- package/dist/styles/progress.css +8 -3
- package/dist/styles/prompt-input.css +75 -75
- package/dist/styles/queue.css +48 -32
- package/dist/styles/radio.css +19 -12
- package/dist/styles/reasoning.css +2 -1
- package/dist/styles/recipes.css +109 -37
- package/dist/styles/resizable-side-panel.css +4 -10
- package/dist/styles/responsive-sidebar-shell.css +16 -15
- package/dist/styles/scroll-area.css +32 -15
- package/dist/styles/search-field.css +21 -0
- package/dist/styles/select.css +19 -12
- package/dist/styles/slider.css +25 -29
- package/dist/styles/sources.css +3 -3
- package/dist/styles/stepper.css +36 -26
- package/dist/styles/subagent-run.css +1 -1
- package/dist/styles/switch.css +32 -29
- package/dist/styles/tabs.css +79 -23
- package/dist/styles/task.css +13 -9
- package/dist/styles/test-results.css +29 -23
- package/dist/styles/theme-mode-control.css +8 -0
- package/dist/styles/think-execution-workbench.css +18 -15
- package/dist/styles/think-full-app.css +45 -68
- package/dist/styles/think-routine-library.css +43 -24
- package/dist/styles/think-thread-picker.css +193 -51
- package/dist/styles/toast.css +48 -27
- package/dist/styles/toggle-group.css +2 -36
- package/dist/styles/toggle.css +29 -5
- package/dist/styles/toolbar.css +25 -27
- package/dist/styles/tooltip.css +2 -32
- package/dist/styles/transition-surface.css +55 -0
- package/dist/styles/workspace-explorer.css +99 -44
- package/dist/summarize-tool-input-CqTcGRYy.js +15 -0
- package/dist/utils/mcp-server-catalog.d.ts +132 -0
- package/dist/utils/mcp-server-catalog.js +90 -0
- package/dist/utils/structured-code.d.ts +1 -1
- package/package.json +13 -7
- package/dist/Workspace-C9RFoxcu.d.ts +0 -62
- package/dist/summarize-tool-input-BUJsENSn.js +0 -12
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, h as CODE_BLOCK_LANGUAGES, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as highlightCode, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../CodeBlock-
|
|
1
|
+
import { a as CodeBlockCopyButton, c as CodeBlockLanguageSelector, d as CodeBlockLanguageSelectorTrigger, f as CodeBlockLanguageSelectorValue, h as CODE_BLOCK_LANGUAGES, i as CodeBlockContent, l as CodeBlockLanguageSelectorContent, m as highlightCode, n as CodeBlockActions, o as CodeBlockFilename, p as CodeBlockTitle, r as CodeBlockContainer, s as CodeBlockHeader, t as CodeBlock, u as CodeBlockLanguageSelectorItem } from "../CodeBlock-Bfp5PAg3.js";
|
|
2
2
|
export { CODE_BLOCK_LANGUAGES, CodeBlock, CodeBlockActions, CodeBlockContainer, CodeBlockContent, CodeBlockCopyButton, CodeBlockFilename, CodeBlockHeader, CodeBlockLanguageSelector, CodeBlockLanguageSelectorContent, CodeBlockLanguageSelectorItem, CodeBlockLanguageSelectorTrigger, CodeBlockLanguageSelectorValue, CodeBlockTitle, highlightCode };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { H as RefreshIcon, f as ChevronRightIcon, l as CheckIcon, u as ChevronDownIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import { Menu } from "./Menu.js";
|
|
4
4
|
import "react";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-
|
|
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 { Collapsible as Collapsible$1 } from "@base-ui/react/collapsible";
|
|
@@ -42,7 +42,7 @@ function CollapsibleTrigger({ className, unstyled = false, ref, ...props }) {
|
|
|
42
42
|
* Supports CSS animations via `--collapsible-panel-height` variable.
|
|
43
43
|
*/
|
|
44
44
|
function CollapsiblePanel({ className, unstyled = false, ref, ...props }) {
|
|
45
|
-
const classes = mergeBaseClassName(["base-ui-
|
|
45
|
+
const classes = mergeBaseClassName(["base-ui-disclosure-panel", !unstyled && "collapsible__panel"].filter(Boolean).join(" "), className);
|
|
46
46
|
return /* @__PURE__ */ jsx(Collapsible$1.Panel, {
|
|
47
47
|
ref,
|
|
48
48
|
"data-slot": "collapsible-content",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { jsx } from "react/jsx-runtime";
|
|
4
4
|
import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Collapsible } from "../Collapsible-N64ASIQr.js";
|
|
2
|
-
import { t as CopyButtonProps } from "../copy-button-
|
|
2
|
+
import { t as CopyButtonProps } from "../copy-button-D7aAYA-2.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/components/Commit.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "./Collapsible.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CopyButton } from "../copy-button-
|
|
3
|
+
import { f as ChevronRightIcon, x as FileIcon } from "../icons-CQJ-aMnI.js";
|
|
4
|
+
import { t as CopyButton } from "../copy-button-DeK6KXEV.js";
|
|
5
5
|
import { Badge } from "./Badge.js";
|
|
6
6
|
import { Avatar } from "./Avatar.js";
|
|
7
7
|
import "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { g as DotIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { ContextMenu as ContextMenu$1 } from "@base-ui/react/context-menu";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { _ as DownloadIcon, n as ArrowDownIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport } from "./MessageScroller.js";
|
|
5
5
|
import * as React from "react";
|
|
@@ -119,7 +119,7 @@ function ConversationEmptyState({ className, title = "No messages yet", descript
|
|
|
119
119
|
* Floating button that scrolls the conversation to the latest message.
|
|
120
120
|
* Hidden from view and tab order while the viewport is already at the end.
|
|
121
121
|
*/
|
|
122
|
-
function ConversationScrollButton({ className, variant = "outline", color = "neutral", size = "
|
|
122
|
+
function ConversationScrollButton({ className, variant = "outline", color = "neutral", size = "sm", label = "Scroll to latest", children, ...props }) {
|
|
123
123
|
return /* @__PURE__ */ jsx(MessageScrollerButton, {
|
|
124
124
|
variant,
|
|
125
125
|
color,
|
|
@@ -154,7 +154,7 @@ function messagesToMarkdown(messages, formatMessage = defaultFormatMessage) {
|
|
|
154
154
|
* Skipped when `messages` is empty. For custom export flows, use
|
|
155
155
|
* {@link messagesToMarkdown} directly.
|
|
156
156
|
*/
|
|
157
|
-
function ConversationDownload({ className, messages, filename = "conversation.md", formatMessage, label = "Download conversation", variant = "outline", color = "neutral", size = "
|
|
157
|
+
function ConversationDownload({ className, messages, filename = "conversation.md", formatMessage, label = "Download conversation", variant = "outline", color = "neutral", size = "sm", children, ref, ...props }) {
|
|
158
158
|
if (messages.length === 0) return null;
|
|
159
159
|
const handleClick = () => {
|
|
160
160
|
const markdown = messagesToMarkdown(messages, formatMessage);
|
|
@@ -174,6 +174,7 @@ function ConversationDownload({ className, messages, filename = "conversation.md
|
|
|
174
174
|
variant,
|
|
175
175
|
color,
|
|
176
176
|
size,
|
|
177
|
+
iconOnly: true,
|
|
177
178
|
className: cx("conversation__download-button", className),
|
|
178
179
|
"aria-label": label,
|
|
179
180
|
onClick: handleClick,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
3
|
-
import { t as CopyButton } from "../copy-button-
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { b as EyeOffIcon, y as EyeIcon } from "../icons-CQJ-aMnI.js";
|
|
3
|
+
import { t as CopyButton } from "../copy-button-DeK6KXEV.js";
|
|
4
4
|
import { Badge } from "./Badge.js";
|
|
5
5
|
import { Switch } from "./Switch.js";
|
|
6
6
|
import * as React from "react";
|
package/dist/components/Field.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as mergeBaseClassName, t as cx } from "../class-names-
|
|
1
|
+
import { n as mergeBaseClassName, t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
2
|
import "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { Field as Field$1 } from "@base-ui/react/field";
|
|
@@ -128,7 +128,10 @@ function FieldError({ className, children, ref, ...props }) {
|
|
|
128
128
|
});
|
|
129
129
|
}
|
|
130
130
|
function FieldErrors({ className = "", errors, children, ref, ...props }) {
|
|
131
|
-
const messages = [...new Set(errors.
|
|
131
|
+
const messages = [...new Set(errors.flatMap((error) => {
|
|
132
|
+
const message = typeof error === "string" ? error : error?.message;
|
|
133
|
+
return message ? [message] : [];
|
|
134
|
+
}))];
|
|
132
135
|
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ jsx("ul", {
|
|
133
136
|
className: "field__error-list",
|
|
134
137
|
children: messages.map((message) => /* @__PURE__ */ jsx("li", { children: message }, message))
|
|
@@ -2,6 +2,8 @@ import * as React from "react";
|
|
|
2
2
|
|
|
3
3
|
//#region src/components/FileTree.d.ts
|
|
4
4
|
interface FileTreeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
5
|
+
/** Visual treatment for the tree container. Plain trees inherit their surrounding canvas. */
|
|
6
|
+
appearance?: "contained" | "plain";
|
|
5
7
|
/** Set of folder paths that should be expanded. Controlled mode. */
|
|
6
8
|
expanded?: Set<string>;
|
|
7
9
|
/** Initial set of expanded folder paths. Uncontrolled mode. */
|
|
@@ -33,6 +35,7 @@ interface FileTreeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSe
|
|
|
33
35
|
* ```
|
|
34
36
|
*/
|
|
35
37
|
declare function FileTree({
|
|
38
|
+
appearance,
|
|
36
39
|
className,
|
|
37
40
|
"aria-label": ariaLabel,
|
|
38
41
|
expanded,
|
|
@@ -70,6 +73,8 @@ interface FileTreeFileProps extends React.HTMLAttributes<HTMLLIElement> {
|
|
|
70
73
|
name: string;
|
|
71
74
|
/** Optional custom icon; defaults to a generic file icon. */
|
|
72
75
|
icon?: React.ReactNode;
|
|
76
|
+
/** App-owned anchor or router Link when selecting the file navigates. */
|
|
77
|
+
render?: React.ReactElement;
|
|
73
78
|
/** Depth level, auto-set by parent folder. */
|
|
74
79
|
level?: number;
|
|
75
80
|
}
|
|
@@ -78,6 +83,7 @@ declare function FileTreeFile({
|
|
|
78
83
|
path,
|
|
79
84
|
name,
|
|
80
85
|
icon,
|
|
86
|
+
render,
|
|
81
87
|
level,
|
|
82
88
|
ref,
|
|
83
89
|
...props
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-
|
|
1
|
+
import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-3zYtrddG.js";
|
|
2
2
|
export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
|
package/dist/components/Form.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { i as ButtonSize, r as ButtonProps } from "../Button-
|
|
1
|
+
import { i as ButtonSize, r as ButtonProps } from "../Button-DLGzHsjc.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/components/IconButton.d.ts
|
|
5
|
-
type IconButtonSize = Extract<ButtonSize, "icon" | "icon-xs" | "icon-sm" | "icon-lg">;
|
|
6
5
|
interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" | "size"> {
|
|
7
6
|
/** Decorative icon rendered inside the square button. */
|
|
8
7
|
children: React.ReactNode;
|
|
@@ -13,7 +12,7 @@ interface IconButtonProps extends Omit<ButtonProps, "aria-label" | "children" |
|
|
|
13
12
|
/** Preferred side for the tooltip. */
|
|
14
13
|
tooltipSide?: "top" | "right" | "bottom" | "left";
|
|
15
14
|
/** Square button size. */
|
|
16
|
-
size?:
|
|
15
|
+
size?: ButtonSize;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* A square, icon-only button with a required accessible name and matching
|
|
@@ -8,11 +8,12 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
8
8
|
* tooltip. Use text buttons for actions whose consequence an icon cannot make
|
|
9
9
|
* clear on its own.
|
|
10
10
|
*/
|
|
11
|
-
function IconButton({ children, label, size = "
|
|
11
|
+
function IconButton({ children, label, size = "sm", tooltip = label, tooltipSide = "top", type = "button", ...props }) {
|
|
12
12
|
return /* @__PURE__ */ jsxs(Tooltip.Root, { children: [/* @__PURE__ */ jsx(Tooltip.Trigger, {
|
|
13
13
|
render: /* @__PURE__ */ jsx(Button, {
|
|
14
14
|
type,
|
|
15
15
|
size,
|
|
16
|
+
iconOnly: true,
|
|
16
17
|
"aria-label": label,
|
|
17
18
|
...props
|
|
18
19
|
}),
|
package/dist/components/Input.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { G as SpinnerIcon, Z as WarningIcon, k as McpIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "./AgentAttention.js";
|
|
5
5
|
import { getMcpServerEntry, getMcpServerRuntimeState } from "../utils/mcp-server-catalog.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { G as SpinnerIcon, M as MinusIcon, Z as WarningIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import { buttonVariants } from "./Button.js";
|
|
4
4
|
import { Dialog } from "./Dialog.js";
|
|
5
5
|
import { Menu } from "./Menu.js";
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { CardProps } from "./Card.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/MediaPreviewCard.d.ts
|
|
5
|
+
interface MediaPreviewCardProps extends Omit<CardProps, "hover"> {}
|
|
6
|
+
/**
|
|
7
|
+
* A media-led card that plays its decorative preview only while a mouse is
|
|
8
|
+
* hovering the card or keyboard focus is within it. The preview pauses and
|
|
9
|
+
* resets when both forms of intent leave, and remains poster-only when the
|
|
10
|
+
* user prefers reduced motion.
|
|
11
|
+
*
|
|
12
|
+
* Keep routing and product data in the consumer. Place its link and ordinary
|
|
13
|
+
* Card content inside this root so the entire composition keeps native link
|
|
14
|
+
* semantics.
|
|
15
|
+
*/
|
|
16
|
+
declare function MediaPreviewCard({
|
|
17
|
+
children,
|
|
18
|
+
className,
|
|
19
|
+
onBlurCapture,
|
|
20
|
+
onFocusCapture,
|
|
21
|
+
onPointerEnter,
|
|
22
|
+
onPointerLeave,
|
|
23
|
+
ref,
|
|
24
|
+
...props
|
|
25
|
+
}: MediaPreviewCardProps & {
|
|
26
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
27
|
+
}): React.JSX.Element;
|
|
28
|
+
type FixedVideoProps = "autoPlay" | "controls" | "loop" | "muted" | "playsInline" | "preload";
|
|
29
|
+
interface MediaPreviewCardVideoProps extends Omit<React.VideoHTMLAttributes<HTMLVideoElement>, FixedVideoProps> {
|
|
30
|
+
/** Lightweight still frame displayed until the user shows intent. */
|
|
31
|
+
poster: string;
|
|
32
|
+
/** Intrinsic media width used to reserve layout space. */
|
|
33
|
+
width: number;
|
|
34
|
+
/** Intrinsic media height used to reserve layout space. */
|
|
35
|
+
height: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Decorative, silent preview media for MediaPreviewCard. Native source
|
|
39
|
+
* children allow callers to provide WebM followed by MP4 without the design
|
|
40
|
+
* system owning storage or URLs.
|
|
41
|
+
*/
|
|
42
|
+
declare function MediaPreviewCardVideo({
|
|
43
|
+
children,
|
|
44
|
+
className,
|
|
45
|
+
height,
|
|
46
|
+
onEnded,
|
|
47
|
+
onPause,
|
|
48
|
+
onPlaying,
|
|
49
|
+
poster,
|
|
50
|
+
ref,
|
|
51
|
+
style,
|
|
52
|
+
width,
|
|
53
|
+
...props
|
|
54
|
+
}: MediaPreviewCardVideoProps & {
|
|
55
|
+
ref?: React.Ref<HTMLVideoElement>;
|
|
56
|
+
}): React.JSX.Element;
|
|
57
|
+
interface MediaPreviewCardActionsProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
58
|
+
/**
|
|
59
|
+
* Positions sibling controls above the preview without nesting them inside the
|
|
60
|
+
* card's primary link. Use this slot for compact secondary actions such as a
|
|
61
|
+
* menu trigger; the consumer remains responsible for each control's behavior
|
|
62
|
+
* and accessible name.
|
|
63
|
+
*/
|
|
64
|
+
declare function MediaPreviewCardActions({
|
|
65
|
+
className,
|
|
66
|
+
ref,
|
|
67
|
+
...props
|
|
68
|
+
}: MediaPreviewCardActionsProps & {
|
|
69
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
70
|
+
}): React.JSX.Element;
|
|
71
|
+
interface MediaPreviewCardPlaceholderProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
72
|
+
/**
|
|
73
|
+
* Reserves the same frame as preview media when a card has no poster or video.
|
|
74
|
+
* Keep any explanatory copy visually hidden so the quiet fallback remains
|
|
75
|
+
* useful without competing with the card title.
|
|
76
|
+
*/
|
|
77
|
+
declare function MediaPreviewCardPlaceholder({
|
|
78
|
+
className,
|
|
79
|
+
ref,
|
|
80
|
+
...props
|
|
81
|
+
}: MediaPreviewCardPlaceholderProps & {
|
|
82
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
83
|
+
}): React.JSX.Element;
|
|
84
|
+
interface MediaPreviewCardMetaProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
85
|
+
/** Compact facts shown immediately below a preview. */
|
|
86
|
+
declare function MediaPreviewCardMeta({
|
|
87
|
+
className,
|
|
88
|
+
ref,
|
|
89
|
+
...props
|
|
90
|
+
}: MediaPreviewCardMetaProps & {
|
|
91
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
92
|
+
}): React.JSX.Element;
|
|
93
|
+
interface MediaPreviewCardFactProps extends React.HTMLAttributes<HTMLSpanElement> {}
|
|
94
|
+
/** A single icon-led fact inside MediaPreviewCardMeta. */
|
|
95
|
+
declare function MediaPreviewCardFact({
|
|
96
|
+
className,
|
|
97
|
+
ref,
|
|
98
|
+
...props
|
|
99
|
+
}: MediaPreviewCardFactProps & {
|
|
100
|
+
ref?: React.Ref<HTMLSpanElement>;
|
|
101
|
+
}): React.JSX.Element;
|
|
102
|
+
//#endregion
|
|
103
|
+
export { MediaPreviewCard, MediaPreviewCardActions, MediaPreviewCardActionsProps, MediaPreviewCardFact, MediaPreviewCardFactProps, MediaPreviewCardMeta, MediaPreviewCardMetaProps, MediaPreviewCardPlaceholder, MediaPreviewCardPlaceholderProps, MediaPreviewCardProps, MediaPreviewCardVideo, MediaPreviewCardVideoProps };
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { t as cx } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { z as PlayIcon } from "../icons-CQJ-aMnI.js";
|
|
3
|
+
import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
|
|
4
|
+
import { Card } from "./Card.js";
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/MediaPreviewCard.tsx
|
|
8
|
+
const MediaPreviewCardContext = React.createContext(null);
|
|
9
|
+
function useMediaPreviewCardContext() {
|
|
10
|
+
const context = React.useContext(MediaPreviewCardContext);
|
|
11
|
+
if (!context) throw new Error("MediaPreviewCardVideo must be rendered inside MediaPreviewCard.");
|
|
12
|
+
return context;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A media-led card that plays its decorative preview only while a mouse is
|
|
16
|
+
* hovering the card or keyboard focus is within it. The preview pauses and
|
|
17
|
+
* resets when both forms of intent leave, and remains poster-only when the
|
|
18
|
+
* user prefers reduced motion.
|
|
19
|
+
*
|
|
20
|
+
* Keep routing and product data in the consumer. Place its link and ordinary
|
|
21
|
+
* Card content inside this root so the entire composition keeps native link
|
|
22
|
+
* semantics.
|
|
23
|
+
*/
|
|
24
|
+
function MediaPreviewCard({ children, className, onBlurCapture, onFocusCapture, onPointerEnter, onPointerLeave, ref, ...props }) {
|
|
25
|
+
const videoRef = React.useRef(null);
|
|
26
|
+
const pointerInsideRef = React.useRef(false);
|
|
27
|
+
const focusInsideRef = React.useRef(false);
|
|
28
|
+
const [playing, setPlaying] = React.useState(false);
|
|
29
|
+
const stopPreview = React.useCallback(() => {
|
|
30
|
+
const video = videoRef.current;
|
|
31
|
+
if (!video) return;
|
|
32
|
+
video.pause();
|
|
33
|
+
if (video.readyState >= HTMLMediaElement.HAVE_METADATA) try {
|
|
34
|
+
video.currentTime = 0;
|
|
35
|
+
} catch {}
|
|
36
|
+
setPlaying(false);
|
|
37
|
+
}, []);
|
|
38
|
+
const startPreview = React.useCallback(() => {
|
|
39
|
+
const video = videoRef.current;
|
|
40
|
+
if (!video || typeof window !== "undefined" && (window.matchMedia("(prefers-reduced-motion: reduce)").matches || document.documentElement.dataset.motion === "reduce")) return;
|
|
41
|
+
video.play().catch(() => {
|
|
42
|
+
setPlaying(false);
|
|
43
|
+
});
|
|
44
|
+
}, []);
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
const media = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
47
|
+
const root = document.documentElement;
|
|
48
|
+
const stopWhenReduced = () => {
|
|
49
|
+
if (media.matches || root.dataset.motion === "reduce") stopPreview();
|
|
50
|
+
};
|
|
51
|
+
const observer = new MutationObserver(stopWhenReduced);
|
|
52
|
+
media.addEventListener("change", stopWhenReduced);
|
|
53
|
+
observer.observe(root, { attributeFilter: ["data-motion"] });
|
|
54
|
+
return () => {
|
|
55
|
+
media.removeEventListener("change", stopWhenReduced);
|
|
56
|
+
observer.disconnect();
|
|
57
|
+
};
|
|
58
|
+
}, [stopPreview]);
|
|
59
|
+
const context = React.useMemo(() => ({
|
|
60
|
+
setPlaying,
|
|
61
|
+
videoRef
|
|
62
|
+
}), []);
|
|
63
|
+
return /* @__PURE__ */ jsx(MediaPreviewCardContext.Provider, {
|
|
64
|
+
value: context,
|
|
65
|
+
children: /* @__PURE__ */ jsx(Card, {
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "media-preview-card",
|
|
68
|
+
"data-playing": playing ? "true" : "false",
|
|
69
|
+
className: cx("media-preview-card", className),
|
|
70
|
+
onPointerEnter: (event) => {
|
|
71
|
+
onPointerEnter?.(event);
|
|
72
|
+
if (event.defaultPrevented || event.pointerType !== "mouse") return;
|
|
73
|
+
pointerInsideRef.current = true;
|
|
74
|
+
startPreview();
|
|
75
|
+
},
|
|
76
|
+
onPointerLeave: (event) => {
|
|
77
|
+
onPointerLeave?.(event);
|
|
78
|
+
if (event.defaultPrevented) return;
|
|
79
|
+
pointerInsideRef.current = false;
|
|
80
|
+
if (!focusInsideRef.current) stopPreview();
|
|
81
|
+
},
|
|
82
|
+
onFocusCapture: (event) => {
|
|
83
|
+
onFocusCapture?.(event);
|
|
84
|
+
if (event.defaultPrevented) return;
|
|
85
|
+
focusInsideRef.current = true;
|
|
86
|
+
startPreview();
|
|
87
|
+
},
|
|
88
|
+
onBlurCapture: (event) => {
|
|
89
|
+
onBlurCapture?.(event);
|
|
90
|
+
if (event.defaultPrevented) return;
|
|
91
|
+
if (event.currentTarget.contains(event.relatedTarget)) return;
|
|
92
|
+
focusInsideRef.current = false;
|
|
93
|
+
if (!pointerInsideRef.current) stopPreview();
|
|
94
|
+
},
|
|
95
|
+
...props,
|
|
96
|
+
children
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Decorative, silent preview media for MediaPreviewCard. Native source
|
|
102
|
+
* children allow callers to provide WebM followed by MP4 without the design
|
|
103
|
+
* system owning storage or URLs.
|
|
104
|
+
*/
|
|
105
|
+
function MediaPreviewCardVideo({ children, className, height, onEnded, onPause, onPlaying, poster, ref, style, width, ...props }) {
|
|
106
|
+
const { setPlaying, videoRef } = useMediaPreviewCardContext();
|
|
107
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
108
|
+
"data-slot": "media-preview-card-media",
|
|
109
|
+
className: "media-preview-card__media",
|
|
110
|
+
style: { "--media-preview-card-aspect-ratio": `${width} / ${height}` },
|
|
111
|
+
children: [/* @__PURE__ */ jsx("video", {
|
|
112
|
+
...props,
|
|
113
|
+
ref: mergeRefs(ref, (node) => {
|
|
114
|
+
videoRef.current = node;
|
|
115
|
+
}),
|
|
116
|
+
"data-slot": "media-preview-card-video",
|
|
117
|
+
className: cx("media-preview-card__video", className),
|
|
118
|
+
style,
|
|
119
|
+
poster,
|
|
120
|
+
width,
|
|
121
|
+
height,
|
|
122
|
+
muted: true,
|
|
123
|
+
loop: true,
|
|
124
|
+
playsInline: true,
|
|
125
|
+
preload: "none",
|
|
126
|
+
"aria-hidden": "true",
|
|
127
|
+
onPlaying: (event) => {
|
|
128
|
+
setPlaying(true);
|
|
129
|
+
onPlaying?.(event);
|
|
130
|
+
},
|
|
131
|
+
onPause: (event) => {
|
|
132
|
+
setPlaying(false);
|
|
133
|
+
onPause?.(event);
|
|
134
|
+
},
|
|
135
|
+
onEnded: (event) => {
|
|
136
|
+
setPlaying(false);
|
|
137
|
+
onEnded?.(event);
|
|
138
|
+
},
|
|
139
|
+
children
|
|
140
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
141
|
+
className: "media-preview-card__play",
|
|
142
|
+
"aria-hidden": "true",
|
|
143
|
+
children: /* @__PURE__ */ jsx(PlayIcon, {})
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Positions sibling controls above the preview without nesting them inside the
|
|
149
|
+
* card's primary link. Use this slot for compact secondary actions such as a
|
|
150
|
+
* menu trigger; the consumer remains responsible for each control's behavior
|
|
151
|
+
* and accessible name.
|
|
152
|
+
*/
|
|
153
|
+
function MediaPreviewCardActions({ className, ref, ...props }) {
|
|
154
|
+
return /* @__PURE__ */ jsx("div", {
|
|
155
|
+
ref,
|
|
156
|
+
"data-slot": "media-preview-card-actions",
|
|
157
|
+
className: cx("media-preview-card__actions", className),
|
|
158
|
+
...props
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Reserves the same frame as preview media when a card has no poster or video.
|
|
163
|
+
* Keep any explanatory copy visually hidden so the quiet fallback remains
|
|
164
|
+
* useful without competing with the card title.
|
|
165
|
+
*/
|
|
166
|
+
function MediaPreviewCardPlaceholder({ className, ref, ...props }) {
|
|
167
|
+
return /* @__PURE__ */ jsx("div", {
|
|
168
|
+
ref,
|
|
169
|
+
"data-slot": "media-preview-card-placeholder",
|
|
170
|
+
className: cx("media-preview-card__placeholder", className),
|
|
171
|
+
...props
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
/** Compact facts shown immediately below a preview. */
|
|
175
|
+
function MediaPreviewCardMeta({ className, ref, ...props }) {
|
|
176
|
+
return /* @__PURE__ */ jsx("div", {
|
|
177
|
+
ref,
|
|
178
|
+
"data-slot": "media-preview-card-meta",
|
|
179
|
+
className: cx("media-preview-card__meta", className),
|
|
180
|
+
...props
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
/** A single icon-led fact inside MediaPreviewCardMeta. */
|
|
184
|
+
function MediaPreviewCardFact({ className, ref, ...props }) {
|
|
185
|
+
return /* @__PURE__ */ jsx("span", {
|
|
186
|
+
ref,
|
|
187
|
+
"data-slot": "media-preview-card-fact",
|
|
188
|
+
className: cx("media-preview-card__fact", className),
|
|
189
|
+
...props
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
export { MediaPreviewCard, MediaPreviewCardActions, MediaPreviewCardFact, MediaPreviewCardMeta, MediaPreviewCardPlaceholder, MediaPreviewCardVideo };
|
package/dist/components/Menu.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as mergeBaseClassName } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
|
|
2
|
+
import { g as DotIcon, l as CheckIcon } from "../icons-CQJ-aMnI.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { Menu } from "@base-ui/react/menu";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as ButtonProps } from "../Button-
|
|
1
|
+
import { r as ButtonProps } from "../Button-DLGzHsjc.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { FileUIPart, UIMessage } from "ai";
|
|
4
4
|
import { StreamdownProps } from "streamdown";
|
|
@@ -128,6 +128,8 @@ declare function MessageToolbar({
|
|
|
128
128
|
ref?: React.Ref<HTMLDivElement>;
|
|
129
129
|
}): React.JSX.Element;
|
|
130
130
|
interface MessageBranchProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
131
|
+
/** Number of response branches rendered by MessageBranchContent. */
|
|
132
|
+
branchCount: number;
|
|
131
133
|
/** Zero-based index of the initially selected branch. */
|
|
132
134
|
defaultBranch?: number;
|
|
133
135
|
/** Controlled branch index. */
|
|
@@ -142,6 +144,7 @@ interface MessageBranchProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
142
144
|
*/
|
|
143
145
|
declare function MessageBranch({
|
|
144
146
|
className,
|
|
147
|
+
branchCount,
|
|
145
148
|
defaultBranch,
|
|
146
149
|
branch,
|
|
147
150
|
onBranchChange,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-
|
|
1
|
+
import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-BXtmfc9Q.js";
|
|
2
2
|
export { Message, MessageAction, MessageActions, MessageAttachment, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageResponse, MessageToolbar };
|