@tangle-network/sandbox-ui 0.75.0 → 0.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/globals.css CHANGED
@@ -327,6 +327,9 @@
327
327
  .end {
328
328
  inset-inline-end: var(--spacing);
329
329
  }
330
+ .-top-1 {
331
+ top: calc(var(--spacing) * -1);
332
+ }
330
333
  .-top-1\.5 {
331
334
  top: calc(var(--spacing) * -1.5);
332
335
  }
@@ -372,6 +375,9 @@
372
375
  .top-full {
373
376
  top: 100%;
374
377
  }
378
+ .-right-1 {
379
+ right: calc(var(--spacing) * -1);
380
+ }
375
381
  .-right-1\.5 {
376
382
  right: calc(var(--spacing) * -1.5);
377
383
  }
@@ -707,9 +713,6 @@
707
713
  .\!h-2 {
708
714
  height: calc(var(--spacing) * 2) !important;
709
715
  }
710
- .h-0\.5 {
711
- height: calc(var(--spacing) * 0.5);
712
- }
713
716
  .h-1 {
714
717
  height: calc(var(--spacing) * 1);
715
718
  }
@@ -794,6 +797,9 @@
794
797
  .h-\[32rem\] {
795
798
  height: 32rem;
796
799
  }
800
+ .h-\[34rem\] {
801
+ height: 34rem;
802
+ }
797
803
  .h-\[70vh\] {
798
804
  height: 70vh;
799
805
  }
@@ -905,6 +911,9 @@
905
911
  .min-h-\[14rem\] {
906
912
  min-height: 14rem;
907
913
  }
914
+ .min-h-\[15px\] {
915
+ min-height: 15px;
916
+ }
908
917
  .min-h-\[16rem\] {
909
918
  min-height: 16rem;
910
919
  }
@@ -1708,6 +1717,9 @@
1708
1717
  .rounded-\[2px\] {
1709
1718
  border-radius: 2px;
1710
1719
  }
1720
+ .rounded-\[3px\] {
1721
+ border-radius: 3px;
1722
+ }
1711
1723
  .rounded-\[4px\] {
1712
1724
  border-radius: 4px;
1713
1725
  }
@@ -1935,12 +1947,6 @@
1935
1947
  .border-border {
1936
1948
  border-color: var(--color-border);
1937
1949
  }
