@godxjp/ui 20.2.0 → 21.0.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 (60) hide show
  1. package/dist/components/data-display/chat-bubble.d.ts +30 -0
  2. package/dist/components/data-display/chat-bubble.js +229 -0
  3. package/dist/components/data-display/descriptions.js +4 -1
  4. package/dist/components/data-display/index.d.ts +4 -2
  5. package/dist/components/data-display/index.js +5 -2
  6. package/dist/components/data-display/popover.js +3 -2
  7. package/dist/components/data-display/scroll-area.js +26 -1
  8. package/dist/components/data-display/tree.d.ts +8 -0
  9. package/dist/components/data-display/tree.js +426 -0
  10. package/dist/components/data-entry/chat-composer.d.ts +50 -0
  11. package/dist/components/data-entry/chat-composer.js +163 -0
  12. package/dist/components/data-entry/chat-suggestion.d.ts +28 -0
  13. package/dist/components/data-entry/chat-suggestion.js +285 -0
  14. package/dist/components/data-entry/index.d.ts +4 -0
  15. package/dist/components/data-entry/index.js +4 -0
  16. package/dist/components/data-entry/textarea.js +3 -1
  17. package/dist/components/data-entry/tree-utils.d.ts +10 -48
  18. package/dist/components/data-entry/tree-utils.js +1 -154
  19. package/dist/components/layout/org-switcher.js +22 -2
  20. package/dist/i18n/messages/en.json +50 -0
  21. package/dist/i18n/messages/ja.json +48 -0
  22. package/dist/i18n/messages/vi.json +49 -0
  23. package/dist/lib/tree.d.ts +53 -0
  24. package/dist/lib/tree.js +155 -0
  25. package/dist/props/components/data-display.prop.d.ts +187 -1
  26. package/dist/props/components/data-entry.prop.d.ts +127 -0
  27. package/dist/props/registry.d.ts +140 -3
  28. package/dist/props/registry.js +202 -3
  29. package/dist/styles/control.css +7 -0
  30. package/dist/styles/data-display-layout.css +309 -55
  31. package/dist/styles/data-entry-layout.css +64 -0
  32. package/dist/styles/shell-layout.css +41 -11
  33. package/dist/tokens/base.css +3 -0
  34. package/dist/tokens/components/chat-bubble.css +36 -0
  35. package/dist/tokens/components/chat-composer.css +19 -0
  36. package/dist/tokens/components/data-display.css +0 -6
  37. package/dist/tokens/components/descriptions.css +4 -0
  38. package/dist/tokens/components/shell.css +13 -3
  39. package/dist/tokens/components/tree.css +27 -0
  40. package/docs/FRAME-COVERAGE-LEDGER.md +1 -1
  41. package/docs/FRAME-COVERAGE-REPORT.md +8 -3
  42. package/docs/data-display/chat-bubble.tsx +397 -0
  43. package/docs/data-display/timeline.tsx +46 -0
  44. package/docs/data-display/tree.tsx +394 -0
  45. package/docs/data-entry/chat-composer.tsx +464 -0
  46. package/docs/data-entry/chat-suggestion.tsx +301 -0
  47. package/docs/roadmap/ai-chat-components.md +207 -0
  48. package/docs/roadmap/antd-parity.md +154 -0
  49. package/docs/roadmap/badge-tag-chip-count.md +172 -0
  50. package/docs/roadmap/list-masonry.md +159 -0
  51. package/docs/roadmap/parity-audit-data-display-feedback.md +567 -0
  52. package/docs/roadmap/parity-audit-data-entry.md +344 -0
  53. package/docs/roadmap/parity-audit-layout-navigation-general.md +464 -0
  54. package/docs/roadmap/parity-backlog.md +79 -0
  55. package/docs/roadmap/tree-components.md +151 -0
  56. package/docs/showcase/table-tree-rows.tsx +4 -4
  57. package/package.json +5 -3
  58. package/dist/components/data-display/tree-list.d.ts +0 -13
  59. package/dist/components/data-display/tree-list.js +0 -26
  60. package/docs/data-display/tree-list.tsx +0 -107
