@mcp-b/react-components 0.39.0 → 0.41.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-CVO7xyLC.d.ts → AgentChat-DVr2giwD.d.ts} +1 -1
- package/dist/{AgentToolRunsContext-BCVqCtJ1.d.ts → AgentToolRunsContext-daY67hFM.d.ts} +12 -0
- package/dist/AppTopBar-ZdgmB_Lu.d.ts +97 -0
- package/dist/{CodeBlock-DO4Hdu1R.js → CodeBlock-BjELA-_s.js} +1 -1
- package/dist/{FileTree-DbQMpvxV.js → FileTree-DMYRdT6R.js} +1 -1
- package/dist/McpConnectorForm-MRm1r59e.d.ts +39 -0
- package/dist/{Message-DBsHHhcM.d.ts → Message-D_vCVEGB.d.ts} +20 -1
- package/dist/{ThinkChatActivity-D6-_5Phw.d.ts → ThinkChatActivity-DyGHj01E.d.ts} +1 -1
- package/dist/{ThinkExecutionRun-lYYgyeE1.d.ts → ThinkExecutionRun-k8bpyXqt.d.ts} +3 -3
- package/dist/Toolbar-CBOseBQr.d.ts +152 -0
- package/dist/{WorkspaceFileView-D0r7xnq5.js → WorkspaceFileView-D0yFwoDr.js} +3 -3
- package/dist/{WorkspaceMessageResponse-Cy28WGSz.d.ts → WorkspaceMessageResponse-D66ty4FO.d.ts} +1 -1
- package/dist/components/agents-sdk/AgentActivity.js +1 -1
- package/dist/components/agents-sdk/AgentChat.d.ts +1 -1
- package/dist/components/agents-sdk/AgentChat.js +41 -18
- package/dist/components/agents-sdk/AgentToolRunsContext.d.ts +1 -1
- package/dist/components/agents-sdk/AgentToolRunsContext.js +12 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.d.ts +135 -0
- package/dist/components/agents-sdk/BrowserLiveScreen.js +637 -0
- package/dist/components/agents-sdk/BrowserLiveView.d.ts +2 -2
- package/dist/components/agents-sdk/BrowserLiveView.js +6 -9
- package/dist/components/agents-sdk/BrowserReplay.js +1 -1
- package/dist/components/agents-sdk/BrowserRunPanel.d.ts +72 -25
- package/dist/components/agents-sdk/BrowserRunPanel.js +111 -70
- package/dist/components/agents-sdk/ManagerOffice.d.ts +156 -0
- package/dist/components/agents-sdk/ManagerOffice.js +662 -0
- package/dist/components/agents-sdk/McpConnectionRequest.js +3 -3
- package/dist/components/agents-sdk/McpConnectorForm.d.ts +1 -38
- package/dist/components/agents-sdk/McpPluginCatalog.d.ts +8 -2
- package/dist/components/agents-sdk/McpPluginCatalog.js +79 -61
- package/dist/components/agents-sdk/McpServerPicker.d.ts +1 -1
- package/dist/components/agents-sdk/McpServerPicker.js +2 -2
- package/dist/components/agents-sdk/ModelSelector.js +1 -1
- package/dist/components/agents-sdk/PromptInputCommands.js +1 -1
- package/dist/components/agents-sdk/SubagentRunDetails.d.ts +1 -9
- package/dist/components/agents-sdk/SubagentRunDetails.js +1 -9
- package/dist/components/agents-sdk/SubagentRunIndicator.js +1 -1
- package/dist/components/agents-sdk/SubagentRunSelector.d.ts +4 -2
- package/dist/components/agents-sdk/SubagentRunSelector.js +7 -6
- package/dist/components/agents-sdk/ThinkChat.d.ts +4 -4
- package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkChatToolPanels.js +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionDetail.js +43 -43
- package/dist/components/agents-sdk/ThinkExecutionRun.d.ts +2 -2
- package/dist/components/agents-sdk/ThinkExecutionRun.js +5 -6
- package/dist/components/agents-sdk/ThinkExecutionStatus.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkExecutionStatus.js +8 -12
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.d.ts +8 -1
- package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +43 -38
- package/dist/components/agents-sdk/ThinkFullApp.d.ts +18 -6
- package/dist/components/agents-sdk/ThinkFullApp.js +112 -144
- package/dist/components/agents-sdk/ThinkRoutine.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineBrowser.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineDetail.js +4 -15
- package/dist/components/agents-sdk/ThinkRoutineForm.js +1 -1
- package/dist/components/agents-sdk/ThinkRoutineLibrary.js +69 -89
- package/dist/components/agents-sdk/ThinkRoutineRuns.d.ts +1 -1
- package/dist/components/agents-sdk/ThinkRoutineRuns.js +3 -10
- package/dist/components/agents-sdk/ThinkThreadPicker.js +1 -1
- package/dist/components/agents-sdk/WorkspaceBrowser.js +1 -1
- package/dist/components/agents-sdk/WorkspaceExplorer.js +1 -1
- package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
- package/dist/components/agents-sdk/WorkspaceHeader.js +2 -1
- package/dist/components/agents-sdk/WorkspaceMessageResponse.d.ts +1 -1
- package/dist/components/agents-sdk/WorkspaceMountManager.js +11 -11
- package/dist/components/ai-sdk/Activity.js +1 -1
- package/dist/components/ai-sdk/AgentAttention.d.ts +1 -1
- package/dist/components/ai-sdk/AgentChatStartScreen.js +1 -1
- package/dist/components/ai-sdk/Approval.js +1 -1
- package/dist/components/ai-sdk/Artifact.js +1 -1
- package/dist/components/ai-sdk/ChainOfThought.d.ts +1 -1
- package/dist/components/ai-sdk/ChainOfThought.js +1 -1
- package/dist/components/ai-sdk/Checkpoint.js +1 -1
- package/dist/components/ai-sdk/CodeBlock.js +1 -1
- package/dist/components/ai-sdk/Conversation.js +1 -1
- package/dist/components/ai-sdk/Goal.js +1 -1
- package/dist/components/ai-sdk/MediaPreviewCard.js +1 -1
- package/dist/components/ai-sdk/Message.d.ts +2 -2
- package/dist/components/ai-sdk/Message.js +25 -3
- package/dist/components/ai-sdk/MessageScroller.js +1 -1
- package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -1
- package/dist/components/ai-sdk/Plan.js +1 -1
- package/dist/components/ai-sdk/PromptInput.js +1 -1
- package/dist/components/ai-sdk/Queue.d.ts +4 -4
- package/dist/components/ai-sdk/Queue.js +6 -15
- package/dist/components/ai-sdk/Reasoning.js +1 -1
- package/dist/components/ai-sdk/Sources.js +1 -1
- package/dist/components/ai-sdk/Task.d.ts +2 -2
- package/dist/components/ai-sdk/Task.js +2 -2
- package/dist/components/extension/ChatGptSignInScreen.d.ts +21 -10
- package/dist/components/extension/ChatGptSignInScreen.js +42 -34
- package/dist/components/extension/CodexModelSelector.js +1 -1
- package/dist/components/extension/ConversationTabPicker.js +1 -1
- package/dist/components/foundations/Avatar.d.ts +1 -10
- package/dist/components/foundations/Avatar.js +1 -10
- package/dist/components/foundations/Checkbox.js +1 -1
- package/dist/components/foundations/CheckboxGroup.js +1 -0
- package/dist/components/foundations/ContextMenu.js +1 -1
- package/dist/components/foundations/LinkButton.d.ts +12 -10
- package/dist/components/foundations/LinkButton.js +15 -11
- package/dist/components/foundations/Menubar.js +1 -1
- package/dist/components/foundations/SearchField.js +1 -1
- package/dist/components/foundations/Select.js +1 -1
- package/dist/components/foundations/Stepper.js +1 -1
- package/dist/components/foundations/Toast.js +1 -1
- package/dist/components/foundations/Toolbar.d.ts +1 -151
- package/dist/components/foundations/icons.d.ts +2 -2
- package/dist/components/foundations/icons.js +2 -2
- package/dist/components/general-purpose/AppTopBar.d.ts +1 -90
- package/dist/components/general-purpose/AppTopBar.js +2 -1
- package/dist/components/general-purpose/Commit.d.ts +2 -2
- package/dist/components/general-purpose/Commit.js +5 -13
- package/dist/components/general-purpose/EnvironmentVariables.d.ts +2 -2
- package/dist/components/general-purpose/EnvironmentVariables.js +4 -7
- package/dist/components/general-purpose/FileTree.js +1 -1
- package/dist/components/general-purpose/PricingBillingToggle.js +4 -9
- package/dist/components/general-purpose/PricingPlanCard.js +15 -14
- package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +95 -2
- package/dist/components/general-purpose/ResponsiveSidebarShell.js +90 -34
- package/dist/components/general-purpose/SetupChecklist.js +1 -1
- package/dist/components/general-purpose/Terminal.d.ts +1 -1
- package/dist/components/general-purpose/Terminal.js +4 -12
- package/dist/components/general-purpose/TestResults.d.ts +1 -1
- package/dist/components/general-purpose/TestResults.js +8 -21
- package/dist/components/general-purpose/ThemeModeControl.js +1 -1
- package/dist/components/general-purpose/WebPreview.d.ts +1 -1
- package/dist/components/general-purpose/WebPreview.js +4 -12
- package/dist/components/nanites/AgentConnection.js +2 -2
- package/dist/components/nanites/AgentToolDetail.d.ts +1 -1
- package/dist/components/nanites/AgentToolDetail.js +7 -7
- package/dist/components/nanites/NaniteScene.js +11 -11
- package/dist/{copy-button-4YvddK4e.js → copy-button-lys9N_aI.js} +1 -1
- package/dist/{icons-BGZ916hb.d.ts → icons-0corjfxR.d.ts} +6 -16
- package/dist/{icons-B4mGvCvc.js → icons-CVFSeTJn.js} +3 -5
- package/dist/styles/agent-attention.css +5 -5
- package/dist/styles/agent-chat.css +47 -12
- package/dist/styles/agent-tool-detail.css +2 -12
- package/dist/styles/app-icon.css +12 -18
- package/dist/styles/app-top-bar.css +32 -6
- package/dist/styles/avatar.css +6 -22
- package/dist/styles/base.css +2 -8
- package/dist/styles/browser-live-screen.css +38 -0
- package/dist/styles/browser-live-view.css +12 -4
- package/dist/styles/browser-run-panel.css +20 -16
- package/dist/styles/chatgpt-sign-in-screen.css +11 -5
- package/dist/styles/commit.css +24 -1
- package/dist/styles/environment-variables.css +3 -0
- package/dist/styles/index.css +5 -4
- package/dist/styles/manager-office.css +486 -0
- package/dist/styles/mcp-plugin-catalog.css +39 -35
- package/dist/styles/mcp-server-picker.css +1 -1
- package/dist/styles/message.css +41 -18
- package/dist/styles/nanite-scene.css +9 -9
- package/dist/styles/pricing-page.css +12 -8
- package/dist/styles/prompt-input.css +8 -13
- package/dist/styles/recipes.css +1 -57
- package/dist/styles/responsive-sidebar-shell.css +70 -20
- package/dist/styles/subagent-run.css +20 -3
- package/dist/styles/terminal.css +19 -0
- package/dist/styles/test-results.css +10 -1
- package/dist/styles/think-execution-status.css +8 -24
- package/dist/styles/think-execution-workbench.css +98 -105
- package/dist/styles/think-full-app.css +81 -185
- package/dist/styles/think-routine-library.css +0 -40
- package/dist/styles/think-thread-picker.css +8 -3
- package/dist/styles/transition-surface.css +7 -8
- package/dist/styles/utilities.css +42 -0
- package/dist/styles/web-preview.css +28 -5
- package/dist/styles/workspace-explorer.css +4 -23
- package/dist/styles/workspace-mount-manager.css +22 -0
- package/package.json +37 -35
- package/dist/ResponsiveSidebarShell-DWjULskY.d.ts +0 -68
- package/dist/components/agents-sdk/AgentActivityPreview.d.ts +0 -46
- package/dist/components/agents-sdk/AgentActivityPreview.js +0 -93
- package/dist/components/agents-sdk/ThinkThreadShell.d.ts +0 -38
- package/dist/components/agents-sdk/ThinkThreadShell.js +0 -27
- package/dist/components/foundations/Badge.d.ts +0 -62
- package/dist/components/foundations/Badge.js +0 -55
- package/dist/components/foundations/StatusPill.d.ts +0 -43
- package/dist/components/foundations/StatusPill.js +0 -35
- package/dist/components/general-purpose/Shell.d.ts +0 -149
- package/dist/components/general-purpose/Shell.js +0 -116
- package/dist/styles/agent-activity-preview-overlay.css +0 -169
- package/dist/styles/agent-activity-preview.css +0 -209
- package/dist/styles/badge.css +0 -120
- package/dist/styles/shell.css +0 -122
- package/dist/styles/status-pill.css +0 -39
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon,
|
|
1
|
+
import { $ as WarningIcon, A as MessageSquareIcon, B as PlusIcon, C as FolderIcon, D as LinkIcon, E as KeyboardIcon, F as MoveToFrontIcon, G as SlackIcon, H as RefreshIcon, I as PaperclipIcon, J as StopIcon, K as SpinnerIcon, L as PauseIcon, M as MinusIcon, N as MonitorIcon, O as MaximizeIcon, P as MoonIcon, Q as TrashIcon, R as PencilIcon, S as FileIcon, T as InfoIcon, U as SearchIcon, V as QueueIcon, W as SidebarIcon, X as TargetIcon, Y as SunIcon, Z as TerminalIcon, _ as DotIcon, a as ArrowUpIcon, b as EyeIcon, c as BoxIcon, d as CheckIcon, et as WrenchIcon, f as ChevronDownIcon, g as DiscordIcon, h as CopyIcon, i as ArrowRightIcon, j as MicrophoneIcon, k as McpIcon, l as BrainIcon, m as CodeIcon, n as ArrowDownIcon, o as ArrowUpRightIcon, p as ChevronRightIcon, q as SquareIcon, r as ArrowLeftIcon, s as BookmarkIcon, t as ArchiveIcon, tt as XIcon, u as CalendarIcon, v as DownloadIcon, w as FolderOpenIcon, x as EyeOffIcon, y as EllipsisIcon, z as PlayIcon } from "../../icons-CVFSeTJn.js";
|
|
2
|
+
export { ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArrowUpRightIcon, BookmarkIcon, BoxIcon, BrainIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, CodeIcon, CopyIcon, DiscordIcon, DotIcon, DownloadIcon, EllipsisIcon, EyeIcon, EyeOffIcon, FileIcon, FolderIcon, FolderOpenIcon, InfoIcon, KeyboardIcon, LinkIcon, MaximizeIcon, McpIcon, MessageSquareIcon, MicrophoneIcon, MinusIcon, MonitorIcon, MoonIcon, MoveToFrontIcon, PaperclipIcon, PauseIcon, PencilIcon, PlayIcon, PlusIcon, QueueIcon, RefreshIcon, SearchIcon, SidebarIcon, SlackIcon, SpinnerIcon, SquareIcon, StopIcon, SunIcon, TargetIcon, TerminalIcon, TrashIcon, WarningIcon, WrenchIcon, XIcon };
|
|
@@ -1,91 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
-
|
|
5
|
-
//#region src/components/general-purpose/AppTopBar.d.ts
|
|
6
|
-
interface AppTopBarRootProps extends React.ComponentPropsWithoutRef<typeof Toolbar.Root> {
|
|
7
|
-
/** Accessible name describing the controls in this application bar. */
|
|
8
|
-
"aria-label": string;
|
|
9
|
-
}
|
|
10
|
-
interface AppTopBarGroupProps extends ToolbarGroupProps {}
|
|
11
|
-
interface AppTopBarTitleProps extends useRender.ComponentProps<"div"> {}
|
|
12
|
-
interface AppTopBarButtonProps extends Omit<ToolbarButtonProps, "aria-label"> {
|
|
13
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
14
|
-
/** Accessible name and default tooltip text for the icon-only control. */
|
|
15
|
-
label: string;
|
|
16
|
-
/** Tooltip text when it should differ from the accessible name. */
|
|
17
|
-
tooltip?: React.ReactNode;
|
|
18
|
-
}
|
|
19
|
-
interface AppTopBarLinkProps extends Omit<ToolbarLinkProps, "aria-label"> {
|
|
20
|
-
ref?: React.Ref<HTMLAnchorElement>;
|
|
21
|
-
/** Accessible name and default tooltip text for the icon-only link. */
|
|
22
|
-
label: string;
|
|
23
|
-
/** Tooltip text when it should differ from the accessible name. */
|
|
24
|
-
tooltip?: React.ReactNode;
|
|
25
|
-
}
|
|
26
|
-
interface AppTopBarControlProps extends ToolbarButtonProps {
|
|
27
|
-
ref?: React.Ref<HTMLButtonElement>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Stable application-level toolbar with composable leading, title, and trailing
|
|
31
|
-
* slots. Descendant buttons share Base UI's roving focus and tooltip provider.
|
|
32
|
-
*/
|
|
33
|
-
declare function AppTopBarRoot({
|
|
34
|
-
children,
|
|
35
|
-
className,
|
|
36
|
-
...props
|
|
37
|
-
}: AppTopBarRootProps): React.JSX.Element;
|
|
38
|
-
declare function AppTopBarLeading({
|
|
39
|
-
className,
|
|
40
|
-
...props
|
|
41
|
-
}: AppTopBarGroupProps): React.JSX.Element;
|
|
42
|
-
declare function AppTopBarTitle({
|
|
43
|
-
className,
|
|
44
|
-
render,
|
|
45
|
-
ref,
|
|
46
|
-
...props
|
|
47
|
-
}: AppTopBarTitleProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
48
|
-
declare function AppTopBarTrailing({
|
|
49
|
-
className,
|
|
50
|
-
...props
|
|
51
|
-
}: AppTopBarGroupProps): React.JSX.Element;
|
|
52
|
-
declare function AppTopBarControl({
|
|
53
|
-
className,
|
|
54
|
-
...props
|
|
55
|
-
}: AppTopBarControlProps): React.JSX.Element;
|
|
56
|
-
declare function AppTopBarButton({
|
|
57
|
-
children,
|
|
58
|
-
className,
|
|
59
|
-
disabled,
|
|
60
|
-
label,
|
|
61
|
-
render,
|
|
62
|
-
tooltip,
|
|
63
|
-
...props
|
|
64
|
-
}: AppTopBarButtonProps): React.JSX.Element;
|
|
65
|
-
declare function AppTopBarLink({
|
|
66
|
-
children,
|
|
67
|
-
className,
|
|
68
|
-
label,
|
|
69
|
-
render,
|
|
70
|
-
tooltip,
|
|
71
|
-
...props
|
|
72
|
-
}: AppTopBarLinkProps): React.JSX.Element;
|
|
73
|
-
/**
|
|
74
|
-
* Composable application top bar with stable leading, title, and trailing
|
|
75
|
-
* slots. Icon controls use shared Toolbar roving focus and coordinated Tooltip
|
|
76
|
-
* behavior; their fixed slots do not resize when state icons change. Render an
|
|
77
|
-
* existing behavior-rich button through `Control` to retain those toolbar
|
|
78
|
-
* semantics without rebuilding the control. Use `Link` for navigation so an
|
|
79
|
-
* `href` or router-provided link keeps native link semantics.
|
|
80
|
-
*/
|
|
81
|
-
declare const AppTopBar: {
|
|
82
|
-
Root: typeof AppTopBarRoot;
|
|
83
|
-
Leading: typeof AppTopBarLeading;
|
|
84
|
-
Title: typeof AppTopBarTitle;
|
|
85
|
-
Trailing: typeof AppTopBarTrailing;
|
|
86
|
-
Control: typeof AppTopBarControl;
|
|
87
|
-
Button: typeof AppTopBarButton;
|
|
88
|
-
Link: typeof AppTopBarLink;
|
|
89
|
-
};
|
|
90
|
-
//#endregion
|
|
1
|
+
import { a as AppTopBarLinkProps, i as AppTopBarGroupProps, n as AppTopBarButtonProps, o as AppTopBarRootProps, r as AppTopBarControlProps, s as AppTopBarTitleProps, t as AppTopBar } from "../../AppTopBar-ZdgmB_Lu.js";
|
|
91
2
|
export { AppTopBar, AppTopBarButtonProps, AppTopBarControlProps, AppTopBarGroupProps, AppTopBarLinkProps, AppTopBarRootProps, AppTopBarTitleProps };
|
|
@@ -10,9 +10,10 @@ import { useRender } from "@base-ui/react/use-render";
|
|
|
10
10
|
* Stable application-level toolbar with composable leading, title, and trailing
|
|
11
11
|
* slots. Descendant buttons share Base UI's roving focus and tooltip provider.
|
|
12
12
|
*/
|
|
13
|
-
function AppTopBarRoot({ children, className, ...props }) {
|
|
13
|
+
function AppTopBarRoot({ children, className, titleAlign = "center", ...props }) {
|
|
14
14
|
return /* @__PURE__ */ jsx(Tooltip.Provider, { children: /* @__PURE__ */ jsx(Toolbar.Root, {
|
|
15
15
|
className: mergeBaseClassName("app-top-bar", className),
|
|
16
|
+
"data-title-align": titleAlign,
|
|
16
17
|
...props,
|
|
17
18
|
children
|
|
18
19
|
}) });
|
|
@@ -13,7 +13,7 @@ interface CommitProps extends Omit<React.ComponentProps<typeof Collapsible.Root>
|
|
|
13
13
|
* summaries with expandable file details. Do not use it as a generic
|
|
14
14
|
* accordion; use Collapsible or Accordion directly.
|
|
15
15
|
*
|
|
16
|
-
* Styling consumes Sigvelo surface, border, spacing, radius,
|
|
16
|
+
* Styling consumes Sigvelo surface, border, spacing, radius, status, and focus
|
|
17
17
|
* tokens. Add shared metadata/file affordances here instead of forking commit
|
|
18
18
|
* cards in apps.
|
|
19
19
|
*
|
|
@@ -190,7 +190,7 @@ declare function CommitFile({
|
|
|
190
190
|
}: CommitFileProps & {
|
|
191
191
|
ref?: React.Ref<HTMLLIElement>;
|
|
192
192
|
}): React.JSX.Element;
|
|
193
|
-
interface CommitFileStatusProps extends
|
|
193
|
+
interface CommitFileStatusProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
194
194
|
status: CommitFileStatusValue;
|
|
195
195
|
}
|
|
196
196
|
declare function CommitFileStatus({
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
2
|
import { Collapsible } from "../foundations/Collapsible.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CopyButton } from "../../copy-button-
|
|
5
|
-
import { Badge } from "../foundations/Badge.js";
|
|
3
|
+
import { S as FileIcon, p as ChevronRightIcon } from "../../icons-CVFSeTJn.js";
|
|
4
|
+
import { t as CopyButton } from "../../copy-button-lys9N_aI.js";
|
|
6
5
|
import { Avatar } from "../foundations/Avatar.js";
|
|
7
6
|
import "react";
|
|
8
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
8
|
//#region src/components/general-purpose/Commit.tsx
|
|
10
|
-
const FILE_STATUS_COLOR = {
|
|
11
|
-
added: "success",
|
|
12
|
-
modified: "warning",
|
|
13
|
-
deleted: "destructive",
|
|
14
|
-
renamed: "primary"
|
|
15
|
-
};
|
|
16
9
|
const FILE_STATUS_LABEL = {
|
|
17
10
|
added: "A",
|
|
18
11
|
modified: "M",
|
|
@@ -27,7 +20,7 @@ const FILE_STATUS_LABEL = {
|
|
|
27
20
|
* summaries with expandable file details. Do not use it as a generic
|
|
28
21
|
* accordion; use Collapsible or Accordion directly.
|
|
29
22
|
*
|
|
30
|
-
* Styling consumes Sigvelo surface, border, spacing, radius,
|
|
23
|
+
* Styling consumes Sigvelo surface, border, spacing, radius, status, and focus
|
|
31
24
|
* tokens. Add shared metadata/file affordances here instead of forking commit
|
|
32
25
|
* cards in apps.
|
|
33
26
|
*
|
|
@@ -197,12 +190,11 @@ function CommitFile({ className, children, ref, ...props }) {
|
|
|
197
190
|
});
|
|
198
191
|
}
|
|
199
192
|
function CommitFileStatus({ className, status, ref, ...props }) {
|
|
200
|
-
return /* @__PURE__ */ jsx(
|
|
193
|
+
return /* @__PURE__ */ jsx("span", {
|
|
201
194
|
...props,
|
|
202
195
|
ref,
|
|
203
|
-
color: FILE_STATUS_COLOR[status],
|
|
204
|
-
size: "sm",
|
|
205
196
|
className: cx("commit__file-status", className),
|
|
197
|
+
"data-status": status,
|
|
206
198
|
"aria-label": status,
|
|
207
199
|
children: FILE_STATUS_LABEL[status]
|
|
208
200
|
});
|
|
@@ -22,7 +22,7 @@ interface EnvironmentVariablesProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
22
22
|
* environment keys and copyable values. Do not treat masking as a security
|
|
23
23
|
* boundary; do not render secrets for users who are not allowed to see them.
|
|
24
24
|
*
|
|
25
|
-
* Sigvelo changes: composes
|
|
25
|
+
* Sigvelo changes: composes Button, Switch, and Tooltip; maps copy and
|
|
26
26
|
* reveal controls to Sigvelo CSS tokens; keeps masking local to the component.
|
|
27
27
|
*
|
|
28
28
|
* Values need visible labels and copy buttons need accessible labels. Styling
|
|
@@ -156,7 +156,7 @@ declare function EnvironmentVariableCopyButton({
|
|
|
156
156
|
timeout,
|
|
157
157
|
...props
|
|
158
158
|
}: EnvironmentVariableCopyButtonProps): React.JSX.Element;
|
|
159
|
-
interface EnvironmentVariableRequiredProps extends
|
|
159
|
+
interface EnvironmentVariableRequiredProps extends React.HTMLAttributes<HTMLSpanElement> {}
|
|
160
160
|
declare function EnvironmentVariableRequired({
|
|
161
161
|
className,
|
|
162
162
|
children,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as CopyButton } from "../../copy-button-
|
|
4
|
-
import { Badge } from "../foundations/Badge.js";
|
|
2
|
+
import { b as EyeIcon, x as EyeOffIcon } from "../../icons-CVFSeTJn.js";
|
|
3
|
+
import { t as CopyButton } from "../../copy-button-lys9N_aI.js";
|
|
5
4
|
import { Switch } from "../foundations/Switch.js";
|
|
6
5
|
import * as React from "react";
|
|
7
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -26,7 +25,7 @@ function useVariableContext() {
|
|
|
26
25
|
* environment keys and copyable values. Do not treat masking as a security
|
|
27
26
|
* boundary; do not render secrets for users who are not allowed to see them.
|
|
28
27
|
*
|
|
29
|
-
* Sigvelo changes: composes
|
|
28
|
+
* Sigvelo changes: composes Button, Switch, and Tooltip; maps copy and
|
|
30
29
|
* reveal controls to Sigvelo CSS tokens; keeps masking local to the component.
|
|
31
30
|
*
|
|
32
31
|
* Values need visible labels and copy buttons need accessible labels. Styling
|
|
@@ -185,11 +184,9 @@ function EnvironmentVariableCopyButton({ className, format = "value", label, onC
|
|
|
185
184
|
});
|
|
186
185
|
}
|
|
187
186
|
function EnvironmentVariableRequired({ className, children, ref, ...props }) {
|
|
188
|
-
return /* @__PURE__ */ jsx(
|
|
187
|
+
return /* @__PURE__ */ jsx("span", {
|
|
189
188
|
...props,
|
|
190
189
|
ref,
|
|
191
|
-
color: "warning",
|
|
192
|
-
size: "sm",
|
|
193
190
|
className: cx("environment-variables__required", className),
|
|
194
191
|
children: children ?? "Required"
|
|
195
192
|
});
|
|
@@ -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-DMYRdT6R.js";
|
|
2
2
|
export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import { Badge } from "../foundations/Badge.js";
|
|
3
2
|
import { ToggleGroup } from "../foundations/ToggleGroup.js";
|
|
4
3
|
import { Switch } from "../foundations/Switch.js";
|
|
5
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -26,10 +25,8 @@ function PricingBillingToggle({ value, onValueChange, yearlySavingsPercent, vari
|
|
|
26
25
|
/* @__PURE__ */ jsxs("span", {
|
|
27
26
|
className: "pricing-page__period-label",
|
|
28
27
|
"data-active": isYearly || void 0,
|
|
29
|
-
children: ["Yearly", /* @__PURE__ */ jsxs(
|
|
30
|
-
|
|
31
|
-
size: "sm",
|
|
32
|
-
className: "pricing-page__billing-badge",
|
|
28
|
+
children: ["Yearly", /* @__PURE__ */ jsxs("span", {
|
|
29
|
+
className: "pricing-page__billing-savings",
|
|
33
30
|
children: [
|
|
34
31
|
"Save ",
|
|
35
32
|
yearlySavingsPercent,
|
|
@@ -51,10 +48,8 @@ function PricingBillingToggle({ value, onValueChange, yearlySavingsPercent, vari
|
|
|
51
48
|
children: "Monthly"
|
|
52
49
|
}), /* @__PURE__ */ jsxs(ToggleGroup.Item, {
|
|
53
50
|
value: "yearly",
|
|
54
|
-
children: ["Yearly", /* @__PURE__ */ jsxs(
|
|
55
|
-
|
|
56
|
-
size: "sm",
|
|
57
|
-
className: "pricing-page__billing-badge",
|
|
51
|
+
children: ["Yearly", /* @__PURE__ */ jsxs("span", {
|
|
52
|
+
className: "pricing-page__billing-savings",
|
|
58
53
|
children: [
|
|
59
54
|
"-",
|
|
60
55
|
yearlySavingsPercent,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { M as MinusIcon, T as InfoIcon, d as CheckIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { IconButton } from "../foundations/IconButton.js";
|
|
5
5
|
import { Separator } from "../foundations/Separator.js";
|
|
6
6
|
import { Card } from "../foundations/Card.js";
|
|
7
|
-
import { Badge } from "../foundations/Badge.js";
|
|
8
7
|
import { getPlanPrice, getPlanYearlySavings } from "./Pricing.js";
|
|
9
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
9
|
//#region src/components/general-purpose/PricingPlanCard.tsx
|
|
@@ -24,20 +23,22 @@ function PricingPlanCard({ plan, billingPeriod, action = "select", onSelect, cla
|
|
|
24
23
|
className: cx("pricing-page__plan", className),
|
|
25
24
|
"data-popular": plan.popular || void 0,
|
|
26
25
|
children: [
|
|
27
|
-
plan.popular ? /* @__PURE__ */ jsx(Badge, {
|
|
28
|
-
color: "success",
|
|
29
|
-
className: "pricing-page__popular-badge",
|
|
30
|
-
children: "Most Popular"
|
|
31
|
-
}) : null,
|
|
32
26
|
/* @__PURE__ */ jsxs("div", {
|
|
33
27
|
className: "pricing-page__plan-header",
|
|
34
|
-
children: [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
28
|
+
children: [
|
|
29
|
+
plan.popular ? /* @__PURE__ */ jsx("span", {
|
|
30
|
+
className: "pricing-page__popular-label",
|
|
31
|
+
children: "Most popular"
|
|
32
|
+
}) : null,
|
|
33
|
+
/* @__PURE__ */ jsx("h2", {
|
|
34
|
+
className: "pricing-page__plan-name",
|
|
35
|
+
children: plan.name
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ jsx("p", {
|
|
38
|
+
className: "pricing-page__plan-description",
|
|
39
|
+
children: plan.description
|
|
40
|
+
})
|
|
41
|
+
]
|
|
41
42
|
}),
|
|
42
43
|
/* @__PURE__ */ jsxs("div", {
|
|
43
44
|
className: "pricing-page__plan-price",
|
|
@@ -1,2 +1,95 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { t as AppTopBar } from "../../AppTopBar-ZdgmB_Lu.js";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/general-purpose/ResponsiveSidebarShell.d.ts
|
|
5
|
+
interface ResponsiveSidebarShellControls {
|
|
6
|
+
/** Close the sidebar and move focus to the main content. */
|
|
7
|
+
closeSidebar: () => void;
|
|
8
|
+
/** Close only when the shell is currently using its compact drawer layout. */
|
|
9
|
+
closeSidebarOnCompact: () => void;
|
|
10
|
+
}
|
|
11
|
+
interface ResponsiveSidebarShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "title"> {
|
|
12
|
+
/**
|
|
13
|
+
* Navigation or other secondary surface shown beside the selected content.
|
|
14
|
+
* Omit for a shell that is only a bar row over content — the app bar then
|
|
15
|
+
* has one mount point whether or not a sidebar exists.
|
|
16
|
+
*/
|
|
17
|
+
sidebar?: React.ReactNode | ((controls: ResponsiveSidebarShellControls) => React.ReactNode);
|
|
18
|
+
/** Main content. */
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
/** Short noun used by the toggle and resize control, such as “threads” or “schedules”. */
|
|
21
|
+
sidebarLabel?: string;
|
|
22
|
+
/** Whether the sidebar is open. Omit for internal state. */
|
|
23
|
+
sidebarOpen?: boolean;
|
|
24
|
+
/** Initial sidebar state when `sidebarOpen` is uncontrolled. */
|
|
25
|
+
defaultSidebarOpen?: boolean;
|
|
26
|
+
/** Initial desktop sidebar width in CSS pixels. */
|
|
27
|
+
defaultSidebarWidth?: number;
|
|
28
|
+
/** Called when the sidebar is opened or closed. */
|
|
29
|
+
onSidebarOpenChange?: (open: boolean) => void;
|
|
30
|
+
/**
|
|
31
|
+
* No bar row at all — for content that brings its own application bar.
|
|
32
|
+
* Distinct from passing no slots: an empty shell with a sidebar still shows
|
|
33
|
+
* a bar carrying the toggle.
|
|
34
|
+
*/
|
|
35
|
+
topBarHidden?: boolean;
|
|
36
|
+
/** Props for the shell-owned bar root: `aria-label`, `className`, data hooks. */
|
|
37
|
+
topBarProps?: React.ComponentProps<typeof AppTopBar.Root> & {
|
|
38
|
+
[dataAttribute: `data-${string}`]: string | undefined;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* App-owned leading navigation. When present it owns the single leading
|
|
42
|
+
* slot instead of sitting beside a second shell toggle; wide sidebars use
|
|
43
|
+
* their responsive default and compact sidebars remain available through
|
|
44
|
+
* `compactTitleTrigger`.
|
|
45
|
+
*/
|
|
46
|
+
topBarLeading?: React.ReactNode;
|
|
47
|
+
/** Compact-only navigation that replaces the drawer trigger without hiding the wide rail toggle. */
|
|
48
|
+
compactTopBarLeading?: React.ReactNode;
|
|
49
|
+
/** Bar title content. Hidden at compact widths when `compactTitleTrigger` stands in. */
|
|
50
|
+
topBarTitle?: React.ReactNode;
|
|
51
|
+
/** Element the bar title renders into, e.g. `<h1 id={…}/>` for a labelled page. */
|
|
52
|
+
topBarTitleRender?: React.ReactElement<Record<string, unknown>>;
|
|
53
|
+
/** Content placed in the bar's trailing group. */
|
|
54
|
+
topBarTrailing?: React.ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Label content for a compact-width drawer trigger that replaces the plain
|
|
57
|
+
* title and the icon toggle: the title itself becomes the control that opens
|
|
58
|
+
* the sidebar. The shell renders the button and the disclosure chevron.
|
|
59
|
+
*/
|
|
60
|
+
compactTitleTrigger?: React.ReactNode;
|
|
61
|
+
/** Accessible name for the mobile peek target that returns to the main content. */
|
|
62
|
+
showMainLabel?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The one application shell: responsive master-detail with a resizable desktop
|
|
66
|
+
* sidebar, a compact floating drawer that leaves the main content in place as
|
|
67
|
+
* a dismiss target, and a shell-owned application bar composed from slots.
|
|
68
|
+
* The root exposes `data-sidebar-open="true" | "false"` as its public styling hook.
|
|
69
|
+
*/
|
|
70
|
+
declare function ResponsiveSidebarShell({
|
|
71
|
+
sidebar,
|
|
72
|
+
sidebarLabel,
|
|
73
|
+
sidebarOpen,
|
|
74
|
+
defaultSidebarOpen,
|
|
75
|
+
defaultSidebarWidth,
|
|
76
|
+
onSidebarOpenChange,
|
|
77
|
+
topBarHidden,
|
|
78
|
+
topBarProps,
|
|
79
|
+
topBarLeading,
|
|
80
|
+
compactTopBarLeading,
|
|
81
|
+
topBarTitle,
|
|
82
|
+
topBarTitleRender,
|
|
83
|
+
topBarTrailing,
|
|
84
|
+
compactTitleTrigger,
|
|
85
|
+
showMainLabel,
|
|
86
|
+
className,
|
|
87
|
+
children,
|
|
88
|
+
ref,
|
|
89
|
+
style,
|
|
90
|
+
...props
|
|
91
|
+
}: ResponsiveSidebarShellProps & {
|
|
92
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
93
|
+
}): React.JSX.Element;
|
|
94
|
+
//#endregion
|
|
95
|
+
export { ResponsiveSidebarShell, ResponsiveSidebarShellControls, ResponsiveSidebarShellProps };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cx } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { W as SidebarIcon, f as ChevronDownIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { t as capitalize } from "../../format-DB2mX9DA.js";
|
|
5
5
|
import { n as mergeRefs } from "../../merge-refs-DF_7w2x_.js";
|
|
@@ -15,30 +15,67 @@ const sidebarKeyboardStep = 24;
|
|
|
15
15
|
const compactSidebarWidthRem = 56;
|
|
16
16
|
function useControllableSidebar({ sidebarOpen, defaultSidebarOpen, onSidebarOpenChange }) {
|
|
17
17
|
const [innerOpen, setInnerOpen] = React.useState(defaultSidebarOpen ?? true);
|
|
18
|
-
return [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
return [
|
|
19
|
+
sidebarOpen ?? innerOpen,
|
|
20
|
+
React.useCallback((next) => {
|
|
21
|
+
if (sidebarOpen === void 0) setInnerOpen(next);
|
|
22
|
+
onSidebarOpenChange?.(next);
|
|
23
|
+
}, [sidebarOpen, onSidebarOpenChange]),
|
|
24
|
+
setInnerOpen
|
|
25
|
+
];
|
|
22
26
|
}
|
|
23
27
|
function isCompactSidebar(root) {
|
|
24
28
|
const rootFontSize = Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
|
|
25
|
-
return root.
|
|
29
|
+
return root.offsetWidth <= compactSidebarWidthRem * rootFontSize;
|
|
26
30
|
}
|
|
27
31
|
/**
|
|
28
|
-
*
|
|
29
|
-
* floating
|
|
32
|
+
* The one application shell: responsive master-detail with a resizable desktop
|
|
33
|
+
* sidebar, a compact floating drawer that leaves the main content in place as
|
|
34
|
+
* a dismiss target, and a shell-owned application bar composed from slots.
|
|
30
35
|
* The root exposes `data-sidebar-open="true" | "false"` as its public styling hook.
|
|
31
36
|
*/
|
|
32
|
-
function ResponsiveSidebarShell({ sidebar,
|
|
37
|
+
function ResponsiveSidebarShell({ sidebar, sidebarLabel = "sidebar", sidebarOpen, defaultSidebarOpen, defaultSidebarWidth = sidebarDefaultWidth, onSidebarOpenChange, topBarHidden = false, topBarProps, topBarLeading, compactTopBarLeading, topBarTitle, topBarTitleRender, topBarTrailing, compactTitleTrigger, showMainLabel = "Show main content", className, children, ref, style, ...props }) {
|
|
33
38
|
const sidebarId = React.useId();
|
|
34
39
|
const rootRef = React.useRef(null);
|
|
35
40
|
const mainRef = React.useRef(null);
|
|
36
41
|
const openerRef = React.useRef(null);
|
|
37
|
-
const
|
|
42
|
+
const compactRef = React.useRef(null);
|
|
43
|
+
const restoreSidebarOnWideRef = React.useRef(true);
|
|
44
|
+
const [isSidebarOpen, setSidebarOpen, primeSidebarOpen] = useControllableSidebar({
|
|
38
45
|
sidebarOpen,
|
|
39
46
|
defaultSidebarOpen,
|
|
40
47
|
onSidebarOpenChange
|
|
41
48
|
});
|
|
49
|
+
const wantsBuiltInDefault = sidebarOpen === void 0 && defaultSidebarOpen === void 0;
|
|
50
|
+
React.useLayoutEffect(() => {
|
|
51
|
+
const root = rootRef.current;
|
|
52
|
+
if (!root) return;
|
|
53
|
+
const syncLayout = () => {
|
|
54
|
+
if (root.offsetWidth <= 0) return;
|
|
55
|
+
const compact = isCompactSidebar(root);
|
|
56
|
+
const wasCompact = compactRef.current;
|
|
57
|
+
compactRef.current = compact;
|
|
58
|
+
if (wasCompact === null) {
|
|
59
|
+
if (wantsBuiltInDefault && compact) primeSidebarOpen(false);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (!wasCompact && compact) {
|
|
63
|
+
restoreSidebarOnWideRef.current = isSidebarOpen;
|
|
64
|
+
if (isSidebarOpen) setSidebarOpen(false);
|
|
65
|
+
} else if (wasCompact && !compact && restoreSidebarOnWideRef.current) setSidebarOpen(true);
|
|
66
|
+
};
|
|
67
|
+
syncLayout();
|
|
68
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
69
|
+
const observer = new ResizeObserver(syncLayout);
|
|
70
|
+
observer.observe(root);
|
|
71
|
+
return () => observer.disconnect();
|
|
72
|
+
}, [
|
|
73
|
+
isSidebarOpen,
|
|
74
|
+
primeSidebarOpen,
|
|
75
|
+
setSidebarOpen,
|
|
76
|
+
wantsBuiltInDefault
|
|
77
|
+
]);
|
|
78
|
+
const hasSidebar = sidebar != null;
|
|
42
79
|
const toggleLabel = capitalize(sidebarLabel);
|
|
43
80
|
const toggleTooltip = `${isSidebarOpen ? "Hide" : "Show"} ${sidebarLabel}`;
|
|
44
81
|
const updateSidebar = React.useCallback((update, restoreFocus) => {
|
|
@@ -66,8 +103,9 @@ function ResponsiveSidebarShell({ sidebar, topBar, sidebarLabel, sidebarOpen, de
|
|
|
66
103
|
closeSidebar,
|
|
67
104
|
closeSidebarOnCompact
|
|
68
105
|
}) : sidebar;
|
|
69
|
-
const
|
|
70
|
-
|
|
106
|
+
const hasTitleTrigger = hasSidebar && compactTitleTrigger != null && compactTopBarLeading == null;
|
|
107
|
+
const renderSidebarToggle = (className) => hasSidebar ? /* @__PURE__ */ jsx(AppTopBar.Button, {
|
|
108
|
+
className: cx("responsive-sidebar-shell__toggle", className),
|
|
71
109
|
label: toggleLabel,
|
|
72
110
|
tooltip: toggleTooltip,
|
|
73
111
|
type: "button",
|
|
@@ -75,30 +113,22 @@ function ResponsiveSidebarShell({ sidebar, topBar, sidebarLabel, sidebarOpen, de
|
|
|
75
113
|
"aria-expanded": isSidebarOpen,
|
|
76
114
|
onClick: (event) => toggleSidebar(event.currentTarget),
|
|
77
115
|
children: /* @__PURE__ */ jsx(SidebarIcon, {})
|
|
78
|
-
});
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
sidebarOpen: isSidebarOpen,
|
|
82
|
-
sidebarToggle,
|
|
83
|
-
toggleSidebar
|
|
84
|
-
}) : topBar;
|
|
85
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
116
|
+
}) : null;
|
|
117
|
+
const hasTopBar = !topBarHidden && (hasSidebar || topBarLeading != null || compactTopBarLeading != null || topBarTitle != null || topBarTrailing != null || topBarProps != null);
|
|
118
|
+
return /* @__PURE__ */ jsx("div", {
|
|
86
119
|
ref: mergeRefs(rootRef, ref),
|
|
87
120
|
className: cx("responsive-sidebar-shell", className),
|
|
88
121
|
style,
|
|
89
122
|
...props,
|
|
90
|
-
"data-sidebar-open": isSidebarOpen ? "true" : "false",
|
|
123
|
+
"data-sidebar-open": hasSidebar && isSidebarOpen ? "true" : "false",
|
|
91
124
|
onKeyDown: (event) => {
|
|
92
125
|
props.onKeyDown?.(event);
|
|
93
|
-
if (!event.defaultPrevented && event.key === "Escape" && isSidebarOpen && rootRef.current && isCompactSidebar(rootRef.current)) {
|
|
126
|
+
if (!event.defaultPrevented && event.key === "Escape" && hasSidebar && isSidebarOpen && rootRef.current && isCompactSidebar(rootRef.current)) {
|
|
94
127
|
event.preventDefault();
|
|
95
128
|
dismissSidebar();
|
|
96
129
|
}
|
|
97
130
|
},
|
|
98
|
-
children:
|
|
99
|
-
"aria-label": toolbarLabel,
|
|
100
|
-
children: /* @__PURE__ */ jsx(AppTopBar.Leading, { children: sidebarToggle })
|
|
101
|
-
}), /* @__PURE__ */ jsxs(ResizableSidePanel.Root, {
|
|
131
|
+
children: /* @__PURE__ */ jsxs(ResizableSidePanel.Root, {
|
|
102
132
|
className: "responsive-sidebar-shell__frame",
|
|
103
133
|
label: sidebarLabel,
|
|
104
134
|
side: "start",
|
|
@@ -107,22 +137,48 @@ function ResponsiveSidebarShell({ sidebar, topBar, sidebarLabel, sidebarOpen, de
|
|
|
107
137
|
maxSize: sidebarMaxWidth,
|
|
108
138
|
keyboardStep: sidebarKeyboardStep,
|
|
109
139
|
children: [
|
|
110
|
-
isSidebarOpen ? /* @__PURE__ */ jsx(ResizableSidePanel.Handle, { className: "responsive-sidebar-shell__resizer" }) : null,
|
|
111
|
-
/* @__PURE__ */ jsx("div", {
|
|
140
|
+
hasSidebar && isSidebarOpen ? /* @__PURE__ */ jsx(ResizableSidePanel.Handle, { className: "responsive-sidebar-shell__resizer" }) : null,
|
|
141
|
+
hasSidebar ? /* @__PURE__ */ jsx("div", {
|
|
112
142
|
id: sidebarId,
|
|
113
143
|
className: "responsive-sidebar-shell__sidebar",
|
|
114
144
|
"aria-hidden": isSidebarOpen ? void 0 : true,
|
|
115
145
|
inert: isSidebarOpen ? void 0 : true,
|
|
116
146
|
children: sidebarContent
|
|
117
|
-
}),
|
|
118
|
-
/* @__PURE__ */
|
|
147
|
+
}) : null,
|
|
148
|
+
/* @__PURE__ */ jsxs("div", {
|
|
119
149
|
ref: mainRef,
|
|
120
150
|
className: "responsive-sidebar-shell__main",
|
|
121
|
-
"data-recipe": "application-plane",
|
|
122
151
|
tabIndex: -1,
|
|
123
|
-
children
|
|
152
|
+
children: [hasTopBar ? /* @__PURE__ */ jsxs(AppTopBar.Root, {
|
|
153
|
+
"aria-label": "Application controls",
|
|
154
|
+
...topBarProps,
|
|
155
|
+
children: [
|
|
156
|
+
hasSidebar || topBarLeading != null || compactTopBarLeading != null ? /* @__PURE__ */ jsxs(AppTopBar.Leading, { children: [topBarLeading ?? renderSidebarToggle(hasTitleTrigger ? "responsive-sidebar-shell__toggle--replaced-by-title" : compactTopBarLeading != null ? "responsive-sidebar-shell__toggle--replaced-by-compact-leading" : void 0), topBarLeading == null && compactTopBarLeading != null ? /* @__PURE__ */ jsx("span", {
|
|
157
|
+
className: "responsive-sidebar-shell__compact-leading",
|
|
158
|
+
children: compactTopBarLeading
|
|
159
|
+
}) : null] }) : null,
|
|
160
|
+
topBarTitle != null || hasTitleTrigger ? /* @__PURE__ */ jsxs(AppTopBar.Title, {
|
|
161
|
+
render: topBarTitleRender,
|
|
162
|
+
children: [topBarTitle != null ? /* @__PURE__ */ jsx("span", {
|
|
163
|
+
className: cx("responsive-sidebar-shell__title-text", hasTitleTrigger && "responsive-sidebar-shell__title-text--replaced-by-trigger"),
|
|
164
|
+
children: topBarTitle
|
|
165
|
+
}) : null, hasTitleTrigger ? /* @__PURE__ */ jsxs(Button, {
|
|
166
|
+
type: "button",
|
|
167
|
+
variant: "ghost",
|
|
168
|
+
color: "neutral",
|
|
169
|
+
size: "sm",
|
|
170
|
+
className: "responsive-sidebar-shell__title-trigger",
|
|
171
|
+
"aria-controls": sidebarId,
|
|
172
|
+
"aria-expanded": isSidebarOpen,
|
|
173
|
+
onClick: (event) => toggleSidebar(event.currentTarget),
|
|
174
|
+
children: [compactTitleTrigger, /* @__PURE__ */ jsx(ChevronDownIcon, { "aria-hidden": "true" })]
|
|
175
|
+
}) : null]
|
|
176
|
+
}) : null,
|
|
177
|
+
topBarTrailing != null ? /* @__PURE__ */ jsx(AppTopBar.Trailing, { children: topBarTrailing }) : null
|
|
178
|
+
]
|
|
179
|
+
}) : null, children]
|
|
124
180
|
}),
|
|
125
|
-
isSidebarOpen ? /* @__PURE__ */ jsx(Button, {
|
|
181
|
+
hasSidebar && isSidebarOpen ? /* @__PURE__ */ jsx(Button, {
|
|
126
182
|
type: "button",
|
|
127
183
|
variant: "ghost",
|
|
128
184
|
color: "neutral",
|
|
@@ -131,7 +187,7 @@ function ResponsiveSidebarShell({ sidebar, topBar, sidebarLabel, sidebarOpen, de
|
|
|
131
187
|
onClick: closeSidebar
|
|
132
188
|
}) : null
|
|
133
189
|
]
|
|
134
|
-
})
|
|
190
|
+
})
|
|
135
191
|
});
|
|
136
192
|
}
|
|
137
193
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as mergeBaseClassName } from "../../class-names-BiMDVpUo.js";
|
|
2
|
-
import {
|
|
2
|
+
import { $ as WarningIcon, B as PlusIcon, d as CheckIcon, f as ChevronDownIcon } from "../../icons-CVFSeTJn.js";
|
|
3
3
|
import { Button } from "../foundations/Button.js";
|
|
4
4
|
import { Menu } from "../foundations/Menu.js";
|
|
5
5
|
import * as React from "react";
|
|
@@ -63,7 +63,7 @@ declare function TerminalTitle({
|
|
|
63
63
|
ref?: React.Ref<HTMLSpanElement>;
|
|
64
64
|
}): React.JSX.Element;
|
|
65
65
|
type TerminalStatusValue = "idle" | "running" | "success" | "error";
|
|
66
|
-
interface TerminalStatusProps extends
|
|
66
|
+
interface TerminalStatusProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
67
67
|
status: TerminalStatusValue;
|
|
68
68
|
}
|
|
69
69
|
declare function TerminalStatus({
|