1938
- .border-border\/60 {
1939
- border-color: color-mix(in srgb, hsl(var(--border)) 60%, transparent);
1940
- @supports (color: color-mix(in lab, red, red)) {
1941
- border-color: color-mix(in oklab, var(--color-border) 60%, transparent);
1942
- }
1943
- }
1944
1950
  .border-destructive\/20 {
1945
1951
  border-color: color-mix(in srgb, hsl(var(--destructive)) 20%, transparent);
1946
1952
  @supports (color: color-mix(in lab, red, red)) {
@@ -1980,9 +1986,6 @@
1980
1986
  .border-foreground {
1981
1987
  border-color: var(--color-foreground);
1982
1988
  }
1983
- .border-green-500 {
1984
- border-color: var(--color-green-500);
1985
- }
1986
1989
  .border-green-500\/30 {
1987
1990
  border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 30%, transparent);
1988
1991
  @supports (color: color-mix(in lab, red, red)) {
@@ -2028,9 +2031,6 @@
2028
2031
  border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
2029
2032
  }
2030
2033
  }
2031
- .border-red-500 {
2032
- border-color: var(--color-red-500);
2033
- }
2034
2034
  .border-red-500\/20 {
2035
2035
  border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
2036
2036
  @supports (color: color-mix(in lab, red, red)) {
@@ -2340,12 +2340,6 @@
2340
2340
  .bg-green-500 {
2341
2341
  background-color: var(--color-green-500);
2342
2342
  }
2343
- .bg-green-600\/10 {
2344
- background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 10%, transparent);
2345
- @supports (color: color-mix(in lab, red, red)) {
2346
- background-color: color-mix(in oklab, var(--color-green-600) 10%, transparent);
2347
- }
2348
- }
2349
2343
  .bg-green-600\/20 {
2350
2344
  background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 20%, transparent);
2351
2345
  @supports (color: color-mix(in lab, red, red)) {
@@ -2475,6 +2469,12 @@
2475
2469
  .bg-surface-container-high {
2476
2470
  background-color: var(--color-surface-container-high);
2477
2471
  }
2472
+ .bg-surface-container-high\/60 {
2473
+ background-color: var(--color-surface-container-high);
2474
+ @supports (color: color-mix(in lab, red, red)) {
2475
+ background-color: color-mix(in oklab, var(--color-surface-container-high) 60%, transparent);
2476
+ }
2477
+ }
2478
2478
  .bg-surface-container-high\/95 {
2479
2479
  background-color: var(--color-surface-container-high);
2480
2480
  @supports (color: color-mix(in lab, red, red)) {
@@ -2706,6 +2706,9 @@
2706
2706
  .py-20 {
2707
2707
  padding-block: calc(var(--spacing) * 20);
2708
2708
  }
2709
+ .py-\[1px\] {
2710
+ padding-block: 1px;
2711
+ }
2709
2712
  .py-\[2px\] {
2710
2713
  padding-block: 2px;
2711
2714
  }
@@ -2733,6 +2736,9 @@
2733
2736
  .pt-2 {
2734
2737
  padding-top: calc(var(--spacing) * 2);
2735
2738
  }
2739
+ .pt-2\.5 {
2740
+ padding-top: calc(var(--spacing) * 2.5);
2741
+ }
2736
2742
  .pt-3 {
2737
2743
  padding-top: calc(var(--spacing) * 3);
2738
2744
  }
@@ -2880,6 +2886,9 @@
2880
2886
  .text-\[9px\] {
2881
2887
  font-size: 9px;
2882
2888
  }
2889
+ .text-\[10\.5px\] {
2890
+ font-size: 10.5px;
2891
+ }
2883
2892
  .text-\[10px\] {
2884
2893
  font-size: 10px;
2885
2894
  }
@@ -2960,6 +2969,10 @@
2960
2969
  --tw-leading: 1.55;
2961
2970
  line-height: 1.55;
2962
2971
  }
2972
+ .leading-\[15px\] {
2973
+ --tw-leading: 15px;
2974
+ line-height: 15px;
2975
+ }
2963
2976
  .leading-\[var\(--line-height-base\)\] {
2964
2977
  --tw-leading: var(--line-height-base);
2965
2978
  line-height: var(--line-height-base);
@@ -3032,6 +3045,10 @@
3032
3045
  --tw-tracking: 0.08em;
3033
3046
  letter-spacing: 0.08em;
3034
3047
  }
3048
+ .tracking-\[0\.09em\] {
3049
+ --tw-tracking: 0.09em;
3050
+ letter-spacing: 0.09em;
3051
+ }
3035
3052
  .tracking-\[0\.12em\] {
3036
3053
  --tw-tracking: 0.12em;
3037
3054
  letter-spacing: 0.12em;
@@ -3252,9 +3269,6 @@
3252
3269
  .text-green-400 {
3253
3270
  color: var(--color-green-400);
3254
3271
  }
3255
- .text-green-600 {
3256
- color: var(--color-green-600);
3257
- }
3258
3272
  .text-muted-foreground {
3259
3273
  color: var(--color-muted-foreground);
3260
3274
  }
@@ -3282,6 +3296,12 @@
3282
3296
  color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);
3283
3297
  }
3284
3298
  }
3299
+ .text-muted-foreground\/90 {
3300
+ color: color-mix(in srgb, hsl(var(--muted-foreground)) 90%, transparent);
3301
+ @supports (color: color-mix(in lab, red, red)) {
3302
+ color: color-mix(in oklab, var(--color-muted-foreground) 90%, transparent);
3303
+ }
3304
+ }
3285
3305
  .text-neutral-400 {
3286
3306
  color: var(--color-neutral-400);
3287
3307
  }
@@ -3309,12 +3329,6 @@
3309
3329
  .text-red-400 {
3310
3330
  color: var(--color-red-400);
3311
3331
  }
3312
- .text-red-400\/80 {
3313
- color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 80%, transparent);
3314
- @supports (color: color-mix(in lab, red, red)) {
3315
- color: color-mix(in oklab, var(--color-red-400) 80%, transparent);
3316
- }
3317
- }
3318
3332
  .text-secondary-foreground {
3319
3333
  color: var(--color-secondary-foreground);
3320
3334
  }
@@ -3498,12 +3512,6 @@
3498
3512
  --tw-ring-color: color-mix(in oklab, var(--color-primary) 25%, transparent);
3499
3513
  }
3500
3514
  }
3501
- .ring-primary\/40 {
3502
- --tw-ring-color: color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
3503
- @supports (color: color-mix(in lab, red, red)) {
3504
- --tw-ring-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
3505
- }
3506
- }
3507
3515
  .ring-offset-background {
3508
3516
  --tw-ring-offset-color: var(--color-background);
3509
3517
  }
