@tangle-network/sandbox-ui 0.113.7 → 0.115.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/README.md +40 -0
- package/dist/WorkflowGraph-B-NsdYz_.js +1961 -0
- package/dist/assets.d.ts +214 -206
- package/dist/assets.js +1057 -908
- package/dist/auth-CWe17Hly.js +37 -0
- package/dist/auth.d.ts +2 -30
- package/dist/auth.js +2 -15
- package/dist/chat-BOvFAe6p.js +903 -0
- package/dist/chat.d.ts +2 -230
- package/dist/chat.js +2 -34
- package/dist/connectors.d.ts +52 -49
- package/dist/connectors.js +595 -643
- package/dist/dashboard-CZ3VgNPR.js +4969 -0
- package/dist/dashboard.d.ts +4 -1297
- package/dist/dashboard.js +4 -152
- package/dist/editor.d.ts +2 -1
- package/dist/editor.js +2 -31
- package/dist/files.d.ts +2 -6
- package/dist/files.js +2 -33
- package/dist/globals.css +75 -3
- package/dist/hooks.d.ts +146 -148
- package/dist/hooks.js +222 -55
- package/dist/index-CKRaj1pM.d.ts +776 -0
- package/dist/index-CXX5IpH2.d.ts +2 -0
- package/dist/index-CesPlOyx.d.ts +367 -0
- package/dist/index-DPePq7c8.d.ts +1340 -0
- package/dist/index-DiyLLZuJ.d.ts +230 -0
- package/dist/index-DvmZLMT1.d.ts +30 -0
- package/dist/index-PRM636Ex.d.ts +86 -0
- package/dist/index.d.ts +21 -33
- package/dist/index.js +21 -701
- package/dist/info-panel-C9cqDzOL.js +594 -0
- package/dist/integrations.d.ts +133 -141
- package/dist/integrations.js +491 -673
- package/dist/markdown.d.ts +2 -1
- package/dist/markdown.js +2 -13
- package/dist/model-I-NIxeM-.js +1250 -0
- package/dist/model-brand-B9A4H9pJ.d.ts +98 -0
- package/dist/model-brand-hMyDTUqB.js +624 -0
- package/dist/motion-DkyBRJb9.js +37 -0
- package/dist/openui.d.ts +2 -1
- package/dist/openui.js +2 -7
- package/dist/pages.d.ts +307 -300
- package/dist/pages.js +4404 -4181
- package/dist/primitives-Dh1vG6J3.js +113 -0
- package/dist/primitives.d.ts +2 -74
- package/dist/primitives.js +2 -204
- package/dist/provider-logo-DjqmConF.js +311 -0
- package/dist/run.d.ts +2 -1
- package/dist/run.js +2 -23
- package/dist/sdk-hooks.d.ts +3 -4
- package/dist/sdk-hooks.js +3 -31
- package/dist/sidecar-DgH_vQ6m.d.ts +9 -0
- package/dist/stores.d.ts +14 -15
- package/dist/stores.js +13 -81
- package/dist/styles.css +75 -3
- package/dist/template-card-L-4gmjx2.d.ts +90 -0
- package/dist/terminal-CN9ZgHRt.js +197 -0
- package/dist/terminal.d.ts +60 -60
- package/dist/terminal.js +2 -10
- package/dist/tokens.css +51 -0
- package/dist/types.d.ts +4 -11
- package/dist/types.js +0 -1
- package/dist/use-pty-session-C8cE0adT.js +669 -0
- package/dist/use-sidecar-auth-CCTJcrq7.d.ts +145 -0
- package/dist/use-sidecar-auth-DkdcufOz.js +742 -0
- package/dist/utils-DzWbktWG.js +2 -0
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +2 -37
- package/dist/workbench-ztU44Jt2.js +8455 -0
- package/dist/workbench.d.ts +2 -310
- package/dist/workbench.js +2 -44
- package/dist/workflows.d.ts +341 -339
- package/dist/workflows.js +74 -109
- package/dist/workspace-B6AtI6ld.js +2510 -0
- package/dist/workspace.d.ts +2 -761
- package/dist/workspace.js +2 -51
- package/package.json +46 -40
- package/dist/WorkflowGraph-2QOORYIR.js +0 -1722
- package/dist/chunk-2BUPSB7O.js +0 -0
- package/dist/chunk-3KBNPQQF.js +0 -2697
- package/dist/chunk-3LIXVEEE.js +0 -279
- package/dist/chunk-72UF2H5H.js +0 -707
- package/dist/chunk-AI25G5MX.js +0 -944
- package/dist/chunk-ANSC5AFC.js +0 -314
- package/dist/chunk-AZ3AWMTM.js +0 -8
- package/dist/chunk-BGVEHENC.js +0 -10
- package/dist/chunk-CZ7CSFO4.js +0 -39
- package/dist/chunk-DYXXYGS4.js +0 -4700
- package/dist/chunk-EI44GEQ5.js +0 -6
- package/dist/chunk-IACRDXER.js +0 -219
- package/dist/chunk-IOB2PW5Z.js +0 -55
- package/dist/chunk-M4K7ZGR2.js +0 -24
- package/dist/chunk-MYZAW4RX.js +0 -665
- package/dist/chunk-OMUIPJQZ.js +0 -555
- package/dist/chunk-RQZRXKMR.js +0 -398
- package/dist/chunk-SOKKTB7W.js +0 -230
- package/dist/chunk-TADGS4Q7.js +0 -1010
- package/dist/chunk-UCQNOUN3.js +0 -7964
- package/dist/chunk-ULPLRBMF.js +0 -34
- package/dist/chunk-WID73FPH.js +0 -89
- package/dist/chunk-X3YXP7FG.js +0 -38
- package/dist/logo-DiAjq759.d.ts +0 -15
- package/dist/model-brand-BNnaUKKZ.d.ts +0 -99
- package/dist/ports-list-CDIvTNnX.d.ts +0 -17
- package/dist/sdk-hooks-Djkjq4cp.d.ts +0 -145
- package/dist/template-card-Bn-Bw5xC.d.ts +0 -87
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane as FileArtifactPane$1, FileArtifactPaneProps, FileFormat, FileNode as FileNode$1, FilePreview, FilePreviewKind, FilePreviewProps, FileTabData as FileTabData$1, FileTabs, FileTabsProps, FileTree as FileTree$1, FileTreeProps, FileTreeVisibilityOptions as FileTreeVisibilityOptions$1, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, detectFileFormat, fileExtension, filterFileTree as filterFileTree$1, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from "@tangle-network/ui/files";
|
|
2
|
+
export { getCodeLanguage as C, resolveFilePreviewKind as D, parseCsv as E, filterFileTree$1 as S, getSyntaxLanguage as T, RichFileTreeGitStatus as _, FileNode$1 as a, detectFileFormat as b, FilePreviewProps as c, FileTabsProps as d, FileTree$1 as f, RichFileTreeGitEntry as g, RichFileTree as h, FileFormat as i, FileTabData$1 as l, FileTreeVisibilityOptions$1 as m, FileArtifactPane$1 as n, FilePreview as o, FileTreeProps as p, FileArtifactPaneProps as r, FilePreviewKind as s, CSV_PREVIEW_ROW_LIMIT as t, FileTabs as u, RichFileTreeProps as v, getFormatLabel as w, fileExtension as x, RichFileTreeThemeVars as y };
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { v as ExposedPort } from "./index-DPePq7c8.js";
|
|
2
|
+
import { _ as RichFileTreeGitStatus, g as RichFileTreeGitEntry } from "./index-CXX5IpH2.js";
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { CSSProperties } from "react";
|
|
5
|
+
//#region src/workbench/types.d.ts
|
|
6
|
+
/** Which surface the artifact pane is currently showing. */
|
|
7
|
+
type ArtifactView = "code" | "diff" | "preview" | "ports" | "terminal";
|
|
8
|
+
/**
|
|
9
|
+
* A single artifact rendered by the pane. `content` is the working copy;
|
|
10
|
+
* when `baselineContent` differs from it, the Diff view becomes available
|
|
11
|
+
* and renders a word-level unified diff of baseline → content.
|
|
12
|
+
*/
|
|
13
|
+
interface SandboxArtifact {
|
|
14
|
+
id: string;
|
|
15
|
+
/** Canonical path inside the sandbox, e.g. `src/lib/retry.ts`. */
|
|
16
|
+
path: string;
|
|
17
|
+
/** Display name for the active file (usually the last path segment). */
|
|
18
|
+
filename: string;
|
|
19
|
+
/** Working-copy contents of the file. */
|
|
20
|
+
content: string;
|
|
21
|
+
/** Prior contents the working copy is diffed against. */
|
|
22
|
+
baselineContent?: string;
|
|
23
|
+
/** Explicit syntax language id (overrides extension inference). */
|
|
24
|
+
language?: string;
|
|
25
|
+
mimeType?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Live PTY terminal binding. Maps straight onto `TerminalView` — both
|
|
29
|
+
* `apiUrl` and `token` are required to open a session against the sidecar.
|
|
30
|
+
*/
|
|
31
|
+
interface SandboxArtifactTerminal {
|
|
32
|
+
apiUrl: string;
|
|
33
|
+
token: string;
|
|
34
|
+
/** Stable id so the same PTY is restored across remounts. */
|
|
35
|
+
connectionId?: string;
|
|
36
|
+
title?: string;
|
|
37
|
+
subtitle?: string;
|
|
38
|
+
}
|
|
39
|
+
interface SandboxArtifactPaneProps {
|
|
40
|
+
/** The active artifact shown in the Code / Diff surfaces. */
|
|
41
|
+
artifact: SandboxArtifact;
|
|
42
|
+
/**
|
|
43
|
+
* Flat list of canonical paths for the file-tree rail in the Code view.
|
|
44
|
+
* Defaults to `[artifact.path]` when omitted (single-file tree).
|
|
45
|
+
*/
|
|
46
|
+
paths?: ReadonlyArray<string>;
|
|
47
|
+
/** Per-path git-status decorations for the file tree. */
|
|
48
|
+
gitStatus?: ReadonlyArray<RichFileTreeGitEntry>;
|
|
49
|
+
/** Show the Code view's file-tree rail. Off for single-file embeds where the host owns navigation/tabs. */
|
|
50
|
+
showTree?: boolean;
|
|
51
|
+
/** Exposed ports; presence enables the Ports tab. */
|
|
52
|
+
ports?: ExposedPort[];
|
|
53
|
+
/** Live preview origin; presence enables the Preview tab. */
|
|
54
|
+
previewUrl?: string;
|
|
55
|
+
/** Live terminal binding; presence enables the Terminal tab. */
|
|
56
|
+
terminal?: SandboxArtifactTerminal;
|
|
57
|
+
/** Controlled active view. Pair with `onViewChange`. */
|
|
58
|
+
activeView?: ArtifactView;
|
|
59
|
+
/** Initial view when uncontrolled. Defaults to the first available view. */
|
|
60
|
+
defaultView?: ArtifactView;
|
|
61
|
+
onViewChange?: (view: ArtifactView) => void;
|
|
62
|
+
/** Fired when a different file is chosen in the tree (host swaps artifact). */
|
|
63
|
+
onFileSelect?: (path: string) => void;
|
|
64
|
+
/** Forwarded to the Ports view. */
|
|
65
|
+
onExposePort?: (port: number) => void;
|
|
66
|
+
onRemovePort?: (port: number) => void;
|
|
67
|
+
className?: string;
|
|
68
|
+
style?: CSSProperties;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One entry of the sandbox's git working tree, as the Changes pane lists it.
|
|
72
|
+
* `additions` / `deletions` are the numstat counts the sidecar's
|
|
73
|
+
* `GET /git/diff` reports per file.
|
|
74
|
+
*
|
|
75
|
+
* `baseline` / `current` are the file contents the diff is drawn from and are
|
|
76
|
+
* absent until the consumer resolves them for the selected file. Which of the
|
|
77
|
+
* two counts as "resolved" follows the status: an added or untracked file has
|
|
78
|
+
* no baseline and diffs against the empty string once `current` is present; a
|
|
79
|
+
* deleted file has no working copy and diffs against the empty string once
|
|
80
|
+
* `baseline` is present; every other status waits for both.
|
|
81
|
+
*/
|
|
82
|
+
interface ChangedFile {
|
|
83
|
+
path: string;
|
|
84
|
+
status: RichFileTreeGitStatus;
|
|
85
|
+
additions: number;
|
|
86
|
+
deletions: number;
|
|
87
|
+
/** Present once the consumer has resolved contents for the selected file. */
|
|
88
|
+
baseline?: string;
|
|
89
|
+
current?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Why the sides could not be resolved. Shown under the file's header in
|
|
92
|
+
* place of the loading line, so a failed read never looks like a slow one.
|
|
93
|
+
*/
|
|
94
|
+
loadError?: string;
|
|
95
|
+
}
|
|
96
|
+
interface ChangesPaneProps {
|
|
97
|
+
/** Current branch; `null` when the tree has no commits yet or is not a repository. */
|
|
98
|
+
branch: string | null;
|
|
99
|
+
ahead?: number;
|
|
100
|
+
behind?: number;
|
|
101
|
+
files: ChangedFile[];
|
|
102
|
+
selectedPath?: string;
|
|
103
|
+
onSelectFile?: (path: string) => void;
|
|
104
|
+
loading?: boolean;
|
|
105
|
+
error?: string | null;
|
|
106
|
+
onRefresh?: () => void;
|
|
107
|
+
/** Stage everything and commit. Resolve on success; reject with an Error the pane shows inline. */
|
|
108
|
+
onCommit?: (message: string) => Promise<void>;
|
|
109
|
+
onPush?: () => Promise<void>;
|
|
110
|
+
/** Which action is in flight; the pane disables the other and shows a spinner on this one. */
|
|
111
|
+
busy?: "commit" | "push" | null;
|
|
112
|
+
/** Open the file as a workbench artifact (the product wires this to its artifact opener). */
|
|
113
|
+
onOpenFile?: (path: string) => void;
|
|
114
|
+
className?: string;
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/workbench/sandbox-artifact-pane.d.ts
|
|
118
|
+
/**
|
|
119
|
+
* Blueprint-grade artifact workbench. Composes the sandbox-ui substrate
|
|
120
|
+
* (`RichFileTree`, `PortsList`, `TerminalView`, `@pierre/diffs`) behind a
|
|
121
|
+
* single pill-tab view switcher: Code · Diff · Preview · Ports · Terminal.
|
|
122
|
+
* Tabs appear only when their data is present (Diff requires a differing
|
|
123
|
+
* baseline; Preview a url; Ports a port list; Terminal a live binding), so the
|
|
124
|
+
* chrome never shows a dead surface.
|
|
125
|
+
*/
|
|
126
|
+
declare function SandboxArtifactPane({ artifact, paths, gitStatus, showTree, ports, previewUrl, terminal, activeView, defaultView, onViewChange, onFileSelect, onExposePort, onRemovePort, className, style }: SandboxArtifactPaneProps): React$1.JSX.Element;
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/workbench/changes-pane.d.ts
|
|
129
|
+
/**
|
|
130
|
+
* The sandbox's git working tree as a review surface: every changed file with
|
|
131
|
+
* its line counts, the selected file's word-level diff beneath, and a commit
|
|
132
|
+
* box in the footer. Data in, callbacks out — the pane never fetches; the
|
|
133
|
+
* consumer feeds it the sidecar's `/git/status` + `/git/diff` and resolves
|
|
134
|
+
* `baseline` / `current` for the file it is told was selected.
|
|
135
|
+
*
|
|
136
|
+
* The list is capped at 40% of the pane and scrolls, so the diff keeps its
|
|
137
|
+
* room however many files changed. The row's own chrome is compact: the
|
|
138
|
+
* workspace shell already gives its right pane the 56px `WorkspacePaneHeader`,
|
|
139
|
+
* so this header nests beneath it at `PanelHeader` rhythm rather than adding a
|
|
140
|
+
* second tall bar.
|
|
141
|
+
*/
|
|
142
|
+
declare function ChangesPane({ branch, ahead, behind, files, selectedPath, onSelectFile, loading, error, onRefresh, onCommit, onPush, busy, onOpenFile, className }: ChangesPaneProps): React$1.JSX.Element;
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region src/workbench/pill-tabs.d.ts
|
|
145
|
+
interface PillTabItem<T extends string> {
|
|
146
|
+
value: T;
|
|
147
|
+
label: string;
|
|
148
|
+
icon?: React$1.ReactNode;
|
|
149
|
+
}
|
|
150
|
+
interface PillTabsProps<T extends string> {
|
|
151
|
+
items: ReadonlyArray<PillTabItem<T>>;
|
|
152
|
+
value: T;
|
|
153
|
+
onChange: (value: T) => void;
|
|
154
|
+
className?: string;
|
|
155
|
+
"aria-label"?: string;
|
|
156
|
+
/** Stable IDs supplied by the parent when it renders the associated panel. */
|
|
157
|
+
idPrefix?: string;
|
|
158
|
+
panelId?: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Sliding-pill segmented control. Reimplemented from blueprint-agent's
|
|
162
|
+
* framer-motion `PillTabs` with a measured CSS transform instead — no motion
|
|
163
|
+
* dependency. A `ResizeObserver` re-measures on container resize and font
|
|
164
|
+
* load so the indicator tracks the active tab exactly. Token-swapped onto the
|
|
165
|
+
* sandbox-ui surface ladder.
|
|
166
|
+
*/
|
|
167
|
+
declare function PillTabs<T extends string>({ items, value, onChange, className, "aria-label": ariaLabel, idPrefix, panelId }: PillTabsProps<T>): React$1.JSX.Element;
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region src/workbench/diff-utils.d.ts
|
|
170
|
+
interface DiffStats {
|
|
171
|
+
added: number;
|
|
172
|
+
removed: number;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Count added / removed lines between two file revisions.
|
|
176
|
+
*
|
|
177
|
+
* Ported from blueprint-agent's `computeDiffStats`: normalize CRLF, short-
|
|
178
|
+
* circuit on equality, then `diffLines` with `ignoreWhitespace` so pure
|
|
179
|
+
* reindentation does not inflate the counts. `newlineIsToken:false` keeps a
|
|
180
|
+
* line (not its trailing newline) as the unit, matching the +/- a reader
|
|
181
|
+
* counts by eye.
|
|
182
|
+
*/
|
|
183
|
+
declare function computeDiffStats(original: string, current: string): DiffStats;
|
|
184
|
+
/**
|
|
185
|
+
* Build a single-file unified patch (baseline → current) for `@pierre/diffs`'
|
|
186
|
+
* `PatchDiff`. `context: Infinity` would print the whole file; the default
|
|
187
|
+
* 4-line context keeps hunks compact while preserving locality. Equal inputs
|
|
188
|
+
* yield an empty string so callers can treat "" as "no diff".
|
|
189
|
+
*/
|
|
190
|
+
declare function buildUnifiedPatch(filename: string, baseline: string, current: string): string;
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/workbench/panel-header.d.ts
|
|
193
|
+
declare function GitStatusBadge({ status }: {
|
|
194
|
+
status: RichFileTreeGitStatus;
|
|
195
|
+
}): React$1.JSX.Element;
|
|
196
|
+
/** `+added −removed` line counts in mono; the same pair the Changes list prints per file. */
|
|
197
|
+
declare function DiffStatsBadge({ stats, className }: {
|
|
198
|
+
stats: DiffStats;
|
|
199
|
+
className?: string;
|
|
200
|
+
}): React$1.JSX.Element;
|
|
201
|
+
interface PanelHeaderProps {
|
|
202
|
+
filename: string;
|
|
203
|
+
gitStatus?: RichFileTreeGitStatus;
|
|
204
|
+
/** Added/removed line counts; rendered only when provided (Diff view). */
|
|
205
|
+
stats?: DiffStats;
|
|
206
|
+
/** Enables the copy-to-clipboard action when set. */
|
|
207
|
+
copyText?: string;
|
|
208
|
+
/** Extra content rendered at the right edge, before the copy button. */
|
|
209
|
+
children?: React$1.ReactNode;
|
|
210
|
+
className?: string;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Thin bordered chrome bar above the artifact body — filename, git-status
|
|
214
|
+
* badge, optional diff counts, and a copy action. Ported in spirit from
|
|
215
|
+
* blueprint-agent's `PanelHeader` (min-h, hairline bottom border, dense
|
|
216
|
+
* horizontal rhythm), retoned to the sandbox-ui surface ladder.
|
|
217
|
+
*/
|
|
218
|
+
declare function PanelHeader({ filename, gitStatus, stats, copyText, children, className }: PanelHeaderProps): React$1.JSX.Element;
|
|
219
|
+
//#endregion
|
|
220
|
+
//#region src/workbench/file-breadcrumb.d.ts
|
|
221
|
+
interface FileBreadcrumbProps {
|
|
222
|
+
/** Canonical path, e.g. `src/lib/retry.ts`. */
|
|
223
|
+
path: string;
|
|
224
|
+
className?: string;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Slim path breadcrumb for the code panel. Reimplemented (not ported) from
|
|
228
|
+
* blueprint-agent's `FileBreadcrumb` — that one nests a `FileTree` dropdown per
|
|
229
|
+
* segment and couples to the workbench store + framer-motion. Here the rail
|
|
230
|
+
* already owns navigation, so this is a read-only trail: caret-separated parent
|
|
231
|
+
* segments with a file-icon leaf.
|
|
232
|
+
*/
|
|
233
|
+
declare function FileBreadcrumb({ path, className }: FileBreadcrumbProps): React$1.JSX.Element;
|
|
234
|
+
//#endregion
|
|
235
|
+
//#region src/workbench/code-view.d.ts
|
|
236
|
+
interface CodeViewProps {
|
|
237
|
+
path: string;
|
|
238
|
+
filename: string;
|
|
239
|
+
content: string;
|
|
240
|
+
language?: string;
|
|
241
|
+
/** Flat list of paths for the rail; defaults to `[path]`. */
|
|
242
|
+
paths?: ReadonlyArray<string>;
|
|
243
|
+
gitStatus?: ReadonlyArray<RichFileTreeGitEntry>;
|
|
244
|
+
onFileSelect?: (path: string) => void;
|
|
245
|
+
/** Show the file-tree rail. Off for single-file embeds where the host owns navigation. */
|
|
246
|
+
showTree?: boolean;
|
|
247
|
+
className?: string;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Code surface: a fixed-width `RichFileTree` rail (with git-status
|
|
251
|
+
* decorations) beside a breadcrumb-topped, syntax-highlighted read-only file
|
|
252
|
+
* view. The rail owns navigation; selecting a path fans out to `onFileSelect`
|
|
253
|
+
* so the host can swap the active artifact.
|
|
254
|
+
*/
|
|
255
|
+
declare function CodeView({ path, filename, content, language, paths, gitStatus, onFileSelect, showTree, className }: CodeViewProps): React$1.JSX.Element;
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/workbench/diff-view.d.ts
|
|
258
|
+
interface DiffViewProps {
|
|
259
|
+
filename: string;
|
|
260
|
+
baseline: string;
|
|
261
|
+
current: string;
|
|
262
|
+
/** Hide when the surrounding PanelHeader already identifies the file. */
|
|
263
|
+
showFileHeader?: boolean;
|
|
264
|
+
/** Start wrapped so narrow review panes never conceal the end of a line. */
|
|
265
|
+
defaultWrap?: boolean;
|
|
266
|
+
className?: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Keep the maintained renderer for hunking, word diffs and highlighting. A new
|
|
270
|
+
* custom element per effect survives StrictMode remounts without hydrating stale
|
|
271
|
+
* shadow content. Wrapping is a renderer option, not a CSS patch into its shadow
|
|
272
|
+
* root; the plain patch disclosure is the accessible, engine-independent view.
|
|
273
|
+
*/
|
|
274
|
+
declare function DiffView({ filename, baseline, current, showFileHeader, defaultWrap, className }: DiffViewProps): React$1.JSX.Element;
|
|
275
|
+
//#endregion
|
|
276
|
+
//#region src/workbench/preview-policy.d.ts
|
|
277
|
+
type PreviewReadiness = {
|
|
278
|
+
state: "unknown";
|
|
279
|
+
} | {
|
|
280
|
+
state: "checking";
|
|
281
|
+
} | {
|
|
282
|
+
state: "ready";
|
|
283
|
+
checkedAt: string;
|
|
284
|
+
statusCode: number;
|
|
285
|
+
} | {
|
|
286
|
+
state: "failed";
|
|
287
|
+
checkedAt: string;
|
|
288
|
+
message: string;
|
|
289
|
+
};
|
|
290
|
+
type PreviewAccess = {
|
|
291
|
+
state: "unknown";
|
|
292
|
+
} | {
|
|
293
|
+
state: "public" | "authenticated";
|
|
294
|
+
source: "enforced-policy";
|
|
295
|
+
expiresAt?: string;
|
|
296
|
+
};
|
|
297
|
+
//#endregion
|
|
298
|
+
//#region src/workbench/preview-view.d.ts
|
|
299
|
+
interface PreviewViewProps {
|
|
300
|
+
/** A product-authorized preview URL. Relative navigation stays on its origin. */
|
|
301
|
+
url: string;
|
|
302
|
+
allowedOrigins?: readonly string[];
|
|
303
|
+
/** Supply only metadata obtained from the enforcing service, never a UI guess. */
|
|
304
|
+
access?: PreviewAccess;
|
|
305
|
+
readiness?: PreviewReadiness;
|
|
306
|
+
onCheckReadiness?: () => void;
|
|
307
|
+
onNavigate?: (url: string) => void;
|
|
308
|
+
/** Compact app chrome omits the editable address and verification row. */
|
|
309
|
+
variant?: "browser" | "embedded";
|
|
310
|
+
/** Accessible frame title and compact app label. */
|
|
311
|
+
title?: string;
|
|
312
|
+
/** Product actions beside the compact app label. */
|
|
313
|
+
toolbarActions?: React$1.ReactNode;
|
|
314
|
+
className?: string;
|
|
315
|
+
}
|
|
316
|
+
declare function PreviewView({ url, allowedOrigins, access, readiness, onCheckReadiness, onNavigate, variant, title, toolbarActions, className }: PreviewViewProps): React$1.JSX.Element;
|
|
317
|
+
//#endregion
|
|
318
|
+
//#region src/workbench/embedded-app-view.d.ts
|
|
319
|
+
interface EmbeddedApp {
|
|
320
|
+
/** Stable app identity. The host uses it to preserve selection across updates. */
|
|
321
|
+
id: string;
|
|
322
|
+
name: string;
|
|
323
|
+
/** Resolved, credential-free sandbox preview URL. */
|
|
324
|
+
previewUrl?: string;
|
|
325
|
+
/** The host supplies this state from its application or preview service. */
|
|
326
|
+
status: "starting" | "ready" | "unavailable";
|
|
327
|
+
statusMessage?: string;
|
|
328
|
+
}
|
|
329
|
+
interface EmbeddedAppViewProps {
|
|
330
|
+
app: EmbeddedApp;
|
|
331
|
+
/** Product-approved origins, obtained independently of the app URL. */
|
|
332
|
+
allowedOrigins?: readonly string[];
|
|
333
|
+
/** Service-observed HTTP result. Never derive it from iframe load. */
|
|
334
|
+
readiness?: PreviewReadiness;
|
|
335
|
+
/** Enforced access policy, supplied by the host service. */
|
|
336
|
+
access?: PreviewAccess;
|
|
337
|
+
/** Product actions beside the app name in the ready preview header. */
|
|
338
|
+
toolbarActions?: React$1.ReactNode;
|
|
339
|
+
/** Recheck or restart the preview through the host's own service. */
|
|
340
|
+
onRetry?: () => void;
|
|
341
|
+
className?: string;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* An app-sized preview surface for a product workspace.
|
|
345
|
+
* The host owns app discovery, persistence, access policy, and readiness checks.
|
|
346
|
+
*/
|
|
347
|
+
declare function EmbeddedAppView({ app, allowedOrigins, readiness, access, toolbarActions, onRetry, className }: EmbeddedAppViewProps): React$1.JSX.Element;
|
|
348
|
+
//#endregion
|
|
349
|
+
//#region src/workbench/syntax.d.ts
|
|
350
|
+
/** Resolve a Prism language id from an explicit hint or the filename. */
|
|
351
|
+
declare function resolveLanguage(filename: string, explicit?: string): string;
|
|
352
|
+
declare const BRAND_PRISM_THEME: Record<string, CSSProperties>;
|
|
353
|
+
interface CodeSurfaceProps {
|
|
354
|
+
code: string;
|
|
355
|
+
filename: string;
|
|
356
|
+
language?: string;
|
|
357
|
+
showLineNumbers?: boolean;
|
|
358
|
+
className?: string;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Read-only, brand-themed code renderer. Wrapped in a scroll container so the
|
|
362
|
+
* highlighter itself never grows the layout; line numbers sit in a muted,
|
|
363
|
+
* tabular column.
|
|
364
|
+
*/
|
|
365
|
+
declare function CodeSurface({ code, filename, language, showLineNumbers, className }: CodeSurfaceProps): React$1.JSX.Element;
|
|
366
|
+
//#endregion
|
|
367
|
+
export { ArtifactView as A, buildUnifiedPatch as C, PillTabsProps as D, PillTabs as E, SandboxArtifactTerminal as F, ChangesPaneProps as M, SandboxArtifact as N, ChangesPane as O, SandboxArtifactPaneProps as P, DiffStats as S, PillTabItem as T, FileBreadcrumbProps as _, EmbeddedApp as a, PanelHeader as b, PreviewView as c, PreviewReadiness as d, DiffView as f, FileBreadcrumb as g, CodeViewProps as h, resolveLanguage as i, ChangedFile as j, SandboxArtifactPane as k, PreviewViewProps as l, CodeView as m, CodeSurface as n, EmbeddedAppView as o, DiffViewProps as p, CodeSurfaceProps as r, EmbeddedAppViewProps as s, BRAND_PRISM_THEME as t, PreviewAccess as u, DiffStatsBadge as v, computeDiffStats as w, PanelHeaderProps as x, GitStatusBadge as y };
|