@putdotio/design 2.0.2 → 3.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.
- package/DESIGN.md +25 -1
- package/dist/css/tokens.css +74 -0
- package/dist/figma/putio.tokens.json +200 -0
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +984 -123
- package/dist/tokens.flat.json +598 -0
- package/dist/tokens.js +598 -0
- package/package.json +4 -2
- package/system/README.md +51 -12
- package/system/assets/app-icon-nightly-stars.png +0 -0
- package/system/assets/discoball.gif +0 -0
- package/system/assets/nightly-fullmoon.png +0 -0
- package/system/assets/nightly-saucer.png +0 -0
- package/system/assets/nightly-starfield.png +0 -0
- package/system/components.css +3 -1
- package/tokens/components.tokens.json +756 -0
- package/tokens/context.tokens.json +85 -0
package/dist/tokens.js
CHANGED
|
@@ -1231,6 +1231,21 @@ export const tokens = {
|
|
|
1231
1231
|
"value": "hsl(5, 100%, 91%)",
|
|
1232
1232
|
"originalValue": "{color.red.dark.text}"
|
|
1233
1233
|
},
|
|
1234
|
+
"component.notification.badgeBackground": {
|
|
1235
|
+
"cssName": "--notification-badge-bg",
|
|
1236
|
+
"type": "color",
|
|
1237
|
+
"mode": "global",
|
|
1238
|
+
"value": "hsl(358, 70%, 45%)",
|
|
1239
|
+
"originalValue": "hsl(358, 70%, 45%)",
|
|
1240
|
+
"description": "Unread count disc — darkened red so white numerals clear AA at 9px. Fixed in both modes."
|
|
1241
|
+
},
|
|
1242
|
+
"component.notification.badgeForeground": {
|
|
1243
|
+
"cssName": "--notification-badge-fg",
|
|
1244
|
+
"type": "color",
|
|
1245
|
+
"mode": "global",
|
|
1246
|
+
"value": "hsl(0, 0%, 100%)",
|
|
1247
|
+
"originalValue": "{component.alias.destructiveForeground}"
|
|
1248
|
+
},
|
|
1234
1249
|
"component.menu.background": {
|
|
1235
1250
|
"cssName": "--menu-bg",
|
|
1236
1251
|
"type": "color",
|
|
@@ -1585,6 +1600,517 @@ export const tokens = {
|
|
|
1585
1600
|
"originalValue": "380px",
|
|
1586
1601
|
"description": "Fixed on web. Touch surfaces use a bottom sheet instead."
|
|
1587
1602
|
},
|
|
1603
|
+
"component.avatar.yellow": {
|
|
1604
|
+
"cssName": "--avatar-yellow",
|
|
1605
|
+
"type": "color",
|
|
1606
|
+
"mode": "global",
|
|
1607
|
+
"value": "hsl(44.7, 97.9%, 63.1%)",
|
|
1608
|
+
"originalValue": "{color.brand.yellow}",
|
|
1609
|
+
"description": "Initial-on-color avatar palette. Fixed in both modes; the chip carries its own contrast."
|
|
1610
|
+
},
|
|
1611
|
+
"component.avatar.green": {
|
|
1612
|
+
"cssName": "--avatar-green",
|
|
1613
|
+
"type": "color",
|
|
1614
|
+
"mode": "global",
|
|
1615
|
+
"value": "hsl(151, 55%, 33%)",
|
|
1616
|
+
"originalValue": "hsl(151, 55%, 33%)"
|
|
1617
|
+
},
|
|
1618
|
+
"component.avatar.red": {
|
|
1619
|
+
"cssName": "--avatar-red",
|
|
1620
|
+
"type": "color",
|
|
1621
|
+
"mode": "global",
|
|
1622
|
+
"value": "hsl(358, 55%, 46%)",
|
|
1623
|
+
"originalValue": "hsl(358, 55%, 46%)"
|
|
1624
|
+
},
|
|
1625
|
+
"component.avatar.blue": {
|
|
1626
|
+
"cssName": "--avatar-blue",
|
|
1627
|
+
"type": "color",
|
|
1628
|
+
"mode": "global",
|
|
1629
|
+
"value": "hsl(211, 55%, 46%)",
|
|
1630
|
+
"originalValue": "hsl(211, 55%, 46%)"
|
|
1631
|
+
},
|
|
1632
|
+
"component.avatar.purple": {
|
|
1633
|
+
"cssName": "--avatar-purple",
|
|
1634
|
+
"type": "color",
|
|
1635
|
+
"mode": "global",
|
|
1636
|
+
"value": "hsl(280, 48%, 46%)",
|
|
1637
|
+
"originalValue": "hsl(280, 48%, 46%)"
|
|
1638
|
+
},
|
|
1639
|
+
"component.avatar.teal": {
|
|
1640
|
+
"cssName": "--avatar-teal",
|
|
1641
|
+
"type": "color",
|
|
1642
|
+
"mode": "global",
|
|
1643
|
+
"value": "hsl(168, 55%, 33%)",
|
|
1644
|
+
"originalValue": "hsl(168, 55%, 33%)"
|
|
1645
|
+
},
|
|
1646
|
+
"component.avatar.orange": {
|
|
1647
|
+
"cssName": "--avatar-orange",
|
|
1648
|
+
"type": "color",
|
|
1649
|
+
"mode": "global",
|
|
1650
|
+
"value": "hsl(28, 80%, 55%)",
|
|
1651
|
+
"originalValue": "hsl(28, 80%, 55%)"
|
|
1652
|
+
},
|
|
1653
|
+
"component.avatar.foreground": {
|
|
1654
|
+
"cssName": "--avatar-fg",
|
|
1655
|
+
"type": "color",
|
|
1656
|
+
"mode": "global",
|
|
1657
|
+
"value": "hsl(0, 0%, 100%)",
|
|
1658
|
+
"originalValue": "{component.alias.destructiveForeground}",
|
|
1659
|
+
"description": "White initials — every palette entry except yellow and orange."
|
|
1660
|
+
},
|
|
1661
|
+
"component.avatar.foregroundWarm": {
|
|
1662
|
+
"cssName": "--avatar-fg-warm",
|
|
1663
|
+
"type": "color",
|
|
1664
|
+
"mode": "global",
|
|
1665
|
+
"value": "hsl(38, 65%, 10%)",
|
|
1666
|
+
"originalValue": "{component.alias.primaryForeground}",
|
|
1667
|
+
"description": "Warm dark initials on yellow and orange."
|
|
1668
|
+
},
|
|
1669
|
+
"component.alert.radius": {
|
|
1670
|
+
"cssName": "--alert-radius",
|
|
1671
|
+
"type": "dimension",
|
|
1672
|
+
"mode": "global",
|
|
1673
|
+
"value": "6px",
|
|
1674
|
+
"originalValue": "{radius.default}",
|
|
1675
|
+
"description": "Inline, in-page messaging. Persists until the condition clears — a toast does not."
|
|
1676
|
+
},
|
|
1677
|
+
"component.alert.infoBackground": {
|
|
1678
|
+
"cssName": "--alert-info-bg",
|
|
1679
|
+
"type": "color",
|
|
1680
|
+
"mode": "light",
|
|
1681
|
+
"value": "hsl(0, 0%, 97.3%)",
|
|
1682
|
+
"originalValue": "{color.neutral.light.bgSecondary}"
|
|
1683
|
+
},
|
|
1684
|
+
"component.alert.infoBackgroundDark": {
|
|
1685
|
+
"cssName": "--alert-info-bg",
|
|
1686
|
+
"type": "color",
|
|
1687
|
+
"mode": "dark",
|
|
1688
|
+
"value": "hsl(0, 0%, 11.0%)",
|
|
1689
|
+
"originalValue": "{color.neutral.dark.bgSecondary}"
|
|
1690
|
+
},
|
|
1691
|
+
"component.alert.infoBorder": {
|
|
1692
|
+
"cssName": "--alert-info-border",
|
|
1693
|
+
"type": "color",
|
|
1694
|
+
"mode": "light",
|
|
1695
|
+
"value": "hsl(0, 0%, 88.7%)",
|
|
1696
|
+
"originalValue": "{color.neutral.light.line}"
|
|
1697
|
+
},
|
|
1698
|
+
"component.alert.infoBorderDark": {
|
|
1699
|
+
"cssName": "--alert-info-border",
|
|
1700
|
+
"type": "color",
|
|
1701
|
+
"mode": "dark",
|
|
1702
|
+
"value": "hsl(0, 0%, 20.5%)",
|
|
1703
|
+
"originalValue": "{color.neutral.dark.line}"
|
|
1704
|
+
},
|
|
1705
|
+
"component.alert.infoText": {
|
|
1706
|
+
"cssName": "--alert-info-text",
|
|
1707
|
+
"type": "color",
|
|
1708
|
+
"mode": "light",
|
|
1709
|
+
"value": "hsl(0, 0%, 9.0%)",
|
|
1710
|
+
"originalValue": "{color.neutral.light.text}"
|
|
1711
|
+
},
|
|
1712
|
+
"component.alert.infoTextDark": {
|
|
1713
|
+
"cssName": "--alert-info-text",
|
|
1714
|
+
"type": "color",
|
|
1715
|
+
"mode": "dark",
|
|
1716
|
+
"value": "hsl(0, 0%, 93.0%)",
|
|
1717
|
+
"originalValue": "{color.neutral.dark.text}"
|
|
1718
|
+
},
|
|
1719
|
+
"component.alert.infoBody": {
|
|
1720
|
+
"cssName": "--alert-info-body",
|
|
1721
|
+
"type": "color",
|
|
1722
|
+
"mode": "light",
|
|
1723
|
+
"value": "hsl(0, 0%, 43.5%)",
|
|
1724
|
+
"originalValue": "{color.neutral.light.textSecondary}"
|
|
1725
|
+
},
|
|
1726
|
+
"component.alert.infoBodyDark": {
|
|
1727
|
+
"cssName": "--alert-info-body",
|
|
1728
|
+
"type": "color",
|
|
1729
|
+
"mode": "dark",
|
|
1730
|
+
"value": "hsl(0, 0%, 62.8%)",
|
|
1731
|
+
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
1732
|
+
},
|
|
1733
|
+
"component.alert.infoIcon": {
|
|
1734
|
+
"cssName": "--alert-info-icon",
|
|
1735
|
+
"type": "color",
|
|
1736
|
+
"mode": "light",
|
|
1737
|
+
"value": "hsl(0, 0%, 43.5%)",
|
|
1738
|
+
"originalValue": "{color.neutral.light.textSecondary}"
|
|
1739
|
+
},
|
|
1740
|
+
"component.alert.infoIconDark": {
|
|
1741
|
+
"cssName": "--alert-info-icon",
|
|
1742
|
+
"type": "color",
|
|
1743
|
+
"mode": "dark",
|
|
1744
|
+
"value": "hsl(0, 0%, 62.8%)",
|
|
1745
|
+
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
1746
|
+
},
|
|
1747
|
+
"component.alert.brandBackground": {
|
|
1748
|
+
"cssName": "--alert-brand-bg",
|
|
1749
|
+
"type": "color",
|
|
1750
|
+
"mode": "light",
|
|
1751
|
+
"value": "hsl(52, 100%, 88%)",
|
|
1752
|
+
"originalValue": "{color.yellow.light.componentBg}"
|
|
1753
|
+
},
|
|
1754
|
+
"component.alert.brandBackgroundDark": {
|
|
1755
|
+
"cssName": "--alert-brand-bg",
|
|
1756
|
+
"type": "color",
|
|
1757
|
+
"mode": "dark",
|
|
1758
|
+
"value": "hsl(45, 70%, 9%)",
|
|
1759
|
+
"originalValue": "{color.yellow.dark.componentBg}"
|
|
1760
|
+
},
|
|
1761
|
+
"component.alert.brandBorder": {
|
|
1762
|
+
"cssName": "--alert-brand-border",
|
|
1763
|
+
"type": "color",
|
|
1764
|
+
"mode": "light",
|
|
1765
|
+
"value": "hsl(45, 67%, 67%)",
|
|
1766
|
+
"originalValue": "{color.yellow.light.border}"
|
|
1767
|
+
},
|
|
1768
|
+
"component.alert.brandBorderDark": {
|
|
1769
|
+
"cssName": "--alert-brand-border",
|
|
1770
|
+
"type": "color",
|
|
1771
|
+
"mode": "dark",
|
|
1772
|
+
"value": "hsl(45, 53%, 26%)",
|
|
1773
|
+
"originalValue": "{color.yellow.dark.border}"
|
|
1774
|
+
},
|
|
1775
|
+
"component.alert.brandText": {
|
|
1776
|
+
"cssName": "--alert-brand-text",
|
|
1777
|
+
"type": "color",
|
|
1778
|
+
"mode": "light",
|
|
1779
|
+
"value": "hsl(43, 32%, 21%)",
|
|
1780
|
+
"originalValue": "{color.yellow.light.text}"
|
|
1781
|
+
},
|
|
1782
|
+
"component.alert.brandTextDark": {
|
|
1783
|
+
"cssName": "--alert-brand-text",
|
|
1784
|
+
"type": "color",
|
|
1785
|
+
"mode": "dark",
|
|
1786
|
+
"value": "hsl(46, 89%, 86%)",
|
|
1787
|
+
"originalValue": "{color.yellow.dark.text}"
|
|
1788
|
+
},
|
|
1789
|
+
"component.alert.brandBody": {
|
|
1790
|
+
"cssName": "--alert-brand-body",
|
|
1791
|
+
"type": "color",
|
|
1792
|
+
"mode": "light",
|
|
1793
|
+
"value": "hsl(46, 100%, 27%)",
|
|
1794
|
+
"originalValue": "{color.yellow.light.textSecondary}"
|
|
1795
|
+
},
|
|
1796
|
+
"component.alert.brandBodyDark": {
|
|
1797
|
+
"cssName": "--alert-brand-body",
|
|
1798
|
+
"type": "color",
|
|
1799
|
+
"mode": "dark",
|
|
1800
|
+
"value": "hsl(45, 100%, 64%)",
|
|
1801
|
+
"originalValue": "{color.yellow.dark.textSecondary}"
|
|
1802
|
+
},
|
|
1803
|
+
"component.alert.brandIcon": {
|
|
1804
|
+
"cssName": "--alert-brand-icon",
|
|
1805
|
+
"type": "color",
|
|
1806
|
+
"mode": "light",
|
|
1807
|
+
"value": "hsl(46, 100%, 27%)",
|
|
1808
|
+
"originalValue": "{color.yellow.light.textSecondary}"
|
|
1809
|
+
},
|
|
1810
|
+
"component.alert.brandIconDark": {
|
|
1811
|
+
"cssName": "--alert-brand-icon",
|
|
1812
|
+
"type": "color",
|
|
1813
|
+
"mode": "dark",
|
|
1814
|
+
"value": "hsl(45, 100%, 64%)",
|
|
1815
|
+
"originalValue": "{color.yellow.dark.textSecondary}"
|
|
1816
|
+
},
|
|
1817
|
+
"component.alert.successBackground": {
|
|
1818
|
+
"cssName": "--alert-success-bg",
|
|
1819
|
+
"type": "color",
|
|
1820
|
+
"mode": "light",
|
|
1821
|
+
"value": "hsl(135, 53%, 93%)",
|
|
1822
|
+
"originalValue": "{color.green.light.componentBg}"
|
|
1823
|
+
},
|
|
1824
|
+
"component.alert.successBackgroundDark": {
|
|
1825
|
+
"cssName": "--alert-success-bg",
|
|
1826
|
+
"type": "color",
|
|
1827
|
+
"mode": "dark",
|
|
1828
|
+
"value": "hsl(151, 35%, 13%)",
|
|
1829
|
+
"originalValue": "{color.green.dark.componentBg}"
|
|
1830
|
+
},
|
|
1831
|
+
"component.alert.successBorder": {
|
|
1832
|
+
"cssName": "--alert-success-border",
|
|
1833
|
+
"type": "color",
|
|
1834
|
+
"mode": "light",
|
|
1835
|
+
"value": "hsl(140, 39%, 68%)",
|
|
1836
|
+
"originalValue": "{color.green.light.border}"
|
|
1837
|
+
},
|
|
1838
|
+
"component.alert.successBorderDark": {
|
|
1839
|
+
"cssName": "--alert-success-border",
|
|
1840
|
+
"type": "color",
|
|
1841
|
+
"mode": "dark",
|
|
1842
|
+
"value": "hsl(146, 41%, 29%)",
|
|
1843
|
+
"originalValue": "{color.green.dark.border}"
|
|
1844
|
+
},
|
|
1845
|
+
"component.alert.successText": {
|
|
1846
|
+
"cssName": "--alert-success-text",
|
|
1847
|
+
"type": "color",
|
|
1848
|
+
"mode": "light",
|
|
1849
|
+
"value": "hsl(146, 35%, 17%)",
|
|
1850
|
+
"originalValue": "{color.green.light.text}"
|
|
1851
|
+
},
|
|
1852
|
+
"component.alert.successTextDark": {
|
|
1853
|
+
"cssName": "--alert-success-text",
|
|
1854
|
+
"type": "color",
|
|
1855
|
+
"mode": "dark",
|
|
1856
|
+
"value": "hsl(142, 71%, 82%)",
|
|
1857
|
+
"originalValue": "{color.green.dark.text}"
|
|
1858
|
+
},
|
|
1859
|
+
"component.alert.successBody": {
|
|
1860
|
+
"cssName": "--alert-success-body",
|
|
1861
|
+
"type": "color",
|
|
1862
|
+
"mode": "light",
|
|
1863
|
+
"value": "hsl(155, 100%, 25%)",
|
|
1864
|
+
"originalValue": "{color.green.light.textSecondary}"
|
|
1865
|
+
},
|
|
1866
|
+
"component.alert.successBodyDark": {
|
|
1867
|
+
"cssName": "--alert-success-body",
|
|
1868
|
+
"type": "color",
|
|
1869
|
+
"mode": "dark",
|
|
1870
|
+
"value": "hsl(146, 56%, 60%)",
|
|
1871
|
+
"originalValue": "{color.green.dark.textSecondary}"
|
|
1872
|
+
},
|
|
1873
|
+
"component.alert.successIcon": {
|
|
1874
|
+
"cssName": "--alert-success-icon",
|
|
1875
|
+
"type": "color",
|
|
1876
|
+
"mode": "light",
|
|
1877
|
+
"value": "hsl(155, 100%, 25%)",
|
|
1878
|
+
"originalValue": "{color.green.light.textSecondary}"
|
|
1879
|
+
},
|
|
1880
|
+
"component.alert.successIconDark": {
|
|
1881
|
+
"cssName": "--alert-success-icon",
|
|
1882
|
+
"type": "color",
|
|
1883
|
+
"mode": "dark",
|
|
1884
|
+
"value": "hsl(146, 56%, 60%)",
|
|
1885
|
+
"originalValue": "{color.green.dark.textSecondary}"
|
|
1886
|
+
},
|
|
1887
|
+
"component.alert.dangerBackground": {
|
|
1888
|
+
"cssName": "--alert-danger-bg",
|
|
1889
|
+
"type": "color",
|
|
1890
|
+
"mode": "light",
|
|
1891
|
+
"value": "hsl(2, 100%, 96%)",
|
|
1892
|
+
"originalValue": "{color.red.light.componentBg}"
|
|
1893
|
+
},
|
|
1894
|
+
"component.alert.dangerBackgroundDark": {
|
|
1895
|
+
"cssName": "--alert-danger-bg",
|
|
1896
|
+
"type": "color",
|
|
1897
|
+
"mode": "dark",
|
|
1898
|
+
"value": "hsl(0, 55%, 15%)",
|
|
1899
|
+
"originalValue": "{color.red.dark.componentBg}"
|
|
1900
|
+
},
|
|
1901
|
+
"component.alert.dangerBorder": {
|
|
1902
|
+
"cssName": "--alert-danger-border",
|
|
1903
|
+
"type": "color",
|
|
1904
|
+
"mode": "light",
|
|
1905
|
+
"value": "hsl(2, 81%, 80%)",
|
|
1906
|
+
"originalValue": "{color.red.light.border}"
|
|
1907
|
+
},
|
|
1908
|
+
"component.alert.dangerBorderDark": {
|
|
1909
|
+
"cssName": "--alert-danger-border",
|
|
1910
|
+
"type": "color",
|
|
1911
|
+
"mode": "dark",
|
|
1912
|
+
"value": "hsl(0, 46%, 38%)",
|
|
1913
|
+
"originalValue": "{color.red.dark.border}"
|
|
1914
|
+
},
|
|
1915
|
+
"component.alert.dangerText": {
|
|
1916
|
+
"cssName": "--alert-danger-text",
|
|
1917
|
+
"type": "color",
|
|
1918
|
+
"mode": "light",
|
|
1919
|
+
"value": "hsl(358, 62%, 24%)",
|
|
1920
|
+
"originalValue": "{color.red.light.text}"
|
|
1921
|
+
},
|
|
1922
|
+
"component.alert.dangerTextDark": {
|
|
1923
|
+
"cssName": "--alert-danger-text",
|
|
1924
|
+
"type": "color",
|
|
1925
|
+
"mode": "dark",
|
|
1926
|
+
"value": "hsl(5, 100%, 91%)",
|
|
1927
|
+
"originalValue": "{color.red.dark.text}"
|
|
1928
|
+
},
|
|
1929
|
+
"component.alert.dangerBody": {
|
|
1930
|
+
"cssName": "--alert-danger-body",
|
|
1931
|
+
"type": "color",
|
|
1932
|
+
"mode": "light",
|
|
1933
|
+
"value": "hsl(355, 64%, 49%)",
|
|
1934
|
+
"originalValue": "{color.red.light.textSecondary}"
|
|
1935
|
+
},
|
|
1936
|
+
"component.alert.dangerBodyDark": {
|
|
1937
|
+
"cssName": "--alert-danger-body",
|
|
1938
|
+
"type": "color",
|
|
1939
|
+
"mode": "dark",
|
|
1940
|
+
"value": "hsl(2, 100%, 77%)",
|
|
1941
|
+
"originalValue": "{color.red.dark.textSecondary}"
|
|
1942
|
+
},
|
|
1943
|
+
"component.alert.dangerIcon": {
|
|
1944
|
+
"cssName": "--alert-danger-icon",
|
|
1945
|
+
"type": "color",
|
|
1946
|
+
"mode": "light",
|
|
1947
|
+
"value": "hsl(355, 64%, 49%)",
|
|
1948
|
+
"originalValue": "{color.red.light.textSecondary}"
|
|
1949
|
+
},
|
|
1950
|
+
"component.alert.dangerIconDark": {
|
|
1951
|
+
"cssName": "--alert-danger-icon",
|
|
1952
|
+
"type": "color",
|
|
1953
|
+
"mode": "dark",
|
|
1954
|
+
"value": "hsl(2, 100%, 77%)",
|
|
1955
|
+
"originalValue": "{color.red.dark.textSecondary}"
|
|
1956
|
+
},
|
|
1957
|
+
"component.slider.track": {
|
|
1958
|
+
"cssName": "--slider-track",
|
|
1959
|
+
"type": "color",
|
|
1960
|
+
"mode": "light",
|
|
1961
|
+
"value": "hsl(0, 0%, 90.9%)",
|
|
1962
|
+
"originalValue": "{color.neutral.light.componentBgActive}",
|
|
1963
|
+
"description": "Seek, volume, stepped numeric. The buffered band is what makes it a scrubber."
|
|
1964
|
+
},
|
|
1965
|
+
"component.slider.trackDark": {
|
|
1966
|
+
"cssName": "--slider-track",
|
|
1967
|
+
"type": "color",
|
|
1968
|
+
"mode": "dark",
|
|
1969
|
+
"value": "hsl(0, 0%, 17.9%)",
|
|
1970
|
+
"originalValue": "{color.neutral.dark.componentBgActive}"
|
|
1971
|
+
},
|
|
1972
|
+
"component.slider.buffer": {
|
|
1973
|
+
"cssName": "--slider-buffer",
|
|
1974
|
+
"type": "color",
|
|
1975
|
+
"mode": "light",
|
|
1976
|
+
"value": "hsl(0, 0%, 85.8%)",
|
|
1977
|
+
"originalValue": "{color.neutral.light.border}"
|
|
1978
|
+
},
|
|
1979
|
+
"component.slider.bufferDark": {
|
|
1980
|
+
"cssName": "--slider-buffer",
|
|
1981
|
+
"type": "color",
|
|
1982
|
+
"mode": "dark",
|
|
1983
|
+
"value": "hsl(0, 0%, 24.3%)",
|
|
1984
|
+
"originalValue": "{color.neutral.dark.border}"
|
|
1985
|
+
},
|
|
1986
|
+
"component.slider.fill": {
|
|
1987
|
+
"cssName": "--slider-fill",
|
|
1988
|
+
"type": "color",
|
|
1989
|
+
"mode": "global",
|
|
1990
|
+
"value": "hsl(44.7, 97.9%, 63.1%)",
|
|
1991
|
+
"originalValue": "{color.brand.yellow}"
|
|
1992
|
+
},
|
|
1993
|
+
"component.slider.knob": {
|
|
1994
|
+
"cssName": "--slider-knob",
|
|
1995
|
+
"type": "color",
|
|
1996
|
+
"mode": "global",
|
|
1997
|
+
"value": "hsl(44.7, 97.9%, 63.1%)",
|
|
1998
|
+
"originalValue": "{color.brand.yellow}"
|
|
1999
|
+
},
|
|
2000
|
+
"component.slider.fillDisabled": {
|
|
2001
|
+
"cssName": "--slider-fill-disabled",
|
|
2002
|
+
"type": "color",
|
|
2003
|
+
"mode": "light",
|
|
2004
|
+
"value": "hsl(0, 0%, 43.5%)",
|
|
2005
|
+
"originalValue": "{color.neutral.light.textSecondary}"
|
|
2006
|
+
},
|
|
2007
|
+
"component.slider.fillDisabledDark": {
|
|
2008
|
+
"cssName": "--slider-fill-disabled",
|
|
2009
|
+
"type": "color",
|
|
2010
|
+
"mode": "dark",
|
|
2011
|
+
"value": "hsl(0, 0%, 62.8%)",
|
|
2012
|
+
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
2013
|
+
},
|
|
2014
|
+
"component.slider.trackHeight": {
|
|
2015
|
+
"cssName": "--slider-track-height",
|
|
2016
|
+
"type": "dimension",
|
|
2017
|
+
"mode": "global",
|
|
2018
|
+
"value": "4px",
|
|
2019
|
+
"originalValue": "4px"
|
|
2020
|
+
},
|
|
2021
|
+
"component.slider.knobSize": {
|
|
2022
|
+
"cssName": "--slider-knob-size",
|
|
2023
|
+
"type": "dimension",
|
|
2024
|
+
"mode": "global",
|
|
2025
|
+
"value": "14px",
|
|
2026
|
+
"originalValue": "14px"
|
|
2027
|
+
},
|
|
2028
|
+
"component.slider.hitHeight": {
|
|
2029
|
+
"cssName": "--slider-hit-height",
|
|
2030
|
+
"type": "dimension",
|
|
2031
|
+
"mode": "global",
|
|
2032
|
+
"value": "20px",
|
|
2033
|
+
"originalValue": "20px",
|
|
2034
|
+
"description": "44px on touch — the knob grows, the track does not."
|
|
2035
|
+
},
|
|
2036
|
+
"component.pagination.itemSize": {
|
|
2037
|
+
"cssName": "--pagination-item-size",
|
|
2038
|
+
"type": "dimension",
|
|
2039
|
+
"mode": "global",
|
|
2040
|
+
"value": "30px",
|
|
2041
|
+
"originalValue": "30px",
|
|
2042
|
+
"description": "Numbered paging. Load-more and infinite scroll carry no chrome of their own."
|
|
2043
|
+
},
|
|
2044
|
+
"component.pagination.itemText": {
|
|
2045
|
+
"cssName": "--pagination-item-text",
|
|
2046
|
+
"type": "color",
|
|
2047
|
+
"mode": "light",
|
|
2048
|
+
"value": "hsl(0, 0%, 43.5%)",
|
|
2049
|
+
"originalValue": "{color.neutral.light.textSecondary}"
|
|
2050
|
+
},
|
|
2051
|
+
"component.pagination.itemTextDark": {
|
|
2052
|
+
"cssName": "--pagination-item-text",
|
|
2053
|
+
"type": "color",
|
|
2054
|
+
"mode": "dark",
|
|
2055
|
+
"value": "hsl(0, 0%, 62.8%)",
|
|
2056
|
+
"originalValue": "{color.neutral.dark.textSecondary}"
|
|
2057
|
+
},
|
|
2058
|
+
"component.pagination.itemTextActive": {
|
|
2059
|
+
"cssName": "--pagination-item-text-active",
|
|
2060
|
+
"type": "color",
|
|
2061
|
+
"mode": "light",
|
|
2062
|
+
"value": "hsl(0, 0%, 9.0%)",
|
|
2063
|
+
"originalValue": "{color.neutral.light.text}"
|
|
2064
|
+
},
|
|
2065
|
+
"component.pagination.itemTextActiveDark": {
|
|
2066
|
+
"cssName": "--pagination-item-text-active",
|
|
2067
|
+
"type": "color",
|
|
2068
|
+
"mode": "dark",
|
|
2069
|
+
"value": "hsl(0, 0%, 93.0%)",
|
|
2070
|
+
"originalValue": "{color.neutral.dark.text}"
|
|
2071
|
+
},
|
|
2072
|
+
"component.pagination.itemBackgroundHover": {
|
|
2073
|
+
"cssName": "--pagination-item-bg-hover",
|
|
2074
|
+
"type": "color",
|
|
2075
|
+
"mode": "light",
|
|
2076
|
+
"value": "hsl(0, 0%, 93.0%)",
|
|
2077
|
+
"originalValue": "{color.neutral.light.componentBgHover}"
|
|
2078
|
+
},
|
|
2079
|
+
"component.pagination.itemBackgroundHoverDark": {
|
|
2080
|
+
"cssName": "--pagination-item-bg-hover",
|
|
2081
|
+
"type": "color",
|
|
2082
|
+
"mode": "dark",
|
|
2083
|
+
"value": "hsl(0, 0%, 15.8%)",
|
|
2084
|
+
"originalValue": "{color.neutral.dark.componentBgHover}"
|
|
2085
|
+
},
|
|
2086
|
+
"component.pagination.itemBackgroundActive": {
|
|
2087
|
+
"cssName": "--pagination-item-bg-active",
|
|
2088
|
+
"type": "color",
|
|
2089
|
+
"mode": "light",
|
|
2090
|
+
"value": "hsl(0, 0%, 90.9%)",
|
|
2091
|
+
"originalValue": "{color.neutral.light.componentBgActive}"
|
|
2092
|
+
},
|
|
2093
|
+
"component.pagination.itemBackgroundActiveDark": {
|
|
2094
|
+
"cssName": "--pagination-item-bg-active",
|
|
2095
|
+
"type": "color",
|
|
2096
|
+
"mode": "dark",
|
|
2097
|
+
"value": "hsl(0, 0%, 17.9%)",
|
|
2098
|
+
"originalValue": "{color.neutral.dark.componentBgActive}"
|
|
2099
|
+
},
|
|
2100
|
+
"component.pagination.itemBorderActive": {
|
|
2101
|
+
"cssName": "--pagination-item-border-active",
|
|
2102
|
+
"type": "color",
|
|
2103
|
+
"mode": "light",
|
|
2104
|
+
"value": "hsl(0, 0%, 85.8%)",
|
|
2105
|
+
"originalValue": "{color.neutral.light.border}"
|
|
2106
|
+
},
|
|
2107
|
+
"component.pagination.itemBorderActiveDark": {
|
|
2108
|
+
"cssName": "--pagination-item-border-active",
|
|
2109
|
+
"type": "color",
|
|
2110
|
+
"mode": "dark",
|
|
2111
|
+
"value": "hsl(0, 0%, 24.3%)",
|
|
2112
|
+
"originalValue": "{color.neutral.dark.border}"
|
|
2113
|
+
},
|
|
1588
2114
|
"context.tv.text.primary": {
|
|
1589
2115
|
"cssName": "--text-1",
|
|
1590
2116
|
"type": "color",
|
|
@@ -1645,6 +2171,46 @@ export const tokens = {
|
|
|
1645
2171
|
"value": "hsla(0, 0%, 100%, 0.18)",
|
|
1646
2172
|
"originalValue": "hsla(0, 0%, 100%, 0.18)"
|
|
1647
2173
|
},
|
|
2174
|
+
"context.tv.channelArt.nightly.background": {
|
|
2175
|
+
"cssName": "--tv-channel-art-nightly-bg",
|
|
2176
|
+
"type": "color",
|
|
2177
|
+
"mode": "tv",
|
|
2178
|
+
"value": "hsl(0, 0%, 2%)",
|
|
2179
|
+
"originalValue": "hsl(0, 0%, 2%)",
|
|
2180
|
+
"description": "True black, one step past production charcoal; carries the star field so a staging build is unmistakable next to the shipping app."
|
|
2181
|
+
},
|
|
2182
|
+
"context.tv.channelArt.nightly.accent": {
|
|
2183
|
+
"cssName": "--tv-channel-art-nightly-accent",
|
|
2184
|
+
"type": "color",
|
|
2185
|
+
"mode": "tv",
|
|
2186
|
+
"value": "hsl(44.7, 97.9%, 63.1%)",
|
|
2187
|
+
"originalValue": "{color.brand.yellow}",
|
|
2188
|
+
"description": "Unlike dev, nightly does not recolor the mark: the accent is the brand yellow and the retro wordmark keeps its yellow drop-shadow. Present so emitters can express the flavor as a complete set rather than a special case."
|
|
2189
|
+
},
|
|
2190
|
+
"context.tv.channelArt.nightly.star": {
|
|
2191
|
+
"cssName": "--tv-channel-art-nightly-star",
|
|
2192
|
+
"type": "color",
|
|
2193
|
+
"mode": "tv",
|
|
2194
|
+
"value": "hsl(0, 0%, 100%)",
|
|
2195
|
+
"originalValue": "hsl(0, 0%, 100%)",
|
|
2196
|
+
"description": "Star colour. Stars are scattered, never gridded: three sizes at roughly 36%, 62%, and 95% opacity with the faint ones dominating. Static — never animated, blurred, or glowing."
|
|
2197
|
+
},
|
|
2198
|
+
"context.tv.channelArt.nightly.moon": {
|
|
2199
|
+
"cssName": "--tv-channel-art-nightly-moon",
|
|
2200
|
+
"type": "color",
|
|
2201
|
+
"mode": "tv",
|
|
2202
|
+
"value": "hsl(44.7, 97.9%, 63.1%)",
|
|
2203
|
+
"originalValue": "{color.brand.yellow}",
|
|
2204
|
+
"description": "Full moon disc in the brand yellow, placed top-left. Its own token so a platform can place the moon without hard-coding the brand value."
|
|
2205
|
+
},
|
|
2206
|
+
"context.tv.channelArt.nightly.moonCrater": {
|
|
2207
|
+
"cssName": "--tv-channel-art-nightly-moon-crater",
|
|
2208
|
+
"type": "color",
|
|
2209
|
+
"mode": "tv",
|
|
2210
|
+
"value": "hsl(45, 82%, 56%)",
|
|
2211
|
+
"originalValue": "hsl(45, 82%, 56%)",
|
|
2212
|
+
"description": "Craters one step darker than the moon disc. Low contrast on purpose: texture at icon size, not holes."
|
|
2213
|
+
},
|
|
1648
2214
|
"context.tv.channelArt.lab.background": {
|
|
1649
2215
|
"cssName": "--tv-channel-art-lab-bg",
|
|
1650
2216
|
"type": "color",
|
|
@@ -1666,6 +2232,38 @@ export const tokens = {
|
|
|
1666
2232
|
"value": "hsl(110.6, 100%, 53.9%)",
|
|
1667
2233
|
"originalValue": "hsl(110.6, 100%, 53.9%)"
|
|
1668
2234
|
},
|
|
2235
|
+
"tv.video.background": {
|
|
2236
|
+
"cssName": "--tv-video-bg",
|
|
2237
|
+
"type": "color",
|
|
2238
|
+
"mode": "tv",
|
|
2239
|
+
"value": "hsl(0, 0%, 0%)",
|
|
2240
|
+
"originalValue": "hsl(0, 0%, 0%)",
|
|
2241
|
+
"description": "Letterbox / video plate. True black, not the app background."
|
|
2242
|
+
},
|
|
2243
|
+
"tv.video.heroScrimTop": {
|
|
2244
|
+
"cssName": "--tv-hero-scrim-top",
|
|
2245
|
+
"type": "color",
|
|
2246
|
+
"mode": "tv",
|
|
2247
|
+
"value": "hsl(30, 18.2%, 8.6%)",
|
|
2248
|
+
"originalValue": "hsl(30, 18.2%, 8.6%)",
|
|
2249
|
+
"description": "Top stop of the warm-black wash behind hero/poster art."
|
|
2250
|
+
},
|
|
2251
|
+
"tv.video.heroScrimBottom": {
|
|
2252
|
+
"cssName": "--tv-hero-scrim-bottom",
|
|
2253
|
+
"type": "color",
|
|
2254
|
+
"mode": "tv",
|
|
2255
|
+
"value": "hsl(30, 25%, 1.6%)",
|
|
2256
|
+
"originalValue": "hsl(30, 25%, 1.6%)",
|
|
2257
|
+
"description": "Bottom stop of the hero wash. Near-black but warm — never pure black, which reads blue next to the art."
|
|
2258
|
+
},
|
|
2259
|
+
"tv.video.textOnVideo": {
|
|
2260
|
+
"cssName": "--tv-text-on-video",
|
|
2261
|
+
"type": "color",
|
|
2262
|
+
"mode": "tv",
|
|
2263
|
+
"value": "hsl(0, 0%, 100%)",
|
|
2264
|
+
"originalValue": "hsl(0, 0%, 100%)",
|
|
2265
|
+
"description": "Player chrome over video — always white, never a theme token."
|
|
2266
|
+
},
|
|
1669
2267
|
"tv.text.heading": {
|
|
1670
2268
|
"cssName": "--tv-text-heading",
|
|
1671
2269
|
"type": "dimension",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@putdotio/design",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Public put.io design tokens, brand assets, and design-system guidance.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -73,8 +73,9 @@
|
|
|
73
73
|
"typecheck:scripts": "tsc --noEmit --ignoreConfig --skipLibCheck --module ESNext --moduleResolution Bundler --target ES2022 --strict --types node scripts/*.ts playwright.config.ts tests/e2e/*.ts sst.config.ts infra/*.ts",
|
|
74
74
|
"smoke": "node scripts/smoke-static.ts",
|
|
75
75
|
"html:check": "html-validate \"system/**/*.html\"",
|
|
76
|
+
"skills:lint": "skillcheck lint",
|
|
76
77
|
"e2e": "playwright test",
|
|
77
|
-
"verify": "pnpm typecheck:scripts && pnpm tokens:check && pnpm test:mirror && pnpm html:check && pnpm smoke && sst version",
|
|
78
|
+
"verify": "pnpm skills:lint && pnpm typecheck:scripts && pnpm tokens:check && pnpm test:mirror && pnpm html:check && pnpm smoke && sst version",
|
|
78
79
|
"verify:full": "pnpm verify && pnpm e2e && npm pack --dry-run",
|
|
79
80
|
"check": "pnpm verify",
|
|
80
81
|
"deploy:production": "sst deploy --stage production"
|
|
@@ -83,6 +84,7 @@
|
|
|
83
84
|
"@axe-core/playwright": "^4.11.3",
|
|
84
85
|
"@playwright/test": "^1.60.0",
|
|
85
86
|
"@types/node": "^26.0.0",
|
|
87
|
+
"@uinaf/skillcheck": "0.4.0",
|
|
86
88
|
"html-validate": "^11.2.0",
|
|
87
89
|
"sst": "^4.14.3",
|
|
88
90
|
"style-dictionary": "^5.4.1",
|