uidex 0.7.0 → 0.9.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.
Files changed (51) hide show
  1. package/dist/cli/cli.cjs +1112 -1054
  2. package/dist/cli/cli.cjs.map +1 -1
  3. package/dist/headless/index.cjs +4 -448
  4. package/dist/headless/index.cjs.map +1 -1
  5. package/dist/headless/index.d.cts +41 -11
  6. package/dist/headless/index.d.ts +41 -11
  7. package/dist/headless/index.js +4 -450
  8. package/dist/headless/index.js.map +1 -1
  9. package/dist/index.cjs +147 -3252
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +43 -316
  12. package/dist/index.d.ts +43 -316
  13. package/dist/index.js +133 -3254
  14. package/dist/index.js.map +1 -1
  15. package/dist/playwright/index.cjs +175 -0
  16. package/dist/playwright/index.cjs.map +1 -1
  17. package/dist/playwright/index.d.cts +2 -0
  18. package/dist/playwright/index.d.ts +2 -0
  19. package/dist/playwright/index.js +167 -0
  20. package/dist/playwright/index.js.map +1 -1
  21. package/dist/playwright/states-reporter.cjs +123 -0
  22. package/dist/playwright/states-reporter.cjs.map +1 -0
  23. package/dist/playwright/states-reporter.d.cts +46 -0
  24. package/dist/playwright/states-reporter.d.ts +46 -0
  25. package/dist/playwright/states-reporter.js +88 -0
  26. package/dist/playwright/states-reporter.js.map +1 -0
  27. package/dist/playwright/states.cjs +118 -0
  28. package/dist/playwright/states.cjs.map +1 -0
  29. package/dist/playwright/states.d.cts +120 -0
  30. package/dist/playwright/states.d.ts +120 -0
  31. package/dist/playwright/states.js +88 -0
  32. package/dist/playwright/states.js.map +1 -0
  33. package/dist/react/index.cjs +163 -3255
  34. package/dist/react/index.cjs.map +1 -1
  35. package/dist/react/index.d.cts +62 -275
  36. package/dist/react/index.d.ts +62 -275
  37. package/dist/react/index.js +151 -3268
  38. package/dist/react/index.js.map +1 -1
  39. package/dist/scan/index.cjs +1292 -345
  40. package/dist/scan/index.cjs.map +1 -1
  41. package/dist/scan/index.d.cts +305 -12
  42. package/dist/scan/index.d.ts +305 -12
  43. package/dist/scan/index.js +1283 -345
  44. package/dist/scan/index.js.map +1 -1
  45. package/package.json +12 -16
  46. package/dist/cloud/index.cjs +0 -682
  47. package/dist/cloud/index.cjs.map +0 -1
  48. package/dist/cloud/index.d.cts +0 -270
  49. package/dist/cloud/index.d.ts +0 -270
  50. package/dist/cloud/index.js +0 -645
  51. package/dist/cloud/index.js.map +0 -1
@@ -434,8 +434,7 @@ var defaultSnapshot = {
434
434
  pinnedHighlight: null,
435
435
  mode: "idle",
436
436
  theme: "auto",
437
- resolvedTheme: "light",
438
- user: null
437
+ resolvedTheme: "light"
439
438
  };
440
439
  function resolveTheme(preference, detect) {
441
440
  if (preference !== "auto") return preference;
@@ -525,8 +524,7 @@ function createSession(options = {}) {
525
524
  pinnedHighlight: null,
526
525
  mode: "idle",
527
526
  theme: initialPref,
528
- resolvedTheme: initialResolved,
529
- user: overrides.user ?? null
527
+ resolvedTheme: initialResolved
530
528
  }));
