@tangle-network/sandbox-ui 0.3.4 → 0.3.5
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/auth.d.ts +15 -1
- package/dist/auth.js +3 -1
- package/dist/{chunk-COCSO7FG.js → chunk-PCTEG6HR.js} +69 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/pages.d.ts +25 -1
- package/dist/pages.js +541 -221
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
|
@@ -53,4 +53,18 @@ interface AuthHeaderProps {
|
|
|
53
53
|
}
|
|
54
54
|
declare function AuthHeader({ user, loading, variant, apiBaseUrl, menuLinks, className, }: AuthHeaderProps): react_jsx_runtime.JSX.Element;
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
interface LoginLayoutProps {
|
|
57
|
+
brandName?: string;
|
|
58
|
+
tagline?: React.ReactNode;
|
|
59
|
+
subtitle?: string;
|
|
60
|
+
terminalLines?: string[];
|
|
61
|
+
footerLinks?: {
|
|
62
|
+
label: string;
|
|
63
|
+
href: string;
|
|
64
|
+
}[];
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
className?: string;
|
|
67
|
+
}
|
|
68
|
+
declare function LoginLayout({ brandName, tagline, subtitle, terminalLines, footerLinks, children, className, }: LoginLayoutProps): react_jsx_runtime.JSX.Element;
|
|
69
|
+
|
|
70
|
+
export { AuthHeader, type AuthHeaderProps, GitHubLoginButton, type GitHubLoginButtonProps, LoginLayout, type LoginLayoutProps, type SessionUser, UserMenu, type UserMenuProps };
|
package/dist/auth.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AuthHeader,
|
|
3
3
|
GitHubLoginButton,
|
|
4
|
+
LoginLayout,
|
|
4
5
|
UserMenu
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PCTEG6HR.js";
|
|
6
7
|
import "./chunk-B26TQ7SA.js";
|
|
7
8
|
import "./chunk-MCGKDCOR.js";
|
|
8
9
|
import "./chunk-HWLX5NME.js";
|
|
@@ -10,5 +11,6 @@ import "./chunk-RQHJBTEU.js";
|
|
|
10
11
|
export {
|
|
11
12
|
AuthHeader,
|
|
12
13
|
GitHubLoginButton,
|
|
14
|
+
LoginLayout,
|
|
13
15
|
UserMenu
|
|
14
16
|
};
|
|
@@ -166,8 +166,76 @@ function AuthHeader({
|
|
|
166
166
|
);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
// src/auth/login-layout.tsx
|
|
170
|
+
import { Fragment, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
171
|
+
function MaterialIcon({ name, className }) {
|
|
172
|
+
return /* @__PURE__ */ jsx2("span", { className: cn("material-symbols-outlined", className), style: { fontVariationSettings: "'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24" }, children: name });
|
|
173
|
+
}
|
|
174
|
+
function LoginLayout({
|
|
175
|
+
brandName = "Tangle Sandbox",
|
|
176
|
+
tagline,
|
|
177
|
+
subtitle = "Step into the next generation of sandboxed cloud infrastructure. Precise, ethereal, and designed for high-performance development.",
|
|
178
|
+
terminalLines = [
|
|
179
|
+
"Initializing secure environment...",
|
|
180
|
+
"DONE Encrypted bridge established.",
|
|
181
|
+
"Awaiting user authentication..."
|
|
182
|
+
],
|
|
183
|
+
footerLinks = [
|
|
184
|
+
{ label: "Documentation", href: "/docs" },
|
|
185
|
+
{ label: "Support", href: "/support" }
|
|
186
|
+
],
|
|
187
|
+
children,
|
|
188
|
+
className
|
|
189
|
+
}) {
|
|
190
|
+
return /* @__PURE__ */ jsxs2("div", { className: cn("bg-surface text-on-surface font-sans overflow-hidden", className), children: [
|
|
191
|
+
/* @__PURE__ */ jsxs2("div", { className: "fixed inset-0 z-0 overflow-hidden", children: [
|
|
192
|
+
/* @__PURE__ */ jsx2("div", { className: "absolute top-[-10%] left-[-10%] w-[50%] h-[50%] bg-md3-primary/10 rounded-full blur-[120px]" }),
|
|
193
|
+
/* @__PURE__ */ jsx2("div", { className: "absolute bottom-[-10%] right-[-10%] w-[40%] h-[40%] bg-secondary-container/10 rounded-full blur-[100px]" }),
|
|
194
|
+
/* @__PURE__ */ jsx2("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full h-full opacity-20 pointer-events-none", style: { backgroundImage: "radial-gradient(#4a4455 1px, transparent 1px)", backgroundSize: "40px 40px" } })
|
|
195
|
+
] }),
|
|
196
|
+
/* @__PURE__ */ jsxs2("main", { className: "relative z-10 flex flex-col md:flex-row h-screen", children: [
|
|
197
|
+
/* @__PURE__ */ jsxs2("section", { className: "hidden md:flex flex-col justify-between p-12 lg:p-20 w-1/2 h-full", children: [
|
|
198
|
+
/* @__PURE__ */ jsx2("div", { className: "space-y-4", children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3", children: [
|
|
199
|
+
/* @__PURE__ */ jsx2("div", { className: "w-10 h-10 bg-gradient-to-br from-md3-primary to-primary-container rounded-lg flex items-center justify-center shadow-lg shadow-md3-primary/20", children: /* @__PURE__ */ jsx2(MaterialIcon, { name: "terminal", className: "text-on-primary text-2xl" }) }),
|
|
200
|
+
/* @__PURE__ */ jsx2("span", { className: "text-2xl font-extrabold tracking-tighter bg-gradient-to-br from-violet-300 to-violet-600 bg-clip-text text-transparent", children: brandName })
|
|
201
|
+
] }) }),
|
|
202
|
+
/* @__PURE__ */ jsxs2("div", { className: "max-w-lg space-y-6", children: [
|
|
203
|
+
tagline ? /* @__PURE__ */ jsx2("div", { className: "text-5xl lg:text-7xl font-bold tracking-tight leading-none text-white", children: tagline }) : /* @__PURE__ */ jsxs2("h1", { className: "text-5xl lg:text-7xl font-bold tracking-tight leading-none text-white", children: [
|
|
204
|
+
"Orchestrate ",
|
|
205
|
+
/* @__PURE__ */ jsx2("br", {}),
|
|
206
|
+
/* @__PURE__ */ jsx2("span", { className: "text-primary-fixed-dim", children: "Agents" }),
|
|
207
|
+
" in Flow."
|
|
208
|
+
] }),
|
|
209
|
+
/* @__PURE__ */ jsx2("p", { className: "text-on-surface-variant text-lg leading-relaxed font-light", children: subtitle }),
|
|
210
|
+
/* @__PURE__ */ jsxs2("div", { className: "mt-12 bg-surface-container-lowest rounded-xl border border-outline-variant/10 overflow-hidden shadow-2xl", children: [
|
|
211
|
+
/* @__PURE__ */ jsxs2("div", { className: "bg-surface-container-high px-4 py-2 flex items-center gap-2", children: [
|
|
212
|
+
/* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-md3-error/40" }),
|
|
213
|
+
/* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-md3-primary/40" }),
|
|
214
|
+
/* @__PURE__ */ jsx2("div", { className: "w-3 h-3 rounded-full bg-md3-secondary/40" }),
|
|
215
|
+
/* @__PURE__ */ jsx2("span", { className: "ml-4 font-mono text-xs text-on-surface-variant/60", children: "tangle --init-node" })
|
|
216
|
+
] }),
|
|
217
|
+
/* @__PURE__ */ jsx2("div", { className: "p-6 font-mono text-xs space-y-2", children: terminalLines.map((line, i) => /* @__PURE__ */ jsxs2("div", { className: "flex gap-4", children: [
|
|
218
|
+
/* @__PURE__ */ jsx2("span", { className: "text-md3-primary/60", children: String(i + 1).padStart(2, "0") }),
|
|
219
|
+
line.startsWith("DONE") ? /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
220
|
+
/* @__PURE__ */ jsx2("span", { className: "text-primary-fixed-dim", children: "DONE" }),
|
|
221
|
+
/* @__PURE__ */ jsx2("span", { className: "text-on-surface", children: line.replace("DONE ", "") })
|
|
222
|
+
] }) : /* @__PURE__ */ jsx2("span", { className: "text-on-surface", children: line })
|
|
223
|
+
] }, i)) })
|
|
224
|
+
] })
|
|
225
|
+
] }),
|
|
226
|
+
/* @__PURE__ */ jsx2("nav", { className: "flex gap-8 text-sm font-medium text-on-surface-variant", children: footerLinks.map((link) => /* @__PURE__ */ jsxs2("a", { href: link.href, className: "hover:text-md3-primary transition-colors flex items-center gap-2", children: [
|
|
227
|
+
/* @__PURE__ */ jsx2(MaterialIcon, { name: link.label === "Documentation" ? "menu_book" : "contact_support", className: "text-lg" }),
|
|
228
|
+
link.label
|
|
229
|
+
] }, link.href)) })
|
|
230
|
+
] }),
|
|
231
|
+
/* @__PURE__ */ jsx2("section", { className: "w-full md:w-1/2 flex items-center justify-center p-6 lg:p-24 relative", children: /* @__PURE__ */ jsx2("div", { className: "w-full max-w-md bg-surface-container/60 backdrop-blur-[20px] rounded-[2rem] p-8 lg:p-12 shadow-2xl border border-white/5", children }) })
|
|
232
|
+
] })
|
|
233
|
+
] });
|
|
234
|
+
}
|
|
235
|
+
|
|
169
236
|
export {
|
|
170
237
|
GitHubLoginButton,
|
|
171
238
|
UserMenu,
|
|
172
|
-
AuthHeader
|
|
239
|
+
AuthHeader,
|
|
240
|
+
LoginLayout
|
|
173
241
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { R as ReasoningPart, S as SessionMessage, a as SessionPart, T as TextPar
|
|
|
15
15
|
export { FileArtifactPane, FileArtifactPaneProps, FilePreview, FilePreviewProps } from './files.js';
|
|
16
16
|
export { A as AppSidebar, a as AppSidebarProps, B as Backend, b as BackendSelector, c as BackendSelectorProps, C as ClusterStatusBar, d as ClusterStatusBarProps, e as ClusterStatusItem, D as DashboardLayout, f as DashboardLayoutProps, g as DashboardUser, N as NavItem, h as NewSandboxCard, i as NewSandboxCardProps, P as ProfileComparison, j as ProfileComparisonProps, k as ProfileSelector, l as ProfileSelectorProps, R as ResourceMeter, m as ResourceMeterProps, S as SandboxCard, n as SandboxCardData, o as SandboxCardProps, p as SandboxStatus, q as SandboxTable, r as SandboxTableProps, s as SidebarNavItem, t as SidebarSandbox, T as TopNavLink, V as VariantList, u as VariantListProps } from './index-BOjBJwzD.js';
|
|
17
17
|
export { c as BillingDashboard, d as BillingDashboardProps, e as PricingCards, f as PricingPageProps, g as UsageChart, h as UsageChartProps, U as UsageDataPoint } from './usage-chart-CY9xo3KX.js';
|
|
18
|
-
export { AuthHeader, GitHubLoginButton, UserMenu } from './auth.js';
|
|
18
|
+
export { AuthHeader, GitHubLoginButton, LoginLayout, LoginLayoutProps, UserMenu } from './auth.js';
|
|
19
19
|
export { CodeBlock, CopyButton, Markdown, MarkdownProps } from './markdown.js';
|
|
20
20
|
export { AppendUserMessageOptions, ApplySdkEventOptions, BeginAssistantMessageOptions, CompleteAssistantMessageOptions, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream } from './sdk-hooks.js';
|
|
21
21
|
export { d as createAuthFetcher, u as useApiKey, e as useAuth, f as usePtySession } from './use-pty-session-DeZSxOCN.js';
|
package/dist/index.js
CHANGED
|
@@ -5,8 +5,9 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
AuthHeader,
|
|
7
7
|
GitHubLoginButton,
|
|
8
|
+
LoginLayout,
|
|
8
9
|
UserMenu
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PCTEG6HR.js";
|
|
10
11
|
import {
|
|
11
12
|
createAuthFetcher,
|
|
12
13
|
useApiKey,
|
|
@@ -372,6 +373,7 @@ export {
|
|
|
372
373
|
InlineToolItem,
|
|
373
374
|
Input,
|
|
374
375
|
Label,
|
|
376
|
+
LoginLayout,
|
|
375
377
|
Logo,
|
|
376
378
|
Markdown,
|
|
377
379
|
MessageList,
|
package/dist/pages.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { B as BillingSubscription, a as BillingBalance, b as BillingUsage, U as UsageDataPoint, P as PricingTier } from './usage-chart-CY9xo3KX.js';
|
|
3
|
+
import * as React from 'react';
|
|
3
4
|
|
|
4
5
|
type ProductVariant$1 = "sandbox";
|
|
5
6
|
interface BillingPageData {
|
|
@@ -20,6 +21,29 @@ interface BillingPageProps {
|
|
|
20
21
|
}
|
|
21
22
|
declare function BillingPage({ variant, initialData, apiBasePath, onManageSubscription, onAddCredits, onSelectTier, fetchBillingData, }: BillingPageProps): react_jsx_runtime.JSX.Element;
|
|
22
23
|
|
|
24
|
+
interface EnvironmentOption {
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
icon: React.ReactNode;
|
|
29
|
+
color: string;
|
|
30
|
+
}
|
|
31
|
+
interface ProvisioningWizardProps {
|
|
32
|
+
environments?: EnvironmentOption[];
|
|
33
|
+
onSubmit?: (config: ProvisioningConfig) => void;
|
|
34
|
+
onBack?: () => void;
|
|
35
|
+
className?: string;
|
|
36
|
+
}
|
|
37
|
+
interface ProvisioningConfig {
|
|
38
|
+
environment: string;
|
|
39
|
+
cpuCores: number;
|
|
40
|
+
ramGB: number;
|
|
41
|
+
storageGB: number;
|
|
42
|
+
modelTier: string;
|
|
43
|
+
systemPrompt: string;
|
|
44
|
+
}
|
|
45
|
+
declare function ProvisioningWizard({ environments, onSubmit, onBack, className, }: ProvisioningWizardProps): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
23
47
|
type ProductVariant = "sandbox";
|
|
24
48
|
interface StandalonePricingPageProps {
|
|
25
49
|
variant?: ProductVariant;
|
|
@@ -87,4 +111,4 @@ interface ProfilesPageProps {
|
|
|
87
111
|
}
|
|
88
112
|
declare function ProfilesPage({ apiClient, tier, maxProfiles, onCompareClick, title, }: ProfilesPageProps): react_jsx_runtime.JSX.Element;
|
|
89
113
|
|
|
90
|
-
export { BillingPage, type BillingPageData, type BillingPageProps, type ProductVariant$1 as ProductVariant, type Profile, type ProfileFormData, type ProfileMetrics, ProfilesPage, type ProfilesPageProps, StandalonePricingPage, type StandalonePricingPageProps };
|
|
114
|
+
export { BillingPage, type BillingPageData, type BillingPageProps, type EnvironmentOption, type ProductVariant$1 as ProductVariant, type Profile, type ProfileFormData, type ProfileMetrics, ProfilesPage, type ProfilesPageProps, type ProvisioningConfig, ProvisioningWizard, type ProvisioningWizardProps, StandalonePricingPage, type StandalonePricingPageProps };
|