@@ -251,61 +251,6 @@
251
251
  background: hsl(var(--muted-foreground));
252
252
  }
253
253
 
254
- .ui-tree-list {
255
- display: flex;
256
- flex-direction: column;
257
- gap: var(--space-1);
258
- }
259
-
260
- .ui-tree-item {
261
- display: flex;
262
- min-height: 2.25rem;
263
- align-items: center;
264
- gap: var(--space-2);
265
- padding-inline: var(--space-3);
266
- border: 1px solid hsl(var(--border));
267
- border-radius: var(--radius);
268
- }
269
-
270
- .ui-tree-item[data-active="true"] {
271
- border-color: var(--tree-item-active-border, hsl(var(--primary) / 0.3));
272
- background: var(--tree-item-active-background, hsl(var(--primary) / 0.05));
273
- }
274
-
275
- .ui-tree-item {
276
- margin-inline-start: calc(var(--tree-item-depth, 0) * var(--tree-item-indent-width));
277
- }
278
-
279
- .ui-tree-item > svg {
280
- width: 1rem;
281
- height: 1rem;
282
- color: hsl(var(--primary));
283
- }
284
-
285
- .ui-tree-item > svg:first-child {
286
- width: 0.75rem;
287
- height: 0.75rem;
288
- color: hsl(var(--muted-foreground));
289
- }
290
-
291
- .ui-tree-item-body {
292
- min-width: 0;
293
- flex: 1;
294
- }
295
-
296
- .ui-tree-item-title {
297
- font-family: var(--font-family-mono);
298
- font-size: var(--tree-item-title-font-size);
299
- }
300
-
301
- .ui-tree-item-description {
302
- overflow: hidden;
303
- color: hsl(var(--muted-foreground));
304
- font-size: var(--tree-item-description-font-size);
305
- text-overflow: ellipsis;
306
- white-space: nowrap;
307
- }
308
-
309
254
  .ui-timeline {
310
255
  display: flex;
311
256
  flex-direction: column;
@@ -395,6 +340,10 @@
395
340
  }
396
341
 
397
342
  .ui-timeline-title {
343
+
344
+ min-inline-size: 0;
345
+ flex: 1 1 0%;
346
+
398
347
  font-weight: var(--font-weight-medium);
399
348
  }
400
349
 
@@ -795,6 +744,10 @@
795
744
 
796
745
  @layer components {
797
746
 
747
+ [data-slot="scroll-area-viewport"][data-orientation="vertical"] > * {
748
+ display: block !important;
749
+ }
750
+
798
751
  .ui-scroll-area-bar {
799
752
  padding: var(--scroll-area-bar-padding);
800
753
  }
@@ -1399,3 +1352,304 @@
1399
1352
  font-size: var(--prose-code-font-size);
1400
1353
  }
1401
1354
  }
