@godxjp/ui 28.7.0 → 28.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 (119) hide show
  1. package/dist/components/data-display/index.d.ts +2 -0
  2. package/dist/components/data-display/index.js +2 -0
  3. package/dist/components/data-display/marquee.d.ts +16 -0
  4. package/dist/components/data-display/marquee.js +155 -0
  5. package/dist/components/general/reveal.d.ts +23 -2
  6. package/dist/components/general/reveal.js +37 -7
  7. package/dist/components/general/typography.d.ts +4 -1
  8. package/dist/components/general/typography.js +14 -1
  9. package/dist/components/layout/affix.d.ts +86 -0
  10. package/dist/components/layout/affix.js +187 -0
  11. package/dist/components/layout/index.d.ts +4 -0
  12. package/dist/components/layout/index.js +4 -0
  13. package/dist/components/layout/legal-document-shell.js +4 -3
  14. package/dist/components/layout/masonry.d.ts +74 -0
  15. package/dist/components/layout/masonry.js +214 -0
  16. package/dist/components/layout/page-container.js +5 -20
  17. package/dist/components/navigation/anchor.d.ts +64 -0
  18. package/dist/components/navigation/anchor.js +284 -0
  19. package/dist/components/navigation/index.d.ts +4 -0
  20. package/dist/components/navigation/index.js +4 -0
  21. package/dist/components/navigation/mega-menu.d.ts +21 -0
  22. package/dist/components/navigation/mega-menu.js +526 -0
  23. package/dist/contracts/measurement.json +1 -1
  24. package/dist/i18n/messages/en.json +517 -0
  25. package/dist/i18n/messages/ja.json +513 -0
  26. package/dist/i18n/messages/vi.json +513 -0
  27. package/dist/lib/hooks.d.ts +68 -0
  28. package/dist/lib/hooks.js +52 -0
  29. package/dist/lib/platform.d.ts +14 -0
  30. package/dist/lib/platform.js +10 -1
  31. package/dist/lib/utils.d.ts +1 -1
  32. package/dist/lib/utils.js +3 -2
  33. package/dist/lib/variants.js +4 -1
  34. package/dist/props/components/data-display.prop.d.ts +95 -1
  35. package/dist/props/components/general.prop.d.ts +47 -3
  36. package/dist/props/components/layout.prop.d.ts +194 -0
  37. package/dist/props/components/navigation.prop.d.ts +263 -0
  38. package/dist/props/registry.d.ts +359 -4
  39. package/dist/props/registry.js +472 -3
  40. package/dist/props/vocabulary/index.d.ts +1 -1
  41. package/dist/props/vocabulary/interaction.prop.d.ts +39 -2
  42. package/dist/props/vocabulary/layout.prop.d.ts +1 -1
  43. package/dist/styles/base.css +47 -14
  44. package/dist/styles/card-layout.css +2 -2
  45. package/dist/styles/chart-layout.css +6 -6
  46. package/dist/styles/control.css +15 -10
  47. package/dist/styles/data-display-layout.css +22 -6
  48. package/dist/styles/density.css +6 -0
  49. package/dist/styles/dialog-layout.css +4 -1
  50. package/dist/styles/focus-ring.css +4 -1
  51. package/dist/styles/layout.css +92 -3
  52. package/dist/styles/motion.css +121 -1
  53. package/dist/styles/navigation-layout.css +397 -1
  54. package/dist/styles/shell-layout.css +28 -21
  55. package/dist/styles/text-layout.css +134 -15
  56. package/dist/tokens/base.css +5 -0
  57. package/dist/tokens/components/activity.css +13 -4
  58. package/dist/tokens/components/affix.css +7 -0
  59. package/dist/tokens/components/anchor.css +17 -0
  60. package/dist/tokens/components/attachments.css +1 -1
  61. package/dist/tokens/components/badge.css +1 -1
  62. package/dist/tokens/components/card.css +28 -7
  63. package/dist/tokens/components/chart.css +4 -1
  64. package/dist/tokens/components/chat-composer.css +4 -1
  65. package/dist/tokens/components/control.css +72 -33
  66. package/dist/tokens/components/conversations.css +4 -1
  67. package/dist/tokens/components/data-display.css +42 -15
  68. package/dist/tokens/components/data-entry.css +8 -2
  69. package/dist/tokens/components/descriptions.css +1 -1
  70. package/dist/tokens/components/feedback.css +8 -5
  71. package/dist/tokens/components/float-button.css +8 -2
  72. package/dist/tokens/components/form.css +1 -1
  73. package/dist/tokens/components/legal-document.css +12 -3
  74. package/dist/tokens/components/logo.css +15 -6
  75. package/dist/tokens/components/marquee.css +7 -0
  76. package/dist/tokens/components/masonry.css +6 -0
  77. package/dist/tokens/components/mega-menu.css +71 -0
  78. package/dist/tokens/components/navigation.css +37 -13
  79. package/dist/tokens/components/segmented.css +4 -1
  80. package/dist/tokens/components/separator.css +4 -1
  81. package/dist/tokens/components/shell.css +99 -31
  82. package/dist/tokens/components/table.css +11 -5
  83. package/dist/tokens/components/thought-chain.css +4 -1
  84. package/dist/tokens/components/toggle.css +4 -1
  85. package/dist/tokens/components/tree.css +1 -1
  86. package/dist/tokens/components/upload.css +21 -9
  87. package/dist/tokens/foundation.css +35 -30
  88. package/dist/tokens/semantic/layout.css +26 -5
  89. package/docs/COMPOSITION-VS-COMPONENT.md +19 -1
  90. package/docs/DESIGN-AUTHORITY.md +99 -18
  91. package/docs/FRAME-COVERAGE-REPORT.md +7 -2
  92. package/docs/TOKENS.md +16 -1
  93. package/docs/data-display/marquee.tsx +254 -0
  94. package/docs/foundation/_theme-editor-scope.ts +222 -0
  95. package/docs/foundation/density.tsx +12 -2
  96. package/docs/foundation/spacing.tsx +5 -0
  97. package/docs/foundation/theme-editor.tsx +645 -0
  98. package/docs/general/activity.tsx +65 -0
  99. package/docs/general/reveal.tsx +290 -22
  100. package/docs/general/typography.tsx +91 -1
  101. package/docs/layout/affix.tsx +209 -0
  102. package/docs/layout/masonry.tsx +291 -0
  103. package/docs/navigation/anchor.tsx +285 -0
  104. package/docs/navigation/mega-menu-panel.tsx +86 -0
  105. package/docs/navigation/mega-menu.tsx +254 -0
  106. package/docs/roadmap/website-components.md +779 -0
  107. package/docs/showcase/acme-website.tsx +75 -39
  108. package/docs/showcase/case4-login.tsx +10 -2
  109. package/docs/showcase/case5-shift-calendar.tsx +1 -1
  110. package/docs/showcase/case6-agency-handy.tsx +6 -6
  111. package/docs/showcase/futurelastic-web.tsx +89 -49
  112. package/docs/showcase/marketing-page.tsx +885 -0
  113. package/docs/showcase/table-expandable-rows.tsx +4 -1
  114. package/docs/showcase/table-footer-totals.tsx +12 -2
  115. package/docs/showcase/theme-customization.tsx +1259 -0
  116. package/package.json +6 -3
  117. package/scripts/brand-accent.generated.mjs +27 -0
  118. package/scripts/ui-audit.mjs +66 -0
  119. package/scripts/visual-audit-rules.mjs +46 -2