531
529
  nav.subscribe(() => {
532
530
  const { stack } = nav.getState();
@@ -570,8 +568,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
570
568
  @layer theme, base, components, utilities;
571
569
  @layer theme {
572
570
  :root, :host {
573
- --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
574
- Roboto, sans-serif;
575
571
  --color-red-400: oklch(70.4% 0.191 22.216);
576
572
  --color-red-500: oklch(63.7% 0.237 25.331);
577
573
  --color-red-700: oklch(50.5% 0.213 27.518);
@@ -624,7 +620,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
624
620
  --color-black: #000;
625
621
  --color-white: #fff;
626
622
  --spacing: 0.25rem;
627
- --container-sm: 24rem;
628
623
  --container-xl: 36rem;
629
624
  --text-xs: 0.75rem;
630
625
  --text-xs--line-height: calc(1 / 0.75);
@@ -632,28 +627,22 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
632
627
  --text-sm--line-height: calc(1.25 / 0.875);
633
628
  --text-base: 1rem;
634
629
  --text-base--line-height: calc(1.5 / 1);
635
- --text-xl: 1.25rem;
636
- --text-xl--line-height: calc(1.75 / 1.25);
637
630
  --font-weight-normal: 400;
638
631
  --font-weight-medium: 500;
639
632
  --font-weight-semibold: 600;
640
- --font-weight-bold: 700;
641
633
  --tracking-tight: -0.025em;
642
634
  --tracking-widest: 0.1em;
643
635
  --leading-relaxed: 1.625;
644
- --radius-md: calc(var(--radius) * 0.8);
645
636
  --radius-lg: var(--radius);
646
637
  --radius-xl: calc(var(--radius) * 1.4);
647
638
  --radius-2xl: calc(var(--radius) * 1.8);
648
639
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
649
- --animate-spin: spin 1s linear infinite;
650
640
  --blur-sm: 8px;
651
641
  --default-transition-duration: 150ms;
652
642
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
653
643
  --default-font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
654
644
  Roboto, sans-serif;
655
645
  --default-mono-font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
656
- --color-muted: var(--muted);
657
646
  --color-border: var(--border);
658
647
  }
659
648
  }
@@ -821,17 +810,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
821
810
  .visible {
822
811
  visibility: visible;
823
812
  }
824
- .sr-only {
825
- position: absolute;
826
- width: 1px;
827
- height: 1px;
828
- padding: 0;
829
- margin: -1px;
830
- overflow: hidden;
831
- clip-path: inset(50%);
832
- white-space: nowrap;
833
- border-width: 0;
834
- }
835
813
  .absolute {
836
814
  position: absolute;
837
815
  }
@@ -853,30 +831,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
853
831
  .end {
854
832
  inset-inline-end: var(--spacing);
855
833
  }
856
- .-top-1 {
857
- top: calc(var(--spacing) * -1);
858
- }
859
- .-right-1 {
860
- right: calc(var(--spacing) * -1);
861
- }
862
- .right-0 {
863
- right: calc(var(--spacing) * 0);
864
- }
865
- .bottom-full {
866
- bottom: 100%;
867
- }
868
- .bottom-px {
869
- bottom: 1px;
870
- }
871
834
  .z-1 {
872
835
  z-index: 1;
873
836
  }
874
837
  .z-10 {
875
838
  z-index: 10;
876
839
  }
877
- .z-\\[2147483647\\] {
878
- z-index: 2147483647;
879
- }
880
840
  .container {
881
841
  width: 100%;
882
842
  @media (width >= 40rem) {
@@ -910,12 +870,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
910
870
  .mt-1 {
911
871
  margin-top: calc(var(--spacing) * 1);
912
872
  }
913
- .mb-2 {
914
- margin-bottom: calc(var(--spacing) * 2);
915
- }
916
- .mb-6 {
917
- margin-bottom: calc(var(--spacing) * 6);
918
- }
919
873
  .ml-auto {
920
874
  margin-left: auto;
921
875
  }
@@ -934,19 +888,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
934
888
  .inline {
935
889
  display: inline;
936
890
  }
937
- .inline-block {
938
- display: inline-block;
939
- }
940
891
  .inline-flex {
941
892
  display: inline-flex;
942
893
  }
943
894
  .table {
944
895
  display: table;
945
896
  }
946
- .size-2 {
947
- width: calc(var(--spacing) * 2);
948
- height: calc(var(--spacing) * 2);
949
- }
950
897
  .size-3\\.5 {
951
898
  width: calc(var(--spacing) * 3.5);
952
899
  height: calc(var(--spacing) * 3.5);
@@ -1007,21 +954,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1007
954
  .h-full {
1008
955
  height: 100%;
1009
956
  }
1010
- .max-h-32 {
1011
- max-height: calc(var(--spacing) * 32);
1012
- }
1013
- .max-h-full {
1014
- max-height: 100%;
1015
- }
1016
957
  .min-h-0 {
1017
958
  min-height: calc(var(--spacing) * 0);
1018
959
  }
1019
960
  .min-h-8 {
1020
961
  min-height: calc(var(--spacing) * 8);
1021
962
  }
1022
- .min-h-20 {
1023
- min-height: calc(var(--spacing) * 20);
1024
- }
1025
963
  .w-3\\.5 {
1026
964
  width: calc(var(--spacing) * 3.5);
1027
965
  }
@@ -1031,12 +969,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1031
969
  .w-12 {
1032
970
  width: calc(var(--spacing) * 12);
1033
971
  }
1034
- .w-20 {
1035
- width: calc(var(--spacing) * 20);
1036
- }
1037
- .w-36 {
1038
- width: calc(var(--spacing) * 36);
1039
- }
1040
972
  .w-56 {
1041
973
  width: calc(var(--spacing) * 56);
1042
974
  }
@@ -1046,12 +978,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1046
978
  .w-px {
1047
979
  width: 1px;
1048
980
  }
1049
- .max-w-full {
1050
- max-width: 100%;
1051
- }
1052
- .max-w-sm {
1053
- max-width: var(--container-sm);
1054
- }
1055
981
  .max-w-xl {
1056
982
  max-width: var(--container-xl);
1057
983
  }
@@ -1079,41 +1005,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1079
1005
  .shrink-0 {
1080
1006
  flex-shrink: 0;
1081
1007
  }
1082
- .origin-bottom-left {
1083
- transform-origin: 0 100%;
1084
- }
1085
- .origin-bottom-right {
1086
- transform-origin: 100% 100%;
1087
- }
1088
- .-translate-x-0\\.5 {
1089
- --tw-translate-x: calc(var(--spacing) * -0.5);
1090
- translate: var(--tw-translate-x) var(--tw-translate-y);
1091
- }
1092
- .translate-x-0\\.5 {
1093
- --tw-translate-x: calc(var(--spacing) * 0.5);
1094
- translate: var(--tw-translate-x) var(--tw-translate-y);
1095
- }
1096
- .scale-84 {
1097
- --tw-scale-x: 84%;
1098
- --tw-scale-y: 84%;
1099
- --tw-scale-z: 84%;
1100
- scale: var(--tw-scale-x) var(--tw-scale-y);
1101
- }
1102
- .-rotate-10 {
1103
- rotate: calc(10deg * -1);
1104
- }
1105
- .rotate-10 {
1106
- rotate: 10deg;
1107
- }
1108
1008
  .transform {
1109
1009
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
1110
1010
  }
1111
- .animate-skeleton {
1112
- animation: skeleton 2s -1s infinite linear;
1113
- }
1114
- .animate-spin {
1115
- animation: var(--animate-spin);
1116
- }
1117
1011
  .cursor-pointer {
1118
1012
  cursor: pointer;
1119
1013
  }
@@ -1123,15 +1017,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1123
1017
  .scroll-py-2 {
1124
1018
  scroll-padding-block: calc(var(--spacing) * 2);
1125
1019
  }
1126
- .appearance-none {
1127
- appearance: none;
1128
- }
1129
1020
  .flex-col {
1130
1021
  flex-direction: column;
1131
1022
  }
1132
- .flex-row {
1133
- flex-direction: row;
1134
- }
1135
1023
  .items-center {
1136
1024
  align-items: center;
1137
1025
  }
@@ -1147,9 +1035,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1147
1035
  .gap-0 {
1148
1036
  gap: calc(var(--spacing) * 0);
1149
1037
  }
1150
- .gap-0\\.5 {
1151
- gap: calc(var(--spacing) * 0.5);
1152
- }
1153
1038
  .gap-1 {
1154
1039
  gap: calc(var(--spacing) * 1);
1155
1040
  }
@@ -1162,12 +1047,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1162
1047
  .gap-3 {
1163
1048
  gap: calc(var(--spacing) * 3);
1164
1049
  }
1165
- .gap-4 {
1166
- gap: calc(var(--spacing) * 4);
1167
- }
1168
- .gap-6 {
1169
- gap: calc(var(--spacing) * 6);
1170
- }
1171
1050
  .truncate {
1172
1051
  overflow: hidden;
1173
1052
  text-overflow: ellipsis;
@@ -1265,21 +1144,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1265
1144
  background-color: color-mix(in oklab, var(--color-black) 32%, transparent);
1266
1145
  }
1267
1146
  }
1268
- .bg-black\\/80 {
1269
- background-color: color-mix(in srgb, #000 80%, transparent);
1270
- @supports (color: color-mix(in lab, red, red)) {
1271
- background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
1272
- }
1273
- }
1274
1147
  .bg-blue-50 {
1275
1148
  background-color: var(--color-blue-50);
1276
1149
  }
1277
1150
  .bg-border {
1278
1151
  background-color: var(--border);
1279
1152
  }
1280
- .bg-card {
1281
- background-color: var(--card);
1282
- }
1283
1153
  .bg-cyan-50 {
1284
1154
  background-color: var(--color-cyan-50);
1285
1155
  }
@@ -1295,15 +1165,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1295
1165
  .bg-emerald-50 {
1296
1166
  background-color: var(--color-emerald-50);
1297
1167
  }
1298
- .bg-emerald-500 {
1299
- background-color: var(--color-emerald-500);
1300
- }
1301
1168
  .bg-fuchsia-50 {
1302
1169
  background-color: var(--color-fuchsia-50);
1303
1170
  }
1304
- .bg-info {
1305
- background-color: var(--info);
1306
- }
1307
1171
  .bg-info\\/10 {
1308
1172
  background-color: var(--info);
1309
1173
  @supports (color: color-mix(in lab, red, red)) {
@@ -1355,18 +1219,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1355
1219
  .bg-clip-padding {
1356
1220
  background-clip: padding-box;
1357
1221
  }
1358
- .bg-\\[right_0\\.5rem_center\\] {
1359
- background-position: right 0.5rem center;
1360
- }
1361
- .bg-no-repeat {
1362
- background-repeat: no-repeat;
1363
- }
1364
- .object-cover {
1365
- object-fit: cover;
1366
- }
1367
- .object-top {
1368
- object-position: top;
1369
- }
1370
1222
  .p-1 {
1371
1223
  padding: calc(var(--spacing) * 1);
1372
1224
  }
@@ -1379,9 +1231,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1379
1231
  .p-4 {
1380
1232
  padding: calc(var(--spacing) * 4);
1381
1233
  }
1382
- .p-6 {
1383
- padding: calc(var(--spacing) * 6);
1384
- }
1385
1234
  .px-1 {
1386
1235
  padding-inline: calc(var(--spacing) * 1);
1387
1236
  }
@@ -1403,24 +1252,15 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1403
1252
  .px-4 {
1404
1253
  padding-inline: calc(var(--spacing) * 4);
1405
1254
  }
1406
- .px-6 {
1407
- padding-inline: calc(var(--spacing) * 6);
1408
- }
1409
1255
  .py-1 {
1410
1256
  padding-block: calc(var(--spacing) * 1);
1411
1257
  }
1412
1258
  .py-1\\.5 {
1413
1259
  padding-block: calc(var(--spacing) * 1.5);
1414
1260
  }
1415
- .py-2 {
1416
- padding-block: calc(var(--spacing) * 2);
1417
- }
1418
1261
  .py-4 {
1419
1262
  padding-block: calc(var(--spacing) * 4);
1420
1263
  }
1421
- .py-12 {
1422
- padding-block: calc(var(--spacing) * 12);
1423
- }
1424
1264
  .py-\\[max\\(1rem\\,4vh\\)\\] {
1425
1265
  padding-block: max(1rem, 4vh);
1426
1266
  }
@@ -1433,12 +1273,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1433
1273
  .pt-2 {
1434
1274
  padding-top: calc(var(--spacing) * 2);
1435
1275
  }
1436
- .pr-8 {
1437
- padding-right: calc(var(--spacing) * 8);
1438
- }
1439
- .pl-3 {
1440
- padding-left: calc(var(--spacing) * 3);
1441
- }
1442
1276
  .text-center {
1443
1277
  text-align: center;
1444
1278
  }
@@ -1456,18 +1290,10 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1456
1290
  font-size: var(--text-base);
1457
1291
  line-height: var(--tw-leading, var(--text-base--line-height));
1458
1292
  }
1459
- .text-base\\/4\\.5 {
1460
- font-size: var(--text-base);
1461
- line-height: calc(var(--spacing) * 4.5);
1462
- }
1463
1293
  .text-sm {
1464
1294
  font-size: var(--text-sm);
1465
1295
  line-height: var(--tw-leading, var(--text-sm--line-height));
1466
1296
  }
1467
- .text-xl {
1468
- font-size: var(--text-xl);
1469
- line-height: var(--tw-leading, var(--text-xl--line-height));
1470
- }
1471
1297
  .text-xs {
1472
1298
  font-size: var(--text-xs);
1473
1299
  line-height: var(--tw-leading, var(--text-xs--line-height));
@@ -1475,24 +1301,13 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1475
1301
  .text-\\[0\\.625rem\\] {
1476
1302
  font-size: 0.625rem;
1477
1303
  }
1478
- .text-\\[9px\\] {
1479
- font-size: 9px;
1480
- }
1481
1304
  .text-\\[11px\\] {
1482
1305
  font-size: 11px;
1483
1306
  }
1484
- .leading-none {
1485
- --tw-leading: 1;
1486
- line-height: 1;
1487
- }
1488
1307
  .leading-relaxed {
1489
1308
  --tw-leading: var(--leading-relaxed);
1490
1309
  line-height: var(--leading-relaxed);
1491
1310
  }
1492
- .font-bold {
1493
- --tw-font-weight: var(--font-weight-bold);
1494
- font-weight: var(--font-weight-bold);
1495
- }
1496
1311
  .font-medium {
1497
1312
  --tw-font-weight: var(--font-weight-medium);
1498
1313
  font-weight: var(--font-weight-medium);
@@ -1513,9 +1328,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1513
1328
  --tw-tracking: var(--tracking-widest);
1514
1329
  letter-spacing: var(--tracking-widest);
1515
1330
  }
1516
- .text-balance {
1517
- text-wrap: balance;
1518
- }
1519
1331
  .break-words {
1520
1332
  overflow-wrap: break-word;
1521
1333
  }
@@ -1540,9 +1352,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1540
1352
  .text-cyan-700 {
1541
1353
  color: var(--color-cyan-700);
1542
1354
  }
1543
- .text-destructive {
1544
- color: var(--destructive);
1545
- }
1546
1355
  .text-destructive-foreground {
1547
1356
  color: var(--destructive-foreground);
1548
1357
  }
@@ -1608,18 +1417,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1608
1417
  .line-through {
1609
1418
  text-decoration-line: line-through;
1610
1419
  }
1611
- .underline {
1612
- text-decoration-line: underline;
1613
- }
1614
1420
  .underline-offset-4 {
1615
1421
  text-underline-offset: 4px;
1616
1422
  }
1617
1423
  .accent-accent {
1618
1424
  accent-color: var(--accent);
1619
1425
  }
1620
- .accent-primary {
1621
- accent-color: var(--primary);
1622
- }
1623
1426
  .opacity-50 {
1624
1427
  opacity: 50%;
1625
1428
  }
@@ -1631,11 +1434,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1631
1434
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.1) l a b / 5%)), 0 4px 6px -4px var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.1) l a b / 5%));
1632
1435
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1633
1436
  }