package/dist/styles.css CHANGED
@@ -327,6 +327,9 @@
327
327
  .end {
328
328
  inset-inline-end: var(--spacing);
329
329
  }
330
+ .-top-1 {
331
+ top: calc(var(--spacing) * -1);
332
+ }
330
333
  .-top-1\.5 {
331
334
  top: calc(var(--spacing) * -1.5);
332
335
  }
@@ -372,6 +375,9 @@
372
375
  .top-full {
373
376
  top: 100%;
374
377
  }
378
+ .-right-1 {
379
+ right: calc(var(--spacing) * -1);
380
+ }
375
381
  .-right-1\.5 {
376
382
  right: calc(var(--spacing) * -1.5);
377
383
  }
@@ -707,9 +713,6 @@
707
713
  .\!h-2 {
708
714
  height: calc(var(--spacing) * 2) !important;
709
715
  }
710
- .h-0\.5 {
711
- height: calc(var(--spacing) * 0.5);
712
- }
713
716
  .h-1 {
714
717
  height: calc(var(--spacing) * 1);
715
718
  }
@@ -794,6 +797,9 @@
794
797
  .h-\[32rem\] {
795
798
  height: 32rem;
796
799
  }
800
+ .h-\[34rem\] {
801
+ height: 34rem;
802
+ }
797
803
  .h-\[70vh\] {
798
804
  height: 70vh;
799
805
  }
@@ -905,6 +911,9 @@
905
911
  .min-h-\[14rem\] {
906
912
  min-height: 14rem;
907
913
  }
914
+ .min-h-\[15px\] {
915
+ min-height: 15px;
916
+ }
908
917
  .min-h-\[16rem\] {
909
918
  min-height: 16rem;
910
919
  }
@@ -1708,6 +1717,9 @@
1708
1717
  .rounded-\[2px\] {
1709
1718
  border-radius: 2px;
1710
1719
  }
1720
+ .rounded-\[3px\] {
1721
+ border-radius: 3px;
1722
+ }
1711
1723
  .rounded-\[4px\] {
1712
1724
  border-radius: 4px;
1713
1725
  }
@@ -1935,12 +1947,6 @@
1935
1947
  .border-border {
1936
1948
  border-color: var(--color-border);
1937
1949
  }