1355
+
1356
+ @layer components {
1357
+
1358
+ .ui-chat-bubble {
1359
+ display: flex;
1360
+ align-items: flex-start;
1361
+ gap: var(--chat-bubble-gap);
1362
+ min-inline-size: 0;
1363
+ }
1364
+
1365
+ .ui-chat-bubble[data-placement="end"] {
1366
+ flex-direction: row-reverse;
1367
+ }
1368
+
1369
+ .ui-chat-bubble-avatar {
1370
+ display: inline-flex;
1371
+ flex: none;
1372
+ inline-size: var(--chat-bubble-avatar-size, var(--control-height));
1373
+ block-size: var(--chat-bubble-avatar-size, var(--control-height));
1374
+ }
1375
+
1376
+ .ui-chat-bubble-avatar > .ui-avatar {
1377
+ inline-size: 100%;
1378
+ block-size: 100%;
1379
+ }
1380
+
1381
+ .ui-chat-bubble-column {
1382
+ display: flex;
1383
+ min-inline-size: 0;
1384
+ max-inline-size: min(var(--chat-bubble-max-inline-size), 100%);
1385
+ flex-direction: column;
1386
+ gap: var(--space-1);
1387
+ }
1388
+
1389
+ .ui-chat-bubble[data-placement="end"] .ui-chat-bubble-column {
1390
+ align-items: flex-end;
1391
+ }
1392
+
1393
+ .ui-chat-bubble-body {
1394
+ min-inline-size: 0;
1395
+ border-radius: var(--chat-bubble-radius);
1396
+ padding-block: var(--chat-bubble-padding-block);
1397
+ padding-inline: var(--chat-bubble-padding-inline);
1398
+ background: var(--chat-bubble-background, hsl(var(--muted)));
1399
+ color: var(--chat-bubble-foreground, hsl(var(--foreground)));
1400
+
1401
+ overflow-wrap: anywhere;
1402
+ }
1403
+
1404
+ .ui-chat-bubble[data-variant="outlined"] .ui-chat-bubble-body {
1405
+ border: var(--stroke-hairline) solid var(--chat-bubble-border-color, hsl(var(--border)));
1406
+ background: transparent;
1407
+ }
1408
+
1409
+ .ui-chat-bubble[data-variant="borderless"] .ui-chat-bubble-body {
1410
+ background: transparent;
1411
+ }
1412
+
1413
+ .ui-chat-bubble[data-variant="borderless"][data-tone="default"] .ui-chat-bubble-body {
1414
+ padding-inline: 0;
1415
+ }
1416
+
1417
+ .ui-chat-bubble[data-placement="end"][data-variant="filled"] .ui-chat-bubble-body {
1418
+ background: var(--chat-bubble-end-background, hsl(var(--primary) / 0.1));
1419
+ color: var(--chat-bubble-end-foreground, hsl(var(--foreground)));
1420
+ }
1421
+
1422
+ .ui-chat-bubble[data-size="xs"] {
1423
+ --chat-bubble-padding-block: var(--space-1);
1424
+ --chat-bubble-padding-inline: var(--space-2);
1425
+ }
1426
+
1427
+ .ui-chat-bubble[data-size="sm"] {
1428
+ --chat-bubble-padding-block: var(--space-1);
1429
+ --chat-bubble-padding-inline: var(--space-3);
1430
+ }
1431
+
1432
+ .ui-chat-bubble[data-size="lg"] {
1433
+ --chat-bubble-padding-block: var(--space-3);
1434
+ --chat-bubble-padding-inline: var(--space-4);
1435
+ }
1436
+
1437
+ .ui-chat-bubble[data-tone="info"] .ui-chat-bubble-body {
1438
+ border: var(--stroke-hairline) solid hsl(var(--info) / var(--chat-bubble-tone-border-alpha));
1439
+ background: hsl(var(--info) / var(--chat-bubble-tone-background-alpha));
1440
+ }
1441
+
1442
+ .ui-chat-bubble[data-tone="success"] .ui-chat-bubble-body {
1443
+ border: var(--stroke-hairline) solid hsl(var(--success) / var(--chat-bubble-tone-border-alpha));
1444
+ background: hsl(var(--success) / var(--chat-bubble-tone-background-alpha));
1445
+ }
1446
+
1447
+ .ui-chat-bubble[data-tone="warning"] .ui-chat-bubble-body {
1448
+ border: var(--stroke-hairline) solid hsl(var(--warning) / var(--chat-bubble-tone-border-alpha));
1449
+ background: hsl(var(--warning) / var(--chat-bubble-tone-background-alpha));
1450
+ }
1451
+
1452
+ .ui-chat-bubble[data-tone="destructive"] .ui-chat-bubble-body {
1453
+ border: var(--stroke-hairline) solid
1454
+ hsl(var(--destructive) / var(--chat-bubble-tone-border-alpha));
1455
+ background: hsl(var(--destructive) / var(--chat-bubble-tone-background-alpha));
1456
+ }
1457
+
1458
+ .ui-chat-bubble-caret {
1459
+ display: inline-block;
1460
+ inline-size: var(--chat-bubble-typing-caret-width);
1461
+ block-size: var(--chat-bubble-typing-caret-height);
1462
+ margin-inline-start: var(--space-1);
1463
+ background: var(--chat-bubble-typing-caret-color, hsl(var(--muted-foreground)));
1464
+ vertical-align: text-bottom;
1465
+ }
1466
+
1467
+ .ui-chat-bubble-skeleton {
1468
+ display: grid;
1469
+ gap: var(--skeleton-row-gap);
1470
+ }
1471
+
1472
+ .ui-chat-bubble-skeleton-line {
1473
+ block-size: var(--skeleton-block-height);
1474
+ inline-size: var(--chat-bubble-max-inline-size);
1475
+ max-inline-size: 100%;
1476
+ }
1477
+
1478
+ .ui-chat-bubble-skeleton-line--short {
1479
+ inline-size: var(--chat-bubble-skeleton-short-inline-size);
1480
+ }
1481
+
1482
+ .ui-chat-bubble-list {
1483
+ position: relative;
1484
+ display: flex;
1485
+ min-block-size: 0;
1486
+ flex-direction: column;
1487
+
1488
+ block-size: 100%;
1489
+ }
1490
+
1491
+ .ui-chat-bubble-list-scroller {
1492
+ min-block-size: 0;
1493
+ flex: 1 1 auto;
1494
+ }
1495
+
1496
+ .ui-chat-bubble-list-feed {
1497
+ display: flex;
1498
+ flex-direction: column;
1499
+ gap: var(--chat-bubble-list-gap);
1500
+ }
1501
+
1502
+ .ui-chat-bubble-list-jump {
1503
+ position: absolute;
1504
+ display: flex;
1505
+ inset-inline: 0;
1506
+ inset-block-end: var(--chat-bubble-list-jump-inset);
1507
+ justify-content: center;
1508
+ pointer-events: none;
1509
+ }
1510
+
1511
+ .ui-chat-bubble-list-jump > * {
1512
+ pointer-events: auto;
1513
+ }
1514
+ }
1515
+
1516
+ @layer components {
1517
+ .ui-tree {
1518
+ display: flex;
1519
+ flex-direction: column;
1520
+ font-size: var(--tree-node-font-size);
1521
+ }
1522
+
1523
+ .ui-tree-node {
1524
+ display: flex;
1525
+ align-items: center;
1526
+ gap: var(--tree-node-gap);
1527
+
1528
+ min-block-size: var(--tree-node-height, var(--control-height));
1529
+ border-radius: var(--tree-node-radius);
1530
+ padding-inline: var(--tree-node-padding-inline);
1531
+
1532
+ padding-inline-start: calc(
1533
+ var(--tree-node-padding-inline) + var(--tree-node-level, 0) * var(--tree-indent-width)
1534
+ );
1535
+ cursor: pointer;
1536
+ }
1537
+
1538
+ .ui-tree-node:hover {
1539
+ background: var(--tree-node-hover-background, hsl(var(--accent)));
1540
+ }
1541
+
1542
+ .ui-tree-node[data-selected="true"] {
1543
+ background: var(--tree-node-selected-background, hsl(var(--accent)));
1544
+ color: var(--tree-node-selected-foreground, hsl(var(--accent-foreground)));
1545
+ font-weight: var(--font-weight-medium);
1546
+ }
1547
+
1548
+ .ui-tree-node[data-disabled] {
1549
+ cursor: not-allowed;
1550
+ opacity: var(--disabled-opacity);
1551
+ }
1552
+
1553
+ .ui-tree-switcher {
1554
+ display: inline-flex;
1555
+ flex: none;
1556
+ align-items: center;
1557
+ justify-content: center;
1558
+ inline-size: var(--tree-switcher-size);
1559
+ block-size: var(--tree-switcher-size);
1560
+ color: var(--tree-switcher-color, hsl(var(--muted-foreground)));
1561
+ }
1562
+
1563
+ .ui-tree-switcher > svg {
1564
+ inline-size: var(--tree-icon-size);
1565
+ block-size: var(--tree-icon-size);
1566
+ }
1567
+
1568
+ .ui-tree-switcher[data-leaf] {
1569
+ cursor: default;
1570
+ }
1571
+
1572
+ .ui-tree-check {
1573
+ display: inline-flex;
1574
+ flex: none;
1575
+ align-items: center;
1576
+ }
1577
+
1578
+ .ui-tree-icon {
1579
+ display: inline-flex;
1580
+ flex: none;
1581
+ align-items: center;
1582
+ color: hsl(var(--muted-foreground));
1583
+ }
1584
+
1585
+ .ui-tree-icon > svg {
1586
+ inline-size: var(--tree-icon-size);
1587
+ block-size: var(--tree-icon-size);
1588
+ }
1589
+
1590
+ .ui-tree-label {
1591
+ overflow: hidden;
1592
+ flex: 1;
1593
+ text-overflow: ellipsis;
1594
+ white-space: nowrap;
1595
+ }
1596
+
1597
+ .ui-tree-group {
1598
+ display: flex;
1599
+ flex-direction: column;
1600
+ }
1601
+
1602
+ .ui-tree[data-show-line="true"] .ui-tree-group {
1603
+ position: relative;
1604
+ }
1605
+
1606
+ .ui-tree[data-show-line="true"] .ui-tree-group::before {
1607
+ position: absolute;
1608
+ inset-block: 0;
1609
+
1610
+ inset-inline-start: calc(
1611
+ var(--tree-node-padding-inline) + (var(--tree-node-level, 1) - 1) * var(--tree-indent-width) +
1612
+ var(--tree-switcher-size) / 2
1613
+ );
1614
+ border-inline-start: 1px solid var(--tree-line-color, hsl(var(--border)));
1615
+ content: "";
1616
+ }
1617
+
1618
+ .ui-tree-loading {
1619
+ display: flex;
1620
+ align-items: center;
1621
+ min-block-size: var(--tree-node-height, var(--control-height));
1622
+ padding-inline-start: calc(
1623
+ var(--tree-node-padding-inline) + var(--tree-node-level, 0) * var(--tree-indent-width) +
1624
+ var(--tree-switcher-size)
1625
+ );
1626
+ }
1627
+
1628
+ .ui-tree-loading-bar {
1629
+ block-size: var(--tree-icon-size);
1630
+ inline-size: var(--tree-loading-bar-inline-size);
1631
+ }
1632
+
1633
+ .ui-tree-empty {
1634
+ padding-block: var(--space-4);
1635
+ padding-inline: var(--tree-node-padding-inline);
1636
+ color: hsl(var(--muted-foreground));
1637
+ }
1638
+
1639
+ .ui-tree[data-size="xs"] {
1640
+ --tree-node-height: var(--control-height-xs);
1641
+ --tree-node-font-size: var(--font-size-xs);
1642
+ }
1643
+
1644
+ .ui-tree[data-size="sm"] {
1645
+ --tree-node-height: var(--control-height-sm);
1646
+ }
1647
+
1648
+ .ui-tree[data-size="lg"] {
1649
+ --tree-node-height: var(--control-height-lg);
1650
+ }
1651
+
1652
+ .ui-tree[data-variant="directory"] .ui-tree-node[data-selected="true"] {
1653
+ background: var(--tree-node-selected-background, hsl(var(--primary) / 0.12));
1654
+ }
1655
+ }
@@ -480,4 +480,68 @@
480
480
  max-block-size: var(--branch-scope-picker-list-max-height);
