uidex 0.3.0 → 0.4.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.
@@ -152,57 +152,57 @@ var import_lucide = require("lucide");
152
152
  var KIND_STYLE = {
153
153
  route: {
154
154
  icon: import_lucide.Route,
155
- tone: "text-blue-700 dark:text-blue-300",
156
- chip: "bg-blue-400/20 text-blue-700 group-data-hover:bg-blue-400/30 dark:bg-blue-400/10 dark:text-blue-300 dark:group-data-hover:bg-blue-400/15",
155
+ tone: "text-blue-700 dark:text-blue-400",
156
+ chip: "bg-blue-50 text-blue-700 inset-ring inset-ring-blue-700/10 group-data-hover:bg-blue-100 dark:bg-blue-400/10 dark:text-blue-400 dark:inset-ring-blue-400/30 dark:group-data-hover:bg-blue-400/20",
157
157
  color: "#60a5fa",
158
158
  label: "Route"
159
159
  },
160
160
  page: {
161
161
  icon: import_lucide.FileText,
162
- tone: "text-emerald-700 dark:text-emerald-300",
163
- chip: "bg-emerald-400/20 text-emerald-700 group-data-hover:bg-emerald-400/30 dark:bg-emerald-400/10 dark:text-emerald-300 dark:group-data-hover:bg-emerald-400/15",
162
+ tone: "text-emerald-700 dark:text-emerald-400",
163
+ chip: "bg-emerald-50 text-emerald-700 inset-ring inset-ring-emerald-600/20 group-data-hover:bg-emerald-100 dark:bg-emerald-400/10 dark:text-emerald-400 dark:inset-ring-emerald-500/20 dark:group-data-hover:bg-emerald-400/20",
164
164
  color: "#34d399",
165
165
  label: "Page"
166
166
  },
167
167
  feature: {
168
168
  icon: import_lucide.Sparkles,
169
- tone: "text-amber-700 dark:text-amber-300",
170
- chip: "bg-amber-400/20 text-amber-700 group-data-hover:bg-amber-400/30 dark:bg-amber-400/10 dark:text-amber-300 dark:group-data-hover:bg-amber-400/15",
169
+ tone: "text-amber-700 dark:text-amber-500",
170
+ chip: "bg-amber-50 text-amber-800 inset-ring inset-ring-amber-600/20 group-data-hover:bg-amber-100 dark:bg-amber-400/10 dark:text-amber-500 dark:inset-ring-amber-400/20 dark:group-data-hover:bg-amber-400/20",
171
171
  color: "#fbbf24",
172
172
  label: "Feature"
173
173
  },
174
174
  widget: {
175
175
  icon: import_lucide.LayoutGrid,
176
- tone: "text-violet-700 dark:text-violet-300",
177
- chip: "bg-violet-400/20 text-violet-700 group-data-hover:bg-violet-400/30 dark:bg-violet-400/10 dark:text-violet-300 dark:group-data-hover:bg-violet-400/15",
176
+ tone: "text-violet-700 dark:text-violet-400",
177
+ chip: "bg-violet-50 text-violet-700 inset-ring inset-ring-violet-700/10 group-data-hover:bg-violet-100 dark:bg-violet-400/10 dark:text-violet-400 dark:inset-ring-violet-400/30 dark:group-data-hover:bg-violet-400/20",
178
178
  color: "#a78bfa",
179
179
  label: "Widget"
180
180
  },
181
181
  region: {
182
182
  icon: import_lucide.LayoutPanelTop,
183
- tone: "text-cyan-700 dark:text-cyan-300",
184
- chip: "bg-cyan-400/20 text-cyan-700 group-data-hover:bg-cyan-400/30 dark:bg-cyan-400/10 dark:text-cyan-300 dark:group-data-hover:bg-cyan-400/15",
183
+ tone: "text-cyan-700 dark:text-cyan-400",
184
+ chip: "bg-cyan-50 text-cyan-700 inset-ring inset-ring-cyan-700/10 group-data-hover:bg-cyan-100 dark:bg-cyan-400/10 dark:text-cyan-400 dark:inset-ring-cyan-400/30 dark:group-data-hover:bg-cyan-400/20",
185
185
  color: "#22d3ee",
186
186
  label: "Region"
187
187
  },
188
188
  element: {
189
189
  icon: import_lucide.MousePointerClick,
190
- tone: "text-rose-700 dark:text-rose-300",
191
- chip: "bg-rose-400/20 text-rose-700 group-data-hover:bg-rose-400/30 dark:bg-rose-400/10 dark:text-rose-300 dark:group-data-hover:bg-rose-400/15",
190
+ tone: "text-rose-700 dark:text-rose-400",
191
+ chip: "bg-rose-50 text-rose-700 inset-ring inset-ring-rose-600/10 group-data-hover:bg-rose-100 dark:bg-rose-400/10 dark:text-rose-400 dark:inset-ring-rose-400/20 dark:group-data-hover:bg-rose-400/20",
192
192
  color: "#fb7185",
193
193
  label: "Element"
194
194
  },
195
195
  primitive: {
196
196
  icon: import_lucide.Circle,
197
- tone: "text-slate-700 dark:text-slate-300",
198
- chip: "bg-slate-400/20 text-slate-700 group-data-hover:bg-slate-400/30 dark:bg-slate-400/10 dark:text-slate-300 dark:group-data-hover:bg-slate-400/15",
197
+ tone: "text-slate-600 dark:text-slate-400",
198
+ chip: "bg-slate-50 text-slate-600 inset-ring inset-ring-slate-500/10 group-data-hover:bg-slate-100 dark:bg-slate-400/10 dark:text-slate-400 dark:inset-ring-slate-400/20 dark:group-data-hover:bg-slate-400/20",
199
199
  color: "#94a3b8",
200
200
  label: "Primitive"
201
201
  },
202
202
  flow: {
203
203
  icon: import_lucide.Workflow,
204
- tone: "text-fuchsia-700 dark:text-fuchsia-300",
205
- chip: "bg-fuchsia-400/20 text-fuchsia-700 group-data-hover:bg-fuchsia-400/30 dark:bg-fuchsia-400/10 dark:text-fuchsia-300 dark:group-data-hover:bg-fuchsia-400/15",
204
+ tone: "text-fuchsia-700 dark:text-fuchsia-400",
205
+ chip: "bg-fuchsia-50 text-fuchsia-700 inset-ring inset-ring-fuchsia-700/10 group-data-hover:bg-fuchsia-100 dark:bg-fuchsia-400/10 dark:text-fuchsia-400 dark:inset-ring-fuchsia-400/20 dark:group-data-hover:bg-fuchsia-400/20",
206
206
  color: "#e879f9",
207
207
  label: "Flow"
208
208
  }
@@ -718,33 +718,46 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
718
718
  --color-red-400: oklch(70.4% 0.191 22.216);
719
719
  --color-red-500: oklch(63.7% 0.237 25.331);
720
720
  --color-red-700: oklch(50.5% 0.213 27.518);
721
- --color-amber-300: oklch(87.9% 0.169 91.605);
721
+ --color-amber-50: oklch(98.7% 0.022 95.277);
722
+ --color-amber-100: oklch(96.2% 0.059 95.617);
722
723
  --color-amber-400: oklch(82.8% 0.189 84.429);
723
724
  --color-amber-500: oklch(76.9% 0.188 70.08);
725
+ --color-amber-600: oklch(66.6% 0.179 58.318);
724
726
  --color-amber-700: oklch(55.5% 0.163 48.998);
725
- --color-emerald-300: oklch(84.5% 0.143 164.978);
727
+ --color-amber-800: oklch(47.3% 0.137 46.201);
728
+ --color-emerald-50: oklch(97.9% 0.021 166.113);
729
+ --color-emerald-100: oklch(95% 0.052 163.051);
726
730
  --color-emerald-400: oklch(76.5% 0.177 163.223);
727
731
  --color-emerald-500: oklch(69.6% 0.17 162.48);
732
+ --color-emerald-600: oklch(59.6% 0.145 163.225);
728
733
  --color-emerald-700: oklch(50.8% 0.118 165.612);
729
- --color-cyan-300: oklch(86.5% 0.127 207.078);
734
+ --color-cyan-50: oklch(98.4% 0.019 200.873);
735
+ --color-cyan-100: oklch(95.6% 0.045 203.388);
730
736
  --color-cyan-400: oklch(78.9% 0.154 211.53);
731
737
  --color-cyan-700: oklch(52% 0.105 223.128);
732
- --color-blue-300: oklch(80.9% 0.105 251.813);
738
+ --color-blue-50: oklch(97% 0.014 254.604);
739
+ --color-blue-100: oklch(93.2% 0.032 255.585);
733
740
  --color-blue-400: oklch(70.7% 0.165 254.624);
734
741
  --color-blue-500: oklch(62.3% 0.214 259.815);
735
742
  --color-blue-700: oklch(48.8% 0.243 264.376);
736
- --color-violet-300: oklch(81.1% 0.111 293.571);
743
+ --color-violet-50: oklch(96.9% 0.016 293.756);
744
+ --color-violet-100: oklch(94.3% 0.029 294.588);
737
745
  --color-violet-400: oklch(70.2% 0.183 293.541);
738
746
  --color-violet-700: oklch(49.1% 0.27 292.581);
739
- --color-fuchsia-300: oklch(83.3% 0.145 321.434);
747
+ --color-fuchsia-50: oklch(97.7% 0.017 320.058);
748
+ --color-fuchsia-100: oklch(95.2% 0.037 318.852);
740
749
  --color-fuchsia-400: oklch(74% 0.238 322.16);
741
750
  --color-fuchsia-700: oklch(51.8% 0.253 323.949);
742
- --color-rose-300: oklch(81% 0.117 11.638);
751
+ --color-rose-50: oklch(96.9% 0.015 12.422);
752
+ --color-rose-100: oklch(94.1% 0.03 12.58);
743
753
  --color-rose-400: oklch(71.2% 0.194 13.428);
754
+ --color-rose-600: oklch(58.6% 0.253 17.585);
744
755
  --color-rose-700: oklch(51.4% 0.222 16.935);
745
- --color-slate-300: oklch(86.9% 0.022 252.894);
756
+ --color-slate-50: oklch(98.4% 0.003 247.858);
757
+ --color-slate-100: oklch(96.8% 0.007 247.896);
746
758
  --color-slate-400: oklch(70.4% 0.04 256.788);
747
- --color-slate-700: oklch(37.2% 0.044 257.287);
759
+ --color-slate-500: oklch(55.4% 0.046 257.417);
760
+ --color-slate-600: oklch(44.6% 0.043 257.281);
748
761
  --color-neutral-50: oklch(98.5% 0 0);
749
762
  --color-neutral-100: oklch(97% 0 0);
750
763
  --color-neutral-400: oklch(70.8% 0 0);
@@ -754,6 +767,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
754
767
  --color-black: #000;
755
768
  --color-white: #fff;
756
769
  --spacing: 0.25rem;
770
+ --container-sm: 24rem;
757
771
  --container-xl: 36rem;
758
772
  --text-xs: 0.75rem;
759
773
  --text-xs--line-height: calc(1 / 0.75);
@@ -761,20 +775,27 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
761
775
  --text-sm--line-height: calc(1.25 / 0.875);
762
776
  --text-base: 1rem;
763
777
  --text-base--line-height: calc(1.5 / 1);
778
+ --text-xl: 1.25rem;
779
+ --text-xl--line-height: calc(1.75 / 1.25);
764
780
  --font-weight-normal: 400;
765
781
  --font-weight-medium: 500;
766
782
  --font-weight-semibold: 600;
783
+ --tracking-tight: -0.025em;
767
784
  --tracking-widest: 0.1em;
768
785
  --leading-relaxed: 1.625;
786
+ --radius-md: calc(var(--radius) * 0.8);
787
+ --radius-lg: var(--radius);
769
788
  --radius-xl: calc(var(--radius) * 1.4);
770
789
  --radius-2xl: calc(var(--radius) * 1.8);
771
790
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
791
+ --animate-spin: spin 1s linear infinite;
772
792
  --blur-sm: 8px;
773
793
  --default-transition-duration: 150ms;
774
794
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
775
795
  --default-font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
776
796
  Roboto, sans-serif;
777
797
  --default-mono-font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
798
+ --color-muted: var(--muted);
778
799
  --color-border: var(--border);
779
800
  }
780
801
  }