1634
- .shadow-sm\\/5 {
1635
- --tw-shadow-alpha: 5%;
1636
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.1) l a b / 5%)), 0 1px 2px -1px var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.1) l a b / 5%));
1637
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1638
- }
1639
1437
  .shadow-xs\\/5 {
1640
1438
  --tw-shadow-alpha: 5%;
1641
1439
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.05) l a b / 5%));
@@ -1645,14 +1443,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1645
1443
  --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));
1646
1444
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1647
1445
  }
1648
- .shadow-lg {
1649
- --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1650
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1651
- }
1652
- .shadow-none {
1653
- --tw-shadow: 0 0 #0000;
1654
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1655
- }
1656
1446
  .shadow-xs {
1657
1447
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
1658
1448
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1752,15 +1542,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1752
1542
  -webkit-user-select: none;
1753
1543
  user-select: none;
1754
1544
  }
1755
- .\\[--skeleton-highlight\\:--alpha\\(var\\(--color-white\\)\\/64\\%\\)\\] {
1756
- --skeleton-highlight: color-mix(in srgb, #fff 64%, transparent);
1757
- @supports (color: color-mix(in lab, red, red)) {
1758
- --skeleton-highlight: color-mix(in oklab, var(--color-white) 64%, transparent);
1759
- }
1760
- }
1761
- .\\[background\\:linear-gradient\\(120deg\\,transparent_40\\%\\,var\\(--skeleton-highlight\\)\\,transparent_60\\%\\)_var\\(--color-muted\\)_0_0\\/200\\%_100\\%_fixed\\] {
1762
- background: linear-gradient(120deg,transparent 40%,var(--skeleton-highlight),transparent 60%) var(--color-muted) 0 0/200% 100% fixed;
1763
- }
1764
1545
  .\\[clip-path\\:inset\\(0_1px\\)\\] {
1765
1546
  clip-path: inset(0 1px);
1766
1547
  }
@@ -1844,12 +1625,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1844
1625
  border-radius: calc(var(--radius-lg) - 1px);
1845
1626
  }