481
481
  overflow-y: auto;
482
482
  }
483
+
484
+ .ui-chat-composer {
485
+ display: flex;
486
+ flex-direction: column;
487
+ gap: var(--chat-composer-gap);
488
+ inline-size: 100%;
489
+ padding-block: var(--chat-composer-padding-block);
490
+ padding-inline: var(--chat-composer-padding-inline);
491
+ border-width: var(--control-border-width);
492
+ border-style: solid;
493
+ border-radius: var(--chat-composer-radius, var(--control-radius));
494
+ }
495
+
496
+ .ui-chat-composer[data-disabled] {
497
+ cursor: not-allowed;
498
+ opacity: var(--disabled-opacity);
499
+ }
500
+
501
+ .ui-chat-composer-header {
502
+ padding-block-end: var(--chat-composer-gap);
503
+ border-block-end: var(
504
+ --chat-composer-header-border,
505
+ var(--control-border-width) solid hsl(var(--border))
506
+ );
507
+ }
508
+
509
+ .ui-chat-composer-row {
510
+ display: flex;
511
+ align-items: flex-end;
512
+ gap: var(--chat-composer-row-gap);
513
+ }
514
+
515
+ .ui-chat-composer-prefix,
516
+ .ui-chat-composer-actions {
517
+ display: flex;
518
+ flex-shrink: 0;
519
+ align-items: center;
520
+ gap: var(--chat-composer-row-gap);
521
+ }
522
+
523
+ .ui-chat-composer-field {
524
+ flex: 1 1 auto;
525
+ min-inline-size: 0;
526
+ }
527
+
528
+ .ui-chat-composer .ui-textarea-autogrow::after {
529
+ min-block-size: var(--chat-composer-min-height, var(--control-height));
530
+ max-block-size: var(--chat-composer-max-height, calc(var(--control-height) * 5));
531
+ }
532
+
533
+ .ui-chat-composer-footer {
534
+ font-size: var(--chat-composer-footer-font-size);
535
+ }
536
+
537
+ }
538
+
539
+ @layer components {
540
+
541
+ .ui-chat-suggestion-item-text {
542
+ display: flex;
543
+ flex-direction: column;
544
+ min-inline-size: 0;
545
+ text-align: start;
546
+ }
483
547
  }
