@xsolla/switch-theme-customization 0.161.2 → 0.161.3-pr315.1779889787

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/index.d.ts CHANGED
@@ -489,6 +489,9 @@ declare const base: PentagramBaseColors;
489
489
  declare const createScheme: (b: PentagramBaseColors) => ThemeScheme;
490
490
  declare const payStationScheme: ThemeScheme;
491
491
 
492
+ declare const paystation4PentagramLight: Theme;
493
+ declare const paystation4PentagramDark: Theme;
494
+
492
495
  declare const themes: Record<string, Theme>;
493
496
 
494
497
  declare const palettes: {
@@ -1964,4 +1967,1158 @@ declare function themeGenerator(props: {
1964
1967
  }): ThemeScheme;
1965
1968
  declare function themeGenerator(props: ThemeFunctionType): Theme;
1966
1969
 
1967
- export { type BaseColors, type BaseColorsIndex, type ColorValue, type Colors$1 as Colors, type ComponentBaseColors$1 as ComponentBaseColors, type Misc, type PentagramBaseColors, type PresetName, type Shadows, type Size, type Theme, type ThemeFunctionType, type ThemeScheme, type ThemeVariant, type Typography, base, baseDark, createDarkScheme, createScheme, emails, emailsDark, emailsThemes, generateWithScheme, palettes, payStationDarkScheme, payStationScheme, paystation4, paystation4Dark, paystation4Gaijin, paystation4Nexters, paystation4Take2, paystation4Themes, primaryPalette, publisherV2, publisherV2Dark, publisherV2Themes, themeGenerator, themes, themesBaseColors, themesBaseColorsArray, themesColorsScheme };
1970
+ /**
1971
+ * Resolves Pentagram design token aliases to concrete CSS values.
1972
+ *
1973
+ * Source: https://xsolla.atlassian.net/wiki/spaces/SDS/pages/23998955662/Variables+mapping
1974
+ * Scale tables: see FONT_SIZE_SCALE and LINE_HEIGHT_* constants below.
1975
+ *
1976
+ * This resolver converts aliases like "font-size/300" → "28px" (desktop) or "24px" (mobile).
1977
+ * It is used BEFORE the mappers (mapPentagramTypoToLegacy, mapPentagramShapeToLegacy).
1978
+ *
1979
+ * @example
1980
+ * ```typescript
1981
+ * const resolver = new PentagramResolver('desktop');
1982
+ * const resolvedTypo = resolver.resolveObject(themeContentPentagram.typo);
1983
+ * const legacyTypo = mapPentagramTypoToLegacy(resolvedTypo);
1984
+ * ```
1985
+ */
1986
+ type Viewport = "desktop" | "mobile";
1987
+ declare class PentagramResolver {
1988
+ private viewport;
1989
+ constructor(viewport?: Viewport);
1990
+ setViewport(viewport: Viewport): void;
1991
+ /**
1992
+ * Resolve a single alias to a concrete value.
1993
+ *
1994
+ * @param alias - Alias string like "300" (fontSize), "display/300" (lineHeight), or "radius/100"
1995
+ * @param context - Optional context hint: 'fontSize' or 'lineHeight'
1996
+ * @returns Resolved value (e.g., "28px") or original if not an alias
1997
+ */
1998
+ resolve(alias: string | number, context?: "fontSize" | "lineHeight"): string | number;
1999
+ /**
2000
+ * Recursively resolve all aliases in an object.
2001
+ *
2002
+ * @param obj - Object containing alias strings
2003
+ * @returns New object with all aliases resolved to concrete values
2004
+ */
2005
+ resolveObject<T>(obj: T): T;
2006
+ /**
2007
+ * Check if a value is already resolved (not an alias).
2008
+ */
2009
+ private isResolved;
2010
+ }
2011
+ /**
2012
+ * Create a resolver for the given viewport.
2013
+ *
2014
+ * @param viewport - 'desktop' (default) or 'mobile'
2015
+ * @returns PentagramResolver instance
2016
+ *
2017
+ * @example
2018
+ * ```typescript
2019
+ * const resolver = createResolver('desktop');
2020
+ * const resolved = resolver.resolveObject(pentagramTypo);
2021
+ * ```
2022
+ */
2023
+ declare function createResolver(viewport?: Viewport): PentagramResolver;
2024
+ /**
2025
+ * Resolve all aliases in a Pentagram object for desktop viewport.
2026
+ * Convenience function for the most common case.
2027
+ *
2028
+ * @example
2029
+ * ```typescript
2030
+ * const resolvedTypo = resolveForDesktop(themeContentPentagram.typo);
2031
+ * ```
2032
+ */
2033
+ declare function resolveForDesktop<T>(obj: T): T;
2034
+ /**
2035
+ * Resolve all aliases in a Pentagram object for mobile viewport.
2036
+ */
2037
+ declare function resolveForMobile<T>(obj: T): T;
2038
+
2039
+ /**
2040
+ * Maps Pentagram Typography → Legacy Typography structure.
2041
+ *
2042
+ * Mapping source: https://xsolla.atlassian.net/wiki/spaces/SDS/pages/23998955662/Variables+mapping
2043
+ * Task: https://xsolla.atlassian.net/browse/PAYMENTS-27883
2044
+ *
2045
+ * Used for themes that have themeContentPentagram.typo (new set).
2046
+ * Converts to themeContent.typo (old set) so that Pay Station 4 keeps working.
2047
+ *
2048
+ * NOTE: This mapper expects RESOLVED values (px), not aliases like "font-size/300".
2049
+ * Use PentagramResolver to resolve aliases before calling this mapper.
2050
+ */
2051
+ interface TypographyStyle {
2052
+ fontSize: string;
2053
+ lineHeight: string;
2054
+ fontWeight?: number;
2055
+ textTransform?: string;
2056
+ }
2057
+ interface PentagramTypoBasicVariant {
2058
+ fontSize: string;
2059
+ lineHeight: string;
2060
+ default?: {
2061
+ fontWeight: number;
2062
+ };
2063
+ accent?: {
2064
+ fontWeight: number;
2065
+ };
2066
+ paragraph?: {
2067
+ spacing?: string;
2068
+ lineHeight?: string;
2069
+ };
2070
+ }
2071
+ interface PentagramTypoControlSize {
2072
+ typography?: {
2073
+ fontSize: string;
2074
+ lineHeight: string;
2075
+ };
2076
+ fontSize?: string;
2077
+ lineHeight?: string;
2078
+ }
2079
+ /**
2080
+ * Pentagram Typography structure (from themeContentPentagram.typo)
2081
+ */
2082
+ interface PentagramTypo {
2083
+ heading: {
2084
+ h1: TypographyStyle;
2085
+ h2: TypographyStyle;
2086
+ h3: TypographyStyle;
2087
+ h4: TypographyStyle;
2088
+ h5: TypographyStyle;
2089
+ };
2090
+ basic: {
2091
+ display: TypographyStyle & {
2092
+ fontFamily?: string;
2093
+ };
2094
+ bodyLg: PentagramTypoBasicVariant;
2095
+ bodyMd: PentagramTypoBasicVariant;
2096
+ bodySm: PentagramTypoBasicVariant;
2097
+ bodyXs: PentagramTypoBasicVariant;
2098
+ bodyXxs: PentagramTypoBasicVariant;
2099
+ };
2100
+ control: {
2101
+ button: Record<string, PentagramTypoControlSize>;
2102
+ input: Record<string, PentagramTypoControlSize>;
2103
+ checkbox: Record<string, PentagramTypoControlSize>;
2104
+ tab: Record<string, PentagramTypoControlSize>;
2105
+ radio: Record<string, PentagramTypoControlSize>;
2106
+ segmentedItem?: Record<string, PentagramTypoControlSize>;
2107
+ tag?: Record<string, PentagramTypoControlSize>;
2108
+ toggleButton?: Record<string, PentagramTypoControlSize>;
2109
+ };
2110
+ }
2111
+ /**
2112
+ * Legacy Typography structure (themeContent.typo)
2113
+ */
2114
+ interface LegacyTypo {
2115
+ fontFamily: string;
2116
+ core: {
2117
+ h1: TypographyStyle;
2118
+ h2: TypographyStyle;
2119
+ h3: TypographyStyle;
2120
+ h4: TypographyStyle;
2121
+ bodyMd: TypographyStyle;
2122
+ bodyMdAccent: TypographyStyle;
2123
+ bodyLgAccent: TypographyStyle;
2124
+ paragraph: TypographyStyle;
2125
+ label: TypographyStyle;
2126
+ minor: TypographyStyle;
2127
+ };
2128
+ components: {
2129
+ button: Record<string, TypographyStyle>;
2130
+ input: Record<string, TypographyStyle>;
2131
+ tab: Record<string, TypographyStyle>;
2132
+ check: Record<string, TypographyStyle>;
2133
+ label: Record<string, TypographyStyle>;
2134
+ };
2135
+ }
2136
+ /**
2137
+ * Maps Pentagram typography to legacy typography structure.
2138
+ *
2139
+ * @param pentagram - Pentagram typography (RESOLVED values, not aliases)
2140
+ * @param fontFamily - Optional custom font family (defaults to GraphikLCWebUikit)
2141
+ * @returns Legacy typography structure for themeContent.typo
2142
+ *
2143
+ * @example
2144
+ * ```typescript
2145
+ * // First resolve aliases
2146
+ * const resolver = new PentagramResolver('desktop');
2147
+ * const resolvedTypo = resolver.resolveObject(themeContentPentagram.typo);
2148
+ *
2149
+ * // Then map to legacy
2150
+ * const legacyTypo = mapPentagramTypoToLegacy(resolvedTypo);
2151
+ * ```
2152
+ */
2153
+ declare function mapPentagramTypoToLegacy(pentagram: PentagramTypo, fontFamily?: string): LegacyTypo;
2154
+ /**
2155
+ * These legacy variables are DELETED in Pentagram and should NOT be mapped:
2156
+ *
2157
+ * - components.heading (sm/md/lg) — was uppercase labels, not used in PS4
2158
+ * - components.fieldGroup (sm/md/lg) — never used in PS4
2159
+ * - core.strong — never used in PS4
2160
+ * - core.bodyLg — replaced by bodyLgAccent (only accent variant used)
2161
+ *
2162
+ * If PS4 code still references these variables, it will fall back to
2163
+ * default CSS values from design-typography-variables.scss
2164
+ */
2165
+ declare const DELETED_LEGACY_TYPO_VARS: readonly ["components.heading", "components.fieldGroup", "core.strong", "core.bodyLg"];
2166
+
2167
+ /**
2168
+ * Maps Pentagram Shape → Legacy Misc structure.
2169
+ *
2170
+ * Mapping source: https://xsolla.atlassian.net/wiki/spaces/SDS/pages/23998955662/Variables+mapping
2171
+ * Task: https://xsolla.atlassian.net/browse/PAYMENTS-27883
2172
+ *
2173
+ * Pentagram has per-component, per-size shape tokens (button.xl.borderRadius, etc).
2174
+ * Legacy misc has single borderRadius per component type (borderRadius.button).
2175
+ *
2176
+ * This mapper uses the "md" size as default for legacy compatibility.
2177
+ *
2178
+ * NOTE: This mapper expects RESOLVED values (px), not aliases like "radius/100".
2179
+ * Use PentagramResolver to resolve aliases before calling this mapper.
2180
+ */
2181
+ interface PentagramShapeSize {
2182
+ borderRadius?: string;
2183
+ borderWidth?: string;
2184
+ borderWeight?: string;
2185
+ }
2186
+ interface PentagramShape {
2187
+ button?: Record<string, PentagramShapeSize>;
2188
+ checkbox?: Record<string, PentagramShapeSize>;
2189
+ input?: Record<string, PentagramShapeSize>;
2190
+ cell?: PentagramShapeSize;
2191
+ modal?: PentagramShapeSize;
2192
+ toast?: PentagramShapeSize;
2193
+ segmentedItem?: Record<string, PentagramShapeSize>;
2194
+ segmented?: Record<string, PentagramShapeSize>;
2195
+ switch?: Record<string, PentagramShapeSize>;
2196
+ knob?: Record<string, {
2197
+ borderRadius?: string;
2198
+ }>;
2199
+ tabItem?: Record<string, PentagramShapeSize>;
2200
+ tag?: Record<string, PentagramShapeSize>;
2201
+ tagLabel?: {
2202
+ borderRadius?: string;
2203
+ };
2204
+ tooltip?: Record<string, PentagramShapeSize>;
2205
+ radio?: Record<string, PentagramShapeSize>;
2206
+ contextMenu?: Record<string, PentagramShapeSize>;
2207
+ avatar?: Record<string, PentagramShapeSize>;
2208
+ toggleButtonGroup?: Record<string, PentagramShapeSize>;
2209
+ }
2210
+ interface LegacyMisc {
2211
+ borderRadiusScale: {
2212
+ sm: string;
2213
+ md: string;
2214
+ lg: string;
2215
+ xl: string;
2216
+ };
2217
+ borderWidth: string;
2218
+ borderRadius: {
2219
+ input: string;
2220
+ button: string;
2221
+ buttonIcon: string;
2222
+ popup: string;
2223
+ checkbox: string;
2224
+ tag: string;
2225
+ };
2226
+ minWidth: {
2227
+ button: string;
2228
+ };
2229
+ }
2230
+ /**
2231
+ * Maps Pentagram shape to legacy misc structure.
2232
+ *
2233
+ * @param pentagram - Pentagram shape (RESOLVED values, not aliases)
2234
+ * @param existingMisc - Optional existing misc to merge with (preserves non-shape values)
2235
+ * @returns Legacy misc structure for themeContent.misc
2236
+ *
2237
+ * @example
2238
+ * ```typescript
2239
+ * // First resolve aliases
2240
+ * const resolver = new PentagramResolver('desktop');
2241
+ * const resolvedShape = resolver.resolveObject(themeContentPentagram.shape);
2242
+ *
2243
+ * // Then map to legacy
2244
+ * const legacyMisc = mapPentagramShapeToLegacy(resolvedShape);
2245
+ * ```
2246
+ */
2247
+ declare function mapPentagramShapeToLegacy(pentagram: PentagramShape, existingMisc?: Partial<LegacyMisc>): LegacyMisc;
2248
+ /**
2249
+ * If PS4 adopts per-size CSS variables (--shape-button-md-borderRadius),
2250
+ * this function can generate them directly from Pentagram shape.
2251
+ *
2252
+ * This is for future use when PS4 migrates to granular shape tokens.
2253
+ */
2254
+ declare function flattenPentagramShapeToVars(pentagram: PentagramShape): Record<string, string>;
2255
+
2256
+ /**
2257
+ * Maps hand-crafted Pentagram colors → legacy Switch Colors structure.
2258
+ *
2259
+ * Mapping source: https://xsolla.atlassian.net/wiki/spaces/SDS/pages/23998955662/Variables+mapping
2260
+ *
2261
+ * Used for default themes that are hand-crafted (not auto-generated via themeGenerator).
2262
+ * Converts themeContentPentagram.colors (new set) → themeContent.colors (old set),
2263
+ * so that products still on the legacy variable set (Chat, Proxy Page) keep working.
2264
+ */
2265
+
2266
+ /**
2267
+ * Hand-crafted Pentagram colors structure (from Figma export)
2268
+ */
2269
+ interface HandCraftedPentagramColors {
2270
+ content: {
2271
+ primary: string;
2272
+ secondary: string;
2273
+ tertiary: string;
2274
+ brandPrimary: string;
2275
+ brandSecondary: string;
2276
+ brandExtraPrimary: string;
2277
+ brandExtraSecondary: string;
2278
+ inverse: string;
2279
+ staticLight: string;
2280
+ staticDark: string;
2281
+ successPrimary: string;
2282
+ successSecondary: string;
2283
+ warningPrimary: string;
2284
+ warningSecondary: string;
2285
+ alertPrimary: string;
2286
+ alertSecondary: string;
2287
+ neutralPrimary: string;
2288
+ neutralSecondary: string;
2289
+ onBrand: string;
2290
+ onBrandExtra: string;
2291
+ onSuccess: string;
2292
+ onWarning: string;
2293
+ onAlert: string;
2294
+ onNeutral: string;
2295
+ };
2296
+ background: {
2297
+ primary: string;
2298
+ secondary: string;
2299
+ brandPrimary: string;
2300
+ brandSecondary: string;
2301
+ brandExtraPrimary: string;
2302
+ brandExtraSecondary: string;
2303
+ inverse: string;
2304
+ staticDark: string;
2305
+ staticLight: string;
2306
+ successPrimary: string;
2307
+ successSecondary: string;
2308
+ warningPrimary: string;
2309
+ warningSecondary: string;
2310
+ alertPrimary: string;
2311
+ alertSecondary: string;
2312
+ neutralPrimary: string;
2313
+ neutralSecondary: string;
2314
+ };
2315
+ border: {
2316
+ primary: string;
2317
+ secondary: string;
2318
+ brand: string;
2319
+ brandExtra: string;
2320
+ inverse: string;
2321
+ success: string;
2322
+ warning: string;
2323
+ alert: string;
2324
+ neutral: string;
2325
+ };
2326
+ overlay: {
2327
+ mono: string;
2328
+ brand: string;
2329
+ brandExtra: string;
2330
+ success: string;
2331
+ warning: string;
2332
+ alert: string;
2333
+ neutral: string;
2334
+ };
2335
+ control: {
2336
+ input: {
2337
+ bg: string;
2338
+ bgHover: string;
2339
+ bgDisable: string;
2340
+ border: string;
2341
+ borderHover: string;
2342
+ borderDisable: string;
2343
+ text: string;
2344
+ placeholder: string;
2345
+ textDisable: string;
2346
+ };
2347
+ focus: {
2348
+ bg: string;
2349
+ border: string;
2350
+ };
2351
+ check: {
2352
+ bg: string;
2353
+ bgHover: string;
2354
+ bgDisable: string;
2355
+ border: string;
2356
+ borderHover: string;
2357
+ borderDisable: string;
2358
+ icon: string;
2359
+ };
2360
+ faint: {
2361
+ bg: string;
2362
+ bgHover: string;
2363
+ border: string;
2364
+ borderHover: string;
2365
+ };
2366
+ text: {
2367
+ primary: string;
2368
+ disable: string;
2369
+ };
2370
+ link: {
2371
+ primary: string;
2372
+ primaryHover: string;
2373
+ secondary: string;
2374
+ secondaryHover: string;
2375
+ };
2376
+ switch: {
2377
+ bg: string;
2378
+ bgHover: string;
2379
+ bgDisable: string;
2380
+ border: string;
2381
+ borderHover: string;
2382
+ borderDisable: string;
2383
+ };
2384
+ slider: {
2385
+ bg: string;
2386
+ bgHover: string;
2387
+ bgDisable: string;
2388
+ };
2389
+ knob: {
2390
+ bg: string;
2391
+ bgActive: string;
2392
+ bgHover: string;
2393
+ bgInactive: string;
2394
+ bgDisable: string;
2395
+ };
2396
+ segmented: {
2397
+ bg: string;
2398
+ bgHover: string;
2399
+ bgActive: string;
2400
+ border: string;
2401
+ borderHover: string;
2402
+ borderActive: string;
2403
+ text: string;
2404
+ textDisable: string;
2405
+ };
2406
+ toggleButton: {
2407
+ bg: string;
2408
+ bgHover: string;
2409
+ bgActive: string;
2410
+ bgDisable: string;
2411
+ border: string;
2412
+ borderHover: string;
2413
+ borderActive: string;
2414
+ borderDisable: string;
2415
+ text: string;
2416
+ textActive: string;
2417
+ textDisable: string;
2418
+ };
2419
+ brand: {
2420
+ primary: {
2421
+ bg: string;
2422
+ bgHover: string;
2423
+ bgPress: string;
2424
+ bgDisable: string;
2425
+ border: string;
2426
+ borderHover: string;
2427
+ borderPress: string;
2428
+ borderDisable: string;
2429
+ };
2430
+ secondary: {
2431
+ bg: string;
2432
+ bgHover: string;
2433
+ bgPress: string;
2434
+ border: string;
2435
+ borderHover: string;
2436
+ borderPress: string;
2437
+ };
2438
+ tertiary: {
2439
+ bg: string;
2440
+ bgHover: string;
2441
+ bgPress: string;
2442
+ border: string;
2443
+ borderHover: string;
2444
+ borderPress: string;
2445
+ };
2446
+ text: {
2447
+ primary: string;
2448
+ secondary: string;
2449
+ tertiary: string;
2450
+ disable: string;
2451
+ };
2452
+ };
2453
+ mono: {
2454
+ primary: {
2455
+ bg: string;
2456
+ bgHover: string;
2457
+ bgPress: string;
2458
+ border: string;
2459
+ borderHover: string;
2460
+ borderPress: string;
2461
+ };
2462
+ secondary: {
2463
+ bg: string;
2464
+ bgHover: string;
2465
+ bgPress: string;
2466
+ border: string;
2467
+ borderHover: string;
2468
+ borderPress: string;
2469
+ };
2470
+ tertiary: {
2471
+ bg: string;
2472
+ bgHover: string;
2473
+ bgPress: string;
2474
+ border: string;
2475
+ borderHover: string;
2476
+ borderPress: string;
2477
+ };
2478
+ text: {
2479
+ primary: string;
2480
+ secondary: string;
2481
+ tertiary: string;
2482
+ };
2483
+ };
2484
+ brandExtra: {
2485
+ primary: {
2486
+ bg: string;
2487
+ bgHover: string;
2488
+ bgPress: string;
2489
+ border: string;
2490
+ borderHover: string;
2491
+ borderPress: string;
2492
+ };
2493
+ secondary: {
2494
+ bg: string;
2495
+ bgHover: string;
2496
+ bgPress: string;
2497
+ border: string;
2498
+ borderHover: string;
2499
+ borderPress: string;
2500
+ };
2501
+ tertiary: {
2502
+ bg: string;
2503
+ bgHover: string;
2504
+ bgPress: string;
2505
+ border: string;
2506
+ borderHover: string;
2507
+ borderPress: string;
2508
+ };
2509
+ text: {
2510
+ primary: string;
2511
+ secondary: string;
2512
+ tertiary: string;
2513
+ };
2514
+ };
2515
+ alert: {
2516
+ primary: {
2517
+ bg: string;
2518
+ bgHover: string;
2519
+ bgPress: string;
2520
+ border: string;
2521
+ borderHover: string;
2522
+ borderPress: string;
2523
+ };
2524
+ secondary: {
2525
+ bg: string;
2526
+ bgHover: string;
2527
+ bgPress: string;
2528
+ border: string;
2529
+ borderHover: string;
2530
+ borderPress: string;
2531
+ };
2532
+ tertiary: {
2533
+ bg: string;
2534
+ bgHover: string;
2535
+ bgPress: string;
2536
+ border: string;
2537
+ borderHover: string;
2538
+ borderPress: string;
2539
+ };
2540
+ text: {
2541
+ primary: string;
2542
+ secondary: string;
2543
+ tertiary: string;
2544
+ };
2545
+ };
2546
+ };
2547
+ layer: {
2548
+ scrim: string;
2549
+ float: string;
2550
+ };
2551
+ }
2552
+ /**
2553
+ * @param pentagram Hand-crafted Pentagram color scheme (all values already RGB strings).
2554
+ * @returns Legacy colors without 'base' (seed colors not needed for hand-crafted themes).
2555
+ */
2556
+ declare function mapHandCraftedPentagramToLegacy(pentagram: HandCraftedPentagramColors): Omit<Colors$1<string>, "base">;
2557
+
2558
+ /**
2559
+ * Orchestrator: maps full themeContentPentagram → legacy themeContent.
2560
+ *
2561
+ * Mapping source: https://xsolla.atlassian.net/wiki/spaces/SDS/pages/23998955662/Variables+mapping
2562
+ */
2563
+
2564
+ interface PentagramThemeContent {
2565
+ colors: HandCraftedPentagramColors;
2566
+ typo: PentagramTypo;
2567
+ shape: PentagramShape;
2568
+ shadows?: Shadows;
2569
+ }
2570
+ interface LegacyThemeContent {
2571
+ colors: Colors$1<string>;
2572
+ typo: LegacyTypo;
2573
+ misc: LegacyMisc;
2574
+ shadows?: Shadows;
2575
+ }
2576
+ /**
2577
+ * Builds legacy `base` seed colors from Pentagram colors.
2578
+ * See Variables mapping table → base.* section.
2579
+ */
2580
+ declare function buildBaseColorsFromPentagram(colors: HandCraftedPentagramColors): BaseColors<string>;
2581
+ /**
2582
+ * Maps full themeContentPentagram to legacy themeContent.
2583
+ * Resolves typo/shape aliases to absolute values before mapping.
2584
+ */
2585
+ declare function mapPentagramThemeToLegacy(pentagram: PentagramThemeContent, viewport?: Viewport): LegacyThemeContent;
2586
+
2587
+ var heading = {
2588
+ h1: {
2589
+ fontSize: "450",
2590
+ lineHeight: "display/450",
2591
+ fontWeight: 700
2592
+ },
2593
+ h2: {
2594
+ fontSize: "350",
2595
+ lineHeight: "display/350",
2596
+ fontWeight: 700
2597
+ },
2598
+ h3: {
2599
+ fontSize: "300",
2600
+ lineHeight: "display/300",
2601
+ fontWeight: 700
2602
+ },
2603
+ h4: {
2604
+ fontSize: "250",
2605
+ lineHeight: "display/250",
2606
+ fontWeight: 700
2607
+ },
2608
+ h5: {
2609
+ fontSize: "200",
2610
+ lineHeight: "display/200",
2611
+ fontWeight: 700
2612
+ }
2613
+ };
2614
+ var basic = {
2615
+ display: {
2616
+ fontFamily: "compact",
2617
+ fontSize: "300",
2618
+ lineHeight: "compact/300",
2619
+ fontWeight: 500
2620
+ },
2621
+ bodyLg: {
2622
+ fontSize: "175",
2623
+ lineHeight: "compact/175",
2624
+ "default": {
2625
+ fontWeight: 400
2626
+ },
2627
+ accent: {
2628
+ fontWeight: 500
2629
+ },
2630
+ paragraph: {
2631
+ spacing: "spacing/250",
2632
+ lineHeight: "text/175"
2633
+ }
2634
+ },
2635
+ bodyMd: {
2636
+ fontSize: "150",
2637
+ lineHeight: "compact/150",
2638
+ "default": {
2639
+ fontWeight: 400
2640
+ },
2641
+ accent: {
2642
+ fontWeight: 500
2643
+ },
2644
+ paragraph: {
2645
+ spacing: "spacing/200",
2646
+ lineHeight: "text/150"
2647
+ }
2648
+ },
2649
+ bodySm: {
2650
+ fontSize: "125",
2651
+ lineHeight: "compact/125",
2652
+ "default": {
2653
+ fontWeight: 400
2654
+ },
2655
+ accent: {
2656
+ fontWeight: 500
2657
+ },
2658
+ paragraph: {
2659
+ spacing: "spacing/150",
2660
+ lineHeight: "text/125"
2661
+ }
2662
+ },
2663
+ bodyXs: {
2664
+ fontSize: "100",
2665
+ lineHeight: "compact/100",
2666
+ "default": {
2667
+ fontWeight: 400
2668
+ },
2669
+ accent: {
2670
+ fontWeight: 500
2671
+ },
2672
+ paragraph: {
2673
+ spacing: "spacing/100",
2674
+ lineHeight: "text/100"
2675
+ }
2676
+ },
2677
+ bodyXxs: {
2678
+ fontSize: "75",
2679
+ lineHeight: "compact/75",
2680
+ "default": {
2681
+ fontWeight: 400
2682
+ },
2683
+ accent: {
2684
+ fontWeight: 500
2685
+ },
2686
+ paragraph: {
2687
+ spacing: "spacing/75",
2688
+ lineHeight: "text/75"
2689
+ }
2690
+ }
2691
+ };
2692
+ var control = {
2693
+ button: {
2694
+ xl: {
2695
+ scale: "600"
2696
+ },
2697
+ lg: {
2698
+ scale: "500"
2699
+ },
2700
+ md: {
2701
+ scale: "400"
2702
+ },
2703
+ sm: {
2704
+ scale: "300"
2705
+ },
2706
+ xs: {
2707
+ scale: "200"
2708
+ }
2709
+ },
2710
+ input: {
2711
+ xl: {
2712
+ scale: "600"
2713
+ },
2714
+ lg: {
2715
+ scale: "500"
2716
+ },
2717
+ md: {
2718
+ scale: "400"
2719
+ },
2720
+ sm: {
2721
+ scale: "300"
2722
+ },
2723
+ xs: {
2724
+ scale: "200"
2725
+ }
2726
+ },
2727
+ checkbox: {
2728
+ xl: {
2729
+ scale: "600"
2730
+ },
2731
+ lg: {
2732
+ scale: "500"
2733
+ },
2734
+ md: {
2735
+ scale: "400"
2736
+ },
2737
+ sm: {
2738
+ scale: "300"
2739
+ }
2740
+ },
2741
+ tab: {
2742
+ xl: {
2743
+ scale: "600"
2744
+ },
2745
+ lg: {
2746
+ scale: "500"
2747
+ },
2748
+ md: {
2749
+ scale: "400"
2750
+ },
2751
+ sm: {
2752
+ scale: "300"
2753
+ },
2754
+ xs: {
2755
+ scale: "300"
2756
+ }
2757
+ },
2758
+ radio: {
2759
+ xl: {
2760
+ scale: "600"
2761
+ },
2762
+ lg: {
2763
+ scale: "500"
2764
+ },
2765
+ md: {
2766
+ scale: "400"
2767
+ },
2768
+ sm: {
2769
+ scale: "300"
2770
+ }
2771
+ },
2772
+ segmentedItem: {
2773
+ xl: {
2774
+ scale: "500"
2775
+ },
2776
+ lg: {
2777
+ scale: "400"
2778
+ },
2779
+ md: {
2780
+ scale: "300"
2781
+ },
2782
+ sm: {
2783
+ scale: "200"
2784
+ }
2785
+ },
2786
+ tag: {
2787
+ xl: {
2788
+ scale: "600"
2789
+ },
2790
+ lg: {
2791
+ scale: "500"
2792
+ },
2793
+ md: {
2794
+ scale: "400"
2795
+ },
2796
+ sm: {
2797
+ scale: "300"
2798
+ },
2799
+ xs: {
2800
+ scale: "200"
2801
+ }
2802
+ },
2803
+ toggleButton: {
2804
+ xl: {
2805
+ scale: "600"
2806
+ },
2807
+ lg: {
2808
+ scale: "500"
2809
+ },
2810
+ md: {
2811
+ scale: "400"
2812
+ },
2813
+ sm: {
2814
+ scale: "300"
2815
+ },
2816
+ xs: {
2817
+ scale: "200"
2818
+ }
2819
+ }
2820
+ };
2821
+ var typoPrimitives = {
2822
+ heading: heading,
2823
+ basic: basic,
2824
+ control: control
2825
+ };
2826
+
2827
+ var button = {
2828
+ xl: {
2829
+ borderRadius: "radius/100",
2830
+ borderWidth: "stroke/1"
2831
+ },
2832
+ lg: {
2833
+ borderRadius: "radius/100",
2834
+ borderWidth: "stroke/1"
2835
+ },
2836
+ md: {
2837
+ borderRadius: "radius/75",
2838
+ borderWidth: "stroke/1"
2839
+ },
2840
+ sm: {
2841
+ borderRadius: "radius/50",
2842
+ borderWidth: "stroke/1"
2843
+ },
2844
+ xs: {
2845
+ borderRadius: "radius/50",
2846
+ borderWidth: "stroke/1"
2847
+ }
2848
+ };
2849
+ var checkbox = {
2850
+ xl: {
2851
+ borderRadius: "radius/50",
2852
+ borderWidth: "stroke/1"
2853
+ },
2854
+ lg: {
2855
+ borderRadius: "radius/50",
2856
+ borderWidth: "stroke/1"
2857
+ },
2858
+ md: {
2859
+ borderRadius: "radius/50",
2860
+ borderWidth: "stroke/1"
2861
+ },
2862
+ sm: {
2863
+ borderRadius: "radius/50",
2864
+ borderWidth: "stroke/1"
2865
+ }
2866
+ };
2867
+ var input = {
2868
+ xl: {
2869
+ borderRadius: "radius/100",
2870
+ borderWidth: "stroke/1"
2871
+ },
2872
+ lg: {
2873
+ borderRadius: "radius/100",
2874
+ borderWidth: "stroke/1"
2875
+ },
2876
+ md: {
2877
+ borderRadius: "radius/100",
2878
+ borderWidth: "stroke/1"
2879
+ },
2880
+ sm: {
2881
+ borderRadius: "radius/50",
2882
+ borderWidth: "stroke/1"
2883
+ },
2884
+ xs: {
2885
+ borderRadius: "radius/50",
2886
+ borderWidth: "stroke/1"
2887
+ }
2888
+ };
2889
+ var cell = {
2890
+ borderRadius: "radius/100",
2891
+ borderWidth: "stroke/1"
2892
+ };
2893
+ var modal = {
2894
+ borderRadius: "radius/100"
2895
+ };
2896
+ var toast = {
2897
+ borderRadius: "radius/50",
2898
+ borderWidth: "0px"
2899
+ };
2900
+ var segmentedItem = {
2901
+ xl: {
2902
+ borderRadius: "radius/50",
2903
+ borderWeight: "stroke/1"
2904
+ },
2905
+ lg: {
2906
+ borderRadius: "radius/50",
2907
+ borderWeight: "stroke/1"
2908
+ },
2909
+ md: {
2910
+ borderRadius: "radius/50",
2911
+ borderWeight: "stroke/1"
2912
+ },
2913
+ sm: {
2914
+ borderRadius: "radius/25",
2915
+ borderWeight: "stroke/1"
2916
+ }
2917
+ };
2918
+ var segmented = {
2919
+ xl: {
2920
+ borderRadius: "radius/100",
2921
+ borderWeight: "stroke/1"
2922
+ },
2923
+ lg: {
2924
+ borderRadius: "radius/100",
2925
+ borderWeight: "stroke/1"
2926
+ },
2927
+ md: {
2928
+ borderRadius: "radius/100",
2929
+ borderWeight: "stroke/1"
2930
+ },
2931
+ sm: {
2932
+ borderRadius: "radius/50",
2933
+ borderWeight: "stroke/1"
2934
+ }
2935
+ };
2936
+ var knob = {
2937
+ xl: {
2938
+ borderRadius: "radius/25"
2939
+ },
2940
+ lg: {
2941
+ borderRadius: "radius/25"
2942
+ },
2943
+ md: {
2944
+ borderRadius: "radius/25"
2945
+ },
2946
+ sm: {
2947
+ borderRadius: "radius/25"
2948
+ }
2949
+ };
2950
+ var tabItem = {
2951
+ xl: {
2952
+ borderRadius: "radius/100"
2953
+ },
2954
+ lg: {
2955
+ borderRadius: "radius/100"
2956
+ },
2957
+ md: {
2958
+ borderRadius: "radius/50"
2959
+ },
2960
+ sm: {
2961
+ borderRadius: "radius/50"
2962
+ }
2963
+ };
2964
+ var tag = {
2965
+ xl: {
2966
+ borderRadius: "radius/100",
2967
+ borderWidth: "stroke/1"
2968
+ },
2969
+ lg: {
2970
+ borderRadius: "radius/100",
2971
+ borderWidth: "stroke/1"
2972
+ },
2973
+ md: {
2974
+ borderRadius: "radius/75",
2975
+ borderWidth: "stroke/1"
2976
+ },
2977
+ sm: {
2978
+ borderRadius: "radius/50",
2979
+ borderWidth: "stroke/1"
2980
+ },
2981
+ xs: {
2982
+ borderRadius: "radius/50",
2983
+ borderWidth: "stroke/1"
2984
+ }
2985
+ };
2986
+ var tagLabel = {
2987
+ borderRadius: "0px"
2988
+ };
2989
+ var tooltip = {
2990
+ xl: {
2991
+ borderRadius: "radius/100"
2992
+ },
2993
+ lg: {
2994
+ borderRadius: "radius/100"
2995
+ },
2996
+ md: {
2997
+ borderRadius: "radius/100"
2998
+ },
2999
+ sm: {
3000
+ borderRadius: "radius/50"
3001
+ }
3002
+ };
3003
+ var radio = {
3004
+ xl: {
3005
+ borderRadius: "radius/999",
3006
+ borderWidth: "stroke/1"
3007
+ },
3008
+ lg: {
3009
+ borderRadius: "radius/999",
3010
+ borderWidth: "stroke/1"
3011
+ },
3012
+ md: {
3013
+ borderRadius: "radius/999",
3014
+ borderWidth: "stroke/1"
3015
+ },
3016
+ sm: {
3017
+ borderRadius: "radius/999",
3018
+ borderWidth: "stroke/1"
3019
+ }
3020
+ };
3021
+ var contextMenu = {
3022
+ xl: {
3023
+ borderRadius: "radius/100"
3024
+ },
3025
+ lg: {
3026
+ borderRadius: "radius/100"
3027
+ },
3028
+ md: {
3029
+ borderRadius: "radius/100"
3030
+ },
3031
+ sm: {
3032
+ borderRadius: "radius/50"
3033
+ }
3034
+ };
3035
+ var avatar = {
3036
+ xl: {
3037
+ borderRadius: "radius/100",
3038
+ borderWidth: "stroke/2"
3039
+ },
3040
+ lg: {
3041
+ borderRadius: "radius/75",
3042
+ borderWidth: "stroke/2"
3043
+ },
3044
+ md: {
3045
+ borderRadius: "radius/75",
3046
+ borderWidth: "stroke/2"
3047
+ },
3048
+ sm: {
3049
+ borderRadius: "radius/50",
3050
+ borderWidth: "stroke/2"
3051
+ },
3052
+ xs: {
3053
+ borderRadius: "radius/50",
3054
+ borderWidth: "stroke/2"
3055
+ },
3056
+ xxs: {
3057
+ borderRadius: "radius/25",
3058
+ borderWidth: "stroke/2"
3059
+ }
3060
+ };
3061
+ var toggleButtonGroup = {
3062
+ xl: {
3063
+ borderRadius: "radius/100",
3064
+ borderWidth: "stroke/1"
3065
+ },
3066
+ lg: {
3067
+ borderRadius: "radius/100",
3068
+ borderWidth: "stroke/1"
3069
+ },
3070
+ md: {
3071
+ borderRadius: "radius/75",
3072
+ borderWidth: "stroke/1"
3073
+ },
3074
+ sm: {
3075
+ borderRadius: "radius/50",
3076
+ borderWidth: "stroke/1"
3077
+ },
3078
+ xs: {
3079
+ borderRadius: "radius/50",
3080
+ borderWidth: "stroke/1"
3081
+ }
3082
+ };
3083
+ var shapePrimitives = {
3084
+ button: button,
3085
+ checkbox: checkbox,
3086
+ input: input,
3087
+ cell: cell,
3088
+ modal: modal,
3089
+ toast: toast,
3090
+ segmentedItem: segmentedItem,
3091
+ segmented: segmented,
3092
+ "switch": {
3093
+ xl: {
3094
+ borderRadius: "radius/50",
3095
+ borderWeight: "stroke/1"
3096
+ },
3097
+ lg: {
3098
+ borderRadius: "radius/50",
3099
+ borderWeight: "stroke/1"
3100
+ },
3101
+ md: {
3102
+ borderRadius: "radius/50",
3103
+ borderWeight: "stroke/1"
3104
+ },
3105
+ sm: {
3106
+ borderRadius: "radius/50",
3107
+ borderWeight: "stroke/1"
3108
+ }
3109
+ },
3110
+ knob: knob,
3111
+ tabItem: tabItem,
3112
+ tag: tag,
3113
+ tagLabel: tagLabel,
3114
+ tooltip: tooltip,
3115
+ radio: radio,
3116
+ contextMenu: contextMenu,
3117
+ avatar: avatar,
3118
+ toggleButtonGroup: toggleButtonGroup
3119
+ };
3120
+
3121
+ type TypoPrimitives = typeof typoPrimitives;
3122
+ type ShapePrimitives = typeof shapePrimitives;
3123
+
3124
+ export { type BaseColors, type BaseColorsIndex, type ColorValue, type Colors$1 as Colors, type ComponentBaseColors$1 as ComponentBaseColors, DELETED_LEGACY_TYPO_VARS, type HandCraftedPentagramColors, type LegacyMisc, type LegacyThemeContent, type LegacyTypo, type Misc, type PentagramBaseColors, PentagramResolver, type PentagramShape, type PentagramThemeContent, type PentagramTypo, type PresetName, type Shadows, type ShapePrimitives, type Size, type Theme, type ThemeFunctionType, type ThemeScheme, type ThemeVariant, type TypoPrimitives, type Typography, type TypographyStyle, type Viewport, base, baseDark, buildBaseColorsFromPentagram, createDarkScheme, createResolver, createScheme, emails, emailsDark, emailsThemes, flattenPentagramShapeToVars, generateWithScheme, mapHandCraftedPentagramToLegacy, mapPentagramShapeToLegacy, mapPentagramThemeToLegacy, mapPentagramTypoToLegacy, palettes, payStationDarkScheme, payStationScheme, paystation4, paystation4Dark, paystation4Gaijin, paystation4Nexters, paystation4PentagramDark, paystation4PentagramLight, paystation4Take2, paystation4Themes, primaryPalette, publisherV2, publisherV2Dark, publisherV2Themes, resolveForDesktop, resolveForMobile, shapePrimitives, themeGenerator, themes, themesBaseColors, themesBaseColorsArray, themesColorsScheme, typoPrimitives };