@@ -930,6 +951,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
930
951
  .pointer-events-none {
931
952
  pointer-events: none;
932
953
  }
954
+ .\\!visible {
955
+ visibility: visible !important;
956
+ }
933
957
  .invisible {
934
958
  visibility: hidden;
935
959
  }
@@ -968,15 +992,18 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
968
992
  .right-2 {
969
993
  right: calc(var(--spacing) * 2);
970
994
  }
971
- .right-3 {
972
- right: calc(var(--spacing) * 3);
995
+ .bottom-px {
996
+ bottom: 1px;
973
997
  }
974
- .bottom-12 {
975
- bottom: calc(var(--spacing) * 12);
998
+ .z-1 {
999
+ z-index: 1;
976
1000
  }
977
1001
  .z-10 {
978
1002
  z-index: 10;
979
1003
  }
1004
+ .z-\\[2147483647\\] {
1005
+ z-index: 2147483647;
1006
+ }
980
1007
  .container {
981
1008
  width: 100%;
982
1009
  @media (width >= 40rem) {
@@ -1031,9 +1058,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1031
1058
  .inline {
1032
1059
  display: inline;
1033
1060
  }
1034
- .inline-block {
1035
- display: inline-block;
1036
- }
1037
1061
  .inline-flex {
1038
1062
  display: inline-flex;
1039
1063
  }
@@ -1109,6 +1133,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1109
1133
  .h-px {
1110
1134
  height: 1px;
1111
1135
  }
1136
+ .max-h-32 {
1137
+ max-height: calc(var(--spacing) * 32);
1138
+ }
1139
+ .max-h-full {
1140
+ max-height: 100%;
1141
+ }
1112
1142
  .min-h-0 {
1113
1143
  min-height: calc(var(--spacing) * 0);
1114
1144
  }
@@ -1127,6 +1157,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1127
1157
  .w-4 {
1128
1158
  width: calc(var(--spacing) * 4);
1129
1159
  }
1160
+ .w-20 {
1161
+ width: calc(var(--spacing) * 20);
1162
+ }
1163
+ .w-36 {
1164
+ width: calc(var(--spacing) * 36);
1165
+ }
1130
1166
  .w-56 {
1131
1167
  width: calc(var(--spacing) * 56);
1132
1168
  }
@@ -1139,6 +1175,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1139
1175
  .w-px {
1140
1176
  width: 1px;
1141
1177
  }
1178
+ .max-w-full {
1179
+ max-width: 100%;
1180
+ }
1181
+ .max-w-sm {
1182
+ max-width: var(--container-sm);
1183
+ }
1142
1184
  .max-w-xl {
1143
1185
  max-width: var(--container-xl);
1144
1186
  }
@@ -1166,9 +1208,41 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1166
1208
  .shrink-0 {
1167
1209
  flex-shrink: 0;
1168
1210
  }
1211
+ .origin-bottom-left {
1212
+ transform-origin: 0 100%;
1213
+ }
1214
+ .origin-bottom-right {
1215
+ transform-origin: 100% 100%;
1216
+ }
1217
+ .-translate-x-0\\.5 {
1218
+ --tw-translate-x: calc(var(--spacing) * -0.5);
1219
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1220
+ }
1221
+ .translate-x-0\\.5 {
1222
+ --tw-translate-x: calc(var(--spacing) * 0.5);
1223
+ translate: var(--tw-translate-x) var(--tw-translate-y);
1224
+ }
1225
+ .scale-84 {
1226
+ --tw-scale-x: 84%;
1227
+ --tw-scale-y: 84%;
1228
+ --tw-scale-z: 84%;
1229
+ scale: var(--tw-scale-x) var(--tw-scale-y);
1230
+ }
1231
+ .-rotate-10 {
1232
+ rotate: calc(10deg * -1);
1233
+ }
1234
+ .rotate-10 {
1235
+ rotate: 10deg;
1236
+ }
1169
1237
  .transform {
1170
1238
  transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
1171
1239
  }
1240
+ .animate-skeleton {
1241
+ animation: skeleton 2s -1s infinite linear;
1242
+ }
1243
+ .animate-spin {
1244
+ animation: var(--animate-spin);
1245
+ }
1172
1246
  .cursor-default {
1173
1247
  cursor: default;
1174
1248
  }
@@ -1193,9 +1267,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1193
1267
  .flex-row {
1194
1268
  flex-direction: row;
1195
1269
  }
1196
- .flex-wrap {
1197
- flex-wrap: wrap;
1198
- }
1199
1270
  .items-center {
1200
1271
  align-items: center;
1201
1272
  }
@@ -1229,6 +1300,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1229
1300
  .gap-4 {
1230
1301
  gap: calc(var(--spacing) * 4);
1231
1302
  }
1303
+ .gap-6 {
1304
+ gap: calc(var(--spacing) * 6);
1305
+ }
1232
1306
  .self-start {
1233
1307
  align-self: flex-start;
1234
1308
  }
@@ -1249,6 +1323,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1249
1323
  .rounded-\\[0\\.25rem\\] {
1250
1324
  border-radius: 0.25rem;
1251
1325
  }
1326
+ .rounded-full {
1327
+ border-radius: calc(infinity * 1px);
1328
+ }
1252
1329
  .rounded-lg {
1253
1330
  border-radius: var(--radius);
1254
1331
  }
@@ -1258,6 +1335,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1258
1335
  .rounded-sm {
1259
1336
  border-radius: calc(var(--radius) * 0.6);
1260
1337
  }
1338
+ .rounded-xl {
1339
+ border-radius: calc(var(--radius) * 1.4);
1340
+ }
1261
1341
  .rounded-t-xl {
1262
1342
  border-top-left-radius: calc(var(--radius) * 1.4);
1263
1343
  border-top-right-radius: calc(var(--radius) * 1.4);
@@ -1278,12 +1358,24 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1278
1358
  border-bottom-style: var(--tw-border-style);
1279
1359
  border-bottom-width: 0px;
1280
1360
  }
1361
+ .border-amber-500\\/40 {
1362
+ border-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 40%, transparent);
1363
+ @supports (color: color-mix(in lab, red, red)) {
1364
+ border-color: color-mix(in oklab, var(--color-amber-500) 40%, transparent);
1365
+ }
1366
+ }
1281
1367
  .border-border {
1282
1368
  border-color: var(--border);
1283
1369
  }
1284
1370
  .border-destructive {
1285
1371
  border-color: var(--destructive);
1286
1372
  }
1373
+ .border-info\\/40 {
1374
+ border-color: var(--info);
1375
+ @supports (color: color-mix(in lab, red, red)) {
1376
+ border-color: color-mix(in oklab, var(--info) 40%, transparent);
1377
+ }
1378
+ }
1287
1379
  .border-input {
1288
1380
  border-color: var(--input);
1289
1381
  }
@@ -1293,10 +1385,13 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1293
1385
  .border-transparent {
1294
1386
  border-color: transparent;
1295
1387
  }
1296
- .bg-amber-400\\/20 {
1297
- background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);
1388
+ .bg-amber-50 {
1389
+ background-color: var(--color-amber-50);
1390
+ }
1391
+ .bg-amber-500\\/15 {
1392
+ background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 15%, transparent);
1298
1393
  @supports (color: color-mix(in lab, red, red)) {
1299
- background-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);
1394
+ background-color: color-mix(in oklab, var(--color-amber-500) 15%, transparent);
1300
1395
  }
1301
1396
  }
1302
1397
  .bg-background {
@@ -1308,20 +1403,23 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1308
1403
  background-color: color-mix(in oklab, var(--color-black) 32%, transparent);
1309
1404
  }
1310
1405
  }
1311
- .bg-blue-400\\/20 {
1312
- background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 20%, transparent);
1406
+ .bg-black\\/80 {
1407
+ background-color: color-mix(in srgb, #000 80%, transparent);
1313
1408
  @supports (color: color-mix(in lab, red, red)) {
1314
- background-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
1409
+ background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
1315
1410
  }
1316
1411
  }
1412
+ .bg-blue-50 {
1413
+ background-color: var(--color-blue-50);
1414
+ }
1317
1415
  .bg-border {
1318
1416
  background-color: var(--border);
1319
1417
  }
1320
- .bg-cyan-400\\/20 {
1321
- background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 20%, transparent);
1322
- @supports (color: color-mix(in lab, red, red)) {
1323
- background-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
1324
- }
1418
+ .bg-card {
1419
+ background-color: var(--card);
1420
+ }
1421
+ .bg-cyan-50 {
1422
+ background-color: var(--color-cyan-50);
1325
1423
  }
1326
1424
  .bg-destructive {
1327
1425
  background-color: var(--destructive);
@@ -1332,17 +1430,11 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1332
1430
  background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
1333
1431
  }
1334
1432
  }
1335
- .bg-emerald-400\\/20 {
1336
- background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 20%, transparent);
1337
- @supports (color: color-mix(in lab, red, red)) {
1338
- background-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);
1339
- }
1433
+ .bg-emerald-50 {
1434
+ background-color: var(--color-emerald-50);
1340
1435
  }
1341
- .bg-fuchsia-400\\/20 {
1342
- background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 20%, transparent);
1343
- @supports (color: color-mix(in lab, red, red)) {
1344
- background-color: color-mix(in oklab, var(--color-fuchsia-400) 20%, transparent);
1345
- }
1436
+ .bg-fuchsia-50 {
1437
+ background-color: var(--color-fuchsia-50);
1346
1438
  }
1347
1439
  .bg-info\\/10 {
1348
1440
  background-color: var(--info);
@@ -1350,6 +1442,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1350
1442
  background-color: color-mix(in oklab, var(--info) 10%, transparent);
1351
1443
  }
1352
1444
  }
1445
+ .bg-info\\/15 {
1446
+ background-color: var(--info);
1447
+ @supports (color: color-mix(in lab, red, red)) {
1448
+ background-color: color-mix(in oklab, var(--info) 15%, transparent);
1449
+ }
1450
+ }
1353
1451
  .bg-muted {
1354
1452
  background-color: var(--muted);
1355
1453
  }
@@ -1359,20 +1457,14 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1359
1457
  .bg-primary {
1360
1458
  background-color: var(--primary);
1361
1459
  }
1362
- .bg-rose-400\\/20 {
1363
- background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);
1364
- @supports (color: color-mix(in lab, red, red)) {
1365
- background-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);
1366
- }
1460
+ .bg-rose-50 {
1461
+ background-color: var(--color-rose-50);
1367
1462
  }
1368
1463
  .bg-secondary {
1369
1464
  background-color: var(--secondary);
1370
1465
  }
1371
- .bg-slate-400\\/20 {
1372
- background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 20%, transparent);
1373
- @supports (color: color-mix(in lab, red, red)) {
1374
- background-color: color-mix(in oklab, var(--color-slate-400) 20%, transparent);
1375
- }
1466
+ .bg-slate-50 {
1467
+ background-color: var(--color-slate-50);
1376
1468
  }