@@ -12,7 +12,8 @@
12
12
  "sidebar footer";
13
13
  grid-template-columns: var(--app-shell-sidebar-width) minmax(0, 1fr);
14
14
  grid-template-rows: var(--app-shell-bar-height) minmax(0, 1fr) auto;
15
- height: 100vh;
15
+
16
+ height: calc(100vh - var(--app-shell-viewport-inset, 0px));
16
17
  background: hsl(var(--background));
17
18
  }
18
19
 
@@ -1136,6 +1137,7 @@
1136
1137
 
1137
1138
  [data-slot="dialog-content"].ui-org-switcher-dialog {
1138
1139
 
1140
+ --dialog-space-x: var(--org-switcher-sheet-inset);
1139
1141
  --dialog-space-inset: var(--dialog-space-y) var(--org-switcher-sheet-inset);
1140
1142
  --org-switcher-list-offset: var(--org-switcher-sheet-inset);
1141
1143
  max-inline-size: var(--org-switcher-dialog-width);
@@ -1171,14 +1173,38 @@
1171
1173
 
1172
1174
  .ui-org-switcher-command .ui-command-item {
1173
1175
  border-radius: 0;
1174
- margin-inline: 0;
1175
- padding-inline: var(--command-input-padding-x);
1176
+ margin-inline: calc(-1 * var(--org-switcher-list-inset));
1177
+ padding-inline: calc(var(--org-switcher-list-inset) + var(--command-input-padding-x));
1176
1178
  }
1177
1179
 
1178
1180
  .ui-org-switcher-command .ui-command-item + .ui-command-item {
1179
1181
  border-block-start: 1px solid hsl(var(--border));
1180
1182
  }
1181
1183
 
1184
+ [data-slot="dialog-footer"]:has(> .ui-org-switcher-legend),
1185
+ [data-slot="sheet-footer"]:has(> .ui-org-switcher-legend) {
1186
+ justify-content: flex-start;
1187
+ }
1188
+
1189
+ .ui-org-switcher-legend {
1190
+ display: flex;
1191
+ flex-wrap: wrap;
1192
+ align-items: center;
1193
+ gap: var(--org-switcher-legend-space-gap);
1194
+ color: hsl(var(--muted-foreground));
1195
+ font-size: var(--org-switcher-legend-font-size);
1196
+ }
1197
+
1198
+ .ui-org-switcher-hint {
1199
+ display: inline-flex;
1200
+ align-items: center;
1201
+ gap: var(--org-switcher-hint-space-gap);
1202
+ }
1203
+
1204
+ .ui-org-switcher-hint > .kbd {
1205
+ margin-inline-start: 0;
1206
+ }
1207
+
1182
1208
  .ui-org-switcher-state {
1183
1209
  display: flex;
1184
1210
  min-height: var(--org-switcher-state-min-height);
@@ -1218,14 +1244,17 @@
1218
1244
  --app-launcher-launchpad-backdrop-background,
1219
1245
  color-mix(
1220
1246
  in srgb,
1221
- var(--overlay-background) var(--app-launcher-launchpad-backdrop-alpha),
1247
+ hsl(var(--background)) var(--app-launcher-launchpad-backdrop-alpha),
1222
1248
  transparent
1223
1249
  )
1224
1250
  );
1225
- backdrop-filter: blur(var(--app-launcher-launchpad-backdrop-blur-size));
1251
+ backdrop-filter: blur(var(--app-launcher-launchpad-backdrop-blur-size))
1252
+ saturate(var(--app-launcher-launchpad-backdrop-color-saturate));
1226
1253
 
1227
1254
  display: grid;
1228
- place-items: center;
1255
+
1256
+ padding: var(--app-launcher-launchpad-space-safe-area);
1257
+ place-items: start;
1229
1258
  }
