@tangle-network/sandbox-ui 0.133.0 → 0.133.2

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.
@@ -458,6 +458,7 @@ function RailButton({ icon: Icon, label, isActive, badge, badgeLabel = defaultBa
458
458
  className: cn$1(classes, child.props.className),
459
459
  "aria-label": child.props["aria-label"] ?? label,
460
460
  "aria-description": child.props["aria-description"] ?? badgeDescription,
461
+ "aria-current": child.props["aria-current"] ?? (isActive ? "page" : void 0),
461
462
  style: {
462
463
  ...child.props.style,
463
464
  ...style
@@ -625,6 +626,7 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
625
626
  else el.setAttribute("inert", "");
626
627
  }, [open]);
627
628
  const activeSet = React$1.useMemo(() => new Set(activeSubIds ?? []), [activeSubIds]);
629
+ const rowCurrent = isActive && activeSet.size === 0 ? "page" : void 0;
628
630
  const triggerRef = React$1.useRef(null);
629
631
  const closeTimer = React$1.useRef(null);
630
632
  const [coords, setCoords] = React$1.useState(null);
@@ -638,6 +640,7 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
638
640
  href: item.href,
639
641
  to: item.href,
640
642
  onClick: onNavigate,
643
+ "aria-current": active ? "page" : void 0,
641
644
  ...item.prefetch !== void 0 ? { prefetch: item.prefetch } : {},
642
645
  className: cn$1("flex h-8 min-w-0 items-center gap-2 rounded-md px-2.5 text-sm transition-colors", MOTION_CONTROL, showLabel && item.actions?.length ? "flex-1" : "w-full flex-none", active ? "bg-[var(--accent-surface-strong)] font-medium text-[var(--accent-text)]" : item.emphasis ? "font-medium text-[var(--accent-text)] hover:underline" : "text-muted-foreground hover:bg-[var(--accent-surface-soft)] hover:text-foreground"),
643
646
  children: [
@@ -735,6 +738,7 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
735
738
  to: href,
736
739
  onClick: onNavigate,
737
740
  "aria-label": label,
741
+ "aria-current": rowCurrent,
738
742
  className: triggerClasses,
739
743
  children: /* @__PURE__ */ jsx(Icon, { className: "h-[17px] w-[17px] shrink-0" })
740
744
  }) : /* @__PURE__ */ jsx("button", {
@@ -802,6 +806,7 @@ function RailExpandable({ icon: Icon, label, href, isActive, showLabel, subItems
802
806
  href,
803
807
  to: href,
804
808
  onClick: onNavigate,
809
+ "aria-current": rowCurrent,
805
810
  className: "flex h-9 min-w-0 flex-1 items-center pr-2.5 text-sm font-medium",
806
811
  children: /* @__PURE__ */ jsx("span", {
807
812
  className: "truncate",
@@ -2900,6 +2905,7 @@ function SidebarLayoutInner({ children, navItems, activeId, panel, logo, logoHre
2900
2905
  href: f.href,
2901
2906
  to: f.href,
2902
2907
  onClick: onNavigate,
2908
+ "aria-current": active ? "page" : void 0,
2903
2909
  ...f.prefetch !== void 0 ? { prefetch: f.prefetch } : {},
2904
2910
  className: cn$1("flex h-9 items-center gap-2.5 rounded-lg px-2.5 text-sm transition-colors", MOTION_CONTROL, 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)]"),
2905
2911
  children: [/* @__PURE__ */ jsx(FIcon, { className: "h-4 w-4 shrink-0" }), /* @__PURE__ */ jsx("span", {
package/dist/dashboard.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-ByNeu9gf.js";
1
+ import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-BbMqXGgc.js";
2
2
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
3
3
  import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-2IRtfx51.js";
4
4
  export { ActivityFeed, BackendSelector, BillingDashboard, DashboardLayout, DashboardPageHeader, GitPanel, HARNESS_BRAND, HARNESS_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, MetricAreaChart, ModelBrandStack, NewSandboxCard, OutOfCreditsModal, PortsList, PricingPage, ProcessList, ProfileAvatar, PromoBanner, RailButton, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailTooltip, ResourceMeter, ResourceSnapshot, SANDBOX_STATUS, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxPageShell, SandboxStatusPill, SandboxTable, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, sandboxStatus, useSidebar };
package/dist/globals.css CHANGED
@@ -7969,6 +7969,15 @@
7969
7969
  line-height: 1.7;
7970
7970
  overflow-wrap: break-word;
7971
7971
  }
7972
+ .tangle-transcript-text, .tangle-prose.tangle-transcript-text {
7973
+ font-family: inherit;
7974
+ font-size: var(--transcript-font-size);
7975
+ line-height: var(--transcript-line-height);
7976
+ }
7977
+ .tangle-transcript-text .tangle-prose {
7978
+ font-size: inherit;
7979
+ line-height: inherit;
7980
+ }
7972
7981
  .tangle-prose :where(p, ul, ol) {
7973
7982
  margin: 0;
7974
7983
  }
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CPS8qGlD.js";
1
+ import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CpezlDh3.js";
2
2
  import { $ as DialogClose, $n as formatCalendarDate, $t as SelectSeparator, A as Chip, An as Tabs, At as Input, B as ContextMenuLabel, Bn as Textarea, Bt as PopoverContent, C as Card, Cn as TableBody, Ct as DropdownMenuTrigger, D as CardHeader, Dn as TableHead, Dt as HelpText, E as CardFooter, En as TableFooter, Et as Heading, F as ContextMenu, Ft as PageShell, G as ContextMenuShortcut, Gn as Toolbar, Gt as SegmentedControl, H as ContextMenuRadioGroup, Hn as TimeSelect, Ht as Progress, I as ContextMenuCheckboxItem, In as TerminalDisplay, It as Pagination, J as ContextMenuSubTrigger, Jn as TooltipProvider, Jt as SelectGroup, K as ContextMenuSub, Kn as Tooltip, Kt as Select, L as ContextMenuContent, Lt as Popover, M as Collapsible, Mn as TabsList, Mt as Metric, N as CollapsibleContent, Nn as TabsTrigger, Nt as MetricStrip, O as CardTitle, On as TableHeader, Ot as IconTile, P as CollapsibleTrigger, Pn as Tag, Pt as PageHeader, Q as Dialog, Qn as buttonVariants, Qt as SelectScrollUpButton, R as ContextMenuGroup, Rt as PopoverAnchor, S as Calendar, Sn as Table, St as DropdownMenuSubTrigger, T as CardDescription, Tn as TableCell, Tt as FilterField, U as ContextMenuRadioItem, Un as ToastContainer, Ut as RadioGroup, V as ContextMenuPortal, Vn as ThemeToggle, Vt as PopoverTrigger, W as ContextMenuSeparator, Wn as ToastProvider, Wt as RadioGroupItem, X as CopyButton, Xn as UploadProgress, Xt as SelectLabel, Y as ContextMenuTrigger, Yn as TooltipTrigger, Yt as SelectItem, Z as DatePicker, Zn as badgeVariants, Zt as SelectScrollDownButton, _ as AvatarFallback, _n as Slider, _t as DropdownMenuRadioItem, a as AlertDialogCancel, an as SheetContent, ar as useToast, at as DialogPortal, b as Button, bn as Switch, bt as DropdownMenuSub, c as AlertDialogFooter, cn as SheetHeader, cr as TangleKnot, ct as DropZone, d as AlertDialogPortal, dn as SheetTitle, dt as DropdownMenuContent, en as SelectTrigger, er as initialsOf, et as DialogContent, f as AlertDialogTitle, fn as SheetTrigger, ft as DropdownMenuGroup, g as Avatar, gn as SkeletonTable, gt as DropdownMenuRadioGroup, hn as SkeletonCard, ht as DropdownMenuPortal, i as AlertDialogAction, in as SheetClose, ir as useTheme, it as DialogOverlay, j as CodeBlock, jn as TabsContent, jt as Label, k as Checkbox, kn as TableRow, kt as InlineCode, l as AlertDialogHeader, ln as SheetOverlay, lt as DropdownMenu, m as AlertTitle, mn as Skeleton, mt as DropdownMenuLabel, n as AlertDescription, nn as Separator, nr as parseCalendarDate, nt as DialogFooter, o as AlertDialogContent, on as SheetDescription, or as SectionTitle, ot as DialogTitle, p as AlertDialogTrigger, pn as SidebarDropZone, pt as DropdownMenuItem, q as ContextMenuSubContent, qn as TooltipContent, qt as SelectContent, r as AlertDialog, rn as Sheet, rr as toneFor, rt as DialogHeader, s as AlertDialogDescription, sn as SheetFooter, sr as Logo, st as DialogTrigger, t as Alert, tn as SelectValue, tr as localToday, tt as DialogDescription, u as AlertDialogOverlay, un as SheetPortal, ut as DropdownMenuCheckboxItem, v as AvatarImage, vn as StatCard, vt as DropdownMenuSeparator, w as CardContent, wn as TableCaption, wt as EmptyState, x as CATEGORY_TONES, xn as TONE_CLASSES, xt as DropdownMenuSubContent, y as Badge, yn as StatusPill, yt as DropdownMenuShortcut, z as ContextMenuItem, zn as TextShimmer, zt as PopoverClose } from "./primitives-KFAPbGBD.js";
3
3
  import { i as WorkspacePaneHeader, n as SHELL_INSET_GUTTER, r as ShellHeader, t as SHELL_HEADER_HEIGHT } from "./shell-header-CTh3oV_e.js";
4
4
  import { _ as StatusBar, a as TaskBoard, b as WorkspaceLayout, c as createShellShouldRevalidate, d as SESSION_CREATED_EVENT, f as dispatchSessionCreated, g as TerminalPanel, h as RuntimePane, i as CalendarView, l as shellShouldRevalidate, m as formatRelativeAge, n as WorkspaceFilesPane, o as SandboxWorkbench, p as useOptimisticSessionItems, r as ApprovalQueue, s as WorkspaceArtifactView, t as ArtifactPane, u as SessionSidebar, v as StatusBanner, y as DirectoryPane } from "./workspace-D3ABWOa9.js";
5
5
  import { i as VaultTree, n as filterFileNodes, r as VAULT_TREE_CHILD_PAGE, t as fileTreeFromPaths } from "./tree-data-DtoCNNBJ.js";
6
- import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-ByNeu9gf.js";
6
+ import { $ as useSidebar, A as parseInsufficientBalance, B as SidebarPanel, C as SandboxStatusPill, D as ResourceMeter, E as ResourceSnapshot, F as RailHeader, G as SidebarRailNav, H as SidebarPanelHeader, I as RailModeButton, J as SIDEBAR_PANEL_WIDTH, K as RailTooltip, L as RailSeparator, M as RailButton, N as RailExpandable, O as INSUFFICIENT_BALANCE_CODE, P as RailFlyout, Q as SidebarProvider, R as Sidebar, S as SANDBOX_STATUS, T as ActivityFeed, U as SidebarRail, V as SidebarPanelContent, W as SidebarRailFooter, X as SIDEBAR_RAIL_WIDTH, Y as SIDEBAR_RAIL_LABELED_WIDTH, Z as SIDEBAR_TOTAL_WIDTH, _ as BackendSelector, a as PortsList, b as SandboxCard, c as SystemLogsViewer, d as DashboardLayout, f as HARNESS_OPTIONS, g as HarnessLogo, h as HARNESS_BRAND, i as TemplateCard, j as ProfileAvatar, k as OutOfCreditsModal, l as MetricAreaChart, m as chatCapableHarnesses, n as SnapshotList, o as GitPanel, p as HarnessPicker, q as SIDEBAR_MOBILE_WIDTH, r as ProcessList, s as UsageSummary, t as PromoBanner, u as SidebarLayout, v as SandboxTable, w as sandboxStatus, x as canAdminSandbox, y as NewSandboxCard, z as SidebarContent } from "./dashboard-BbMqXGgc.js";
7
7
  import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
8
8
  import { a as formatPrice, i as PricingPage, n as SandboxPageShell, o as BillingDashboard, r as UsageChart, t as DashboardPageHeader } from "./page-layout-2IRtfx51.js";
9
9
  import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
package/dist/styles.css CHANGED
@@ -7969,6 +7969,15 @@
7969
7969
  line-height: 1.7;
7970
7970
  overflow-wrap: break-word;
7971
7971
  }
7972
+ .tangle-transcript-text, .tangle-prose.tangle-transcript-text {
7973
+ font-family: inherit;
7974
+ font-size: var(--transcript-font-size);
7975
+ line-height: var(--transcript-line-height);
7976
+ }
7977
+ .tangle-transcript-text .tangle-prose {
7978
+ font-size: inherit;
7979
+ line-height: inherit;
7980
+ }
7972
7981
  .tangle-prose :where(p, ul, ol) {
7973
7982
  margin: 0;
7974
7983
  }
package/dist/tailwind.css CHANGED
@@ -932,6 +932,25 @@
932
932
  * column's min-content width alone, so it cannot squeeze a table. */
933
933
  overflow-wrap: break-word;
934
934
  }
935
+ /* Transcript text: the one size and leading for every chat message body, the
936
+ * person's and the agent's alike (Brand's `--transcript-*` tokens, applied by
937
+ * ui's `TRANSCRIPT_TEXT`). TRANSCRIPT_TEXT's own leading is a layered utility,
938
+ * and the unlayered `.tangle-prose` rule above beats any layered rule, so an
939
+ * agent message (`tangle-prose tangle-transcript-text`) read at 1.7 while the
940
+ * person's read at 1.6. These unlayered rules restore the one scale; they
941
+ * mirror Brand's globals.css, which consumers of this stylesheet do not load. */
942
+ .tangle-transcript-text,
943
+ .tangle-prose.tangle-transcript-text {
944
+ font-family: inherit;
945
+ font-size: var(--transcript-font-size);
946
+ line-height: var(--transcript-line-height);
947
+ }
948
+ /* Markdown inside a transcript container reads at the container's size and
949
+ * leading, not .tangle-prose's own 1.7. */
950
+ .tangle-transcript-text .tangle-prose {
951
+ font-size: inherit;
952
+ line-height: inherit;
953
+ }
935
954
  /* Zero the browser's default block margins at zero specificity (:where) so the
936
955
  * owl selector below owns all vertical rhythm — a plain `.tangle-prose p` reset
937
956
  * (0,1,1) would outrank the owl (0,1,0) and collapse the gap between blocks. */
@@ -1,5 +1,5 @@
1
1
  import { t as cn$1 } from "./utils-DzWbktWG.js";
2
- import { a as PortsList } from "./dashboard-ByNeu9gf.js";
2
+ import { a as PortsList } from "./dashboard-BbMqXGgc.js";
3
3
  import { n as TerminalView } from "./terminal-DmSUfGha.js";
4
4
  import { RichFileTree } from "./files.js";
5
5
  import { n as PreviewView } from "./embedded-app-view-CYb9hevq.js";
package/dist/workbench.js CHANGED
@@ -1,3 +1,3 @@
1
- import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CPS8qGlD.js";
1
+ import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-CpezlDh3.js";
2
2
  import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CYb9hevq.js";
3
3
  export { BRAND_PRISM_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats, resolveLanguage };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.133.0",
3
+ "version": "0.133.2",
4
4
  "license": "MIT",
5
5
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
6
6
  "repository": {