@tangle-network/sandbox-ui 0.130.1 → 0.131.1
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/assets.d.ts +16 -2
- package/dist/assets.js +211 -104
- package/dist/{dashboard-BW-rPRwj.js → dashboard-B7mrHa2A.js} +1 -1
- package/dist/dashboard.js +1 -1
- package/dist/globals.css +74 -28
- package/dist/index-BVMgdFU9.d.ts +30 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/dist/primitives-DVo5ldkk.js +25 -0
- package/dist/primitives.d.ts +2 -2
- package/dist/primitives.js +2 -2
- package/dist/styles.css +74 -28
- package/dist/{workbench-C2CzWiZU.js → workbench-syQB06Hc.js} +1 -1
- package/dist/workbench.js +1 -1
- package/dist/{workspace-DRz3SoJc.js → workspace-CgG0B5NC.js} +10 -8
- package/dist/workspace.js +1 -1
- package/package.json +5 -5
- package/dist/index-C6oItkj5.d.ts +0 -30
- package/dist/primitives-JjV1ruzp.js +0 -25
package/dist/styles.css
CHANGED
|
@@ -90,6 +90,9 @@
|
|
|
90
90
|
--default-font-family: var(--font-sans);
|
|
91
91
|
--default-mono-font-family: var(--font-mono);
|
|
92
92
|
--font-display: "Inter", "Geist", sans-serif;
|
|
93
|
+
--text-section--line-height: 1.3;
|
|
94
|
+
--text-section--letter-spacing: -0.01em;
|
|
95
|
+
--text-section--font-weight: 600;
|
|
93
96
|
--radius-full: 999px;
|
|
94
97
|
--shadow-card: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
95
98
|
--shadow-dropdown: 0 8px 30px rgba(0, 0, 0, 0.45);
|
|
@@ -408,6 +411,9 @@
|
|
|
408
411
|
.left-2\.5 {
|
|
409
412
|
left: calc(var(--spacing) * 2.5);
|
|
410
413
|
}
|
|
414
|
+
.left-3 {
|
|
415
|
+
left: calc(var(--spacing) * 3);
|
|
416
|
+
}
|
|
411
417
|
.left-\[50\%\] {
|
|
412
418
|
left: 50%;
|
|
413
419
|
}
|
|
@@ -435,6 +441,12 @@
|
|
|
435
441
|
.z-50 {
|
|
436
442
|
z-index: 50;
|
|
437
443
|
}
|
|
444
|
+
.z-\[1\] {
|
|
445
|
+
z-index: 1;
|
|
446
|
+
}
|
|
447
|
+
.z-\[2\] {
|
|
448
|
+
z-index: 2;
|
|
449
|
+
}
|
|
438
450
|
.z-\[70\] {
|
|
439
451
|
z-index: 70;
|
|
440
452
|
}
|
|
@@ -588,6 +600,9 @@
|
|
|
588
600
|
.-mb-px {
|
|
589
601
|
margin-bottom: -1px;
|
|
590
602
|
}
|
|
603
|
+
.mb-0 {
|
|
604
|
+
margin-bottom: 0px;
|
|
605
|
+
}
|
|
591
606
|
.mb-0\.5 {
|
|
592
607
|
margin-bottom: calc(var(--spacing) * 0.5);
|
|
593
608
|
}
|
|
@@ -736,6 +751,10 @@
|
|
|
736
751
|
width: calc(var(--spacing) * 6);
|
|
737
752
|
height: calc(var(--spacing) * 6);
|
|
738
753
|
}
|
|
754
|
+
.size-7 {
|
|
755
|
+
width: calc(var(--spacing) * 7);
|
|
756
|
+
height: calc(var(--spacing) * 7);
|
|
757
|
+
}
|
|
739
758
|
.size-8 {
|
|
740
759
|
width: calc(var(--spacing) * 8);
|
|
741
760
|
height: calc(var(--spacing) * 8);
|
|
@@ -1570,9 +1589,6 @@
|
|
|
1570
1589
|
.min-w-32 {
|
|
1571
1590
|
min-width: calc(var(--spacing) * 32);
|
|
1572
1591
|
}
|
|
1573
|
-
.min-w-40 {
|
|
1574
|
-
min-width: calc(var(--spacing) * 40);
|
|
1575
|
-
}
|
|
1576
1592
|
.min-w-\[8rem\] {
|
|
1577
1593
|
min-width: 8rem;
|
|
1578
1594
|
}
|
|
@@ -1680,6 +1696,10 @@
|
|
|
1680
1696
|
--tw-translate-x: -50%;
|
|
1681
1697
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1682
1698
|
}
|
|
1699
|
+
.translate-x-px {
|
|
1700
|
+
--tw-translate-x: 1px;
|
|
1701
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1702
|
+
}
|
|
1683
1703
|
.-translate-y-1\/2 {
|
|
1684
1704
|
--tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
|
|
1685
1705
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -2359,9 +2379,6 @@
|
|
|
2359
2379
|
border-color: color-mix(in oklab, var(--color-green-500) 30%, transparent);
|
|
2360
2380
|
}
|
|
2361
2381
|
}
|
|
2362
|
-
.border-input {
|
|
2363
|
-
border-color: hsl(var(--input));
|
|
2364
|
-
}
|
|
2365
2382
|
.border-muted-foreground {
|
|
2366
2383
|
border-color: hsl(var(--muted-foreground));
|
|
2367
2384
|
}
|
|
@@ -2482,9 +2499,6 @@
|
|
|
2482
2499
|
.bg-\[var\(--bg-card\)\] {
|
|
2483
2500
|
background-color: var(--bg-card);
|
|
2484
2501
|
}
|
|
2485
|
-
.bg-\[var\(--bg-input\)\] {
|
|
2486
|
-
background-color: var(--bg-input);
|
|
2487
|
-
}
|
|
2488
2502
|
.bg-\[var\(--bg-root\)\] {
|
|
2489
2503
|
background-color: var(--bg-root);
|
|
2490
2504
|
}
|
|
@@ -2542,6 +2556,9 @@
|
|
|
2542
2556
|
background-color: color-mix(in oklab, var(--code-success) 5%, transparent);
|
|
2543
2557
|
}
|
|
2544
2558
|
}
|
|
2559
|
+
.bg-\[var\(--field-surface\,var\(--bg-input\)\)\] {
|
|
2560
|
+
background-color: var(--field-surface,var(--bg-input));
|
|
2561
|
+
}
|
|
2545
2562
|
.bg-\[var\(--md3-outline-variant\)\] {
|
|
2546
2563
|
background-color: var(--md3-outline-variant);
|
|
2547
2564
|
}
|
|
@@ -2659,6 +2676,12 @@
|
|
|
2659
2676
|
background-color: color-mix(in oklab, hsl(var(--background)) 80%, transparent);
|
|
2660
2677
|
}
|
|
2661
2678
|
}
|
|
2679
|
+
.bg-background\/90 {
|
|
2680
|
+
background-color: hsl(var(--background));
|
|
2681
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2682
|
+
background-color: color-mix(in oklab, hsl(var(--background)) 90%, transparent);
|
|
2683
|
+
}
|
|
2684
|
+
}
|
|
2662
2685
|
.bg-black {
|
|
2663
2686
|
background-color: var(--color-black);
|
|
2664
2687
|
}
|
|
@@ -2674,6 +2697,18 @@
|
|
|
2674
2697
|
background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
|
|
2675
2698
|
}
|
|
2676
2699
|
}
|
|
2700
|
+
.bg-black\/60 {
|
|
2701
|
+
background-color: color-mix(in srgb, #000 60%, transparent);
|
|
2702
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2703
|
+
background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
|
|
2704
|
+
}
|
|
2705
|
+
}
|
|
2706
|
+
.bg-black\/70 {
|
|
2707
|
+
background-color: color-mix(in srgb, #000 70%, transparent);
|
|
2708
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2709
|
+
background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
|
|
2710
|
+
}
|
|
2711
|
+
}
|
|
2677
2712
|
.bg-black\/80 {
|
|
2678
2713
|
background-color: color-mix(in srgb, #000 80%, transparent);
|
|
2679
2714
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -3231,6 +3266,9 @@
|
|
|
3231
3266
|
.pl-8 {
|
|
3232
3267
|
padding-left: calc(var(--spacing) * 8);
|
|
3233
3268
|
}
|
|
3269
|
+
.pl-9 {
|
|
3270
|
+
padding-left: calc(var(--spacing) * 9);
|
|
3271
|
+
}
|
|
3234
3272
|
.pl-11 {
|
|
3235
3273
|
padding-left: calc(var(--spacing) * 11);
|
|
3236
3274
|
}
|
|
@@ -3264,6 +3302,12 @@
|
|
|
3264
3302
|
.font-sans {
|
|
3265
3303
|
font-family: var(--font-sans);
|
|
3266
3304
|
}
|
|
3305
|
+
.text-section {
|
|
3306
|
+
font-size: var(--font-size-xl);
|
|
3307
|
+
line-height: var(--tw-leading, var(--text-section--line-height));
|
|
3308
|
+
letter-spacing: var(--tw-tracking, var(--text-section--letter-spacing));
|
|
3309
|
+
font-weight: var(--tw-font-weight, var(--text-section--font-weight));
|
|
3310
|
+
}
|
|
3267
3311
|
.text-2xl {
|
|
3268
3312
|
font-size: var(--text-2xl);
|
|
3269
3313
|
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
@@ -4190,9 +4234,15 @@
|
|
|
4190
4234
|
-webkit-user-select: none;
|
|
4191
4235
|
user-select: none;
|
|
4192
4236
|
}
|
|
4237
|
+
.\[--field-surface\:hsl\(var\(--card\)\)\] {
|
|
4238
|
+
--field-surface: hsl(var(--card));
|
|
4239
|
+
}
|
|
4193
4240
|
.ring-inset {
|
|
4194
4241
|
--tw-ring-inset: inset;
|
|
4195
4242
|
}
|
|
4243
|
+
.group-focus-within\:opacity-100:is(:where(.group):focus-within *) {
|
|
4244
|
+
opacity: 100%;
|
|
4245
|
+
}
|
|
4196
4246
|
@media (hover: hover) {
|
|
4197
4247
|
.group-hover\:block:is(:where(.group):hover *) {
|
|
4198
4248
|
display: block;
|
|
@@ -4267,10 +4317,6 @@
|
|
|
4267
4317
|
.file\:bg-transparent::file-selector-button {
|
|
4268
4318
|
background-color: transparent;
|
|
4269
4319
|
}
|
|
4270
|
-
.file\:text-sm::file-selector-button {
|
|
4271
|
-
font-size: var(--text-sm);
|
|
4272
|
-
line-height: var(--tw-leading, var(--text-sm--line-height));
|
|
4273
|
-
}
|
|
4274
4320
|
.file\:font-medium::file-selector-button {
|
|
4275
4321
|
--tw-font-weight: var(--font-weight-medium);
|
|
4276
4322
|
font-weight: var(--font-weight-medium);
|
|
@@ -4367,14 +4413,6 @@
|
|
|
4367
4413
|
border-color: color-mix(in oklab, hsl(var(--accent)) 50%, transparent);
|
|
4368
4414
|
}
|
|
4369
4415
|
}
|
|
4370
|
-
.hover\:border-border\/80:hover {
|
|
4371
|
-
border-color: hsl(var(--border));
|
|
4372
|
-
}
|
|
4373
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4374
|
-
.hover\:border-border\/80:hover {
|
|
4375
|
-
border-color: color-mix(in oklab, hsl(var(--border)) 80%, transparent);
|
|
4376
|
-
}
|
|
4377
|
-
}
|
|
4378
4416
|
.hover\:border-destructive\/30:hover {
|
|
4379
4417
|
border-color: hsl(var(--destructive));
|
|
4380
4418
|
}
|
|
@@ -4434,6 +4472,14 @@
|
|
|
4434
4472
|
border-color: color-mix(in oklab, hsl(var(--primary)) 50%, transparent);
|
|
4435
4473
|
}
|
|
4436
4474
|
}
|
|
4475
|
+
.hover\:border-primary\/60:hover {
|
|
4476
|
+
border-color: hsl(var(--primary));
|
|
4477
|
+
}
|
|
4478
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
4479
|
+
.hover\:border-primary\/60:hover {
|
|
4480
|
+
border-color: color-mix(in oklab, hsl(var(--primary)) 60%, transparent);
|
|
4481
|
+
}
|
|
4482
|
+
}
|
|
4437
4483
|
.hover\:\!bg-primary:hover {
|
|
4438
4484
|
background-color: hsl(var(--primary)) !important;
|
|
4439
4485
|
}
|
|
@@ -4669,6 +4715,9 @@
|
|
|
4669
4715
|
.hover\:bg-surface-container-highest:hover {
|
|
4670
4716
|
background-color: var(--md3-surface-container-highest);
|
|
4671
4717
|
}
|
|
4718
|
+
.hover\:bg-transparent:hover {
|
|
4719
|
+
background-color: transparent;
|
|
4720
|
+
}
|
|
4672
4721
|
.hover\:bg-white\/5:hover {
|
|
4673
4722
|
background-color: color-mix(in srgb, #fff 5%, transparent);
|
|
4674
4723
|
}
|
|
@@ -4738,6 +4787,10 @@
|
|
|
4738
4787
|
.hover\:opacity-100:hover {
|
|
4739
4788
|
opacity: 100%;
|
|
4740
4789
|
}
|
|
4790
|
+
.hover\:shadow-md:hover {
|
|
4791
|
+
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
4792
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
4793
|
+
}
|
|
4741
4794
|
.hover\:shadow-sm:hover {
|
|
4742
4795
|
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
4743
4796
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -5759,16 +5812,9 @@
|
|
|
5759
5812
|
rotate: 180deg;
|
|
5760
5813
|
}
|
|
5761
5814
|
@media (pointer:coarse) {
|
|
5762
|
-
.\[\@media\(pointer\:coarse\)\]\:h-10 {
|
|
5763
|
-
height: calc(var(--spacing) * 10);
|
|
5764
|
-
}
|
|
5765
5815
|
.\[\@media\(pointer\:coarse\)\]\:min-h-10 {
|
|
5766
5816
|
min-height: calc(var(--spacing) * 10);
|
|
5767
5817
|
}
|
|
5768
|
-
.\[\@media\(pointer\:coarse\)\]\:text-base {
|
|
5769
|
-
font-size: var(--text-base);
|
|
5770
|
-
line-height: var(--tw-leading, var(--text-base--line-height));
|
|
5771
|
-
}
|
|
5772
5818
|
}
|
|
5773
5819
|
[data-sandbox-theme=''] .\[\[data-sandbox-theme\=\'\'\]_\&\]\:invert {
|
|
5774
5820
|
--tw-invert: invert(100%);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as cn$1 } from "./utils-DzWbktWG.js";
|
|
2
|
-
import { a as PortsList } from "./dashboard-
|
|
2
|
+
import { a as PortsList } from "./dashboard-B7mrHa2A.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-CMRPEvon.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-
|
|
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-syQB06Hc.js";
|
|
2
2
|
import { n as PreviewView, t as EmbeddedAppView } from "./embedded-app-view-CMRPEvon.js";
|
|
3
3
|
export { BRAND_PRISM_THEME, ChangesPane, CodeSurface, CodeView, DiffStatsBadge, DiffView, EmbeddedAppView, FileBreadcrumb, GitStatusBadge, PanelHeader, PillTabs, PreviewView, SandboxArtifactPane, buildUnifiedPatch, computeDiffStats, resolveLanguage };
|
|
@@ -2,7 +2,7 @@ import { t as cn$1 } from "./utils-DzWbktWG.js";
|
|
|
2
2
|
import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
|
|
3
3
|
import { t as MOTION_CONTROL } from "./motion-DkyBRJb9.js";
|
|
4
4
|
import { i as VaultTree, n as filterFileNodes, t as fileTreeFromPaths } from "./tree-data-DtoCNNBJ.js";
|
|
5
|
-
import { ArtifactPane, ArtifactPane as ArtifactPane$1, EmptyState, Input } from "@tangle-network/ui/primitives";
|
|
5
|
+
import { ArtifactPane, ArtifactPane as ArtifactPane$1, Button, EmptyState, Input } from "@tangle-network/ui/primitives";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { Markdown } from "@tangle-network/ui/markdown";
|
|
8
8
|
import { useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
@@ -2496,13 +2496,13 @@ function WorkspaceFilesPane({ root, paths, selectedPath, onSelect, preview, onBa
|
|
|
2496
2496
|
}),
|
|
2497
2497
|
search && !isEmpty && /* @__PURE__ */ jsx("div", {
|
|
2498
2498
|
className: "shrink-0 px-3 pb-2",
|
|
2499
|
-
children: /* @__PURE__ */ jsx(
|
|
2499
|
+
children: /* @__PURE__ */ jsx(Input, {
|
|
2500
2500
|
type: "search",
|
|
2501
|
+
size: "sm",
|
|
2501
2502
|
value: query,
|
|
2502
2503
|
onChange: (event) => setQuery(event.target.value),
|
|
2503
2504
|
placeholder: `Search ${label.toLowerCase()}…`,
|
|
2504
|
-
"aria-label": `Search ${label.toLowerCase()}
|
|
2505
|
-
className: "h-8 w-full rounded-md border border-border bg-input px-3 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring [@media(pointer:coarse)]:h-10 [@media(pointer:coarse)]:text-base"
|
|
2505
|
+
"aria-label": `Search ${label.toLowerCase()}`
|
|
2506
2506
|
})
|
|
2507
2507
|
}),
|
|
2508
2508
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -2519,10 +2519,11 @@ function WorkspaceFilesPane({ root, paths, selectedPath, onSelect, preview, onBa
|
|
|
2519
2519
|
query.trim(),
|
|
2520
2520
|
"”."
|
|
2521
2521
|
]
|
|
2522
|
-
}), /* @__PURE__ */ jsx(
|
|
2522
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
2523
2523
|
type: "button",
|
|
2524
|
+
variant: "outline",
|
|
2525
|
+
size: "sm",
|
|
2524
2526
|
onClick: () => setQuery(""),
|
|
2525
|
-
className: cn$1("inline-flex h-8 items-center rounded-md border border-border px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted", focusRing),
|
|
2526
2527
|
children: "Clear search"
|
|
2527
2528
|
})]
|
|
2528
2529
|
}) : /* @__PURE__ */ jsx(VaultTree, {
|
|
@@ -2545,11 +2546,12 @@ function WorkspaceFilesPane({ root, paths, selectedPath, onSelect, preview, onBa
|
|
|
2545
2546
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
2546
2547
|
className: "flex min-h-10 shrink-0 flex-wrap items-center gap-2 border-b border-border px-3 py-2",
|
|
2547
2548
|
children: [
|
|
2548
|
-
onBack && /* @__PURE__ */ jsxs(
|
|
2549
|
+
onBack && /* @__PURE__ */ jsxs(Button, {
|
|
2549
2550
|
ref: backRef,
|
|
2550
2551
|
type: "button",
|
|
2552
|
+
variant: "bare",
|
|
2551
2553
|
onClick: onBack,
|
|
2552
|
-
className:
|
|
2554
|
+
className: "inline-flex shrink-0 items-center gap-1 rounded-md px-1 py-1 text-sm text-muted-foreground hover:text-foreground",
|
|
2553
2555
|
children: [/* @__PURE__ */ jsx(ArrowLeft, {
|
|
2554
2556
|
"aria-hidden": "true",
|
|
2555
2557
|
className: "h-3.5 w-3.5"
|
package/dist/workspace.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
|
|
2
|
-
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-
|
|
2
|
+
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-CgG0B5NC.js";
|
|
3
3
|
export { ApprovalQueue, ArtifactPane, CalendarView, DirectoryPane, RuntimePane, SESSION_CREATED_EVENT, SandboxWorkbench, SessionSidebar, StatusBanner, StatusBar, TaskBoard, TerminalPanel, WorkspaceArtifactView, WorkspaceFilesPane, WorkspaceLayout, WorkspacePaneHeader, createShellShouldRevalidate, dispatchSessionCreated, formatRelativeAge, shellShouldRevalidate, useOptimisticSessionItems };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/sandbox-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.131.1",
|
|
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": {
|
|
@@ -133,8 +133,8 @@
|
|
|
133
133
|
"@hocuspocus/provider": ">=2.15.0 <5.0.0",
|
|
134
134
|
"@nanostores/react": ">=0.8.4 <2.0.0",
|
|
135
135
|
"@tangle-network/agent-interface": "^1.0.0 || ^2.0.0 || ^3.0.0",
|
|
136
|
-
"@tangle-network/brand": "^1.
|
|
137
|
-
"@tangle-network/ui": "^11.
|
|
136
|
+
"@tangle-network/brand": "^1.19.2",
|
|
137
|
+
"@tangle-network/ui": "^11.30.0",
|
|
138
138
|
"@tanstack/react-query": "^5.0.0",
|
|
139
139
|
"@tiptap/core": ">=3.20.4 <4.0.0",
|
|
140
140
|
"@tiptap/extension-collaboration": ">=3.20.4 <4.0.0",
|
|
@@ -223,8 +223,8 @@
|
|
|
223
223
|
"@storybook/react-vite": "^10.6.0",
|
|
224
224
|
"@tailwindcss/postcss": "^4.3.3",
|
|
225
225
|
"@tangle-network/agent-interface": "3.0.0",
|
|
226
|
-
"@tangle-network/brand": "1.
|
|
227
|
-
"@tangle-network/ui": "11.
|
|
226
|
+
"@tangle-network/brand": "1.19.2",
|
|
227
|
+
"@tangle-network/ui": "11.30.0",
|
|
228
228
|
"@tanstack/react-query": "^5.104.0",
|
|
229
229
|
"@testing-library/dom": "^10.4.2",
|
|
230
230
|
"@testing-library/jest-dom": "^7.0.1",
|
package/dist/index-C6oItkj5.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertProps, AlertTitle, AlertTone, ArtifactPane as ArtifactPane$1, ArtifactPaneProps, Avatar as Avatar$1, AvatarFallback as AvatarFallback$1, AvatarImage as AvatarImage$1, Badge as Badge$1, BadgeProps, Button as Button$1, ButtonProps as ButtonProps$1, CATEGORY_TONES, Card as Card$1, CardContent as CardContent$1, CardDescription as CardDescription$1, CardFooter, CardHeader as CardHeader$1, CardTitle as CardTitle$1, CardTitleProps, CategoryTone, Checkbox, Chip, ChipProps, CodeBlock, CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, Dialog as Dialog$1, DialogClose as DialogClose$1, DialogContent as DialogContent$1, DialogDescription as DialogDescription$1, DialogFooter as DialogFooter$1, DialogHeader as DialogHeader$1, DialogOverlay, DialogPortal, DialogTitle as DialogTitle$1, DialogTrigger as DialogTrigger$1, DropZone, DropZoneProps, DropdownMenu as DropdownMenu$1, DropdownMenuCheckboxItem, DropdownMenuContent as DropdownMenuContent$1, DropdownMenuGroup, DropdownMenuItem as DropdownMenuItem$1, DropdownMenuLabel as DropdownMenuLabel$1, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator as DropdownMenuSeparator$1, DropdownMenuShortcut, DropdownMenuSub as DropdownMenuSub$1, DropdownMenuSubContent as DropdownMenuSubContent$1, DropdownMenuSubTrigger as DropdownMenuSubTrigger$1, DropdownMenuTrigger as DropdownMenuTrigger$1, EmptyState as EmptyState$1, EmptyStateProps, FilterField, FilterFieldProps, Heading, HeadingVariant, HeadingVariant as HeadingVariant$1, HelpText, HelpTextProps, IconTile, IconTileProps, InlineCode, InlineCodeProps, Input as Input$1, InputProps, Label as Label$1, Metric, MetricProps, MetricStrip, MetricStripProps, PageHeader as PageHeader$1, PageHeaderProps, PageHeaderProps as PageHeaderProps$1, PageShell as PageShell$1, PageShellProps, Pagination, PaginationProps, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress as Progress$1, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select as Select$1, SelectContent as SelectContent$1, SelectGroup, SelectItem as SelectItem$1, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger as SelectTrigger$1, SelectValue as SelectValue$1, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarDropZone, SidebarDropZoneProps, Skeleton as Skeleton$1, SkeletonCard as SkeletonCard$1, SkeletonTable, Slider, StatCard as StatCard$1, StatCardProps, StatusPill as StatusPill$1, StatusPillProps as StatusPillProps$1, StatusTone as StatusTone$1, Switch, TONE_CLASSES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableProps, TableRow, Tabs as Tabs$1, TabsContent as TabsContent$1, TabsList as TabsList$1, TabsTrigger as TabsTrigger$1, Tag, TagProps, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, TextShimmerProps, Textarea as Textarea$1, TextareaProps, ThemeToggle, Toast, ToastContainer, ToastProvider, Tone, ToneClasses, Toolbar, ToolbarProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UploadFile, UploadProgress, UploadProgressProps, badgeVariants, buttonVariants, initialsOf, toneFor, useTheme, useToast } from "@tangle-network/ui/primitives";
|
|
2
|
-
import { TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
|
|
3
|
-
import { ElementType, HTMLAttributes, ReactNode } from "react";
|
|
4
|
-
//#region src/primitives/logo.d.ts
|
|
5
|
-
interface LogoProps {
|
|
6
|
-
variant?: "sandbox";
|
|
7
|
-
size?: "sm" | "md" | "lg" | "xl";
|
|
8
|
-
className?: string;
|
|
9
|
-
iconOnly?: boolean;
|
|
10
|
-
}
|
|
11
|
-
/** Keep the Sandbox wordmark API while Brand owns the mark and layout. */
|
|
12
|
-
declare function Logo$1({ variant, size, className, iconOnly }: LogoProps): import("react").JSX.Element;
|
|
13
|
-
declare namespace Logo$1 {
|
|
14
|
-
var displayName: string;
|
|
15
|
-
}
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/primitives/heading.d.ts
|
|
18
|
-
/** Preserve the existing public type's required visual role and children.
|
|
19
|
-
* The binding above remains UI's object, without a local render function.
|
|
20
|
-
*/
|
|
21
|
-
interface HeadingProps extends Omit<HTMLAttributes<HTMLElement>, "role"> {
|
|
22
|
-
role: HeadingVariant;
|
|
23
|
-
as?: ElementType;
|
|
24
|
-
children: ReactNode;
|
|
25
|
-
}
|
|
26
|
-
type SectionTitleProps = Pick<PageHeaderProps, "title" | "description" | "action" | "className">;
|
|
27
|
-
/** Compatibility name for the canonical nested (h2) page header. */
|
|
28
|
-
declare function SectionTitle(props: SectionTitleProps): import("react").JSX.Element;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { ContextMenuShortcut as $, TableProps as $n, PageShell$1 as $t, CardFooter as A, SheetPortal as An, badgeVariants as Ar, DropdownMenuSubTrigger$1 as At, Collapsible as B, StatCardProps as Bn, LogoProps as Br, IconTile as Bt, BadgeProps as C, Sheet as Cn, Tooltip as Cr, DropdownMenuPortal as Ct, Card$1 as D, SheetFooter as Dn, UploadFile as Dr, DropdownMenuShortcut as Dt, CATEGORY_TONES as E, SheetDescription as En, TooltipTrigger as Er, DropdownMenuSeparator$1 as Et, Checkbox as F, Skeleton$1 as Fn, useToast as Fr, FilterFieldProps as Ft, ContextMenuContent as G, TONE_CLASSES as Gn, InputProps as Gt, CollapsibleTrigger as H, StatusPillProps$1 as Hn, InlineCode as Ht, Chip as I, SkeletonCard$1 as In, HeadingProps as Ir, Heading as It, ContextMenuLabel as J, TableCaption as Jn, MetricProps as Jt, ContextMenuGroup as K, Table as Kn, Label$1 as Kt, ChipProps as L, SkeletonTable as Ln, SectionTitle as Lr, HeadingVariant$1 as Lt, CardTitle$1 as M, SheetTrigger as Mn, initialsOf as Mr, EmptyState$1 as Mt, CardTitleProps as N, SidebarDropZone as Nn, toneFor as Nr, EmptyStateProps as Nt, CardContent$1 as O, SheetHeader as On, UploadProgress as Or, DropdownMenuSub$1 as Ot, CategoryTone as P, SidebarDropZoneProps as Pn, useTheme as Pr, FilterField as Pt, ContextMenuSeparator as Q, TableHeader as Qn, PageHeaderProps$1 as Qt, CodeBlock as R, Slider as Rn, SectionTitleProps as Rr, HelpText as Rt, Badge$1 as S, Separator as Sn, ToolbarProps as Sr, DropdownMenuLabel$1 as St, ButtonProps$1 as T, SheetContent as Tn, TooltipProvider as Tr, DropdownMenuRadioItem as Tt, ContextMenu as U, StatusTone$1 as Un, InlineCodeProps as Ut, CollapsibleContent as V, StatusPill$1 as Vn, TangleKnot$1 as Vr, IconTileProps as Vt, ContextMenuCheckboxItem as W, Switch as Wn, Input$1 as Wt, ContextMenuRadioGroup as X, TableFooter as Xn, MetricStripProps as Xt, ContextMenuPortal as Y, TableCell as Yn, MetricStrip as Yt, ContextMenuRadioItem as Z, TableHead as Zn, PageHeader$1 as Zt, ArtifactPane$1 as _, SelectScrollDownButton as _n, ToastContainer as _r, DropdownMenu$1 as _t, AlertDialogCancel as a, PopoverClose as an, Tag as ar, Dialog$1 as at, AvatarFallback$1 as b, SelectTrigger$1 as bn, ToneClasses as br, DropdownMenuGroup as bt, AlertDialogFooter as c, Progress$1 as cn, TerminalDisplay as cr, DialogDescription$1 as ct, AlertDialogPortal as d, SegmentedControlProps as dn, TextShimmer as dr, DialogOverlay as dt, PageShellProps as en, TableRow as er, ContextMenuSub as et, AlertDialogTitle as f, Select$1 as fn, TextShimmerProps as fr, DialogPortal as ft, AlertTone as g, SelectLabel as gn, Toast as gr, DropZoneProps as gt, AlertTitle as h, SelectItem$1 as hn, ThemeToggle as hr, DropZone as ht, AlertDialogAction as i, PopoverAnchor as in, TabsTrigger$1 as ir, CopyButton as it, CardHeader$1 as j, SheetTitle as jn, buttonVariants as jr, DropdownMenuTrigger$1 as jt, CardDescription$1 as k, SheetOverlay as kn, UploadProgressProps as kr, DropdownMenuSubContent$1 as kt, AlertDialogHeader as l, SegmentedControl as ln, TerminalInput as lr, DialogFooter$1 as lt, AlertProps as m, SelectGroup as mn, TextareaProps as mr, DialogTrigger$1 as mt, AlertDescription as n, PaginationProps as nn, TabsContent$1 as nr, ContextMenuSubTrigger as nt, AlertDialogContent as o, PopoverContent as on, TagProps as or, DialogClose$1 as ot, AlertDialogTrigger as p, SelectContent$1 as pn, Textarea$1 as pr, DialogTitle$1 as pt, ContextMenuItem as q, TableBody as qn, Metric as qt, AlertDialog as r, Popover as rn, TabsList$1 as rr, ContextMenuTrigger as rt, AlertDialogDescription as s, PopoverTrigger as sn, TerminalCursor as sr, DialogContent$1 as st, Alert as t, Pagination as tn, Tabs$1 as tr, ContextMenuSubContent as tt, AlertDialogOverlay as u, SegmentedControlOption as un, TerminalLine as ur, DialogHeader$1 as ut, ArtifactPaneProps as v, SelectScrollUpButton as vn, ToastProvider as vr, DropdownMenuCheckboxItem as vt, Button$1 as w, SheetClose as wn, TooltipContent as wr, DropdownMenuRadioGroup as wt, AvatarImage$1 as x, SelectValue$1 as xn, Toolbar as xr, DropdownMenuItem$1 as xt, Avatar$1 as y, SelectSeparator as yn, Tone as yr, DropdownMenuContent$1 as yt, CodeBlockProps as z, StatCard$1 as zn, Logo$1 as zr, HelpTextProps as zt };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, ArtifactPane as ArtifactPane$1, Avatar as Avatar$1, AvatarFallback as AvatarFallback$1, AvatarImage as AvatarImage$1, Badge as Badge$1, Button as Button$1, CATEGORY_TONES, Card as Card$1, CardContent as CardContent$1, CardDescription as CardDescription$1, CardFooter, CardHeader as CardHeader$1, CardTitle as CardTitle$1, Checkbox, Chip, CodeBlock, Collapsible, CollapsibleContent, CollapsibleTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, Dialog as Dialog$1, DialogClose as DialogClose$1, DialogContent as DialogContent$1, DialogDescription as DialogDescription$1, DialogFooter as DialogFooter$1, DialogHeader as DialogHeader$1, DialogOverlay, DialogPortal, DialogTitle as DialogTitle$1, DialogTrigger as DialogTrigger$1, DropZone, DropdownMenu as DropdownMenu$1, DropdownMenuCheckboxItem, DropdownMenuContent as DropdownMenuContent$1, DropdownMenuGroup, DropdownMenuItem as DropdownMenuItem$1, DropdownMenuLabel as DropdownMenuLabel$1, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator as DropdownMenuSeparator$1, DropdownMenuShortcut, DropdownMenuSub as DropdownMenuSub$1, DropdownMenuSubContent as DropdownMenuSubContent$1, DropdownMenuSubTrigger as DropdownMenuSubTrigger$1, DropdownMenuTrigger as DropdownMenuTrigger$1, EmptyState as EmptyState$1, FilterField, Heading, HelpText, IconTile, InlineCode, Input as Input$1, Label as Label$1, Metric, MetricStrip, PageHeader, PageHeader as PageHeader$1, PageShell as PageShell$1, Pagination, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger, Progress as Progress$1, SegmentedControl, Select as Select$1, SelectContent as SelectContent$1, SelectGroup, SelectItem as SelectItem$1, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger as SelectTrigger$1, SelectValue as SelectValue$1, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarDropZone, Skeleton as Skeleton$1, SkeletonCard as SkeletonCard$1, SkeletonTable, Slider, StatCard as StatCard$1, StatusPill as StatusPill$1, Switch, TONE_CLASSES, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs as Tabs$1, TabsContent as TabsContent$1, TabsList as TabsList$1, TabsTrigger as TabsTrigger$1, Tag, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, Textarea as Textarea$1, ThemeToggle, ToastContainer, ToastProvider, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UploadProgress, badgeVariants, buttonVariants, initialsOf, toneFor, useTheme, useToast } from "@tangle-network/ui/primitives";
|
|
2
|
-
import { Logo, TangleKnot as TangleKnot$1 } from "@tangle-network/brand";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
//#region src/primitives/logo.tsx
|
|
5
|
-
/** Keep the Sandbox wordmark API while Brand owns the mark and layout. */
|
|
6
|
-
function Logo$1({ variant = "sandbox", size = "md", className, iconOnly = false }) {
|
|
7
|
-
return /* @__PURE__ */ jsx(Logo, {
|
|
8
|
-
size,
|
|
9
|
-
variant: iconOnly ? "icon" : "full",
|
|
10
|
-
suffix: variant === "sandbox" ? "Sandbox" : null,
|
|
11
|
-
className
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
Logo$1.displayName = "Logo";
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region src/primitives/heading.tsx
|
|
17
|
-
/** Compatibility name for the canonical nested (h2) page header. */
|
|
18
|
-
function SectionTitle(props) {
|
|
19
|
-
return /* @__PURE__ */ jsx(PageHeader, {
|
|
20
|
-
...props,
|
|
21
|
-
level: 2
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { DialogDescription$1 as $, Logo$1 as $n, Sheet as $t, CodeBlock as A, Tag as An, Metric as At, ContextMenuPortal as B, Toolbar as Bn, Progress$1 as Bt, CardContent$1 as C, TableHead as Cn, FilterField as Ct, CardTitle$1 as D, TabsContent$1 as Dn, InlineCode as Dt, CardHeader$1 as E, Tabs$1 as En, IconTile as Et, ContextMenuCheckboxItem as F, TextShimmer as Fn, Popover as Ft, ContextMenuSub as G, UploadProgress as Gn, SelectItem$1 as Gt, ContextMenuRadioItem as H, TooltipContent as Hn, Select$1 as Ht, ContextMenuContent as I, Textarea$1 as In, PopoverAnchor as It, ContextMenuTrigger as J, initialsOf as Jn, SelectScrollUpButton as Jt, ContextMenuSubContent as K, badgeVariants as Kn, SelectLabel as Kt, ContextMenuGroup as L, ThemeToggle as Ln, PopoverClose as Lt, CollapsibleContent as M, TerminalDisplay as Mn, PageHeader$1 as Mt, CollapsibleTrigger as N, TerminalInput as Nn, PageShell$1 as Nt, Checkbox as O, TabsList$1 as On, Input$1 as Ot, ContextMenu as P, TerminalLine as Pn, Pagination as Pt, DialogContent$1 as Q, SectionTitle as Qn, Separator as Qt, ContextMenuItem as R, ToastContainer as Rn, PopoverContent as Rt, Card$1 as S, TableFooter as Sn, EmptyState$1 as St, CardFooter as T, TableRow as Tn, HelpText as Tt, ContextMenuSeparator as U, TooltipProvider as Un, SelectContent$1 as Ut, ContextMenuRadioGroup as V, Tooltip as Vn, SegmentedControl as Vt, ContextMenuShortcut as W, TooltipTrigger as Wn, SelectGroup as Wt, Dialog$1 as X, useTheme as Xn, SelectTrigger$1 as Xt, CopyButton as Y, toneFor as Yn, SelectSeparator as Yt, DialogClose$1 as Z, useToast as Zn, SelectValue$1 as Zt, AvatarFallback$1 as _, TONE_CLASSES as _n, DropdownMenuShortcut as _t, AlertDialogCancel as a, SheetOverlay as an, DialogTrigger$1 as at, Button$1 as b, TableCaption as bn, DropdownMenuSubTrigger$1 as bt, AlertDialogFooter as c, SheetTrigger as cn, DropdownMenuCheckboxItem as ct, AlertDialogPortal as d, SkeletonCard$1 as dn, DropdownMenuItem$1 as dt, SheetClose as en, TangleKnot$1 as er, DialogFooter$1 as et, AlertDialogTitle as f, SkeletonTable as fn, DropdownMenuLabel$1 as ft, Avatar$1 as g, Switch as gn, DropdownMenuSeparator$1 as gt, ArtifactPane$1 as h, StatusPill$1 as hn, DropdownMenuRadioItem as ht, AlertDialogAction as i, SheetHeader as in, DialogTitle$1 as it, Collapsible as j, TerminalCursor as jn, MetricStrip as jt, Chip as k, TabsTrigger$1 as kn, Label$1 as kt, AlertDialogHeader as l, SidebarDropZone as ln, DropdownMenuContent$1 as lt, AlertTitle as m, StatCard$1 as mn, DropdownMenuRadioGroup as mt, AlertDescription as n, SheetDescription as nn, DialogOverlay as nt, AlertDialogContent as o, SheetPortal as on, DropZone as ot, AlertDialogTrigger as p, Slider as pn, DropdownMenuPortal as pt, ContextMenuSubTrigger as q, buttonVariants as qn, SelectScrollDownButton as qt, AlertDialog as r, SheetFooter as rn, DialogPortal as rt, AlertDialogDescription as s, SheetTitle as sn, DropdownMenu$1 as st, Alert as t, SheetContent as tn, DialogHeader$1 as tt, AlertDialogOverlay as u, Skeleton$1 as un, DropdownMenuGroup as ut, AvatarImage$1 as v, Table as vn, DropdownMenuSub$1 as vt, CardDescription$1 as w, TableHeader as wn, Heading as wt, CATEGORY_TONES as x, TableCell as xn, DropdownMenuTrigger$1 as xt, Badge$1 as y, TableBody as yn, DropdownMenuSubContent$1 as yt, ContextMenuLabel as z, ToastProvider as zn, PopoverTrigger as zt };
|