@process.co/ui 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -258,8 +258,26 @@ function OperatorSelect() {
258
258
  |--------|-------------|
259
259
  | `getInferredType(fieldName)` | Get the published type for a field |
260
260
  | `setInferredType(fieldName, type)` | Manually publish a type for a field |
261
+ | `clearInferredType(fieldName)` | Remove a published type for a field |
262
+ | `clearAllInferredTypes()` | Remove all published types |
261
263
  | `inferredTypes` | Record of all fieldName → type mappings |
262
264
 
265
+ ### Cleanup on Unmount
266
+
267
+ When building controls that publish inferred types, clean up on unmount to avoid stale types:
268
+
269
+ ```tsx
270
+ useEffect(() => {
271
+ // Set the inferred type
272
+ ctx?.setInferredType(myFieldName, computedType);
273
+
274
+ // Cleanup on unmount
275
+ return () => {
276
+ ctx?.clearInferredType?.(myFieldName);
277
+ };
278
+ }, [myFieldName, computedType]);
279
+ ```
280
+
263
281
  ---
264
282
 
265
283
  ## useNodeProperty Hook
package/css/ui.css CHANGED
@@ -1059,9 +1059,15 @@
1059
1059
  .uii\:mt-2 {
1060
1060
  margin-top: calc(var(--uii-spacing) * 2);
1061
1061
  }
1062
+ .uii\:mt-3 {
1063
+ margin-top: calc(var(--uii-spacing) * 3);
1064
+ }
1062
1065
  .uii\:mr-1 {
1063
1066
  margin-right: calc(var(--uii-spacing) * 1);
1064
1067
  }
1068
+ .uii\:mb-1 {
1069
+ margin-bottom: calc(var(--uii-spacing) * 1);
1070
+ }
1065
1071
  .uii\:mb-2 {
1066
1072
  margin-bottom: calc(var(--uii-spacing) * 2);
1067
1073
  }
@@ -1092,9 +1098,19 @@
1092
1098
  width: calc(var(--uii-spacing) * 4);
1093
1099
  height: calc(var(--uii-spacing) * 4);
1094
1100
  }
1101
+ .uii\:size-9 {
1102
+ width: calc(var(--uii-spacing) * 9);
1103
+ height: calc(var(--uii-spacing) * 9);
1104
+ }
1105
+ .uii\:h-8 {
1106
+ height: calc(var(--uii-spacing) * 8);
1107
+ }
1095
1108
  .uii\:h-9 {
1096
1109
  height: calc(var(--uii-spacing) * 9);
1097
1110
  }
1111
+ .uii\:h-10 {
1112
+ height: calc(var(--uii-spacing) * 10);
1113
+ }
1098
1114
  .uii\:h-\[var\(--radix-select-trigger-height\)\] {
1099
1115
  height: var(--radix-select-trigger-height);
1100
1116
  }
@@ -1104,6 +1120,12 @@
1104
1120
  .uii\:h-px {
1105
1121
  height: 1px;
1106
1122
  }
1123
+ .uii\:max-h-24 {
1124
+ max-height: calc(var(--uii-spacing) * 24);
1125
+ }
1126
+ .uii\:max-h-48 {
1127
+ max-height: calc(var(--uii-spacing) * 48);
1128
+ }
1107
1129
  .uii\:max-h-64 {
1108
1130
  max-height: calc(var(--uii-spacing) * 64);
1109
1131
  }
@@ -1119,18 +1141,30 @@
1119
1141
  .uii\:w-full {
1120
1142
  width: 100%;
1121
1143
  }
1144
+ .uii\:max-w-\[300px\] {
1145
+ max-width: 300px;
1146
+ }
1122
1147
  .uii\:min-w-0 {
1123
1148
  min-width: calc(var(--uii-spacing) * 0);
1124
1149
  }
1125
1150
  .uii\:min-w-\[8rem\] {
1126
1151
  min-width: 8rem;
1127
1152
  }
