@vectoriox/iox-ui 5.44.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.
@@ -1639,6 +1639,773 @@ const SPEC_SPRINGS = {
1639
1639
  }
1640
1640
  }
1641
1641
  };
1642
+ const SPEC_MOODS = {
1643
+ "calm": "Calm",
1644
+ "warm": "Warm",
1645
+ "natural": "Natural",
1646
+ "elegant": "Elegant",
1647
+ "luxurious": "Luxurious",
1648
+ "minimal": "Minimal",
1649
+ "professional": "Professional",
1650
+ "trustworthy": "Trustworthy",
1651
+ "friendly": "Friendly",
1652
+ "playful": "Playful",
1653
+ "bold": "Bold",
1654
+ "energetic": "Energetic",
1655
+ "dark": "Dark",
1656
+ "editorial": "Editorial",
1657
+ "technical": "Technical",
1658
+ "romantic": "Romantic",
1659
+ "crafted": "Hand-made"
1660
+ };
1661
+ const SPEC_STYLE_PRESETS = [
1662
+ {
1663
+ "id": "clear-care",
1664
+ "name": "Clear care",
1665
+ "flavorId": "crisp",
1666
+ "seed": "#0E7490",
1667
+ "tint": "subtle",
1668
+ "pairId": "manrope",
1669
+ "shape": "soft",
1670
+ "density": "regular",
1671
+ "motion": "standard",
1672
+ "pillButtons": false,
1673
+ "moves": {
1674
+ "scroll": "smooth",
1675
+ "animate": "standard",
1676
+ "between": "fade"
1677
+ },
1678
+ "modes": [
1679
+ "light"
1680
+ ],
1681
+ "moods": [
1682
+ "trustworthy",
1683
+ "calm",
1684
+ "professional"
1685
+ ],
1686
+ "uupm": [
1687
+ "Accessible & Ethical",
1688
+ "Minimalism & Swiss Style"
1689
+ ],
1690
+ "blurb": "Clean, light and easy to read. Says \"you are in good hands\".",
1691
+ "slice": true
1692
+ },
1693
+ {
1694
+ "id": "swiss-grid",
1695
+ "name": "Swiss grid",
1696
+ "flavorId": "crisp",
1697
+ "seed": "#111827",
1698
+ "tint": "neutral",
1699
+ "pairId": "inter-tight",
1700
+ "shape": "sharp",
1701
+ "density": "compact",
1702
+ "motion": "snappy",
1703
+ "pillButtons": false,
1704
+ "moves": {
1705
+ "scroll": "normal",
1706
+ "animate": "standard",
1707
+ "between": "none"
1708
+ },
1709
+ "modes": [
1710
+ "light",
1711
+ "dark"
1712
+ ],
1713
+ "moods": [
1714
+ "minimal",
1715
+ "professional",
1716
+ "technical"
1717
+ ],
1718
+ "uupm": [
1719
+ "Minimalism & Swiss Style",
1720
+ "Swiss Modernism 2.0"
1721
+ ],
1722
+ "blurb": "Black on white, a strict grid, nothing extra.",
1723
+ "slice": true
1724
+ },
1725
+ {
1726
+ "id": "trusted-advisor",
1727
+ "name": "Trusted advisor",
1728
+ "flavorId": "crisp",
1729
+ "seed": "#1E3A8A",
1730
+ "tint": "subtle",
1731
+ "pairId": "plex",
1732
+ "shape": "subtle",
1733
+ "density": "regular",
1734
+ "motion": "standard",
1735
+ "pillButtons": false,
1736
+ "moves": {
1737
+ "scroll": "normal",
1738
+ "animate": "standard",
1739
+ "between": "fade"
1740
+ },
1741
+ "modes": [
1742
+ "light"
1743
+ ],
1744
+ "moods": [
1745
+ "trustworthy",
1746
+ "professional"
1747
+ ],
1748
+ "uupm": [
1749
+ "Accessible & Ethical",
1750
+ "Trust & Authority (landing)"
1751
+ ],
1752
+ "blurb": "Navy, plain type, firm edges. Serious without being cold.",
1753
+ "slice": true
1754
+ },
1755
+ {
1756
+ "id": "fresh-practice",
1757
+ "name": "Fresh practice",
1758
+ "flavorId": "crisp",
1759
+ "seed": "#0284C7",
1760
+ "tint": "rich",
1761
+ "pairId": "inter-tight",
1762
+ "shape": "round",
1763
+ "density": "airy",
1764
+ "motion": "calm",
1765
+ "pillButtons": true,
1766
+ "moves": {
1767
+ "scroll": "smooth",
1768
+ "animate": "subtle",
1769
+ "between": "fade"
1770
+ },
1771
+ "modes": [
1772
+ "light"
1773
+ ],
1774
+ "moods": [
1775
+ "friendly",
1776
+ "calm",
1777
+ "trustworthy"
1778
+ ],
1779
+ "uupm": [
1780
+ "Soft UI Evolution",
1781
+ "Accessible & Ethical"
1782
+ ],
1783
+ "blurb": "Bright, soft and reassuring, with rounded buttons.",
1784
+ "slice": false
1785
+ },
1786
+ {
1787
+ "id": "gallery-minimal",
1788
+ "name": "Gallery minimal",
1789
+ "flavorId": "linen",
1790
+ "seed": "#3F4A5A",
1791
+ "tint": "neutral",
1792
+ "pairId": "instrument",
1793
+ "shape": "sharp",
1794
+ "density": "airy",
1795
+ "motion": "calm",
1796
+ "pillButtons": false,
1797
+ "moves": {
1798
+ "scroll": "extra",
1799
+ "animate": "subtle",
1800
+ "between": "fade"
1801
+ },
1802
+ "modes": [
1803
+ "light",
1804
+ "dark"
1805
+ ],
1806
+ "moods": [
1807
+ "minimal",
1808
+ "elegant",
1809
+ "editorial"
1810
+ ],
1811
+ "uupm": [
1812
+ "Exaggerated Minimalism",
1813
+ "Editorial Grid / Magazine"
1814
+ ],
1815
+ "blurb": "White walls and a quiet serif. The work does the talking.",
1816
+ "slice": true
1817
+ },
1818
+ {
1819
+ "id": "warm-editorial",
1820
+ "name": "Warm editorial",
1821
+ "flavorId": "linen",
1822
+ "seed": "#9A4F2B",
1823
+ "tint": "subtle",
1824
+ "pairId": "fraunces",
1825
+ "shape": "sharp",
1826
+ "density": "airy",
1827
+ "motion": "calm",
1828
+ "pillButtons": false,
1829
+ "moves": {
1830
+ "scroll": "smooth",
1831
+ "animate": "subtle",
1832
+ "between": "fade"
1833
+ },
1834
+ "modes": [
1835
+ "light"
1836
+ ],
1837
+ "moods": [
1838
+ "warm",
1839
+ "editorial",
1840
+ "crafted"
1841
+ ],
1842
+ "uupm": [
1843
+ "Editorial Grid / Magazine",
1844
+ "Nature Distilled"
1845
+ ],
1846
+ "blurb": "Cream paper, terracotta and a soft serif, like a good magazine.",
1847
+ "slice": true
1848
+ },
1849
+ {
1850
+ "id": "soft-spa",
1851
+ "name": "Soft spa",
1852
+ "flavorId": "linen",
1853
+ "seed": "#7D4E5E",
1854
+ "tint": "rich",
1855
+ "pairId": "cormorant",
1856
+ "shape": "soft",
1857
+ "density": "airy",
1858
+ "motion": "calm",
1859
+ "pillButtons": false,
1860
+ "moves": {
1861
+ "scroll": "extra",
1862
+ "animate": "subtle",
1863
+ "between": "fade"
1864
+ },
1865
+ "modes": [
1866
+ "light"
1867
+ ],
1868
+ "moods": [
1869
+ "calm",
1870
+ "elegant",
1871
+ "natural"
1872
+ ],
1873
+ "uupm": [
1874
+ "Soft UI Evolution",
1875
+ "Nature Distilled"
1876
+ ],
1877
+ "blurb": "Rose-tinted cream, a fine serif and slow, gentle motion.",
1878
+ "slice": true
1879
+ },
1880
+ {
1881
+ "id": "quiet-luxury",
1882
+ "name": "Quiet luxury",
1883
+ "flavorId": "linen",
1884
+ "seed": "#7A5B36",
1885
+ "tint": "subtle",
1886
+ "pairId": "cormorant",
1887
+ "shape": "sharp",
1888
+ "density": "airy",
1889
+ "motion": "calm",
1890
+ "pillButtons": false,
1891
+ "moves": {
1892
+ "scroll": "extra",
1893
+ "animate": "subtle",
1894
+ "between": "cinematic"
1895
+ },
1896
+ "modes": [
1897
+ "light",
1898
+ "dark"
1899
+ ],
1900
+ "moods": [
1901
+ "luxurious",
1902
+ "elegant",
1903
+ "calm"
1904
+ ],
1905
+ "uupm": [
1906
+ "Exaggerated Minimalism",
1907
+ "Liquid Glass (luxury rows, without the glass)"
1908
+ ],
1909
+ "blurb": "Bronze on warm white. Expensive, never loud.",
1910
+ "slice": false
1911
+ },
1912
+ {
1913
+ "id": "after-dark",
1914
+ "name": "After dark",
1915
+ "flavorId": "midnight",
1916
+ "seed": "#DB2777",
1917
+ "tint": "subtle",
1918
+ "pairId": "grotesk",
1919
+ "shape": "soft",
1920
+ "density": "regular",
1921
+ "motion": "lively",
1922
+ "pillButtons": false,
1923
+ "moves": {
1924
+ "scroll": "smooth",
1925
+ "animate": "lively",
1926
+ "between": "slide"
1927
+ },
1928
+ "modes": [
1929
+ "dark"
1930
+ ],
1931
+ "moods": [
1932
+ "bold",
1933
+ "energetic",
1934
+ "dark"
1935
+ ],
1936
+ "uupm": [
1937
+ "Dark Mode (OLED)",
1938
+ "Vibrant & Block-based"
1939
+ ],
1940
+ "blurb": "A night out: dark rooms, one bright colour, lively motion.",
1941
+ "slice": false
1942
+ },
1943
+ {
1944
+ "id": "ink-studio",
1945
+ "name": "Ink studio",
1946
+ "flavorId": "midnight",
1947
+ "seed": "#EA580C",
1948
+ "tint": "neutral",
1949
+ "pairId": "inter-tight",
1950
+ "shape": "sharp",
1951
+ "density": "compact",
1952
+ "motion": "snappy",
1953
+ "pillButtons": false,
1954
+ "moves": {
1955
+ "scroll": "normal",
1956
+ "animate": "standard",
1957
+ "between": "slide"
1958
+ },
1959
+ "modes": [
1960
+ "dark"
1961
+ ],
1962
+ "moods": [
1963
+ "bold",
1964
+ "dark",
1965
+ "crafted"
1966
+ ],
1967
+ "uupm": [
1968
+ "Dark Mode (OLED)",
1969
+ "Brutalism"
1970
+ ],
1971
+ "blurb": "Black, sharp and orange. A shop with attitude.",
1972
+ "slice": false
1973
+ },
1974
+ {
1975
+ "id": "night-gallery",
1976
+ "name": "Night gallery",
1977
+ "flavorId": "midnight",
1978
+ "seed": "#8B9BB4",
1979
+ "tint": "neutral",
1980
+ "pairId": "geist",
1981
+ "shape": "sharp",
1982
+ "density": "airy",
1983
+ "motion": "calm",
1984
+ "pillButtons": false,
1985
+ "moves": {
1986
+ "scroll": "extra",
1987
+ "animate": "subtle",
1988
+ "between": "cinematic"
1989
+ },
1990
+ "modes": [
1991
+ "dark",
1992
+ "light"
1993
+ ],
1994
+ "moods": [
1995
+ "minimal",
1996
+ "dark",
1997
+ "editorial"
1998
+ ],
1999
+ "uupm": [
2000
+ "Dark Mode (OLED)",
2001
+ "Minimalism & Swiss Style"
2002
+ ],
2003
+ "blurb": "Pictures on black, like a darkened gallery.",
2004
+ "slice": true
2005
+ },
2006
+ {
2007
+ "id": "tech-studio",
2008
+ "name": "Tech studio",
2009
+ "flavorId": "midnight",
2010
+ "seed": "#059669",
2011
+ "tint": "subtle",
2012
+ "pairId": "geist",
2013
+ "shape": "soft",
2014
+ "density": "regular",
2015
+ "motion": "standard",
2016
+ "pillButtons": false,
2017
+ "moves": {
2018
+ "scroll": "normal",
2019
+ "animate": "standard",
2020
+ "between": "fade"
2021
+ },
2022
+ "modes": [
2023
+ "dark",
2024
+ "light"
2025
+ ],
2026
+ "moods": [
2027
+ "technical",
2028
+ "bold",
2029
+ "professional"
2030
+ ],
2031
+ "uupm": [
2032
+ "Dark Mode (OLED)",
2033
+ "Minimalism & Swiss Style"
2034
+ ],
2035
+ "blurb": "Dark, precise and modern, for people who build things.",
2036
+ "slice": false
2037
+ },
2038
+ {
2039
+ "id": "morning-glass",
2040
+ "name": "Morning glass",
2041
+ "flavorId": "glass",
2042
+ "seed": "#0E8A89",
2043
+ "tint": "subtle",
2044
+ "pairId": "figtree",
2045
+ "shape": "round",
2046
+ "density": "regular",
2047
+ "motion": "calm",
2048
+ "pillButtons": true,
2049
+ "moves": {
2050
+ "scroll": "smooth",
2051
+ "animate": "subtle",
2052
+ "between": "fade"
2053
+ },
2054
+ "modes": [
2055
+ "light"
2056
+ ],
2057
+ "moods": [
2058
+ "calm",
2059
+ "friendly",
2060
+ "natural"
2061
+ ],
2062
+ "uupm": [
2063
+ "Glassmorphism",
2064
+ "Soft UI Evolution"
2065
+ ],
2066
+ "blurb": "Frosted panels over a soft teal light. Fresh and calm.",
2067
+ "slice": true
2068
+ },
2069
+ {
2070
+ "id": "holiday-light",
2071
+ "name": "Holiday light",
2072
+ "flavorId": "glass",
2073
+ "seed": "#0A66E8",
2074
+ "tint": "rich",
2075
+ "pairId": "jakarta",
2076
+ "shape": "round",
2077
+ "density": "regular",
2078
+ "motion": "lively",
2079
+ "pillButtons": true,
2080
+ "moves": {
2081
+ "scroll": "smooth",
2082
+ "animate": "lively",
2083
+ "between": "slide"
2084
+ },
2085
+ "modes": [
2086
+ "light"
2087
+ ],
2088
+ "moods": [
2089
+ "friendly",
2090
+ "energetic"
2091
+ ],
2092
+ "uupm": [
2093
+ "Liquid Glass",
2094
+ "Glassmorphism"
2095
+ ],
2096
+ "blurb": "Sea-blue glass and big photos. Makes people want to go.",
2097
+ "slice": false
2098
+ },
2099
+ {
2100
+ "id": "frosted-portfolio",
2101
+ "name": "Frosted portfolio",
2102
+ "flavorId": "glass",
2103
+ "seed": "#1F2937",
2104
+ "tint": "neutral",
2105
+ "pairId": "manrope",
2106
+ "shape": "round",
2107
+ "density": "airy",
2108
+ "motion": "calm",
2109
+ "pillButtons": true,
2110
+ "moves": {
2111
+ "scroll": "extra",
2112
+ "animate": "subtle",
2113
+ "between": "cinematic"
2114
+ },
2115
+ "modes": [
2116
+ "light",
2117
+ "dark"
2118
+ ],
2119
+ "moods": [
2120
+ "minimal",
2121
+ "elegant"
2122
+ ],
2123
+ "uupm": [
2124
+ "Glassmorphism",
2125
+ "Spatial UI (VisionOS)"
2126
+ ],
2127
+ "blurb": "Grey glass and lots of space around your pictures.",
2128
+ "slice": true
2129
+ },
2130
+ {
2131
+ "id": "coral-studio",
2132
+ "name": "Coral studio",
2133
+ "flavorId": "glass",
2134
+ "seed": "#E5484D",
2135
+ "tint": "subtle",
2136
+ "pairId": "figtree",
2137
+ "shape": "round",
2138
+ "density": "regular",
2139
+ "motion": "lively",
2140
+ "pillButtons": true,
2141
+ "moves": {
2142
+ "scroll": "smooth",
2143
+ "animate": "lively",
2144
+ "between": "slide"
2145
+ },
2146
+ "modes": [
2147
+ "light"
2148
+ ],
2149
+ "moods": [
2150
+ "energetic",
2151
+ "friendly"
2152
+ ],
2153
+ "uupm": [
2154
+ "Glassmorphism",
2155
+ "Vibrant & Block-based"
2156
+ ],
2157
+ "blurb": "Warm coral and bouncy buttons. Full of energy.",
2158
+ "slice": false
2159
+ },
2160
+ {
2161
+ "id": "corner-cafe",
2162
+ "name": "Corner café",
2163
+ "flavorId": "bloom",
2164
+ "seed": "#9C4146",
2165
+ "tint": "subtle",
2166
+ "pairId": "bricolage",
2167
+ "shape": "bubbly",
2168
+ "density": "regular",
2169
+ "motion": "lively",
2170
+ "pillButtons": true,
2171
+ "moves": {
2172
+ "scroll": "smooth",
2173
+ "animate": "lively",
2174
+ "between": "slide"
2175
+ },
2176
+ "modes": [
2177
+ "light"
2178
+ ],
2179
+ "moods": [
2180
+ "warm",
2181
+ "friendly",
2182
+ "playful"
2183
+ ],
2184
+ "uupm": [
2185
+ "Vibrant & Block-based",
2186
+ "Soft UI Evolution"
2187
+ ],
2188
+ "blurb": "Berry red, round shapes, a cheerful headline face.",
2189
+ "slice": true
2190
+ },
2191
+ {
2192
+ "id": "kind-community",
2193
+ "name": "Kind community",
2194
+ "flavorId": "bloom",
2195
+ "seed": "#3B6939",
2196
+ "tint": "subtle",
2197
+ "pairId": "nunito",
2198
+ "shape": "bubbly",
2199
+ "density": "regular",
2200
+ "motion": "standard",
2201
+ "pillButtons": true,
2202
+ "moves": {
2203
+ "scroll": "normal",
2204
+ "animate": "standard",
2205
+ "between": "fade"
2206
+ },
2207
+ "modes": [
2208
+ "light"
2209
+ ],
2210
+ "moods": [
2211
+ "friendly",
2212
+ "natural",
2213
+ "trustworthy"
2214
+ ],
2215
+ "uupm": [
2216
+ "Accessible & Ethical",
2217
+ "Organic Biophilic"
2218
+ ],
2219
+ "blurb": "Leaf green and soft, open shapes. Welcoming to everyone.",
2220
+ "slice": false
2221
+ },
2222
+ {
2223
+ "id": "little-ones",
2224
+ "name": "Little ones",
2225
+ "flavorId": "bloom",
2226
+ "seed": "#006A6A",
2227
+ "tint": "rich",
2228
+ "pairId": "sans-flex",
2229
+ "shape": "bubbly",
2230
+ "density": "regular",
2231
+ "motion": "lively",
2232
+ "pillButtons": true,
2233
+ "moves": {
2234
+ "scroll": "normal",
2235
+ "animate": "lively",
2236
+ "between": "slide"
2237
+ },
2238
+ "modes": [
2239
+ "light"
2240
+ ],
2241
+ "moods": [
2242
+ "playful",
2243
+ "friendly"
2244
+ ],
2245
+ "uupm": [
2246
+ "Claymorphism",
2247
+ "Vibrant & Block-based"
2248
+ ],
2249
+ "blurb": "Teal, chunky and playful. Made for families.",
2250
+ "slice": false
2251
+ },
2252
+ {
2253
+ "id": "garden-party",
2254
+ "name": "Garden party",
2255
+ "flavorId": "bloom",
2256
+ "seed": "#7D5260",
2257
+ "tint": "subtle",
2258
+ "pairId": "bricolage",
2259
+ "shape": "bubbly",
2260
+ "density": "airy",
2261
+ "motion": "standard",
2262
+ "pillButtons": true,
2263
+ "moves": {
2264
+ "scroll": "smooth",
2265
+ "animate": "standard",
2266
+ "between": "fade"
2267
+ },
2268
+ "modes": [
2269
+ "light"
2270
+ ],
2271
+ "moods": [
2272
+ "romantic",
2273
+ "warm",
2274
+ "friendly"
2275
+ ],
2276
+ "uupm": [
2277
+ "Soft UI Evolution",
2278
+ "Organic Biophilic"
2279
+ ],
2280
+ "blurb": "Dusty rose and soft lavender light. A celebration.",
2281
+ "slice": true
2282
+ },
2283
+ {
2284
+ "id": "bold-maker",
2285
+ "name": "Bold maker",
2286
+ "flavorId": "pop",
2287
+ "seed": "#FF5C39",
2288
+ "tint": "subtle",
2289
+ "pairId": "grotesk",
2290
+ "shape": "subtle",
2291
+ "density": "compact",
2292
+ "motion": "snappy",
2293
+ "pillButtons": false,
2294
+ "moves": {
2295
+ "scroll": "normal",
2296
+ "animate": "lively",
2297
+ "between": "slide"
2298
+ },
2299
+ "modes": [
2300
+ "light"
2301
+ ],
2302
+ "moods": [
2303
+ "bold",
2304
+ "playful",
2305
+ "crafted"
2306
+ ],
2307
+ "uupm": [
2308
+ "Neubrutalism",
2309
+ "Vibrant & Block-based"
2310
+ ],
2311
+ "blurb": "Thick outlines and orange. Proud of what you make.",
2312
+ "slice": true
2313
+ },
2314
+ {
2315
+ "id": "festival",
2316
+ "name": "Festival",
2317
+ "flavorId": "pop",
2318
+ "seed": "#FF4FA3",
2319
+ "tint": "subtle",
2320
+ "pairId": "archivo",
2321
+ "shape": "subtle",
2322
+ "density": "compact",
2323
+ "motion": "snappy",
2324
+ "pillButtons": false,
2325
+ "moves": {
2326
+ "scroll": "normal",
2327
+ "animate": "lively",
2328
+ "between": "slide"
2329
+ },
2330
+ "modes": [
2331
+ "light",
2332
+ "dark"
2333
+ ],
2334
+ "moods": [
2335
+ "energetic",
2336
+ "bold",
2337
+ "playful"
2338
+ ],
2339
+ "uupm": [
2340
+ "Memphis Design",
2341
+ "Vibrant & Block-based"
2342
+ ],
2343
+ "blurb": "Pink, heavy type, poster energy.",
2344
+ "slice": false
2345
+ },
2346
+ {
2347
+ "id": "zine",
2348
+ "name": "Zine",
2349
+ "flavorId": "pop",
2350
+ "seed": "#3D5AFE",
2351
+ "tint": "neutral",
2352
+ "pairId": "syne",
2353
+ "shape": "sharp",
2354
+ "density": "regular",
2355
+ "motion": "snappy",
2356
+ "pillButtons": false,
2357
+ "moves": {
2358
+ "scroll": "normal",
2359
+ "animate": "standard",
2360
+ "between": "slide"
2361
+ },
2362
+ "modes": [
2363
+ "light"
2364
+ ],
2365
+ "moods": [
2366
+ "bold",
2367
+ "editorial",
2368
+ "playful"
2369
+ ],
2370
+ "uupm": [
2371
+ "Brutalism",
2372
+ "Anti-Polish / Raw Aesthetic"
2373
+ ],
2374
+ "blurb": "Electric blue and an odd, wide face. Made by hand, on purpose.",
2375
+ "slice": false
2376
+ },
2377
+ {
2378
+ "id": "fresh-market",
2379
+ "name": "Fresh market",
2380
+ "flavorId": "pop",
2381
+ "seed": "#00B86B",
2382
+ "tint": "subtle",
2383
+ "pairId": "grotesk",
2384
+ "shape": "subtle",
2385
+ "density": "regular",
2386
+ "motion": "snappy",
2387
+ "pillButtons": false,
2388
+ "moves": {
2389
+ "scroll": "normal",
2390
+ "animate": "standard",
2391
+ "between": "slide"
2392
+ },
2393
+ "modes": [
2394
+ "light"
2395
+ ],
2396
+ "moods": [
2397
+ "energetic",
2398
+ "friendly",
2399
+ "natural"
2400
+ ],
2401
+ "uupm": [
2402
+ "Vibrant & Block-based",
2403
+ "Flat Design"
2404
+ ],
2405
+ "blurb": "Green and bright, like a market stall in the morning.",
2406
+ "slice": false
2407
+ }
2408
+ ];
1642
2409
  const SPEC_FONTS = {
1643
2410
  "Inter": "Inter:wght@300;400;500;600;700",
1644
2411
  "Inter Tight": "Inter+Tight:wght@500;600;700",
@@ -17475,6 +18242,35 @@ function planFontFamilyRemoval(existing, previous, family) {
17475
18242
  return { roles, choices, plan, fallbacks };
17476
18243
  }
17477
18244
 
18245
+ const MOOD_IDS = Object.keys(SPEC_MOODS);
18246
+ const MOOD_LABELS = SPEC_MOODS;
18247
+ /** The 24, catalogue order (four per flavor). Assignment here proves the generated data fits the type. */
18248
+ const STYLE_PRESETS = SPEC_STYLE_PRESETS;
18249
+ function stylePresetById(id) {
18250
+ return id ? STYLE_PRESETS.find(p => p.id === id) : undefined;
18251
+ }
18252
+ const FOLLOW_VISITOR = 'auto';
18253
+ /** The modes Design offers for a preset: the audited ones, then "Follow visitor" when it passed both (H-D3). */
18254
+ function presetModes(preset) {
18255
+ return preset.modes.length > 1 ? [...preset.modes, FOLLOW_VISITOR] : [...preset.modes];
18256
+ }
18257
+ /**
18258
+ * What picking a preset means — the complete `DesignChoices`, its motion included — in `mode` (default:
18259
+ * its first). A mode it was not audited in is REFUSED (null): a light-only preset is never worn dark.
18260
+ */
18261
+ function presetChoices(id, mode) {
18262
+ const preset = stylePresetById(id);
18263
+ if (!preset)
18264
+ return null;
18265
+ const wear = mode ?? preset.modes[0];
18266
+ if (!presetModes(preset).includes(wear))
18267
+ return null;
18268
+ return resolveDesignChoices({
18269
+ flavorId: preset.flavorId, seed: preset.seed, pairId: preset.pairId, shape: preset.shape, density: preset.density,
18270
+ motion: preset.motion, pillButtons: preset.pillButtons, mode: wear, tint: preset.tint, ...preset.moves,
18271
+ });
18272
+ }
18273
+
17478
18274
  /**
17479
18275
  * @vectoriox/iox-ui/design-core — the shared, FRAMEWORK-FREE core of the design system
17480
18276
  * (design-system plan §3e): the token vocabulary, the flavor contract (generated 1:1 from
@@ -17490,5 +18286,5 @@ function planFontFamilyRemoval(existing, previous, family) {
17490
18286
  * Generated bundle index. Do not edit.
17491
18287
  */
17492
18288
 
17493
- export { ACCENT_TOKEN_NAMES, ANIMATE_IDS, AdoptOutcome, AdoptSkipReason, BAR_RESERVE_BREAKPOINTS, BAR_RESERVE_CLASS, BETWEEN_IDS, BOTTOM_BAR_STYLE, BUTTON_VARIANT_TO_STYLE, CANVAS_LINK_ATTRIBUTE, CARD_LINK_CLASS, COLOR_SCHEMES, COLOR_SCHEME_TRAIT, COLOR_SCHEME_TYPES, ColorScheme, ColourCheckId, DEFAULT_FLAVOR_ID, DESIGN_TOKEN_GROUPS, DESIGN_TOKEN_TIERS, DESIGN_TOKEN_TYPES, DesignConfigKey, ELEMENT_STYLES, ELEMENT_STYLE_MARKER_CLASS, ELEMENT_STYLE_STATES, EMPTY_IMAGE_ATTRIBUTE, EMPTY_IMAGE_SRC, ElementStyleState, FLAVOR_SPEC_VERSION, FONT_CATALOG, FONT_FAMILY_TOKENS, FONT_FILE_ACCEPT, FONT_FILE_EXTENSIONS, FONT_FILE_FORMATS, FONT_STYLES, FONT_WEIGHTS, FontUploadError, GOOGLE_FONTS_CSS_ORIGIN, GOOGLE_FONTS_FILE_ORIGIN, HELD_CONTRAST, INHERITED_TEXT, LinkType, MAX_FONT_FILE_BYTES, NEW_NODE_STYLE_DEFAULTS, OwnedTraitLink, PALETTE_PRESETS, PRE_DS2_FLAVOR_DEFAULTS, PRE_MOTION, PRE_TINT_DEFAULT, REDUCED_DESIGN_MOTION, REDUCED_MOTION_OVERRIDES, REDUCED_TRANSPARENCY_OVERRIDES, REVERT_WINDOW_MS, SCHEME_INK, SCROLL_IDS, SPEC_A11Y, SPEC_AXES, SPEC_BUTTON_VARIANT_TO_STYLE, SPEC_CONTRAST, SPEC_CONTRAST_AUDIT, SPEC_DEFAULT_ELEMENT_STYLE, SPEC_ELEMENT_STYLES, SPEC_FIELD_CLASS_BASELINE, SPEC_FLAVORS, SPEC_FLAVOR_PACKS, SPEC_FONTS, SPEC_FONT_ROLES, SPEC_INK_SCOPES, SPEC_LEGACY_ALIASES, SPEC_PALETTE_PRESETS, SPEC_SCHEMES, SPEC_SCHEME_INK, SPEC_SPRINGS, SPEC_TIERS, SPEC_TIER_IDS, SPEC_TOKEN_TYPES, SUPERSEDED_STYLE_VALUES, SWISS_FLAVOR, TINT_FULL_CHROMA, TINT_IDS, TINT_LEVELS, TINT_OWN_HUE_CHROMA, TINT_TURN_CHROMA, USER_TOKEN_SOURCE, WCAG_AA_TEXT, WCAG_AA_UI, adoptElementStyles, adoptionStyleFor, apcaLc, applyElementStyle, applyHeadingLevelRule, atLightness, atLightnessMaxChroma, auditDesignContrast, barReserveClass, buildFlavorTokens, buildFontFaceCss, buttonBlockHref, catalogFontId, checkFontWeight, choicesForPack, colorSchemeClass, colorSchemeOf, colourTabChecks, compareFontWeights, compileSchemeCss, compileTokenCss, compileTokenCssBlocks, compositeOver, cssString, defaultDesignChoices, defaultElementStyleFor, deriveAccentTokens, deriveBrandTokens, designApplySnapshot, designBaseline, designConfigEntries, designModeOf, designMotionOf, designRevertConfig, designTokenRepairs, designTokenRows, elementStyleById, elementStyleClass, elementStylesFor, emptyImageLabelSrc, emptyImagePlaceholder, emptyImageSrc, ensureAlpha, ensureContrast, flavorColours, flavorPackById, flavorSeedWrites, flavorSourceStamp, fontFamilyKey, fontFileName, fontFileStem, fontFormatOf, fontPreloads, fontRoleReferences, fontStackWithout, fontWeightCovers, fontWeightRange, fontWeightValue, fontsForTokens, formatFontFamilies, formatFontFamily, formatFontWeight, googleFontHref, groupFontFamilies, hasElementStyleMarker, headingHref, inSrgbGamut, isDesignTokenGroup, isDesignTokenTier, isDesignTokenType, isFontWeightRange, isRetiredFlavorId, legacyDesignTokenRows, legacyFlavorTokens, legacyRuleTokenReferences, matchFontWeight, missingDesignRows, missingFontRoles, nodeDesignClasses, normalizeFontStyle, normalizeFontWeight, normalizeFontWeightValue, oklabToRgb, ownedTraitStatus, ownedTraitsOf, packDesignChoices, paintColours, parseCssColour, parseFontFamilies, parseFontWeight, parseHexColor, planDesignApply, planDesignRevert, planFlavorRevert, planFlavorSeed, planFontFamilyRemoval, planSwissMigration, preTintAccentGrounds, previewElementStyleAdoption, previewFontWeight, quantizeRgb, readDesignConfig, readOwnedTrait, relativeLuminance, releaseElementStyle, resolveDesignChoices, resolveDesignMotion, resolveSchemeTokenValues, resolveTokenReferences, resolveTokenValues, revertAvailable, rgbToOklab, ringColour, roleClass, sameDesignChoices, setColorScheme, specTokenNames, splitTopLevel, springToLinear, stackNamesFamily, styleKeyToKebab, switchElementStyle, syncNodeDesignClasses, toHexColor, tokenReferences, tokensToDarkVarMap, tokensToVarMap, unknownTokenReferences, untouchedSeedRow, userFontStack, validateFlavorPack, wcagContrastRatio, withSchemeInk, writeOwnedTrait };
18289
+ export { ACCENT_TOKEN_NAMES, ANIMATE_IDS, AdoptOutcome, AdoptSkipReason, BAR_RESERVE_BREAKPOINTS, BAR_RESERVE_CLASS, BETWEEN_IDS, BOTTOM_BAR_STYLE, BUTTON_VARIANT_TO_STYLE, CANVAS_LINK_ATTRIBUTE, CARD_LINK_CLASS, COLOR_SCHEMES, COLOR_SCHEME_TRAIT, COLOR_SCHEME_TYPES, ColorScheme, ColourCheckId, DEFAULT_FLAVOR_ID, DESIGN_TOKEN_GROUPS, DESIGN_TOKEN_TIERS, DESIGN_TOKEN_TYPES, DesignConfigKey, ELEMENT_STYLES, ELEMENT_STYLE_MARKER_CLASS, ELEMENT_STYLE_STATES, EMPTY_IMAGE_ATTRIBUTE, EMPTY_IMAGE_SRC, ElementStyleState, FLAVOR_SPEC_VERSION, FONT_CATALOG, FONT_FAMILY_TOKENS, FONT_FILE_ACCEPT, FONT_FILE_EXTENSIONS, FONT_FILE_FORMATS, FONT_STYLES, FONT_WEIGHTS, FontUploadError, GOOGLE_FONTS_CSS_ORIGIN, GOOGLE_FONTS_FILE_ORIGIN, HELD_CONTRAST, INHERITED_TEXT, LinkType, MAX_FONT_FILE_BYTES, MOOD_IDS, MOOD_LABELS, NEW_NODE_STYLE_DEFAULTS, OwnedTraitLink, PALETTE_PRESETS, PRE_DS2_FLAVOR_DEFAULTS, PRE_MOTION, PRE_TINT_DEFAULT, REDUCED_DESIGN_MOTION, REDUCED_MOTION_OVERRIDES, REDUCED_TRANSPARENCY_OVERRIDES, REVERT_WINDOW_MS, SCHEME_INK, SCROLL_IDS, SPEC_A11Y, SPEC_AXES, SPEC_BUTTON_VARIANT_TO_STYLE, SPEC_CONTRAST, SPEC_CONTRAST_AUDIT, SPEC_DEFAULT_ELEMENT_STYLE, SPEC_ELEMENT_STYLES, SPEC_FIELD_CLASS_BASELINE, SPEC_FLAVORS, SPEC_FLAVOR_PACKS, SPEC_FONTS, SPEC_FONT_ROLES, SPEC_INK_SCOPES, SPEC_LEGACY_ALIASES, SPEC_MOODS, SPEC_PALETTE_PRESETS, SPEC_SCHEMES, SPEC_SCHEME_INK, SPEC_SPRINGS, SPEC_STYLE_PRESETS, SPEC_TIERS, SPEC_TIER_IDS, SPEC_TOKEN_TYPES, STYLE_PRESETS, SUPERSEDED_STYLE_VALUES, SWISS_FLAVOR, TINT_FULL_CHROMA, TINT_IDS, TINT_LEVELS, TINT_OWN_HUE_CHROMA, TINT_TURN_CHROMA, USER_TOKEN_SOURCE, WCAG_AA_TEXT, WCAG_AA_UI, adoptElementStyles, adoptionStyleFor, apcaLc, applyElementStyle, applyHeadingLevelRule, atLightness, atLightnessMaxChroma, auditDesignContrast, barReserveClass, buildFlavorTokens, buildFontFaceCss, buttonBlockHref, catalogFontId, checkFontWeight, choicesForPack, colorSchemeClass, colorSchemeOf, colourTabChecks, compareFontWeights, compileSchemeCss, compileTokenCss, compileTokenCssBlocks, compositeOver, cssString, defaultDesignChoices, defaultElementStyleFor, deriveAccentTokens, deriveBrandTokens, designApplySnapshot, designBaseline, designConfigEntries, designModeOf, designMotionOf, designRevertConfig, designTokenRepairs, designTokenRows, elementStyleById, elementStyleClass, elementStylesFor, emptyImageLabelSrc, emptyImagePlaceholder, emptyImageSrc, ensureAlpha, ensureContrast, flavorColours, flavorPackById, flavorSeedWrites, flavorSourceStamp, fontFamilyKey, fontFileName, fontFileStem, fontFormatOf, fontPreloads, fontRoleReferences, fontStackWithout, fontWeightCovers, fontWeightRange, fontWeightValue, fontsForTokens, formatFontFamilies, formatFontFamily, formatFontWeight, googleFontHref, groupFontFamilies, hasElementStyleMarker, headingHref, inSrgbGamut, isDesignTokenGroup, isDesignTokenTier, isDesignTokenType, isFontWeightRange, isRetiredFlavorId, legacyDesignTokenRows, legacyFlavorTokens, legacyRuleTokenReferences, matchFontWeight, missingDesignRows, missingFontRoles, nodeDesignClasses, normalizeFontStyle, normalizeFontWeight, normalizeFontWeightValue, oklabToRgb, ownedTraitStatus, ownedTraitsOf, packDesignChoices, paintColours, parseCssColour, parseFontFamilies, parseFontWeight, parseHexColor, planDesignApply, planDesignRevert, planFlavorRevert, planFlavorSeed, planFontFamilyRemoval, planSwissMigration, preTintAccentGrounds, presetChoices, presetModes, previewElementStyleAdoption, previewFontWeight, quantizeRgb, readDesignConfig, readOwnedTrait, relativeLuminance, releaseElementStyle, resolveDesignChoices, resolveDesignMotion, resolveSchemeTokenValues, resolveTokenReferences, resolveTokenValues, revertAvailable, rgbToOklab, ringColour, roleClass, sameDesignChoices, setColorScheme, specTokenNames, splitTopLevel, springToLinear, stackNamesFamily, styleKeyToKebab, stylePresetById, switchElementStyle, syncNodeDesignClasses, toHexColor, tokenReferences, tokensToDarkVarMap, tokensToVarMap, unknownTokenReferences, untouchedSeedRow, userFontStack, validateFlavorPack, wcagContrastRatio, withSchemeInk, writeOwnedTrait };
17494
18290
  //# sourceMappingURL=vectoriox-iox-ui-design-core.mjs.map