1230
1259
 
1231
1260
  [data-slot="dialog-content"].ui-app-launcher-launchpad {
@@ -1238,7 +1267,7 @@
1238
1267
  calc(100vw - 2 * var(--app-launcher-launchpad-space-inset))
1239
1268
  );
1240
1269
  max-height: calc(100dvh - 2 * var(--app-launcher-launchpad-space-inset));
1241
- justify-items: center;
1270
+ justify-items: start;
1242
1271
  transform: none;
1243
1272
  border: 0;
1244
1273
  border-radius: 0;
@@ -1286,8 +1315,7 @@
1286
1315
  var(--app-launcher-launchpad-grid-gap)
1287
1316
  ) - var(--app-launcher-launchpad-grid-gap)
1288
1317
  );
1289
- justify-content: center;
1290
- justify-self: center;
1318
+ justify-content: start;
1291
1319
  gap: var(--app-launcher-launchpad-grid-gap);
1292
1320
  }
1293
1321
 
@@ -1313,7 +1341,9 @@
1313
1341
  box-shadow: var(--app-launcher-launchpad-mark-shadow);
1314
1342
  color: hsl(var(--foreground));
1315
1343
  font-size: var(--app-launcher-launchpad-mark-font-size);
1316
- backdrop-filter: blur(var(--app-launcher-launchpad-backdrop-blur-size));
1344
+
1345
+ backdrop-filter: blur(calc(var(--app-launcher-launchpad-backdrop-blur-size) / 2))
1346
+ saturate(var(--app-launcher-launchpad-backdrop-color-saturate));
1317
1347
  }