1846
1627
  }
1847
- .before\\:rounded-\\[calc\\(var\\(--radius-md\\)-1px\\)\\] {
1848
- &::before {
1849
- content: var(--tw-content);
1850
- border-radius: calc(var(--radius-md) - 1px);
1851
- }
1852
- }
1853
1628
  .before\\:rounded-\\[calc\\(var\\(--radius-xl\\)-1px\\)\\] {
1854
1629
  &::before {
1855
1630
  content: var(--tw-content);
@@ -1979,36 +1754,17 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1979
1754
  outline-style: none;
1980
1755
  }
1981
1756
  }
1982
- .focus-visible\\:border-ring {
1983
- &:focus-visible {
1984
- border-color: var(--ring);
1985
- }
1986
- }
1987
1757
  .focus-visible\\:ring-2 {
1988
1758
  &:focus-visible {
1989
1759
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1990
1760
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1991
1761
  }
1992
1762
  }
1993
- .focus-visible\\:ring-\\[3px\\] {
1994
- &:focus-visible {
1995
- --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1996
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1997
- }
1998
- }
1999
1763
  .focus-visible\\:ring-ring {
2000
1764
  &:focus-visible {
2001
1765
  --tw-ring-color: var(--ring);
2002
1766
  }
2003
1767
  }
