@tangle-network/sandbox-ui 0.10.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-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/globals.css +144 -28
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -4
- package/dist/openui.js +1 -1
- package/dist/run.js +5 -1
- package/dist/styles.css +144 -28
- package/dist/workspace.d.ts +134 -1
- package/dist/workspace.js +10 -4
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -1125,8 +1125,8 @@
|
|
|
1125
1125
|
.max-h-\[90vh\] {
|
|
1126
1126
|
max-height: 90vh;
|
|
1127
1127
|
}
|
|
1128
|
-
.max-h-\[
|
|
1129
|
-
max-height:
|
|
1128
|
+
.max-h-\[160px\] {
|
|
1129
|
+
max-height: 160px;
|
|
1130
1130
|
}
|
|
1131
1131
|
.min-h-0 {
|
|
1132
1132
|
min-height: calc(var(--spacing) * 0);
|
|
@@ -1134,6 +1134,9 @@
|
|
|
1134
1134
|
.min-h-\[2px\] {
|
|
1135
1135
|
min-height: 2px;
|
|
1136
1136
|
}
|
|
1137
|
+
.min-h-\[6rem\] {
|
|
1138
|
+
min-height: 6rem;
|
|
1139
|
+
}
|
|
1137
1140
|
.min-h-\[12rem\] {
|
|
1138
1141
|
min-height: 12rem;
|
|
1139
1142
|
}
|
|
@@ -1143,8 +1146,14 @@
|
|
|
1143
1146
|
.min-h-\[16rem\] {
|
|
1144
1147
|
min-height: 16rem;
|
|
1145
1148
|
}
|
|
1146
|
-
.min-h-\[
|
|
1147
|
-
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;
|
|
1148
1157
|
}
|
|
1149
1158
|
.min-h-\[120px\] {
|
|
1150
1159
|
min-height: 120px;
|
|
@@ -1158,6 +1167,9 @@
|
|
|
1158
1167
|
.min-h-\[240px\] {
|
|
1159
1168
|
min-height: 240px;
|
|
1160
1169
|
}
|
|
1170
|
+
.min-h-full {
|
|
1171
|
+
min-height: 100%;
|
|
1172
|
+
}
|
|
1161
1173
|
.min-h-screen {
|
|
1162
1174
|
min-height: 100vh;
|
|
1163
1175
|
}
|
|
@@ -1368,8 +1380,8 @@
|
|
|
1368
1380
|
.max-w-\[75\%\] {
|
|
1369
1381
|
max-width: 75%;
|
|
1370
1382
|
}
|
|
1371
|
-
.max-w-\[
|
|
1372
|
-
max-width:
|
|
1383
|
+
.max-w-\[78\%\] {
|
|
1384
|
+
max-width: 78%;
|
|
1373
1385
|
}
|
|
1374
1386
|
.max-w-\[85\%\] {
|
|
1375
1387
|
max-width: 85%;
|
|
@@ -1416,6 +1428,15 @@
|
|
|
1416
1428
|
.min-w-\[8rem\] {
|
|
1417
1429
|
min-width: 8rem;
|
|
1418
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
|
+
}
|
|
1419
1440
|
.min-w-\[180px\] {
|
|
1420
1441
|
min-width: 180px;
|
|
1421
1442
|
}
|
|
@@ -1489,6 +1510,9 @@
|
|
|
1489
1510
|
.rotate-90 {
|
|
1490
1511
|
rotate: 90deg;
|
|
1491
1512
|
}
|
|
1513
|
+
.rotate-180 {
|
|
1514
|
+
rotate: 180deg;
|
|
1515
|
+
}
|
|
1492
1516
|
.-skew-x-12 {
|
|
1493
1517
|
--tw-skew-x: skewX(calc(12deg * -1));
|
|
1494
1518
|
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
@@ -1541,6 +1565,9 @@
|
|
|
1541
1565
|
.appearance-none {
|
|
1542
1566
|
appearance: none;
|
|
1543
1567
|
}
|
|
1568
|
+
.auto-rows-fr {
|
|
1569
|
+
grid-auto-rows: minmax(0, 1fr);
|
|
1570
|
+
}
|
|
1544
1571
|
.grid-cols-1 {
|
|
1545
1572
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
1546
1573
|
}
|
|
@@ -1550,6 +1577,9 @@
|
|
|
1550
1577
|
.grid-cols-3 {
|
|
1551
1578
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1552
1579
|
}
|
|
1580
|
+
.grid-cols-7 {
|
|
1581
|
+
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
1582
|
+
}
|
|
1553
1583
|
.grid-cols-12 {
|
|
1554
1584
|
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
1555
1585
|
}
|
|
@@ -1637,6 +1667,9 @@
|
|
|
1637
1667
|
.gap-\[3px\] {
|
|
1638
1668
|
gap: 3px;
|
|
1639
1669
|
}
|
|
1670
|
+
.gap-\[5px\] {
|
|
1671
|
+
gap: 5px;
|
|
1672
|
+
}
|
|
1640
1673
|
.gap-px {
|
|
1641
1674
|
gap: 1px;
|
|
1642
1675
|
}
|
|
@@ -1798,12 +1831,21 @@
|
|
|
1798
1831
|
.rounded-\[16px\] {
|
|
1799
1832
|
border-radius: 16px;
|
|
1800
1833
|
}
|
|
1834
|
+
.rounded-\[18px\] {
|
|
1835
|
+
border-radius: 18px;
|
|
1836
|
+
}
|
|
1801
1837
|
.rounded-\[20px\] {
|
|
1802
1838
|
border-radius: 20px;
|
|
1803
1839
|
}
|
|
1840
|
+
.rounded-\[22px\] {
|
|
1841
|
+
border-radius: 22px;
|
|
1842
|
+
}
|
|
1804
1843
|
.rounded-\[24px\] {
|
|
1805
1844
|
border-radius: 24px;
|
|
1806
1845
|
}
|
|
1846
|
+
.rounded-\[26px\] {
|
|
1847
|
+
border-radius: 26px;
|
|
1848
|
+
}
|
|
1807
1849
|
.rounded-\[28px\] {
|
|
1808
1850
|
border-radius: 28px;
|
|
1809
1851
|
}
|
|
@@ -1813,9 +1855,6 @@
|
|
|
1813
1855
|
.rounded-\[calc\(var\(--radius-xl\)\+2px\)\] {
|
|
1814
1856
|
border-radius: calc(var(--radius-xl) + 2px);
|
|
1815
1857
|
}
|
|
1816
|
-
.rounded-\[var\(--chat-send-radius\,var\(--radius-lg\)\)\] {
|
|
1817
|
-
border-radius: var(--chat-send-radius,var(--radius-lg));
|
|
1818
|
-
}
|
|
1819
1858
|
.rounded-\[var\(--radius-full\)\] {
|
|
1820
1859
|
border-radius: var(--radius-full);
|
|
1821
1860
|
}
|
|
@@ -1869,8 +1908,8 @@
|
|
|
1869
1908
|
border-bottom-right-radius: var(--radius-sm);
|
|
1870
1909
|
border-bottom-left-radius: var(--radius-sm);
|
|
1871
1910
|
}
|
|
1872
|
-
.rounded-br-\[
|
|
1873
|
-
border-bottom-right-radius:
|
|
1911
|
+
.rounded-br-\[12px\] {
|
|
1912
|
+
border-bottom-right-radius: 12px;
|
|
1874
1913
|
}
|
|
1875
1914
|
.rounded-bl-lg {
|
|
1876
1915
|
border-bottom-left-radius: var(--radius-lg);
|
|
@@ -1895,6 +1934,10 @@
|
|
|
1895
1934
|
border-top-style: var(--tw-border-style);
|
|
1896
1935
|
border-top-width: 0px;
|
|
1897
1936
|
}
|
|
1937
|
+
.border-t-2 {
|
|
1938
|
+
border-top-style: var(--tw-border-style);
|
|
1939
|
+
border-top-width: 2px;
|
|
1940
|
+
}
|
|
1898
1941
|
.border-r {
|
|
1899
1942
|
border-right-style: var(--tw-border-style);
|
|
1900
1943
|
border-right-width: 1px;
|
|
@@ -1929,6 +1972,9 @@
|
|
|
1929
1972
|
.border-\[var\(--border-accent\,transparent\)\] {
|
|
1930
1973
|
border-color: var(--border-accent,transparent);
|
|
1931
1974
|
}
|
|
1975
|
+
.border-\[var\(--border-subtle\)\] {
|
|
1976
|
+
border-color: var(--border-subtle);
|
|
1977
|
+
}
|
|
1932
1978
|
.border-\[var\(--border-subtle\,hsl\(var\(--border\)\)\)\] {
|
|
1933
1979
|
border-color: var(--border-subtle,hsl(var(--border)));
|
|
1934
1980
|
}
|
|
@@ -2070,6 +2116,9 @@
|
|
|
2070
2116
|
border-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
|
|
2071
2117
|
}
|
|
2072
2118
|
}
|
|
2119
|
+
.border-t-blue-500 {
|
|
2120
|
+
border-top-color: var(--color-blue-500);
|
|
2121
|
+
}
|
|
2073
2122
|
.border-t-transparent {
|
|
2074
2123
|
border-top-color: transparent;
|
|
2075
2124
|
}
|
|
@@ -2091,12 +2140,21 @@
|
|
|
2091
2140
|
.bg-\[\#ffbd2e\]\/80 {
|
|
2092
2141
|
background-color: color-mix(in oklab, #ffbd2e 80%, transparent);
|
|
2093
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
|
+
}
|
|
2094
2149
|
.bg-\[var\(--accent-surface-soft\)\] {
|
|
2095
2150
|
background-color: var(--accent-surface-soft);
|
|
2096
2151
|
}
|
|
2097
2152
|
.bg-\[var\(--accent-surface-strong\)\] {
|
|
2098
2153
|
background-color: var(--accent-surface-strong);
|
|
2099
2154
|
}
|
|
2155
|
+
.bg-\[var\(--bg-card\)\] {
|
|
2156
|
+
background-color: var(--bg-card);
|
|
2157
|
+
}
|
|
2100
2158
|
.bg-\[var\(--bg-root\)\] {
|
|
2101
2159
|
background-color: var(--bg-root);
|
|
2102
2160
|
}
|
|
@@ -2419,6 +2477,9 @@
|
|
|
2419
2477
|
.px-0 {
|
|
2420
2478
|
padding-inline: calc(var(--spacing) * 0);
|
|
2421
2479
|
}
|
|
2480
|
+
.px-0\.5 {
|
|
2481
|
+
padding-inline: calc(var(--spacing) * 0.5);
|
|
2482
|
+
}
|
|
2422
2483
|
.px-1 {
|
|
2423
2484
|
padding-inline: calc(var(--spacing) * 1);
|
|
2424
2485
|
}
|
|
@@ -2434,6 +2495,9 @@
|
|
|
2434
2495
|
.px-3 {
|
|
2435
2496
|
padding-inline: calc(var(--spacing) * 3);
|
|
2436
2497
|
}
|
|
2498
|
+
.px-3\.5 {
|
|
2499
|
+
padding-inline: calc(var(--spacing) * 3.5);
|
|
2500
|
+
}
|
|
2437
2501
|
.px-4 {
|
|
2438
2502
|
padding-inline: calc(var(--spacing) * 4);
|
|
2439
2503
|
}
|
|
@@ -2497,6 +2561,9 @@
|
|
|
2497
2561
|
.py-16 {
|
|
2498
2562
|
padding-block: calc(var(--spacing) * 16);
|
|
2499
2563
|
}
|
|
2564
|
+
.py-20 {
|
|
2565
|
+
padding-block: calc(var(--spacing) * 20);
|
|
2566
|
+
}
|
|
2500
2567
|
.py-\[2px\] {
|
|
2501
2568
|
padding-block: 2px;
|
|
2502
2569
|
}
|
|
@@ -2680,9 +2747,6 @@
|
|
|
2680
2747
|
.text-\[13px\] {
|
|
2681
2748
|
font-size: 13px;
|
|
2682
2749
|
}
|
|
2683
|
-
.text-\[14px\] {
|
|
2684
|
-
font-size: 14px;
|
|
2685
|
-
}
|
|
2686
2750
|
.text-\[15px\] {
|
|
2687
2751
|
font-size: 15px;
|
|
2688
2752
|
}
|
|
@@ -2696,6 +2760,10 @@
|
|
|
2696
2760
|
--tw-leading: calc(var(--spacing) * 6);
|
|
2697
2761
|
line-height: calc(var(--spacing) * 6);
|
|
2698
2762
|
}
|
|
2763
|
+
.leading-6\.5 {
|
|
2764
|
+
--tw-leading: calc(var(--spacing) * 6.5);
|
|
2765
|
+
line-height: calc(var(--spacing) * 6.5);
|
|
2766
|
+
}
|
|
2699
2767
|
.leading-7 {
|
|
2700
2768
|
--tw-leading: calc(var(--spacing) * 7);
|
|
2701
2769
|
line-height: calc(var(--spacing) * 7);
|
|
@@ -2869,8 +2937,8 @@
|
|
|
2869
2937
|
.text-\[var\(--chat-label-size\,11px\)\] {
|
|
2870
2938
|
color: var(--chat-label-size,11px);
|
|
2871
2939
|
}
|
|
2872
|
-
.text-\[var\(--chat-send-color\,
|
|
2873
|
-
color: var(--chat-send-color,
|
|
2940
|
+
.text-\[var\(--chat-send-color\,white\)\] {
|
|
2941
|
+
color: var(--chat-send-color,white);
|
|
2874
2942
|
}
|
|
2875
2943
|
.text-\[var\(--code-error\)\] {
|
|
2876
2944
|
color: var(--code-error);
|
|
@@ -2941,6 +3009,9 @@
|
|
|
2941
3009
|
.text-\[var\(--text-muted\,hsl\(var\(--muted-foreground\)\)\)\] {
|
|
2942
3010
|
color: var(--text-muted,hsl(var(--muted-foreground)));
|
|
2943
3011
|
}
|
|
3012
|
+
.text-\[var\(--text-primary\)\] {
|
|
3013
|
+
color: var(--text-primary);
|
|
3014
|
+
}
|
|
2944
3015
|
.text-\[var\(--text-primary\,hsl\(var\(--foreground\)\)\)\] {
|
|
2945
3016
|
color: var(--text-primary,hsl(var(--foreground)));
|
|
2946
3017
|
}
|
|
@@ -2983,6 +3054,12 @@
|
|
|
2983
3054
|
.text-white {
|
|
2984
3055
|
color: var(--color-white);
|
|
2985
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
|
+
}
|
|
2986
3063
|
.text-yellow-400 {
|
|
2987
3064
|
color: var(--color-yellow-400);
|
|
2988
3065
|
}
|
|
@@ -3047,16 +3124,28 @@
|
|
|
3047
3124
|
--tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
|
|
3048
3125
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3049
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
|
+
}
|
|
3050
3139
|
.shadow-\[inset_2px_0_0_hsl\(var\(--primary\)\)\] {
|
|
3051
3140
|
--tw-shadow: inset 2px 0 0 var(--tw-shadow-color, hsl(var(--primary)));
|
|
3052
3141
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3053
3142
|
}
|
|
3054
|
-
.shadow-\[var\(--chat-input-shadow\,
|
|
3055
|
-
--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));
|
|
3056
3145
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3057
3146
|
}
|
|
3058
|
-
.shadow-\[var\(--chat-send-shadow\,
|
|
3059
|
-
--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));
|
|
3060
3149
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3061
3150
|
}
|
|
3062
3151
|
.shadow-\[var\(--shadow-accent\)\] {
|
|
@@ -3087,6 +3176,10 @@
|
|
|
3087
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));
|
|
3088
3177
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3089
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
|
+
}
|
|
3090
3183
|
.shadow-sm {
|
|
3091
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));
|
|
3092
3185
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -3234,15 +3327,18 @@
|
|
|
3234
3327
|
-webkit-user-select: none;
|
|
3235
3328
|
user-select: none;
|
|
3236
3329
|
}
|
|
3237
|
-
.\[background\:var\(--chat-input-bg\,var\(--
|
|
3238
|
-
background: var(--chat-input-bg,var(--
|
|
3330
|
+
.\[background\:var\(--chat-input-bg\,var\(--bg-card\)\)\] {
|
|
3331
|
+
background: var(--chat-input-bg,var(--bg-card));
|
|
3239
3332
|
}
|
|
3240
|
-
.\[background\:var\(--chat-send-bg\,var\(--
|
|
3241
|
-
background: var(--chat-send-bg,var(--
|
|
3333
|
+
.\[background\:var\(--chat-send-bg\,var\(--brand-primary\)\)\] {
|
|
3334
|
+
background: var(--chat-send-bg,var(--brand-primary));
|
|
3242
3335
|
}
|
|
3243
3336
|
.\[scrollbar-gutter\:stable\] {
|
|
3244
3337
|
scrollbar-gutter: stable;
|
|
3245
3338
|
}
|
|
3339
|
+
.ring-inset {
|
|
3340
|
+
--tw-ring-inset: inset;
|
|
3341
|
+
}
|
|
3246
3342
|
.group-open\:rotate-180 {
|
|
3247
3343
|
&:is(:where(.group):is([open], :popover-open, :open) *) {
|
|
3248
3344
|
rotate: 180deg;
|
|
@@ -3428,9 +3524,9 @@
|
|
|
3428
3524
|
border-color: var(--chat-input-focus-border,var(--border-accent));
|
|
3429
3525
|
}
|
|
3430
3526
|
}
|
|
3431
|
-
.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\)\)\] {
|
|
3432
3528
|
&:focus-within {
|
|
3433
|
-
--tw-shadow: var(--chat-input-focus-shadow,
|
|
3529
|
+
--tw-shadow: var(--chat-input-focus-shadow,0 10px 30px rgba(15,23,42,0.08));
|
|
3434
3530
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3435
3531
|
}
|
|
3436
3532
|
}
|
|
@@ -3471,6 +3567,16 @@
|
|
|
3471
3567
|
}
|
|
3472
3568
|
}
|
|
3473
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
|
+
}
|
|
3474
3580
|
.hover\:border-red-500\/30 {
|
|
3475
3581
|
&:hover {
|
|
3476
3582
|
@media (hover: hover) {
|
|
@@ -3550,6 +3656,16 @@
|
|
|
3550
3656
|
}
|
|
3551
3657
|
}
|
|
3552
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
|
+
}
|
|
3553
3669
|
.hover\:bg-green-600\/30 {
|
|
3554
3670
|
&:hover {
|
|
3555
3671
|
@media (hover: hover) {
|
|
@@ -3671,10 +3787,10 @@
|
|
|
3671
3787
|
}
|
|
3672
3788
|
}
|
|
3673
3789
|
}
|
|
3674
|
-
.hover\:\[background\:var\(--chat-send-hover-bg\,var\(--
|
|
3790
|
+
.hover\:\[background\:var\(--chat-send-hover-bg\,var\(--brand-strong\)\)\] {
|
|
3675
3791
|
&:hover {
|
|
3676
3792
|
@media (hover: hover) {
|
|
3677
|
-
background: var(--chat-send-hover-bg,var(--
|
|
3793
|
+
background: var(--chat-send-hover-bg,var(--brand-strong));
|
|
3678
3794
|
}
|
|
3679
3795
|
}
|
|
3680
3796
|
}
|
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