1377
1469
  .bg-success\\/10 {
1378
1470
  background-color: var(--success);
@@ -1383,11 +1475,8 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1383
1475
  .bg-transparent {
1384
1476
  background-color: transparent;
1385
1477
  }
1386
- .bg-violet-400\\/20 {
1387
- background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 20%, transparent);
1388
- @supports (color: color-mix(in lab, red, red)) {
1389
- background-color: color-mix(in oklab, var(--color-violet-400) 20%, transparent);
1390
- }
1478
+ .bg-violet-50 {
1479
+ background-color: var(--color-violet-50);
1391
1480
  }
1392
1481
  .bg-warning\\/10 {
1393
1482
  background-color: var(--warning);
@@ -1404,15 +1493,27 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1404
1493
  .bg-no-repeat {
1405
1494
  background-repeat: no-repeat;
1406
1495
  }
1496
+ .object-cover {
1497
+ object-fit: cover;
1498
+ }
1499
+ .object-top {
1500
+ object-position: top;
1501
+ }
1407
1502
  .p-1 {
1408
1503
  padding: calc(var(--spacing) * 1);
1409
1504
  }
1505
+ .p-1\\.5 {
1506
+ padding: calc(var(--spacing) * 1.5);
1507
+ }
1410
1508
  .p-2 {
1411
1509
  padding: calc(var(--spacing) * 2);
1412
1510
  }
1413
1511
  .p-4 {
1414
1512
  padding: calc(var(--spacing) * 4);
1415
1513
  }
1514
+ .p-6 {
1515
+ padding: calc(var(--spacing) * 6);
1516
+ }
1416
1517
  .px-0 {
1417
1518
  padding-inline: calc(var(--spacing) * 0);
1418
1519
  }
@@ -1437,8 +1538,8 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1437
1538
  .px-4 {
1438
1539
  padding-inline: calc(var(--spacing) * 4);
1439
1540
  }
1440
- .px-5 {
1441
- padding-inline: calc(var(--spacing) * 5);
1541
+ .px-6 {
1542
+ padding-inline: calc(var(--spacing) * 6);
1442
1543
  }
1443
1544
  .py-0 {
1444
1545
  padding-block: calc(var(--spacing) * 0);
@@ -1452,12 +1553,12 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1452
1553
  .py-2 {
1453
1554
  padding-block: calc(var(--spacing) * 2);
1454
1555
  }
1455
- .py-3 {
1456
- padding-block: calc(var(--spacing) * 3);
1457
- }
1458
1556
  .py-4 {
1459
1557
  padding-block: calc(var(--spacing) * 4);
1460
1558
  }
1559
+ .py-12 {
1560
+ padding-block: calc(var(--spacing) * 12);
1561
+ }
1461
1562
  .py-\\[max\\(1rem\\,4vh\\)\\] {
1462
1563
  padding-block: max(1rem, 4vh);
1463
1564
  }
@@ -1498,6 +1599,10 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1498
1599
  font-size: var(--text-sm);
1499
1600
  line-height: var(--tw-leading, var(--text-sm--line-height));
1500
1601
  }
1602
+ .text-xl {
1603
+ font-size: var(--text-xl);
1604
+ line-height: var(--tw-leading, var(--text-xl--line-height));
1605
+ }
1501
1606
  .text-xs {
1502
1607
  font-size: var(--text-xs);
1503
1608
  line-height: var(--tw-leading, var(--text-xs--line-height));
@@ -1521,10 +1626,17 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1521
1626
  --tw-font-weight: var(--font-weight-semibold);
1522
1627
  font-weight: var(--font-weight-semibold);
1523
1628
  }
1629
+ .tracking-tight {
1630
+ --tw-tracking: var(--tracking-tight);
1631
+ letter-spacing: var(--tracking-tight);
1632
+ }
1524
1633
  .tracking-widest {
1525
1634
  --tw-tracking: var(--tracking-widest);
1526
1635
  letter-spacing: var(--tracking-widest);
1527
1636
  }
1637
+ .text-balance {
1638
+ text-wrap: balance;
1639
+ }
1528
1640
  .break-words {
1529
1641
  overflow-wrap: break-word;
1530
1642
  }
@@ -1534,9 +1646,15 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1534
1646
  .whitespace-nowrap {
1535
1647
  white-space: nowrap;
1536
1648
  }
1649
+ .text-amber-600 {
1650
+ color: var(--color-amber-600);
1651
+ }
1537
1652
  .text-amber-700 {
1538
1653
  color: var(--color-amber-700);
1539
1654
  }
1655
+ .text-amber-800 {
1656
+ color: var(--color-amber-800);
1657
+ }
1540
1658
  .text-blue-700 {
1541
1659
  color: var(--color-blue-700);
1542
1660
  }
@@ -1579,8 +1697,8 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1579
1697
  .text-secondary-foreground {
1580
1698
  color: var(--secondary-foreground);
1581
1699
  }
1582
- .text-slate-700 {
1583
- color: var(--color-slate-700);
1700
+ .text-slate-600 {
1701
+ color: var(--color-slate-600);
1584
1702
  }
1585
1703
  .text-success-foreground {
1586
1704
  color: var(--success-foreground);
@@ -1597,6 +1715,14 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1597
1715
  .lowercase {
1598
1716
  text-transform: lowercase;
1599
1717
  }
1718
+ .ordinal {
1719
+ --tw-ordinal: ordinal;
1720
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
1721
+ }
1722
+ .tabular-nums {
1723
+ --tw-numeric-spacing: tabular-nums;
1724
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
1725
+ }
1600
1726
  .line-through {
1601
1727
  text-decoration-line: line-through;
1602
1728
  }
@@ -1612,6 +1738,9 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1612
1738
  .accent-primary {
1613
1739
  accent-color: var(--primary);
1614
1740
  }
1741
+ .opacity-50 {
1742
+ opacity: 50%;
1743
+ }
1615
1744
  .opacity-80 {
1616
1745
  opacity: 80%;
1617
1746
  }
@@ -1620,6 +1749,11 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1620
1749
  --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%));
1621
1750
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1622
1751
  }
1752
+ .shadow-sm\\/5 {
1753
+ --tw-shadow-alpha: 5%;
1754
+ --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%));
1755
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1756
+ }
1623
1757
  .shadow-xs\\/5 {
1624
1758
  --tw-shadow-alpha: 5%;
1625
1759
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, oklab(from rgb(0 0 0 / 0.05) l a b / 5%));
@@ -1629,10 +1763,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1629
1763
  --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));
1630
1764
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1631
1765
  }
1632
- .shadow-lg {
1633
- --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));
1634
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1635
- }
1636
1766
  .shadow-none {
1637
1767
  --tw-shadow: 0 0 #0000;
1638
1768
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1645,6 +1775,58 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1645
1775
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1646
1776
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1647
1777
  }
1778
+ .inset-ring {
1779
+ --tw-inset-ring-shadow: inset 0 0 0 1px var(--tw-inset-ring-color, currentcolor);
1780
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1781
+ }
1782
+ .inset-ring-amber-600\\/20 {
1783
+ --tw-inset-ring-color: color-mix(in srgb, oklch(66.6% 0.179 58.318) 20%, transparent);
1784
+ @supports (color: color-mix(in lab, red, red)) {
1785
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-amber-600) 20%, transparent);
1786
+ }
1787
+ }
1788
+ .inset-ring-blue-700\\/10 {
1789
+ --tw-inset-ring-color: color-mix(in srgb, oklch(48.8% 0.243 264.376) 10%, transparent);
1790
+ @supports (color: color-mix(in lab, red, red)) {
1791
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-blue-700) 10%, transparent);
1792
+ }
1793
+ }
1794
+ .inset-ring-cyan-700\\/10 {
1795
+ --tw-inset-ring-color: color-mix(in srgb, oklch(52% 0.105 223.128) 10%, transparent);
1796
+ @supports (color: color-mix(in lab, red, red)) {
1797
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-cyan-700) 10%, transparent);
1798
+ }
1799
+ }
1800
+ .inset-ring-emerald-600\\/20 {
1801
+ --tw-inset-ring-color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 20%, transparent);
1802
+ @supports (color: color-mix(in lab, red, red)) {
1803
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-emerald-600) 20%, transparent);
1804
+ }
1805
+ }
1806
+ .inset-ring-fuchsia-700\\/10 {
1807
+ --tw-inset-ring-color: color-mix(in srgb, oklch(51.8% 0.253 323.949) 10%, transparent);
1808
+ @supports (color: color-mix(in lab, red, red)) {
1809
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-fuchsia-700) 10%, transparent);
1810
+ }
1811
+ }
1812
+ .inset-ring-rose-600\\/10 {
1813
+ --tw-inset-ring-color: color-mix(in srgb, oklch(58.6% 0.253 17.585) 10%, transparent);
1814
+ @supports (color: color-mix(in lab, red, red)) {
1815
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-rose-600) 10%, transparent);
1816
+ }
1817
+ }
1818
+ .inset-ring-slate-500\\/10 {
1819
+ --tw-inset-ring-color: color-mix(in srgb, oklch(55.4% 0.046 257.417) 10%, transparent);
1820
+ @supports (color: color-mix(in lab, red, red)) {
1821
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-slate-500) 10%, transparent);
1822
+ }
1823
+ }
1824
+ .inset-ring-violet-700\\/10 {
1825
+ --tw-inset-ring-color: color-mix(in srgb, oklch(49.1% 0.27 292.581) 10%, transparent);
1826
+ @supports (color: color-mix(in lab, red, red)) {
1827
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-violet-700) 10%, transparent);
1828
+ }
1829
+ }
1648
1830
  .outline {
1649
1831
  outline-style: var(--tw-outline-style);
1650
1832
  outline-width: 1px;
@@ -1688,76 +1870,61 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1688
1870
  -webkit-user-select: none;
1689
1871
  user-select: none;
1690
1872
  }
1873
+ .\\[--skeleton-highlight\\:--alpha\\(var\\(--color-white\\)\\/64\\%\\)\\] {
1874
+ --skeleton-highlight: color-mix(in srgb, #fff 64%, transparent);
1875
+ @supports (color: color-mix(in lab, red, red)) {
1876
+ --skeleton-highlight: color-mix(in oklab, var(--color-white) 64%, transparent);
1877
+ }
1878
+ }
1879
+ .\\[background\\:linear-gradient\\(120deg\\,transparent_40\\%\\,var\\(--skeleton-highlight\\)\\,transparent_60\\%\\)_var\\(--color-muted\\)_0_0\\/200\\%_100\\%_fixed\\] {
1880
+ background: linear-gradient(120deg,transparent 40%,var(--skeleton-highlight),transparent 60%) var(--color-muted) 0 0/200% 100% fixed;
1881
+ }
1691
1882
  .\\[clip-path\\:inset\\(0_1px\\)\\] {
1692
1883
  clip-path: inset(0 1px);
1693
1884
  }
1694
1885
  .not-dark\\:bg-clip-padding {
1695
- &:not(*:is(.dark *)) {
1886
+ &:not(*:is(.dark *, :host(.dark) *)) {
1696
1887
  background-clip: padding-box;
1697
1888
  }
1698
1889
  }
1699
- .group-data-hover\\:bg-amber-400\\/30 {
1890
+ .group-data-hover\\:bg-amber-100 {
1700
1891
  &:is(:where(.group)[data-hover] *) {
1701
- background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 30%, transparent);
1702
- @supports (color: color-mix(in lab, red, red)) {
1703
- background-color: color-mix(in oklab, var(--color-amber-400) 30%, transparent);
1704
- }
1892
+ background-color: var(--color-amber-100);
1705
1893
  }
1706
1894
  }
1707
- .group-data-hover\\:bg-blue-400\\/30 {
1895
+ .group-data-hover\\:bg-blue-100 {
1708
1896
  &:is(:where(.group)[data-hover] *) {
1709
- background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 30%, transparent);
1710
- @supports (color: color-mix(in lab, red, red)) {
1711
- background-color: color-mix(in oklab, var(--color-blue-400) 30%, transparent);
1712
- }
1897
+ background-color: var(--color-blue-100);
1713
1898
  }
1714
1899
  }
1715
- .group-data-hover\\:bg-cyan-400\\/30 {
1900
+ .group-data-hover\\:bg-cyan-100 {
1716
1901
  &:is(:where(.group)[data-hover] *) {
1717
- background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 30%, transparent);
1718
- @supports (color: color-mix(in lab, red, red)) {
1719
- background-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
1720
- }
1902
+ background-color: var(--color-cyan-100);
1721
1903
  }
1722
1904
  }
1723
- .group-data-hover\\:bg-emerald-400\\/30 {
1905
+ .group-data-hover\\:bg-emerald-100 {
1724
1906
  &:is(:where(.group)[data-hover] *) {
1725
- background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 30%, transparent);
1726
- @supports (color: color-mix(in lab, red, red)) {
1727
- background-color: color-mix(in oklab, var(--color-emerald-400) 30%, transparent);
1728
- }
1907
+ background-color: var(--color-emerald-100);
1729
1908
  }
1730
1909
  }
1731
- .group-data-hover\\:bg-fuchsia-400\\/30 {
1910
+ .group-data-hover\\:bg-fuchsia-100 {
1732
1911
  &:is(:where(.group)[data-hover] *) {
1733
- background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 30%, transparent);
1734
- @supports (color: color-mix(in lab, red, red)) {
1735
- background-color: color-mix(in oklab, var(--color-fuchsia-400) 30%, transparent);
1736
- }
1912
+ background-color: var(--color-fuchsia-100);
1737
1913
  }
1738
1914
  }
1739
- .group-data-hover\\:bg-rose-400\\/30 {
1915
+ .group-data-hover\\:bg-rose-100 {
1740
1916
  &:is(:where(.group)[data-hover] *) {
1741
- background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 30%, transparent);
1742
- @supports (color: color-mix(in lab, red, red)) {
1743
- background-color: color-mix(in oklab, var(--color-rose-400) 30%, transparent);
1744
- }
1917
+ background-color: var(--color-rose-100);
1745
1918
  }
1746
1919
  }
1747
- .group-data-hover\\:bg-slate-400\\/30 {
1920
+ .group-data-hover\\:bg-slate-100 {
1748
1921
  &:is(:where(.group)[data-hover] *) {
1749
- background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 30%, transparent);
1750
- @supports (color: color-mix(in lab, red, red)) {
1751
- background-color: color-mix(in oklab, var(--color-slate-400) 30%, transparent);
1752
- }
1922
+ background-color: var(--color-slate-100);
1753
1923
  }
1754
1924
  }
1755
- .group-data-hover\\:bg-violet-400\\/30 {
1925
+ .group-data-hover\\:bg-violet-100 {
1756
1926
  &:is(:where(.group)[data-hover] *) {
1757
- background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 30%, transparent);
1758
- @supports (color: color-mix(in lab, red, red)) {
1759
- background-color: color-mix(in oklab, var(--color-violet-400) 30%, transparent);
1760
- }
1927
+ background-color: var(--color-violet-100);
1761
1928
  }
1762
1929
  }
1763
1930
  .placeholder\\:text-muted-foreground {
@@ -1789,6 +1956,24 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1789
1956
  border-radius: calc(var(--radius-2xl) - 1px);
1790
1957
  }
1791
1958
  }
1959
+ .before\\:rounded-\\[calc\\(var\\(--radius-lg\\)-1px\\)\\] {
1960
+ &::before {
1961
+ content: var(--tw-content);
1962
+ border-radius: calc(var(--radius-lg) - 1px);
1963
+ }
1964
+ }
1965
+ .before\\:rounded-\\[calc\\(var\\(--radius-md\\)-1px\\)\\] {
1966
+ &::before {
1967
+ content: var(--tw-content);
1968
+ border-radius: calc(var(--radius-md) - 1px);
1969
+ }
1970
+ }
1971
+ .before\\:rounded-\\[calc\\(var\\(--radius-xl\\)-1px\\)\\] {
1972
+ &::before {
1973
+ content: var(--tw-content);
1974
+ border-radius: calc(var(--radius-xl) - 1px);
1975
+ }
1976
+ }
1792
1977
  .before\\:rounded-t-\\[calc\\(var\\(--radius-xl\\)-1px\\)\\] {
1793
1978
  &::before {
1794
1979
  content: var(--tw-content);
@@ -1861,6 +2046,16 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1861
2046
  }
1862
2047
  }
1863
2048
  }
