@tangle-network/sandbox-ui 0.27.1 → 0.28.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/{chunk-LGCOOUIX.js → chunk-F2M5MN7K.js} +133 -7
- package/dist/dashboard.d.ts +50 -2
- package/dist/dashboard.js +3 -1
- package/dist/globals.css +6 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/styles.css +6 -0
- package/package.json +1 -1
|
@@ -246,6 +246,94 @@ function RailButton({ icon: Icon, label, isActive, badge, onClick, className, sh
|
|
|
246
246
|
}
|
|
247
247
|
return /* @__PURE__ */ jsx2("button", { type: "button", onClick, title: label, className: classes, children: content });
|
|
248
248
|
}
|
|
249
|
+
function RailFlyout({
|
|
250
|
+
icon: Icon,
|
|
251
|
+
label,
|
|
252
|
+
isActive,
|
|
253
|
+
showLabel,
|
|
254
|
+
title,
|
|
255
|
+
children,
|
|
256
|
+
className
|
|
257
|
+
}) {
|
|
258
|
+
const [open, setOpen] = React2.useState(false);
|
|
259
|
+
const ref = React2.useRef(null);
|
|
260
|
+
React2.useEffect(() => {
|
|
261
|
+
if (!open) return;
|
|
262
|
+
const onPointer = (e) => {
|
|
263
|
+
if (ref.current && !ref.current.contains(e.target)) setOpen(false);
|
|
264
|
+
};
|
|
265
|
+
const onKey = (e) => {
|
|
266
|
+
if (e.key === "Escape") setOpen(false);
|
|
267
|
+
};
|
|
268
|
+
document.addEventListener("mousedown", onPointer);
|
|
269
|
+
document.addEventListener("keydown", onKey);
|
|
270
|
+
return () => {
|
|
271
|
+
document.removeEventListener("mousedown", onPointer);
|
|
272
|
+
document.removeEventListener("keydown", onKey);
|
|
273
|
+
};
|
|
274
|
+
}, [open]);
|
|
275
|
+
const triggerClasses = cn(
|
|
276
|
+
"group relative flex shrink-0 items-center rounded-xl transition-all duration-200",
|
|
277
|
+
showLabel ? "w-full justify-start px-3 h-11 gap-3" : "w-11 h-11 justify-center",
|
|
278
|
+
"hover:bg-[var(--accent-surface-soft)] hover:text-[var(--accent-text)]",
|
|
279
|
+
"active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
|
|
280
|
+
isActive || open ? "bg-[var(--accent-surface-strong)] text-[var(--accent-text)]" : "text-muted-foreground",
|
|
281
|
+
className
|
|
282
|
+
);
|
|
283
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("relative", showLabel && "w-full"), children: [
|
|
284
|
+
/* @__PURE__ */ jsxs(
|
|
285
|
+
"button",
|
|
286
|
+
{
|
|
287
|
+
type: "button",
|
|
288
|
+
title: label,
|
|
289
|
+
"aria-haspopup": "menu",
|
|
290
|
+
"aria-expanded": open,
|
|
291
|
+
onClick: () => setOpen((v) => !v),
|
|
292
|
+
className: triggerClasses,
|
|
293
|
+
children: [
|
|
294
|
+
/* @__PURE__ */ jsx2(Icon, { className: "h-5 w-5 shrink-0" }),
|
|
295
|
+
showLabel && /* @__PURE__ */ jsx2("span", { className: "text-sm font-medium", children: label }),
|
|
296
|
+
showLabel && /* @__PURE__ */ jsx2(
|
|
297
|
+
ChevronRightIcon,
|
|
298
|
+
{
|
|
299
|
+
className: cn(
|
|
300
|
+
"ml-auto h-4 w-4 shrink-0 text-muted-foreground/60 transition-transform duration-200",
|
|
301
|
+
open && "rotate-180"
|
|
302
|
+
)
|
|
303
|
+
}
|
|
304
|
+
)
|
|
305
|
+
]
|
|
306
|
+
}
|
|
307
|
+
),
|
|
308
|
+
open && // Anchored to the right edge of the rail item; full-height-independent
|
|
309
|
+
// floating card. `onClickCapture` closes after a child link/button fires
|
|
310
|
+
// so selecting a sub-surface dismisses the flyout.
|
|
311
|
+
/* @__PURE__ */ jsxs(
|
|
312
|
+
"div",
|
|
313
|
+
{
|
|
314
|
+
role: "menu",
|
|
315
|
+
onClickCapture: (e) => {
|
|
316
|
+
const el = e.target;
|
|
317
|
+
if (el.closest("a,button")) setOpen(false);
|
|
318
|
+
},
|
|
319
|
+
className: cn(
|
|
320
|
+
"absolute top-0 z-50 min-w-[12rem] rounded-xl border border-border bg-card p-1.5 shadow-lg",
|
|
321
|
+
showLabel ? "left-full ml-2" : "left-full ml-2"
|
|
322
|
+
),
|
|
323
|
+
children: [
|
|
324
|
+
/* @__PURE__ */ jsx2("p", { className: "px-2 pb-1 pt-1 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground/70 select-none", children: title ?? label }),
|
|
325
|
+
children
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
)
|
|
329
|
+
] });
|
|
330
|
+
}
|
|
331
|
+
function ChevronRightIcon({ className }) {
|
|
332
|
+
return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className, children: [
|
|
333
|
+
/* @__PURE__ */ jsx2("title", { children: "Expand" }),
|
|
334
|
+
/* @__PURE__ */ jsx2("path", { d: "m9 18 6-6-6-6" })
|
|
335
|
+
] });
|
|
336
|
+
}
|
|
249
337
|
function RailModeButton({ mode, icon, label, badge, className, showLabel }) {
|
|
250
338
|
const { panelOpen, mode: currentMode, switchMode } = useSidebar();
|
|
251
339
|
return /* @__PURE__ */ jsx2(
|
|
@@ -1585,6 +1673,7 @@ function SidebarLayoutInner({
|
|
|
1585
1673
|
panel,
|
|
1586
1674
|
logo,
|
|
1587
1675
|
logoHref,
|
|
1676
|
+
railHeaderContent,
|
|
1588
1677
|
user,
|
|
1589
1678
|
isLoading = false,
|
|
1590
1679
|
onLogout,
|
|
@@ -1608,7 +1697,7 @@ function SidebarLayoutInner({
|
|
|
1608
1697
|
return /* @__PURE__ */ jsxs13("div", { className: cn("min-h-screen bg-background text-foreground", className), children: [
|
|
1609
1698
|
/* @__PURE__ */ jsx14("div", { className: cn(hideBelow && HIDE_BELOW_CLASS[hideBelow]), children: /* @__PURE__ */ jsxs13(Sidebar, { className: sidebarClassName, children: [
|
|
1610
1699
|
/* @__PURE__ */ jsxs13(SidebarRail, { children: [
|
|
1611
|
-
logo !== void 0 && /* @__PURE__ */ jsx14(SidebarRailHeader, { className: railLabels ? "justify-start px-4" : void 0
|
|
1700
|
+
(railHeaderContent !== void 0 || logo !== void 0) && /* @__PURE__ */ jsx14(SidebarRailHeader, { className: cn(railLabels && (railHeaderContent !== void 0 ? "px-2" : "justify-start px-4")), children: railHeaderContent !== void 0 ? railHeaderContent : /* @__PURE__ */ jsx14(
|
|
1612
1701
|
Link,
|
|
1613
1702
|
{
|
|
1614
1703
|
href: logoHref,
|
|
@@ -1617,8 +1706,44 @@ function SidebarLayoutInner({
|
|
|
1617
1706
|
children: logo
|
|
1618
1707
|
}
|
|
1619
1708
|
) }),
|
|
1620
|
-
/* @__PURE__ */ jsx14(SidebarRailNav, { className: railLabels ? "px-2" : void 0, children: navItems.map(
|
|
1621
|
-
(item
|
|
1709
|
+
/* @__PURE__ */ jsx14(SidebarRailNav, { className: railLabels ? "px-2" : void 0, children: navItems.map((item) => {
|
|
1710
|
+
if (item.flyoutItems && item.flyoutItems.length > 0) {
|
|
1711
|
+
const activeSet = new Set(item.flyoutActiveIds ?? []);
|
|
1712
|
+
return /* @__PURE__ */ jsx14(
|
|
1713
|
+
RailFlyout,
|
|
1714
|
+
{
|
|
1715
|
+
icon: item.icon,
|
|
1716
|
+
label: item.label,
|
|
1717
|
+
title: item.label,
|
|
1718
|
+
showLabel: railLabels,
|
|
1719
|
+
isActive: activeId === item.id || item.flyoutItems.some((f) => activeSet.has(f.id)),
|
|
1720
|
+
children: item.flyoutItems.map((f) => {
|
|
1721
|
+
const FIcon = f.icon;
|
|
1722
|
+
const active = activeSet.has(f.id);
|
|
1723
|
+
return /* @__PURE__ */ jsxs13(
|
|
1724
|
+
Link,
|
|
1725
|
+
{
|
|
1726
|
+
href: f.href,
|
|
1727
|
+
to: f.href,
|
|
1728
|
+
onClick: handleNavClick,
|
|
1729
|
+
...f.prefetch !== void 0 ? { prefetch: f.prefetch } : {},
|
|
1730
|
+
className: cn(
|
|
1731
|
+
"flex h-9 items-center gap-2.5 rounded-lg px-2.5 text-sm transition-colors",
|
|
1732
|
+
active ? "bg-[var(--accent-surface-strong)] font-medium text-[var(--accent-text)]" : "text-muted-foreground hover:bg-[var(--accent-surface-soft)] hover:text-[var(--accent-text)]"
|
|
1733
|
+
),
|
|
1734
|
+
children: [
|
|
1735
|
+
/* @__PURE__ */ jsx14(FIcon, { className: "h-4 w-4 shrink-0" }),
|
|
1736
|
+
/* @__PURE__ */ jsx14("span", { className: "truncate", children: f.label })
|
|
1737
|
+
]
|
|
1738
|
+
},
|
|
1739
|
+
f.id
|
|
1740
|
+
);
|
|
1741
|
+
})
|
|
1742
|
+
},
|
|
1743
|
+
item.id
|
|
1744
|
+
);
|
|
1745
|
+
}
|
|
1746
|
+
return item.togglesPanel ? /* @__PURE__ */ jsx14(
|
|
1622
1747
|
RailButton,
|
|
1623
1748
|
{
|
|
1624
1749
|
icon: item.icon,
|
|
@@ -1637,8 +1762,8 @@ function SidebarLayoutInner({
|
|
|
1637
1762
|
onClick: handleNavClick,
|
|
1638
1763
|
...item.prefetch !== void 0 ? { prefetch: item.prefetch } : {}
|
|
1639
1764
|
}
|
|
1640
|
-
) }, item.id)
|
|
1641
|
-
) }),
|
|
1765
|
+
) }, item.id);
|
|
1766
|
+
}) }),
|
|
1642
1767
|
(railFooter !== void 0 || hasProfile) && /* @__PURE__ */ jsxs13(SidebarRailFooter, { className: cn("border-t border-border pt-2", railLabels && "items-stretch px-2"), children: [
|
|
1643
1768
|
railFooter,
|
|
1644
1769
|
hasProfile && (() => {
|
|
@@ -2225,13 +2350,13 @@ function VariantList({
|
|
|
2225
2350
|
|
|
2226
2351
|
// src/dashboard/system-logs.tsx
|
|
2227
2352
|
import { Terminal as Terminal3 } from "lucide-react";
|
|
2228
|
-
import { useEffect as useEffect3, useRef as
|
|
2353
|
+
import { useEffect as useEffect3, useRef as useRef3, useState as useState5 } from "react";
|
|
2229
2354
|
import { jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2230
2355
|
function SystemLogsViewer({ apiUrl, token, className }) {
|
|
2231
2356
|
const [logs, setLogs] = useState5([]);
|
|
2232
2357
|
const [error, setError] = useState5(null);
|
|
2233
2358
|
const [isFollowing, setIsFollowing] = useState5(true);
|
|
2234
|
-
const scrollRef =
|
|
2359
|
+
const scrollRef = useRef3(null);
|
|
2235
2360
|
useEffect3(() => {
|
|
2236
2361
|
let timeoutId;
|
|
2237
2362
|
let backoff = 2e3;
|
|
@@ -3107,6 +3232,7 @@ export {
|
|
|
3107
3232
|
SidebarRailFooter,
|
|
3108
3233
|
RailSeparator,
|
|
3109
3234
|
RailButton,
|
|
3235
|
+
RailFlyout,
|
|
3110
3236
|
RailModeButton,
|
|
3111
3237
|
SidebarPanel,
|
|
3112
3238
|
SidebarPanelHeader,
|
package/dist/dashboard.d.ts
CHANGED
|
@@ -69,6 +69,29 @@ interface RailButtonProps {
|
|
|
69
69
|
children?: React.ReactNode;
|
|
70
70
|
}
|
|
71
71
|
declare function RailButton({ icon: Icon, label, isActive, badge, onClick, className, showLabel, asChild, children }: RailButtonProps): react_jsx_runtime.JSX.Element;
|
|
72
|
+
interface RailFlyoutProps {
|
|
73
|
+
icon: React.ComponentType<{
|
|
74
|
+
className?: string;
|
|
75
|
+
}>;
|
|
76
|
+
label: string;
|
|
77
|
+
/** Highlight the trigger (e.g. when a child route is active). */
|
|
78
|
+
isActive?: boolean;
|
|
79
|
+
/** Show the label text beside the icon (labeled rail) vs. icon-only. */
|
|
80
|
+
showLabel?: boolean;
|
|
81
|
+
/** Heading rendered at the top of the open flyout. Defaults to `label`. */
|
|
82
|
+
title?: string;
|
|
83
|
+
/** Flyout body — the sub-surfaces revealed when the item is opened. */
|
|
84
|
+
children: React.ReactNode;
|
|
85
|
+
className?: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A rail entry that reveals its sub-surfaces in a small panel anchored to the
|
|
89
|
+
* RIGHT of the rail item, rather than pushing the rail open with an inline
|
|
90
|
+
* accordion. Opens on click, closes on outside-click, Escape, or selecting an
|
|
91
|
+
* item inside it. Use for a single "door" (e.g. Studio) that fronts several
|
|
92
|
+
* related destinations without permanently spending rail height on them.
|
|
93
|
+
*/
|
|
94
|
+
declare function RailFlyout({ icon: Icon, label, isActive, showLabel, title, children, className, }: RailFlyoutProps): react_jsx_runtime.JSX.Element;
|
|
72
95
|
interface RailModeButtonProps {
|
|
73
96
|
mode: string;
|
|
74
97
|
icon: React.ComponentType<{
|
|
@@ -533,16 +556,34 @@ interface DashboardLayoutProps {
|
|
|
533
556
|
}
|
|
534
557
|
declare function DashboardLayout({ defaultPanelOpen, defaultMode, ...props }: DashboardLayoutProps): react_jsx_runtime.JSX.Element;
|
|
535
558
|
|
|
559
|
+
/** A sub-destination revealed inside a nav item's right-flyout. */
|
|
560
|
+
interface SidebarLayoutFlyoutItem {
|
|
561
|
+
id: string;
|
|
562
|
+
label: string;
|
|
563
|
+
icon: React.ComponentType<{
|
|
564
|
+
className?: string;
|
|
565
|
+
}>;
|
|
566
|
+
href: string;
|
|
567
|
+
prefetch?: "none" | "intent" | "render" | "viewport";
|
|
568
|
+
}
|
|
536
569
|
interface SidebarLayoutNavItem {
|
|
537
570
|
id: string;
|
|
538
571
|
label: string;
|
|
539
572
|
icon: React.ComponentType<{
|
|
540
573
|
className?: string;
|
|
541
574
|
}>;
|
|
542
|
-
/** Destination for link items. Omit when `togglesPanel` is set. */
|
|
575
|
+
/** Destination for link items. Omit when `togglesPanel` or `flyoutItems` is set. */
|
|
543
576
|
href?: string;
|
|
544
577
|
/** Render this item as the panel toggle instead of a link. */
|
|
545
578
|
togglesPanel?: boolean;
|
|
579
|
+
/**
|
|
580
|
+
* Render this item as a right-flyout "door" fronting these sub-destinations
|
|
581
|
+
* instead of a link. The flyout opens to the right of the rail item. Takes
|
|
582
|
+
* precedence over `href`/`togglesPanel`.
|
|
583
|
+
*/
|
|
584
|
+
flyoutItems?: SidebarLayoutFlyoutItem[];
|
|
585
|
+
/** Ids of `flyoutItems` whose route is currently active (drives the door highlight). */
|
|
586
|
+
flyoutActiveIds?: string[];
|
|
546
587
|
badge?: number;
|
|
547
588
|
/**
|
|
548
589
|
* React Router prefetch behavior for this link, forwarded to the underlying
|
|
@@ -563,6 +604,13 @@ interface SidebarLayoutProps {
|
|
|
563
604
|
logo?: React.ReactNode;
|
|
564
605
|
/** Destination for the logo link. */
|
|
565
606
|
logoHref?: string;
|
|
607
|
+
/**
|
|
608
|
+
* Content rendered in the rail header in place of the logo link — e.g. a
|
|
609
|
+
* project/workspace switcher. Spans the header so the app's primary
|
|
610
|
+
* orientation control sits at the top of the rail. When set, `logo`/`logoHref`
|
|
611
|
+
* are ignored. The header keeps its `h-14` height for cross-view alignment.
|
|
612
|
+
*/
|
|
613
|
+
railHeaderContent?: React.ReactNode;
|
|
566
614
|
user?: SidebarUser | null;
|
|
567
615
|
isLoading?: boolean;
|
|
568
616
|
onLogout?: () => void;
|
|
@@ -850,4 +898,4 @@ interface InfoPanelProps {
|
|
|
850
898
|
}
|
|
851
899
|
declare function InfoPanel({ label, title, description, className }: InfoPanelProps): react_jsx_runtime.JSX.Element;
|
|
852
900
|
|
|
853
|
-
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, BackendConfig, type BackendConfigProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type ExposedPort, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, HARNESS_BRAND, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarLayout, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, SnapshotList, type SnapshotListProps, SystemLogsViewer, type SystemLogsViewerProps, type TeamRole, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar };
|
|
901
|
+
export { ActivityFeed, type ActivityFeedProps, type ActivityItem, BackendConfig, type BackendConfigProps, type BackendStatusData, ClusterStatusBar, type ClusterStatusBarProps, type ClusterStatusItem, CreditBalance, type CreditBalanceProps, DashboardLayout, type DashboardLayoutProps, type Profile as DashboardProfile, type SnapshotInfo as DashboardSnapshotInfo, type DashboardUser, type ExposedPort, type GitCommitData, GitPanel, type GitPanelProps, type GitStatusData, HARNESS_BRAND, type HarnessBrand, HarnessLogo, type HarnessLogoProps, HarnessType, INSUFFICIENT_BALANCE_CODE, InfoPanel, type InfoPanelProps, type InsufficientBalance, type Invoice, InvoiceTable, type InvoiceTableProps, type McpServer, MetricAreaChart, type MetricAreaChartProps, type MetricChartPoint, type MetricChartTone, type NavItem, NetworkConfig, type NetworkConfigData, type NetworkConfigProps, NewSandboxCard, type NewSandboxCardProps, OutOfCreditsModal, type OutOfCreditsModalProps, type PlanCardData, PlanCards, type PlanCardsProps, type PlanFeature, PortsList, type PortsListProps, type ProcessInfo, ProcessList, type ProcessListProps, type ProductVariant, ProfileAvatar, type ProfileAvatarProps, ProfileComparison, type ProfileComparisonProps, ProfileSelector, type ProfileSelectorProps, PromoBanner, type PromoBannerProps, RailButton, type RailButtonProps, RailFlyout, type RailFlyoutProps, RailModeButton, type RailModeButtonProps, RailSeparator, type RailSeparatorProps, ResourceMeter, type ResourceMeterProps, ResourceSnapshot, type ResourceSnapshotItem, type ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, type SandboxCardData, type SandboxCardProps, type SandboxStatus, SandboxTable, type SandboxTableProps, Sidebar, SidebarContent, type SidebarContentProps, SidebarLayout, type SidebarLayoutFlyoutItem, type SidebarLayoutNavItem, type SidebarLayoutProps, SidebarPanel, SidebarPanelContent, type SidebarPanelContentProps, SidebarPanelHeader, type SidebarPanelHeaderProps, type SidebarPanelProps, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarRailFooter, type SidebarRailFooterProps, SidebarRailHeader, type SidebarRailHeaderProps, SidebarRailNav, type SidebarRailNavProps, type SidebarRailProps, type SidebarUser, SnapshotList, type SnapshotListProps, SystemLogsViewer, type SystemLogsViewerProps, type TeamRole, UsageSummary, type UsageSummaryData, type UsageSummaryProps, type Variant, VariantList, type VariantListProps, type VariantOutcome, type VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar };
|
package/dist/dashboard.js
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
ProfileSelector,
|
|
20
20
|
PromoBanner,
|
|
21
21
|
RailButton,
|
|
22
|
+
RailFlyout,
|
|
22
23
|
RailModeButton,
|
|
23
24
|
RailSeparator,
|
|
24
25
|
ResourceMeter,
|
|
@@ -47,7 +48,7 @@ import {
|
|
|
47
48
|
canAdminSandbox,
|
|
48
49
|
parseInsufficientBalance,
|
|
49
50
|
useSidebar
|
|
50
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-F2M5MN7K.js";
|
|
51
52
|
import {
|
|
52
53
|
BillingDashboard,
|
|
53
54
|
InfoPanel,
|
|
@@ -106,6 +107,7 @@ export {
|
|
|
106
107
|
ProfileSelector,
|
|
107
108
|
PromoBanner,
|
|
108
109
|
RailButton,
|
|
110
|
+
RailFlyout,
|
|
109
111
|
RailModeButton,
|
|
110
112
|
RailSeparator,
|
|
111
113
|
ResourceMeter,
|
package/dist/globals.css
CHANGED
|
@@ -406,6 +406,9 @@
|
|
|
406
406
|
.left-\[50\%\] {
|
|
407
407
|
left: 50%;
|
|
408
408
|
}
|
|
409
|
+
.left-full {
|
|
410
|
+
left: 100%;
|
|
411
|
+
}
|
|
409
412
|
.z-0 {
|
|
410
413
|
z-index: 0;
|
|
411
414
|
}
|
|
@@ -1102,6 +1105,9 @@
|
|
|
1102
1105
|
.min-w-\[8rem\] {
|
|
1103
1106
|
min-width: 8rem;
|
|
1104
1107
|
}
|
|
1108
|
+
.min-w-\[12rem\] {
|
|
1109
|
+
min-width: 12rem;
|
|
1110
|
+
}
|
|
1105
1111
|
.min-w-\[20px\] {
|
|
1106
1112
|
min-width: 20px;
|
|
1107
1113
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { AgentSessionControls, AgentSessionControlsProps, AgentSessionHarnessCon
|
|
|
8
8
|
export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps } from '@tangle-network/ui/run';
|
|
9
9
|
export { CommandPreview, DiffPreview, GlobResultsPreview, GrepResultsPreview, QuestionPreview, WebSearchPreview, WriteFilePreview } from '@tangle-network/ui/tool-previews';
|
|
10
10
|
export { FileArtifactPane, FileArtifactPaneProps, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, filterFileTree } from '@tangle-network/ui/files';
|
|
11
|
-
export { ActivityFeed, ActivityFeedProps, ActivityItem, BackendConfig, BackendConfigProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, ExposedPort, GitCommitData, GitPanel, GitPanelProps, GitStatusData, HARNESS_BRAND, HarnessBrand, HarnessLogo, HarnessLogoProps, INSUFFICIENT_BALANCE_CODE, InfoPanel, InfoPanelProps, InsufficientBalance, Invoice, InvoiceTable, InvoiceTableProps, McpServer, MetricAreaChart, MetricAreaChartProps, MetricChartPoint, MetricChartTone, NavItem, NetworkConfig, NetworkConfigData, NetworkConfigProps, NewSandboxCard, NewSandboxCardProps, OutOfCreditsModal, OutOfCreditsModalProps, PlanCardData, PlanCards, PlanCardsProps, PlanFeature, PortsList, PortsListProps, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, ResourceMeter, ResourceMeterProps, ResourceSnapshot, ResourceSnapshotItem, ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarLayout, SidebarLayoutNavItem, SidebarLayoutProps, SidebarPanel, SidebarPanelContent, SidebarPanelContentProps, SidebarPanelHeader, SidebarPanelHeaderProps, SidebarPanelProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailFooter, SidebarRailFooterProps, SidebarRailHeader, SidebarRailHeaderProps, SidebarRailNav, SidebarRailNavProps, SidebarRailProps, SidebarUser, SnapshotList, SnapshotListProps, SystemLogsViewer, SystemLogsViewerProps, TeamRole, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar } from './dashboard.js';
|
|
11
|
+
export { ActivityFeed, ActivityFeedProps, ActivityItem, BackendConfig, BackendConfigProps, BackendStatusData, ClusterStatusBar, ClusterStatusBarProps, ClusterStatusItem, CreditBalance, CreditBalanceProps, DashboardLayout, DashboardLayoutProps, DashboardProfile, DashboardSnapshotInfo, DashboardUser, ExposedPort, GitCommitData, GitPanel, GitPanelProps, GitStatusData, HARNESS_BRAND, HarnessBrand, HarnessLogo, HarnessLogoProps, INSUFFICIENT_BALANCE_CODE, InfoPanel, InfoPanelProps, InsufficientBalance, Invoice, InvoiceTable, InvoiceTableProps, McpServer, MetricAreaChart, MetricAreaChartProps, MetricChartPoint, MetricChartTone, NavItem, NetworkConfig, NetworkConfigData, NetworkConfigProps, NewSandboxCard, NewSandboxCardProps, OutOfCreditsModal, OutOfCreditsModalProps, PlanCardData, PlanCards, PlanCardsProps, PlanFeature, PortsList, PortsListProps, ProcessInfo, ProcessList, ProcessListProps, ProductVariant, ProfileAvatar, ProfileAvatarProps, ProfileComparison, ProfileComparisonProps, ProfileSelector, ProfileSelectorProps, PromoBanner, PromoBannerProps, RailButton, RailButtonProps, RailFlyout, RailFlyoutProps, RailModeButton, RailModeButtonProps, RailSeparator, RailSeparatorProps, ResourceMeter, ResourceMeterProps, ResourceSnapshot, ResourceSnapshotItem, ResourceSnapshotProps, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxCardData, SandboxCardProps, SandboxStatus, SandboxTable, SandboxTableProps, Sidebar, SidebarContent, SidebarContentProps, SidebarLayout, SidebarLayoutFlyoutItem, SidebarLayoutNavItem, SidebarLayoutProps, SidebarPanel, SidebarPanelContent, SidebarPanelContentProps, SidebarPanelHeader, SidebarPanelHeaderProps, SidebarPanelProps, SidebarProps, SidebarProvider, SidebarProviderProps, SidebarRail, SidebarRailFooter, SidebarRailFooterProps, SidebarRailHeader, SidebarRailHeaderProps, SidebarRailNav, SidebarRailNavProps, SidebarRailProps, SidebarUser, SnapshotList, SnapshotListProps, SystemLogsViewer, SystemLogsViewerProps, TeamRole, UsageSummary, UsageSummaryData, UsageSummaryProps, Variant, VariantList, VariantListProps, VariantOutcome, VariantStatus, canAdminSandbox, parseInsufficientBalance, useSidebar } from './dashboard.js';
|
|
12
12
|
export { B as Backend, a as BackendSelector, b as BackendSelectorProps, H as HARNESS_OPTIONS, c as HarnessPicker, d as HarnessPickerProps, e as HarnessType, f as chatCapableHarnesses } from './harness-picker-lyeEncN4.js';
|
|
13
13
|
export { D as DEFAULT_FEATURED_MODEL_IDS, M as ModelInfo, a as ModelPicker, b as ModelPickerProps, c as ModelPickerVariant, d as canonicalModelId, e as dedupeModels, f as formatContext, g as formatPricing, m as modelDedupKey } from './model-picker-Cmisf9Y8.js';
|
|
14
14
|
export { B as BillingBalance, a as BillingDashboard, b as BillingDashboardProps, c as BillingSubscription, d as BillingUsage, P as PricingPage, e as PricingPageProps, f as PricingTier, T as TemplateCard, g as TemplateCardData, h as TemplateCardProps, U as UsageChart, i as UsageChartProps, j as UsageDataPoint, k as formatPrice } from './template-card-UhV3pmRC.js';
|
package/dist/index.js
CHANGED
|
@@ -161,6 +161,7 @@ import {
|
|
|
161
161
|
ProfileSelector,
|
|
162
162
|
PromoBanner,
|
|
163
163
|
RailButton,
|
|
164
|
+
RailFlyout,
|
|
164
165
|
RailModeButton,
|
|
165
166
|
RailSeparator,
|
|
166
167
|
ResourceMeter,
|
|
@@ -189,7 +190,7 @@ import {
|
|
|
189
190
|
canAdminSandbox,
|
|
190
191
|
parseInsufficientBalance,
|
|
191
192
|
useSidebar
|
|
192
|
-
} from "./chunk-
|
|
193
|
+
} from "./chunk-F2M5MN7K.js";
|
|
193
194
|
import {
|
|
194
195
|
BillingDashboard,
|
|
195
196
|
InfoPanel,
|
|
@@ -431,6 +432,7 @@ export {
|
|
|
431
432
|
PromoBanner,
|
|
432
433
|
QuestionPreview,
|
|
433
434
|
RailButton,
|
|
435
|
+
RailFlyout,
|
|
434
436
|
RailModeButton,
|
|
435
437
|
RailSeparator,
|
|
436
438
|
RealtimeSessionRegistry,
|
package/dist/styles.css
CHANGED
|
@@ -406,6 +406,9 @@
|
|
|
406
406
|
.left-\[50\%\] {
|
|
407
407
|
left: 50%;
|
|
408
408
|
}
|
|
409
|
+
.left-full {
|
|
410
|
+
left: 100%;
|
|
411
|
+
}
|
|
409
412
|
.z-0 {
|
|
410
413
|
z-index: 0;
|
|
411
414
|
}
|
|
@@ -1102,6 +1105,9 @@
|
|
|
1102
1105
|
.min-w-\[8rem\] {
|
|
1103
1106
|
min-width: 8rem;
|
|
1104
1107
|
}
|
|
1108
|
+
.min-w-\[12rem\] {
|
|
1109
|
+
min-width: 12rem;
|
|
1110
|
+
}
|
|
1105
1111
|
.min-w-\[20px\] {
|
|
1106
1112
|
min-width: 20px;
|
|
1107
1113
|
}
|
package/package.json
CHANGED