@mcp-b/react-components 0.16.0 → 0.17.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/{AgentChat-CrlpbvQJ.d.ts → AgentChat-CRuMi1Pb.d.ts} +4 -10
- package/dist/AgentMessageParts-CyD2UB3V.d.ts +46 -0
- package/dist/AgentToolRunsContext-BVe4stgw.d.ts +21 -0
- package/dist/{CodeBlock-BmB4Xaqq.js → CodeBlock-Co1noLbC.js} +2 -2
- package/dist/{CodeBlock-BRajW4QU.d.ts → CodeBlock-Dnpr88ZQ.d.ts} +2 -2
- package/dist/Collapsible-N64ASIQr.d.ts +119 -0
- package/dist/{Combobox-B9Fcd6q-.d.ts → Combobox-CYc37s5l.d.ts} +11 -33
- package/dist/{FileTree-CkVbIMWV.js → FileTree-B7bBsUyU.js} +7 -7
- package/dist/{Menu-Bgu-ufb5.d.ts → Menu-L6MZm-7N.d.ts} +15 -56
- package/dist/{Message-BkMdE3bS.js → Message-C4eYRogZ.js} +3 -3
- package/dist/{ModelSelector-SlJNgwKY.js → ModelSelector-BNrZlY_Y.js} +5 -5
- package/dist/{PromptInput-BWTuXMOD.d.ts → PromptInput-OLfXPuHM.d.ts} +39 -67
- package/dist/{ResponsiveSidebarShell-Dd9DCcBT.d.ts → ResponsiveSidebarShell-CsAh4NyL.d.ts} +1 -0
- package/dist/{Select-BeEsefzh.d.ts → Select-CwSqP07Y.d.ts} +14 -42
- package/dist/{Tabs-3Zc4tb9D.d.ts → Tabs-9zddXDQo.d.ts} +5 -19
- package/dist/{ThinkChat-CzC-zNGA.js → ThinkChat-DInElus-.js} +53 -26
- package/dist/{ThinkChatActivity-BFQnb2ct.d.ts → ThinkChatActivity-BgesTfZ4.d.ts} +12 -4
- package/dist/{ThinkChatContext-C3Eb1Xpi.d.ts → ThinkChatContext-DrsZqdaO.d.ts} +1 -1
- package/dist/ThinkRecoveryNotice-DFIcG9UX.d.ts +19 -0
- package/dist/{Toggle-CAAlNl-M.d.ts → Toggle-DaXpe1Lc.d.ts} +1 -1
- package/dist/{ToggleGroup-8hPv-b69.d.ts → ToggleGroup-yseEWkOC.d.ts} +3 -4
- package/dist/{Workspace-D39LxGvP.d.ts → Workspace-C9RFoxcu.d.ts} +1 -1
- package/dist/WorkspaceExplorer-sZewzT2O.d.ts +32 -0
- package/dist/{WorkspaceFile-DOZkPwzu.d.ts → WorkspaceFile-C8UzuSH4.d.ts} +1 -1
- package/dist/{WorkspaceFileView-rSN_yT0L.js → WorkspaceFileView-DNdGAEiX.js} +5 -5
- package/dist/{WorkspaceLink-DIPbXrUM.js → WorkspaceLink-B1ykV1dS.js} +15 -29
- package/dist/class-names-Bk-QLWWI.js +11 -0
- package/dist/components/Accordion.d.ts +5 -15
- package/dist/components/Accordion.js +11 -10
- package/dist/components/Activity.d.ts +5 -10
- package/dist/components/Activity.js +2 -2
- package/dist/components/AgentActivity.js +1 -1
- package/dist/components/AgentActivityPreview.js +2 -2
- package/dist/components/AgentAttention.d.ts +1 -1
- package/dist/components/AgentAttention.js +1 -1
- package/dist/components/AgentChat.d.ts +2 -2
- package/dist/components/AgentChat.js +27 -164
- package/dist/components/AgentChatMessageEditor.js +1 -1
- package/dist/components/AgentConnection.js +4 -4
- package/dist/components/AgentMessageParts.d.ts +2 -0
- package/dist/components/AgentMessageParts.js +119 -0
- package/dist/components/AgentToolDetail.d.ts +55 -0
- package/dist/components/AgentToolDetail.js +98 -0
- package/dist/components/AgentToolRunsContext.d.ts +2 -0
- package/dist/components/AgentToolRunsContext.js +16 -0
- package/dist/components/AlertDialog.d.ts +7 -19
- package/dist/components/AlertDialog.js +21 -32
- package/dist/components/AppTopBar.d.ts +4 -1
- package/dist/components/AppTopBar.js +5 -5
- package/dist/components/Approval.d.ts +102 -0
- package/dist/components/Approval.js +227 -0
- package/dist/components/Artifact.d.ts +2 -4
- package/dist/components/Artifact.js +3 -3
- package/dist/components/Autocomplete.d.ts +11 -33
- package/dist/components/Autocomplete.js +23 -30
- package/dist/components/Avatar.d.ts +3 -11
- package/dist/components/Avatar.js +13 -12
- package/dist/components/BrowserLiveView.js +2 -2
- package/dist/components/BrowserReplay.js +2 -2
- package/dist/components/BrowserRunPanel.js +58 -78
- package/dist/components/Button.js +4 -9
- package/dist/components/ChainOfThought.d.ts +5 -11
- package/dist/components/ChainOfThought.js +3 -2
- package/dist/components/ChatGptSignInScreen.js +3 -3
- package/dist/components/Checkbox.d.ts +2 -4
- package/dist/components/Checkbox.js +6 -5
- package/dist/components/CheckboxGroup.d.ts +1 -3
- package/dist/components/CheckboxGroup.js +15 -14
- package/dist/components/Checkpoint.d.ts +64 -0
- package/dist/components/Checkpoint.js +63 -0
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.js +1 -1
- package/dist/components/CodexModelSelector.d.ts +1 -1
- package/dist/components/CodexModelSelector.js +2 -2
- package/dist/components/Collapsible.d.ts +1 -124
- package/dist/components/Collapsible.js +7 -10
- package/dist/components/Combobox.d.ts +1 -1
- package/dist/components/Combobox.js +23 -30
- package/dist/components/Commit.d.ts +5 -11
- package/dist/components/Commit.js +6 -5
- package/dist/components/Context.js +1 -1
- package/dist/components/ContextMenu.d.ts +21 -37
- package/dist/components/ContextMenu.js +34 -51
- package/dist/components/Conversation.d.ts +2 -4
- package/dist/components/Conversation.js +2 -2
- package/dist/components/DescriptionListParts.js +1 -1
- package/dist/components/Dialog.d.ts +6 -17
- package/dist/components/Dialog.js +17 -24
- package/dist/components/EnvironmentVariables.d.ts +1 -1
- package/dist/components/EnvironmentVariables.js +4 -3
- package/dist/components/Field.d.ts +17 -20
- package/dist/components/Field.js +16 -16
- package/dist/components/Fieldset.d.ts +2 -7
- package/dist/components/Fieldset.js +7 -6
- package/dist/components/FileTree.js +1 -1
- package/dist/components/Form.d.ts +1 -4
- package/dist/components/Form.js +3 -2
- package/dist/components/GithubMotionMark.js +1 -1
- package/dist/components/InlineCitation.d.ts +66 -0
- package/dist/components/InlineCitation.js +142 -0
- package/dist/components/Input.d.ts +1 -4
- package/dist/components/Input.js +3 -2
- package/dist/components/Marker.js +1 -1
- package/dist/components/McpConnectionRequest.js +2 -2
- package/dist/components/McpServerPicker.d.ts +1 -1
- package/dist/components/McpServerPicker.js +6 -5
- package/dist/components/Menu.d.ts +1 -1
- package/dist/components/Menu.js +33 -52
- package/dist/components/Menubar.d.ts +22 -43
- package/dist/components/Menubar.js +36 -53
- package/dist/components/Message.d.ts +3 -6
- package/dist/components/Message.js +1 -1
- package/dist/components/MessageScroller.d.ts +1 -1
- package/dist/components/MessageScroller.js +3 -3
- package/dist/components/Meter.d.ts +5 -20
- package/dist/components/Meter.js +11 -10
- package/dist/components/ModelSelector.d.ts +2 -6
- package/dist/components/ModelSelector.js +1 -1
- package/dist/components/NavigationMenu.d.ts +11 -33
- package/dist/components/NavigationMenu.js +23 -30
- package/dist/components/NumberField.d.ts +6 -24
- package/dist/components/NumberField.js +13 -12
- package/dist/components/Plan.d.ts +103 -0
- package/dist/components/Plan.js +113 -0
- package/dist/components/Popover.d.ts +9 -36
- package/dist/components/Popover.js +23 -34
- package/dist/components/PreviewCard.d.ts +6 -24
- package/dist/components/PreviewCard.js +13 -24
- package/dist/components/PricingBillingToggle.js +1 -1
- package/dist/components/PricingFAQ.js +1 -1
- package/dist/components/PricingPlanCard.js +3 -3
- package/dist/components/PricingUsageCalculator.js +2 -2
- package/dist/components/Progress.d.ts +3 -8
- package/dist/components/Progress.js +7 -10
- package/dist/components/PromptInput.d.ts +2 -2
- package/dist/components/PromptInput.js +52 -200
- package/dist/components/Queue.d.ts +6 -16
- package/dist/components/Queue.js +2 -2
- package/dist/components/RadioGroup.d.ts +3 -8
- package/dist/components/RadioGroup.js +7 -10
- package/dist/components/Reasoning.d.ts +4 -8
- package/dist/components/Reasoning.js +3 -3
- package/dist/components/ResizableSidePanel.js +2 -2
- package/dist/components/ResponsiveSidebarShell.d.ts +1 -1
- package/dist/components/ResponsiveSidebarShell.js +4 -3
- package/dist/components/ScrollArea.d.ts +5 -20
- package/dist/components/ScrollArea.js +11 -10
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.js +32 -55
- package/dist/components/Separator.d.ts +1 -5
- package/dist/components/Separator.js +3 -6
- package/dist/components/Slider.d.ts +6 -19
- package/dist/components/Slider.js +15 -14
- package/dist/components/Sources.d.ts +4 -9
- package/dist/components/Sources.js +3 -2
- package/dist/components/Stepper.js +2 -2
- package/dist/components/SubagentRunDetails.js +1 -1
- package/dist/components/SubagentRunIndicator.js +2 -2
- package/dist/components/SubagentRunList.js +1 -2
- package/dist/components/SubagentRunSelector.d.ts +2 -11
- package/dist/components/SubagentRunSelector.js +16 -15
- package/dist/components/Switch.d.ts +2 -5
- package/dist/components/Switch.js +5 -8
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tabs.js +10 -16
- package/dist/components/Task.d.ts +4 -9
- package/dist/components/Task.js +4 -3
- package/dist/components/Terminal.d.ts +2 -3
- package/dist/components/Terminal.js +3 -3
- package/dist/components/TestResults.d.ts +4 -9
- package/dist/components/TestResults.js +3 -2
- package/dist/components/Textarea.js +1 -1
- package/dist/components/ThemeModeControl.js +1 -1
- package/dist/components/ThinkChat.d.ts +21 -11
- package/dist/components/ThinkChat.js +5 -3
- package/dist/components/ThinkChatActivity.d.ts +1 -1
- package/dist/components/ThinkChatActivity.js +26 -7
- package/dist/components/ThinkChatContext.d.ts +1 -1
- package/dist/components/ThinkChatToolPanels.js +2 -2
- package/dist/components/ThinkExecutionDetail.js +2 -2
- package/dist/components/ThinkExecutionStatus.js +2 -2
- package/dist/components/ThinkExecutionWorkbench.js +2 -2
- package/dist/components/ThinkFullApp.d.ts +33 -9
- package/dist/components/ThinkFullApp.js +118 -64
- package/dist/components/ThinkFullAppViewSwitch.d.ts +1 -1
- package/dist/components/ThinkFullAppViewSwitch.js +2 -2
- package/dist/components/ThinkPendingApproval.d.ts +60 -0
- package/dist/components/ThinkPendingApproval.js +99 -0
- package/dist/components/ThinkRecoveryNotice.d.ts +2 -0
- package/dist/components/ThinkRecoveryNotice.js +40 -0
- package/dist/components/ThinkRoutine.js +1 -0
- package/dist/components/ThinkRoutineBrowser.js +6 -6
- package/dist/components/ThinkRoutineDetail.js +1 -1
- package/dist/components/ThinkRoutineForm.js +2 -2
- package/dist/components/ThinkRoutineLibrary.d.ts +9 -0
- package/dist/components/ThinkRoutineLibrary.js +67 -20
- package/dist/components/ThinkRoutineRuns.js +1 -1
- package/dist/components/ThinkThreadPicker.js +2 -2
- package/dist/components/ThinkThreadShell.d.ts +1 -1
- package/dist/components/Toast.d.ts +7 -28
- package/dist/components/Toast.js +15 -14
- package/dist/components/Toggle.d.ts +1 -1
- package/dist/components/Toggle.js +5 -5
- package/dist/components/ToggleGroup.d.ts +1 -1
- package/dist/components/ToggleGroup.js +8 -15
- package/dist/components/ToolApproval.d.ts +28 -0
- package/dist/components/ToolApproval.js +35 -0
- package/dist/components/ToolInvocation.d.ts +26 -0
- package/dist/components/ToolInvocation.js +72 -0
- package/dist/components/Toolbar.d.ts +6 -24
- package/dist/components/Toolbar.js +13 -12
- package/dist/components/Tooltip.d.ts +3 -9
- package/dist/components/Tooltip.js +7 -10
- package/dist/components/WebPreview.d.ts +1 -2
- package/dist/components/WebPreview.js +4 -3
- package/dist/components/Workspace.d.ts +1 -1
- package/dist/components/Workspace.js +5 -20
- package/dist/components/WorkspaceBrowser.d.ts +1 -1
- package/dist/components/WorkspaceBrowser.js +3 -3
- package/dist/components/WorkspaceExplorer.d.ts +3 -31
- package/dist/components/WorkspaceExplorer.js +3 -3
- package/dist/components/WorkspaceFile.d.ts +1 -1
- package/dist/components/WorkspaceFileView.d.ts +1 -1
- package/dist/components/WorkspaceFileView.js +1 -1
- package/dist/components/WorkspaceHeader.js +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-DtPMgN7e.d.ts → copy-button-CQx3LQAC.d.ts} +1 -2
- package/dist/{copy-button-Dejn5heL.js → copy-button-cYsJBauI.js} +1 -1
- package/dist/{icons-CpfUer49.js → icons--FqCZEc3.js} +3 -2
- package/dist/{icons-GQd1xF4e.d.ts → icons-DpUqY8Mp.d.ts} +6 -1
- package/dist/styles/agent-activity-preview.css +13 -11
- package/dist/styles/agent-attention.css +19 -13
- package/dist/styles/agent-chat.css +0 -41
- package/dist/styles/agent-connection.css +9 -21
- package/dist/styles/agent-tool-detail.css +54 -0
- package/dist/styles/alert-dialog.css +11 -11
- package/dist/styles/app-top-bar.css +9 -7
- package/dist/styles/approval.css +172 -0
- package/dist/styles/artifact.css +0 -12
- package/dist/styles/browser-run-panel.css +5 -2
- package/dist/styles/card.css +8 -8
- package/dist/styles/chain-of-thought.css +5 -13
- package/dist/styles/checkpoint.css +58 -0
- package/dist/styles/codex-model-selector.css +3 -3
- package/dist/styles/combobox.css +3 -2
- package/dist/styles/commit.css +0 -21
- package/dist/styles/context-menu.css +1 -9
- package/dist/styles/dialog.css +11 -11
- package/dist/styles/environment-variables.css +0 -13
- package/dist/styles/field.css +14 -14
- package/dist/styles/fieldset.css +5 -5
- package/dist/styles/file-tree.css +0 -16
- package/dist/styles/index.css +8 -4
- package/dist/styles/inline-citation.css +107 -0
- package/dist/styles/mcp-connection-request.css +3 -3
- package/dist/styles/mcp-server-picker.css +1 -30
- package/dist/styles/menu.css +1 -30
- package/dist/styles/menubar.css +0 -8
- package/dist/styles/message-scroller.css +0 -12
- package/dist/styles/message.css +0 -12
- package/dist/styles/model-selector.css +18 -32
- package/dist/styles/plan.css +127 -0
- package/dist/styles/popover.css +7 -43
- package/dist/styles/preview-card.css +1 -1
- package/dist/styles/prompt-input.css +2 -195
- package/dist/styles/recipes.css +139 -12
- package/dist/styles/responsive-sidebar-shell.css +16 -19
- package/dist/styles/select.css +3 -3
- package/dist/styles/sources.css +6 -14
- package/dist/styles/subagent-run.css +12 -70
- package/dist/styles/task.css +17 -26
- package/dist/styles/test-results.css +17 -23
- package/dist/styles/textarea.css +1 -1
- package/dist/styles/think-execution-workbench.css +9 -9
- package/dist/styles/think-full-app.css +49 -33
- package/dist/styles/think-routine-library.css +30 -38
- package/dist/styles/think-thread-picker.css +15 -0
- package/dist/styles/toast.css +4 -11
- package/dist/styles/tooltip.css +1 -1
- package/dist/styles/utilities.css +31 -0
- package/dist/styles/web-preview.css +0 -21
- package/dist/styles/workspace-explorer.css +20 -65
- package/dist/think-agent-Cip5KAPj.d.ts +7 -0
- package/dist/utils/codex-model-catalog.d.ts +4 -4
- package/dist/utils/structured-code.d.ts +1 -1
- package/dist/workspace-path-L_KmjRjq.js +26 -0
- package/package.json +3 -4
- package/dist/class-names-9UtZwb0J.js +0 -12
- package/dist/components/AppFrame.d.ts +0 -24
- package/dist/components/AppFrame.js +0 -25
- package/dist/components/Shell.d.ts +0 -163
- package/dist/components/Shell.js +0 -137
- package/dist/components/SubagentRun.d.ts +0 -86
- package/dist/components/SubagentRun.js +0 -108
- package/dist/styles/app-frame.css +0 -15
- package/dist/styles/shell.css +0 -122
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { t as cx } from "../class-names-Bk-QLWWI.js";
|
|
2
|
+
import { P as PencilIcon } from "../icons--FqCZEc3.js";
|
|
3
|
+
import { Button } from "./Button.js";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/Approval.tsx
|
|
7
|
+
/** Presentation-only frame for a human approval request. */
|
|
8
|
+
function Approval({ className, ref, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx("div", {
|
|
10
|
+
ref,
|
|
11
|
+
role: "group",
|
|
12
|
+
"data-slot": "approval",
|
|
13
|
+
className: cx("approval", className),
|
|
14
|
+
...props
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/** Question and optional queue position for an approval request. */
|
|
18
|
+
function ApprovalHeader({ className, ref, ...props }) {
|
|
19
|
+
return /* @__PURE__ */ jsx("div", {
|
|
20
|
+
ref,
|
|
21
|
+
"data-slot": "approval-header",
|
|
22
|
+
className: cx("approval__header", className),
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/** The request phrased as a human-readable question. */
|
|
27
|
+
function ApprovalQuestion({ className, ref, ...props }) {
|
|
28
|
+
return /* @__PURE__ */ jsx("span", {
|
|
29
|
+
ref,
|
|
30
|
+
"data-slot": "approval-question",
|
|
31
|
+
className: cx("approval__question", className),
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/** Position of the current request in an app-owned approval queue. */
|
|
36
|
+
function ApprovalCount({ className, ref, ...props }) {
|
|
37
|
+
return /* @__PURE__ */ jsx("span", {
|
|
38
|
+
ref,
|
|
39
|
+
"data-slot": "approval-count",
|
|
40
|
+
className: cx("approval__count", className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Bounded, read-only preview of the operation being authorized. */
|
|
45
|
+
function ApprovalPreview({ className, ref, ...props }) {
|
|
46
|
+
return /* @__PURE__ */ jsx("div", {
|
|
47
|
+
ref,
|
|
48
|
+
"data-slot": "approval-preview",
|
|
49
|
+
className: cx("approval__preview", className),
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/** One labelled value in an approval preview. */
|
|
54
|
+
function ApprovalPreviewRow({ children, className, label, ref, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
56
|
+
ref,
|
|
57
|
+
"data-slot": "approval-preview-row",
|
|
58
|
+
className: cx("approval__preview-row", className),
|
|
59
|
+
...props,
|
|
60
|
+
children: [
|
|
61
|
+
label !== void 0 ? /* @__PURE__ */ jsx("span", {
|
|
62
|
+
className: "approval__preview-key",
|
|
63
|
+
children: label
|
|
64
|
+
}) : null,
|
|
65
|
+
label !== void 0 && children !== void 0 ? " " : null,
|
|
66
|
+
children
|
|
67
|
+
]
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function formatApprovalValue(value) {
|
|
71
|
+
if (typeof value === "string") return value;
|
|
72
|
+
return JSON.stringify(value) ?? String(value);
|
|
73
|
+
}
|
|
74
|
+
/** Renders unknown upstream input without changing or normalizing its shape. */
|
|
75
|
+
function ApprovalInputPreview({ input }) {
|
|
76
|
+
const entries = input && typeof input === "object" && !Array.isArray(input) ? Object.entries(input) : void 0;
|
|
77
|
+
return /* @__PURE__ */ jsx(ApprovalPreview, { children: entries ? entries.map(([key, value]) => /* @__PURE__ */ jsx(ApprovalPreviewRow, {
|
|
78
|
+
label: key,
|
|
79
|
+
children: formatApprovalValue(value)
|
|
80
|
+
}, key)) : /* @__PURE__ */ jsx(ApprovalPreviewRow, { children: formatApprovalValue(input) }) });
|
|
81
|
+
}
|
|
82
|
+
function getErrorMessage(error) {
|
|
83
|
+
if (error instanceof Error && error.message.trim()) return error.message;
|
|
84
|
+
return "The approval could not be submitted. Try again.";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Keyboard-operable approve/deny controls shared by inline and durable adapters.
|
|
88
|
+
* Arrow keys move between approve and deny, `1` returns to approve, and Enter
|
|
89
|
+
* in the reason field submits a denial. Async failures stay visible and are
|
|
90
|
+
* announced politely without coupling this presentation to a transport.
|
|
91
|
+
*/
|
|
92
|
+
function ApprovalDecision({ className, onDecision, onSkip, subject = "this action", ref, ...props }) {
|
|
93
|
+
const [selected, setSelected] = React.useState("approve");
|
|
94
|
+
const [reason, setReason] = React.useState("");
|
|
95
|
+
const [busy, setBusy] = React.useState(false);
|
|
96
|
+
const [errorMessage, setErrorMessage] = React.useState("");
|
|
97
|
+
const busyRef = React.useRef(false);
|
|
98
|
+
const approveRef = React.useRef(null);
|
|
99
|
+
const reasonRef = React.useRef(null);
|
|
100
|
+
const reasonId = React.useId();
|
|
101
|
+
const respond = async (approved) => {
|
|
102
|
+
if (busyRef.current) return;
|
|
103
|
+
busyRef.current = true;
|
|
104
|
+
setBusy(true);
|
|
105
|
+
setErrorMessage("");
|
|
106
|
+
const trimmed = reason.trim();
|
|
107
|
+
try {
|
|
108
|
+
await onDecision({
|
|
109
|
+
approved,
|
|
110
|
+
reason: !approved && trimmed ? trimmed : void 0
|
|
111
|
+
});
|
|
112
|
+
} catch (error) {
|
|
113
|
+
setErrorMessage(getErrorMessage(error));
|
|
114
|
+
} finally {
|
|
115
|
+
busyRef.current = false;
|
|
116
|
+
setBusy(false);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
120
|
+
ref,
|
|
121
|
+
"data-slot": "approval-options",
|
|
122
|
+
className: cx("approval__options", className),
|
|
123
|
+
"aria-busy": busy || void 0,
|
|
124
|
+
onKeyDown: (event) => {
|
|
125
|
+
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
(selected === "approve" ? reasonRef : approveRef).current?.focus();
|
|
128
|
+
} else if (event.key === "1" && event.target !== reasonRef.current) approveRef.current?.focus();
|
|
129
|
+
},
|
|
130
|
+
...props,
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ jsxs(Button, {
|
|
133
|
+
ref: approveRef,
|
|
134
|
+
type: "button",
|
|
135
|
+
size: "sm",
|
|
136
|
+
variant: "ghost",
|
|
137
|
+
color: "neutral",
|
|
138
|
+
className: "approval__option",
|
|
139
|
+
"data-selected": selected === "approve" || void 0,
|
|
140
|
+
disabled: busy,
|
|
141
|
+
onClick: () => void respond(true),
|
|
142
|
+
onFocus: () => setSelected("approve"),
|
|
143
|
+
children: [
|
|
144
|
+
/* @__PURE__ */ jsx("span", {
|
|
145
|
+
className: "approval__key",
|
|
146
|
+
children: "1"
|
|
147
|
+
}),
|
|
148
|
+
"Yes, approve",
|
|
149
|
+
/* @__PURE__ */ jsx("span", {
|
|
150
|
+
className: "approval__arrows",
|
|
151
|
+
"aria-hidden": "true",
|
|
152
|
+
children: "↑↓"
|
|
153
|
+
})
|
|
154
|
+
]
|
|
155
|
+
}),
|
|
156
|
+
/* @__PURE__ */ jsxs("div", {
|
|
157
|
+
className: "approval__option approval__deny",
|
|
158
|
+
"data-selected": selected === "deny" || void 0,
|
|
159
|
+
children: [
|
|
160
|
+
/* @__PURE__ */ jsx("span", {
|
|
161
|
+
className: "approval__key",
|
|
162
|
+
"aria-hidden": "true",
|
|
163
|
+
children: /* @__PURE__ */ jsx(PencilIcon, { size: 11 })
|
|
164
|
+
}),
|
|
165
|
+
/* @__PURE__ */ jsxs("label", {
|
|
166
|
+
className: "approval__deny-label",
|
|
167
|
+
htmlFor: reasonId,
|
|
168
|
+
children: ["No, deny", /* @__PURE__ */ jsxs("span", {
|
|
169
|
+
className: "sigvelo-visually-hidden",
|
|
170
|
+
children: [" ", subject]
|
|
171
|
+
})]
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ jsx("input", {
|
|
174
|
+
id: reasonId,
|
|
175
|
+
ref: reasonRef,
|
|
176
|
+
type: "text",
|
|
177
|
+
className: "approval__reason",
|
|
178
|
+
placeholder: "Tell the agent what to do differently",
|
|
179
|
+
value: reason,
|
|
180
|
+
disabled: busy,
|
|
181
|
+
onFocus: () => setSelected("deny"),
|
|
182
|
+
onChange: (event) => {
|
|
183
|
+
setSelected("deny");
|
|
184
|
+
setReason(event.currentTarget.value);
|
|
185
|
+
},
|
|
186
|
+
onKeyDown: (event) => {
|
|
187
|
+
if (event.key === "Enter" && !event.nativeEvent.isComposing) {
|
|
188
|
+
event.preventDefault();
|
|
189
|
+
respond(false);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}),
|
|
193
|
+
onSkip ? /* @__PURE__ */ jsx(Button, {
|
|
194
|
+
type: "button",
|
|
195
|
+
size: "xs",
|
|
196
|
+
variant: "ghost",
|
|
197
|
+
color: "neutral",
|
|
198
|
+
className: "approval__skip",
|
|
199
|
+
disabled: busy,
|
|
200
|
+
onClick: onSkip,
|
|
201
|
+
children: "Skip"
|
|
202
|
+
}) : null,
|
|
203
|
+
/* @__PURE__ */ jsxs(Button, {
|
|
204
|
+
type: "button",
|
|
205
|
+
size: "xs",
|
|
206
|
+
color: "primary",
|
|
207
|
+
className: "approval__submit",
|
|
208
|
+
disabled: busy,
|
|
209
|
+
onClick: () => void respond(selected === "approve"),
|
|
210
|
+
children: [busy ? "Submitting…" : selected === "approve" ? "Approve" : "Submit denial", !busy ? /* @__PURE__ */ jsx("kbd", {
|
|
211
|
+
className: "approval__kbd",
|
|
212
|
+
children: "⏎"
|
|
213
|
+
}) : null]
|
|
214
|
+
})
|
|
215
|
+
]
|
|
216
|
+
}),
|
|
217
|
+
/* @__PURE__ */ jsx("span", {
|
|
218
|
+
className: cx("approval__status", !errorMessage && "sigvelo-visually-hidden"),
|
|
219
|
+
role: "status",
|
|
220
|
+
"aria-atomic": "true",
|
|
221
|
+
children: errorMessage || (busy ? "Submitting approval" : "")
|
|
222
|
+
})
|
|
223
|
+
]
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//#endregion
|
|
227
|
+
export { Approval, ApprovalCount, ApprovalDecision, ApprovalHeader, ApprovalInputPreview, ApprovalPreview, ApprovalPreviewRow, ApprovalQuestion, formatApprovalValue };
|
|
@@ -83,8 +83,7 @@ declare function ArtifactActions({
|
|
|
83
83
|
}: ArtifactActionsProps & {
|
|
84
84
|
ref?: React.Ref<HTMLDivElement>;
|
|
85
85
|
}): React.JSX.Element;
|
|
86
|
-
interface ArtifactActionProps extends Omit<ButtonProps, "children" | "variant" | "size" | "color"
|
|
87
|
-
className?: string;
|
|
86
|
+
interface ArtifactActionProps extends Omit<ButtonProps, "children" | "variant" | "size" | "color"> {
|
|
88
87
|
/** Accessible label for the button. */
|
|
89
88
|
label?: string;
|
|
90
89
|
/** Tooltip text shown on hover. Defaults to label. */
|
|
@@ -103,8 +102,7 @@ declare function ArtifactAction({
|
|
|
103
102
|
children,
|
|
104
103
|
...props
|
|
105
104
|
}: ArtifactActionProps): React.JSX.Element;
|
|
106
|
-
interface ArtifactCloseProps extends Omit<ButtonProps, "children" | "variant" | "size" | "color"
|
|
107
|
-
className?: string;
|
|
105
|
+
interface ArtifactCloseProps extends Omit<ButtonProps, "children" | "variant" | "size" | "color"> {
|
|
108
106
|
/** Accessible label for the close button. */
|
|
109
107
|
label?: string;
|
|
110
108
|
children?: React.ReactNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-Bk-QLWWI.js";
|
|
2
|
+
import { X as XIcon } from "../icons--FqCZEc3.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { Tooltip } from "./Tooltip.js";
|
|
5
5
|
import "react";
|
|
@@ -86,7 +86,7 @@ function ArtifactAction({ className, label, tooltip, icon, children, ...props })
|
|
|
86
86
|
className: cx("artifact__action", className),
|
|
87
87
|
...props,
|
|
88
88
|
children: [Icon ? /* @__PURE__ */ jsx(Icon, {}) : icon ?? children, accessibleLabel ? /* @__PURE__ */ jsx("span", {
|
|
89
|
-
className: "
|
|
89
|
+
className: "sigvelo-visually-hidden",
|
|
90
90
|
children: accessibleLabel
|
|
91
91
|
}) : null]
|
|
92
92
|
});
|
|
@@ -6,99 +6,77 @@ declare function Input({
|
|
|
6
6
|
className,
|
|
7
7
|
ref,
|
|
8
8
|
...props
|
|
9
|
-
}:
|
|
10
|
-
className?: string;
|
|
11
|
-
} & {
|
|
9
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Input> & {
|
|
12
10
|
ref?: React.Ref<HTMLInputElement>;
|
|
13
11
|
}): React.JSX.Element;
|
|
14
12
|
declare function Trigger({
|
|
15
13
|
className,
|
|
16
14
|
ref,
|
|
17
15
|
...props
|
|
18
|
-
}:
|
|
19
|
-
className?: string;
|
|
20
|
-
} & {
|
|
16
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Trigger> & {
|
|
21
17
|
ref?: React.Ref<HTMLButtonElement>;
|
|
22
18
|
}): React.JSX.Element;
|
|
23
19
|
declare function Clear({
|
|
24
20
|
className,
|
|
25
21
|
ref,
|
|
26
22
|
...props
|
|
27
|
-
}:
|
|
28
|
-
className?: string;
|
|
29
|
-
} & {
|
|
23
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Clear> & {
|
|
30
24
|
ref?: React.Ref<HTMLButtonElement>;
|
|
31
25
|
}): React.JSX.Element;
|
|
32
26
|
declare function Positioner({
|
|
33
27
|
className,
|
|
34
28
|
ref,
|
|
35
29
|
...props
|
|
36
|
-
}:
|
|
37
|
-
className?: string;
|
|
38
|
-
} & {
|
|
30
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Positioner> & {
|
|
39
31
|
ref?: React.Ref<HTMLDivElement>;
|
|
40
32
|
}): React.JSX.Element;
|
|
41
33
|
declare function Popup({
|
|
42
34
|
className,
|
|
43
35
|
ref,
|
|
44
36
|
...props
|
|
45
|
-
}:
|
|
46
|
-
className?: string;
|
|
47
|
-
} & {
|
|
37
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Popup> & {
|
|
48
38
|
ref?: React.Ref<HTMLDivElement>;
|
|
49
39
|
}): React.JSX.Element;
|
|
50
40
|
declare function List({
|
|
51
41
|
className,
|
|
52
42
|
ref,
|
|
53
43
|
...props
|
|
54
|
-
}:
|
|
55
|
-
className?: string;
|
|
56
|
-
} & {
|
|
44
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.List> & {
|
|
57
45
|
ref?: React.Ref<HTMLDivElement>;
|
|
58
46
|
}): React.JSX.Element;
|
|
59
47
|
declare function Item({
|
|
60
48
|
className,
|
|
61
49
|
ref,
|
|
62
50
|
...props
|
|
63
|
-
}:
|
|
64
|
-
className?: string;
|
|
65
|
-
} & {
|
|
51
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Item> & {
|
|
66
52
|
ref?: React.Ref<HTMLDivElement>;
|
|
67
53
|
}): React.JSX.Element;
|
|
68
54
|
declare function Empty({
|
|
69
55
|
className,
|
|
70
56
|
ref,
|
|
71
57
|
...props
|
|
72
|
-
}:
|
|
73
|
-
className?: string;
|
|
74
|
-
} & {
|
|
58
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Empty> & {
|
|
75
59
|
ref?: React.Ref<HTMLDivElement>;
|
|
76
60
|
}): React.JSX.Element;
|
|
77
61
|
declare function Status({
|
|
78
62
|
className,
|
|
79
63
|
ref,
|
|
80
64
|
...props
|
|
81
|
-
}:
|
|
82
|
-
className?: string;
|
|
83
|
-
} & {
|
|
65
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Status> & {
|
|
84
66
|
ref?: React.Ref<HTMLDivElement>;
|
|
85
67
|
}): React.JSX.Element;
|
|
86
68
|
declare function Group({
|
|
87
69
|
className,
|
|
88
70
|
ref,
|
|
89
71
|
...props
|
|
90
|
-
}:
|
|
91
|
-
className?: string;
|
|
92
|
-
} & {
|
|
72
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.Group> & {
|
|
93
73
|
ref?: React.Ref<HTMLDivElement>;
|
|
94
74
|
}): React.JSX.Element;
|
|
95
75
|
declare function GroupLabel({
|
|
96
76
|
className,
|
|
97
77
|
ref,
|
|
98
78
|
...props
|
|
99
|
-
}:
|
|
100
|
-
className?: string;
|
|
101
|
-
} & {
|
|
79
|
+
}: React.ComponentPropsWithRef<typeof Autocomplete$1.GroupLabel> & {
|
|
102
80
|
ref?: React.Ref<HTMLDivElement>;
|
|
103
81
|
}): React.JSX.Element;
|
|
104
82
|
/**
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
|
|
1
2
|
import "react";
|
|
2
3
|
import { jsx } from "react/jsx-runtime";
|
|
3
4
|
import { Autocomplete as Autocomplete$1 } from "@base-ui/react/autocomplete";
|
|
4
5
|
//#region src/components/Autocomplete.tsx
|
|
5
|
-
function Input({ className
|
|
6
|
-
const classes = ["autocomplete__input"
|
|
6
|
+
function Input({ className, ref, ...props }) {
|
|
7
|
+
const classes = mergeBaseClassName(["autocomplete__input"].filter(Boolean).join(" "), className);
|
|
7
8
|
return /* @__PURE__ */ jsx(Autocomplete$1.Input, {
|
|
8
9
|
ref,
|
|
9
10
|
"data-slot": "autocomplete-input",
|
|
@@ -11,8 +12,8 @@ function Input({ className = "", ref, ...props }) {
|
|
|
11
12
|
...props
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
|
-
function Trigger({ className
|
|
15
|
-
const classes = ["autocomplete__trigger"
|
|
15
|
+
function Trigger({ className, ref, ...props }) {
|
|
16
|
+
const classes = mergeBaseClassName(["autocomplete__trigger"].filter(Boolean).join(" "), className);
|
|
16
17
|
return /* @__PURE__ */ jsx(Autocomplete$1.Trigger, {
|
|
17
18
|
ref,
|
|
18
19
|
"data-slot": "autocomplete-trigger",
|
|
@@ -20,8 +21,8 @@ function Trigger({ className = "", ref, ...props }) {
|
|
|
20
21
|
...props
|
|
21
22
|
});
|
|
22
23
|
}
|
|
23
|
-
function Clear({ className
|
|
24
|
-
const classes = ["autocomplete__clear"
|
|
24
|
+
function Clear({ className, ref, ...props }) {
|
|
25
|
+
const classes = mergeBaseClassName(["autocomplete__clear"].filter(Boolean).join(" "), className);
|
|
25
26
|
return /* @__PURE__ */ jsx(Autocomplete$1.Clear, {
|
|
26
27
|
ref,
|
|
27
28
|
"data-slot": "autocomplete-clear",
|
|
@@ -29,12 +30,8 @@ function Clear({ className = "", ref, ...props }) {
|
|
|
29
30
|
...props
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
|
-
function Positioner({ className
|
|
33
|
-
const classes = [
|
|
34
|
-
"autocomplete__positioner",
|
|
35
|
-
"base-ui-positioner",
|
|
36
|
-
className
|
|
37
|
-
].filter(Boolean).join(" ");
|
|
33
|
+
function Positioner({ className, ref, ...props }) {
|
|
34
|
+
const classes = mergeBaseClassName(["autocomplete__positioner", "base-ui-positioner"].filter(Boolean).join(" "), className);
|
|
38
35
|
return /* @__PURE__ */ jsx(Autocomplete$1.Positioner, {
|
|
39
36
|
ref,
|
|
40
37
|
"data-slot": "autocomplete-positioner",
|
|
@@ -42,12 +39,8 @@ function Positioner({ className = "", ref, ...props }) {
|
|
|
42
39
|
...props
|
|
43
40
|
});
|
|
44
41
|
}
|
|
45
|
-
function Popup({ className
|
|
46
|
-
const classes = [
|
|
47
|
-
"autocomplete__popup",
|
|
48
|
-
"base-ui-popup",
|
|
49
|
-
className
|
|
50
|
-
].filter(Boolean).join(" ");
|
|
42
|
+
function Popup({ className, ref, ...props }) {
|
|
43
|
+
const classes = mergeBaseClassName(["autocomplete__popup", "base-ui-popup"].filter(Boolean).join(" "), className);
|
|
51
44
|
return /* @__PURE__ */ jsx(Autocomplete$1.Popup, {
|
|
52
45
|
ref,
|
|
53
46
|
"data-slot": "autocomplete-content",
|
|
@@ -55,8 +48,8 @@ function Popup({ className = "", ref, ...props }) {
|
|
|
55
48
|
...props
|
|
56
49
|
});
|
|
57
50
|
}
|
|
58
|
-
function List({ className
|
|
59
|
-
const classes = ["autocomplete__list"
|
|
51
|
+
function List({ className, ref, ...props }) {
|
|
52
|
+
const classes = mergeBaseClassName(["autocomplete__list"].filter(Boolean).join(" "), className);
|
|
60
53
|
return /* @__PURE__ */ jsx(Autocomplete$1.List, {
|
|
61
54
|
ref,
|
|
62
55
|
"data-slot": "autocomplete-list",
|
|
@@ -64,8 +57,8 @@ function List({ className = "", ref, ...props }) {
|
|
|
64
57
|
...props
|
|
65
58
|
});
|
|
66
59
|
}
|
|
67
|
-
function Item({ className
|
|
68
|
-
const classes = ["autocomplete__item"
|
|
60
|
+
function Item({ className, ref, ...props }) {
|
|
61
|
+
const classes = mergeBaseClassName(["autocomplete__item"].filter(Boolean).join(" "), className);
|
|
69
62
|
return /* @__PURE__ */ jsx(Autocomplete$1.Item, {
|
|
70
63
|
ref,
|
|
71
64
|
"data-slot": "autocomplete-item",
|
|
@@ -73,8 +66,8 @@ function Item({ className = "", ref, ...props }) {
|
|
|
73
66
|
...props
|
|
74
67
|
});
|
|
75
68
|
}
|
|
76
|
-
function Empty({ className
|
|
77
|
-
const classes = ["autocomplete__empty"
|
|
69
|
+
function Empty({ className, ref, ...props }) {
|
|
70
|
+
const classes = mergeBaseClassName(["autocomplete__empty"].filter(Boolean).join(" "), className);
|
|
78
71
|
return /* @__PURE__ */ jsx(Autocomplete$1.Empty, {
|
|
79
72
|
ref,
|
|
80
73
|
"data-slot": "autocomplete-empty",
|
|
@@ -82,8 +75,8 @@ function Empty({ className = "", ref, ...props }) {
|
|
|
82
75
|
...props
|
|
83
76
|
});
|
|
84
77
|
}
|
|
85
|
-
function Status({ className
|
|
86
|
-
const classes = ["autocomplete__status"
|
|
78
|
+
function Status({ className, ref, ...props }) {
|
|
79
|
+
const classes = mergeBaseClassName(["autocomplete__status"].filter(Boolean).join(" "), className);
|
|
87
80
|
return /* @__PURE__ */ jsx(Autocomplete$1.Status, {
|
|
88
81
|
ref,
|
|
89
82
|
"data-slot": "autocomplete-status",
|
|
@@ -91,8 +84,8 @@ function Status({ className = "", ref, ...props }) {
|
|
|
91
84
|
...props
|
|
92
85
|
});
|
|
93
86
|
}
|
|
94
|
-
function Group({ className
|
|
95
|
-
const classes = ["autocomplete__group"
|
|
87
|
+
function Group({ className, ref, ...props }) {
|
|
88
|
+
const classes = mergeBaseClassName(["autocomplete__group"].filter(Boolean).join(" "), className);
|
|
96
89
|
return /* @__PURE__ */ jsx(Autocomplete$1.Group, {
|
|
97
90
|
ref,
|
|
98
91
|
"data-slot": "autocomplete-group",
|
|
@@ -100,8 +93,8 @@ function Group({ className = "", ref, ...props }) {
|
|
|
100
93
|
...props
|
|
101
94
|
});
|
|
102
95
|
}
|
|
103
|
-
function GroupLabel({ className
|
|
104
|
-
const classes = ["autocomplete__group-label"
|
|
96
|
+
function GroupLabel({ className, ref, ...props }) {
|
|
97
|
+
const classes = mergeBaseClassName(["autocomplete__group-label"].filter(Boolean).join(" "), className);
|
|
105
98
|
return /* @__PURE__ */ jsx(Autocomplete$1.GroupLabel, {
|
|
106
99
|
ref,
|
|
107
100
|
"data-slot": "autocomplete-group-label",
|
|
@@ -5,25 +5,17 @@ import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the Avatar.Root component.
|
|
7
7
|
*/
|
|
8
|
-
interface AvatarRootProps extends
|
|
9
|
-
/** Additional CSS class names */
|
|
10
|
-
className?: string;
|
|
8
|
+
interface AvatarRootProps extends React.ComponentPropsWithoutRef<typeof Avatar$1.Root> {
|
|
11
9
|
size?: "default" | "sm" | "lg";
|
|
12
10
|
}
|
|
13
11
|
/**
|
|
14
12
|
* Props for the Avatar.Image component.
|
|
15
13
|
*/
|
|
16
|
-
interface AvatarImageProps extends
|
|
17
|
-
/** Additional CSS class names */
|
|
18
|
-
className?: string;
|
|
19
|
-
}
|
|
14
|
+
interface AvatarImageProps extends React.ComponentPropsWithoutRef<typeof Avatar$1.Image> {}
|
|
20
15
|
/**
|
|
21
16
|
* Props for the Avatar.Fallback component.
|
|
22
17
|
*/
|
|
23
|
-
interface AvatarFallbackProps extends
|
|
24
|
-
/** Additional CSS class names */
|
|
25
|
-
className?: string;
|
|
26
|
-
}
|
|
18
|
+
interface AvatarFallbackProps extends React.ComponentPropsWithoutRef<typeof Avatar$1.Fallback> {}
|
|
27
19
|
interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
28
20
|
interface AvatarGroupCountProps extends React.HTMLAttributes<HTMLDivElement> {}
|
|
29
21
|
interface AvatarBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { n as mergeBaseClassName } from "../class-names-Bk-QLWWI.js";
|
|
1
2
|
import "react";
|
|
2
3
|
import { jsx } from "react/jsx-runtime";
|
|
3
4
|
import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
|
|
@@ -15,8 +16,8 @@ import { Avatar as Avatar$1 } from "@base-ui/react/avatar";
|
|
|
15
16
|
*
|
|
16
17
|
* @see {@link https://base-ui.com/react/components/avatar | Base UI Avatar}
|
|
17
18
|
*/
|
|
18
|
-
function AvatarRoot({ className
|
|
19
|
-
const classes = ["avatar"
|
|
19
|
+
function AvatarRoot({ className, size = "default", ref, ...props }) {
|
|
20
|
+
const classes = mergeBaseClassName(["avatar"].filter(Boolean).join(" "), className);
|
|
20
21
|
return /* @__PURE__ */ jsx(Avatar$1.Root, {
|
|
21
22
|
ref,
|
|
22
23
|
"data-slot": "avatar",
|
|
@@ -28,8 +29,8 @@ function AvatarRoot({ className = "", size = "default", ref, ...props }) {
|
|
|
28
29
|
/**
|
|
29
30
|
* Displays the avatar image. Renders an `<img>` element.
|
|
30
31
|
*/
|
|
31
|
-
function AvatarImage({ className
|
|
32
|
-
const classes = ["avatar__image"
|
|
32
|
+
function AvatarImage({ className, ref, ...props }) {
|
|
33
|
+
const classes = mergeBaseClassName(["avatar__image"].filter(Boolean).join(" "), className);
|
|
33
34
|
return /* @__PURE__ */ jsx(Avatar$1.Image, {
|
|
34
35
|
ref,
|
|
35
36
|
"data-slot": "avatar-image",
|
|
@@ -41,8 +42,8 @@ function AvatarImage({ className = "", ref, ...props }) {
|
|
|
41
42
|
* Displays when the image fails to load or isn't provided.
|
|
42
43
|
* Typically contains initials or an icon. Renders a `<span>` element.
|
|
43
44
|
*/
|
|
44
|
-
function AvatarFallback({ className
|
|
45
|
-
const classes = ["avatar__fallback"
|
|
45
|
+
function AvatarFallback({ className, ref, ...props }) {
|
|
46
|
+
const classes = mergeBaseClassName(["avatar__fallback"].filter(Boolean).join(" "), className);
|
|
46
47
|
return /* @__PURE__ */ jsx(Avatar$1.Fallback, {
|
|
47
48
|
ref,
|
|
48
49
|
"data-slot": "avatar-fallback",
|
|
@@ -50,27 +51,27 @@ function AvatarFallback({ className = "", ref, ...props }) {
|
|
|
50
51
|
...props
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
|
-
function AvatarGroup({ className
|
|
54
|
+
function AvatarGroup({ className, ref, ...props }) {
|
|
54
55
|
return /* @__PURE__ */ jsx("div", {
|
|
55
56
|
ref,
|
|
56
57
|
"data-slot": "avatar-group",
|
|
57
|
-
className: ["avatar-group"
|
|
58
|
+
className: mergeBaseClassName(["avatar-group"].filter(Boolean).join(" "), className),
|
|
58
59
|
...props
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
|
-
function AvatarGroupCount({ className
|
|
62
|
+
function AvatarGroupCount({ className, ref, ...props }) {
|
|
62
63
|
return /* @__PURE__ */ jsx("div", {
|
|
63
64
|
ref,
|
|
64
65
|
"data-slot": "avatar-group-count",
|
|
65
|
-
className: ["avatar-group__count"
|
|
66
|
+
className: mergeBaseClassName(["avatar-group__count"].filter(Boolean).join(" "), className),
|
|
66
67
|
...props
|
|
67
68
|
});
|
|
68
69
|
}
|
|
69
|
-
function AvatarBadge({ className
|
|
70
|
+
function AvatarBadge({ className, ref, ...props }) {
|
|
70
71
|
return /* @__PURE__ */ jsx("span", {
|
|
71
72
|
ref,
|
|
72
73
|
"data-slot": "avatar-badge",
|
|
73
|
-
className: ["avatar__badge"
|
|
74
|
+
className: mergeBaseClassName(["avatar__badge"].filter(Boolean).join(" "), className),
|
|
74
75
|
...props
|
|
75
76
|
});
|
|
76
77
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-Bk-QLWWI.js";
|
|
2
|
+
import { T as MaximizeIcon, V as SpinnerIcon } from "../icons--FqCZEc3.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { Dialog } from "./Dialog.js";
|
|
5
5
|
import { Badge } from "./Badge.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as cx } from "../class-names-
|
|
2
|
-
import {
|
|
1
|
+
import { t as cx } from "../class-names-Bk-QLWWI.js";
|
|
2
|
+
import { F as PlayIcon, N as PauseIcon } from "../icons--FqCZEc3.js";
|
|
3
3
|
import { Button } from "./Button.js";
|
|
4
4
|
import { Slider } from "./Slider.js";
|
|
5
5
|
import * as React from "react";
|