1153
+ .uii\:min-w-\[150px\] {
1154
+ min-width: 150px;
1155
+ }
1156
+ .uii\:min-w-\[200px\] {
1157
+ min-width: 200px;
1158
+ }
1128
1159
  .uii\:min-w-\[var\(--radix-select-trigger-width\)\] {
1129
1160
  min-width: var(--radix-select-trigger-width);
1130
1161
  }
1131
1162
  .uii\:flex-1 {
1132
1163
  flex: 1;
1133
1164
  }
1165
+ .uii\:shrink-0 {
1166
+ flex-shrink: 0;
1167
+ }
1134
1168
  .uii\:animate-spin {
1135
1169
  animation: spin var(--default-animation-duration, 1s) var(--default-animation-timing-function, linear) var(--default-animation-delay, 0s) infinite;
1136
1170
  }
@@ -1164,9 +1198,22 @@
1164
1198
  .uii\:gap-1 {
1165
1199
  gap: calc(var(--uii-spacing) * 1);
1166
1200
  }
1201
+ .uii\:gap-1\.5 {
1202
+ gap: calc(var(--uii-spacing) * 1.5);
1203
+ }
1167
1204
  .uii\:gap-2 {
1168
1205
  gap: calc(var(--uii-spacing) * 2);
1169
1206
  }
