@tangle-network/sandbox-ui 0.9.0 → 0.10.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/chat.js +3 -3
- package/dist/{chunk-7YWFOGKQ.js → chunk-2XCOGNZP.js} +80 -2
- package/dist/{chunk-QC4BJEG6.js → chunk-A5ALUT2B.js} +529 -3
- package/dist/{chunk-EXSOPXIY.js → chunk-QOL4ZB24.js} +205 -39
- package/dist/{chunk-JLKYXLFN.js → chunk-WKSGQVLI.js} +22 -22
- package/dist/{chunk-PLTZB5BC.js → chunk-ZNCEM5CD.js} +47 -21
- package/dist/dashboard.d.ts +3 -2
- package/dist/dashboard.js +27 -15
- package/dist/globals.css +162 -28
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -5
- package/dist/openui.js +1 -1
- package/dist/pages.d.ts +9 -2
- package/dist/pages.js +76 -37
- package/dist/run.js +5 -1
- package/dist/styles.css +162 -28
- package/dist/{variant-list-CsS6ydgm.d.ts → variant-list-BNwUOSgz.d.ts} +13 -0
- package/dist/workspace.d.ts +134 -1
- package/dist/workspace.js +10 -4
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -720,6 +720,9 @@
|
|
|
720
720
|
.top-0\.5 {
|
|
721
721
|
top: calc(var(--spacing) * 0.5);
|
|
722
722
|
}
|
|
723
|
+
.top-1 {
|
|
724
|
+
top: calc(var(--spacing) * 1);
|
|
725
|
+
}
|
|
723
726
|
.top-1\/2 {
|
|
724
727
|
top: calc(1 / 2 * 100%);
|
|
725
728
|
}
|
|
@@ -735,12 +738,18 @@
|
|
|
735
738
|
.top-\[50\%\] {
|
|
736
739
|
top: 50%;
|
|
737
740
|
}
|
|
741
|
+
.top-full {
|
|
742
|
+
top: 100%;
|
|
743
|
+
}
|
|
738
744
|
.-right-1 {
|
|
739
745
|
right: calc(var(--spacing) * -1);
|
|
740
746
|
}
|
|
741
747
|
.right-0 {
|
|
742
748
|
right: calc(var(--spacing) * 0);
|
|
743
749
|
}
|
|
750
|
+
.right-1 {
|
|
751
|
+
right: calc(var(--spacing) * 1);
|
|
752
|
+
}
|
|
744
753
|
.right-2 {
|
|
745
754
|
right: calc(var(--spacing) * 2);
|
|
746
755
|
}
|
|
@@ -1116,8 +1125,8 @@
|
|
|
1116
1125
|
.max-h-\[90vh\] {
|
|
1117
1126
|
max-height: 90vh;
|
|
1118
1127
|
}
|
|
1119
|
-
.max-h-\[
|
|
1120
|
-
max-height:
|
|
1128
|
+
.max-h-\[160px\] {
|
|
1129
|
+
max-height: 160px;
|
|
1121
1130
|
}
|
|
1122
1131
|
.min-h-0 {
|
|
1123
1132
|
min-height: calc(var(--spacing) * 0);
|
|
@@ -1125,6 +1134,9 @@
|
|
|
1125
1134
|
.min-h-\[2px\] {
|
|
1126
1135
|
min-height: 2px;
|
|
1127
1136
|
}
|
|
1137
|
+
.min-h-\[6rem\] {
|
|
1138
|
+
min-height: 6rem;
|
|
1139
|
+
}
|
|
1128
1140
|
.min-h-\[12rem\] {
|
|
1129
1141
|
min-height: 12rem;
|
|
1130
1142
|
}
|
|
@@ -1134,8 +1146,14 @@
|
|
|
1134
1146
|
.min-h-\[16rem\] {
|
|
1135
1147
|
min-height: 16rem;
|
|
1136
1148
|
}
|
|
1137
|
-
.min-h-\[
|
|
1138
|
-
min-height:
|
|
1149
|
+
.min-h-\[42px\] {
|
|
1150
|
+
min-height: 42px;
|
|
1151
|
+
}
|
|
1152
|
+
.min-h-\[72px\] {
|
|
1153
|
+
min-height: 72px;
|
|
1154
|
+
}
|
|
1155
|
+
.min-h-\[80px\] {
|
|
1156
|
+
min-height: 80px;
|
|
1139
1157
|
}
|
|
1140
1158
|
.min-h-\[120px\] {
|
|
1141
1159
|
min-height: 120px;
|
|
@@ -1149,6 +1167,9 @@
|
|
|
1149
1167
|
.min-h-\[240px\] {
|
|
1150
1168
|
min-height: 240px;
|
|
1151
1169
|
}
|
|
1170
|
+
.min-h-full {
|
|
1171
|
+
min-height: 100%;
|
|
1172
|
+
}
|
|
1152
1173
|
.min-h-screen {
|
|
1153
1174
|
min-height: 100vh;
|
|
1154
1175
|
}
|
|
@@ -1359,8 +1380,8 @@
|
|
|
1359
1380
|
.max-w-\[75\%\] {
|
|
1360
1381
|
max-width: 75%;
|
|
1361
1382
|
}
|
|
1362
|
-
.max-w-\[
|
|
1363
|
-
max-width:
|
|
1383
|
+
.max-w-\[78\%\] {
|
|
1384
|
+
max-width: 78%;
|
|
1364
1385
|
}
|
|
1365
1386
|
.max-w-\[85\%\] {
|
|
1366
1387
|
max-width: 85%;
|
|
@@ -1407,6 +1428,15 @@
|
|
|
1407
1428
|
.min-w-\[8rem\] {
|
|
1408
1429
|
min-width: 8rem;
|
|
1409
1430
|
}
|
|
1431
|
+
.min-w-\[20px\] {
|
|
1432
|
+
min-width: 20px;
|
|
1433
|
+
}
|
|
1434
|
+
.min-w-\[120px\] {
|
|
1435
|
+
min-width: 120px;
|
|
1436
|
+
}
|
|
1437
|
+
.min-w-\[160px\] {
|
|
1438
|
+
min-width: 160px;
|
|
1439
|
+
}
|
|
1410
1440
|
.min-w-\[180px\] {
|
|
1411
1441
|
min-width: 180px;
|
|
1412
1442
|
}
|
|
@@ -1480,6 +1510,9 @@
|
|
|
1480
1510
|
.rotate-90 {
|
|
1481
1511
|
rotate: 90deg;
|
|
1482
1512
|
}
|
|
1513
|
+
.rotate-180 {
|
|
1514
|
+
rotate: 180deg;
|
|
1515
|
+
}
|
|
1483
1516
|
.-skew-x-12 {
|
|
1484
1517
|
--tw-skew-x: skewX(calc(12deg * -1));
|
|
1485
1518
|
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
@@ -1532,6 +1565,9 @@
|
|
|
1532
1565
|
.appearance-none {
|
|
1533
1566
|
appearance: none;
|
|
1534
1567
|
}
|
|
1568
|
+
.auto-rows-fr {
|
|
1569
|
+
grid-auto-rows: minmax(0, 1fr);
|
|
1570
|
+
}
|
|
1535
1571
|
.grid-cols-1 {
|
|
1536
1572
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
1537
1573
|
}
|
|
@@ -1541,6 +1577,9 @@
|
|
|
1541
1577
|
.grid-cols-3 {
|
|
1542
1578
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1543
1579
|
}
|
|
1580
|
+
.grid-cols-7 {
|
|
1581
|
+
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
1582
|
+
}
|
|
1544
1583
|
.grid-cols-12 {
|
|
1545
1584
|
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
1546
1585
|
}
|
|
@@ -1628,6 +1667,9 @@
|
|
|
1628
1667
|
.gap-\[3px\] {
|
|
1629
1668
|
gap: 3px;
|
|
1630
1669
|
}
|
|
1670
|
+
.gap-\[5px\] {
|
|
1671
|
+
gap: 5px;
|
|
1672
|
+
}
|
|
1631
1673
|
.gap-px {
|
|
1632
1674
|
gap: 1px;
|
|
1633
1675
|
}
|
|
@@ -1789,12 +1831,21 @@
|
|
|
1789
1831
|
.rounded-\[16px\] {
|
|
1790
1832
|
border-radius: 16px;
|
|
1791
1833
|
}
|
|
1834
|
+
.rounded-\[18px\] {
|
|
1835
|
+
border-radius: 18px;
|
|
1836
|
+
}
|
|
1792
1837
|
.rounded-\[20px\] {
|
|
1793
1838
|
border-radius: 20px;
|
|
1794
1839
|
}
|
|
1840
|
+
.rounded-\[22px\] {
|
|
1841
|
+
border-radius: 22px;
|
|
1842
|
+
}
|
|
1795
1843
|
.rounded-\[24px\] {
|
|
1796
1844
|
border-radius: 24px;
|
|
1797
1845
|
}
|
|
1846
|
+
.rounded-\[26px\] {
|
|
1847
|
+
border-radius: 26px;
|
|
1848
|
+
}
|
|
1798
1849
|
.rounded-\[28px\] {
|
|
1799
1850
|
border-radius: 28px;
|
|
1800
1851
|
}
|
|
@@ -1804,9 +1855,6 @@
|
|
|
1804
1855
|
.rounded-\[calc\(var\(--radius-xl\)\+2px\)\] {
|
|
1805
1856
|
border-radius: calc(var(--radius-xl) + 2px);
|
|
1806
1857
|
}
|
|
1807
|
-
.rounded-\[var\(--chat-send-radius\,var\(--radius-lg\)\)\] {
|
|
1808
|
-
border-radius: var(--chat-send-radius,var(--radius-lg));
|
|
1809
|
-
}
|
|
1810
1858
|
.rounded-\[var\(--radius-full\)\] {
|
|
1811
1859
|
border-radius: var(--radius-full);
|
|
1812
1860
|
}
|
|
@@ -1860,8 +1908,8 @@
|
|
|
1860
1908
|
border-bottom-right-radius: var(--radius-sm);
|
|
1861
1909
|
border-bottom-left-radius: var(--radius-sm);
|
|
1862
1910
|
}
|
|
1863
|
-
.rounded-br-\[
|
|
1864
|
-
border-bottom-right-radius:
|
|
1911
|
+
.rounded-br-\[12px\] {
|
|
1912
|
+
border-bottom-right-radius: 12px;
|
|
1865
1913
|
}
|
|
1866
1914
|
.rounded-bl-lg {
|
|
1867
1915
|
border-bottom-left-radius: var(--radius-lg);
|
|
@@ -1886,6 +1934,10 @@
|
|
|
1886
1934
|
border-top-style: var(--tw-border-style);
|
|
1887
1935
|
border-top-width: 0px;
|
|
1888
1936
|
}
|
|
1937
|
+
.border-t-2 {
|
|
1938
|
+
border-top-style: var(--tw-border-style);
|
|
1939
|
+
border-top-width: 2px;
|
|
1940
|
+
}
|
|
1889
1941
|
.border-r {
|
|
1890
1942
|
border-right-style: var(--tw-border-style);
|
|
1891
1943
|
border-right-width: 1px;
|
|
@@ -1920,6 +1972,9 @@
|
|
|
1920
1972
|
.border-\[var\(--border-accent\,transparent\)\] {
|
|
1921
1973
|
border-color: var(--border-accent,transparent);
|
|
1922
1974
|
}
|
|
1975
|
+
.border-\[var\(--border-subtle\)\] {
|
|
1976
|
+
border-color: var(--border-subtle);
|
|
1977
|
+
}
|
|
1923
1978
|
.border-\[var\(--border-subtle\,hsl\(var\(--border\)\)\)\] {
|
|
1924
1979
|
border-color: var(--border-subtle,hsl(var(--border)));
|
|
1925
1980
|
}
|
|
@@ -2061,6 +2116,9 @@
|
|
|
2061
2116
|
border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
|
|
2062
2117
|
}
|
|
2063
2118
|
}
|
|
2119
|
+
.border-t-blue-500 {
|
|
2120
|
+
border-top-color: var(--color-blue-500);
|
|
2121
|
+
}
|
|
2064
2122
|
.border-t-transparent {
|
|
2065
2123
|
border-top-color: transparent;
|
|
2066
2124
|
}
|
|
@@ -2082,12 +2140,21 @@
|
|
|
2082
2140
|
.bg-\[\#ffbd2e\]\/80 {
|
|
2083
2141
|
background-color: color-mix(in oklab, #ffbd2e 80%, transparent);
|
|
2084
2142
|
}
|
|
2143
|
+
.bg-\[color\:color-mix\(in_srgb\,var\(--bg-card\)_94\%\,transparent\)\] {
|
|
2144
|
+
background-color: var(--bg-card);
|
|
2145
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2146
|
+
background-color: color-mix(in srgb,var(--bg-card) 94%,transparent);
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2085
2149
|
.bg-\[var\(--accent-surface-soft\)\] {
|
|
2086
2150
|
background-color: var(--accent-surface-soft);
|
|
2087
2151
|
}
|
|
2088
2152
|
.bg-\[var\(--accent-surface-strong\)\] {
|
|
2089
2153
|
background-color: var(--accent-surface-strong);
|
|
2090
2154
|
}
|
|
2155
|
+
.bg-\[var\(--bg-card\)\] {
|
|
2156
|
+
background-color: var(--bg-card);
|
|
2157
|
+
}
|
|
2091
2158
|
.bg-\[var\(--bg-root\)\] {
|
|
2092
2159
|
background-color: var(--bg-root);
|
|
2093
2160
|
}
|
|
@@ -2410,6 +2477,9 @@
|
|
|
2410
2477
|
.px-0 {
|
|
2411
2478
|
padding-inline: calc(var(--spacing) * 0);
|
|
2412
2479
|
}
|
|
2480
|
+
.px-0\.5 {
|
|
2481
|
+
padding-inline: calc(var(--spacing) * 0.5);
|
|
2482
|
+
}
|
|
2413
2483
|
.px-1 {
|
|
2414
2484
|
padding-inline: calc(var(--spacing) * 1);
|
|
2415
2485
|
}
|
|
@@ -2425,6 +2495,9 @@
|
|
|
2425
2495
|
.px-3 {
|
|
2426
2496
|
padding-inline: calc(var(--spacing) * 3);
|
|
2427
2497
|
}
|
|
2498
|
+
.px-3\.5 {
|
|
2499
|
+
padding-inline: calc(var(--spacing) * 3.5);
|
|
2500
|
+
}
|
|
2428
2501
|
.px-4 {
|
|
2429
2502
|
padding-inline: calc(var(--spacing) * 4);
|
|
2430
2503
|
}
|
|
@@ -2479,12 +2552,18 @@
|
|
|
2479
2552
|
.py-5 {
|
|
2480
2553
|
padding-block: calc(var(--spacing) * 5);
|
|
2481
2554
|
}
|
|
2555
|
+
.py-8 {
|
|
2556
|
+
padding-block: calc(var(--spacing) * 8);
|
|
2557
|
+
}
|
|
2482
2558
|
.py-12 {
|
|
2483
2559
|
padding-block: calc(var(--spacing) * 12);
|
|
2484
2560
|
}
|
|
2485
2561
|
.py-16 {
|
|
2486
2562
|
padding-block: calc(var(--spacing) * 16);
|
|
2487
2563
|
}
|
|
2564
|
+
.py-20 {
|
|
2565
|
+
padding-block: calc(var(--spacing) * 20);
|
|
2566
|
+
}
|
|
2488
2567
|
.py-\[2px\] {
|
|
2489
2568
|
padding-block: 2px;
|
|
2490
2569
|
}
|
|
@@ -2668,9 +2747,6 @@
|
|
|
2668
2747
|
.text-\[13px\] {
|
|
2669
2748
|
font-size: 13px;
|
|
2670
2749
|
}
|
|
2671
|
-
.text-\[14px\] {
|
|
2672
|
-
font-size: 14px;
|
|
2673
|
-
}
|
|
2674
2750
|
.text-\[15px\] {
|
|
2675
2751
|
font-size: 15px;
|
|
2676
2752
|
}
|
|
@@ -2684,6 +2760,10 @@
|
|
|
2684
2760
|
--tw-leading: calc(var(--spacing) * 6);
|
|
2685
2761
|
line-height: calc(var(--spacing) * 6);
|
|
2686
2762
|
}
|
|
2763
|
+
.leading-6\.5 {
|
|
2764
|
+
--tw-leading: calc(var(--spacing) * 6.5);
|
|
2765
|
+
line-height: calc(var(--spacing) * 6.5);
|
|
2766
|
+
}
|
|
2687
2767
|
.leading-7 {
|
|
2688
2768
|
--tw-leading: calc(var(--spacing) * 7);
|
|
2689
2769
|
line-height: calc(var(--spacing) * 7);
|
|
@@ -2857,8 +2937,8 @@
|
|
|
2857
2937
|
.text-\[var\(--chat-label-size\,11px\)\] {
|
|
2858
2938
|
color: var(--chat-label-size,11px);
|
|
2859
2939
|
}
|
|
2860
|
-
.text-\[var\(--chat-send-color\,
|
|
2861
|
-
color: var(--chat-send-color,
|
|
2940
|
+
.text-\[var\(--chat-send-color\,white\)\] {
|
|
2941
|
+
color: var(--chat-send-color,white);
|
|
2862
2942
|
}
|
|
2863
2943
|
.text-\[var\(--code-error\)\] {
|
|
2864
2944
|
color: var(--code-error);
|
|
@@ -2929,6 +3009,9 @@
|
|
|
2929
3009
|
.text-\[var\(--text-muted\,hsl\(var\(--muted-foreground\)\)\)\] {
|
|
2930
3010
|
color: var(--text-muted,hsl(var(--muted-foreground)));
|
|
2931
3011
|
}
|
|
3012
|
+
.text-\[var\(--text-primary\)\] {
|
|
3013
|
+
color: var(--text-primary);
|
|
3014
|
+
}
|
|
2932
3015
|
.text-\[var\(--text-primary\,hsl\(var\(--foreground\)\)\)\] {
|
|
2933
3016
|
color: var(--text-primary,hsl(var(--foreground)));
|
|
2934
3017
|
}
|
|
@@ -2971,6 +3054,12 @@
|
|
|
2971
3054
|
.text-white {
|
|
2972
3055
|
color: var(--color-white);
|
|
2973
3056
|
}
|
|
3057
|
+
.text-white\/60 {
|
|
3058
|
+
color: color-mix(in srgb, #fff 60%, transparent);
|
|
3059
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3060
|
+
color: color-mix(in oklab, var(--color-white) 60%, transparent);
|
|
3061
|
+
}
|
|
3062
|
+
}
|
|
2974
3063
|
.text-yellow-400 {
|
|
2975
3064
|
color: var(--color-yellow-400);
|
|
2976
3065
|
}
|
|
@@ -3035,16 +3124,28 @@
|
|
|
3035
3124
|
--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
|
|
3036
3125
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3037
3126
|
}
|
|
3127
|
+
.shadow-\[0_1px_2px_rgba\(15\,23\,42\,0\.04\)\] {
|
|
3128
|
+
--tw-shadow: 0 1px 2px var(--tw-shadow-color, rgba(15,23,42,0.04));
|
|
3129
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3130
|
+
}
|
|
3131
|
+
.shadow-\[0_6px_16px_rgba\(15\,23\,42\,0\.08\)\] {
|
|
3132
|
+
--tw-shadow: 0 6px 16px var(--tw-shadow-color, rgba(15,23,42,0.08));
|
|
3133
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3134
|
+
}
|
|
3135
|
+
.shadow-\[0_8px_20px_rgba\(15\,23\,42\,0\.12\)\] {
|
|
3136
|
+
--tw-shadow: 0 8px 20px var(--tw-shadow-color, rgba(15,23,42,0.12));
|
|
3137
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3138
|
+
}
|
|
3038
3139
|
.shadow-\[inset_2px_0_0_hsl\(var\(--primary\)\)\] {
|
|
3039
3140
|
--tw-shadow: inset 2px 0 0 var(--tw-shadow-color, hsl(var(--primary)));
|
|
3040
3141
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3041
3142
|
}
|
|
3042
|
-
.shadow-\[var\(--chat-input-shadow\,
|
|
3043
|
-
--tw-shadow: var(--chat-input-shadow,
|
|
3143
|
+
.shadow-\[var\(--chat-input-shadow\,0_1px_2px_rgba\(15\,23\,42\,0\.05\)\)\] {
|
|
3144
|
+
--tw-shadow: var(--chat-input-shadow,0 1px 2px rgba(15,23,42,0.05));
|
|
3044
3145
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3045
3146
|
}
|
|
3046
|
-
.shadow-\[var\(--chat-send-shadow\,
|
|
3047
|
-
--tw-shadow: var(--chat-send-shadow,
|
|
3147
|
+
.shadow-\[var\(--chat-send-shadow\,0_6px_16px_rgba\(15\,23\,42\,0\.12\)\)\] {
|
|
3148
|
+
--tw-shadow: var(--chat-send-shadow,0 6px 16px rgba(15,23,42,0.12));
|
|
3048
3149
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3049
3150
|
}
|
|
3050
3151
|
.shadow-\[var\(--shadow-accent\)\] {
|
|
@@ -3075,6 +3176,10 @@
|
|
|
3075
3176
|
--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));
|
|
3076
3177
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3077
3178
|
}
|
|
3179
|
+
.shadow-none {
|
|
3180
|
+
--tw-shadow: 0 0 #0000;
|
|
3181
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3182
|
+
}
|
|
3078
3183
|
.shadow-sm {
|
|
3079
3184
|
--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));
|
|
3080
3185
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3222,15 +3327,18 @@
|
|
|
3222
3327
|
-webkit-user-select: none;
|
|
3223
3328
|
user-select: none;
|
|
3224
3329
|
}
|
|
3225
|
-
.\[background\:var\(--chat-input-bg\,var\(--
|
|
3226
|
-
background: var(--chat-input-bg,var(--
|
|
3330
|
+
.\[background\:var\(--chat-input-bg\,var\(--bg-card\)\)\] {
|
|
3331
|
+
background: var(--chat-input-bg,var(--bg-card));
|
|
3227
3332
|
}
|
|
3228
|
-
.\[background\:var\(--chat-send-bg\,var\(--
|
|
3229
|
-
background: var(--chat-send-bg,var(--
|
|
3333
|
+
.\[background\:var\(--chat-send-bg\,var\(--brand-primary\)\)\] {
|
|
3334
|
+
background: var(--chat-send-bg,var(--brand-primary));
|
|
3230
3335
|
}
|
|
3231
3336
|
.\[scrollbar-gutter\:stable\] {
|
|
3232
3337
|
scrollbar-gutter: stable;
|
|
3233
3338
|
}
|
|
3339
|
+
.ring-inset {
|
|
3340
|
+
--tw-ring-inset: inset;
|
|
3341
|
+
}
|
|
3234
3342
|
.group-open\:rotate-180 {
|
|
3235
3343
|
&:is(:where(.group):is([open], :popover-open, :open) *) {
|
|
3236
3344
|
rotate: 180deg;
|
|
@@ -3400,6 +3508,12 @@
|
|
|
3400
3508
|
}
|
|
3401
3509
|
}
|
|
3402
3510
|
}
|
|
3511
|
+
.last\:border-0 {
|
|
3512
|
+
&:last-child {
|
|
3513
|
+
border-style: var(--tw-border-style);
|
|
3514
|
+
border-width: 0px;
|
|
3515
|
+
}
|
|
3516
|
+
}
|
|
3403
3517
|
.focus-within\:border-\[var\(--border-accent-hover\)\] {
|
|
3404
3518
|
&:focus-within {
|
|
3405
3519
|
border-color: var(--border-accent-hover);
|
|
@@ -3410,9 +3524,9 @@
|
|
|
3410
3524
|
border-color: var(--chat-input-focus-border,var(--border-accent));
|
|
3411
3525
|
}
|
|
3412
3526
|
}
|
|
3413
|
-
.focus-within\:shadow-\[var\(--chat-input-focus-shadow\,
|
|
3527
|
+
.focus-within\:shadow-\[var\(--chat-input-focus-shadow\,0_10px_30px_rgba\(15\,23\,42\,0\.08\)\)\] {
|
|
3414
3528
|
&:focus-within {
|
|
3415
|
-
--tw-shadow: var(--chat-input-focus-shadow,
|
|
3529
|
+
--tw-shadow: var(--chat-input-focus-shadow,0 10px 30px rgba(15,23,42,0.08));
|
|
3416
3530
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3417
3531
|
}
|
|
3418
3532
|
}
|
|
@@ -3453,6 +3567,16 @@
|
|
|
3453
3567
|
}
|
|
3454
3568
|
}
|
|
3455
3569
|
}
|
|
3570
|
+
.hover\:border-emerald-500\/30 {
|
|
3571
|
+
&:hover {
|
|
3572
|
+
@media (hover: hover) {
|
|
3573
|
+
border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 30%, transparent);
|
|
3574
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3575
|
+
border-color: color-mix(in oklab, var(--color-emerald-500) 30%, transparent);
|
|
3576
|
+
}
|
|
3577
|
+
}
|
|
3578
|
+
}
|
|
3579
|
+
}
|
|
3456
3580
|
.hover\:border-red-500\/30 {
|
|
3457
3581
|
&:hover {
|
|
3458
3582
|
@media (hover: hover) {
|
|
@@ -3532,6 +3656,16 @@
|
|
|
3532
3656
|
}
|
|
3533
3657
|
}
|
|
3534
3658
|
}
|
|
3659
|
+
.hover\:bg-emerald-500\/10 {
|
|
3660
|
+
&:hover {
|
|
3661
|
+
@media (hover: hover) {
|
|
3662
|
+
background-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 10%, transparent);
|
|
3663
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3664
|
+
background-color: color-mix(in oklab, var(--color-emerald-500) 10%, transparent);
|
|
3665
|
+
}
|
|
3666
|
+
}
|
|
3667
|
+
}
|
|
3668
|
+
}
|
|
3535
3669
|
.hover\:bg-green-600\/30 {
|
|
3536
3670
|
&:hover {
|
|
3537
3671
|
@media (hover: hover) {
|
|
@@ -3653,10 +3787,10 @@
|
|
|
3653
3787
|
}
|
|
3654
3788
|
}
|
|
3655
3789
|
}
|
|
3656
|
-
.hover\:\[background\:var\(--chat-send-hover-bg\,var\(--
|
|
3790
|
+
.hover\:\[background\:var\(--chat-send-hover-bg\,var\(--brand-strong\)\)\] {
|
|
3657
3791
|
&:hover {
|
|
3658
3792
|
@media (hover: hover) {
|
|
3659
|
-
background: var(--chat-send-hover-bg,var(--
|
|
3793
|
+
background: var(--chat-send-hover-bg,var(--brand-strong));
|
|
3660
3794
|
}
|
|
3661
3795
|
}
|
|
3662
3796
|
}
|
|
@@ -235,6 +235,19 @@ interface DashboardLayoutProps {
|
|
|
235
235
|
railFooter?: React.ReactNode;
|
|
236
236
|
/** Extra dropdown items in the profile menu */
|
|
237
237
|
profileMenuItems?: React.ReactNode;
|
|
238
|
+
/** Notification data for the bell dropdown */
|
|
239
|
+
notifications?: {
|
|
240
|
+
items: {
|
|
241
|
+
id: string;
|
|
242
|
+
title: string;
|
|
243
|
+
message: string;
|
|
244
|
+
read: boolean;
|
|
245
|
+
createdAt: string;
|
|
246
|
+
}[];
|
|
247
|
+
unreadCount: number;
|
|
248
|
+
onMarkRead?: (id: string) => void;
|
|
249
|
+
onMarkAllRead?: () => void;
|
|
250
|
+
};
|
|
238
251
|
}
|
|
239
252
|
declare function DashboardLayout({ defaultPanelOpen, defaultMode, ...props }: DashboardLayoutProps): react_jsx_runtime.JSX.Element;
|
|
240
253
|
|
package/dist/workspace.d.ts
CHANGED
|
@@ -339,4 +339,137 @@ interface AuditResultsProps {
|
|
|
339
339
|
}
|
|
340
340
|
declare function AuditResults({ forms, crossFormChecks, overallScore, className }: AuditResultsProps): react_jsx_runtime.JSX.Element;
|
|
341
341
|
|
|
342
|
-
|
|
342
|
+
interface TaskBoardItem {
|
|
343
|
+
id: string;
|
|
344
|
+
title: string;
|
|
345
|
+
description?: string | null;
|
|
346
|
+
status: string;
|
|
347
|
+
priority?: string | null;
|
|
348
|
+
tags?: string[];
|
|
349
|
+
dueDate?: Date | null;
|
|
350
|
+
assigneeId?: string | null;
|
|
351
|
+
/** Arbitrary metadata rendered by renderItemMeta */
|
|
352
|
+
meta?: Record<string, unknown>;
|
|
353
|
+
}
|
|
354
|
+
interface TaskBoardColumn {
|
|
355
|
+
id: string;
|
|
356
|
+
label: string;
|
|
357
|
+
/** Tailwind border-top color class, e.g. "border-t-blue-500" */
|
|
358
|
+
accent?: string;
|
|
359
|
+
}
|
|
360
|
+
interface TaskBoardProps {
|
|
361
|
+
items: TaskBoardItem[];
|
|
362
|
+
columns: TaskBoardColumn[];
|
|
363
|
+
className?: string;
|
|
364
|
+
onMoveItem?: (itemId: string, toColumnId: string) => void;
|
|
365
|
+
onClickItem?: (item: TaskBoardItem) => void;
|
|
366
|
+
/** Render custom content inside each card below the title/description */
|
|
367
|
+
renderItemMeta?: (item: TaskBoardItem) => ReactNode;
|
|
368
|
+
/** Render actions in the column header (e.g. "+" button) */
|
|
369
|
+
renderColumnAction?: (column: TaskBoardColumn) => ReactNode;
|
|
370
|
+
/** Badge renderer for priority/tags — receives the raw value */
|
|
371
|
+
renderBadge?: (value: string, type: "priority" | "tag") => ReactNode;
|
|
372
|
+
/** Empty state shown when a column has no items */
|
|
373
|
+
columnEmptyState?: ReactNode;
|
|
374
|
+
/** Header slot above the board */
|
|
375
|
+
header?: ReactNode;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* TaskBoard — flexible kanban board for task/work-item management.
|
|
379
|
+
*
|
|
380
|
+
* Renders items grouped by status into columns. Does NOT manage drag-drop
|
|
381
|
+
* internally — consumers wire @hello-pangea/dnd or similar and call
|
|
382
|
+
* onMoveItem. This keeps the component lightweight and DnD-library-agnostic.
|
|
383
|
+
*
|
|
384
|
+
* All visual customization happens through render props and slots.
|
|
385
|
+
*/
|
|
386
|
+
declare function TaskBoard({ items, columns, className, onMoveItem, onClickItem, renderItemMeta, renderColumnAction, renderBadge, columnEmptyState, header, }: TaskBoardProps): react_jsx_runtime.JSX.Element;
|
|
387
|
+
|
|
388
|
+
interface CalendarEvent {
|
|
389
|
+
id: string;
|
|
390
|
+
title: string;
|
|
391
|
+
type?: string;
|
|
392
|
+
startAt: Date | string;
|
|
393
|
+
endAt?: Date | string | null;
|
|
394
|
+
allDay?: boolean;
|
|
395
|
+
/** Arbitrary data passed through to render props */
|
|
396
|
+
meta?: Record<string, unknown>;
|
|
397
|
+
}
|
|
398
|
+
interface CalendarViewProps {
|
|
399
|
+
events: CalendarEvent[];
|
|
400
|
+
className?: string;
|
|
401
|
+
/** Controlled month (0-indexed). Defaults to current month. */
|
|
402
|
+
month?: number;
|
|
403
|
+
year?: number;
|
|
404
|
+
onMonthChange?: (year: number, month: number) => void;
|
|
405
|
+
/** Which day is selected (ISO date string YYYY-MM-DD) */
|
|
406
|
+
selectedDay?: string | null;
|
|
407
|
+
onSelectDay?: (dateKey: string) => void;
|
|
408
|
+
onDoubleClickDay?: (dateKey: string) => void;
|
|
409
|
+
/** Render an event dot/chip inside a calendar cell */
|
|
410
|
+
renderEventChip?: (event: CalendarEvent) => ReactNode;
|
|
411
|
+
/** Render the day detail panel (right side) */
|
|
412
|
+
renderDayDetail?: (dateKey: string, dayEvents: CalendarEvent[]) => ReactNode;
|
|
413
|
+
/** Header slot (left of navigation) */
|
|
414
|
+
headerLeft?: ReactNode;
|
|
415
|
+
/** Header slot (right of navigation) */
|
|
416
|
+
headerRight?: ReactNode;
|
|
417
|
+
/** Whether to show the day detail panel. Default true. */
|
|
418
|
+
showDayPanel?: boolean;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* CalendarView — month grid calendar with event chips and optional day detail panel.
|
|
422
|
+
*
|
|
423
|
+
* Stateless by default (controlled month/selectedDay). Falls back to internal
|
|
424
|
+
* state when uncontrolled. All rendering is customizable via render props.
|
|
425
|
+
*/
|
|
426
|
+
declare function CalendarView({ events, className, month: controlledMonth, year: controlledYear, onMonthChange, selectedDay: controlledSelectedDay, onSelectDay, onDoubleClickDay, renderEventChip, renderDayDetail, headerLeft, headerRight, showDayPanel, }: CalendarViewProps): react_jsx_runtime.JSX.Element;
|
|
427
|
+
|
|
428
|
+
interface ApprovalItem {
|
|
429
|
+
id: string;
|
|
430
|
+
title: string;
|
|
431
|
+
description?: string | null;
|
|
432
|
+
type: string;
|
|
433
|
+
status: "pending" | "approved" | "rejected" | "executed";
|
|
434
|
+
createdAt?: Date | string | null;
|
|
435
|
+
resolvedAt?: Date | string | null;
|
|
436
|
+
/** Arbitrary metadata — e.g. rejectionReason, confidence, content preview */
|
|
437
|
+
meta?: Record<string, unknown>;
|
|
438
|
+
}
|
|
439
|
+
interface ApprovalConfidenceStat {
|
|
440
|
+
type: string;
|
|
441
|
+
approved: number;
|
|
442
|
+
rejected: number;
|
|
443
|
+
total: number;
|
|
444
|
+
rate: number;
|
|
445
|
+
}
|
|
446
|
+
interface ApprovalQueueProps {
|
|
447
|
+
items: ApprovalItem[];
|
|
448
|
+
className?: string;
|
|
449
|
+
onApprove?: (item: ApprovalItem) => void;
|
|
450
|
+
onReject?: (item: ApprovalItem, reason?: string) => void;
|
|
451
|
+
/** Render custom content inside each approval card */
|
|
452
|
+
renderItemDetail?: (item: ApprovalItem) => ReactNode;
|
|
453
|
+
/** Render a custom badge for the item type */
|
|
454
|
+
renderTypeBadge?: (type: string) => ReactNode;
|
|
455
|
+
/** Render custom stats at the top. If not provided, auto-computed confidence stats shown. */
|
|
456
|
+
renderStats?: (stats: ApprovalConfidenceStat[]) => ReactNode;
|
|
457
|
+
/** Whether the user can approve/reject. Default true. */
|
|
458
|
+
canResolve?: boolean;
|
|
459
|
+
/** Header slot */
|
|
460
|
+
header?: ReactNode;
|
|
461
|
+
/** Empty state */
|
|
462
|
+
emptyState?: ReactNode;
|
|
463
|
+
/** Whether to show resolved items. Default: collapsed toggle. */
|
|
464
|
+
showResolved?: boolean;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* ApprovalQueue — review queue for agent-proposed actions.
|
|
468
|
+
*
|
|
469
|
+
* Shows pending items with approve/reject controls, confidence stats per type,
|
|
470
|
+
* and a collapsible resolved history. Designed for the agent approval feedback
|
|
471
|
+
* loop: agent proposes → user approves/rejects → rejection reasons feed back.
|
|
472
|
+
*/
|
|
473
|
+
declare function ApprovalQueue({ items, className, onApprove, onReject, renderItemDetail, renderTypeBadge, renderStats, canResolve, header, emptyState, showResolved: controlledShowResolved, }: ApprovalQueueProps): react_jsx_runtime.JSX.Element;
|
|
474
|
+
|
|
475
|
+
export { AgentWorkbench, type ApprovalConfidenceStat, type ApprovalItem, ApprovalQueue, type ApprovalQueueProps, type AuditCheck, AuditResults, type AuditResultsProps, type BannerType, type CalendarEvent, CalendarView, type CalendarViewProps, type ContextBadge, DirectoryPane, type DirectoryPaneProps, type FormAudit, RuntimePane, type RuntimePaneProps, SandboxWorkbench, type SandboxWorkbenchArtifact, type SandboxWorkbenchCustomArtifact, type SandboxWorkbenchFileArtifact, type SandboxWorkbenchLayoutOptions, type SandboxWorkbenchMarkdownArtifact, type SandboxWorkbenchOpenUIArtifact, type SandboxWorkbenchProps, type SandboxWorkbenchSessionProps, SessionActivityMonitor, type SessionActivityMonitorProps, SessionSidebar, type SessionSidebarBadge, type SessionSidebarFilter, type SessionSidebarItem, type SessionSidebarLink, type SessionSidebarProps, StatusBanner, type StatusBannerProps, StatusBar, type StatusBarProps, TaskBoard, type TaskBoardColumn, type TaskBoardItem, type TaskBoardProps, type TerminalLine, TerminalPanel, type TerminalProps, WorkspaceLayout, type WorkspaceLayoutProps };
|
package/dist/workspace.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AgentWorkbench,
|
|
3
|
+
ApprovalQueue,
|
|
3
4
|
AuditResults,
|
|
5
|
+
CalendarView,
|
|
4
6
|
DirectoryPane,
|
|
5
7
|
RuntimePane,
|
|
6
8
|
SandboxWorkbench,
|
|
@@ -8,18 +10,19 @@ import {
|
|
|
8
10
|
SessionSidebar,
|
|
9
11
|
StatusBanner,
|
|
10
12
|
StatusBar,
|
|
13
|
+
TaskBoard,
|
|
11
14
|
TerminalPanel,
|
|
12
15
|
WorkspaceLayout
|
|
13
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-A5ALUT2B.js";
|
|
14
17
|
import "./chunk-OEX7NZE3.js";
|
|
15
18
|
import "./chunk-MA7YKRUP.js";
|
|
16
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-WKSGQVLI.js";
|
|
17
20
|
import "./chunk-54SQQMMM.js";
|
|
18
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-QOL4ZB24.js";
|
|
19
22
|
import "./chunk-HRMUF35V.js";
|
|
20
23
|
import "./chunk-MT5FJ3ZT.js";
|
|
21
24
|
import "./chunk-BX6AQMUS.js";
|
|
22
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-ZNCEM5CD.js";
|
|
23
26
|
import "./chunk-34I7UFSX.js";
|
|
24
27
|
import "./chunk-QDH5GEGY.js";
|
|
25
28
|
import {
|
|
@@ -31,8 +34,10 @@ import "./chunk-MKTSMWVD.js";
|
|
|
31
34
|
import "./chunk-RQHJBTEU.js";
|
|
32
35
|
export {
|
|
33
36
|
AgentWorkbench,
|
|
37
|
+
ApprovalQueue,
|
|
34
38
|
ArtifactPane,
|
|
35
39
|
AuditResults,
|
|
40
|
+
CalendarView,
|
|
36
41
|
DirectoryPane,
|
|
37
42
|
RuntimePane,
|
|
38
43
|
SandboxWorkbench,
|
|
@@ -40,6 +45,7 @@ export {
|
|
|
40
45
|
SessionSidebar,
|
|
41
46
|
StatusBanner,
|
|
42
47
|
StatusBar,
|
|
48
|
+
TaskBoard,
|
|
43
49
|
TerminalPanel,
|
|
44
50
|
WorkspaceLayout
|
|
45
51
|
};
|
package/package.json
CHANGED