@@ -1085,12 +1085,13 @@
1085
1085
  }
1086
1086
 
1087
1087
  .ui-conversations-row {
1088
+ --button-radius: var(--conversations-item-radius);
1089
+
1088
1090
  min-inline-size: 0;
1089
1091
  height: var(--conversations-item-height);
1090
1092
  flex: 1 1 auto;
1091
1093
  gap: var(--conversations-item-gap);
1092
1094
  padding-inline: var(--conversations-item-padding-inline);
1093
- border-radius: var(--conversations-item-radius);
1094
1095
  color: var(--conversations-item-color, hsl(var(--muted-foreground)));
1095
1096
  font-size: var(--conversations-item-font-size);
1096
1097
  }
@@ -1195,4 +1196,399 @@
1195
1196
  hsl(var(--separator-rule-color, var(--border)));
1196
1197
  background: transparent;
1197
1198
  }
1199
+
1200
+ .ui-anchor-track {
1201
+ position: relative;
1202
+ }
1203
+
1204
+ .ui-anchor-list {
1205
+ list-style: none;
1206
+ margin: 0;
1207
+ padding: 0;
1208
+ }
1209
+
1210
+ .ui-anchor [data-slot="anchor-link"] {
1211
+ display: block;
1212
+ padding-block: var(--anchor-item-padding-block);
1213
+ padding-inline: var(--anchor-item-padding-inline) 0;
1214
+ color: hsl(var(--muted-foreground));
1215
+ text-decoration: none;
1216
+
1217
+ overflow-wrap: anywhere;
1218
+ }
1219
+
1220
+ .ui-anchor [data-slot="anchor-link"]:hover {
1221
+ color: hsl(var(--foreground));
1222
+ }
1223
+
1224
+ .ui-anchor [data-slot="anchor-link"][data-active] {
1225
+ color: hsl(var(--anchor-ink-color, var(--primary)));
1226
+ font-weight: var(--font-weight-medium);
1227
+ }
1228
+
1229
+ .ui-anchor [data-slot="anchor-item"][data-nested] > [data-slot="anchor-link"] {
1230
+ padding-inline-start: calc(
1231
+ var(--anchor-item-padding-inline) + var(--anchor-nested-padding-inline)
1232
+ );
1233
+ }
1234
+
1235
+ .ui-anchor-ink {
1236
+ position: absolute;
1237
+ background: hsl(var(--anchor-ink-color, var(--primary)));
1238
+
1239
+ opacity: 0;
1240
+ transition:
1241
+ opacity var(--duration-fast) var(--ease-standard),
1242
+ inset-block-start var(--duration-fast) var(--ease-standard),
1243
+ inset-inline-start var(--duration-fast) var(--ease-standard),
1244
+ block-size var(--duration-fast) var(--ease-standard),
1245
+ inline-size var(--duration-fast) var(--ease-standard);
1246
+ }
1247
+
1248
+ .ui-anchor-ink[data-visible] {
1249
+ opacity: 1;
1250
+ }
1251
+
1252
+ .ui-anchor[data-ink="hidden"] .ui-anchor-ink {
1253
+ display: none;
1254
+ }
1255
+
1256
+ .ui-anchor[data-direction="vertical"] .ui-anchor-track {
1257
+ border-inline-start: var(--anchor-ink-width) solid hsl(var(--anchor-track-color, var(--border)));
1258
+ }
1259
+
1260
+ .ui-anchor[data-direction="vertical"] .ui-anchor-ink {
1261
+
1262
+ inset-inline-start: calc(-1 * var(--anchor-ink-width));
1263
+ inline-size: var(--anchor-ink-width);
1264
+ inset-block-start: var(--anchor-ink-offset, 0px);
1265
+ block-size: var(--anchor-ink-extent, 0px);
1266
+ }
1267
+
1268
+ .ui-anchor[data-direction="horizontal"] .ui-anchor-track {
1269
+ border-block-end: var(--anchor-ink-width) solid hsl(var(--anchor-track-color, var(--border)));
1270
+ }
1271
+
1272
+ .ui-anchor[data-direction="horizontal"] .ui-anchor-list {
1273
+ display: flex;
1274
+ gap: var(--anchor-gap);
1275
+
1276
+ overflow-x: auto;
1277
+ }
1278
+
1279
+ .ui-anchor[data-direction="horizontal"] [data-slot="anchor-link"] {
1280
+ padding-inline: 0;
1281
+ white-space: nowrap;
1282
+ }
1283
+
1284
+ .ui-anchor[data-direction="horizontal"] .ui-anchor-ink {
1285
+ inset-block-end: calc(-1 * var(--anchor-ink-width));
1286
+ block-size: var(--anchor-ink-width);
1287
+ inset-inline-start: var(--anchor-ink-offset, 0px);
1288
+ inline-size: var(--anchor-ink-extent, 0px);
1289
+ }
1290
+
1291
+ @media (prefers-reduced-motion: reduce) {
1292
+ .ui-anchor-ink {
1293
+ transition: none;
1294
+ }
1295
+ }
1296
+ }
1297
+
1298
+ @layer components {
1299
+
1300
+ .ui-mega-menu {
1301
+ position: relative;
1302
+ display: block;
1303
+ }
1304
+
1305
+ .ui-mega-menu-bar {
1306
+ display: flex;
1307
+ flex-wrap: wrap;
1308
+ align-items: center;
1309
+ gap: var(--mega-menu-bar-gap);
1310
+ margin: 0;
1311
+ padding: 0;
1312
+ list-style: none;
1313
+ }
1314
+
1315
+ .ui-mega-menu-item {
1316
+ position: static;
1317
+ list-style: none;
1318
+ }
1319
+
1320
+ .ui-mega-menu-trigger {
1321
+ display: inline-flex;
1322
+ align-items: center;
1323
+ gap: var(--mega-menu-trigger-gap);
1324
+ min-block-size: var(--mega-menu-trigger-height);
1325
+ padding-inline: var(--mega-menu-trigger-padding-x);
1326
+ border: 0;
1327
+ border-radius: var(--mega-menu-trigger-radius);
1328
+ background: var(--mega-menu-trigger-background);
1329
+ color: var(--mega-menu-trigger-foreground);
1330
+ font-size: var(--mega-menu-trigger-font-size);
1331
+ font-weight: var(--font-weight-medium);
1332
+ line-height: var(--line-height-normal);
1333
+ text-align: start;
1334
+ text-decoration: none;
1335
+ cursor: pointer;
1336
+ }
1337
+
1338
+ .ui-mega-menu-trigger:hover {
1339
+ background: var(--mega-menu-trigger-hover-background, hsl(var(--accent)));
1340
+ color: var(--mega-menu-trigger-hover-foreground, hsl(var(--accent-foreground)));
1341
+ }
1342
+
1343
+ .ui-mega-menu-trigger[data-open="true"] {
1344
+ background: var(--mega-menu-trigger-open-background, hsl(var(--accent)));
1345
+ color: var(--mega-menu-trigger-open-foreground, hsl(var(--accent-foreground)));
1346
+ }
1347
+
1348
+ .ui-mega-menu-trigger[aria-current="page"] {
1349
+ color: var(--mega-menu-trigger-current-foreground, hsl(var(--primary)));
1350
+ font-weight: var(--font-weight-semibold);
1351
+ text-decoration: underline;
1352
+ text-underline-offset: var(--space-1);
1353
+ }
1354
+
1355
+ .ui-mega-menu-trigger:disabled,
1356
+ .ui-mega-menu-trigger[aria-disabled="true"] {
1357
+ opacity: var(--mega-menu-trigger-disabled-alpha);
1358
+ cursor: not-allowed;
1359
+ }
1360
+
1361
+ .ui-mega-menu-trigger-icon {
1362
+ display: inline-flex;
1363
+ flex: none;
1364
+ }
1365
+
1366
+ .ui-mega-menu-trigger-icon svg {
1367
+ inline-size: var(--mega-menu-expand-icon-size);
1368
+ block-size: var(--mega-menu-expand-icon-size);
1369
+ }
1370
+
1371
+ .ui-mega-menu-trigger-label {
1372
+ min-inline-size: 0;
1373
+ overflow-wrap: anywhere;
1374
+ }
1375
+
1376
+ .ui-mega-menu-expand-icon {
1377
+ display: inline-flex;
1378
+ flex: none;
1379
+ transition: rotate var(--duration-fast) var(--ease-standard);
1380
+ }
1381
+
1382
+ .ui-mega-menu-expand-icon svg {
1383
+ inline-size: var(--mega-menu-expand-icon-size);
1384
+ block-size: var(--mega-menu-expand-icon-size);
1385
+ }
1386
+
1387
+ .ui-mega-menu-trigger[data-open="true"] .ui-mega-menu-expand-icon {
1388
+ rotate: 180deg;
1389
+ }
1390
+
1391
+ .ui-mega-menu-panel {
1392
+ position: fixed;
1393
+ z-index: var(--overlay-z-index);
1394
+ inset-inline-start: 0;
1395
+ inset-block-start: var(--mega-menu-panel-offset);
1396
+ inline-size: var(--mega-menu-panel-measured-width, 100%);
1397
+ translate: var(--mega-menu-panel-translate-x, 0) var(--mega-menu-panel-translate-y, 0);
1398
+ max-block-size: var(--mega-menu-panel-max-height);
1399
+ overflow-y: auto;
1400
+ border: var(--mega-menu-panel-border-width) solid var(--mega-menu-panel-border-color);
1401
+ border-radius: var(--mega-menu-panel-radius);
1402
+ background: var(--mega-menu-panel-background);
1403
+ color: var(--mega-menu-panel-foreground);
1404
+ box-shadow: var(--mega-menu-panel-shadow);
1405
+ animation: ui-mega-menu-panel-in var(--duration-fast) var(--ease-standard);
1406
+ }
1407
+
1408
+ @keyframes ui-mega-menu-panel-in {
1409
+ from {
1410
+ opacity: 0;
1411
+ }
1412
+
1413
+ to {
1414
+ opacity: 1;
1415
+ }
1416
+ }
1417
+
1418
+ .ui-mega-menu-panel-inner {
1419
+ padding: var(--mega-menu-panel-padding);
1420
+ }
1421
+
1422
+ .ui-mega-menu-groups {
1423
+ display: grid;
1424
+ grid-template-columns: repeat(
1425
+ auto-fit,
1426
+ minmax(min(var(--mega-menu-group-min-width), 100%), 1fr)
1427
+ );
1428
+ gap: var(--mega-menu-groups-gap);
1429
+ margin: 0;
1430
+ padding: 0;
1431
+ list-style: none;
1432
+ }
1433
+
1434
+ .ui-mega-menu-group {
1435
+ display: flex;
1436
+ flex-direction: column;
1437
+ gap: var(--mega-menu-group-gap);
1438
+ min-inline-size: 0;
1439
+ list-style: none;
1440
+ }
1441
+
1442
+ .ui-mega-menu-group-label {
1443
+ display: flex;
1444
+ align-items: center;
1445
+ gap: var(--mega-menu-link-gap);
1446
+ margin: 0;
1447
+ color: var(--mega-menu-group-label-foreground);
1448
+ font-size: var(--mega-menu-group-label-font-size);
1449
+ font-weight: var(--font-weight-semibold);
1450
+ overflow-wrap: anywhere;
1451
+ }
1452
+
1453
+ .ui-mega-menu-group-icon {
1454
+ display: inline-flex;
1455
+ flex: none;
1456
+ }
1457
+
1458
+ .ui-mega-menu-group-icon svg {
1459
+ inline-size: var(--mega-menu-group-icon-size);
1460
+ block-size: var(--mega-menu-group-icon-size);
1461
+ }
1462
+
1463
+ .ui-mega-menu-group-description {
1464
+ margin: 0;
1465
+ color: var(--mega-menu-group-description-foreground);
1466
+ font-size: var(--mega-menu-group-description-font-size);
1467
+ line-height: var(--line-height-body);
1468
+ overflow-wrap: anywhere;
1469
+ }
1470
+
1471
+ .ui-mega-menu-group-links {
1472
+ display: flex;
1473
+ flex-direction: column;
1474
+ margin: 0;
1475
+ padding: 0;
1476
+ list-style: none;
1477
+ }
1478
+
1479
+ .ui-mega-menu-link-row {
1480
+ list-style: none;
1481
+ }
1482
+
1483
+ .ui-mega-menu-link {
1484
+ display: flex;
1485
+ align-items: start;
1486
+ gap: var(--mega-menu-link-gap);
1487
+ min-block-size: var(--mega-menu-link-min-height);
1488
+ padding-block: var(--mega-menu-link-padding-y);
1489
+ padding-inline: var(--mega-menu-link-padding-x);
1490
+ border-radius: var(--mega-menu-link-radius);
1491
+ color: var(--mega-menu-link-foreground);
1492
+ font-size: var(--mega-menu-link-font-size);
1493
+ line-height: var(--line-height-body);
1494
+ text-decoration: none;
1495
+ }
1496
+
1497
+ .ui-mega-menu-link:hover {
1498
+ background: var(--mega-menu-link-hover-background, hsl(var(--accent)));
1499
+ color: var(--mega-menu-link-hover-foreground, hsl(var(--accent-foreground)));
1500
+ }
1501
+
1502
+ .ui-mega-menu-link[aria-current="page"] {
1503
+ color: var(--mega-menu-link-current-foreground, hsl(var(--primary)));
1504
+ font-weight: var(--font-weight-semibold);
1505
+ }
1506
+
1507
+ .ui-mega-menu-link[data-disabled="true"] {
1508
+ opacity: var(--mega-menu-trigger-disabled-alpha);
1509
+ cursor: not-allowed;
1510
+ }
1511
+
1512
+ .ui-mega-menu-link-icon {
1513
+ display: inline-flex;
1514
+ flex: none;
1515
+ }
1516
+
1517
+ .ui-mega-menu-link-icon svg {
1518
+ inline-size: var(--mega-menu-link-icon-size);
1519
+ block-size: var(--mega-menu-link-icon-size);
1520
+ }
1521
+
1522
+ .ui-mega-menu-link-text {
1523
+ display: flex;
1524
+ flex-direction: column;
1525
+ min-inline-size: 0;
1526
+ overflow-wrap: anywhere;
1527
+ }
1528
+
1529
+ .ui-mega-menu-link-description {
1530
+ color: var(--mega-menu-link-description-foreground);
1531
+ font-size: var(--mega-menu-link-description-font-size);
1532
+ font-weight: var(--font-weight-normal);
1533
+ }
1534
+
1535
+ .ui-mega-menu-panel-footer {
1536
+ margin-block-start: var(--mega-menu-panel-footer-gap);
1537
+ padding-block-start: var(--mega-menu-panel-footer-gap);
1538
+ border-block-start: var(--mega-menu-panel-border-width) solid
1539
+ var(--mega-menu-panel-footer-border-color);
1540
+ }
1541
+
1542
+ @media (max-width: 47.99rem) {
1543
+ .ui-mega-menu-bar {
1544
+ flex-direction: column;
1545
+ align-items: stretch;
1546
+ }
1547
+
1548
+ .ui-mega-menu-trigger {
1549
+ inline-size: 100%;
1550
+ justify-content: space-between;
1551
+ }
1552
+
1553
+ .ui-mega-menu-panel {
1554
+ position: static;
1555
+ inline-size: auto;
1556
+ translate: none;
1557
+ max-block-size: none;
1558
+ margin-block-start: var(--mega-menu-bar-gap);
1559
+ box-shadow: none;
1560
+ }
1561
+
1562
+ .ui-mega-menu-panel-inner {
1563
+ padding: var(--mega-menu-link-padding-x);
1564
+ }
1565
+
1566
+ .ui-mega-menu-groups {
1567
+ grid-template-columns: 1fr;
1568
+ gap: var(--mega-menu-group-gap);
1569
+ }
1570
+ }
1571
+
1572
+ @media (prefers-reduced-motion: reduce) {
1573
+ .ui-mega-menu-panel {
1574
+ animation: none;
1575
+ }
1576
+
1577
+ .ui-mega-menu-expand-icon {
1578
+ transition: none;
1579
+ }
1580
+ }
1581
+
1582
+ @media (forced-colors: active) {
1583
+ .ui-mega-menu-panel {
1584
+ border-color: CanvasText;
1585
+ }
1586
+
1587
+ .ui-mega-menu-trigger[data-open="true"],
1588
+ .ui-mega-menu-link[aria-current="page"] {
1589
+ forced-color-adjust: none;
1590
+ background: Highlight;
1591
+ color: HighlightText;
1592
+ }
1593
+ }
1198
1594
  }
