@vectoriox/iox-ui 5.43.0 → 5.45.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-core/index.d.ts +766 -3
- package/fesm2022/vectoriox-iox-ui-design-core.mjs +1033 -3
- package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs +7 -1
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui.mjs +177 -52
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/generation-core/index.d.ts +3 -0
- package/index.d.ts +111 -23
- package/package.json +1 -1
- package/src/design-core/design-settings.ts +32 -3
- package/src/design-core/design-token.model.ts +23 -0
- package/src/design-core/flavor-spec.generated.ts +971 -0
- package/src/design-core/flavor-tokens.ts +2 -1
- package/src/design-core/public-api.ts +1 -0
- package/src/design-core/style-presets.ts +71 -0
- package/src/generation-core/site-spec.generated.ts +4 -1
- package/src/generation-core/validate-site-plan.ts +3 -0
|
@@ -1429,6 +1429,208 @@ export const SPEC_AXES = {
|
|
|
1429
1429
|
"inverse-line": 0.03
|
|
1430
1430
|
}
|
|
1431
1431
|
}
|
|
1432
|
+
},
|
|
1433
|
+
"scrolls": {
|
|
1434
|
+
"normal": {
|
|
1435
|
+
"label": "Normal",
|
|
1436
|
+
"he": "רגילה",
|
|
1437
|
+
"hint": "The browser's own scrolling.",
|
|
1438
|
+
"lenis": null
|
|
1439
|
+
},
|
|
1440
|
+
"smooth": {
|
|
1441
|
+
"label": "Smooth",
|
|
1442
|
+
"he": "חלקה",
|
|
1443
|
+
"hint": "A short glide after each wheel turn — what every IOX site does today.",
|
|
1444
|
+
"lenis": {
|
|
1445
|
+
"duration": 1.2,
|
|
1446
|
+
"easing": "expo-out",
|
|
1447
|
+
"wheelMultiplier": 1,
|
|
1448
|
+
"syncTouch": false
|
|
1449
|
+
}
|
|
1450
|
+
},
|
|
1451
|
+
"extra": {
|
|
1452
|
+
"label": "Extra smooth",
|
|
1453
|
+
"he": "חלקה מאוד",
|
|
1454
|
+
"hint": "A longer, softer glide; each wheel turn moves a little less.",
|
|
1455
|
+
"lenis": {
|
|
1456
|
+
"duration": 1.8,
|
|
1457
|
+
"easing": "expo-out",
|
|
1458
|
+
"wheelMultiplier": 0.9,
|
|
1459
|
+
"syncTouch": false
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
},
|
|
1463
|
+
"animations": {
|
|
1464
|
+
"still": {
|
|
1465
|
+
"label": "Still",
|
|
1466
|
+
"he": "ללא",
|
|
1467
|
+
"hint": "Nothing moves in as you scroll. Buttons and cards still respond to the pointer (Speed).",
|
|
1468
|
+
"parts": {}
|
|
1469
|
+
},
|
|
1470
|
+
"subtle": {
|
|
1471
|
+
"label": "Subtle",
|
|
1472
|
+
"he": "עדינה",
|
|
1473
|
+
"hint": "Each section's content fades in once, together.",
|
|
1474
|
+
"parts": {
|
|
1475
|
+
"content": {
|
|
1476
|
+
"type": "fadeIn",
|
|
1477
|
+
"duration": 500
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
},
|
|
1481
|
+
"standard": {
|
|
1482
|
+
"label": "Standard",
|
|
1483
|
+
"he": "רגילה",
|
|
1484
|
+
"hint": "Headings rise in; cards, prices and steps follow one after another.",
|
|
1485
|
+
"parts": {
|
|
1486
|
+
"heading": {
|
|
1487
|
+
"type": "moveUp",
|
|
1488
|
+
"distance": 16,
|
|
1489
|
+
"duration": 500
|
|
1490
|
+
},
|
|
1491
|
+
"items": {
|
|
1492
|
+
"type": "moveUp",
|
|
1493
|
+
"distance": 16,
|
|
1494
|
+
"duration": 450,
|
|
1495
|
+
"stagger": 80,
|
|
1496
|
+
"cap": 6
|
|
1497
|
+
},
|
|
1498
|
+
"media": {
|
|
1499
|
+
"type": "fadeIn",
|
|
1500
|
+
"duration": 600
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1503
|
+
},
|
|
1504
|
+
"lively": {
|
|
1505
|
+
"label": "Lively",
|
|
1506
|
+
"he": "תוססת",
|
|
1507
|
+
"hint": "Bigger, longer entrances; side-by-side rows slide in from their side; the hero's words fade in.",
|
|
1508
|
+
"parts": {
|
|
1509
|
+
"heroText": {
|
|
1510
|
+
"type": "fadeIn",
|
|
1511
|
+
"duration": 400
|
|
1512
|
+
},
|
|
1513
|
+
"heading": {
|
|
1514
|
+
"type": "moveUp",
|
|
1515
|
+
"distance": 24,
|
|
1516
|
+
"duration": 600
|
|
1517
|
+
},
|
|
1518
|
+
"items": {
|
|
1519
|
+
"type": "moveUp",
|
|
1520
|
+
"distance": 24,
|
|
1521
|
+
"duration": 600,
|
|
1522
|
+
"stagger": 100,
|
|
1523
|
+
"cap": 8
|
|
1524
|
+
},
|
|
1525
|
+
"media": {
|
|
1526
|
+
"type": "fadeIn",
|
|
1527
|
+
"duration": 700
|
|
1528
|
+
},
|
|
1529
|
+
"rowMedia": {
|
|
1530
|
+
"type": "moveLeft",
|
|
1531
|
+
"mirror": "moveRight",
|
|
1532
|
+
"distance": 24,
|
|
1533
|
+
"duration": 600
|
|
1534
|
+
}
|
|
1535
|
+
}
|
|
1536
|
+
}
|
|
1537
|
+
},
|
|
1538
|
+
"animationFamilies": {
|
|
1539
|
+
"nav": [],
|
|
1540
|
+
"footer": [],
|
|
1541
|
+
"hero": [
|
|
1542
|
+
"heroText"
|
|
1543
|
+
],
|
|
1544
|
+
"header": [
|
|
1545
|
+
"heading"
|
|
1546
|
+
],
|
|
1547
|
+
"detail": [
|
|
1548
|
+
"heading",
|
|
1549
|
+
"media"
|
|
1550
|
+
],
|
|
1551
|
+
"proof": [
|
|
1552
|
+
"content",
|
|
1553
|
+
"heading",
|
|
1554
|
+
"items"
|
|
1555
|
+
],
|
|
1556
|
+
"feature": [
|
|
1557
|
+
"content",
|
|
1558
|
+
"heading",
|
|
1559
|
+
"items",
|
|
1560
|
+
"media",
|
|
1561
|
+
"rowMedia"
|
|
1562
|
+
],
|
|
1563
|
+
"collection": [
|
|
1564
|
+
"content",
|
|
1565
|
+
"heading",
|
|
1566
|
+
"items"
|
|
1567
|
+
],
|
|
1568
|
+
"story": [
|
|
1569
|
+
"content",
|
|
1570
|
+
"heading",
|
|
1571
|
+
"media"
|
|
1572
|
+
],
|
|
1573
|
+
"cta": [
|
|
1574
|
+
"content",
|
|
1575
|
+
"heading"
|
|
1576
|
+
],
|
|
1577
|
+
"contact": [
|
|
1578
|
+
"content",
|
|
1579
|
+
"heading"
|
|
1580
|
+
],
|
|
1581
|
+
"faq": [
|
|
1582
|
+
"content",
|
|
1583
|
+
"heading"
|
|
1584
|
+
],
|
|
1585
|
+
"pricing": [
|
|
1586
|
+
"content",
|
|
1587
|
+
"heading",
|
|
1588
|
+
"items"
|
|
1589
|
+
]
|
|
1590
|
+
},
|
|
1591
|
+
"betweens": {
|
|
1592
|
+
"none": {
|
|
1593
|
+
"label": "None",
|
|
1594
|
+
"he": "ללא",
|
|
1595
|
+
"hint": "The next page simply appears.",
|
|
1596
|
+
"transition": "none"
|
|
1597
|
+
},
|
|
1598
|
+
"fade": {
|
|
1599
|
+
"label": "Fade",
|
|
1600
|
+
"he": "דהייה",
|
|
1601
|
+
"hint": "The page fades into the next.",
|
|
1602
|
+
"transition": "fade",
|
|
1603
|
+
"feel": "snappy"
|
|
1604
|
+
},
|
|
1605
|
+
"slide": {
|
|
1606
|
+
"label": "Slide",
|
|
1607
|
+
"he": "החלקה",
|
|
1608
|
+
"hint": "The next page pushes this one aside (from the left on a Hebrew site). On phones: Fade.",
|
|
1609
|
+
"transition": "move-left",
|
|
1610
|
+
"rtl": "move-right",
|
|
1611
|
+
"feel": "smooth",
|
|
1612
|
+
"phone": "fade"
|
|
1613
|
+
},
|
|
1614
|
+
"cinematic": {
|
|
1615
|
+
"label": "Cinematic",
|
|
1616
|
+
"he": "קולנועית",
|
|
1617
|
+
"hint": "This page sinks back while the next rises over it. On phones: Fade.",
|
|
1618
|
+
"transition": "parallax-up",
|
|
1619
|
+
"feel": "cinematic",
|
|
1620
|
+
"phone": "fade"
|
|
1621
|
+
}
|
|
1622
|
+
},
|
|
1623
|
+
"motionChoices": {
|
|
1624
|
+
"pre": {
|
|
1625
|
+
"scroll": "smooth",
|
|
1626
|
+
"animate": "still",
|
|
1627
|
+
"between": "cinematic"
|
|
1628
|
+
},
|
|
1629
|
+
"reduced": {
|
|
1630
|
+
"scroll": "normal",
|
|
1631
|
+
"animate": "still",
|
|
1632
|
+
"between": "none"
|
|
1633
|
+
}
|
|
1432
1634
|
}
|
|
1433
1635
|
} as const;
|
|
1434
1636
|
|
|
@@ -1443,6 +1645,775 @@ export const SPEC_SPRINGS = {
|
|
|
1443
1645
|
}
|
|
1444
1646
|
} as const;
|
|
1445
1647
|
|
|
1648
|
+
export const SPEC_MOODS = {
|
|
1649
|
+
"calm": "Calm",
|
|
1650
|
+
"warm": "Warm",
|
|
1651
|
+
"natural": "Natural",
|
|
1652
|
+
"elegant": "Elegant",
|
|
1653
|
+
"luxurious": "Luxurious",
|
|
1654
|
+
"minimal": "Minimal",
|
|
1655
|
+
"professional": "Professional",
|
|
1656
|
+
"trustworthy": "Trustworthy",
|
|
1657
|
+
"friendly": "Friendly",
|
|
1658
|
+
"playful": "Playful",
|
|
1659
|
+
"bold": "Bold",
|
|
1660
|
+
"energetic": "Energetic",
|
|
1661
|
+
"dark": "Dark",
|
|
1662
|
+
"editorial": "Editorial",
|
|
1663
|
+
"technical": "Technical",
|
|
1664
|
+
"romantic": "Romantic",
|
|
1665
|
+
"crafted": "Hand-made"
|
|
1666
|
+
} as const;
|
|
1667
|
+
|
|
1668
|
+
export const SPEC_STYLE_PRESETS = [
|
|
1669
|
+
{
|
|
1670
|
+
"id": "clear-care",
|
|
1671
|
+
"name": "Clear care",
|
|
1672
|
+
"flavorId": "crisp",
|
|
1673
|
+
"seed": "#0E7490",
|
|
1674
|
+
"tint": "subtle",
|
|
1675
|
+
"pairId": "manrope",
|
|
1676
|
+
"shape": "soft",
|
|
1677
|
+
"density": "regular",
|
|
1678
|
+
"motion": "standard",
|
|
1679
|
+
"pillButtons": false,
|
|
1680
|
+
"moves": {
|
|
1681
|
+
"scroll": "smooth",
|
|
1682
|
+
"animate": "standard",
|
|
1683
|
+
"between": "fade"
|
|
1684
|
+
},
|
|
1685
|
+
"modes": [
|
|
1686
|
+
"light"
|
|
1687
|
+
],
|
|
1688
|
+
"moods": [
|
|
1689
|
+
"trustworthy",
|
|
1690
|
+
"calm",
|
|
1691
|
+
"professional"
|
|
1692
|
+
],
|
|
1693
|
+
"uupm": [
|
|
1694
|
+
"Accessible & Ethical",
|
|
1695
|
+
"Minimalism & Swiss Style"
|
|
1696
|
+
],
|
|
1697
|
+
"blurb": "Clean, light and easy to read. Says \"you are in good hands\".",
|
|
1698
|
+
"slice": true
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
"id": "swiss-grid",
|
|
1702
|
+
"name": "Swiss grid",
|
|
1703
|
+
"flavorId": "crisp",
|
|
1704
|
+
"seed": "#111827",
|
|
1705
|
+
"tint": "neutral",
|
|
1706
|
+
"pairId": "inter-tight",
|
|
1707
|
+
"shape": "sharp",
|
|
1708
|
+
"density": "compact",
|
|
1709
|
+
"motion": "snappy",
|
|
1710
|
+
"pillButtons": false,
|
|
1711
|
+
"moves": {
|
|
1712
|
+
"scroll": "normal",
|
|
1713
|
+
"animate": "standard",
|
|
1714
|
+
"between": "none"
|
|
1715
|
+
},
|
|
1716
|
+
"modes": [
|
|
1717
|
+
"light",
|
|
1718
|
+
"dark"
|
|
1719
|
+
],
|
|
1720
|
+
"moods": [
|
|
1721
|
+
"minimal",
|
|
1722
|
+
"professional",
|
|
1723
|
+
"technical"
|
|
1724
|
+
],
|
|
1725
|
+
"uupm": [
|
|
1726
|
+
"Minimalism & Swiss Style",
|
|
1727
|
+
"Swiss Modernism 2.0"
|
|
1728
|
+
],
|
|
1729
|
+
"blurb": "Black on white, a strict grid, nothing extra.",
|
|
1730
|
+
"slice": true
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"id": "trusted-advisor",
|
|
1734
|
+
"name": "Trusted advisor",
|
|
1735
|
+
"flavorId": "crisp",
|
|
1736
|
+
"seed": "#1E3A8A",
|
|
1737
|
+
"tint": "subtle",
|
|
1738
|
+
"pairId": "plex",
|
|
1739
|
+
"shape": "subtle",
|
|
1740
|
+
"density": "regular",
|
|
1741
|
+
"motion": "standard",
|
|
1742
|
+
"pillButtons": false,
|
|
1743
|
+
"moves": {
|
|
1744
|
+
"scroll": "normal",
|
|
1745
|
+
"animate": "standard",
|
|
1746
|
+
"between": "fade"
|
|
1747
|
+
},
|
|
1748
|
+
"modes": [
|
|
1749
|
+
"light"
|
|
1750
|
+
],
|
|
1751
|
+
"moods": [
|
|
1752
|
+
"trustworthy",
|
|
1753
|
+
"professional"
|
|
1754
|
+
],
|
|
1755
|
+
"uupm": [
|
|
1756
|
+
"Accessible & Ethical",
|
|
1757
|
+
"Trust & Authority (landing)"
|
|
1758
|
+
],
|
|
1759
|
+
"blurb": "Navy, plain type, firm edges. Serious without being cold.",
|
|
1760
|
+
"slice": true
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"id": "fresh-practice",
|
|
1764
|
+
"name": "Fresh practice",
|
|
1765
|
+
"flavorId": "crisp",
|
|
1766
|
+
"seed": "#0284C7",
|
|
1767
|
+
"tint": "rich",
|
|
1768
|
+
"pairId": "inter-tight",
|
|
1769
|
+
"shape": "round",
|
|
1770
|
+
"density": "airy",
|
|
1771
|
+
"motion": "calm",
|
|
1772
|
+
"pillButtons": true,
|
|
1773
|
+
"moves": {
|
|
1774
|
+
"scroll": "smooth",
|
|
1775
|
+
"animate": "subtle",
|
|
1776
|
+
"between": "fade"
|
|
1777
|
+
},
|
|
1778
|
+
"modes": [
|
|
1779
|
+
"light"
|
|
1780
|
+
],
|
|
1781
|
+
"moods": [
|
|
1782
|
+
"friendly",
|
|
1783
|
+
"calm",
|
|
1784
|
+
"trustworthy"
|
|
1785
|
+
],
|
|
1786
|
+
"uupm": [
|
|
1787
|
+
"Soft UI Evolution",
|
|
1788
|
+
"Accessible & Ethical"
|
|
1789
|
+
],
|
|
1790
|
+
"blurb": "Bright, soft and reassuring, with rounded buttons.",
|
|
1791
|
+
"slice": false
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"id": "gallery-minimal",
|
|
1795
|
+
"name": "Gallery minimal",
|
|
1796
|
+
"flavorId": "linen",
|
|
1797
|
+
"seed": "#3F4A5A",
|
|
1798
|
+
"tint": "neutral",
|
|
1799
|
+
"pairId": "instrument",
|
|
1800
|
+
"shape": "sharp",
|
|
1801
|
+
"density": "airy",
|
|
1802
|
+
"motion": "calm",
|
|
1803
|
+
"pillButtons": false,
|
|
1804
|
+
"moves": {
|
|
1805
|
+
"scroll": "extra",
|
|
1806
|
+
"animate": "subtle",
|
|
1807
|
+
"between": "fade"
|
|
1808
|
+
},
|
|
1809
|
+
"modes": [
|
|
1810
|
+
"light",
|
|
1811
|
+
"dark"
|
|
1812
|
+
],
|
|
1813
|
+
"moods": [
|
|
1814
|
+
"minimal",
|
|
1815
|
+
"elegant",
|
|
1816
|
+
"editorial"
|
|
1817
|
+
],
|
|
1818
|
+
"uupm": [
|
|
1819
|
+
"Exaggerated Minimalism",
|
|
1820
|
+
"Editorial Grid / Magazine"
|
|
1821
|
+
],
|
|
1822
|
+
"blurb": "White walls and a quiet serif. The work does the talking.",
|
|
1823
|
+
"slice": true
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"id": "warm-editorial",
|
|
1827
|
+
"name": "Warm editorial",
|
|
1828
|
+
"flavorId": "linen",
|
|
1829
|
+
"seed": "#9A4F2B",
|
|
1830
|
+
"tint": "subtle",
|
|
1831
|
+
"pairId": "fraunces",
|
|
1832
|
+
"shape": "sharp",
|
|
1833
|
+
"density": "airy",
|
|
1834
|
+
"motion": "calm",
|
|
1835
|
+
"pillButtons": false,
|
|
1836
|
+
"moves": {
|
|
1837
|
+
"scroll": "smooth",
|
|
1838
|
+
"animate": "subtle",
|
|
1839
|
+
"between": "fade"
|
|
1840
|
+
},
|
|
1841
|
+
"modes": [
|
|
1842
|
+
"light"
|
|
1843
|
+
],
|
|
1844
|
+
"moods": [
|
|
1845
|
+
"warm",
|
|
1846
|
+
"editorial",
|
|
1847
|
+
"crafted"
|
|
1848
|
+
],
|
|
1849
|
+
"uupm": [
|
|
1850
|
+
"Editorial Grid / Magazine",
|
|
1851
|
+
"Nature Distilled"
|
|
1852
|
+
],
|
|
1853
|
+
"blurb": "Cream paper, terracotta and a soft serif, like a good magazine.",
|
|
1854
|
+
"slice": true
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"id": "soft-spa",
|
|
1858
|
+
"name": "Soft spa",
|
|
1859
|
+
"flavorId": "linen",
|
|
1860
|
+
"seed": "#7D4E5E",
|
|
1861
|
+
"tint": "rich",
|
|
1862
|
+
"pairId": "cormorant",
|
|
1863
|
+
"shape": "soft",
|
|
1864
|
+
"density": "airy",
|
|
1865
|
+
"motion": "calm",
|
|
1866
|
+
"pillButtons": false,
|
|
1867
|
+
"moves": {
|
|
1868
|
+
"scroll": "extra",
|
|
1869
|
+
"animate": "subtle",
|
|
1870
|
+
"between": "fade"
|
|
1871
|
+
},
|
|
1872
|
+
"modes": [
|
|
1873
|
+
"light"
|
|
1874
|
+
],
|
|
1875
|
+
"moods": [
|
|
1876
|
+
"calm",
|
|
1877
|
+
"elegant",
|
|
1878
|
+
"natural"
|
|
1879
|
+
],
|
|
1880
|
+
"uupm": [
|
|
1881
|
+
"Soft UI Evolution",
|
|
1882
|
+
"Nature Distilled"
|
|
1883
|
+
],
|
|
1884
|
+
"blurb": "Rose-tinted cream, a fine serif and slow, gentle motion.",
|
|
1885
|
+
"slice": true
|
|
1886
|
+
},
|
|
1887
|
+
{
|
|
1888
|
+
"id": "quiet-luxury",
|
|
1889
|
+
"name": "Quiet luxury",
|
|
1890
|
+
"flavorId": "linen",
|
|
1891
|
+
"seed": "#7A5B36",
|
|
1892
|
+
"tint": "subtle",
|
|
1893
|
+
"pairId": "cormorant",
|
|
1894
|
+
"shape": "sharp",
|
|
1895
|
+
"density": "airy",
|
|
1896
|
+
"motion": "calm",
|
|
1897
|
+
"pillButtons": false,
|
|
1898
|
+
"moves": {
|
|
1899
|
+
"scroll": "extra",
|
|
1900
|
+
"animate": "subtle",
|
|
1901
|
+
"between": "cinematic"
|
|
1902
|
+
},
|
|
1903
|
+
"modes": [
|
|
1904
|
+
"light",
|
|
1905
|
+
"dark"
|
|
1906
|
+
],
|
|
1907
|
+
"moods": [
|
|
1908
|
+
"luxurious",
|
|
1909
|
+
"elegant",
|
|
1910
|
+
"calm"
|
|
1911
|
+
],
|
|
1912
|
+
"uupm": [
|
|
1913
|
+
"Exaggerated Minimalism",
|
|
1914
|
+
"Liquid Glass (luxury rows, without the glass)"
|
|
1915
|
+
],
|
|
1916
|
+
"blurb": "Bronze on warm white. Expensive, never loud.",
|
|
1917
|
+
"slice": false
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"id": "after-dark",
|
|
1921
|
+
"name": "After dark",
|
|
1922
|
+
"flavorId": "midnight",
|
|
1923
|
+
"seed": "#DB2777",
|
|
1924
|
+
"tint": "subtle",
|
|
1925
|
+
"pairId": "grotesk",
|
|
1926
|
+
"shape": "soft",
|
|
1927
|
+
"density": "regular",
|
|
1928
|
+
"motion": "lively",
|
|
1929
|
+
"pillButtons": false,
|
|
1930
|
+
"moves": {
|
|
1931
|
+
"scroll": "smooth",
|
|
1932
|
+
"animate": "lively",
|
|
1933
|
+
"between": "slide"
|
|
1934
|
+
},
|
|
1935
|
+
"modes": [
|
|
1936
|
+
"dark"
|
|
1937
|
+
],
|
|
1938
|
+
"moods": [
|
|
1939
|
+
"bold",
|
|
1940
|
+
"energetic",
|
|
1941
|
+
"dark"
|
|
1942
|
+
],
|
|
1943
|
+
"uupm": [
|
|
1944
|
+
"Dark Mode (OLED)",
|
|
1945
|
+
"Vibrant & Block-based"
|
|
1946
|
+
],
|
|
1947
|
+
"blurb": "A night out: dark rooms, one bright colour, lively motion.",
|
|
1948
|
+
"slice": false
|
|
1949
|
+
},
|
|
1950
|
+
{
|
|
1951
|
+
"id": "ink-studio",
|
|
1952
|
+
"name": "Ink studio",
|
|
1953
|
+
"flavorId": "midnight",
|
|
1954
|
+
"seed": "#EA580C",
|
|
1955
|
+
"tint": "neutral",
|
|
1956
|
+
"pairId": "inter-tight",
|
|
1957
|
+
"shape": "sharp",
|
|
1958
|
+
"density": "compact",
|
|
1959
|
+
"motion": "snappy",
|
|
1960
|
+
"pillButtons": false,
|
|
1961
|
+
"moves": {
|
|
1962
|
+
"scroll": "normal",
|
|
1963
|
+
"animate": "standard",
|
|
1964
|
+
"between": "slide"
|
|
1965
|
+
},
|
|
1966
|
+
"modes": [
|
|
1967
|
+
"dark"
|
|
1968
|
+
],
|
|
1969
|
+
"moods": [
|
|
1970
|
+
"bold",
|
|
1971
|
+
"dark",
|
|
1972
|
+
"crafted"
|
|
1973
|
+
],
|
|
1974
|
+
"uupm": [
|
|
1975
|
+
"Dark Mode (OLED)",
|
|
1976
|
+
"Brutalism"
|
|
1977
|
+
],
|
|
1978
|
+
"blurb": "Black, sharp and orange. A shop with attitude.",
|
|
1979
|
+
"slice": false
|
|
1980
|
+
},
|
|
1981
|
+
{
|
|
1982
|
+
"id": "night-gallery",
|
|
1983
|
+
"name": "Night gallery",
|
|
1984
|
+
"flavorId": "midnight",
|
|
1985
|
+
"seed": "#8B9BB4",
|
|
1986
|
+
"tint": "neutral",
|
|
1987
|
+
"pairId": "geist",
|
|
1988
|
+
"shape": "sharp",
|
|
1989
|
+
"density": "airy",
|
|
1990
|
+
"motion": "calm",
|
|
1991
|
+
"pillButtons": false,
|
|
1992
|
+
"moves": {
|
|
1993
|
+
"scroll": "extra",
|
|
1994
|
+
"animate": "subtle",
|
|
1995
|
+
"between": "cinematic"
|
|
1996
|
+
},
|
|
1997
|
+
"modes": [
|
|
1998
|
+
"dark",
|
|
1999
|
+
"light"
|
|
2000
|
+
],
|
|
2001
|
+
"moods": [
|
|
2002
|
+
"minimal",
|
|
2003
|
+
"dark",
|
|
2004
|
+
"editorial"
|
|
2005
|
+
],
|
|
2006
|
+
"uupm": [
|
|
2007
|
+
"Dark Mode (OLED)",
|
|
2008
|
+
"Minimalism & Swiss Style"
|
|
2009
|
+
],
|
|
2010
|
+
"blurb": "Pictures on black, like a darkened gallery.",
|
|
2011
|
+
"slice": true
|
|
2012
|
+
},
|
|
2013
|
+
{
|
|
2014
|
+
"id": "tech-studio",
|
|
2015
|
+
"name": "Tech studio",
|
|
2016
|
+
"flavorId": "midnight",
|
|
2017
|
+
"seed": "#059669",
|
|
2018
|
+
"tint": "subtle",
|
|
2019
|
+
"pairId": "geist",
|
|
2020
|
+
"shape": "soft",
|
|
2021
|
+
"density": "regular",
|
|
2022
|
+
"motion": "standard",
|
|
2023
|
+
"pillButtons": false,
|
|
2024
|
+
"moves": {
|
|
2025
|
+
"scroll": "normal",
|
|
2026
|
+
"animate": "standard",
|
|
2027
|
+
"between": "fade"
|
|
2028
|
+
},
|
|
2029
|
+
"modes": [
|
|
2030
|
+
"dark",
|
|
2031
|
+
"light"
|
|
2032
|
+
],
|
|
2033
|
+
"moods": [
|
|
2034
|
+
"technical",
|
|
2035
|
+
"bold",
|
|
2036
|
+
"professional"
|
|
2037
|
+
],
|
|
2038
|
+
"uupm": [
|
|
2039
|
+
"Dark Mode (OLED)",
|
|
2040
|
+
"Minimalism & Swiss Style"
|
|
2041
|
+
],
|
|
2042
|
+
"blurb": "Dark, precise and modern, for people who build things.",
|
|
2043
|
+
"slice": false
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
"id": "morning-glass",
|
|
2047
|
+
"name": "Morning glass",
|
|
2048
|
+
"flavorId": "glass",
|
|
2049
|
+
"seed": "#0E8A89",
|
|
2050
|
+
"tint": "subtle",
|
|
2051
|
+
"pairId": "figtree",
|
|
2052
|
+
"shape": "round",
|
|
2053
|
+
"density": "regular",
|
|
2054
|
+
"motion": "calm",
|
|
2055
|
+
"pillButtons": true,
|
|
2056
|
+
"moves": {
|
|
2057
|
+
"scroll": "smooth",
|
|
2058
|
+
"animate": "subtle",
|
|
2059
|
+
"between": "fade"
|
|
2060
|
+
},
|
|
2061
|
+
"modes": [
|
|
2062
|
+
"light"
|
|
2063
|
+
],
|
|
2064
|
+
"moods": [
|
|
2065
|
+
"calm",
|
|
2066
|
+
"friendly",
|
|
2067
|
+
"natural"
|
|
2068
|
+
],
|
|
2069
|
+
"uupm": [
|
|
2070
|
+
"Glassmorphism",
|
|
2071
|
+
"Soft UI Evolution"
|
|
2072
|
+
],
|
|
2073
|
+
"blurb": "Frosted panels over a soft teal light. Fresh and calm.",
|
|
2074
|
+
"slice": true
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
"id": "holiday-light",
|
|
2078
|
+
"name": "Holiday light",
|
|
2079
|
+
"flavorId": "glass",
|
|
2080
|
+
"seed": "#0A66E8",
|
|
2081
|
+
"tint": "rich",
|
|
2082
|
+
"pairId": "jakarta",
|
|
2083
|
+
"shape": "round",
|
|
2084
|
+
"density": "regular",
|
|
2085
|
+
"motion": "lively",
|
|
2086
|
+
"pillButtons": true,
|
|
2087
|
+
"moves": {
|
|
2088
|
+
"scroll": "smooth",
|
|
2089
|
+
"animate": "lively",
|
|
2090
|
+
"between": "slide"
|
|
2091
|
+
},
|
|
2092
|
+
"modes": [
|
|
2093
|
+
"light"
|
|
2094
|
+
],
|
|
2095
|
+
"moods": [
|
|
2096
|
+
"friendly",
|
|
2097
|
+
"energetic"
|
|
2098
|
+
],
|
|
2099
|
+
"uupm": [
|
|
2100
|
+
"Liquid Glass",
|
|
2101
|
+
"Glassmorphism"
|
|
2102
|
+
],
|
|
2103
|
+
"blurb": "Sea-blue glass and big photos. Makes people want to go.",
|
|
2104
|
+
"slice": false
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
"id": "frosted-portfolio",
|
|
2108
|
+
"name": "Frosted portfolio",
|
|
2109
|
+
"flavorId": "glass",
|
|
2110
|
+
"seed": "#1F2937",
|
|
2111
|
+
"tint": "neutral",
|
|
2112
|
+
"pairId": "manrope",
|
|
2113
|
+
"shape": "round",
|
|
2114
|
+
"density": "airy",
|
|
2115
|
+
"motion": "calm",
|
|
2116
|
+
"pillButtons": true,
|
|
2117
|
+
"moves": {
|
|
2118
|
+
"scroll": "extra",
|
|
2119
|
+
"animate": "subtle",
|
|
2120
|
+
"between": "cinematic"
|
|
2121
|
+
},
|
|
2122
|
+
"modes": [
|
|
2123
|
+
"light",
|
|
2124
|
+
"dark"
|
|
2125
|
+
],
|
|
2126
|
+
"moods": [
|
|
2127
|
+
"minimal",
|
|
2128
|
+
"elegant"
|
|
2129
|
+
],
|
|
2130
|
+
"uupm": [
|
|
2131
|
+
"Glassmorphism",
|
|
2132
|
+
"Spatial UI (VisionOS)"
|
|
2133
|
+
],
|
|
2134
|
+
"blurb": "Grey glass and lots of space around your pictures.",
|
|
2135
|
+
"slice": true
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
"id": "coral-studio",
|
|
2139
|
+
"name": "Coral studio",
|
|
2140
|
+
"flavorId": "glass",
|
|
2141
|
+
"seed": "#E5484D",
|
|
2142
|
+
"tint": "subtle",
|
|
2143
|
+
"pairId": "figtree",
|
|
2144
|
+
"shape": "round",
|
|
2145
|
+
"density": "regular",
|
|
2146
|
+
"motion": "lively",
|
|
2147
|
+
"pillButtons": true,
|
|
2148
|
+
"moves": {
|
|
2149
|
+
"scroll": "smooth",
|
|
2150
|
+
"animate": "lively",
|
|
2151
|
+
"between": "slide"
|
|
2152
|
+
},
|
|
2153
|
+
"modes": [
|
|
2154
|
+
"light"
|
|
2155
|
+
],
|
|
2156
|
+
"moods": [
|
|
2157
|
+
"energetic",
|
|
2158
|
+
"friendly"
|
|
2159
|
+
],
|
|
2160
|
+
"uupm": [
|
|
2161
|
+
"Glassmorphism",
|
|
2162
|
+
"Vibrant & Block-based"
|
|
2163
|
+
],
|
|
2164
|
+
"blurb": "Warm coral and bouncy buttons. Full of energy.",
|
|
2165
|
+
"slice": false
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
"id": "corner-cafe",
|
|
2169
|
+
"name": "Corner café",
|
|
2170
|
+
"flavorId": "bloom",
|
|
2171
|
+
"seed": "#9C4146",
|
|
2172
|
+
"tint": "subtle",
|
|
2173
|
+
"pairId": "bricolage",
|
|
2174
|
+
"shape": "bubbly",
|
|
2175
|
+
"density": "regular",
|
|
2176
|
+
"motion": "lively",
|
|
2177
|
+
"pillButtons": true,
|
|
2178
|
+
"moves": {
|
|
2179
|
+
"scroll": "smooth",
|
|
2180
|
+
"animate": "lively",
|
|
2181
|
+
"between": "slide"
|
|
2182
|
+
},
|
|
2183
|
+
"modes": [
|
|
2184
|
+
"light"
|
|
2185
|
+
],
|
|
2186
|
+
"moods": [
|
|
2187
|
+
"warm",
|
|
2188
|
+
"friendly",
|
|
2189
|
+
"playful"
|
|
2190
|
+
],
|
|
2191
|
+
"uupm": [
|
|
2192
|
+
"Vibrant & Block-based",
|
|
2193
|
+
"Soft UI Evolution"
|
|
2194
|
+
],
|
|
2195
|
+
"blurb": "Berry red, round shapes, a cheerful headline face.",
|
|
2196
|
+
"slice": true
|
|
2197
|
+
},
|
|
2198
|
+
{
|
|
2199
|
+
"id": "kind-community",
|
|
2200
|
+
"name": "Kind community",
|
|
2201
|
+
"flavorId": "bloom",
|
|
2202
|
+
"seed": "#3B6939",
|
|
2203
|
+
"tint": "subtle",
|
|
2204
|
+
"pairId": "nunito",
|
|
2205
|
+
"shape": "bubbly",
|
|
2206
|
+
"density": "regular",
|
|
2207
|
+
"motion": "standard",
|
|
2208
|
+
"pillButtons": true,
|
|
2209
|
+
"moves": {
|
|
2210
|
+
"scroll": "normal",
|
|
2211
|
+
"animate": "standard",
|
|
2212
|
+
"between": "fade"
|
|
2213
|
+
},
|
|
2214
|
+
"modes": [
|
|
2215
|
+
"light"
|
|
2216
|
+
],
|
|
2217
|
+
"moods": [
|
|
2218
|
+
"friendly",
|
|
2219
|
+
"natural",
|
|
2220
|
+
"trustworthy"
|
|
2221
|
+
],
|
|
2222
|
+
"uupm": [
|
|
2223
|
+
"Accessible & Ethical",
|
|
2224
|
+
"Organic Biophilic"
|
|
2225
|
+
],
|
|
2226
|
+
"blurb": "Leaf green and soft, open shapes. Welcoming to everyone.",
|
|
2227
|
+
"slice": false
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
"id": "little-ones",
|
|
2231
|
+
"name": "Little ones",
|
|
2232
|
+
"flavorId": "bloom",
|
|
2233
|
+
"seed": "#006A6A",
|
|
2234
|
+
"tint": "rich",
|
|
2235
|
+
"pairId": "sans-flex",
|
|
2236
|
+
"shape": "bubbly",
|
|
2237
|
+
"density": "regular",
|
|
2238
|
+
"motion": "lively",
|
|
2239
|
+
"pillButtons": true,
|
|
2240
|
+
"moves": {
|
|
2241
|
+
"scroll": "normal",
|
|
2242
|
+
"animate": "lively",
|
|
2243
|
+
"between": "slide"
|
|
2244
|
+
},
|
|
2245
|
+
"modes": [
|
|
2246
|
+
"light"
|
|
2247
|
+
],
|
|
2248
|
+
"moods": [
|
|
2249
|
+
"playful",
|
|
2250
|
+
"friendly"
|
|
2251
|
+
],
|
|
2252
|
+
"uupm": [
|
|
2253
|
+
"Claymorphism",
|
|
2254
|
+
"Vibrant & Block-based"
|
|
2255
|
+
],
|
|
2256
|
+
"blurb": "Teal, chunky and playful. Made for families.",
|
|
2257
|
+
"slice": false
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
"id": "garden-party",
|
|
2261
|
+
"name": "Garden party",
|
|
2262
|
+
"flavorId": "bloom",
|
|
2263
|
+
"seed": "#7D5260",
|
|
2264
|
+
"tint": "subtle",
|
|
2265
|
+
"pairId": "bricolage",
|
|
2266
|
+
"shape": "bubbly",
|
|
2267
|
+
"density": "airy",
|
|
2268
|
+
"motion": "standard",
|
|
2269
|
+
"pillButtons": true,
|
|
2270
|
+
"moves": {
|
|
2271
|
+
"scroll": "smooth",
|
|
2272
|
+
"animate": "standard",
|
|
2273
|
+
"between": "fade"
|
|
2274
|
+
},
|
|
2275
|
+
"modes": [
|
|
2276
|
+
"light"
|
|
2277
|
+
],
|
|
2278
|
+
"moods": [
|
|
2279
|
+
"romantic",
|
|
2280
|
+
"warm",
|
|
2281
|
+
"friendly"
|
|
2282
|
+
],
|
|
2283
|
+
"uupm": [
|
|
2284
|
+
"Soft UI Evolution",
|
|
2285
|
+
"Organic Biophilic"
|
|
2286
|
+
],
|
|
2287
|
+
"blurb": "Dusty rose and soft lavender light. A celebration.",
|
|
2288
|
+
"slice": true
|
|
2289
|
+
},
|
|
2290
|
+
{
|
|
2291
|
+
"id": "bold-maker",
|
|
2292
|
+
"name": "Bold maker",
|
|
2293
|
+
"flavorId": "pop",
|
|
2294
|
+
"seed": "#FF5C39",
|
|
2295
|
+
"tint": "subtle",
|
|
2296
|
+
"pairId": "grotesk",
|
|
2297
|
+
"shape": "subtle",
|
|
2298
|
+
"density": "compact",
|
|
2299
|
+
"motion": "snappy",
|
|
2300
|
+
"pillButtons": false,
|
|
2301
|
+
"moves": {
|
|
2302
|
+
"scroll": "normal",
|
|
2303
|
+
"animate": "lively",
|
|
2304
|
+
"between": "slide"
|
|
2305
|
+
},
|
|
2306
|
+
"modes": [
|
|
2307
|
+
"light"
|
|
2308
|
+
],
|
|
2309
|
+
"moods": [
|
|
2310
|
+
"bold",
|
|
2311
|
+
"playful",
|
|
2312
|
+
"crafted"
|
|
2313
|
+
],
|
|
2314
|
+
"uupm": [
|
|
2315
|
+
"Neubrutalism",
|
|
2316
|
+
"Vibrant & Block-based"
|
|
2317
|
+
],
|
|
2318
|
+
"blurb": "Thick outlines and orange. Proud of what you make.",
|
|
2319
|
+
"slice": true
|
|
2320
|
+
},
|
|
2321
|
+
{
|
|
2322
|
+
"id": "festival",
|
|
2323
|
+
"name": "Festival",
|
|
2324
|
+
"flavorId": "pop",
|
|
2325
|
+
"seed": "#FF4FA3",
|
|
2326
|
+
"tint": "subtle",
|
|
2327
|
+
"pairId": "archivo",
|
|
2328
|
+
"shape": "subtle",
|
|
2329
|
+
"density": "compact",
|
|
2330
|
+
"motion": "snappy",
|
|
2331
|
+
"pillButtons": false,
|
|
2332
|
+
"moves": {
|
|
2333
|
+
"scroll": "normal",
|
|
2334
|
+
"animate": "lively",
|
|
2335
|
+
"between": "slide"
|
|
2336
|
+
},
|
|
2337
|
+
"modes": [
|
|
2338
|
+
"light",
|
|
2339
|
+
"dark"
|
|
2340
|
+
],
|
|
2341
|
+
"moods": [
|
|
2342
|
+
"energetic",
|
|
2343
|
+
"bold",
|
|
2344
|
+
"playful"
|
|
2345
|
+
],
|
|
2346
|
+
"uupm": [
|
|
2347
|
+
"Memphis Design",
|
|
2348
|
+
"Vibrant & Block-based"
|
|
2349
|
+
],
|
|
2350
|
+
"blurb": "Pink, heavy type, poster energy.",
|
|
2351
|
+
"slice": false
|
|
2352
|
+
},
|
|
2353
|
+
{
|
|
2354
|
+
"id": "zine",
|
|
2355
|
+
"name": "Zine",
|
|
2356
|
+
"flavorId": "pop",
|
|
2357
|
+
"seed": "#3D5AFE",
|
|
2358
|
+
"tint": "neutral",
|
|
2359
|
+
"pairId": "syne",
|
|
2360
|
+
"shape": "sharp",
|
|
2361
|
+
"density": "regular",
|
|
2362
|
+
"motion": "snappy",
|
|
2363
|
+
"pillButtons": false,
|
|
2364
|
+
"moves": {
|
|
2365
|
+
"scroll": "normal",
|
|
2366
|
+
"animate": "standard",
|
|
2367
|
+
"between": "slide"
|
|
2368
|
+
},
|
|
2369
|
+
"modes": [
|
|
2370
|
+
"light"
|
|
2371
|
+
],
|
|
2372
|
+
"moods": [
|
|
2373
|
+
"bold",
|
|
2374
|
+
"editorial",
|
|
2375
|
+
"playful"
|
|
2376
|
+
],
|
|
2377
|
+
"uupm": [
|
|
2378
|
+
"Brutalism",
|
|
2379
|
+
"Anti-Polish / Raw Aesthetic"
|
|
2380
|
+
],
|
|
2381
|
+
"blurb": "Electric blue and an odd, wide face. Made by hand, on purpose.",
|
|
2382
|
+
"slice": false
|
|
2383
|
+
},
|
|
2384
|
+
{
|
|
2385
|
+
"id": "fresh-market",
|
|
2386
|
+
"name": "Fresh market",
|
|
2387
|
+
"flavorId": "pop",
|
|
2388
|
+
"seed": "#00B86B",
|
|
2389
|
+
"tint": "subtle",
|
|
2390
|
+
"pairId": "grotesk",
|
|
2391
|
+
"shape": "subtle",
|
|
2392
|
+
"density": "regular",
|
|
2393
|
+
"motion": "snappy",
|
|
2394
|
+
"pillButtons": false,
|
|
2395
|
+
"moves": {
|
|
2396
|
+
"scroll": "normal",
|
|
2397
|
+
"animate": "standard",
|
|
2398
|
+
"between": "slide"
|
|
2399
|
+
},
|
|
2400
|
+
"modes": [
|
|
2401
|
+
"light"
|
|
2402
|
+
],
|
|
2403
|
+
"moods": [
|
|
2404
|
+
"energetic",
|
|
2405
|
+
"friendly",
|
|
2406
|
+
"natural"
|
|
2407
|
+
],
|
|
2408
|
+
"uupm": [
|
|
2409
|
+
"Vibrant & Block-based",
|
|
2410
|
+
"Flat Design"
|
|
2411
|
+
],
|
|
2412
|
+
"blurb": "Green and bright, like a market stall in the morning.",
|
|
2413
|
+
"slice": false
|
|
2414
|
+
}
|
|
2415
|
+
] as const;
|
|
2416
|
+
|
|
1446
2417
|
export const SPEC_FONTS = {
|
|
1447
2418
|
"Inter": "Inter:wght@300;400;500;600;700",
|
|
1448
2419
|
"Inter Tight": "Inter+Tight:wght@500;600;700",
|