2049
+ .hover\\:bg-amber-500\\/20 {
2050
+ &:hover {
2051
+ @media (hover: hover) {
2052
+ background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);
2053
+ @supports (color: color-mix(in lab, red, red)) {
2054
+ background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
2055
+ }
2056
+ }
2057
+ }
2058
+ }
1864
2059
  .hover\\:bg-destructive\\/5 {
1865
2060
  &:hover {
1866
2061
  @media (hover: hover) {
@@ -1881,6 +2076,16 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
1881
2076
  }
1882
2077
  }
1883
2078
  }
2079
+ .hover\\:bg-info\\/20 {
2080
+ &:hover {
2081
+ @media (hover: hover) {
2082
+ background-color: var(--info);
2083
+ @supports (color: color-mix(in lab, red, red)) {
2084
+ background-color: color-mix(in oklab, var(--info) 20%, transparent);
2085
+ }
2086
+ }
2087
+ }
2088
+ }
1884
2089
  .hover\\:bg-primary\\/90 {
1885
2090
  &:hover {
1886
2091
  @media (hover: hover) {
@@ -2015,11 +2220,6 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2015
2220
  pointer-events: none;
2016
2221
  }
2017
2222
  }
2018
- .data-\\[disabled\\]\\:opacity-60 {
2019
- &[data-disabled] {
2020
- opacity: 60%;
2021
- }
2022
- }
2023
2223
  .data-\\[disabled\\]\\:opacity-64 {
2024
2224
  &[data-disabled] {
2025
2225
  opacity: 64%;
@@ -2058,7 +2258,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2058
2258
  }
2059
2259
  }
2060
2260
  .dark\\:bg-amber-400\\/10 {
2061
- &:is(.dark *) {
2261
+ &:is(.dark *, :host(.dark) *) {
2062
2262
  background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 10%, transparent);
2063
2263
  @supports (color: color-mix(in lab, red, red)) {
2064
2264
  background-color: color-mix(in oklab, var(--color-amber-400) 10%, transparent);
@@ -2066,7 +2266,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2066
2266
  }
2067
2267
  }
2068
2268
  .dark\\:bg-blue-400\\/10 {
2069
- &:is(.dark *) {
2269
+ &:is(.dark *, :host(.dark) *) {
2070
2270
  background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 10%, transparent);
2071
2271
  @supports (color: color-mix(in lab, red, red)) {
2072
2272
  background-color: color-mix(in oklab, var(--color-blue-400) 10%, transparent);
@@ -2074,7 +2274,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2074
2274
  }
2075
2275
  }
2076
2276
  .dark\\:bg-cyan-400\\/10 {
2077
- &:is(.dark *) {
2277
+ &:is(.dark *, :host(.dark) *) {
2078
2278
  background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 10%, transparent);
2079
2279
  @supports (color: color-mix(in lab, red, red)) {
2080
2280
  background-color: color-mix(in oklab, var(--color-cyan-400) 10%, transparent);
@@ -2082,7 +2282,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2082
2282
  }
2083
2283
  }
2084
2284
  .dark\\:bg-destructive\\/20 {
2085
- &:is(.dark *) {
2285
+ &:is(.dark *, :host(.dark) *) {
2086
2286
  background-color: var(--destructive);
2087
2287
  @supports (color: color-mix(in lab, red, red)) {
2088
2288
  background-color: color-mix(in oklab, var(--destructive) 20%, transparent);
@@ -2090,7 +2290,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2090
2290
  }
2091
2291
  }
2092
2292
  .dark\\:bg-emerald-400\\/10 {
2093
- &:is(.dark *) {
2293
+ &:is(.dark *, :host(.dark) *) {
2094
2294
  background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 10%, transparent);
2095
2295
  @supports (color: color-mix(in lab, red, red)) {
2096
2296
  background-color: color-mix(in oklab, var(--color-emerald-400) 10%, transparent);
@@ -2098,7 +2298,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2098
2298
  }
2099
2299
  }
2100
2300
  .dark\\:bg-fuchsia-400\\/10 {
2101
- &:is(.dark *) {
2301
+ &:is(.dark *, :host(.dark) *) {
2102
2302
  background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 10%, transparent);
2103
2303
  @supports (color: color-mix(in lab, red, red)) {
2104
2304
  background-color: color-mix(in oklab, var(--color-fuchsia-400) 10%, transparent);
@@ -2106,7 +2306,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2106
2306
  }
2107
2307
  }
2108
2308
  .dark\\:bg-info\\/20 {
2109
- &:is(.dark *) {
2309
+ &:is(.dark *, :host(.dark) *) {
2110
2310
  background-color: var(--info);
2111
2311
  @supports (color: color-mix(in lab, red, red)) {
2112
2312
  background-color: color-mix(in oklab, var(--info) 20%, transparent);
@@ -2114,7 +2314,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2114
2314
  }
2115
2315
  }
2116
2316
  .dark\\:bg-input\\/30 {
2117
- &:is(.dark *) {
2317
+ &:is(.dark *, :host(.dark) *) {
2118
2318
  background-color: var(--input);
2119
2319
  @supports (color: color-mix(in lab, red, red)) {
2120
2320
  background-color: color-mix(in oklab, var(--input) 30%, transparent);
@@ -2122,7 +2322,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2122
2322
  }
2123
2323
  }
2124
2324
  .dark\\:bg-rose-400\\/10 {
2125
- &:is(.dark *) {
2325
+ &:is(.dark *, :host(.dark) *) {
2126
2326
  background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 10%, transparent);
2127
2327
  @supports (color: color-mix(in lab, red, red)) {
2128
2328
  background-color: color-mix(in oklab, var(--color-rose-400) 10%, transparent);
@@ -2130,7 +2330,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2130
2330
  }
2131
2331
  }
2132
2332
  .dark\\:bg-slate-400\\/10 {
2133
- &:is(.dark *) {
2333
+ &:is(.dark *, :host(.dark) *) {
2134
2334
  background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 10%, transparent);
2135
2335
  @supports (color: color-mix(in lab, red, red)) {
2136
2336
  background-color: color-mix(in oklab, var(--color-slate-400) 10%, transparent);
@@ -2138,7 +2338,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2138
2338
  }
2139
2339
  }
2140
2340
  .dark\\:bg-success\\/20 {
2141
- &:is(.dark *) {
2341
+ &:is(.dark *, :host(.dark) *) {
2142
2342
  background-color: var(--success);
2143
2343
  @supports (color: color-mix(in lab, red, red)) {
2144
2344
  background-color: color-mix(in oklab, var(--success) 20%, transparent);
@@ -2146,7 +2346,7 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2146
2346
  }
2147
2347
  }
2148
2348
  .dark\\:bg-violet-400\\/10 {
2149
- &:is(.dark *) {
2349
+ &:is(.dark *, :host(.dark) *) {
2150
2350
  background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 10%, transparent);
2151
2351
  @supports (color: color-mix(in lab, red, red)) {
2152
2352
  background-color: color-mix(in oklab, var(--color-violet-400) 10%, transparent);
@@ -2154,135 +2354,212 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2154
2354
  }
2155
2355
  }
2156
2356
  .dark\\:bg-warning\\/20 {
2157
- &:is(.dark *) {
2357
+ &:is(.dark *, :host(.dark) *) {
2158
2358
  background-color: var(--warning);
2159
2359
  @supports (color: color-mix(in lab, red, red)) {
2160
2360
  background-color: color-mix(in oklab, var(--warning) 20%, transparent);
2161
2361
  }
2162
2362
  }
2163
2363
  }
2164
- .dark\\:text-amber-300 {
2165
- &:is(.dark *) {
2166
- color: var(--color-amber-300);
2364
+ .dark\\:text-amber-400 {
2365
+ &:is(.dark *, :host(.dark) *) {
2366
+ color: var(--color-amber-400);
2367
+ }
2368
+ }
2369
+ .dark\\:text-amber-500 {
2370
+ &:is(.dark *, :host(.dark) *) {
2371
+ color: var(--color-amber-500);
2167
2372
  }
2168
2373
  }
2169
- .dark\\:text-blue-300 {
2170
- &:is(.dark *) {
2171
- color: var(--color-blue-300);
2374
+ .dark\\:text-blue-400 {
2375
+ &:is(.dark *, :host(.dark) *) {
2376
+ color: var(--color-blue-400);
2172
2377
  }
2173
2378
  }
2174
- .dark\\:text-cyan-300 {
2175
- &:is(.dark *) {
2176
- color: var(--color-cyan-300);
2379
+ .dark\\:text-cyan-400 {
2380
+ &:is(.dark *, :host(.dark) *) {
2381
+ color: var(--color-cyan-400);
2177
2382
  }
2178
2383
  }
2179
- .dark\\:text-emerald-300 {
2180
- &:is(.dark *) {
2181
- color: var(--color-emerald-300);
2384
+ .dark\\:text-emerald-400 {
2385
+ &:is(.dark *, :host(.dark) *) {
2386
+ color: var(--color-emerald-400);
2182
2387
  }
2183
2388
  }
2184
- .dark\\:text-fuchsia-300 {
2185
- &:is(.dark *) {
2186
- color: var(--color-fuchsia-300);
2389
+ .dark\\:text-fuchsia-400 {
2390
+ &:is(.dark *, :host(.dark) *) {
2391
+ color: var(--color-fuchsia-400);
2187
2392
  }
2188
2393
  }
2189
- .dark\\:text-rose-300 {
2190
- &:is(.dark *) {
2191
- color: var(--color-rose-300);
2394
+ .dark\\:text-rose-400 {
2395
+ &:is(.dark *, :host(.dark) *) {
2396
+ color: var(--color-rose-400);
2192
2397
  }
2193
2398
  }
2194
- .dark\\:text-slate-300 {
2195
- &:is(.dark *) {
2196
- color: var(--color-slate-300);
2399
+ .dark\\:text-slate-400 {
2400
+ &:is(.dark *, :host(.dark) *) {
2401
+ color: var(--color-slate-400);
2197
2402
  }
2198
2403
  }
2199
- .dark\\:text-violet-300 {
2200
- &:is(.dark *) {
2201
- color: var(--color-violet-300);
2404
+ .dark\\:text-violet-400 {
2405
+ &:is(.dark *, :host(.dark) *) {
2406
+ color: var(--color-violet-400);
2202
2407
  }
2203
2408
  }
2204
- .dark\\:group-data-hover\\:bg-amber-400\\/15 {
2205
- &:is(.dark *) {
2409
+ .dark\\:inset-ring-amber-400\\/20 {
2410
+ &:is(.dark *, :host(.dark) *) {
2411
+ --tw-inset-ring-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);
2412
+ @supports (color: color-mix(in lab, red, red)) {
2413
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);
2414
+ }
2415
+ }
2416
+ }
2417
+ .dark\\:inset-ring-blue-400\\/30 {
2418
+ &:is(.dark *, :host(.dark) *) {
2419
+ --tw-inset-ring-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 30%, transparent);
2420
+ @supports (color: color-mix(in lab, red, red)) {
2421
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-blue-400) 30%, transparent);
2422
+ }
2423
+ }
2424
+ }
2425
+ .dark\\:inset-ring-cyan-400\\/30 {
2426
+ &:is(.dark *, :host(.dark) *) {
2427
+ --tw-inset-ring-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 30%, transparent);
2428
+ @supports (color: color-mix(in lab, red, red)) {
2429
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-cyan-400) 30%, transparent);
2430
+ }
2431
+ }
2432
+ }
2433
+ .dark\\:inset-ring-emerald-500\\/20 {
2434
+ &:is(.dark *, :host(.dark) *) {
2435
+ --tw-inset-ring-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);
2436
+ @supports (color: color-mix(in lab, red, red)) {
2437
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-emerald-500) 20%, transparent);
2438
+ }
2439
+ }
2440
+ }
2441
+ .dark\\:inset-ring-fuchsia-400\\/20 {
2442
+ &:is(.dark *, :host(.dark) *) {
2443
+ --tw-inset-ring-color: color-mix(in srgb, oklch(74% 0.238 322.16) 20%, transparent);
2444
+ @supports (color: color-mix(in lab, red, red)) {
2445
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-fuchsia-400) 20%, transparent);
2446
+ }
2447
+ }
2448
+ }
2449
+ .dark\\:inset-ring-rose-400\\/20 {
2450
+ &:is(.dark *, :host(.dark) *) {
2451
+ --tw-inset-ring-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);
2452
+ @supports (color: color-mix(in lab, red, red)) {
2453
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);
2454
+ }
2455
+ }
2456
+ }
2457
+ .dark\\:inset-ring-slate-400\\/20 {
2458
+ &:is(.dark *, :host(.dark) *) {
2459
+ --tw-inset-ring-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 20%, transparent);
2460
+ @supports (color: color-mix(in lab, red, red)) {
2461
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-slate-400) 20%, transparent);
2462
+ }
2463
+ }
2464
+ }
2465
+ .dark\\:inset-ring-violet-400\\/30 {
2466
+ &:is(.dark *, :host(.dark) *) {
2467
+ --tw-inset-ring-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 30%, transparent);
2468
+ @supports (color: color-mix(in lab, red, red)) {
2469
+ --tw-inset-ring-color: color-mix(in oklab, var(--color-violet-400) 30%, transparent);
2470
+ }
2471
+ }
2472
+ }
2473
+ .dark\\:\\[--skeleton-highlight\\:--alpha\\(var\\(--color-white\\)\\/4\\%\\)\\] {
2474
+ &:is(.dark *, :host(.dark) *) {
2475
+ --skeleton-highlight: color-mix(in srgb, #fff 4%, transparent);
2476
+ @supports (color: color-mix(in lab, red, red)) {
2477
+ --skeleton-highlight: color-mix(in oklab, var(--color-white) 4%, transparent);
2478
+ }
2479
+ }
2480
+ }
2481
+ .dark\\:group-data-hover\\:bg-amber-400\\/20 {
2482
+ &:is(.dark *, :host(.dark) *) {
2206
2483
  &:is(:where(.group)[data-hover] *) {
2207
- background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 15%, transparent);
2484
+ background-color: color-mix(in srgb, oklch(82.8% 0.189 84.429) 20%, transparent);
2208
2485
  @supports (color: color-mix(in lab, red, red)) {
2209
- background-color: color-mix(in oklab, var(--color-amber-400) 15%, transparent);
2486
+ background-color: color-mix(in oklab, var(--color-amber-400) 20%, transparent);
2210
2487
  }
2211
2488
  }
2212
2489
  }
2213
2490
  }
2214
- .dark\\:group-data-hover\\:bg-blue-400\\/15 {
2215
- &:is(.dark *) {
2491
+ .dark\\:group-data-hover\\:bg-blue-400\\/20 {
2492
+ &:is(.dark *, :host(.dark) *) {
2216
2493
  &:is(:where(.group)[data-hover] *) {
2217
- background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 15%, transparent);
2494
+ background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 20%, transparent);
2218
2495
  @supports (color: color-mix(in lab, red, red)) {
2219
- background-color: color-mix(in oklab, var(--color-blue-400) 15%, transparent);
2496
+ background-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
2220
2497
  }
2221
2498
  }
2222
2499
  }
2223
2500
  }
2224
- .dark\\:group-data-hover\\:bg-cyan-400\\/15 {
2225
- &:is(.dark *) {
2501
+ .dark\\:group-data-hover\\:bg-cyan-400\\/20 {
2502
+ &:is(.dark *, :host(.dark) *) {
2226
2503
  &:is(:where(.group)[data-hover] *) {
2227
- background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 15%, transparent);
2504
+ background-color: color-mix(in srgb, oklch(78.9% 0.154 211.53) 20%, transparent);
2228
2505
  @supports (color: color-mix(in lab, red, red)) {
2229
- background-color: color-mix(in oklab, var(--color-cyan-400) 15%, transparent);
2506
+ background-color: color-mix(in oklab, var(--color-cyan-400) 20%, transparent);
2230
2507
  }
2231
2508
  }
2232
2509
  }
2233
2510
  }
2234
- .dark\\:group-data-hover\\:bg-emerald-400\\/15 {
2235
- &:is(.dark *) {
2511
+ .dark\\:group-data-hover\\:bg-emerald-400\\/20 {
2512
+ &:is(.dark *, :host(.dark) *) {
2236
2513
  &:is(:where(.group)[data-hover] *) {
2237
- background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 15%, transparent);
2514
+ background-color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 20%, transparent);
2238
2515
  @supports (color: color-mix(in lab, red, red)) {
2239
- background-color: color-mix(in oklab, var(--color-emerald-400) 15%, transparent);
2516
+ background-color: color-mix(in oklab, var(--color-emerald-400) 20%, transparent);
2240
2517
  }
2241
2518
  }
2242
2519
  }
2243
2520
  }
2244
- .dark\\:group-data-hover\\:bg-fuchsia-400\\/15 {
2245
- &:is(.dark *) {
2521
+ .dark\\:group-data-hover\\:bg-fuchsia-400\\/20 {
2522
+ &:is(.dark *, :host(.dark) *) {
2246
2523
  &:is(:where(.group)[data-hover] *) {
2247
- background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 15%, transparent);
2524
+ background-color: color-mix(in srgb, oklch(74% 0.238 322.16) 20%, transparent);
2248
2525
  @supports (color: color-mix(in lab, red, red)) {
2249
- background-color: color-mix(in oklab, var(--color-fuchsia-400) 15%, transparent);
2526
+ background-color: color-mix(in oklab, var(--color-fuchsia-400) 20%, transparent);
2250
2527
  }
2251
2528
  }
2252
2529
  }
2253
2530
  }
2254
- .dark\\:group-data-hover\\:bg-rose-400\\/15 {
2255
- &:is(.dark *) {
2531
+ .dark\\:group-data-hover\\:bg-rose-400\\/20 {
2532
+ &:is(.dark *, :host(.dark) *) {
2256
2533
  &:is(:where(.group)[data-hover] *) {
2257
- background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 15%, transparent);
2534
+ background-color: color-mix(in srgb, oklch(71.2% 0.194 13.428) 20%, transparent);
2258
2535
  @supports (color: color-mix(in lab, red, red)) {
2259
- background-color: color-mix(in oklab, var(--color-rose-400) 15%, transparent);
2536
+ background-color: color-mix(in oklab, var(--color-rose-400) 20%, transparent);
2260
2537
  }
2261
2538
  }
2262
2539
  }
2263
2540
  }
2264
- .dark\\:group-data-hover\\:bg-slate-400\\/15 {
2265
- &:is(.dark *) {
2541
+ .dark\\:group-data-hover\\:bg-slate-400\\/20 {
2542
+ &:is(.dark *, :host(.dark) *) {
2266
2543
  &:is(:where(.group)[data-hover] *) {
2267
- background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 15%, transparent);
2544
+ background-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 20%, transparent);
2268
2545
  @supports (color: color-mix(in lab, red, red)) {
2269
- background-color: color-mix(in oklab, var(--color-slate-400) 15%, transparent);
2546
+ background-color: color-mix(in oklab, var(--color-slate-400) 20%, transparent);
2270
2547
  }
2271
2548
  }
2272
2549
  }
2273
2550
  }
2274
- .dark\\:group-data-hover\\:bg-violet-400\\/15 {
2275
- &:is(.dark *) {
2551
+ .dark\\:group-data-hover\\:bg-violet-400\\/20 {
2552
+ &:is(.dark *, :host(.dark) *) {
2276
2553
  &:is(:where(.group)[data-hover] *) {
2277
- background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 15%, transparent);
2554
+ background-color: color-mix(in srgb, oklch(70.2% 0.183 293.541) 20%, transparent);
2278
2555
  @supports (color: color-mix(in lab, red, red)) {
2279
- background-color: color-mix(in oklab, var(--color-violet-400) 15%, transparent);
2556
+ background-color: color-mix(in oklab, var(--color-violet-400) 20%, transparent);
2280
2557
  }
2281
2558
  }
2282
2559
  }
2283
2560
  }
2284
2561
  .dark\\:before\\:shadow-\\[0_-1px_--theme\\(--color-white\\/6\\%\\)\\] {
2285
- &:is(.dark *) {
2562
+ &:is(.dark *, :host(.dark) *) {
2286
2563
  &::before {
2287
2564
  content: var(--tw-content);
2288
2565
  --tw-shadow: 0 -1px var(--tw-shadow-color, color-mix(in srgb, #fff 6%, transparent));
@@ -2320,6 +2597,38 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2320
2597
  height: calc(var(--spacing) * 4);
2321
2598
  }
2322
2599
  }
2600
+ .\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4\\.5 {
2601
+ & svg:not([class*='size-']) {
2602
+ width: calc(var(--spacing) * 4.5);
2603
+ height: calc(var(--spacing) * 4.5);
2604
+ }
2605
+ }
2606
+ .\\[\\&\\>svg\\]\\:pointer-events-none {
2607
+ &>svg {
2608
+ pointer-events: none;
2609
+ }
2610
+ }
2611
+ .\\[\\&\\>svg\\]\\:-mx-0\\.5 {
2612
+ &>svg {
2613
+ margin-inline: calc(var(--spacing) * -0.5);
2614
+ }
2615
+ }
2616
+ .\\[\\&\\>svg\\]\\:shrink-0 {
2617
+ &>svg {
2618
+ flex-shrink: 0;
2619
+ }
2620
+ }
2621
+ .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'opacity-\\'\\]\\)\\]\\:opacity-80 {
2622
+ &>svg:not([class*='opacity-']) {
2623
+ opacity: 80%;
2624
+ }
2625
+ }
2626
+ .\\[\\&\\>svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 {
2627
+ &>svg:not([class*='size-']) {
2628
+ width: calc(var(--spacing) * 4);
2629
+ height: calc(var(--spacing) * 4);
2630
+ }
2631
+ }
2323
2632
  }
2324
2633
  @layer base {
2325
2634
  *, ::after, ::before {
@@ -2327,6 +2636,30 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2327
2636
  }
2328
2637
  }
2329
2638
  @layer components {
2639
+ [data-highlighted] {
2640
+ background-color: var(--accent);
2641
+ color: var(--accent-foreground);
2642
+ transition: background-color 150ms ease-out;
2643
+ }
2644
+ [data-kbd-nav] [data-highlighted]:not([data-kbd-highlighted]) {
2645
+ background-color: transparent;
2646
+ color: inherit;
2647
+ }
2648
+ [data-kbd-highlighted] {
2649
+ background-color: var(--accent);
2650
+ @supports (color: color-mix(in lab, red, red)) {
2651
+ background-color: color-mix(in srgb, var(--accent) 200%, transparent);
2652
+ }
2653
+ color: var(--accent-foreground);
2654
+ }
2655
+ .uidex-item-interactive:hover {
2656
+ background-color: var(--accent);
2657
+ color: var(--accent-foreground);
2658
+ }
2659
+ [data-kbd-nav] .uidex-item-interactive:hover:not(:focus):not(:focus-within) {
2660
+ background-color: transparent;
2661
+ color: inherit;
2662
+ }
2330
2663
  .uidex-scrollbar {
2331
2664
  scrollbar-width: thin;
2332
2665
  scrollbar-color: var(--muted-foreground) transparent;
@@ -2360,6 +2693,11 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2360
2693
  background: transparent;
2361
2694
  }
2362
2695
  }
2696
+ @keyframes skeleton {
2697
+ to {
2698
+ background-position: -200% 0;
2699
+ }
2700
+ }
2363
2701
  :where(:host, :root) {
2364
2702
  --background: color-mix(
2365
2703
  in srgb,
@@ -2495,6 +2833,36 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2495
2833
  --warning: var(--color-amber-500);
2496
2834
  --warning-foreground: var(--color-amber-700);
2497
2835
  }
2836
+ @property --tw-translate-x {
2837
+ syntax: "*";
2838
+ inherits: false;
2839
+ initial-value: 0;
2840
+ }
2841
+ @property --tw-translate-y {
2842
+ syntax: "*";
2843
+ inherits: false;
2844
+ initial-value: 0;
2845
+ }
2846
+ @property --tw-translate-z {
2847
+ syntax: "*";
2848
+ inherits: false;
2849
+ initial-value: 0;
2850
+ }
2851
+ @property --tw-scale-x {
2852
+ syntax: "*";
2853
+ inherits: false;
2854
+ initial-value: 1;
2855
+ }
2856
+ @property --tw-scale-y {
2857
+ syntax: "*";
2858
+ inherits: false;
2859
+ initial-value: 1;
2860
+ }
2861
+ @property --tw-scale-z {
2862
+ syntax: "*";
2863
+ inherits: false;
2864
+ initial-value: 1;
2865
+ }
2498
2866
  @property --tw-rotate-x {
2499
2867
  syntax: "*";
2500
2868
  inherits: false;
@@ -2532,6 +2900,26 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2532
2900
  syntax: "*";
2533
2901
  inherits: false;
2534
2902
  }
2903
+ @property --tw-ordinal {
2904
+ syntax: "*";
2905
+ inherits: false;
2906
+ }
2907
+ @property --tw-slashed-zero {
2908
+ syntax: "*";
2909
+ inherits: false;
2910
+ }
2911
+ @property --tw-numeric-figure {
2912
+ syntax: "*";
2913
+ inherits: false;
2914
+ }
2915
+ @property --tw-numeric-spacing {
2916
+ syntax: "*";
2917
+ inherits: false;
2918
+ }
2919
+ @property --tw-numeric-fraction {
2920
+ syntax: "*";
2921
+ inherits: false;
2922
+ }
2535
2923
  @property --tw-shadow {
2536
2924
  syntax: "*";
2537
2925
  inherits: false;
@@ -2700,9 +3088,20 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2700
3088
  initial-value: "";
2701
3089
  inherits: false;
2702
3090
  }
3091
+ @keyframes spin {
3092
+ to {
3093
+ transform: rotate(360deg);
3094
+ }
3095
+ }
2703
3096
  @layer properties {
2704
3097
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2705
3098
  *, ::before, ::after, ::backdrop {
3099
+ --tw-translate-x: 0;
3100
+ --tw-translate-y: 0;
3101
+ --tw-translate-z: 0;
3102
+ --tw-scale-x: 1;
3103
+ --tw-scale-y: 1;
3104
+ --tw-scale-z: 1;
2706
3105
  --tw-rotate-x: initial;
2707
3106
  --tw-rotate-y: initial;
2708
3107
  --tw-rotate-z: initial;
@@ -2712,6 +3111,11 @@ var tailwind_built_default = `/*! tailwindcss v4.2.2 | MIT License | https://tai
2712
3111
  --tw-leading: initial;
2713
3112
  --tw-font-weight: initial;
2714
3113
  --tw-tracking: initial;
3114
+ --tw-ordinal: initial;
3115
+ --tw-slashed-zero: initial;
3116
+ --tw-numeric-figure: initial;
3117
+ --tw-numeric-spacing: initial;
3118
+ --tw-numeric-fraction: initial;
2715
3119
  --tw-shadow: 0 0 #0000;
2716
3120
  --tw-shadow-color: initial;
2717
3121
  --tw-shadow-alpha: 100%;
@@ -2838,22 +3242,22 @@ var TOOLTIP_OFFSET = 16;
2838
3242
  var ARROW_SIZE = 5;
2839
3243
  function createCursorTooltip(deps) {
2840
3244
  const { container } = deps;
2841
- const el = document.createElement("div");
2842
- el.setAttribute("data-uidex-cursor-tooltip", "");
2843
- el.style.position = "fixed";
2844
- el.style.pointerEvents = "none";
2845
- el.style.zIndex = String(Z_CHROME);
2846
- el.style.padding = "4px 8px";
2847
- el.style.fontSize = "12px";
2848
- el.style.fontFamily = "ui-sans-serif, system-ui, sans-serif";
2849
- el.style.borderRadius = "6px";
2850
- el.style.background = DEFAULT_TOOLTIP_COLOR;
2851
- el.style.color = "#0a0a0a";
2852
- el.style.display = "none";
2853
- el.style.whiteSpace = "nowrap";
2854
- el.style.transform = "translate(-50%, 0)";
2855
- el.style.alignItems = "center";
2856
- el.style.gap = "6px";
3245
+ const el2 = document.createElement("div");
3246
+ el2.setAttribute("data-uidex-cursor-tooltip", "");
3247
+ el2.style.position = "fixed";
3248
+ el2.style.pointerEvents = "none";
3249
+ el2.style.zIndex = String(Z_CHROME);
3250
+ el2.style.padding = "4px 8px";
3251
+ el2.style.fontSize = "12px";
3252
+ el2.style.fontFamily = "ui-sans-serif, system-ui, sans-serif";
3253
+ el2.style.borderRadius = "6px";
3254
+ el2.style.background = DEFAULT_TOOLTIP_COLOR;
3255
+ el2.style.color = "#0a0a0a";
3256
+ el2.style.display = "none";
3257
+ el2.style.whiteSpace = "nowrap";
3258
+ el2.style.transform = "translate(-50%, 0)";
3259
+ el2.style.alignItems = "center";
3260
+ el2.style.gap = "6px";
2857
3261
  const arrow = document.createElement("div");
2858
3262
  arrow.setAttribute("data-uidex-cursor-tooltip-arrow", "");
2859
3263
  arrow.style.position = "absolute";
@@ -2865,18 +3269,18 @@ function createCursorTooltip(deps) {
2865
3269
  arrow.style.borderLeft = `${ARROW_SIZE}px solid transparent`;
2866
3270
  arrow.style.borderRight = `${ARROW_SIZE}px solid transparent`;
2867
3271
  arrow.style.borderBottom = `${ARROW_SIZE}px solid ${DEFAULT_TOOLTIP_COLOR}`;
2868
- el.appendChild(arrow);
3272
+ el2.appendChild(arrow);
2869
3273
  const body = document.createElement("span");
2870
3274
  body.setAttribute("data-uidex-cursor-tooltip-body", "");
2871
3275
  body.style.display = "inline-flex";
2872
3276
  body.style.alignItems = "center";
2873
3277
  body.style.gap = "6px";
2874
- el.appendChild(body);
2875
- container.appendChild(el);
3278
+ el2.appendChild(body);
3279
+ container.appendChild(el2);
2876
3280
  let currentContent = null;
2877
3281
  let currentCursor = null;
2878
3282
  const applyColor = (color) => {
2879
- el.style.background = color;
3283
+ el2.style.background = color;
2880
3284
  arrow.style.borderBottom = `${ARROW_SIZE}px solid ${color}`;
2881
3285
  };
2882
3286
  const renderBody = () => {
@@ -2900,26 +3304,28 @@ function createCursorTooltip(deps) {
2900
3304
  }
2901
3305
  const label = displayName(entity, node);
2902
3306
  body.append(document.createTextNode(label));
2903
- const rawId = entity.kind === "route" ? entity.path : entity.id;
2904
- if (rawId && rawId !== label) {
2905
- const subordinate = document.createElement("span");
2906
- subordinate.setAttribute("data-uidex-cursor-tooltip-id", "");
2907
- subordinate.style.opacity = "0.65";
2908
- subordinate.style.fontFamily = "ui-monospace, SFMono-Regular, Menlo, monospace";
2909
- subordinate.style.fontSize = "11px";
2910
- subordinate.textContent = rawId;
2911
- body.append(subordinate);
3307
+ if (currentContent.layer) {
3308
+ const counter = document.createElement("span");
3309
+ counter.setAttribute("data-uidex-cursor-tooltip-layer", "");
3310
+ counter.style.fontFamily = "ui-monospace, SFMono-Regular, Menlo, monospace";
3311
+ counter.style.fontSize = "10px";
3312
+ counter.style.lineHeight = "1";
3313
+ counter.style.padding = "2px 5px";
3314
+ counter.style.borderRadius = "4px";
3315
+ counter.style.background = "rgba(0,0,0,0.18)";
3316
+ counter.textContent = `${currentContent.layer.index + 1}/${currentContent.layer.total}`;
3317
+ body.append(counter);
2912
3318
  }
2913
3319
  };
2914
3320
  const render = () => {
2915
3321
  if (!currentContent || !currentCursor) {
2916
- el.style.display = "none";
3322
+ el2.style.display = "none";
2917
3323
  return;
2918
3324
  }
2919
3325
  renderBody();
2920
- el.style.display = "inline-flex";
2921
- el.style.left = `${currentCursor.x}px`;
2922
- el.style.top = `${currentCursor.y + TOOLTIP_OFFSET}px`;
3326
+ el2.style.display = "inline-flex";
3327
+ el2.style.left = `${currentCursor.x}px`;
3328
+ el2.style.top = `${currentCursor.y + TOOLTIP_OFFSET}px`;
2923
3329
  };
2924
3330
  return {
2925
3331
  update(content, cursor) {
@@ -2928,7 +3334,7 @@ function createCursorTooltip(deps) {
2928
3334
  render();
2929
3335
  },
2930
3336
  destroy() {
2931
- el.remove();
3337
+ el2.remove();
2932
3338
  currentContent = null;
2933
3339
  currentCursor = null;
2934
3340
  }
@@ -2943,56 +3349,79 @@ function entityForRef(ref, registry) {
2943
3349
  }
2944
3350
  if (ref.kind === "route") return { kind: "route", path: ref.id, page: ref.id };
2945
3351
  if (ref.kind === "flow") {
2946
- return { kind: "flow", id: ref.id, loc: { file: "" }, touches: [] };
3352
+ return {
3353
+ kind: "flow",
3354
+ id: ref.id,
3355
+ loc: { file: "" },
3356
+ touches: [],
3357
+ steps: []
3358
+ };
2947
3359
  }
2948
3360
  return { kind: ref.kind, id: ref.id };
2949
3361
  }
2950
- function defaultResolveMatch(target, registry) {
2951
- if (target.closest(SURFACE_IGNORE_SELECTOR)) return null;
3362
+ function defaultResolveAllMatches(target, registry) {
3363
+ if (target.closest(SURFACE_IGNORE_SELECTOR)) return [];
3364
+ const matches = [];
3365
+ const seen = /* @__PURE__ */ new Set();
2952
3366
  let node = target;
2953
3367
  while (node) {
2954
3368
  if (node instanceof HTMLElement) {
2955
3369
  for (const [attr, kind] of UIDEX_ATTR_TO_KIND) {
2956
3370
  const id = node.getAttribute(attr);
2957
3371
  if (id) {
2958
- const ref = { kind, id };
2959
- const entity = entityForRef(ref, registry);
2960
- return {
2961
- element: node,
2962
- ref,
2963
- entity,
2964
- label: displayName(entity, node)
2965
- };
3372
+ const key = `${kind}:${id}`;
3373
+ if (!seen.has(key)) {
3374
+ seen.add(key);
3375
+ const ref = { kind, id };
3376
+ const entity = entityForRef(ref, registry);
3377
+ matches.push({
3378
+ element: node,
3379
+ ref,
3380
+ entity,
3381
+ label: displayName(entity, node)
3382
+ });
3383
+ }
2966
3384
  }
2967
3385
  }
2968
3386
  }
2969
3387
  node = node.parentElement;
2970
3388
  }
2971
- return null;
3389
+ return matches;
2972
3390
  }
2973
3391
  function createInspector(options) {
2974
3392
  const {
2975
3393
  session,
2976
3394
  registry,
2977
- resolve = (target) => defaultResolveMatch(target, registry),
3395
+ resolveAll = (target) => defaultResolveAllMatches(target, registry),
2978
3396
  onHover,
2979
- onSelect
3397
+ onSelect,
3398
+ onCycle
2980
3399
  } = options;
2981
3400
  let mounted = false;
2982
3401
  let currentEl = null;
2983
3402
  let cursorStyleEl = null;
3403
+ let stack = [];
3404
+ let layerIndex = 0;
3405
+ let lastCursor = { x: 0, y: 0 };
3406
+ const makeStack = () => stack.length > 0 ? { matches: stack, index: layerIndex, current: stack[layerIndex] } : null;
2984
3407
  const onMouseMove = (e) => {
2985
3408
  if (!(e.target instanceof Element)) return;
2986
- const match = resolve(e.target);
3409
+ const matches = resolveAll(e.target);
2987
3410
  const cursor = { x: e.clientX, y: e.clientY };
2988
- if (match) {
2989
- if (match.element !== currentEl) {
2990
- currentEl = match.element;
2991
- session.getState().actions.hover(match.ref);
3411
+ lastCursor = cursor;
3412
+ const topEl = matches.length > 0 ? matches[0].element : null;
3413
+ if (topEl) {
3414
+ if (topEl !== currentEl) {
3415
+ currentEl = topEl;
3416
+ stack = matches;
3417
+ layerIndex = 0;
3418
+ session.getState().actions.hover(stack[0].ref);
2992
3419
  }
2993
- onHover?.(match, cursor);
3420
+ onHover?.(makeStack(), cursor);
2994
3421
  } else if (currentEl) {
2995
3422
  currentEl = null;
3423
+ stack = [];
3424
+ layerIndex = 0;
2996
3425
  session.getState().actions.hover(null);
2997
3426
  onHover?.(null, cursor);
2998
3427
  }
@@ -3000,13 +3429,22 @@ function createInspector(options) {
3000
3429
  const onClick = (e) => {
3001
3430
  if (!(e.target instanceof Element)) return;
3002
3431
  if (e.target.closest(SURFACE_IGNORE_SELECTOR)) return;
3003
- const match = resolve(e.target);
3004
- if (!match) return;
3432
+ if (stack.length === 0) return;
3005
3433
  e.preventDefault();
3006
3434
  e.stopPropagation();
3435
+ const match = stack[layerIndex];
3007
3436
  session.getState().actions.select(match.ref);
3008
3437
  onSelect?.(match, { x: e.clientX, y: e.clientY });
3009
3438
  };
3439
+ const onContextMenu = (e) => {
3440
+ if (stack.length <= 1) return;
3441
+ e.preventDefault();
3442
+ e.stopPropagation();
3443
+ layerIndex = (layerIndex + 1) % stack.length;
3444
+ const match = stack[layerIndex];
3445
+ session.getState().actions.hover(match.ref);
3446
+ onCycle?.(makeStack(), lastCursor);
3447
+ };
3010
3448
  return {
3011
3449
  mount() {
3012
3450
  if (mounted) return;
@@ -3019,17 +3457,21 @@ function createInspector(options) {
3019
3457
  }
3020
3458
  document.addEventListener("mousemove", onMouseMove);
3021
3459
  document.addEventListener("click", onClick, true);
3460
+ document.addEventListener("contextmenu", onContextMenu, true);
3022
3461
  },
3023
3462
  destroy() {
3024
3463
  if (!mounted) return;
3025
3464
  mounted = false;
3026
3465
  currentEl = null;
3466
+ stack = [];
3467
+ layerIndex = 0;
3027
3468
  if (cursorStyleEl) {
3028
3469
  cursorStyleEl.remove();
3029
3470
  cursorStyleEl = null;
3030
3471
  }
3031
3472
  document.removeEventListener("mousemove", onMouseMove);
3032
3473
  document.removeEventListener("click", onClick, true);
3474
+ document.removeEventListener("contextmenu", onContextMenu, true);
3033
3475
  session.getState().actions.hover(null);
3034
3476
  onHover?.(null, null);
3035
3477
  }
@@ -3037,6 +3479,66 @@ function createInspector(options) {
3037
3479
  }
3038
3480
 
3039
3481
  // src/surface/menu-bar.ts
3482
+ var import_lucide3 = require("lucide");
3483
+
3484
+ // src/internal/cn.ts
3485
+ var import_clsx = require("clsx");
3486
+ var import_tailwind_merge = require("tailwind-merge");
3487
+ function cn(...inputs) {
3488
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
3489
+ }
3490
+
3491
+ // src/internal/el.ts
3492
+ function el(tag, options = {}, children = []) {
3493
+ const node = document.createElement(tag);
3494
+ if (options.class) node.className = cn(options.class);
3495
+ if (options.attrs) {
3496
+ for (const [key, value] of Object.entries(options.attrs)) {
3497
+ if (value === void 0 || value === null || value === false) continue;
3498
+ if (value === true) {
3499
+ node.setAttribute(key, "");
3500
+ } else {
3501
+ node.setAttribute(key, String(value));
3502
+ }
3503
+ }
3504
+ }
3505
+ if (options.dataset) {
3506
+ for (const [key, value] of Object.entries(options.dataset)) {
3507
+ node.dataset[key] = value;
3508
+ }
3509
+ }
3510
+ if (options.style) {
3511
+ Object.assign(node.style, options.style);
3512
+ }
3513
+ if (options.text !== void 0) {
3514
+ node.textContent = options.text;
3515
+ }
3516
+ const list = Array.isArray(children) ? children : [children];
3517
+ for (const child of list) {
3518
+ if (child === null || child === void 0 || child === false) continue;
3519
+ node.append(
3520
+ typeof child === "string" ? document.createTextNode(child) : child
3521
+ );
3522
+ }
3523
+ return node;
3524
+ }
3525
+
3526
+ // src/surface/keys.ts
3527
+ var INSPECT_SHORTCUT = { key: "i" };
3528
+ function formatShortcutLabel(shortcut) {
3529
+ const parts = [];
3530
+ if (shortcut.mod !== false) parts.push("\u2318");
3531
+ if (shortcut.shift) parts.push("\u21E7");
3532
+ parts.push(shortcut.key.toUpperCase());
3533
+ return parts.join("");
3534
+ }
3535
+
3536
+ // src/surface/menu-bar.ts
3537
+ var ROOT_CLASS = "inline-flex items-center gap-1.5 rounded-xl border border-border bg-popover p-1.5 font-sans text-xs text-popover-foreground shadow-lg/5 select-none not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-xl)-1px)] before:bg-muted/72 before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]";
3538
+ var BUTTON_CLASS = "relative z-1 inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";
3539
+ var BUTTON_ACTIVE_CLASS = "border-info/40 bg-info/15 text-info-foreground hover:bg-info/20";
3540
+ var TITLE_CLASS = "relative z-1 whitespace-nowrap px-1.5 text-xs font-semibold tracking-tight text-foreground";
3541
+ var BUTTON_HIGHLIGHT_ACTIVE_CLASS = "border-amber-500/40 bg-amber-500/15 text-amber-600 hover:bg-amber-500/20 dark:text-amber-400";
3040
3542
  function createMenuBar(options) {
3041
3543
  const {
3042
3544
  container,
@@ -3044,80 +3546,84 @@ function createMenuBar(options) {
3044
3546
  initialCorner = "bottom-right",
3045
3547
  appTitle
3046
3548
  } = options;
3047
- const root = document.createElement("div");
3048
- root.setAttribute("data-uidex-menubar", "");
3049
- root.setAttribute("role", "toolbar");
3050
- Object.assign(root.style, {
3051
- position: "fixed",
3052
- zIndex: String(Z_CHROME),
3053
- pointerEvents: "auto",
3054
- display: "inline-flex",
3055
- alignItems: "center",
3056
- gap: "6px",
3057
- padding: "6px",
3058
- borderRadius: "8px",
3059
- background: "rgba(20, 20, 20, 0.92)",
3060
- color: "#f5f5f5",
3061
- fontFamily: "ui-sans-serif, system-ui, sans-serif",
3062
- fontSize: "12px",
3063
- userSelect: "none",
3064
- cursor: "grab"
3549
+ const root = el("div", {
3550
+ class: ROOT_CLASS,
3551
+ attrs: {
3552
+ "data-uidex-menubar": "",
3553
+ role: "toolbar"
3554
+ },
3555
+ style: {
3556
+ position: "fixed",
3557
+ zIndex: String(Z_CHROME),
3558
+ pointerEvents: "auto",
3559
+ cursor: "grab"
3560
+ }
3065
3561
  });
3066
- const buttonStyle = {
3067
- background: "rgba(255,255,255,0.08)",
3068
- color: "inherit",
3069
- border: "1px solid rgba(255,255,255,0.12)",
3070
- borderRadius: "6px",
3071
- padding: "4px 8px",
3072
- font: "inherit",
3073
- cursor: "pointer"
3074
- };
3075
- const buttonActiveStyle = {
3076
- background: "rgba(120, 180, 255, 0.28)",
3077
- borderColor: "rgba(120, 180, 255, 0.55)"
3078
- };
3562
+ let titleEl = null;
3079
3563
  if (appTitle) {
3080
- const titleEl = document.createElement("span");
3081
- titleEl.setAttribute("data-uidex-menubar-title", "");
3082
- titleEl.textContent = appTitle;
3083
- Object.assign(titleEl.style, {
3084
- padding: "0 6px 0 4px",
3085
- fontWeight: "600",
3086
- letterSpacing: "0.01em",
3087
- whiteSpace: "nowrap"
3564
+ titleEl = el("span", {
3565
+ class: TITLE_CLASS,
3566
+ attrs: { "data-uidex-menubar-title": "" },
3567
+ text: appTitle
3088
3568
  });
3089
3569
  root.appendChild(titleEl);
3090
3570
  }
3091
- const highlightDot = document.createElement("span");
3092
- highlightDot.setAttribute("data-uidex-menubar-highlight-indicator", "");
3093
- highlightDot.setAttribute("aria-label", "Element highlighted (press Esc)");
3094
- highlightDot.setAttribute("role", "status");
3095
- Object.assign(highlightDot.style, {
3096
- display: "none",
3097
- width: "8px",
3098
- height: "8px",
3099
- borderRadius: "50%",
3100
- margin: "0 2px 0 4px",
3101
- background: "rgba(120, 180, 255, 0.85)",
3102
- boxShadow: "0 0 6px rgba(120, 180, 255, 0.75)",
3103
- flex: "0 0 auto"
3571
+ const highlightIcon = (0, import_lucide3.createElement)(import_lucide3.Highlighter);
3572
+ highlightIcon.setAttribute("class", "size-3.5");
3573
+ highlightIcon.setAttribute("aria-hidden", "true");
3574
+ const highlightBtn = el(
3575
+ "button",
3576
+ {
3577
+ class: BUTTON_CLASS,
3578
+ attrs: {
3579
+ type: "button",
3580
+ "data-uidex-menubar-highlight": "",
3581
+ "aria-label": "Dismiss highlight"
3582
+ }
3583
+ },
3584
+ highlightIcon
3585
+ );
3586
+ highlightBtn.hidden = true;
3587
+ highlightBtn.addEventListener("click", (e) => {
3588
+ e.stopPropagation();
3589
+ session.send({ type: "UNPIN" });
3104
3590
  });
3105
- root.appendChild(highlightDot);
3106
- const inspectBtn = document.createElement("button");
3107
- inspectBtn.type = "button";
3108
- inspectBtn.setAttribute("data-uidex-menubar-inspect", "");
3109
- inspectBtn.textContent = "Inspect";
3110
- Object.assign(inspectBtn.style, buttonStyle);
3591
+ root.appendChild(highlightBtn);
3592
+ const inspectIcon = (0, import_lucide3.createElement)(import_lucide3.MousePointerClick);
3593
+ inspectIcon.setAttribute("class", "size-3.5");
3594
+ inspectIcon.setAttribute("aria-hidden", "true");
3595
+ const inspectBtn = el(
3596
+ "button",
3597
+ {
3598
+ class: BUTTON_CLASS,
3599
+ attrs: {
3600
+ type: "button",
3601
+ "data-uidex-menubar-inspect": "",
3602
+ "aria-label": `Inspect (${formatShortcutLabel(INSPECT_SHORTCUT)})`
3603
+ }
3604
+ },
3605
+ inspectIcon
3606
+ );
3111
3607
  inspectBtn.addEventListener("click", (e) => {
3112
3608
  e.stopPropagation();
3113
3609
  session.send({ type: "TOGGLE_INSPECTOR" });
3114
3610
  });
3115
3611
  root.appendChild(inspectBtn);
3116
- const paletteBtn = document.createElement("button");
3117
- paletteBtn.type = "button";
3118
- paletteBtn.setAttribute("data-uidex-menubar-palette", "");
3119
- paletteBtn.textContent = "\u2318K";
3120
- Object.assign(paletteBtn.style, buttonStyle);
3612
+ const paletteIcon = (0, import_lucide3.createElement)(import_lucide3.Command);
3613
+ paletteIcon.setAttribute("class", "size-3.5");
3614
+ paletteIcon.setAttribute("aria-hidden", "true");
3615
+ const paletteBtn = el(
3616
+ "button",
3617
+ {
3618
+ class: BUTTON_CLASS,
3619
+ attrs: {
3620
+ type: "button",
3621
+ "data-uidex-menubar-palette": "",
3622
+ "aria-label": "Command palette"
3623
+ }
3624
+ },
3625
+ paletteIcon
3626
+ );
3121
3627
  paletteBtn.addEventListener("click", (e) => {
3122
3628
  e.stopPropagation();
3123
3629
  if (session.getState().stack.length > 0) {
@@ -3130,13 +3636,14 @@ function createMenuBar(options) {
3130
3636
  container.appendChild(root);
3131
3637
  const syncButtonStates = () => {
3132
3638
  const state = session.getState();
3639
+ const inspectActive = state.inspectorActive;
3133
3640
  inspectBtn.setAttribute(
3134
3641
  "data-uidex-menubar-inspect-active",
3135
- state.inspectorActive ? "true" : "false"
3642
+ inspectActive ? "true" : "false"
3136
3643
  );
3137
- Object.assign(
3138
- inspectBtn.style,
3139
- state.inspectorActive ? buttonActiveStyle : buttonStyle
3644
+ inspectBtn.className = cn(
3645
+ BUTTON_CLASS,
3646
+ inspectActive && BUTTON_ACTIVE_CLASS
3140
3647
  );
3141
3648
  const top = state.stack[state.stack.length - 1] ?? null;
3142
3649
  const paletteOpen = top?.id === "command-palette";
@@ -3144,16 +3651,17 @@ function createMenuBar(options) {
3144
3651
  "data-uidex-menubar-palette-active",
3145
3652
  paletteOpen ? "true" : "false"
3146
3653
  );
3147
- Object.assign(
3148
- paletteBtn.style,
3149
- paletteOpen ? buttonActiveStyle : buttonStyle
3150
- );
3654
+ paletteBtn.className = cn(BUTTON_CLASS, paletteOpen && BUTTON_ACTIVE_CLASS);
3151
3655
  const highlightActive = state.pinnedHighlight !== null;
3152
- highlightDot.setAttribute(
3656
+ highlightBtn.setAttribute(
3153
3657
  "data-uidex-menubar-highlight-active",
3154
3658
  highlightActive ? "true" : "false"
3155
3659
  );
3156
- highlightDot.style.display = highlightActive ? "inline-block" : "none";
3660
+ highlightBtn.className = cn(
3661
+ BUTTON_CLASS,
3662
+ highlightActive && BUTTON_HIGHLIGHT_ACTIVE_CLASS
3663
+ );
3664
+ highlightBtn.hidden = !highlightActive;
3157
3665
  };
3158
3666
  syncButtonStates();
3159
3667
  const unsubscribeSession = session.subscribe(syncButtonStates);
@@ -3237,13 +3745,28 @@ function createMenuBar(options) {
3237
3745
  var DEFAULT_COLOR = "#34d399";
3238
3746
  var DEFAULT_BORDER_WIDTH = 2;
3239
3747
  var DEFAULT_FILL_OPACITY = 0.08;
3748
+ var BACKDROP_OPACITY = 0.45;
3240
3749
  function createOverlay(deps) {
3241
3750
  const { container } = deps;
3751
+ const backdrop = document.createElement("div");
3752
+ backdrop.setAttribute("data-uidex-overlay-backdrop", "");
3753
+ backdrop.style.position = "fixed";
3754
+ backdrop.style.inset = "0";
3755
+ backdrop.style.zIndex = String(Z_OVERLAY);
3756
+ backdrop.style.backgroundColor = `rgba(0, 0, 0, ${BACKDROP_OPACITY})`;
3757
+ backdrop.style.display = "none";
3758
+ backdrop.style.pointerEvents = "auto";
3759
+ backdrop.style.cursor = "default";
3760
+ backdrop.addEventListener("click", (e) => {
3761
+ e.stopPropagation();
3762
+ overlay.onDismiss?.();
3763
+ });
3764
+ container.appendChild(backdrop);
3242
3765
  const box = document.createElement("div");
3243
3766
  box.setAttribute("data-uidex-overlay", "");
3244
3767
  box.style.position = "fixed";
3245
3768
  box.style.pointerEvents = "none";
3246
- box.style.zIndex = String(Z_OVERLAY);
3769
+ box.style.zIndex = String(Z_OVERLAY + 1);
3247
3770
  box.style.boxSizing = "border-box";
3248
3771
  box.style.display = "none";
3249
3772
  const label = document.createElement("div");
@@ -3267,7 +3790,8 @@ function createOverlay(deps) {
3267
3790
  padding: 0,
3268
3791
  borderStyle: "solid",
3269
3792
  borderWidth: DEFAULT_BORDER_WIDTH,
3270
- fillOpacity: DEFAULT_FILL_OPACITY
3793
+ fillOpacity: DEFAULT_FILL_OPACITY,
3794
+ backdrop: false
3271
3795
  };
3272
3796
  let rafId = null;
3273
3797
  let attached = false;
@@ -3311,16 +3835,26 @@ function createOverlay(deps) {
3311
3835
  if (!target) return;
3312
3836
  const rect = target.getBoundingClientRect();
3313
3837
  const pad = opts.padding;
3314
- box.style.top = `${rect.top - pad}px`;
3315
- box.style.left = `${rect.left - pad}px`;
3316
- box.style.width = `${rect.width + pad * 2}px`;
3317
- box.style.height = `${rect.height + pad * 2}px`;
3838
+ const top = rect.top - pad;
3839
+ const left = rect.left - pad;
3840
+ const w = rect.width + pad * 2;
3841
+ const h = rect.height + pad * 2;
3842
+ box.style.top = `${top}px`;
3843
+ box.style.left = `${left}px`;
3844
+ box.style.width = `${w}px`;
3845
+ box.style.height = `${h}px`;
3846
+ if (opts.backdrop) {
3847
+ const vw = window.innerWidth;
3848
+ const vh = window.innerHeight;
3849
+ backdrop.style.clipPath = cutoutPath(vw, vh, left, top, w, h);
3850
+ }
3318
3851
  }
3319
3852
  function applyStyles() {
3320
3853
  box.style.borderColor = opts.color;
3321
3854
  box.style.borderStyle = opts.borderStyle;
3322
3855
  box.style.borderWidth = `${opts.borderWidth}px`;
3323
3856
  box.style.backgroundColor = rgbaFromColor(opts.color, opts.fillOpacity);
3857
+ box.style.borderRadius = "6px";
3324
3858
  if (opts.label) {
3325
3859
  label.textContent = opts.label;
3326
3860
  label.style.backgroundColor = opts.color;
@@ -3329,8 +3863,13 @@ function createOverlay(deps) {
3329
3863
  label.textContent = "";
3330
3864
  label.style.display = "none";
3331
3865
  }
3866
+ backdrop.style.display = opts.backdrop ? "" : "none";
3867
+ if (!opts.backdrop) {
3868
+ backdrop.style.clipPath = "";
3869
+ }
3332
3870
  }
3333
- return {
3871
+ const overlay = {
3872
+ onDismiss: null,
3334
3873
  show(nextTarget, showOpts) {
3335
3874
  target = nextTarget;
3336
3875
  opts = {
@@ -3339,7 +3878,8 @@ function createOverlay(deps) {
3339
3878
  padding: showOpts?.padding ?? 0,
3340
3879
  borderStyle: showOpts?.borderStyle ?? "solid",
3341
3880
  borderWidth: showOpts?.borderWidth ?? DEFAULT_BORDER_WIDTH,
3342
- fillOpacity: showOpts?.fillOpacity ?? DEFAULT_FILL_OPACITY
3881
+ fillOpacity: showOpts?.fillOpacity ?? DEFAULT_FILL_OPACITY,
3882
+ backdrop: showOpts?.backdrop ?? false
3343
3883
  };
3344
3884
  applyStyles();
3345
3885
  updatePosition();
@@ -3349,17 +3889,26 @@ function createOverlay(deps) {
3349
3889
  hide() {
3350
3890
  target = null;
3351
3891
  box.style.display = "none";
3892
+ backdrop.style.display = "none";
3893
+ backdrop.style.clipPath = "";
3352
3894
  detach();
3353
3895
  },
3354
3896
  destroy() {
3355
3897
  detach();
3356
3898
  box.remove();
3899
+ backdrop.remove();
3357
3900
  target = null;
3358
3901
  },
3359
3902
  get isVisible() {
3360
3903
  return target !== null;
3361
3904
  }
3362
3905
  };
3906
+ return overlay;
3907
+ }
3908
+ function cutoutPath(vw, vh, x, y, w, h) {
3909
+ const outer = `M0 0H${vw}V${vh}H0Z`;
3910
+ const inner = `M${x} ${y}V${y + h}H${x + w}V${y}Z`;
3911
+ return `path(evenodd,"${outer}${inner}")`;
3363
3912
  }
3364
3913
  function rgbaFromColor(color, alpha) {
3365
3914
  if (color.startsWith("#")) {
@@ -3467,21 +4016,35 @@ function createSurfaceShell(options) {
3467
4016
  });
3468
4017
  cleanup.add(tooltip);
3469
4018
  const afterHover = options.inspector?.onAfterHover;
4019
+ const showStack = (stack, cursor) => {
4020
+ if (!stack) {
4021
+ overlay.hide();
4022
+ tooltip.update(null, cursor);
4023
+ return;
4024
+ }
4025
+ const { current } = stack;
4026
+ overlay.show(current.element, {
4027
+ color: KIND_STYLE[current.ref.kind].color
4028
+ });
4029
+ tooltip.update(
4030
+ {
4031
+ entity: current.entity,
4032
+ node: current.element,
4033
+ layer: stack.matches.length > 1 ? { index: stack.index, total: stack.matches.length } : void 0
4034
+ },
4035
+ cursor
4036
+ );
4037
+ };
3470
4038
  const inspector = createInspector({
3471
4039
  session: options.session,
3472
4040
  registry: options.registry,
3473
4041
  onSelect: options.inspector?.onSelect,
3474
- onHover: (match, cursor) => {
3475
- if (!match) {
3476
- overlay.hide();
3477
- tooltip.update(null, cursor);
3478
- } else {
3479
- overlay.show(match.element, {
3480
- color: KIND_STYLE[match.ref.kind].color
3481
- });
3482
- tooltip.update({ entity: match.entity, node: match.element }, cursor);
3483
- }
3484
- afterHover?.(match, cursor);
4042
+ onHover: (stack, cursor) => {
4043
+ showStack(stack, cursor);
4044
+ afterHover?.(stack?.current ?? null, cursor);
4045
+ },
4046
+ onCycle: (stack, cursor) => {
4047
+ showStack(stack, cursor);
3485
4048
  }
3486
4049
  });
3487
4050
  cleanup.add(inspector);