@@ -853,14 +853,18 @@
853
853
  grid-template-columns: var(--app-shell-nav-rail-width) minmax(0, 1fr);
854
854
  grid-template-areas: "navrail topbar" "navrail main" "navrail footer";
855
855
  }
856
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="start"][data-topbar-span="full"] {
856
+ .app-root:where(
857
+ [data-sidebar="none"]
858
+ )[data-nav-rail][data-nav-rail-position="start"][data-topbar-span="full"] {
857
859
  grid-template-areas: "topbar topbar" "navrail main" "navrail footer";
858
860
  }
859
861
  .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="end"] {
860
862
  grid-template-columns: minmax(0, 1fr) var(--app-shell-nav-rail-width);
861
863
  grid-template-areas: "topbar navrail" "main navrail" "footer navrail";
862
864
  }
863
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="end"][data-topbar-span="full"] {
865
+ .app-root:where(
866
+ [data-sidebar="none"]
867
+ )[data-nav-rail][data-nav-rail-position="end"][data-topbar-span="full"] {
864
868
  grid-template-areas: "topbar topbar" "main navrail" "footer navrail";
865
869
  }
866
870
 
@@ -873,12 +877,12 @@
873
877
  minmax(0, 1fr)
874
878
  auto;
875
879
  }
876
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="top"][data-topbar-span="full"] {
880
+ .app-root:where(
881
+ [data-sidebar="none"]
882
+ )[data-nav-rail][data-nav-rail-position="top"][data-topbar-span="full"] {
877
883
  grid-template-areas: "navrail" "topbar" "main" "footer";
878
884
  }
879
- .app-root:where([data-sidebar="none"])[data-nav-rail]:is(
880
- [data-nav-rail-position="bottom"]
881
- ) {
885
+ .app-root:where([data-sidebar="none"])[data-nav-rail]:is([data-nav-rail-position="bottom"]) {
882
886
  grid-template-columns: minmax(0, 1fr);
883
887
  grid-template-areas: "topbar" "main" "footer" "navrail";
884
888
  grid-template-rows:
@@ -888,7 +892,9 @@
888
892
  var(--app-shell-nav-rail-height);
889
893
  }
890
894
 
891
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="bottom"][data-topbar-span="full"] {
895
+ .app-root:where(
896
+ [data-sidebar="none"]
897
+ )[data-nav-rail][data-nav-rail-position="bottom"][data-topbar-span="full"] {
892
898
  grid-template-areas: "topbar" "main" "footer" "navrail";
893
899
  }
894
900
  }
@@ -908,10 +914,7 @@
908
914
  display: none;
909
915
  }