2004
- .focus-visible\\:ring-ring\\/30 {
2005
- &:focus-visible {
2006
- --tw-ring-color: var(--ring);
2007
- @supports (color: color-mix(in lab, red, red)) {
2008
- --tw-ring-color: color-mix(in oklab, var(--ring) 30%, transparent);
2009
- }
2010
- }
2011
- }
2012
1768
  .focus-visible\\:ring-offset-1 {
2013
1769
  &:focus-visible {
2014
1770
  --tw-ring-offset-width: 1px;
@@ -2035,24 +1791,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2035
1791
  opacity: 60%;
2036
1792
  }
2037
1793
  }
2038
- .aria-invalid\\:border-destructive\\/40 {
2039
- &[aria-invalid="true"] {
2040
- border-color: var(--destructive);
2041
- @supports (color: color-mix(in lab, red, red)) {
2042
- border-color: color-mix(in oklab, var(--destructive) 40%, transparent);
2043
- }
2044
- }
2045
- }
2046
- .aria-invalid\\:focus-visible\\:ring-destructive\\/20 {
2047
- &[aria-invalid="true"] {
2048
- &:focus-visible {
2049
- --tw-ring-color: var(--destructive);
2050
- @supports (color: color-mix(in lab, red, red)) {
2051
- --tw-ring-color: color-mix(in oklab, var(--destructive) 20%, transparent);
2052
- }
2053
- }
2054
- }
2055
- }
2056
1794
  .data-\\[disabled\\]\\:pointer-events-none {
2057
1795
  &[data-disabled] {
2058
1796
  pointer-events: none;
@@ -2089,12 +1827,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2089
1827
  line-height: var(--tw-leading, var(--text-sm--line-height));
2090
1828
  }
2091
1829
  }
