@tangle-network/sandbox-ui 0.118.0 → 0.120.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 +31 -1
- package/dist/{dashboard-D4un5GtD.js → dashboard-CnGK2S3A.js} +11 -11
- package/dist/dashboard.js +1 -1
- package/dist/files.d.ts +1 -1
- package/dist/globals.css +154 -39
- package/dist/index-B6wKsKV6.d.ts +2 -0
- package/dist/{index-CcbhfDa-.d.ts → index-BxFd7DOv.d.ts} +34 -2
- package/dist/{index-z_zNuZHm.d.ts → index-DJyIXUx9.d.ts} +1 -1
- package/dist/{index-BHopt1SR.d.ts → index-SJKueyy4.d.ts} +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/integrations.js +82 -47
- package/dist/pages.d.ts +22 -1
- package/dist/pages.js +270 -223
- package/dist/primitives-BQGtwZX3.js +25 -0
- package/dist/primitives.d.ts +1 -1
- package/dist/primitives.js +1 -1
- package/dist/styles.css +154 -39
- package/dist/{workbench-DxYaeFaa.js → workbench-DuIQZobw.js} +1 -1
- package/dist/workbench.d.ts +1 -1
- package/dist/workbench.js +1 -1
- package/dist/{workspace--bNv-rQy.js → workspace-iRO3GeHT.js} +156 -64
- package/dist/workspace.d.ts +2 -2
- package/dist/workspace.js +2 -2
- package/package.json +3 -3
- package/dist/index-CXX5IpH2.d.ts +0 -2
- package/dist/primitives-N-59i3-7.js +0 -25
package/README.md
CHANGED
|
@@ -232,6 +232,36 @@ function App() {
|
|
|
232
232
|
}
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### Compact workspace files
|
|
236
|
+
|
|
237
|
+
New agent products compose their application shell with `AgentWorkspaceCompanion` from `@tangle-network/agent-app/workspace-react`.
|
|
238
|
+
Use `WorkspaceFilesPane` for its Files content and `WorkspaceArtifactView` for technical artifact rendering.
|
|
239
|
+
Both are exported from `@tangle-network/sandbox-ui/workspace`.
|
|
240
|
+
|
|
241
|
+
```tsx
|
|
242
|
+
<WorkspaceFilesPane
|
|
243
|
+
paths={workspacePaths}
|
|
244
|
+
selectedPath={selectedPath}
|
|
245
|
+
onSelect={openFile}
|
|
246
|
+
onBack={closePreview}
|
|
247
|
+
preview={selectedArtifact ? {
|
|
248
|
+
path: selectedArtifact.path,
|
|
249
|
+
content: <WorkspaceArtifactView artifact={selectedArtifact} />,
|
|
250
|
+
actions: <DownloadFile artifact={selectedArtifact} />,
|
|
251
|
+
} : undefined}
|
|
252
|
+
/>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Pass either a recursive `root: FileNode` or canonical `paths`, including trailing slashes for empty folders.
|
|
256
|
+
A root input returns its original node as the second `onSelect` argument; flat paths have no node metadata.
|
|
257
|
+
The pane uses the shared searchable file tree and retains it while a preview is open.
|
|
258
|
+
Returning to files preserves expansion, selection, and scroll.
|
|
259
|
+
Native search ends when a result is selected.
|
|
260
|
+
Adapters own loading, permissions, errors, file reads, and actions; `emptyState` customizes an empty workspace.
|
|
261
|
+
The preview header exposes Back to files, the selected path, and supplied actions without a second title frame.
|
|
262
|
+
|
|
263
|
+
### Existing sandbox workbench
|
|
264
|
+
|
|
235
265
|
Compose sandbox applications around `SandboxWorkbench` when you want the library’s default operating model:
|
|
236
266
|
|
|
237
267
|
```tsx
|
|
@@ -437,7 +467,7 @@ Retheming is absolutely supported, but the documentation was thinner than it sho
|
|
|
437
467
|
| `/primitives` | Button, Card, Dialog, Badge, Input, Select, Table, Tabs, Toast, etc. |
|
|
438
468
|
| `/chat` | ChatContainer, ChatInput, ChatMessage, AgentTimeline, ThinkingIndicator |
|
|
439
469
|
| `/run` | ToolCallFeed, RunGroup, InlineToolItem, ExpandedToolDetail |
|
|
440
|
-
| `/workspace` | SandboxWorkbench, WorkspaceLayout, DirectoryPane, RuntimePane, StatusBar |
|
|
470
|
+
| `/workspace` | WorkspaceFilesPane, WorkspaceArtifactView, SandboxWorkbench, WorkspaceLayout, DirectoryPane, RuntimePane, StatusBar |
|
|
441
471
|
| `/workbench` | DiffView, ChangesPane, CodeView, artifact and preview components |
|
|
442
472
|
| `/openui` | OpenUIArtifactRenderer and schema types for structured artifact rendering |
|
|
443
473
|
| `/files` | FileTree, FilePreview, FileTabs, FileArtifactPane |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Wt as Logo, o as Button$1 } from "./primitives-
|
|
1
|
+
import { Wt as Logo, o as Button$1 } from "./primitives-BQGtwZX3.js";
|
|
2
2
|
import { t as cn$1 } from "./utils-DzWbktWG.js";
|
|
3
3
|
import { n as MOTION_SURFACE, r as MOTION_TRAVEL, t as MOTION_CONTROL } from "./motion-DkyBRJb9.js";
|
|
4
4
|
import { i as moonshot_default } from "./model-brand-hMyDTUqB.js";
|
|
@@ -10,7 +10,7 @@ import { useEffect, useRef, useState } from "react";
|
|
|
10
10
|
import { createPortal } from "react-dom";
|
|
11
11
|
import { Activity, BarChart2, Bell, Bot, Box, Camera, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Clock, Code2, Copy, Cpu, DollarSign, Download, ExternalLink, File, FileEdit, FilePlus, FileText, GitBranch, GitCommit, Globe, HardDrive, Key, Layers, Loader2, MemoryStick, MessageSquare, Monitor, MoreHorizontal, MoreVertical, Network, PanelLeft, Play, Plug, Plus, Power, PowerOff, RefreshCw, RotateCcw, Server, Settings, ShieldAlert, Skull, Terminal, Timer, Trash2, User, Users, Wrench, X, XCircle } from "lucide-react";
|
|
12
12
|
import { focusField, focusFieldWithin, focusRing, focusRingInset, timeAgo } from "@tangle-network/ui/utils";
|
|
13
|
-
import * as Select from "@radix-ui/react-select";
|
|
13
|
+
import * as Select$1 from "@radix-ui/react-select";
|
|
14
14
|
//#region src/dashboard/sidebar-context.tsx
|
|
15
15
|
const PANEL_OPEN_KEY = "sandbox-sidebar-panel-open";
|
|
16
16
|
const RAIL_COLLAPSED_KEY = "sandbox-sidebar-rail-collapsed";
|
|
@@ -2415,7 +2415,7 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
|
|
|
2415
2415
|
const current = backends.find((b) => b.type === selected);
|
|
2416
2416
|
const triggerText = current?.label ?? placeholder;
|
|
2417
2417
|
const ariaLabel = label ? `${label}: ${triggerText}` : triggerText;
|
|
2418
|
-
const trigger = variant === "pill" ? /* @__PURE__ */ jsxs(Select.Trigger, {
|
|
2418
|
+
const trigger = variant === "pill" ? /* @__PURE__ */ jsxs(Select$1.Trigger, {
|
|
2419
2419
|
"aria-label": ariaLabel,
|
|
2420
2420
|
className: cn$1("inline-flex h-8 items-center gap-1.5 rounded-lg border border-[var(--md3-outline-variant)] bg-surface-container", "px-2.5 text-xs font-medium text-foreground shadow-sm", "transition-colors duration-[var(--transition-fast)]", "hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high", focusRing, "data-[state=open]:border-[var(--md3-outline)] data-[state=open]:bg-surface-container-high", "disabled:opacity-50 disabled:cursor-not-allowed", triggerClassName),
|
|
2421
2421
|
children: [
|
|
@@ -2428,12 +2428,12 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
|
|
|
2428
2428
|
className: "sr-only",
|
|
2429
2429
|
children: current.description
|
|
2430
2430
|
}),
|
|
2431
|
-
/* @__PURE__ */ jsx(Select.Icon, {
|
|
2431
|
+
/* @__PURE__ */ jsx(Select$1.Icon, {
|
|
2432
2432
|
asChild: true,
|
|
2433
2433
|
children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-3 w-3 shrink-0 text-muted-foreground transition-transform duration-[var(--transition-fast)] data-[state=open]:rotate-180" })
|
|
2434
2434
|
})
|
|
2435
2435
|
]
|
|
2436
|
-
}) : /* @__PURE__ */ jsxs(Select.Trigger, {
|
|
2436
|
+
}) : /* @__PURE__ */ jsxs(Select$1.Trigger, {
|
|
2437
2437
|
"aria-label": ariaLabel,
|
|
2438
2438
|
className: cn$1("flex w-full items-center justify-between gap-2 rounded-[var(--radius-md)]", "border border-[var(--md3-outline-variant)] bg-surface-container px-3 py-2.5 text-sm text-left", "transition-colors duration-[var(--transition-fast)]", "hover:border-[var(--md3-outline-variant)] hover:bg-surface-container-high", focusRing, "data-[state=open]:border-[var(--md3-outline)] data-[state=open]:bg-surface-container-high", "disabled:opacity-50 disabled:cursor-not-allowed", triggerClassName),
|
|
2439
2439
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
@@ -2449,7 +2449,7 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
|
|
|
2449
2449
|
children: current.description
|
|
2450
2450
|
})
|
|
2451
2451
|
]
|
|
2452
|
-
}), /* @__PURE__ */ jsx(Select.Icon, {
|
|
2452
|
+
}), /* @__PURE__ */ jsx(Select$1.Icon, {
|
|
2453
2453
|
asChild: true,
|
|
2454
2454
|
children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-[var(--transition-fast)] data-[state=open]:rotate-180" })
|
|
2455
2455
|
})]
|
|
@@ -2459,16 +2459,16 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
|
|
|
2459
2459
|
children: [variant === "field" && label && /* @__PURE__ */ jsx("label", {
|
|
2460
2460
|
className: "block text-xs font-medium text-muted-foreground uppercase tracking-[0.06em]",
|
|
2461
2461
|
children: label
|
|
2462
|
-
}), /* @__PURE__ */ jsxs(Select.Root, {
|
|
2462
|
+
}), /* @__PURE__ */ jsxs(Select$1.Root, {
|
|
2463
2463
|
value: selected,
|
|
2464
2464
|
onValueChange: onChange,
|
|
2465
|
-
children: [trigger, /* @__PURE__ */ jsx(Select.Portal, { children: /* @__PURE__ */ jsx(Select.Content, {
|
|
2465
|
+
children: [trigger, /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsx(Select$1.Content, {
|
|
2466
2466
|
position: "popper",
|
|
2467
2467
|
sideOffset: 4,
|
|
2468
2468
|
className: cn$1("z-50 max-h-[var(--radix-select-content-available-height)] overflow-hidden", variant === "pill" ? "min-w-[240px] max-w-[320px]" : "w-[var(--radix-select-trigger-width)]", "rounded-[var(--radius-md)] border border-[var(--md3-outline-variant)]", "bg-surface-container-highest shadow-[0_8px_30px_rgba(0,0,0,0.45)] ring-1 ring-[#ffffff14]", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[side=bottom]:slide-in-from-top-1"),
|
|
2469
|
-
children: /* @__PURE__ */ jsx(Select.Viewport, {
|
|
2469
|
+
children: /* @__PURE__ */ jsx(Select$1.Viewport, {
|
|
2470
2470
|
className: "max-h-[min(24rem,calc(var(--radix-select-content-available-height)-2px))] overflow-y-auto overscroll-contain p-1",
|
|
2471
|
-
children: backends.map((backend) => /* @__PURE__ */ jsxs(Select.Item, {
|
|
2471
|
+
children: backends.map((backend) => /* @__PURE__ */ jsxs(Select$1.Item, {
|
|
2472
2472
|
value: backend.type,
|
|
2473
2473
|
className: cn$1("relative flex cursor-pointer select-none items-start gap-2.5 rounded-[var(--radius-sm)]", "px-3 py-2 text-sm outline-none", "transition-colors duration-[var(--transition-fast)]", "hover:bg-accent/50 focus:bg-accent/50", "data-[state=checked]:bg-[var(--accent-surface-soft)] data-[state=checked]:text-[var(--brand-primary)]"),
|
|
2474
2474
|
children: [backend.icon && /* @__PURE__ */ jsx("span", {
|
|
@@ -2476,7 +2476,7 @@ function BackendSelector({ backends, selected, onChange, variant = "pill", label
|
|
|
2476
2476
|
children: backend.icon
|
|
2477
2477
|
}), /* @__PURE__ */ jsxs("span", {
|
|
2478
2478
|
className: "flex min-w-0 flex-col",
|
|
2479
|
-
children: [/* @__PURE__ */ jsx(Select.ItemText, { children: /* @__PURE__ */ jsx("span", {
|
|
2479
|
+
children: [/* @__PURE__ */ jsx(Select$1.ItemText, { children: /* @__PURE__ */ jsx("span", {
|
|
2480
2480
|
className: "font-medium",
|
|
2481
2481
|
children: backend.label
|
|
2482
2482
|
}) }), backend.description && /* @__PURE__ */ jsx("span", {
|
package/dist/dashboard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-
|
|
1
|
+
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-CnGK2S3A.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 TemplateCard, o as BillingDashboard, r as UsageChart, t as InfoPanel } from "./info-panel-C9cqDzOL.js";
|
|
4
4
|
export { ActivityFeed, BackendConfig, BackendSelector, BillingDashboard, ClusterStatusBar, CreditBalance, DashboardLayout, GitPanel, HARNESS_BRAND, HARNESS_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InfoPanel, InvoiceTable, MetricAreaChart, ModelBrandStack, NetworkConfig, NewSandboxCard, OutOfCreditsModal, PlanCards, PortsList, PricingPage, ProcessList, ProfileAvatar, ProfileComparison, ProfileSelector, PromoBanner, RailButton, RailCollapseToggle, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailThemeToggle, RailTooltip, ResourceMeter, ResourceSnapshot, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxTable, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, VariantList, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, useSidebar };
|
package/dist/files.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as getCodeLanguage, D as resolveFilePreviewKind, E as parseCsv, S as filterFileTree, T as getSyntaxLanguage, _ as RichFileTreeGitStatus, a as FileNode, b as detectFileFormat, c as FilePreviewProps, d as FileTabsProps, f as FileTree, g as RichFileTreeGitEntry, h as RichFileTree, i as FileFormat, l as FileTabData, m as FileTreeVisibilityOptions, n as FileArtifactPane, o as FilePreview, p as FileTreeProps, r as FileArtifactPaneProps, s as FilePreviewKind, t as CSV_PREVIEW_ROW_LIMIT, u as FileTabs, v as RichFileTreeProps, w as getFormatLabel, x as fileExtension, y as RichFileTreeThemeVars } from "./index-
|
|
1
|
+
import { C as getCodeLanguage, D as resolveFilePreviewKind, E as parseCsv, S as filterFileTree, T as getSyntaxLanguage, _ as RichFileTreeGitStatus, a as FileNode, b as detectFileFormat, c as FilePreviewProps, d as FileTabsProps, f as FileTree, g as RichFileTreeGitEntry, h as RichFileTree, i as FileFormat, l as FileTabData, m as FileTreeVisibilityOptions, n as FileArtifactPane, o as FilePreview, p as FileTreeProps, r as FileArtifactPaneProps, s as FilePreviewKind, t as CSV_PREVIEW_ROW_LIMIT, u as FileTabs, v as RichFileTreeProps, w as getFormatLabel, x as fileExtension, y as RichFileTreeThemeVars } from "./index-B6wKsKV6.js";
|
|
2
2
|
export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, type FileArtifactPaneProps, type FileFormat, type FileNode, FilePreview, type FilePreviewKind, type FilePreviewProps, type FileTabData, FileTabs, type FileTabsProps, FileTree, type FileTreeProps, type FileTreeVisibilityOptions, RichFileTree, type RichFileTreeGitEntry, type RichFileTreeGitStatus, type RichFileTreeProps, type RichFileTreeThemeVars, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind };
|
package/dist/globals.css
CHANGED
|
@@ -525,6 +525,9 @@
|
|
|
525
525
|
.mx-2 {
|
|
526
526
|
margin-inline: calc(var(--spacing) * 2);
|
|
527
527
|
}
|
|
528
|
+
.mx-3 {
|
|
529
|
+
margin-inline: calc(var(--spacing) * 3);
|
|
530
|
+
}
|
|
528
531
|
.mx-4 {
|
|
529
532
|
margin-inline: calc(var(--spacing) * 4);
|
|
530
533
|
}
|
|
@@ -858,6 +861,9 @@
|
|
|
858
861
|
.h-\[220px\] {
|
|
859
862
|
height: 220px;
|
|
860
863
|
}
|
|
864
|
+
.h-\[360px\] {
|
|
865
|
+
height: 360px;
|
|
866
|
+
}
|
|
861
867
|
.h-\[380px\] {
|
|
862
868
|
height: 380px;
|
|
863
869
|
}
|
|
@@ -1293,6 +1299,9 @@
|
|
|
1293
1299
|
.w-\[var\(--tool-icon-size\)\] {
|
|
1294
1300
|
width: var(--tool-icon-size);
|
|
1295
1301
|
}
|
|
1302
|
+
.w-auto {
|
|
1303
|
+
width: auto;
|
|
1304
|
+
}
|
|
1296
1305
|
.w-fit {
|
|
1297
1306
|
width: fit-content;
|
|
1298
1307
|
}
|
|
@@ -1494,6 +1503,9 @@
|
|
|
1494
1503
|
.min-w-14 {
|
|
1495
1504
|
min-width: calc(var(--spacing) * 14);
|
|
1496
1505
|
}
|
|
1506
|
+
.min-w-32 {
|
|
1507
|
+
min-width: calc(var(--spacing) * 32);
|
|
1508
|
+
}
|
|
1497
1509
|
.min-w-40 {
|
|
1498
1510
|
min-width: calc(var(--spacing) * 40);
|
|
1499
1511
|
}
|
|
@@ -1566,6 +1578,9 @@
|
|
|
1566
1578
|
.basis-1\/3 {
|
|
1567
1579
|
flex-basis: calc(1 / 3 * 100%);
|
|
1568
1580
|
}
|
|
1581
|
+
.basis-64 {
|
|
1582
|
+
flex-basis: calc(var(--spacing) * 64);
|
|
1583
|
+
}
|
|
1569
1584
|
.table-fixed {
|
|
1570
1585
|
table-layout: fixed;
|
|
1571
1586
|
}
|
|
@@ -1898,12 +1913,6 @@
|
|
|
1898
1913
|
.gap-y-3 {
|
|
1899
1914
|
row-gap: calc(var(--spacing) * 3);
|
|
1900
1915
|
}
|
|
1901
|
-
:where(.divide-x > :not(:last-child)) {
|
|
1902
|
-
--tw-divide-x-reverse: 0;
|
|
1903
|
-
border-inline-style: var(--tw-border-style);
|
|
1904
|
-
border-inline-start-width: calc(1px * var(--tw-divide-x-reverse));
|
|
1905
|
-
border-inline-end-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
|
|
1906
|
-
}
|
|
1907
1916
|
:where(.divide-y > :not(:last-child)) {
|
|
1908
1917
|
--tw-divide-y-reverse: 0;
|
|
1909
1918
|
border-bottom-style: var(--tw-border-style);
|
|
@@ -2233,9 +2242,6 @@
|
|
|
2233
2242
|
border-color: color-mix(in oklab, var(--color-emerald-500) 40%, transparent);
|
|
2234
2243
|
}
|
|
2235
2244
|
}
|
|
2236
|
-
.border-foreground {
|
|
2237
|
-
border-color: hsl(var(--foreground));
|
|
2238
|
-
}
|
|
2239
2245
|
.border-green-500\/30 {
|
|
2240
2246
|
border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 30%, transparent);
|
|
2241
2247
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -2245,9 +2251,6 @@
|
|
|
2245
2251
|
.border-input {
|
|
2246
2252
|
border-color: hsl(var(--input));
|
|
2247
2253
|
}
|
|
2248
|
-
.border-muted-foreground {
|
|
2249
|
-
border-color: hsl(var(--muted-foreground));
|
|
2250
|
-
}
|
|
2251
2254
|
.border-primary {
|
|
2252
2255
|
border-color: hsl(var(--primary));
|
|
2253
2256
|
}
|
|
@@ -2359,6 +2362,9 @@
|
|
|
2359
2362
|
.bg-\[var\(--accent-surface-strong\)\] {
|
|
2360
2363
|
background-color: var(--accent-surface-strong);
|
|
2361
2364
|
}
|
|
2365
|
+
.bg-\[var\(--bg-input\)\] {
|
|
2366
|
+
background-color: var(--bg-input);
|
|
2367
|
+
}
|
|
2362
2368
|
.bg-\[var\(--bg-root\)\] {
|
|
2363
2369
|
background-color: var(--bg-root);
|
|
2364
2370
|
}
|
|
@@ -2602,6 +2608,9 @@
|
|
|
2602
2608
|
background-color: color-mix(in oklab, var(--color-green-600) 20%, transparent);
|
|
2603
2609
|
}
|
|
2604
2610
|
}
|
|
2611
|
+
.bg-input {
|
|
2612
|
+
background-color: hsl(var(--input));
|
|
2613
|
+
}
|
|
2605
2614
|
.bg-muted {
|
|
2606
2615
|
background-color: hsl(var(--muted));
|
|
2607
2616
|
}
|
|
@@ -3057,12 +3066,18 @@
|
|
|
3057
3066
|
.pb-8 {
|
|
3058
3067
|
padding-bottom: calc(var(--spacing) * 8);
|
|
3059
3068
|
}
|
|
3069
|
+
.pl-1 {
|
|
3070
|
+
padding-left: var(--spacing);
|
|
3071
|
+
}
|
|
3060
3072
|
.pl-2 {
|
|
3061
3073
|
padding-left: calc(var(--spacing) * 2);
|
|
3062
3074
|
}
|
|
3063
3075
|
.pl-3 {
|
|
3064
3076
|
padding-left: calc(var(--spacing) * 3);
|
|
3065
3077
|
}
|
|
3078
|
+
.pl-4 {
|
|
3079
|
+
padding-left: calc(var(--spacing) * 4);
|
|
3080
|
+
}
|
|
3066
3081
|
.pl-6 {
|
|
3067
3082
|
padding-left: calc(var(--spacing) * 6);
|
|
3068
3083
|
}
|
|
@@ -3879,6 +3894,11 @@
|
|
|
3879
3894
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
3880
3895
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
3881
3896
|
}
|
|
3897
|
+
.transition-\[color\,background-color\,border-color\,box-shadow\,transform\,scale\] {
|
|
3898
|
+
transition-property: color,background-color,border-color,box-shadow,transform,scale;
|
|
3899
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
3900
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
3901
|
+
}
|
|
3882
3902
|
.transition-\[color\,background-color\,border-color\,box-shadow\] {
|
|
3883
3903
|
transition-property: color,background-color,border-color,box-shadow;
|
|
3884
3904
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -4110,6 +4130,16 @@
|
|
|
4110
4130
|
border-bottom-style: var(--tw-border-style);
|
|
4111
4131
|
border-bottom-width: 0px;
|
|
4112
4132
|
}
|
|
4133
|
+
.autofill\:caret-\[var\(--text-primary\)\]:autofill {
|
|
4134
|
+
caret-color: var(--text-primary);
|
|
4135
|
+
}
|
|
4136
|
+
.autofill\:shadow-\[inset_0_0_0_1000px_var\(--bg-input\)\]:autofill {
|
|
4137
|
+
--tw-shadow: inset 0 0 0 1000px var(--tw-shadow-color, var(--bg-input));
|
|
4138
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
4139
|
+
}
|
|
4140
|
+
.autofill\:\[-webkit-text-fill-color\:var\(--text-primary\)\]:autofill {
|
|
4141
|
+
-webkit-text-fill-color: var(--text-primary);
|
|
4142
|
+
}
|
|
4113
4143
|
@media (hover: hover) {
|
|
4114
4144
|
.hover\:-translate-y-0\.5:hover {
|
|
4115
4145
|
--tw-translate-y: calc(var(--spacing) * -0.5);
|
|
@@ -4506,6 +4536,9 @@
|
|
|
4506
4536
|
.focus\:border-\[var\(--focus-border-danger\)\]:focus {
|
|
4507
4537
|
border-color: var(--focus-border-danger);
|
|
4508
4538
|
}
|
|
4539
|
+
.focus\:bg-\[var\(--accent-surface-strong\)\]:focus {
|
|
4540
|
+
background-color: var(--accent-surface-strong);
|
|
4541
|
+
}
|
|
4509
4542
|
.focus\:bg-accent:focus {
|
|
4510
4543
|
background-color: hsl(var(--accent));
|
|
4511
4544
|
}
|
|
@@ -4688,12 +4721,29 @@
|
|
|
4688
4721
|
.aria-disabled\:opacity-50[aria-disabled="true"] {
|
|
4689
4722
|
opacity: 50%;
|
|
4690
4723
|
}
|
|
4724
|
+
.aria-invalid\:border-\[var\(--surface-danger-border\)\][aria-invalid="true"] {
|
|
4725
|
+
border-color: var(--surface-danger-border);
|
|
4726
|
+
}
|
|
4727
|
+
@media (hover: hover) {
|
|
4728
|
+
.aria-invalid\:hover\:border-\[var\(--surface-danger-border\)\][aria-invalid="true"]:hover {
|
|
4729
|
+
border-color: var(--surface-danger-border);
|
|
4730
|
+
}
|
|
4731
|
+
}
|
|
4732
|
+
.aria-invalid\:focus\:border-\[var\(--focus-border-danger\)\][aria-invalid="true"]:focus {
|
|
4733
|
+
border-color: var(--focus-border-danger);
|
|
4734
|
+
}
|
|
4735
|
+
.aria-invalid\:focus\:ring-\[var\(--focus-halo-danger\)\][aria-invalid="true"]:focus {
|
|
4736
|
+
--tw-ring-color: var(--focus-halo-danger);
|
|
4737
|
+
}
|
|
4691
4738
|
.data-\[disabled\]\:pointer-events-none[data-disabled] {
|
|
4692
4739
|
pointer-events: none;
|
|
4693
4740
|
}
|
|
4694
4741
|
.data-\[disabled\]\:opacity-50[data-disabled] {
|
|
4695
4742
|
opacity: 50%;
|
|
4696
4743
|
}
|
|
4744
|
+
.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
|
|
4745
|
+
color: hsl(var(--muted-foreground));
|
|
4746
|
+
}
|
|
4697
4747
|
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
|
|
4698
4748
|
--tw-translate-y: var(--spacing);
|
|
4699
4749
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -4736,15 +4786,25 @@
|
|
|
4736
4786
|
.data-\[state\=checked\]\:bg-\[var\(--accent-surface-soft\)\][data-state="checked"] {
|
|
4737
4787
|
background-color: var(--accent-surface-soft);
|
|
4738
4788
|
}
|
|
4789
|
+
.data-\[state\=checked\]\:bg-\[var\(--accent-surface-strong\)\][data-state="checked"] {
|
|
4790
|
+
background-color: var(--accent-surface-strong);
|
|
4791
|
+
}
|
|
4739
4792
|
.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
|
|
4740
4793
|
background-color: hsl(var(--primary));
|
|
4741
4794
|
}
|
|
4795
|
+
.data-\[state\=checked\]\:font-medium[data-state="checked"] {
|
|
4796
|
+
--tw-font-weight: var(--font-weight-medium);
|
|
4797
|
+
font-weight: var(--font-weight-medium);
|
|
4798
|
+
}
|
|
4742
4799
|
.data-\[state\=checked\]\:text-\[var\(--accent-text\)\][data-state="checked"] {
|
|
4743
4800
|
color: var(--accent-text);
|
|
4744
4801
|
}
|
|
4745
4802
|
.data-\[state\=checked\]\:text-\[var\(--brand-primary\)\][data-state="checked"] {
|
|
4746
4803
|
color: var(--brand-primary);
|
|
4747
4804
|
}
|
|
4805
|
+
.data-\[state\=checked\]\:text-foreground[data-state="checked"] {
|
|
4806
|
+
color: hsl(var(--foreground));
|
|
4807
|
+
}
|
|
4748
4808
|
.data-\[state\=inactive\]\:text-muted-foreground[data-state="inactive"] {
|
|
4749
4809
|
color: hsl(var(--muted-foreground));
|
|
4750
4810
|
}
|
|
@@ -4762,6 +4822,9 @@
|
|
|
4762
4822
|
.data-\[state\=open\]\:border-\[var\(--md3-outline-variant\)\][data-state="open"] {
|
|
4763
4823
|
border-color: var(--md3-outline-variant);
|
|
4764
4824
|
}
|
|
4825
|
+
.data-\[state\=open\]\:border-primary[data-state="open"] {
|
|
4826
|
+
border-color: hsl(var(--primary));
|
|
4827
|
+
}
|
|
4765
4828
|
.data-\[state\=open\]\:bg-\[var\(--accent-surface-strong\)\][data-state="open"] {
|
|
4766
4829
|
background-color: var(--accent-surface-strong);
|
|
4767
4830
|
}
|
|
@@ -4813,6 +4876,10 @@
|
|
|
4813
4876
|
.motion-reduce\:transition-none {
|
|
4814
4877
|
transition-property: none;
|
|
4815
4878
|
}
|
|
4879
|
+
.motion-reduce\:duration-0 {
|
|
4880
|
+
--tw-duration: 0ms;
|
|
4881
|
+
transition-duration: 0ms;
|
|
4882
|
+
}
|
|
4816
4883
|
.motion-reduce\:active\:scale-100:active {
|
|
4817
4884
|
--tw-scale-x: 100%;
|
|
4818
4885
|
--tw-scale-y: 100%;
|
|
@@ -4838,6 +4905,23 @@
|
|
|
4838
4905
|
display: none;
|
|
4839
4906
|
}
|
|
4840
4907
|
}
|
|
4908
|
+
@media (width < 40rem) {
|
|
4909
|
+
.max-sm\:col-span-2 {
|
|
4910
|
+
grid-column: span 2 / span 2;
|
|
4911
|
+
}
|
|
4912
|
+
.max-sm\:border-b {
|
|
4913
|
+
border-bottom-style: var(--tw-border-style);
|
|
4914
|
+
border-bottom-width: 1px;
|
|
4915
|
+
}
|
|
4916
|
+
.max-sm\:border-l\! {
|
|
4917
|
+
border-left-style: var(--tw-border-style) !important;
|
|
4918
|
+
border-left-width: 1px !important;
|
|
4919
|
+
}
|
|
4920
|
+
.max-sm\:border-l-0\! {
|
|
4921
|
+
border-left-style: var(--tw-border-style) !important;
|
|
4922
|
+
border-left-width: 0px !important;
|
|
4923
|
+
}
|
|
4924
|
+
}
|
|
4841
4925
|
@media (width >= 40rem) {
|
|
4842
4926
|
.sm\:col-span-1 {
|
|
4843
4927
|
grid-column: span 1 / span 1;
|
|
@@ -4869,6 +4953,9 @@
|
|
|
4869
4953
|
.sm\:w-auto {
|
|
4870
4954
|
width: auto;
|
|
4871
4955
|
}
|
|
4956
|
+
.sm\:min-w-40 {
|
|
4957
|
+
min-width: calc(var(--spacing) * 40);
|
|
4958
|
+
}
|
|
4872
4959
|
.sm\:shrink-0 {
|
|
4873
4960
|
flex-shrink: 0;
|
|
4874
4961
|
}
|
|
@@ -4902,6 +4989,9 @@
|
|
|
4902
4989
|
.sm\:gap-2 {
|
|
4903
4990
|
gap: calc(var(--spacing) * 2);
|
|
4904
4991
|
}
|
|
4992
|
+
.sm\:gap-3 {
|
|
4993
|
+
gap: calc(var(--spacing) * 3);
|
|
4994
|
+
}
|
|
4905
4995
|
.sm\:gap-x-2 {
|
|
4906
4996
|
column-gap: calc(var(--spacing) * 2);
|
|
4907
4997
|
}
|
|
@@ -4927,17 +5017,14 @@
|
|
|
4927
5017
|
.sm\:px-4 {
|
|
4928
5018
|
padding-inline: calc(var(--spacing) * 4);
|
|
4929
5019
|
}
|
|
4930
|
-
.sm\:px-5 {
|
|
4931
|
-
padding-inline: calc(var(--spacing) * 5);
|
|
4932
|
-
}
|
|
4933
5020
|
.sm\:px-6 {
|
|
4934
5021
|
padding-inline: calc(var(--spacing) * 6);
|
|
4935
5022
|
}
|
|
4936
5023
|
.sm\:py-1 {
|
|
4937
5024
|
padding-block: var(--spacing);
|
|
4938
5025
|
}
|
|
4939
|
-
.sm\:
|
|
4940
|
-
padding-
|
|
5026
|
+
.sm\:pr-6 {
|
|
5027
|
+
padding-right: calc(var(--spacing) * 6);
|
|
4941
5028
|
}
|
|
4942
5029
|
.sm\:text-left {
|
|
4943
5030
|
text-align: left;
|
|
@@ -4946,9 +5033,9 @@
|
|
|
4946
5033
|
font-size: var(--text-5xl);
|
|
4947
5034
|
line-height: var(--tw-leading, var(--text-5xl--line-height));
|
|
4948
5035
|
}
|
|
4949
|
-
.sm\:
|
|
4950
|
-
|
|
4951
|
-
|
|
5036
|
+
.sm\:text-sm {
|
|
5037
|
+
font-size: var(--text-sm);
|
|
5038
|
+
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
4952
5039
|
}
|
|
4953
5040
|
.sm\:opacity-0 {
|
|
4954
5041
|
opacity: 0%;
|
|
@@ -4978,6 +5065,9 @@
|
|
|
4978
5065
|
.md\:hidden {
|
|
4979
5066
|
display: none;
|
|
4980
5067
|
}
|
|
5068
|
+
.md\:table-cell {
|
|
5069
|
+
display: table-cell;
|
|
5070
|
+
}
|
|
4981
5071
|
.md\:grid-cols-2 {
|
|
4982
5072
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
4983
5073
|
}
|
|
@@ -5033,6 +5123,9 @@
|
|
|
5033
5123
|
.lg\:grid-cols-4 {
|
|
5034
5124
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
5035
5125
|
}
|
|
5126
|
+
.lg\:grid-cols-5 {
|
|
5127
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
5128
|
+
}
|
|
5036
5129
|
.lg\:grid-cols-6 {
|
|
5037
5130
|
grid-template-columns: repeat(6, minmax(0, 1fr));
|
|
5038
5131
|
}
|
|
@@ -5216,29 +5309,43 @@
|
|
|
5216
5309
|
.\[\&\:not\(\:first-child\)\]\:pt-0:not(:first-child) {
|
|
5217
5310
|
padding-top: 0px;
|
|
5218
5311
|
}
|
|
5312
|
+
.\[\&\>\*\]\:max-w-full > * {
|
|
5313
|
+
max-width: 100%;
|
|
5314
|
+
}
|
|
5315
|
+
.\[\&\>\*\]\:min-w-0 > * {
|
|
5316
|
+
min-width: 0px;
|
|
5317
|
+
}
|
|
5219
5318
|
@media (width < 40rem) {
|
|
5220
|
-
.max-sm\:\[
|
|
5319
|
+
.max-sm\:\[\&\>div\:not\(\:nth-child\(2n\+1\)\)\]\:border-l > div:not(:nth-child(2n+1)) {
|
|
5221
5320
|
border-left-style: var(--tw-border-style);
|
|
5222
5321
|
border-left-width: 1px;
|
|
5223
5322
|
}
|
|
5224
5323
|
}
|
|
5225
|
-
@media (width >=
|
|
5226
|
-
.
|
|
5324
|
+
@media (width >= 40rem) {
|
|
5325
|
+
.sm\:\[\&\>div\:not\(\:nth-child\(3n\+1\)\)\]\:border-l > div:not(:nth-child(3n+1)) {
|
|
5227
5326
|
border-left-style: var(--tw-border-style);
|
|
5228
5327
|
border-left-width: 1px;
|
|
5229
5328
|
}
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5329
|
+
@media (width < 64rem) {
|
|
5330
|
+
.sm\:max-lg\:\[\&\>div\:not\(\:nth-child\(3n\+1\)\)\]\:border-l > div:not(:nth-child(3n+1)) {
|
|
5331
|
+
border-left-style: var(--tw-border-style);
|
|
5332
|
+
border-left-width: 1px;
|
|
5333
|
+
}
|
|
5334
|
+
}
|
|
5335
|
+
.sm\:\[\&\>div\:not\(\:nth-child\(4n\+1\)\)\]\:border-l > div:not(:nth-child(4n+1)) {
|
|
5233
5336
|
border-left-style: var(--tw-border-style);
|
|
5234
5337
|
border-left-width: 1px;
|
|
5235
5338
|
}
|
|
5236
5339
|
}
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
|
|
5240
|
-
|
|
5241
|
-
|
|
5340
|
+
@media (width >= 64rem) {
|
|
5341
|
+
.lg\:\[\&\>div\:not\(\:nth-child\(5n\+1\)\)\]\:border-l > div:not(:nth-child(5n+1)) {
|
|
5342
|
+
border-left-style: var(--tw-border-style);
|
|
5343
|
+
border-left-width: 1px;
|
|
5344
|
+
}
|
|
5345
|
+
.lg\:\[\&\>div\:not\(\:nth-child\(6n\+1\)\)\]\:border-l > div:not(:nth-child(6n+1)) {
|
|
5346
|
+
border-left-style: var(--tw-border-style);
|
|
5347
|
+
border-left-width: 1px;
|
|
5348
|
+
}
|
|
5242
5349
|
}
|
|
5243
5350
|
.\[\&\>span\]\:line-clamp-1 > span {
|
|
5244
5351
|
overflow: hidden;
|
|
@@ -5246,10 +5353,24 @@
|
|
|
5246
5353
|
-webkit-box-orient: vertical;
|
|
5247
5354
|
-webkit-line-clamp: 1;
|
|
5248
5355
|
}
|
|
5356
|
+
.\[\&\>span\]\:min-w-0 > span {
|
|
5357
|
+
min-width: 0px;
|
|
5358
|
+
}
|
|
5359
|
+
.\[\&\>span\]\:text-left > span {
|
|
5360
|
+
text-align: left;
|
|
5361
|
+
}
|
|
5362
|
+
.\[\&\>svg\]\:transition-transform > svg {
|
|
5363
|
+
transition-property: transform, translate, scale, rotate;
|
|
5364
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
5365
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
5366
|
+
}
|
|
5249
5367
|
.\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
|
|
5250
5368
|
border-bottom-style: var(--tw-border-style);
|
|
5251
5369
|
border-bottom-width: 0px;
|
|
5252
5370
|
}
|
|
5371
|
+
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open] > svg {
|
|
5372
|
+
rotate: 180deg;
|
|
5373
|
+
}
|
|
5253
5374
|
[data-sandbox-theme=''] .\[\[data-sandbox-theme\=\'\'\]_\&\]\:invert {
|
|
5254
5375
|
--tw-invert: invert(100%);
|
|
5255
5376
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
@@ -6788,7 +6909,7 @@
|
|
|
6788
6909
|
inherits: false;
|
|
6789
6910
|
initial-value: 0;
|
|
6790
6911
|
}
|
|
6791
|
-
@property --tw-divide-
|
|
6912
|
+
@property --tw-divide-y-reverse {
|
|
6792
6913
|
syntax: "*";
|
|
6793
6914
|
inherits: false;
|
|
6794
6915
|
initial-value: 0;
|
|
@@ -6798,11 +6919,6 @@
|
|
|
6798
6919
|
inherits: false;
|
|
6799
6920
|
initial-value: solid;
|
|
6800
6921
|
}
|
|
6801
|
-
@property --tw-divide-y-reverse {
|
|
6802
|
-
syntax: "*";
|
|
6803
|
-
inherits: false;
|
|
6804
|
-
initial-value: 0;
|
|
6805
|
-
}
|
|
6806
6922
|
@property --tw-gradient-position {
|
|
6807
6923
|
syntax: "*";
|
|
6808
6924
|
inherits: false;
|
|
@@ -7103,9 +7219,8 @@
|
|
|
7103
7219
|
--tw-skew-y: initial;
|
|
7104
7220
|
--tw-space-y-reverse: 0;
|
|
7105
7221
|
--tw-space-x-reverse: 0;
|
|
7106
|
-
--tw-divide-x-reverse: 0;
|
|
7107
|
-
--tw-border-style: solid;
|
|
7108
7222
|
--tw-divide-y-reverse: 0;
|
|
7223
|
+
--tw-border-style: solid;
|
|
7109
7224
|
--tw-gradient-position: initial;
|
|
7110
7225
|
--tw-gradient-from: #0000;
|
|
7111
7226
|
--tw-gradient-via: #0000;
|
|
@@ -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 as RichFileTree$1, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps as RichFileTreeProps$1, 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$1 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$1 as v, getFormatLabel as w, fileExtension as x, RichFileTreeThemeVars as y };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ArtifactPane as ArtifactPane$1, ArtifactPaneProps } from "@tangle-network/ui/primitives";
|
|
2
2
|
import { HTMLAttributes, ReactNode, Ref } from "react";
|
|
3
3
|
import { LucideIcon } from "lucide-react";
|
|
4
|
-
import { FileNode, FileTabData, FileTreeVisibilityOptions } from "@tangle-network/ui/files";
|
|
4
|
+
import { FileNode, FileTabData, FileTreeVisibilityOptions, RichFileTreeProps } from "@tangle-network/ui/files";
|
|
5
5
|
import { ActiveSessionRecord, ActiveSessionStatus, SessionProjectKey } from "@tangle-network/ui/stores";
|
|
6
6
|
import { ChatContainerProps } from "@tangle-network/ui/chat";
|
|
7
7
|
import { OpenUIAction, OpenUIComponentNode } from "@tangle-network/ui/openui";
|
|
@@ -774,4 +774,36 @@ interface ApprovalQueueProps {
|
|
|
774
774
|
*/
|
|
775
775
|
declare function ApprovalQueue({ items, className, onApprove, onReject, renderItemDetail, renderTypeBadge, renderStats, canResolve, header, emptyState, showResolved: controlledShowResolved }: ApprovalQueueProps): import("react").JSX.Element;
|
|
776
776
|
//#endregion
|
|
777
|
-
|
|
777
|
+
//#region src/workspace/workspace-files-pane.d.ts
|
|
778
|
+
interface WorkspaceFilesPreview {
|
|
779
|
+
path: string;
|
|
780
|
+
content: ReactNode;
|
|
781
|
+
actions?: ReactNode;
|
|
782
|
+
}
|
|
783
|
+
type WorkspaceFilesSource = {
|
|
784
|
+
root: FileNode;
|
|
785
|
+
paths?: never;
|
|
786
|
+
} | {
|
|
787
|
+
paths: ReadonlyArray<string>;
|
|
788
|
+
root?: never;
|
|
789
|
+
};
|
|
790
|
+
type WorkspaceFilesPaneProps = Omit<RichFileTreeProps, "root" | "paths" | "onSelect" | "className"> & WorkspaceFilesSource & {
|
|
791
|
+
/** Root inputs preserve the original node. Flat path inputs have no node metadata. */
|
|
792
|
+
onSelect?: (path: string, node?: FileNode) => void;
|
|
793
|
+
preview?: WorkspaceFilesPreview;
|
|
794
|
+
onBack?: () => void;
|
|
795
|
+
/** Supply loading, unavailable, or empty content from the authoritative adapter. */
|
|
796
|
+
emptyState?: ReactNode;
|
|
797
|
+
className?: string;
|
|
798
|
+
};
|
|
799
|
+
/** Compact file navigation shared by workspace companions and standalone panes. */
|
|
800
|
+
declare function WorkspaceFilesPane({ root, paths, onSelect, preview, onBack, emptyState, className, ...treeProps }: WorkspaceFilesPaneProps): import("react").JSX.Element;
|
|
801
|
+
//#endregion
|
|
802
|
+
//#region src/workspace/workspace-artifact-view.d.ts
|
|
803
|
+
interface WorkspaceArtifactViewProps {
|
|
804
|
+
artifact: SandboxWorkbenchArtifact;
|
|
805
|
+
}
|
|
806
|
+
/** The shared technical renderer for workspace files and generated artifacts. */
|
|
807
|
+
declare function WorkspaceArtifactView({ artifact }: WorkspaceArtifactViewProps): import("react").JSX.Element;
|
|
808
|
+
//#endregion
|
|
809
|
+
export { useOptimisticSessionItems as $, SandboxWorkbenchOpenUIArtifact as A, SessionSidebar as B, AgentWorkbench as C, SandboxWorkbenchFileArtifact as D, SandboxWorkbenchCustomArtifact as E, ShellShouldRevalidateArgs as F, SessionSidebarLink as G, SessionSidebarFilter as H, ShellShouldRevalidateOptions as I, SESSION_CREATED_EVENT as J, SessionSidebarProps as K, createShellShouldRevalidate as L, SandboxWorkbenchSessionProps as M, SessionActivityMonitor as N, SandboxWorkbenchLayoutOptions as O, SessionActivityMonitorProps as P, dispatchSessionCreated as Q, shellShouldRevalidate as R, FormAudit as S, SandboxWorkbenchArtifact as T, SessionSidebarGroupBy as U, SessionSidebarBadge as V, SessionSidebarItem as W, SessionOptimisticController as X, SessionCreatedDetail as Y, UseOptimisticSessionItemsOptions as Z, TaskBoardItem as _, WorkspaceFilesPane as a, ContextBadge as at, AuditResults as b, ApprovalConfidenceStat as c, BannerType as ct, ApprovalQueueProps as d, DirectoryPane as dt, RuntimePane as et, CalendarEvent as f, DirectoryPaneProps as ft, TaskBoardColumn as g, WorkspaceLayoutProps as gt, TaskBoard as h, WorkspaceLayout as ht, WorkspaceArtifactViewProps as i, TerminalProps as it, SandboxWorkbenchProps as j, SandboxWorkbenchMarkdownArtifact as k, ApprovalItem as l, StatusBanner as lt, CalendarViewProps as m, WorkspacePaneHeaderProps as mt, ArtifactPaneProps as n, TerminalLine as nt, WorkspaceFilesPaneProps as o, StatusBar as ot, CalendarView as p, WorkspacePaneHeader as pt, SessionSidebarVariant as q, WorkspaceArtifactView as r, TerminalPanel as rt, WorkspaceFilesPreview as s, StatusBarProps as st, ArtifactPane$1 as t, RuntimePaneProps as tt, ApprovalQueue as u, StatusBannerProps as ut, TaskBoardProps as v, SandboxWorkbench as w, AuditResultsProps as x, AuditCheck as y, formatRelativeAge as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { v as ExposedPort } from "./index-CGMpKgB8.js";
|
|
2
|
-
import { _ as RichFileTreeGitStatus, g as RichFileTreeGitEntry } from "./index-
|
|
2
|
+
import { _ as RichFileTreeGitStatus, g as RichFileTreeGitEntry } from "./index-B6wKsKV6.js";
|
|
3
3
|
import { a as PreviewReadiness, i as PreviewAccess } from "./embedded-app-view-B_vMTtJn.js";
|
|
4
4
|
import * as React$1 from "react";
|
|
5
5
|
import { CSSProperties } from "react";
|