1207
+ .uii\:gap-4 {
1208
+ gap: calc(var(--uii-spacing) * 4);
1209
+ }
1210
+ .uii\:space-y-1 {
1211
+ :where(& > :not(:last-child)) {
1212
+ --tw-space-y-reverse: 0;
1213
+ margin-block-start: calc(calc(var(--uii-spacing) * 1) * var(--tw-space-y-reverse));
1214
+ margin-block-end: calc(calc(var(--uii-spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
1215
+ }
1216
+ }
1170
1217
  .uii\:space-y-2 {
1171
1218
  :where(& > :not(:last-child)) {
1172
1219
  --tw-space-y-reverse: 0;
@@ -1202,6 +1249,9 @@
1202
1249
  .uii\:rounded {
1203
1250
  border-radius: 0.25rem;
1204
1251
  }
1252
+ .uii\:rounded-lg {
1253
+ border-radius: var(--radius);
1254
+ }
1205
1255
  .uii\:rounded-md {
1206
1256
  border-radius: calc(var(--radius) - 2px);
1207
1257
  }
@@ -1320,18 +1370,27 @@
1320
1370
  .uii\:bg-popover {
1321
1371
  background-color: var(--popover);
1322
1372
  }
1373
+ .uii\:bg-primary {
1374
+ background-color: var(--primary);
1375
+ }
1323
1376
  .uii\:bg-purple-50 {
1324
1377
  background-color: oklch(97.7% 0.014 308.299);
1325
1378
  }
1326
1379
  .uii\:bg-purple-100 {
1327
1380
  background-color: oklch(94.6% 0.033 307.174);
1328
1381
  }
1382
+ .uii\:bg-purple-500 {
1383
+ background-color: oklch(62.7% 0.265 303.9);
1384
+ }
1329
1385
  .uii\:bg-red-50 {
1330
1386
  background-color: oklch(97.1% 0.013 17.38);
1331
1387
  }
1332
1388
  .uii\:bg-red-100 {
1333
1389
  background-color: oklch(93.6% 0.032 17.717);
1334
1390
  }
1391
+ .uii\:bg-secondary {
1392
+ background-color: var(--secondary);
1393
+ }
1335
1394
  .uii\:bg-transparent {
1336
1395
  background-color: transparent;
1337
1396
  }
@@ -1353,6 +1412,9 @@
1353
1412
  .uii\:p-3 {
1354
1413
  padding: calc(var(--uii-spacing) * 3);
1355
1414
  }
1415
+ .uii\:p-4 {
1416
+ padding: calc(var(--uii-spacing) * 4);
1417
+ }
1356
1418
  .uii\:px-1 {
1357
1419
  padding-inline: calc(var(--uii-spacing) * 1);
1358
1420
  }
@@ -1365,6 +1427,12 @@
1365
1427
  .uii\:px-3 {
1366
1428
  padding-inline: calc(var(--uii-spacing) * 3);
1367
1429
  }
1430
+ .uii\:px-4 {
1431
+ padding-inline: calc(var(--uii-spacing) * 4);
1432
+ }
1433
+ .uii\:px-6 {
1434
+ padding-inline: calc(var(--uii-spacing) * 6);
1435
+ }
1368
1436
  .uii\:py-0\.5 {
1369
1437
  padding-block: calc(var(--uii-spacing) * 0.5);
1370
1438
  }
@@ -1498,24 +1566,45 @@
1498
1566
  .uii\:text-popover-foreground {
1499
1567
  color: var(--popover-foreground);
1500
1568
  }
1569
+ .uii\:text-primary {
1570
+ color: var(--primary);
1571
+ }
1572
+ .uii\:text-primary-foreground {
1573
+ color: var(--primary-foreground);
1574
+ }
1501
1575
  .uii\:text-purple-600 {
1502
1576
  color: oklch(55.8% 0.288 302.321);
1503
1577
  }
1578
+ .uii\:text-purple-700 {
1579
+ color: oklch(49.6% 0.265 301.924);
1580
+ }
1504
1581
  .uii\:text-purple-800 {
1505
1582
  color: oklch(43.8% 0.218 303.724);
1506
1583
  }
1584
+ .uii\:text-red-500 {
1585
+ color: oklch(63.7% 0.237 25.331);
1586
+ }
1507
1587
  .uii\:text-red-600 {
1508
1588
  color: oklch(57.7% 0.245 27.325);
1509
1589
  }
1590
+ .uii\:text-red-700 {
1591
+ color: oklch(50.5% 0.213 27.518);
1592
+ }
1510
1593
  .uii\:text-red-800 {
1511
1594
  color: oklch(44.4% 0.177 26.899);
1512
1595
  }
1596
+ .uii\:text-secondary-foreground {
1597
+ color: var(--secondary-foreground);
1598
+ }
1513
1599
  .uii\:text-white {
1514
1600
  color: #fff;
1515
1601
  }
1516
1602
  .uii\:text-yellow-600 {
1517
1603
  color: oklch(68.1% 0.162 75.834);
1518
1604
  }
1605
+ .uii\:text-yellow-700 {
1606
+ color: oklch(55.4% 0.135 66.442);
1607
+ }
1519
1608
  .uii\:text-yellow-800 {
1520
1609
  color: oklch(47.6% 0.114 61.907);
1521
1610
  }
@@ -1525,6 +1614,9 @@
1525
1614
  .uii\:italic {
1526
1615
  font-style: italic;
1527
1616
  }
1617
+ .uii\:underline-offset-4 {
1618
+ text-underline-offset: 4px;
1619
+ }
1528
1620
  .uii\:opacity-50 {
1529
1621
  opacity: 50%;
1530
1622
  }
@@ -1641,6 +1733,23 @@
1641
1733
  color: var(--muted-foreground);
1642
1734
  }
1643
1735
  }
1736
+ .uii\:hover\:bg-accent {
1737
+ &:hover {
1738
+ @media (hover: hover) {
1739
+ background-color: var(--accent);
1740
+ }
1741
+ }
1742
+ }
1743
+ .uii\:hover\:bg-destructive\/90 {
1744
+ &:hover {
1745
+ @media (hover: hover) {
1746
+ background-color: var(--destructive);
1747
+ @supports (color: color-mix(in lab, red, red)) {
1748
+ background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
1749
+ }
1750
+ }
1751
+ }
1752
+ }
1644
1753
  .uii\:hover\:bg-muted\/50 {
1645
1754
  &:hover {
1646
1755
  @media (hover: hover) {
@@ -1651,6 +1760,40 @@
1651
1760
  }
1652
1761
  }
1653
1762
  }
1763
+ .uii\:hover\:bg-primary\/90 {
1764
+ &:hover {
1765
+ @media (hover: hover) {
1766
+ background-color: var(--primary);
1767
+ @supports (color: color-mix(in lab, red, red)) {
1768
+ background-color: color-mix(in oklab, var(--primary) 90%, transparent);
1769
+ }
1770
+ }
1771
+ }
1772
+ }
1773
+ .uii\:hover\:bg-secondary\/80 {
1774
+ &:hover {
1775
+ @media (hover: hover) {
1776
+ background-color: var(--secondary);
1777
+ @supports (color: color-mix(in lab, red, red)) {
1778
+ background-color: color-mix(in oklab, var(--secondary) 80%, transparent);
1779
+ }
1780
+ }
1781
+ }
1782
+ }
1783
+ .uii\:hover\:text-accent-foreground {
1784
+ &:hover {
1785
+ @media (hover: hover) {
1786
+ color: var(--accent-foreground);
1787
+ }
1788
+ }
1789
+ }
1790
+ .uii\:hover\:underline {
1791
+ &:hover {
1792
+ @media (hover: hover) {
1793
+ text-decoration-line: underline;
1794
+ }
1795
+ }
1796
+ }
1654
1797
  .uii\:focus\:bg-accent {
1655
1798
  &:focus {
1656
1799
  background-color: var(--accent);
@@ -1672,6 +1815,14 @@
1672
1815
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1673
1816
  }
1674
1817
  }
1818
+ .uii\:focus-visible\:ring-destructive\/20 {
1819
+ &:focus-visible {
1820
+ --tw-ring-color: var(--destructive);
1821
+ @supports (color: color-mix(in lab, red, red)) {
1822
+ --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
1823
+ }
1824
+ }
1825
+ }
1675
1826
  .uii\:focus-visible\:ring-ring\/50 {
1676
1827
  &:focus-visible {
1677
1828
  --tw-ring-color: var(--ring);
@@ -1695,6 +1846,21 @@
1695
1846
  opacity: 50%;
1696
1847
  }
1697
1848
  }
1849
+ .uii\:has-\[\>svg\]\:px-2\.5 {
1850
+ &:has(>svg) {
1851
+ padding-inline: calc(var(--uii-spacing) * 2.5);
1852
+ }
1853
+ }
1854
+ .uii\:has-\[\>svg\]\:px-3 {
1855
+ &:has(>svg) {
1856
+ padding-inline: calc(var(--uii-spacing) * 3);
1857
+ }
1858
+ }
1859
+ .uii\:has-\[\>svg\]\:px-4 {
1860
+ &:has(>svg) {
1861
+ padding-inline: calc(var(--uii-spacing) * 4);
1862
+ }
1863
+ }
1698
1864
  .uii\:aria-invalid\:border-destructive {
1699
1865
  &[aria-invalid="true"] {
1700
1866
  border-color: var(--destructive);
@@ -1945,6 +2111,16 @@
1945
2111
  line-height: var(--tw-leading, var(--uii-text-sm--line-height));
1946
2112
  }
1947
2113
  }
2114
+ .uii\:dark\:focus-visible\:ring-destructive\/40 {
2115
+ &:is(.dark *) {
2116
+ &:focus-visible {
2117
+ --tw-ring-color: var(--destructive);
2118
+ @supports (color: color-mix(in lab, red, red)) {
2119
+ --tw-ring-color: color-mix(in oklab, var(--destructive) 40%, transparent);
2120
+ }
2121
+ }
2122
+ }
2123
+ }
1948
2124
  .uii\:dark\:aria-invalid\:ring-destructive\/40 {
1949
2125
  &:is(.dark *) {
1950
2126
  &[aria-invalid="true"] {