@putdotio/design 1.4.0 → 1.5.1

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.
@@ -354,7 +354,7 @@
354
354
  "input": {
355
355
  "background": {
356
356
  "$type": "color",
357
- "$value": "{surface.light.appBg}",
357
+ "$value": "{component.field.background}",
358
358
  "$extensions": {
359
359
  "putio": {
360
360
  "cssName": "input-bg",
@@ -364,7 +364,7 @@
364
364
  },
365
365
  "backgroundDark": {
366
366
  "$type": "color",
367
- "$value": "{surface.dark.appBg}",
367
+ "$value": "{component.field.backgroundDark}",
368
368
  "$extensions": {
369
369
  "putio": {
370
370
  "cssName": "input-bg",
@@ -374,7 +374,7 @@
374
374
  },
375
375
  "border": {
376
376
  "$type": "color",
377
- "$value": "{color.neutral.light.border}",
377
+ "$value": "{component.field.border}",
378
378
  "$extensions": {
379
379
  "putio": {
380
380
  "cssName": "input-border",
@@ -384,7 +384,7 @@
384
384
  },
385
385
  "borderDark": {
386
386
  "$type": "color",
387
- "$value": "{color.neutral.dark.border}",
387
+ "$value": "{component.field.borderDark}",
388
388
  "$extensions": {
389
389
  "putio": {
390
390
  "cssName": "input-border",
@@ -394,13 +394,114 @@
394
394
  },
395
395
  "radius": {
396
396
  "$type": "dimension",
397
- "$value": "{radius.default}",
397
+ "$value": "{component.field.radius}",
398
398
  "$extensions": {
399
399
  "putio": {
400
400
  "cssName": "input-radius",
401
401
  "mode": "global"
402
402
  }
403
403
  }
404
+ },
405
+ "borderHover": {
406
+ "$type": "color",
407
+ "$value": "{component.field.borderHover}",
408
+ "$description": "shadcn-friendly alias of --field-border-hover. Always aliases the field token so the two name systems cannot drift.",
409
+ "$extensions": {
410
+ "putio": {
411
+ "cssName": "input-border-hover",
412
+ "mode": "light"
413
+ }
414
+ }
415
+ },
416
+ "borderHoverDark": {
417
+ "$type": "color",
418
+ "$value": "{component.field.borderHoverDark}",
419
+ "$extensions": {
420
+ "putio": {
421
+ "cssName": "input-border-hover",
422
+ "mode": "dark"
423
+ }
424
+ }
425
+ },
426
+ "borderFocus": {
427
+ "$type": "color",
428
+ "$value": "{component.field.borderFocus}",
429
+ "$extensions": {
430
+ "putio": {
431
+ "cssName": "input-border-focus",
432
+ "mode": "light"
433
+ }
434
+ }
435
+ },
436
+ "borderFocusDark": {
437
+ "$type": "color",
438
+ "$value": "{component.field.borderFocusDark}",
439
+ "$extensions": {
440
+ "putio": {
441
+ "cssName": "input-border-focus",
442
+ "mode": "dark"
443
+ }
444
+ }
445
+ },
446
+ "ring": {
447
+ "$type": "string",
448
+ "$value": "{component.field.ring}",
449
+ "$extensions": {
450
+ "putio": {
451
+ "cssName": "input-ring",
452
+ "mode": "light"
453
+ }
454
+ }
455
+ },
456
+ "ringDark": {
457
+ "$type": "string",
458
+ "$value": "{component.field.ringDark}",
459
+ "$extensions": {
460
+ "putio": {
461
+ "cssName": "input-ring",
462
+ "mode": "dark"
463
+ }
464
+ }
465
+ },
466
+ "text": {
467
+ "$type": "color",
468
+ "$value": "{component.field.text}",
469
+ "$extensions": {
470
+ "putio": {
471
+ "cssName": "input-text",
472
+ "mode": "light"
473
+ }
474
+ }
475
+ },
476
+ "textDark": {
477
+ "$type": "color",
478
+ "$value": "{component.field.textDark}",
479
+ "$extensions": {
480
+ "putio": {
481
+ "cssName": "input-text",
482
+ "mode": "dark"
483
+ }
484
+ }
485
+ },
486
+ "placeholder": {
487
+ "$type": "color",
488
+ "$value": "{component.field.placeholder}",
489
+ "$extensions": {
490
+ "putio": {
491
+ "cssName": "input-placeholder",
492
+ "mode": "light"
493
+ }
494
+ }
495
+ },
496
+ "placeholderDark": {
497
+ "$type": "color",
498
+ "$value": "{component.field.placeholderDark}",
499
+ "$extensions": {
500
+ "putio": {
501
+ "cssName": "input-placeholder",
502
+ "mode": "dark"
503
+ }
504
+ }
404
505
  }
405
506
  },
406
507
  "field": {
@@ -572,6 +673,18 @@
572
673
  }
573
674
  }
574
675
  },
676
+ "radius": {
677
+ "$type": "dimension",
678
+ "$value": "{radius.default}",
679
+ "$description": "Shared form-control radius.",
680
+ "$extensions": {
681
+ "putio": {
682
+ "cssName": "field-radius",
683
+ "mode": "global",
684
+ "figma": false
685
+ }
686
+ }
687
+ },
575
688
  "ring": {
576
689
  "$type": "string",
577
690
  "$value": "0 0 0 1px {color.neutral.light.borderHover}",
@@ -1135,9 +1248,51 @@
1135
1248
  }
1136
1249
  }
1137
1250
  },
1251
+ "activeBackground": {
1252
+ "$type": "color",
1253
+ "$value": "{surface.light.listItemBgActive}",
1254
+ "$extensions": {
1255
+ "putio": {
1256
+ "cssName": "file-row-bg-active",
1257
+ "mode": "light"
1258
+ }
1259
+ }
1260
+ },
1261
+ "activeBackgroundDark": {
1262
+ "$type": "color",
1263
+ "$value": "{surface.dark.listItemBgActive}",
1264
+ "$extensions": {
1265
+ "putio": {
1266
+ "cssName": "file-row-bg-active",
1267
+ "mode": "dark"
1268
+ }
1269
+ }
1270
+ },
1271
+ "border": {
1272
+ "$type": "color",
1273
+ "$value": "{surface.light.listItemBorder}",
1274
+ "$description": "Row divider. File lists divide with a hairline, never zebra stripes or per-row cards.",
1275
+ "$extensions": {
1276
+ "putio": {
1277
+ "cssName": "file-row-border",
1278
+ "mode": "light"
1279
+ }
1280
+ }
1281
+ },
1282
+ "borderDark": {
1283
+ "$type": "color",
1284
+ "$value": "{surface.dark.listItemBorder}",
1285
+ "$extensions": {
1286
+ "putio": {
1287
+ "cssName": "file-row-border",
1288
+ "mode": "dark"
1289
+ }
1290
+ }
1291
+ },
1138
1292
  "icon": {
1139
1293
  "$type": "color",
1140
1294
  "$value": "{color.brand.yellow}",
1295
+ "$description": "Every file kind takes this, not just the folder — folder, video, audio, image, archive, generic file alike. Utility and chrome icons stay neutral.",
1141
1296
  "$extensions": {
1142
1297
  "putio": {
1143
1298
  "cssName": "file-row-icon",
@@ -1162,81 +1317,732 @@
1162
1317
  "$value": "{color.neutral.dark.componentBg}",
1163
1318
  "$extensions": {
1164
1319
  "putio": {
1165
- "cssName": "notification-info-bg",
1320
+ "cssName": "notification-info-bg",
1321
+ "mode": "dark"
1322
+ }
1323
+ }
1324
+ },
1325
+ "dangerBackground": {
1326
+ "$type": "color",
1327
+ "$value": "{color.red.light.componentBg}",
1328
+ "$extensions": {
1329
+ "putio": {
1330
+ "cssName": "notification-danger-bg",
1331
+ "mode": "light"
1332
+ }
1333
+ }
1334
+ },
1335
+ "dangerBackgroundDark": {
1336
+ "$type": "color",
1337
+ "$value": "{color.red.dark.componentBg}",
1338
+ "$extensions": {
1339
+ "putio": {
1340
+ "cssName": "notification-danger-bg",
1341
+ "mode": "dark"
1342
+ }
1343
+ }
1344
+ },
1345
+ "background": {
1346
+ "$type": "color",
1347
+ "$value": "{color.neutral.light.componentBg}",
1348
+ "$description": "Default toast / inline notification surface.",
1349
+ "$extensions": {
1350
+ "putio": {
1351
+ "cssName": "notification-bg",
1352
+ "mode": "light"
1353
+ }
1354
+ }
1355
+ },
1356
+ "backgroundDark": {
1357
+ "$type": "color",
1358
+ "$value": "{color.neutral.dark.componentBg}",
1359
+ "$extensions": {
1360
+ "putio": {
1361
+ "cssName": "notification-bg",
1362
+ "mode": "dark"
1363
+ }
1364
+ }
1365
+ },
1366
+ "border": {
1367
+ "$type": "color",
1368
+ "$value": "{color.neutral.light.line}",
1369
+ "$extensions": {
1370
+ "putio": {
1371
+ "cssName": "notification-border",
1372
+ "mode": "light"
1373
+ }
1374
+ }
1375
+ },
1376
+ "borderDark": {
1377
+ "$type": "color",
1378
+ "$value": "{color.neutral.dark.line}",
1379
+ "$extensions": {
1380
+ "putio": {
1381
+ "cssName": "notification-border",
1382
+ "mode": "dark"
1383
+ }
1384
+ }
1385
+ },
1386
+ "foreground": {
1387
+ "$type": "color",
1388
+ "$value": "{color.neutral.light.text}",
1389
+ "$extensions": {
1390
+ "putio": {
1391
+ "cssName": "notification-fg",
1392
+ "mode": "light"
1393
+ }
1394
+ }
1395
+ },
1396
+ "foregroundDark": {
1397
+ "$type": "color",
1398
+ "$value": "{color.neutral.dark.text}",
1399
+ "$extensions": {
1400
+ "putio": {
1401
+ "cssName": "notification-fg",
1402
+ "mode": "dark"
1403
+ }
1404
+ }
1405
+ },
1406
+ "icon": {
1407
+ "$type": "color",
1408
+ "$value": "{color.neutral.light.textSecondary}",
1409
+ "$extensions": {
1410
+ "putio": {
1411
+ "cssName": "notification-icon",
1412
+ "mode": "light"
1413
+ }
1414
+ }
1415
+ },
1416
+ "iconDark": {
1417
+ "$type": "color",
1418
+ "$value": "{color.neutral.dark.textSecondary}",
1419
+ "$extensions": {
1420
+ "putio": {
1421
+ "cssName": "notification-icon",
1422
+ "mode": "dark"
1423
+ }
1424
+ }
1425
+ },
1426
+ "successBackground": {
1427
+ "$type": "color",
1428
+ "$value": "{color.green.light.bgSecondary}",
1429
+ "$extensions": {
1430
+ "putio": {
1431
+ "cssName": "notification-success-bg",
1432
+ "mode": "light"
1433
+ }
1434
+ }
1435
+ },
1436
+ "successBackgroundDark": {
1437
+ "$type": "color",
1438
+ "$value": "{color.green.dark.bgSecondary}",
1439
+ "$extensions": {
1440
+ "putio": {
1441
+ "cssName": "notification-success-bg",
1442
+ "mode": "dark"
1443
+ }
1444
+ }
1445
+ },
1446
+ "successBorder": {
1447
+ "$type": "color",
1448
+ "$value": "{color.green.light.border}",
1449
+ "$extensions": {
1450
+ "putio": {
1451
+ "cssName": "notification-success-border",
1452
+ "mode": "light"
1453
+ }
1454
+ }
1455
+ },
1456
+ "successBorderDark": {
1457
+ "$type": "color",
1458
+ "$value": "{color.green.dark.border}",
1459
+ "$extensions": {
1460
+ "putio": {
1461
+ "cssName": "notification-success-border",
1462
+ "mode": "dark"
1463
+ }
1464
+ }
1465
+ },
1466
+ "successForeground": {
1467
+ "$type": "color",
1468
+ "$value": "{color.green.light.text}",
1469
+ "$extensions": {
1470
+ "putio": {
1471
+ "cssName": "notification-success-fg",
1472
+ "mode": "light"
1473
+ }
1474
+ }
1475
+ },
1476
+ "successForegroundDark": {
1477
+ "$type": "color",
1478
+ "$value": "{color.green.dark.text}",
1479
+ "$extensions": {
1480
+ "putio": {
1481
+ "cssName": "notification-success-fg",
1482
+ "mode": "dark"
1483
+ }
1484
+ }
1485
+ },
1486
+ "dangerBorder": {
1487
+ "$type": "color",
1488
+ "$value": "{color.red.light.border}",
1489
+ "$extensions": {
1490
+ "putio": {
1491
+ "cssName": "notification-danger-border",
1492
+ "mode": "light"
1493
+ }
1494
+ }
1495
+ },
1496
+ "dangerBorderDark": {
1497
+ "$type": "color",
1498
+ "$value": "{color.red.dark.border}",
1499
+ "$extensions": {
1500
+ "putio": {
1501
+ "cssName": "notification-danger-border",
1502
+ "mode": "dark"
1503
+ }
1504
+ }
1505
+ },
1506
+ "dangerForeground": {
1507
+ "$type": "color",
1508
+ "$value": "{color.red.light.text}",
1509
+ "$extensions": {
1510
+ "putio": {
1511
+ "cssName": "notification-danger-fg",
1512
+ "mode": "light"
1513
+ }
1514
+ }
1515
+ },
1516
+ "dangerForegroundDark": {
1517
+ "$type": "color",
1518
+ "$value": "{color.red.dark.text}",
1519
+ "$extensions": {
1520
+ "putio": {
1521
+ "cssName": "notification-danger-fg",
1522
+ "mode": "dark"
1523
+ }
1524
+ }
1525
+ }
1526
+ },
1527
+ "menu": {
1528
+ "background": {
1529
+ "$type": "color",
1530
+ "$value": "{color.neutral.light.componentBg}",
1531
+ "$description": "Floating menu surface.",
1532
+ "$extensions": {
1533
+ "putio": {
1534
+ "cssName": "menu-bg",
1535
+ "mode": "light"
1536
+ }
1537
+ }
1538
+ },
1539
+ "backgroundDark": {
1540
+ "$type": "color",
1541
+ "$value": "{color.neutral.dark.componentBg}",
1542
+ "$extensions": {
1543
+ "putio": {
1544
+ "cssName": "menu-bg",
1545
+ "mode": "dark"
1546
+ }
1547
+ }
1548
+ },
1549
+ "border": {
1550
+ "$type": "color",
1551
+ "$value": "{color.neutral.light.line}",
1552
+ "$extensions": {
1553
+ "putio": {
1554
+ "cssName": "menu-border",
1555
+ "mode": "light"
1556
+ }
1557
+ }
1558
+ },
1559
+ "borderDark": {
1560
+ "$type": "color",
1561
+ "$value": "{color.neutral.dark.line}",
1562
+ "$extensions": {
1563
+ "putio": {
1564
+ "cssName": "menu-border",
1565
+ "mode": "dark"
1566
+ }
1567
+ }
1568
+ },
1569
+ "radius": {
1570
+ "$type": "dimension",
1571
+ "$value": "{radius.md}",
1572
+ "$extensions": {
1573
+ "putio": {
1574
+ "cssName": "menu-radius",
1575
+ "mode": "global"
1576
+ }
1577
+ }
1578
+ },
1579
+ "shadow": {
1580
+ "$type": "string",
1581
+ "$value": "{elevation.lg}",
1582
+ "$extensions": {
1583
+ "putio": {
1584
+ "cssName": "menu-shadow",
1585
+ "mode": "light"
1586
+ }
1587
+ }
1588
+ },
1589
+ "shadowDark": {
1590
+ "$type": "string",
1591
+ "$value": "{surface.dark.shadowLg}",
1592
+ "$extensions": {
1593
+ "putio": {
1594
+ "cssName": "menu-shadow",
1595
+ "mode": "dark"
1596
+ }
1597
+ }
1598
+ },
1599
+ "itemBackgroundHover": {
1600
+ "$type": "color",
1601
+ "$value": "{color.neutral.light.componentBgHover}",
1602
+ "$extensions": {
1603
+ "putio": {
1604
+ "cssName": "menu-item-bg-hover",
1605
+ "mode": "light"
1606
+ }
1607
+ }
1608
+ },
1609
+ "itemBackgroundHoverDark": {
1610
+ "$type": "color",
1611
+ "$value": "{color.neutral.dark.componentBgHover}",
1612
+ "$extensions": {
1613
+ "putio": {
1614
+ "cssName": "menu-item-bg-hover",
1615
+ "mode": "dark"
1616
+ }
1617
+ }
1618
+ },
1619
+ "itemText": {
1620
+ "$type": "color",
1621
+ "$value": "{color.neutral.light.text}",
1622
+ "$extensions": {
1623
+ "putio": {
1624
+ "cssName": "menu-item-text",
1625
+ "mode": "light"
1626
+ }
1627
+ }
1628
+ },
1629
+ "itemTextDark": {
1630
+ "$type": "color",
1631
+ "$value": "{color.neutral.dark.text}",
1632
+ "$extensions": {
1633
+ "putio": {
1634
+ "cssName": "menu-item-text",
1635
+ "mode": "dark"
1636
+ }
1637
+ }
1638
+ },
1639
+ "itemIcon": {
1640
+ "$type": "color",
1641
+ "$value": "{color.neutral.light.textSecondary}",
1642
+ "$extensions": {
1643
+ "putio": {
1644
+ "cssName": "menu-item-icon",
1645
+ "mode": "light"
1646
+ }
1647
+ }
1648
+ },
1649
+ "itemIconDark": {
1650
+ "$type": "color",
1651
+ "$value": "{color.neutral.dark.textSecondary}",
1652
+ "$extensions": {
1653
+ "putio": {
1654
+ "cssName": "menu-item-icon",
1655
+ "mode": "dark"
1656
+ }
1657
+ }
1658
+ },
1659
+ "itemShortcut": {
1660
+ "$type": "color",
1661
+ "$value": "{color.neutral.light.textSecondary}",
1662
+ "$extensions": {
1663
+ "putio": {
1664
+ "cssName": "menu-item-shortcut",
1665
+ "mode": "light"
1666
+ }
1667
+ }
1668
+ },
1669
+ "itemShortcutDark": {
1670
+ "$type": "color",
1671
+ "$value": "{color.neutral.dark.textSecondary}",
1672
+ "$extensions": {
1673
+ "putio": {
1674
+ "cssName": "menu-item-shortcut",
1675
+ "mode": "dark"
1676
+ }
1677
+ }
1678
+ },
1679
+ "itemDangerText": {
1680
+ "$type": "color",
1681
+ "$value": "{color.red.light.textSecondary}",
1682
+ "$extensions": {
1683
+ "putio": {
1684
+ "cssName": "menu-item-danger-text",
1685
+ "mode": "light"
1686
+ }
1687
+ }
1688
+ },
1689
+ "itemDangerTextDark": {
1690
+ "$type": "color",
1691
+ "$value": "{color.red.dark.textSecondary}",
1692
+ "$extensions": {
1693
+ "putio": {
1694
+ "cssName": "menu-item-danger-text",
1695
+ "mode": "dark"
1696
+ }
1697
+ }
1698
+ },
1699
+ "itemDangerBackgroundHover": {
1700
+ "$type": "color",
1701
+ "$value": "{color.red.light.componentBg}",
1702
+ "$extensions": {
1703
+ "putio": {
1704
+ "cssName": "menu-item-danger-bg-hover",
1705
+ "mode": "light"
1706
+ }
1707
+ }
1708
+ },
1709
+ "itemDangerBackgroundHoverDark": {
1710
+ "$type": "color",
1711
+ "$value": "{color.red.dark.componentBg}",
1712
+ "$extensions": {
1713
+ "putio": {
1714
+ "cssName": "menu-item-danger-bg-hover",
1715
+ "mode": "dark"
1716
+ }
1717
+ }
1718
+ },
1719
+ "itemHeight": {
1720
+ "$type": "dimension",
1721
+ "$value": "32px",
1722
+ "$extensions": {
1723
+ "putio": {
1724
+ "cssName": "menu-item-height",
1725
+ "mode": "global"
1726
+ }
1727
+ }
1728
+ },
1729
+ "separator": {
1730
+ "$type": "color",
1731
+ "$value": "{color.neutral.light.line}",
1732
+ "$extensions": {
1733
+ "putio": {
1734
+ "cssName": "menu-separator",
1735
+ "mode": "light"
1736
+ }
1737
+ }
1738
+ },
1739
+ "separatorDark": {
1740
+ "$type": "color",
1741
+ "$value": "{color.neutral.dark.line}",
1742
+ "$extensions": {
1743
+ "putio": {
1744
+ "cssName": "menu-separator",
1745
+ "mode": "dark"
1746
+ }
1747
+ }
1748
+ },
1749
+ "label": {
1750
+ "$type": "color",
1751
+ "$value": "{color.neutral.light.textSecondary}",
1752
+ "$extensions": {
1753
+ "putio": {
1754
+ "cssName": "menu-label",
1755
+ "mode": "light"
1756
+ }
1757
+ }
1758
+ },
1759
+ "labelDark": {
1760
+ "$type": "color",
1761
+ "$value": "{color.neutral.dark.textSecondary}",
1762
+ "$extensions": {
1763
+ "putio": {
1764
+ "cssName": "menu-label",
1765
+ "mode": "dark"
1766
+ }
1767
+ }
1768
+ }
1769
+ },
1770
+ "palette": {
1771
+ "background": {
1772
+ "$type": "color",
1773
+ "$value": "{color.neutral.light.componentBg}",
1774
+ "$description": "Command palette surface.",
1775
+ "$extensions": {
1776
+ "putio": {
1777
+ "cssName": "palette-bg",
1778
+ "mode": "light"
1779
+ }
1780
+ }
1781
+ },
1782
+ "backgroundDark": {
1783
+ "$type": "color",
1784
+ "$value": "{color.neutral.dark.componentBg}",
1785
+ "$extensions": {
1786
+ "putio": {
1787
+ "cssName": "palette-bg",
1788
+ "mode": "dark"
1789
+ }
1790
+ }
1791
+ },
1792
+ "border": {
1793
+ "$type": "color",
1794
+ "$value": "{color.neutral.light.line}",
1795
+ "$extensions": {
1796
+ "putio": {
1797
+ "cssName": "palette-border",
1798
+ "mode": "light"
1799
+ }
1800
+ }
1801
+ },
1802
+ "borderDark": {
1803
+ "$type": "color",
1804
+ "$value": "{color.neutral.dark.line}",
1805
+ "$extensions": {
1806
+ "putio": {
1807
+ "cssName": "palette-border",
1808
+ "mode": "dark"
1809
+ }
1810
+ }
1811
+ },
1812
+ "shadow": {
1813
+ "$type": "string",
1814
+ "$value": "{elevation.lg}",
1815
+ "$extensions": {
1816
+ "putio": {
1817
+ "cssName": "palette-shadow",
1818
+ "mode": "light"
1819
+ }
1820
+ }
1821
+ },
1822
+ "shadowDark": {
1823
+ "$type": "string",
1824
+ "$value": "{surface.dark.shadowLg}",
1825
+ "$extensions": {
1826
+ "putio": {
1827
+ "cssName": "palette-shadow",
1828
+ "mode": "dark"
1829
+ }
1830
+ }
1831
+ },
1832
+ "scrim": {
1833
+ "$type": "color",
1834
+ "$value": "{surface.light.overlayFull}",
1835
+ "$extensions": {
1836
+ "putio": {
1837
+ "cssName": "palette-scrim",
1838
+ "mode": "light"
1839
+ }
1840
+ }
1841
+ },
1842
+ "scrimDark": {
1843
+ "$type": "color",
1844
+ "$value": "{surface.dark.overlayFull}",
1845
+ "$extensions": {
1846
+ "putio": {
1847
+ "cssName": "palette-scrim",
1848
+ "mode": "dark"
1849
+ }
1850
+ }
1851
+ },
1852
+ "width": {
1853
+ "$type": "dimension",
1854
+ "$value": "560px",
1855
+ "$extensions": {
1856
+ "putio": {
1857
+ "cssName": "palette-width",
1858
+ "mode": "global"
1859
+ }
1860
+ }
1861
+ },
1862
+ "inputHeight": {
1863
+ "$type": "dimension",
1864
+ "$value": "48px",
1865
+ "$extensions": {
1866
+ "putio": {
1867
+ "cssName": "palette-input-height",
1868
+ "mode": "global"
1869
+ }
1870
+ }
1871
+ },
1872
+ "itemHeight": {
1873
+ "$type": "dimension",
1874
+ "$value": "36px",
1875
+ "$extensions": {
1876
+ "putio": {
1877
+ "cssName": "palette-item-height",
1878
+ "mode": "global"
1879
+ }
1880
+ }
1881
+ },
1882
+ "itemBackgroundActive": {
1883
+ "$type": "color",
1884
+ "$value": "{color.neutral.light.componentBgHover}",
1885
+ "$extensions": {
1886
+ "putio": {
1887
+ "cssName": "palette-item-bg-active",
1888
+ "mode": "light"
1889
+ }
1890
+ }
1891
+ },
1892
+ "itemBackgroundActiveDark": {
1893
+ "$type": "color",
1894
+ "$value": "{color.neutral.dark.componentBgHover}",
1895
+ "$extensions": {
1896
+ "putio": {
1897
+ "cssName": "palette-item-bg-active",
1898
+ "mode": "dark"
1899
+ }
1900
+ }
1901
+ },
1902
+ "groupLabel": {
1903
+ "$type": "color",
1904
+ "$value": "{color.neutral.light.textSecondary}",
1905
+ "$extensions": {
1906
+ "putio": {
1907
+ "cssName": "palette-group-label",
1908
+ "mode": "light"
1909
+ }
1910
+ }
1911
+ },
1912
+ "groupLabelDark": {
1913
+ "$type": "color",
1914
+ "$value": "{color.neutral.dark.textSecondary}",
1915
+ "$extensions": {
1916
+ "putio": {
1917
+ "cssName": "palette-group-label",
1918
+ "mode": "dark"
1919
+ }
1920
+ }
1921
+ },
1922
+ "itemMeta": {
1923
+ "$type": "color",
1924
+ "$value": "{color.neutral.light.textSecondary}",
1925
+ "$extensions": {
1926
+ "putio": {
1927
+ "cssName": "palette-item-meta",
1928
+ "mode": "light"
1929
+ }
1930
+ }
1931
+ },
1932
+ "itemMetaDark": {
1933
+ "$type": "color",
1934
+ "$value": "{color.neutral.dark.textSecondary}",
1935
+ "$extensions": {
1936
+ "putio": {
1937
+ "cssName": "palette-item-meta",
1938
+ "mode": "dark"
1939
+ }
1940
+ }
1941
+ }
1942
+ },
1943
+ "sheet": {
1944
+ "background": {
1945
+ "$type": "color",
1946
+ "$value": "{color.neutral.light.componentBg}",
1947
+ "$description": "Right-side detail panel surface.",
1948
+ "$extensions": {
1949
+ "putio": {
1950
+ "cssName": "sheet-bg",
1951
+ "mode": "light"
1952
+ }
1953
+ }
1954
+ },
1955
+ "backgroundDark": {
1956
+ "$type": "color",
1957
+ "$value": "{color.neutral.dark.componentBg}",
1958
+ "$extensions": {
1959
+ "putio": {
1960
+ "cssName": "sheet-bg",
1961
+ "mode": "dark"
1962
+ }
1963
+ }
1964
+ },
1965
+ "border": {
1966
+ "$type": "color",
1967
+ "$value": "{color.neutral.light.line}",
1968
+ "$extensions": {
1969
+ "putio": {
1970
+ "cssName": "sheet-border",
1971
+ "mode": "light"
1972
+ }
1973
+ }
1974
+ },
1975
+ "borderDark": {
1976
+ "$type": "color",
1977
+ "$value": "{color.neutral.dark.line}",
1978
+ "$extensions": {
1979
+ "putio": {
1980
+ "cssName": "sheet-border",
1981
+ "mode": "dark"
1982
+ }
1983
+ }
1984
+ },
1985
+ "shadow": {
1986
+ "$type": "string",
1987
+ "$value": "{elevation.lg}",
1988
+ "$extensions": {
1989
+ "putio": {
1990
+ "cssName": "sheet-shadow",
1991
+ "mode": "light"
1992
+ }
1993
+ }
1994
+ },
1995
+ "shadowDark": {
1996
+ "$type": "string",
1997
+ "$value": "{surface.dark.shadowLg}",
1998
+ "$extensions": {
1999
+ "putio": {
2000
+ "cssName": "sheet-shadow",
1166
2001
  "mode": "dark"
1167
2002
  }
1168
2003
  }
1169
2004
  },
1170
- "dangerBackground": {
2005
+ "scrim": {
1171
2006
  "$type": "color",
1172
- "$value": "{color.red.light.componentBg}",
2007
+ "$value": "{surface.light.overlayFull}",
1173
2008
  "$extensions": {
1174
2009
  "putio": {
1175
- "cssName": "notification-danger-bg",
2010
+ "cssName": "sheet-scrim",
1176
2011
  "mode": "light"
1177
2012
  }
1178
2013
  }
1179
2014
  },
1180
- "dangerBackgroundDark": {
2015
+ "scrimDark": {
1181
2016
  "$type": "color",
1182
- "$value": "{color.red.dark.componentBg}",
2017
+ "$value": "{surface.dark.overlayFull}",
1183
2018
  "$extensions": {
1184
2019
  "putio": {
1185
- "cssName": "notification-danger-bg",
2020
+ "cssName": "sheet-scrim",
1186
2021
  "mode": "dark"
1187
2022
  }
1188
2023
  }
2024
+ },
2025
+ "width": {
2026
+ "$type": "dimension",
2027
+ "$value": "380px",
2028
+ "$description": "Fixed on web. Touch surfaces use a bottom sheet instead.",
2029
+ "$extensions": {
2030
+ "putio": {
2031
+ "cssName": "sheet-width",
2032
+ "mode": "global"
2033
+ }
2034
+ }
1189
2035
  }
1190
2036
  }
1191
2037
  },
1192
2038
  "context": {
1193
2039
  "tv": {
1194
- "surface": {
1195
- "0": {
1196
- "$type": "color",
1197
- "$value": "hsl(0, 0%, 0%)",
1198
- "$extensions": {
1199
- "putio": {
1200
- "cssName": "surf-0",
1201
- "mode": "tv"
1202
- }
1203
- }
1204
- },
1205
- "1": {
1206
- "$type": "color",
1207
- "$value": "hsl(0, 0%, 3.9%)",
1208
- "$extensions": {
1209
- "putio": {
1210
- "cssName": "surf-1",
1211
- "mode": "tv"
1212
- }
1213
- }
1214
- },
1215
- "2": {
1216
- "$type": "color",
1217
- "$value": "hsl(0, 0%, 8.6%)",
1218
- "$extensions": {
1219
- "putio": {
1220
- "cssName": "surf-2",
1221
- "mode": "tv"
1222
- }
1223
- }
1224
- },
1225
- "3": {
1226
- "$type": "color",
1227
- "$value": "hsl(0, 0%, 12.2%)",
1228
- "$extensions": {
1229
- "putio": {
1230
- "cssName": "surf-3",
1231
- "mode": "tv"
1232
- }
1233
- }
1234
- }
1235
- },
1236
2040
  "text": {
2041
+ "$description": "TV uses two semantic text roles. The tertiary name remains as a deprecated alias of secondary so existing consumers keep working; TV text is solid.",
1237
2042
  "primary": {
1238
2043
  "$type": "color",
1239
- "$value": "hsl(0, 0%, 95.7%)",
2044
+ "$value": "{color.neutral.dark.text}",
2045
+ "$description": "Row titles, modal option labels, and button labels.",
1240
2046
  "$extensions": {
1241
2047
  "putio": {
1242
2048
  "cssName": "text-1",
@@ -1246,7 +2052,8 @@
1246
2052
  },
1247
2053
  "secondary": {
1248
2054
  "$type": "color",
1249
- "$value": "hsla(0, 0%, 95.7%, 0.62)",
2055
+ "$value": "{color.neutral.dark.textSecondary}",
2056
+ "$description": "Row sublines, modal titles, section headers, and accessories.",
1250
2057
  "$extensions": {
1251
2058
  "putio": {
1252
2059
  "cssName": "text-2",
@@ -1256,85 +2063,13 @@
1256
2063
  },
1257
2064
  "tertiary": {
1258
2065
  "$type": "color",
1259
- "$value": "hsla(0, 0%, 95.7%, 0.38)",
2066
+ "$value": "{context.tv.text.secondary}",
2067
+ "$description": "Deprecated compatibility alias. Use context.tv.text.secondary.",
1260
2068
  "$extensions": {
1261
2069
  "putio": {
1262
2070
  "cssName": "text-3",
1263
- "mode": "tv"
1264
- }
1265
- }
1266
- }
1267
- },
1268
- "glass": {
1269
- "1": {
1270
- "$type": "color",
1271
- "$value": "hsla(0, 0%, 100%, 0.06)",
1272
- "$extensions": {
1273
- "putio": {
1274
- "cssName": "glass-1-bg",
1275
- "mode": "tv"
1276
- }
1277
- }
1278
- },
1279
- "2": {
1280
- "$type": "color",
1281
- "$value": "hsla(0, 0%, 100%, 0.10)",
1282
- "$extensions": {
1283
- "putio": {
1284
- "cssName": "glass-2-bg",
1285
- "mode": "tv"
1286
- }
1287
- }
1288
- },
1289
- "3": {
1290
- "$type": "color",
1291
- "$value": "hsla(0, 0%, 100%, 0.14)",
1292
- "$extensions": {
1293
- "putio": {
1294
- "cssName": "glass-3-bg",
1295
- "mode": "tv"
1296
- }
1297
- }
1298
- },
1299
- "border": {
1300
- "$type": "color",
1301
- "$value": "hsla(0, 0%, 100%, 0.12)",
1302
- "$extensions": {
1303
- "putio": {
1304
- "cssName": "glass-border",
1305
- "mode": "tv"
1306
- }
1307
- }
1308
- },
1309
- "borderStrong": {
1310
- "$type": "color",
1311
- "$value": "hsla(0, 0%, 100%, 0.22)",
1312
- "$extensions": {
1313
- "putio": {
1314
- "cssName": "glass-border-strong",
1315
- "mode": "tv"
1316
- }
1317
- }
1318
- }
1319
- },
1320
- "focus": {
1321
- "ring": {
1322
- "$type": "color",
1323
- "$value": "hsla(44.7, 97.9%, 63.1%, 0.18)",
1324
- "$extensions": {
1325
- "putio": {
1326
- "cssName": "focus-ring",
1327
- "mode": "tv"
1328
- }
1329
- }
1330
- },
1331
- "liftShadow": {
1332
- "$type": "string",
1333
- "$value": "0 14px 30px hsla(0, 0%, 0%, 0.45)",
1334
- "$extensions": {
1335
- "putio": {
1336
- "cssName": "focus-shadow",
1337
- "mode": "tv"
2071
+ "mode": "tv",
2072
+ "deprecated": true
1338
2073
  }
1339
2074
  }
1340
2075
  }
@@ -1429,6 +2164,238 @@
1429
2164
  }
1430
2165
  }
1431
2166
  },
2167
+ "tv": {
2168
+ "$description": "The portable 10-foot scale. These mode \"tv\" tokens are graph data for platform adapters and are not emitted into web CSS; preview support CSS declares matching --tv-* properties under .tv. TV has no mono face, and its z-order is distinct from the web stack.",
2169
+ "text": {
2170
+ "heading": {
2171
+ "$type": "dimension",
2172
+ "$value": "64px",
2173
+ "$description": "text.heading · GTAmerica-Md.",
2174
+ "$extensions": {
2175
+ "putio": {
2176
+ "cssName": "tv-text-heading",
2177
+ "mode": "tv"
2178
+ }
2179
+ }
2180
+ },
2181
+ "label": {
2182
+ "$type": "dimension",
2183
+ "$value": "48px",
2184
+ "$description": "text.label · GTAmerica-Md. Screen titles, and the file-row icon size.",
2185
+ "$extensions": {
2186
+ "putio": {
2187
+ "cssName": "tv-text-label",
2188
+ "mode": "tv"
2189
+ }
2190
+ }
2191
+ },
2192
+ "body": {
2193
+ "$type": "dimension",
2194
+ "$value": "36px",
2195
+ "$description": "text.body · GTAmerica-Rg. The file-row title.",
2196
+ "$extensions": {
2197
+ "putio": {
2198
+ "cssName": "tv-text-body",
2199
+ "mode": "tv"
2200
+ }
2201
+ }
2202
+ },
2203
+ "caption": {
2204
+ "$type": "dimension",
2205
+ "$value": "32px",
2206
+ "$description": "text.caption · GTAmerica-Rg. Row subline and button icons. TV has no mono face, so the Berkeley Mono numeric rule is web and mobile only: the size subline renders in GT America, asking for its tnum tabular figures where the platform can select OpenType features and accepting proportional figures where it cannot.",
2207
+ "$extensions": {
2208
+ "putio": {
2209
+ "cssName": "tv-text-caption",
2210
+ "mode": "tv"
2211
+ }
2212
+ }
2213
+ },
2214
+ "smol": {
2215
+ "$type": "dimension",
2216
+ "$value": "24px",
2217
+ "$description": "text.smol · GTAmerica-Rg. Button labels, rendered uppercase.",
2218
+ "$extensions": {
2219
+ "putio": {
2220
+ "cssName": "tv-text-smol",
2221
+ "mode": "tv"
2222
+ }
2223
+ }
2224
+ }
2225
+ },
2226
+ "fontWeight": {
2227
+ "regular": {
2228
+ "$type": "fontWeight",
2229
+ "$value": "400",
2230
+ "$description": "GTAmerica-Rg.",
2231
+ "$extensions": {
2232
+ "putio": {
2233
+ "cssName": "tv-fw-regular",
2234
+ "mode": "tv"
2235
+ }
2236
+ }
2237
+ },
2238
+ "medium": {
2239
+ "$type": "fontWeight",
2240
+ "$value": "500",
2241
+ "$description": "GTAmerica-Md.",
2242
+ "$extensions": {
2243
+ "putio": {
2244
+ "cssName": "tv-fw-medium",
2245
+ "mode": "tv"
2246
+ }
2247
+ }
2248
+ }
2249
+ },
2250
+ "space": {
2251
+ "xxs": {
2252
+ "$type": "dimension",
2253
+ "$value": "4px",
2254
+ "$extensions": {
2255
+ "putio": {
2256
+ "cssName": "tv-space-xxs",
2257
+ "mode": "tv"
2258
+ }
2259
+ }
2260
+ },
2261
+ "xs": {
2262
+ "$type": "dimension",
2263
+ "$value": "8px",
2264
+ "$extensions": {
2265
+ "putio": {
2266
+ "cssName": "tv-space-xs",
2267
+ "mode": "tv"
2268
+ }
2269
+ }
2270
+ },
2271
+ "sm": {
2272
+ "$type": "dimension",
2273
+ "$value": "16px",
2274
+ "$description": "Button padding at size=\"sm\".",
2275
+ "$extensions": {
2276
+ "putio": {
2277
+ "cssName": "tv-space-sm",
2278
+ "mode": "tv"
2279
+ }
2280
+ }
2281
+ },
2282
+ "md": {
2283
+ "$type": "dimension",
2284
+ "$value": "32px",
2285
+ "$description": "The workhorse step: uniform list-row padding, row gap, and header padding-bottom.",
2286
+ "$extensions": {
2287
+ "putio": {
2288
+ "cssName": "tv-space-md",
2289
+ "mode": "tv"
2290
+ }
2291
+ }
2292
+ },
2293
+ "lg": {
2294
+ "$type": "dimension",
2295
+ "$value": "64px",
2296
+ "$extensions": {
2297
+ "putio": {
2298
+ "cssName": "tv-space-lg",
2299
+ "mode": "tv"
2300
+ }
2301
+ }
2302
+ },
2303
+ "xl": {
2304
+ "$type": "dimension",
2305
+ "$value": "128px",
2306
+ "$extensions": {
2307
+ "putio": {
2308
+ "cssName": "tv-space-xl",
2309
+ "mode": "tv"
2310
+ }
2311
+ }
2312
+ },
2313
+ "xxl": {
2314
+ "$type": "dimension",
2315
+ "$value": "256px",
2316
+ "$extensions": {
2317
+ "putio": {
2318
+ "cssName": "tv-space-xxl",
2319
+ "mode": "tv"
2320
+ }
2321
+ }
2322
+ }
2323
+ },
2324
+ "overscan": {
2325
+ "x": {
2326
+ "$type": "number",
2327
+ "$value": 0.04,
2328
+ "$description": "Horizontal safe-area ratio. Platform adapters multiply this value by viewport width.",
2329
+ "$extensions": {
2330
+ "putio": {
2331
+ "cssName": "tv-overscan-x",
2332
+ "mode": "tv",
2333
+ "basis": "viewport-width"
2334
+ }
2335
+ }
2336
+ },
2337
+ "y": {
2338
+ "$type": "number",
2339
+ "$value": 0.02,
2340
+ "$description": "Vertical safe-area ratio. Platform adapters multiply this value by viewport height.",
2341
+ "$extensions": {
2342
+ "putio": {
2343
+ "cssName": "tv-overscan-y",
2344
+ "mode": "tv",
2345
+ "basis": "viewport-height"
2346
+ }
2347
+ }
2348
+ }
2349
+ },
2350
+ "radius": {
2351
+ "$type": "dimension",
2352
+ "$value": "{radius.tv}",
2353
+ "$description": "radii.default — one radius for every 10-foot surface.",
2354
+ "$extensions": {
2355
+ "putio": {
2356
+ "cssName": "tv-radius",
2357
+ "mode": "tv"
2358
+ }
2359
+ }
2360
+ },
2361
+ "z": {
2362
+ "$description": "zIndices. NOT the web --z-* order: on TV, overlay sits ABOVE toast. Emit the two scales separately and never fold TV into the web stack order.",
2363
+ "modal": {
2364
+ "$type": "number",
2365
+ "$value": 100,
2366
+ "$extensions": {
2367
+ "putio": {
2368
+ "cssName": "tv-z-modal",
2369
+ "mode": "tv",
2370
+ "category": "other"
2371
+ }
2372
+ }
2373
+ },
2374
+ "toast": {
2375
+ "$type": "number",
2376
+ "$value": 200,
2377
+ "$extensions": {
2378
+ "putio": {
2379
+ "cssName": "tv-z-toast",
2380
+ "mode": "tv",
2381
+ "category": "other"
2382
+ }
2383
+ }
2384
+ },
2385
+ "overlay": {
2386
+ "$type": "number",
2387
+ "$value": 300,
2388
+ "$description": "Above toast — the opposite of the web scale, where --z-notification (1400) sits above --z-modal (1300).",
2389
+ "$extensions": {
2390
+ "putio": {
2391
+ "cssName": "tv-z-overlay",
2392
+ "mode": "tv",
2393
+ "category": "other"
2394
+ }
2395
+ }
2396
+ }
2397
+ }
2398
+ },
1432
2399
  "color": {
1433
2400
  "brand": {
1434
2401
  "yellow": {
@@ -2541,20 +3508,10 @@
2541
3508
  }
2542
3509
  }
2543
3510
  },
2544
- "uiMono": {
2545
- "$type": "fontFamily",
2546
- "$value": "\"GT America Mono\", monospace",
2547
- "$extensions": {
2548
- "putio": {
2549
- "cssName": "font-ui-mono",
2550
- "mode": "global",
2551
- "figma": true
2552
- }
2553
- }
2554
- },
2555
3511
  "mono": {
2556
3512
  "$type": "fontFamily",
2557
- "$value": "\"Berkeley Mono\", {typography.fontFamily.uiMono}",
3513
+ "$value": "\"Berkeley Mono\", monospace",
3514
+ "$description": "The single mono face: numerics, timestamps, file sizes, ETAs, counts, code, logs, magnet URIs, identifiers, and filenames. Web and mobile only — TV has no mono face.",
2558
3515
  "$extensions": {
2559
3516
  "putio": {
2560
3517
  "cssName": "font-mono",
@@ -2980,6 +3937,18 @@
2980
3937
  "figma": true
2981
3938
  }
2982
3939
  }
3940
+ },
3941
+ "tv": {
3942
+ "$type": "dimension",
3943
+ "$value": "12px",
3944
+ "$description": "The corner radius for every 10-foot surface — list rows, buttons, sheets, cards, code tiles, and keys. TV uses one radius, not a scale; the only other radii on TV are intentional pills and circles.",
3945
+ "$extensions": {
3946
+ "putio": {
3947
+ "cssName": "radius-tv",
3948
+ "mode": "global",
3949
+ "figma": true
3950
+ }
3951
+ }
2983
3952
  }
2984
3953
  },
2985
3954
  "border": {