910
916
 
911
- .app-root[data-nav-rail]:is(
912
- [data-nav-rail-position="top"],
913
- [data-nav-rail-position="bottom"]
914
- ) {
917
+ .app-root[data-nav-rail]:is([data-nav-rail-position="top"], [data-nav-rail-position="bottom"]) {
915
918
  grid-template-rows: var(--app-shell-bar-height) minmax(0, 1fr) auto;
916
919
  }
917
920
 
@@ -1325,16 +1328,11 @@
1325
1328
  }
1326
1329
 
1327
1330
  .ui-app-launcher-launchpad .ui-app-launcher-grid {
1328
- grid-template-columns: repeat(
1329
- auto-fit,
1330
- var(--app-launcher-launchpad-tile-inline-size)
1331
- );
1331
+ grid-template-columns: repeat(auto-fit, var(--app-launcher-launchpad-tile-inline-size));
1332
1332
  max-width: calc(
1333
1333
  var(--app-launcher-columns) *
1334
- (
1335
- var(--app-launcher-launchpad-tile-inline-size) +
1336
- var(--app-launcher-launchpad-grid-gap)
1337
- ) - var(--app-launcher-launchpad-grid-gap)
1334
+ (var(--app-launcher-launchpad-tile-inline-size) + var(--app-launcher-launchpad-grid-gap)) -
1335
+ var(--app-launcher-launchpad-grid-gap)
1338
1336
  );
1339
1337
  justify-content: start;
1340
1338
  gap: var(--app-launcher-launchpad-grid-gap);
@@ -1664,7 +1662,10 @@
1664
1662
  transparent
1665
1663
  )
1666
1664
  );
1667
- color: var(--sidebar-item-active-foreground, hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels))));
1665
+ color: var(
1666
+ --sidebar-item-active-foreground,
1667
+ hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels)))
1668
+ );
1668
1669
  font-weight: var(--font-weight-medium);
1669
1670
  }
1670
1671
 
@@ -1781,7 +1782,10 @@
1781
1782
 
1782
1783
  .sb-nav-item--sub[data-active="true"] {
1783
1784
  background: transparent;
1784
- color: var(--sidebar-item-active-foreground, hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels))));
1785
+ color: var(
1786
+ --sidebar-item-active-foreground,
1787
+ hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels)))
1788
+ );
1785
1789
  font-weight: var(--font-weight-medium);
1786
1790
  }
1787
1791
 
@@ -1974,6 +1978,9 @@
1974
1978
  gap: var(--topbar-gap);
1975
1979
  padding-inline: var(--topbar-inset);
1976
1980
 
1981
+ background-color: hsl(var(--background) / var(--topbar-background-alpha));
1982
+ backdrop-filter: blur(var(--topbar-backdrop-blur-size));
1983
+
1977
1984
  overflow: clip;
1978
1985
  overflow-clip-margin: var(--focus-ring-clip-margin);
1979
1986
  }