1938
- .border-border\/60 {
1939
- border-color: color-mix(in srgb, hsl(var(--border)) 60%, transparent);
1940
- @supports (color: color-mix(in lab, red, red)) {
1941
- border-color: color-mix(in oklab, var(--color-border) 60%, transparent);
1942
- }
1943
- }
1944
1950
  .border-destructive\/20 {
1945
1951
  border-color: color-mix(in srgb, hsl(var(--destructive)) 20%, transparent);
1946
1952
  @supports (color: color-mix(in lab, red, red)) {
@@ -1980,9 +1986,6 @@
1980
1986
  .border-foreground {
1981
1987
  border-color: var(--color-foreground);
1982
1988
  }
1983
- .border-green-500 {
1984
- border-color: var(--color-green-500);
1985
- }
1986
1989
  .border-green-500\/30 {
1987
1990
  border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 30%, transparent);
1988
1991
  @supports (color: color-mix(in lab, red, red)) {
@@ -2028,9 +2031,6 @@
2028
2031
  border-color: color-mix(in oklab, var(--color-primary) 50%, transparent);
2029
2032
  }
2030
2033
  }
2031
- .border-red-500 {
2032
- border-color: var(--color-red-500);
2033
- }
2034
2034
  .border-red-500\/20 {
2035
2035
  border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
2036
2036
  @supports (color: color-mix(in lab, red, red)) {
@@ -2340,12 +2340,6 @@
2340
2340
  .bg-green-500 {
2341
2341
  background-color: var(--color-green-500);
2342
2342
  }
2343
- .bg-green-600\/10 {
2344
- background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 10%, transparent);
2345
- @supports (color: color-mix(in lab, red, red)) {
2346
- background-color: color-mix(in oklab, var(--color-green-600) 10%, transparent);
2347
- }
2348
- }
2349
2343
  .bg-green-600\/20 {
2350
2344
  background-color: color-mix(in srgb, oklch(62.7% 0.194 149.214) 20%, transparent);
2351
2345
  @supports (color: color-mix(in lab, red, red)) {
@@ -2475,6 +2469,12 @@
2475
2469
  .bg-surface-container-high {
2476
2470
  background-color: var(--color-surface-container-high);
2477
2471
  }
2472
+ .bg-surface-container-high\/60 {
2473
+ background-color: var(--color-surface-container-high);
2474
+ @supports (color: color-mix(in lab, red, red)) {
2475
+ background-color: color-mix(in oklab, var(--color-surface-container-high) 60%, transparent);
2476
+ }
2477
+ }
2478
2478
  .bg-surface-container-high\/95 {
2479
2479
  background-color: var(--color-surface-container-high);
2480
2480
  @supports (color: color-mix(in lab, red, red)) {
@@ -2706,6 +2706,9 @@
2706
2706
  .py-20 {
2707
2707
  padding-block: calc(var(--spacing) * 20);
2708
2708
  }
2709
+ .py-\[1px\] {
2710
+ padding-block: 1px;
2711
+ }
2709
2712
  .py-\[2px\] {
2710
2713
  padding-block: 2px;
2711
2714
  }
@@ -2733,6 +2736,9 @@
2733
2736
  .pt-2 {
2734
2737
  padding-top: calc(var(--spacing) * 2);
2735
2738
  }
2739
+ .pt-2\.5 {
2740
+ padding-top: calc(var(--spacing) * 2.5);
2741
+ }
2736
2742
  .pt-3 {
2737
2743
  padding-top: calc(var(--spacing) * 3);
2738
2744
  }
@@ -2880,6 +2886,9 @@
2880
2886
  .text-\[9px\] {
2881
2887
  font-size: 9px;
2882
2888
  }
2889
+ .text-\[10\.5px\] {
2890
+ font-size: 10.5px;
2891
+ }
2883
2892
  .text-\[10px\] {
2884
2893
  font-size: 10px;
2885
2894
  }
@@ -2960,6 +2969,10 @@
2960
2969
  --tw-leading: 1.55;
2961
2970
  line-height: 1.55;
2962
2971
  }
2972
+ .leading-\[15px\] {
2973
+ --tw-leading: 15px;
2974
+ line-height: 15px;
2975
+ }
2963
2976
  .leading-\[var\(--line-height-base\)\] {
2964
2977
  --tw-leading: var(--line-height-base);
2965
2978
  line-height: var(--line-height-base);
@@ -3032,6 +3045,10 @@
3032
3045
  --tw-tracking: 0.08em;
3033
3046
  letter-spacing: 0.08em;
3034
3047
  }
3048
+ .tracking-\[0\.09em\] {
3049
+ --tw-tracking: 0.09em;
3050
+ letter-spacing: 0.09em;
3051
+ }
3035
3052
  .tracking-\[0\.12em\] {
3036
3053
  --tw-tracking: 0.12em;
3037
3054
  letter-spacing: 0.12em;
@@ -3252,9 +3269,6 @@
3252
3269
  .text-green-400 {
3253
3270
  color: var(--color-green-400);
3254
3271
  }
3255
- .text-green-600 {
3256
- color: var(--color-green-600);
3257
- }
3258
3272
  .text-muted-foreground {
3259
3273
  color: var(--color-muted-foreground);
3260
3274
  }
@@ -3282,6 +3296,12 @@
3282
3296
  color: color-mix(in oklab, var(--color-muted-foreground) 70%, transparent);
3283
3297
  }
3284
3298
  }
3299
+ .text-muted-foreground\/90 {
3300
+ color: color-mix(in srgb, hsl(var(--muted-foreground)) 90%, transparent);
3301
+ @supports (color: color-mix(in lab, red, red)) {
3302
+ color: color-mix(in oklab, var(--color-muted-foreground) 90%, transparent);
3303
+ }
3304
+ }
3285
3305
  .text-neutral-400 {
3286
3306
  color: var(--color-neutral-400);
3287
3307
  }
@@ -3309,12 +3329,6 @@
3309
3329
  .text-red-400 {
3310
3330
  color: var(--color-red-400);
3311
3331
  }
3312
- .text-red-400\/80 {
3313
- color: color-mix(in srgb, oklch(70.4% 0.191 22.216) 80%, transparent);
3314
- @supports (color: color-mix(in lab, red, red)) {
3315
- color: color-mix(in oklab, var(--color-red-400) 80%, transparent);
3316
- }
3317
- }
3318
3332
  .text-secondary-foreground {
3319
3333
  color: var(--color-secondary-foreground);
3320
3334
  }
@@ -3498,12 +3512,6 @@
3498
3512
  --tw-ring-color: color-mix(in oklab, var(--color-primary) 25%, transparent);
3499
3513
  }
3500
3514
  }
3501
- .ring-primary\/40 {
3502
- --tw-ring-color: color-mix(in srgb, hsl(var(--primary)) 40%, transparent);
3503
- @supports (color: color-mix(in lab, red, red)) {
3504
- --tw-ring-color: color-mix(in oklab, var(--color-primary) 40%, transparent);
3505
- }
3506
- }
3507
3515
  .ring-offset-background {
3508
3516
  --tw-ring-offset-color: var(--color-background);
3509
3517
  }
@@ -44,32 +44,50 @@ interface WfNodeState {
44
44
  * rounds the agent has taken, surfaced on the node's progress strip. */
45
45
  rounds?: number;
46
46
  }
47
+ /**
48
+ * A node's card-facing content. Three tiers, so both densities can show the
49
+ * right amount without either re-deriving it:
50
+ *
51
+ * - {@link title} — WHO the step is ("GitHub", "AI Agent", a decision's own
52
+ * title). Never a machine identifier.
53
+ * - {@link subtitle} — WHAT it does, in one short phrase ("create: pulls.reviews",
54
+ * the model, "Weekdays at 09:00", "3 branches").
55
+ * - {@link description} — the free-text detail worth reading when there's room
56
+ * (an agent's prompt, a notify URL, the events a trigger listens for).
57
+ *
58
+ * The compact node shows title + subtitle; the expanded node adds the
59
+ * description, the run metrics, and the output. Any longer/raw values live in
60
+ * {@link config} for the full-detail view.
61
+ */
47
62
  interface WfNodeData extends Record<string, unknown> {
48
- /** Headline for the node, e.g. "Run agent". */
63
+ /** Human headline for the node, e.g. "GitHub", "AI Agent". */
49
64
  title: string;
50
65
  /** The action/trigger kind verbatim, e.g. "agent.run", "schedule". Set on every
51
- * node `buildWorkflowGraph` produces so a card can label what it is regardless
52
- * of which subtitle it shows; optional on the type so external consumers
53
- * constructing `WfNodeData` directly aren't forced to supply it (the render
54
- * guards its usage). */
66
+ * node `buildWorkflowGraph` produces so a consumer can dispatch on the node's
67
+ * type (icon, detail rendering) regardless of what its title says; optional on
68
+ * the type so external consumers constructing `WfNodeData` directly aren't
69
+ * forced to supply it (the render guards its usage). */
55
70
  kind?: string;
56
- /** Secondary detail, e.g. an integration path or a cron expression. */
71
+ /** The one-phrase qualifier under the title, e.g. "create: pulls.reviews". */
57
72
  subtitle?: string;
58
- /** Requested model (agent.run), shown as a chip even before a run. */
73
+ /** Free-text detail (agent prompt, notify URL, trigger events) — shown only by
74
+ * the expanded node, which has the room to clamp it to two lines. */
75
+ description?: string;
76
+ /** Requested model (agent.run). A live run's ACTUAL model (`state.model`)
77
+ * supersedes it on the card. */
59
78
  model?: string;
60
79
  /** `integration.invoke` provider.method path. */
61
80
  path?: string;
62
- /** Notable config fields for the expand drawer (kept small + stringified). */
63
- detail?: Record<string, string>;
64
81
  /** The raw, UNTRUNCATED config for this node — the action/trigger config from
65
- * the definition. The compact card reads {@link detail}; a full-detail view
66
- * (e.g. a node drawer) reads this to render every field — the complete prompt,
67
- * all profile/source/input keys — without the card-sized clamp. It is a
68
- * JSON-safe deep copy of the config (cycles and non-JSON values normalized),
69
- * so a consumer can serialize or render it freely. Omitted when the node has
70
- * no config. */
82
+ * the definition. The card shows the summary above; a full-detail view (e.g. a
83
+ * node drawer) reads this to render every field — the complete prompt, all
84
+ * profile/source/input keys — without the card-sized clamp. It is a JSON-safe
85
+ * deep copy of the config (cycles and non-JSON values normalized), so a
86
+ * consumer can serialize or render it freely. Omitted when the node has no
87
+ * config. */
71
88
  config?: Record<string, unknown>;
72
- /** Connector slug (e.g. `github`) for the provider chip, when one applies. */
89
+ /** Connector slug (e.g. `github`) — drives the node's brand logo, so a provider
90
+ * step is recognizable before any text is read. */
73
91
  provider?: string;
74
92
  /** Small corner tag, e.g. "×3" for a parallel fan-out. */
75
93
  badge?: string;
@@ -113,27 +131,23 @@ type WfDirection = "LR" | "TB";
113
131
  /** Options for {@link buildWorkflowGraph}. */
114
132
  interface BuildWorkflowGraphOptions {
115
133
  /**
116
- * Reserve space for the rows live run state adds to a node (the meta-chip row +
117
- * the output/error preview), so the RUN view never overlaps once a node starts
118
- * or terminates. The static/preview layout (no run overlay) leaves this off to
119
- * stay compact. Defaults to `false`.
134
+ * Reserve space for the rows live run state adds to a node (the metrics line,
135
+ * the output/error preview, the status footer), so the RUN view never overlaps
136
+ * once a node starts or terminates. The static/preview layout (no run overlay)
137
+ * leaves this off to stay compact. Defaults to `false`.
120
138
  */
121
139
  reserveRunState?: boolean;
122
140
  /** Flow direction. Defaults to "LR". */
123
141
  direction?: WfDirection;
124
- /** Override the node dimensions the layout spaces by (and the card renders at).
125
- * Defaults to a fixed width + {@link nodeHeight}. A caller with a different node
126
- * design supplies its own sizing so the layout stays collision-free. */
127
- measure?: (data: WfNodeData, withRunState: boolean) => {
128
- width: number;
129
- height: number;
130
- };
142
+ /** Collapse every node to the fixed icon-tile size, and pitch the layers for
143
+ * it. Defaults to `false` (the full, expanded card). */
144
+ compact?: boolean;
131
145
  }
132
146
  /** Build a positioned graph from a workflow YAML string. Never throws —
133
147
  * malformed YAML or an empty definition returns an `error` the UI can fall
134
148
  * back on (e.g. show the raw YAML while authoring). `reserveRunState` leaves
135
149
  * room for the rows live run state adds (see {@link nodeHeight}); `direction`
136
- * picks the flow axis (default "LR"). */
150
+ * picks the flow axis (default "LR"); `compact` collapses nodes to icon tiles. */
137
151
  declare function buildWorkflowGraph(yaml: string, options?: BuildWorkflowGraphOptions): WfGraph;
138
152
 
139
153
  interface WorkflowGraphProps {
@@ -144,9 +158,11 @@ interface WorkflowGraphProps {
144
158
  /** Flow direction: "LR" (default) reads left-to-right — best for the wide/short
145
159
  * run-detail panel; "TB" is a vertical column. */
146
160
  direction?: WfDirection;
147
- /** Start collapsed (compact icon tiles) rather than expanded. The full variant
148
- * exposes a toggle to switch densities; the preview variant is always compact.
149
- * Defaults to `false` (expanded). */
161
+ /** Start collapsed (compact icon tiles) rather than expanded. Defaults to
162
+ * `true`: a graph is read structure-first, and the tiles are what make the
163
+ * shape of the run legible at a glance — the per-node detail is one density
164
+ * toggle (or one node click) away. The full variant exposes the toggle; the
165
+ * preview variant is always compact. */
150
166
  defaultCompact?: boolean;
151
167
  /** Sizing for the wrapper; the caller controls height. */
152
168
  className?: string;
package/dist/workflows.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildWorkflowGraph
3
- } from "./chunk-FNE5QLU3.js";
3
+ } from "./chunk-UEMWLVVY.js";
4
4
  import "./chunk-U67V476Y.js";
5
5
 
6
6
  // src/workflows/WorkflowGraphLazy.tsx
@@ -26,7 +26,7 @@ function retryImport(factory, retries = 2, delayMs = 350) {
26
26
  function lazyWorkflowGraph() {
27
27
  return lazy(
28
28
  () => retryImport(
29
- () => import("./WorkflowGraph-RA7ZHN4I.js").then((m) => ({ default: m.WorkflowGraph }))
29
+ () => import("./WorkflowGraph-V2AVCNDC.js").then((m) => ({ default: m.WorkflowGraph }))
30
30
  )
31
31
  );
32
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox-ui",
3
- "version": "0.75.0",
3
+ "version": "0.76.0",
4
4
  "description": "Unified UI component library for Tangle Sandbox — primitives, chat, dashboard, terminal, editor, and workspace components",
5
5
  "repository": {
6
6
  "type": "git",