2092
- .sm\\:text-sm\\/4 {
2093
- @media (width >= 40rem) {
2094
- font-size: var(--text-sm);
2095
- line-height: calc(var(--spacing) * 4);
2096
- }
2097
- }
2098
1830
  .dark\\:bg-amber-400\\/10 {
2099
1831
  &:is(.dark *, :host(.dark) *) {
2100
1832
  background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 10%, transparent);
@@ -2308,14 +2040,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2308
2040
  }
2309
2041
  }
2310
2042
  }
2311
- .dark\\:\\[--skeleton-highlight\\:--alpha\\(var\\(--color-white\\)\\/4\\%\\)\\] {
2312
- &:is(.dark *, :host(.dark) *) {
2313
- --skeleton-highlight: color-mix(in srgb, #fff 4%, transparent);
2314
- @supports (color: color-mix(in lab, red, red)) {
2315
- --skeleton-highlight: color-mix(in oklab, var(--color-white) 4%, transparent);
2316
- }
2317
- }
2318
- }
2319
2043
  .dark\\:group-data-hover\\:bg-amber-400\\/20 {
2320
2044
  &:is(.dark *, :host(.dark) *) {
2321
2045
  &:is(:where(.group)[data-hover] *) {
@@ -2435,12 +2159,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2435
2159
  height: calc(var(--spacing) * 4);
2436
2160
  }
2437
2161
  }
2438
- .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4\\.5 {
2439
- & svg:not([class*='size-']) {
2440
- width: calc(var(--spacing) * 4.5);
2441
- height: calc(var(--spacing) * 4.5);
2442
- }
2443
- }
2444
2162
  .\\[\\[data-kbd-nav\\]_\\&\\]\\:focus-within\\:bg-accent {
2445
2163
  [data-kbd-nav] & {
2446
2164
  &:focus-within {
@@ -2673,36 +2391,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2673
2391
  --warning: var(--color-amber-500);
2674
2392
  --warning-foreground: var(--color-amber-700);
2675
2393
  }
2676
- @property --tw-translate-x {
2677
- syntax: "*";
2678
- inherits: false;
2679
- initial-value: 0;
2680
- }
2681
- @property --tw-translate-y {
2682
- syntax: "*";
2683
- inherits: false;
2684
- initial-value: 0;
2685
- }
2686
- @property --tw-translate-z {
2687
- syntax: "*";
2688
- inherits: false;
2689
- initial-value: 0;
2690
- }
2691
- @property --tw-scale-x {
2692
- syntax: "*";
2693
- inherits: false;
2694
- initial-value: 1;
2695
- }
2696
- @property --tw-scale-y {
2697
- syntax: "*";
2698
- inherits: false;
2699
- initial-value: 1;
2700
- }
2701
- @property --tw-scale-z {
2702
- syntax: "*";
2703
- inherits: false;
2704
- initial-value: 1;
2705
- }
2706
2394
  @property --tw-rotate-x {
2707
2395
  syntax: "*";
2708
2396
  inherits: false;
@@ -2928,20 +2616,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2928
2616
  initial-value: "";
2929
2617
  inherits: false;
2930
2618
  }
2931
- @keyframes spin {
2932
- to {
2933
- transform: rotate(360deg);
2934
- }
2935
- }
2936
2619
  @layer properties {
2937
2620
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2938
2621
  *, ::before, ::after, ::backdrop {
2939
- --tw-translate-x: 0;
2940
- --tw-translate-y: 0;
2941
- --tw-translate-z: 0;
2942
- --tw-scale-x: 1;
2943
- --tw-scale-y: 1;
2944
- --tw-scale-z: 1;
2945
2622
  --tw-rotate-x: initial;
2946
2623
  --tw-rotate-y: initial;
2947
2624
  --tw-rotate-z: initial;
@@ -3342,9 +3019,7 @@ function createInspector(options) {
3342
3019
  import {
3343
3020
  Command,
3344
3021
  Highlighter,
3345
- MapPin,
3346
3022
  MousePointerClick as MousePointerClick2,
3347
- Users,
3348
3023
  createElement as createLucideElement2
3349
3024
  } from "lucide";
3350
3025
 
@@ -3411,11 +3086,8 @@ function createMenuBar(options) {
3411
3086
  container,
3412
3087
  session,
3413
3088
  initialCorner = "bottom-right",
3414
- appTitle,
3415
- channel = null,
3416
- pinLayer: initialPinLayer = null
3089
+ appTitle
3417
3090
  } = options;
3418
- let activePinLayer = initialPinLayer;
3419
3091
  const root = el("div", {
3420
3092
  class: ROOT_CLASS,
3421
3093
  attrs: {
@@ -3480,108 +3152,6 @@ function createMenuBar(options) {
3480
3152
  inspectBtn.blur();
3481
3153
  });
3482
3154
  root.appendChild(inspectBtn);
3483
- const pinIcon = createLucideElement2(MapPin);
3484
- pinIcon.setAttribute("class", "size-3.5");
3485
- pinIcon.setAttribute("aria-hidden", "true");
3486
- const pinBtn = el(
3487
- "button",
3488
- {
3489
- class: BUTTON_CLASS,
3490
- attrs: {
3491
- type: "button",
3492
- "data-uidex-menubar-pins": "",
3493
- "aria-label": "Report pins"
3494
- }
3495
- },
3496
- pinIcon
3497
- );
3498
- const pinWrapper = el("div", {
3499
- class: "relative z-1 inline-flex items-center gap-0.5",
3500
- attrs: { "data-uidex-menubar-pin-wrapper": "" }
3501
- });
3502
- pinWrapper.hidden = true;
3503
- pinWrapper.appendChild(pinBtn);
3504
- root.appendChild(pinWrapper);
3505
- const updatePinUI = () => {
3506
- if (!activePinLayer) {
3507
- pinWrapper.hidden = true;
3508
- return;
3509
- }
3510
- const pinsVisible = activePinLayer.visible;
3511
- pinWrapper.hidden = false;
3512
- pinBtn.className = cn(BUTTON_CLASS, pinsVisible && BUTTON_ACTIVE_CLASS);
3513
- };
3514
- pinBtn.addEventListener("click", (e) => {
3515
- e.stopPropagation();
3516
- if (activePinLayer) {
3517
- activePinLayer.setVisible(!activePinLayer.visible);
3518
- }
3519
- });
3520
- let unsubscribePinFilter = activePinLayer?.onFilterChange(() => updatePinUI());
3521
- const presenceIcon = createLucideElement2(Users);
3522
- presenceIcon.setAttribute("class", "size-3.5");
3523
- presenceIcon.setAttribute("aria-hidden", "true");
3524
- const presenceBtn = el(
3525
- "button",
3526
- {
3527
- class: BUTTON_CLASS,
3528
- attrs: {
3529
- type: "button",
3530
- "data-uidex-menubar-presence": "",
3531
- "aria-label": "Online users"
3532
- }
3533
- },
3534
- presenceIcon
3535
- );
3536
- presenceBtn.hidden = true;
3537
- const presenceBadge = el("span", {
3538
- class: "absolute -top-1 -right-1 z-1 inline-flex size-3.5 items-center justify-center rounded-full bg-info text-[9px] font-bold leading-none text-info-foreground"
3539
- });
3540
- presenceBtn.appendChild(presenceBadge);
3541
- const presencePopover = el("div", {
3542
- class: "absolute bottom-full mb-2 right-0 min-w-32 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-lg"
3543
- });
3544
- presencePopover.hidden = true;
3545
- let presencePopoverVisible = false;
3546
- presenceBtn.addEventListener("click", (e) => {
3547
- e.stopPropagation();
3548
- presencePopoverVisible = !presencePopoverVisible;
3549
- presencePopover.hidden = !presencePopoverVisible;
3550
- });
3551
- const presenceWrapper = el("div", { class: "relative z-1 inline-flex" }, [
3552
- presenceBtn,
3553
- presencePopover
3554
- ]);
3555
- presenceWrapper.hidden = true;
3556
- root.appendChild(presenceWrapper);
3557
- let presenceUsers = [];
3558
- const updatePresenceUI = () => {
3559
- const localUserId = session.getState().user?.id ?? null;
3560
- const peers = localUserId ? presenceUsers.filter((u) => u.userId !== localUserId) : presenceUsers;
3561
- const count = peers.length;
3562
- presenceWrapper.hidden = count === 0;
3563
- presenceBadge.textContent = String(count);
3564
- presenceBtn.setAttribute(
3565
- "aria-label",
3566
- count === 1 ? "1 other user online" : `${count} other users online`
3567
- );
3568
- presencePopover.innerHTML = "";
3569
- for (const user of peers) {
3570
- const row = el("div", {
3571
- class: "flex items-center gap-2 rounded px-1.5 py-1"
3572
- });
3573
- const dot = el("span", {
3574
- class: "inline-block size-2 shrink-0 rounded-full bg-emerald-500"
3575
- });
3576
- const name = el("span", {
3577
- class: "truncate",
3578
- text: user.name || "Anonymous"
3579
- });
3580
- row.appendChild(dot);
3581
- row.appendChild(name);
3582
- presencePopover.appendChild(row);
3583
- }
3584
- };
3585
3155
  const paletteIcon = createLucideElement2(Command);
3586
3156
  paletteIcon.setAttribute("class", "size-3.5");
3587
3157
  paletteIcon.setAttribute("aria-hidden", "true");
@@ -3696,28 +3266,14 @@ function createMenuBar(options) {
3696
3266
  const vertical = y / (window.innerHeight || 1) < 0.5 ? "top" : "bottom";
3697
3267
  snapTo(`${vertical}-${horizontal}`);
3698
3268
  }
3699
- const unsubscribePresence = channel?.onPresence(
3700
- (users) => {
3701
- presenceUsers = users;
3702
- updatePresenceUI();
3703
- }
3704
- );
3705
3269
  return {
3706
3270
  destroy() {
3707
- unsubscribePinFilter?.();
3708
- unsubscribePresence?.();
3709
3271
  unsubscribeSession();
3710
3272
  root.removeEventListener("mousedown", onMouseDown);
3711
3273
  document.removeEventListener("mousemove", onMouseMove);
3712
3274
  document.removeEventListener("mouseup", onMouseUp);
3713
3275
  root.remove();
3714
3276
  },
3715
- setPinLayer(layer) {
3716
- unsubscribePinFilter?.();
3717
- activePinLayer = layer;
3718
- unsubscribePinFilter = layer.onFilterChange(() => updatePinUI());
3719
- updatePinUI();
3720
- },
3721
3277
  snapTo,
3722
3278
  snapToNearest,
3723
3279
  get corner() {
@@ -4075,9 +3631,7 @@ function createSurfaceShell(options) {
4075
3631
  container: host.chromeEl,
4076
3632
  session: options.session,
4077
3633
  initialCorner: options.initialCorner,
4078
- appTitle: options.appTitle,
4079
- channel: options.channel ?? null,
4080
- pinLayer: options.pinLayer ?? null
3634
+ appTitle: options.appTitle
4081
3635
  });
4082
3636
  cleanup.add(menuBar);
4083
3637
  return {