1318
1348
 
1319
1349
  .ui-app-launcher-launchpad .ui-app-launcher-group {
@@ -1329,7 +1359,7 @@
1329
1359
  }
1330
1360
 
1331
1361
  .ui-app-launcher-launchpad [data-slot="dialog-header"] {
1332
- align-items: center;
1362
+ align-items: start;
1333
1363
  }
1334
1364
 
1335
1365
  .ui-app-launcher-launchpad [data-slot="dialog-close"] {
@@ -22,9 +22,11 @@
22
22
  @import "./components/data-display.css";
23
23
  @import "./components/scroll-area.css";
24
24
  @import "./components/list-row.css";
25
+ @import "./components/chat-bubble.css";
25
26
  @import "./components/logo.css";
26
27
  @import "./components/email.css";
27
28
  @import "./components/data-entry.css";
29
+ @import "./components/chat-composer.css";
28
30
  @import "./components/upload.css";
29
31
  @import "./components/shell.css";
30
32
  @import "./components/separator.css";
@@ -33,3 +35,4 @@
33
35
  @import "./components/error-surface.css";
34
36
  @import "./components/activity.css";
35
37
  @import "./components/text.css";
38
+ @import "./components/tree.css";
@@ -0,0 +1,36 @@
1
+
2
+ :root {
3
+
4
+ --chat-bubble-background: initial;
5
+
6
+ --chat-bubble-foreground: initial;
7
+
8
+ --chat-bubble-border-color: initial;
9
+ --chat-bubble-radius: var(--radius-lg);
10
+
11
+ --chat-bubble-gap: var(--space-3);
12
+
13
+ --chat-bubble-max-inline-size: 34rem;
14
+
15
+ --chat-bubble-avatar-size: initial;
16
+
17
+ --chat-bubble-padding-block: var(--space-2);
18
+ --chat-bubble-padding-inline: var(--space-3);
19
+
20
+ --chat-bubble-list-gap: var(--space-4);
21
+
22
+ --chat-bubble-list-jump-inset: var(--space-3);
23
+
24
+ --chat-bubble-typing-caret-color: initial;
25
+ --chat-bubble-typing-caret-width: var(--stroke-md);
26
+
27
+ --chat-bubble-typing-caret-height: 1em;
28
+
29
+ --chat-bubble-skeleton-short-inline-size: 60%;
30
+
31
+ --chat-bubble-tone-background-alpha: 0.08;
32
+ --chat-bubble-tone-border-alpha: 0.35;
33
+
34
+ --chat-bubble-end-background: initial;
35
+ --chat-bubble-end-foreground: initial;
36
+ }
@@ -0,0 +1,19 @@
1
+
2
+ :root {
3
+
4
+ --chat-composer-min-height: initial;
5
+ --chat-composer-max-height: initial;
6
+
7
+ --chat-composer-gap: var(--space-2);
8
+
9
+ --chat-composer-padding-block: var(--space-2);
10
+ --chat-composer-padding-inline: var(--space-2);
11
+
12
+ --chat-composer-row-gap: var(--space-2);
13
+
14
+ --chat-composer-radius: initial;
15
+
16
+ --chat-composer-header-border: initial;
17
+
18
+ --chat-composer-footer-font-size: var(--font-size-xs);
19
+ }
@@ -31,9 +31,6 @@
31
31
  --prose-code-space-inline: var(--space-1);
32
32
  --prose-code-radius: var(--radius-sm);
33
33
  --prose-image-radius: var(--radius-md);
34
- --tree-item-indent-width: var(--space-5);
35
- --tree-item-title-font-size: var(--font-size-xs);
36
- --tree-item-description-font-size: var(--font-size-xs);
37
34
  --timeline-note-font-size: var(--font-size-xs);
38
35
 
39
36
  --avatar-background: initial;
@@ -80,9 +77,6 @@
80
77
  --timeline-dot-current-background: initial;
81
78
  --timeline-line-completed-background: initial;
82
79
 
83
- --tree-item-active-border: initial;
84
- --tree-item-active-background: initial;
85
-
86
80
  --qr-code-foreground: 0 0% 0%;
87
81
  --qr-code-background: 0 0% 100%;
88
82
  --qr-code-size-xs: 6rem;
@@ -14,6 +14,10 @@
14
14
 
15
15
  --descriptions-value-line-height: calc(1.25 / 0.875);
16
16
 
17
+ --descriptions-label-font-size: var(--descriptions-value-font-size);
18
+
19
+ --descriptions-label-line-height: var(--descriptions-value-line-height);
20
+
17
21
  --descriptions-row-border: none;
18
22
  --descriptions-row-min-height: auto;
19
23