@xsolla/xui-core 0.161.3 → 0.162.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/README.md +2 -1
- package/index.d.mts +1632 -425
- package/index.d.ts +1632 -425
- package/index.js +407 -1
- package/index.js.map +1 -1
- package/index.mjs +407 -1
- package/index.mjs.map +1 -1
- package/package.json +1 -1
package/index.d.mts
CHANGED
|
@@ -2493,172 +2493,575 @@ declare const colors: {
|
|
|
2493
2493
|
};
|
|
2494
2494
|
};
|
|
2495
2495
|
};
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
readonly "400": 32;
|
|
2530
|
-
readonly "999": 999;
|
|
2531
|
-
};
|
|
2532
|
-
/** Primitive border-width scale. Mirrors Figma "Scale / stroke/*" variables. */
|
|
2533
|
-
declare const stroke: {
|
|
2534
|
-
readonly "1": 1;
|
|
2535
|
-
readonly "2": 2;
|
|
2536
|
-
readonly "3": 3;
|
|
2537
|
-
};
|
|
2538
|
-
|
|
2539
|
-
/**
|
|
2540
|
-
* Semantic shape tokens. Mirrors Figma "Theme / Shape" variable collection,
|
|
2541
|
-
* Xsolla Default mode. Values alias into the radiusScale and stroke primitives.
|
|
2542
|
-
*/
|
|
2543
|
-
declare const shape: {
|
|
2544
|
-
readonly button: {
|
|
2545
|
-
readonly xl: {
|
|
2546
|
-
readonly borderRadius: 8;
|
|
2547
|
-
readonly borderWidth: 1;
|
|
2548
|
-
};
|
|
2549
|
-
readonly lg: {
|
|
2550
|
-
readonly borderRadius: 8;
|
|
2551
|
-
readonly borderWidth: 1;
|
|
2552
|
-
};
|
|
2553
|
-
readonly md: {
|
|
2554
|
-
readonly borderRadius: 6;
|
|
2555
|
-
readonly borderWidth: 1;
|
|
2556
|
-
};
|
|
2557
|
-
readonly sm: {
|
|
2558
|
-
readonly borderRadius: 4;
|
|
2559
|
-
readonly borderWidth: 1;
|
|
2560
|
-
};
|
|
2561
|
-
readonly xs: {
|
|
2562
|
-
readonly borderRadius: 4;
|
|
2563
|
-
readonly borderWidth: 1;
|
|
2564
|
-
};
|
|
2565
|
-
};
|
|
2566
|
-
readonly checkbox: {
|
|
2567
|
-
readonly xl: {
|
|
2568
|
-
readonly borderRadius: 4;
|
|
2569
|
-
readonly borderWidth: 1;
|
|
2570
|
-
};
|
|
2571
|
-
readonly lg: {
|
|
2572
|
-
readonly borderRadius: 4;
|
|
2573
|
-
readonly borderWidth: 1;
|
|
2574
|
-
};
|
|
2575
|
-
readonly md: {
|
|
2576
|
-
readonly borderRadius: 4;
|
|
2577
|
-
readonly borderWidth: 1;
|
|
2578
|
-
};
|
|
2579
|
-
readonly sm: {
|
|
2580
|
-
readonly borderRadius: 4;
|
|
2581
|
-
readonly borderWidth: 1;
|
|
2582
|
-
};
|
|
2583
|
-
};
|
|
2584
|
-
readonly input: {
|
|
2585
|
-
readonly xl: {
|
|
2586
|
-
readonly borderRadius: 8;
|
|
2587
|
-
readonly borderWidth: 1;
|
|
2588
|
-
};
|
|
2589
|
-
readonly lg: {
|
|
2590
|
-
readonly borderRadius: 8;
|
|
2591
|
-
readonly borderWidth: 1;
|
|
2592
|
-
};
|
|
2593
|
-
readonly md: {
|
|
2594
|
-
readonly borderRadius: 8;
|
|
2595
|
-
readonly borderWidth: 1;
|
|
2596
|
-
};
|
|
2597
|
-
readonly sm: {
|
|
2598
|
-
readonly borderRadius: 4;
|
|
2599
|
-
readonly borderWidth: 1;
|
|
2600
|
-
};
|
|
2601
|
-
readonly xs: {
|
|
2602
|
-
readonly borderRadius: 4;
|
|
2603
|
-
readonly borderWidth: 1;
|
|
2604
|
-
};
|
|
2605
|
-
};
|
|
2606
|
-
readonly segmented: {
|
|
2607
|
-
readonly xl: {
|
|
2608
|
-
readonly borderRadius: 8;
|
|
2609
|
-
readonly borderWidth: 1;
|
|
2610
|
-
};
|
|
2611
|
-
readonly lg: {
|
|
2612
|
-
readonly borderRadius: 8;
|
|
2613
|
-
readonly borderWidth: 1;
|
|
2614
|
-
};
|
|
2615
|
-
readonly md: {
|
|
2616
|
-
readonly borderRadius: 8;
|
|
2617
|
-
readonly borderWidth: 1;
|
|
2618
|
-
};
|
|
2619
|
-
readonly sm: {
|
|
2620
|
-
readonly borderRadius: 4;
|
|
2621
|
-
readonly borderWidth: 1;
|
|
2622
|
-
};
|
|
2623
|
-
};
|
|
2624
|
-
readonly segmentedItem: {
|
|
2625
|
-
readonly xl: {
|
|
2626
|
-
readonly borderRadius: 4;
|
|
2627
|
-
readonly borderWidth: 1;
|
|
2628
|
-
};
|
|
2629
|
-
readonly lg: {
|
|
2630
|
-
readonly borderRadius: 4;
|
|
2631
|
-
readonly borderWidth: 1;
|
|
2632
|
-
};
|
|
2633
|
-
readonly md: {
|
|
2634
|
-
readonly borderRadius: 4;
|
|
2635
|
-
readonly borderWidth: 1;
|
|
2636
|
-
};
|
|
2637
|
-
readonly sm: {
|
|
2638
|
-
readonly borderRadius: 2;
|
|
2639
|
-
readonly borderWidth: 1;
|
|
2496
|
+
blueprints: {
|
|
2497
|
+
background: {
|
|
2498
|
+
primary: string;
|
|
2499
|
+
secondary: string;
|
|
2500
|
+
brand: {
|
|
2501
|
+
primary: string;
|
|
2502
|
+
secondary: string;
|
|
2503
|
+
};
|
|
2504
|
+
brandExtra: {
|
|
2505
|
+
primary: string;
|
|
2506
|
+
secondary: string;
|
|
2507
|
+
};
|
|
2508
|
+
inverse: string;
|
|
2509
|
+
static: {
|
|
2510
|
+
dark: string;
|
|
2511
|
+
light: string;
|
|
2512
|
+
};
|
|
2513
|
+
success: {
|
|
2514
|
+
primary: string;
|
|
2515
|
+
secondary: string;
|
|
2516
|
+
};
|
|
2517
|
+
warning: {
|
|
2518
|
+
primary: string;
|
|
2519
|
+
secondary: string;
|
|
2520
|
+
};
|
|
2521
|
+
alert: {
|
|
2522
|
+
primary: string;
|
|
2523
|
+
secondary: string;
|
|
2524
|
+
};
|
|
2525
|
+
neutral: {
|
|
2526
|
+
primary: string;
|
|
2527
|
+
secondary: string;
|
|
2528
|
+
};
|
|
2640
2529
|
};
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2530
|
+
content: {
|
|
2531
|
+
primary: string;
|
|
2532
|
+
secondary: string;
|
|
2533
|
+
tertiary: string;
|
|
2534
|
+
brand: {
|
|
2535
|
+
primary: string;
|
|
2536
|
+
secondary: string;
|
|
2537
|
+
};
|
|
2538
|
+
brandExtra: {
|
|
2539
|
+
primary: string;
|
|
2540
|
+
secondary: string;
|
|
2541
|
+
};
|
|
2542
|
+
inverse: string;
|
|
2543
|
+
static: {
|
|
2544
|
+
light: string;
|
|
2545
|
+
dark: string;
|
|
2546
|
+
};
|
|
2547
|
+
success: {
|
|
2548
|
+
primary: string;
|
|
2549
|
+
secondary: string;
|
|
2550
|
+
};
|
|
2551
|
+
warning: {
|
|
2552
|
+
primary: string;
|
|
2553
|
+
secondary: string;
|
|
2554
|
+
};
|
|
2555
|
+
alert: {
|
|
2556
|
+
primary: string;
|
|
2557
|
+
secondary: string;
|
|
2558
|
+
};
|
|
2559
|
+
neutral: {
|
|
2560
|
+
primary: string;
|
|
2561
|
+
secondary: string;
|
|
2562
|
+
};
|
|
2563
|
+
on: {
|
|
2564
|
+
brand: string;
|
|
2565
|
+
brandExtra: string;
|
|
2566
|
+
success: string;
|
|
2567
|
+
warning: string;
|
|
2568
|
+
alert: string;
|
|
2569
|
+
neutral: string;
|
|
2570
|
+
};
|
|
2646
2571
|
};
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2572
|
+
border: {
|
|
2573
|
+
primary: string;
|
|
2574
|
+
secondary: string;
|
|
2575
|
+
brand: string;
|
|
2576
|
+
brandExtra: string;
|
|
2577
|
+
inverse: string;
|
|
2578
|
+
success: string;
|
|
2579
|
+
warning: string;
|
|
2580
|
+
alert: string;
|
|
2581
|
+
neutral: string;
|
|
2650
2582
|
};
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2583
|
+
overlay: {
|
|
2584
|
+
mono: string;
|
|
2585
|
+
brand: string;
|
|
2586
|
+
brandExtra: string;
|
|
2587
|
+
success: string;
|
|
2588
|
+
warning: string;
|
|
2589
|
+
alert: string;
|
|
2590
|
+
neutral: string;
|
|
2591
|
+
monoHover: string;
|
|
2654
2592
|
};
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2593
|
+
layer: {
|
|
2594
|
+
scrim: string;
|
|
2595
|
+
float: string;
|
|
2658
2596
|
};
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2597
|
+
control: {
|
|
2598
|
+
brand: {
|
|
2599
|
+
primary: {
|
|
2600
|
+
bg: string;
|
|
2601
|
+
bgHover: string;
|
|
2602
|
+
bgPress: string;
|
|
2603
|
+
bgDisable: string;
|
|
2604
|
+
border: string;
|
|
2605
|
+
borderHover: string;
|
|
2606
|
+
borderPress: string;
|
|
2607
|
+
borderDisable: string;
|
|
2608
|
+
};
|
|
2609
|
+
secondary: {
|
|
2610
|
+
bg: string;
|
|
2611
|
+
bgHover: string;
|
|
2612
|
+
bgPress: string;
|
|
2613
|
+
border: string;
|
|
2614
|
+
borderHover: string;
|
|
2615
|
+
borderPress: string;
|
|
2616
|
+
};
|
|
2617
|
+
tertiary: {
|
|
2618
|
+
bg: string;
|
|
2619
|
+
bgHover: string;
|
|
2620
|
+
bgPress: string;
|
|
2621
|
+
border: string;
|
|
2622
|
+
borderHover: string;
|
|
2623
|
+
borderPress: string;
|
|
2624
|
+
};
|
|
2625
|
+
text: {
|
|
2626
|
+
primary: string;
|
|
2627
|
+
secondary: string;
|
|
2628
|
+
tertiary: string;
|
|
2629
|
+
disable: string;
|
|
2630
|
+
ghost: string;
|
|
2631
|
+
};
|
|
2632
|
+
ghost: {
|
|
2633
|
+
bg: string;
|
|
2634
|
+
bgHover: string;
|
|
2635
|
+
bgPress: string;
|
|
2636
|
+
border: string;
|
|
2637
|
+
borderHover: string;
|
|
2638
|
+
borderPress: string;
|
|
2639
|
+
};
|
|
2640
|
+
};
|
|
2641
|
+
mono: {
|
|
2642
|
+
primary: {
|
|
2643
|
+
bg: string;
|
|
2644
|
+
bgHover: string;
|
|
2645
|
+
bgPress: string;
|
|
2646
|
+
border: string;
|
|
2647
|
+
borderHover: string;
|
|
2648
|
+
borderPress: string;
|
|
2649
|
+
};
|
|
2650
|
+
secondary: {
|
|
2651
|
+
bg: string;
|
|
2652
|
+
bgHover: string;
|
|
2653
|
+
bgPress: string;
|
|
2654
|
+
border: string;
|
|
2655
|
+
borderHover: string;
|
|
2656
|
+
borderPress: string;
|
|
2657
|
+
};
|
|
2658
|
+
tertiary: {
|
|
2659
|
+
bg: string;
|
|
2660
|
+
bgHover: string;
|
|
2661
|
+
bgPress: string;
|
|
2662
|
+
border: string;
|
|
2663
|
+
borderHover: string;
|
|
2664
|
+
borderPress: string;
|
|
2665
|
+
};
|
|
2666
|
+
text: {
|
|
2667
|
+
primary: string;
|
|
2668
|
+
secondary: string;
|
|
2669
|
+
tertiary: string;
|
|
2670
|
+
ghost: string;
|
|
2671
|
+
};
|
|
2672
|
+
ghost: {
|
|
2673
|
+
bg: string;
|
|
2674
|
+
bgHover: string;
|
|
2675
|
+
bgPress: string;
|
|
2676
|
+
border: string;
|
|
2677
|
+
borderHover: string;
|
|
2678
|
+
borderPress: string;
|
|
2679
|
+
};
|
|
2680
|
+
};
|
|
2681
|
+
brandExtra: {
|
|
2682
|
+
primary: {
|
|
2683
|
+
bg: string;
|
|
2684
|
+
bgHover: string;
|
|
2685
|
+
bgPress: string;
|
|
2686
|
+
border: string;
|
|
2687
|
+
borderHover: string;
|
|
2688
|
+
borderPress: string;
|
|
2689
|
+
};
|
|
2690
|
+
secondary: {
|
|
2691
|
+
bg: string;
|
|
2692
|
+
bgHover: string;
|
|
2693
|
+
bgPress: string;
|
|
2694
|
+
border: string;
|
|
2695
|
+
borderHover: string;
|
|
2696
|
+
borderPress: string;
|
|
2697
|
+
};
|
|
2698
|
+
tertiary: {
|
|
2699
|
+
bg: string;
|
|
2700
|
+
bgHover: string;
|
|
2701
|
+
bgPress: string;
|
|
2702
|
+
border: string;
|
|
2703
|
+
borderHover: string;
|
|
2704
|
+
borderPress: string;
|
|
2705
|
+
};
|
|
2706
|
+
text: {
|
|
2707
|
+
primary: string;
|
|
2708
|
+
secondary: string;
|
|
2709
|
+
tertiary: string;
|
|
2710
|
+
ghost: string;
|
|
2711
|
+
};
|
|
2712
|
+
ghost: {
|
|
2713
|
+
bg: string;
|
|
2714
|
+
bgHover: string;
|
|
2715
|
+
bgPress: string;
|
|
2716
|
+
border: string;
|
|
2717
|
+
borderHover: string;
|
|
2718
|
+
borderPress: string;
|
|
2719
|
+
};
|
|
2720
|
+
};
|
|
2721
|
+
alert: {
|
|
2722
|
+
bg: string;
|
|
2723
|
+
border: string;
|
|
2724
|
+
primary: {
|
|
2725
|
+
bg: string;
|
|
2726
|
+
bgHover: string;
|
|
2727
|
+
bgPress: string;
|
|
2728
|
+
border: string;
|
|
2729
|
+
borderHover: string;
|
|
2730
|
+
borderPress: string;
|
|
2731
|
+
};
|
|
2732
|
+
secondary: {
|
|
2733
|
+
bg: string;
|
|
2734
|
+
bgHover: string;
|
|
2735
|
+
bgPress: string;
|
|
2736
|
+
border: string;
|
|
2737
|
+
borderHover: string;
|
|
2738
|
+
borderPress: string;
|
|
2739
|
+
};
|
|
2740
|
+
tertiary: {
|
|
2741
|
+
bg: string;
|
|
2742
|
+
bgHover: string;
|
|
2743
|
+
bgPress: string;
|
|
2744
|
+
border: string;
|
|
2745
|
+
borderHover: string;
|
|
2746
|
+
borderPress: string;
|
|
2747
|
+
};
|
|
2748
|
+
text: {
|
|
2749
|
+
primary: string;
|
|
2750
|
+
secondary: string;
|
|
2751
|
+
tertiary: string;
|
|
2752
|
+
ghost: string;
|
|
2753
|
+
};
|
|
2754
|
+
ghost: {
|
|
2755
|
+
bg: string;
|
|
2756
|
+
bgHover: string;
|
|
2757
|
+
bgPress: string;
|
|
2758
|
+
border: string;
|
|
2759
|
+
borderHover: string;
|
|
2760
|
+
borderPress: string;
|
|
2761
|
+
};
|
|
2762
|
+
};
|
|
2763
|
+
input: {
|
|
2764
|
+
bg: string;
|
|
2765
|
+
bgHover: string;
|
|
2766
|
+
bgDisable: string;
|
|
2767
|
+
border: string;
|
|
2768
|
+
borderHover: string;
|
|
2769
|
+
borderDisable: string;
|
|
2770
|
+
text: string;
|
|
2771
|
+
placeholder: string;
|
|
2772
|
+
textDisable: string;
|
|
2773
|
+
};
|
|
2774
|
+
focus: {
|
|
2775
|
+
bg: string;
|
|
2776
|
+
border: string;
|
|
2777
|
+
};
|
|
2778
|
+
check: {
|
|
2779
|
+
bg: string;
|
|
2780
|
+
bgHover: string;
|
|
2781
|
+
bgDisable: string;
|
|
2782
|
+
border: string;
|
|
2783
|
+
borderHover: string;
|
|
2784
|
+
borderDisable: string;
|
|
2785
|
+
icon: string;
|
|
2786
|
+
};
|
|
2787
|
+
faint: {
|
|
2788
|
+
bg: string;
|
|
2789
|
+
bgHover: string;
|
|
2790
|
+
border: string;
|
|
2791
|
+
borderHover: string;
|
|
2792
|
+
};
|
|
2793
|
+
slider: {
|
|
2794
|
+
bg: string;
|
|
2795
|
+
bgHover: string;
|
|
2796
|
+
bgDisable: string;
|
|
2797
|
+
};
|
|
2798
|
+
switch: {
|
|
2799
|
+
bg: string;
|
|
2800
|
+
bgHover: string;
|
|
2801
|
+
bgDisable: string;
|
|
2802
|
+
border: string;
|
|
2803
|
+
borderHover: string;
|
|
2804
|
+
borderDisable: string;
|
|
2805
|
+
};
|
|
2806
|
+
knob: {
|
|
2807
|
+
bg: string;
|
|
2808
|
+
bgHover: string;
|
|
2809
|
+
bgActive: string;
|
|
2810
|
+
bgActiveHover: string;
|
|
2811
|
+
bgInactive: string;
|
|
2812
|
+
bgInactiveHover: string;
|
|
2813
|
+
bgDisable: string;
|
|
2814
|
+
};
|
|
2815
|
+
text: {
|
|
2816
|
+
primary: string;
|
|
2817
|
+
disable: string;
|
|
2818
|
+
};
|
|
2819
|
+
link: {
|
|
2820
|
+
primary: string;
|
|
2821
|
+
primaryHover: string;
|
|
2822
|
+
secondary: string;
|
|
2823
|
+
secondaryHover: string;
|
|
2824
|
+
};
|
|
2825
|
+
segmented: {
|
|
2826
|
+
bg: string;
|
|
2827
|
+
bgHover: string;
|
|
2828
|
+
bgActive: string;
|
|
2829
|
+
border: string;
|
|
2830
|
+
borderHover: string;
|
|
2831
|
+
borderActive: string;
|
|
2832
|
+
text: string;
|
|
2833
|
+
textDisable: string;
|
|
2834
|
+
};
|
|
2835
|
+
tagLabel: {
|
|
2836
|
+
product: {
|
|
2837
|
+
bg: string;
|
|
2838
|
+
text: string;
|
|
2839
|
+
textCompact: string;
|
|
2840
|
+
};
|
|
2841
|
+
rarity: {
|
|
2842
|
+
bg: string;
|
|
2843
|
+
text: string;
|
|
2844
|
+
};
|
|
2845
|
+
name: {
|
|
2846
|
+
bg: string;
|
|
2847
|
+
text: string;
|
|
2848
|
+
};
|
|
2849
|
+
account: {
|
|
2850
|
+
bg: string;
|
|
2851
|
+
text: string;
|
|
2852
|
+
textCompact: string;
|
|
2853
|
+
};
|
|
2854
|
+
id: {
|
|
2855
|
+
bg: string;
|
|
2856
|
+
bgSeries: string;
|
|
2857
|
+
textSeries: string;
|
|
2858
|
+
textNumber: string;
|
|
2859
|
+
textCompact: string;
|
|
2860
|
+
};
|
|
2861
|
+
subentity: {
|
|
2862
|
+
bg: string;
|
|
2863
|
+
text: string;
|
|
2864
|
+
};
|
|
2865
|
+
item: {
|
|
2866
|
+
bg: string;
|
|
2867
|
+
text: string;
|
|
2868
|
+
textCompact: string;
|
|
2869
|
+
};
|
|
2870
|
+
};
|
|
2871
|
+
toast: {
|
|
2872
|
+
bg: string;
|
|
2873
|
+
};
|
|
2874
|
+
toggleButton: {
|
|
2875
|
+
bg: string;
|
|
2876
|
+
bgHover: string;
|
|
2877
|
+
bgActive: string;
|
|
2878
|
+
bgDisable: string;
|
|
2879
|
+
border: string;
|
|
2880
|
+
borderHover: string;
|
|
2881
|
+
borderActive: string;
|
|
2882
|
+
borderDisable: string;
|
|
2883
|
+
text: string;
|
|
2884
|
+
textActive: string;
|
|
2885
|
+
textDisable: string;
|
|
2886
|
+
};
|
|
2887
|
+
appButton: {
|
|
2888
|
+
bg: string;
|
|
2889
|
+
bgHover: string;
|
|
2890
|
+
bgPress: string;
|
|
2891
|
+
border: string;
|
|
2892
|
+
borderHover: string;
|
|
2893
|
+
borderPress: string;
|
|
2894
|
+
text: string;
|
|
2895
|
+
textDisable: string;
|
|
2896
|
+
};
|
|
2897
|
+
};
|
|
2898
|
+
};
|
|
2899
|
+
};
|
|
2900
|
+
type ThemeColors = typeof pentagramDark;
|
|
2901
|
+
|
|
2902
|
+
declare const spacing: {
|
|
2903
|
+
xs: number;
|
|
2904
|
+
s: number;
|
|
2905
|
+
m: number;
|
|
2906
|
+
l: number;
|
|
2907
|
+
xl: number;
|
|
2908
|
+
};
|
|
2909
|
+
declare const radius: {
|
|
2910
|
+
button: number;
|
|
2911
|
+
card: number;
|
|
2912
|
+
contextMenu: number;
|
|
2913
|
+
input: number;
|
|
2914
|
+
tagSmall: number;
|
|
2915
|
+
tagMedium: number;
|
|
2916
|
+
tagLarge: number;
|
|
2917
|
+
avatarSmall: number;
|
|
2918
|
+
avatarLarge: number;
|
|
2919
|
+
avatarCircle: number;
|
|
2920
|
+
};
|
|
2921
|
+
/** Primitive radius scale. Mirrors Figma "Scale / radius/*" variables. */
|
|
2922
|
+
declare const radiusScale: {
|
|
2923
|
+
readonly "25": 2;
|
|
2924
|
+
readonly "50": 4;
|
|
2925
|
+
readonly "75": 6;
|
|
2926
|
+
readonly "100": 8;
|
|
2927
|
+
readonly "150": 12;
|
|
2928
|
+
readonly "200": 16;
|
|
2929
|
+
readonly "250": 20;
|
|
2930
|
+
readonly "300": 24;
|
|
2931
|
+
readonly "350": 28;
|
|
2932
|
+
readonly "400": 32;
|
|
2933
|
+
readonly "999": 999;
|
|
2934
|
+
};
|
|
2935
|
+
/** Primitive border-width scale. Mirrors Figma "Scale / stroke/*" variables. */
|
|
2936
|
+
declare const stroke: {
|
|
2937
|
+
readonly "1": 1;
|
|
2938
|
+
readonly "2": 2;
|
|
2939
|
+
readonly "3": 3;
|
|
2940
|
+
};
|
|
2941
|
+
|
|
2942
|
+
/**
|
|
2943
|
+
* Semantic shape tokens. Mirrors Figma "Theme / Shape" variable collection,
|
|
2944
|
+
* Xsolla Default mode. Values alias into the radiusScale and stroke primitives.
|
|
2945
|
+
*/
|
|
2946
|
+
declare const shape: {
|
|
2947
|
+
readonly button: {
|
|
2948
|
+
readonly xl: {
|
|
2949
|
+
readonly borderRadius: 8;
|
|
2950
|
+
readonly borderWidth: 1;
|
|
2951
|
+
};
|
|
2952
|
+
readonly lg: {
|
|
2953
|
+
readonly borderRadius: 8;
|
|
2954
|
+
readonly borderWidth: 1;
|
|
2955
|
+
};
|
|
2956
|
+
readonly md: {
|
|
2957
|
+
readonly borderRadius: 6;
|
|
2958
|
+
readonly borderWidth: 1;
|
|
2959
|
+
};
|
|
2960
|
+
readonly sm: {
|
|
2961
|
+
readonly borderRadius: 4;
|
|
2962
|
+
readonly borderWidth: 1;
|
|
2963
|
+
};
|
|
2964
|
+
readonly xs: {
|
|
2965
|
+
readonly borderRadius: 4;
|
|
2966
|
+
readonly borderWidth: 1;
|
|
2967
|
+
};
|
|
2968
|
+
};
|
|
2969
|
+
readonly checkbox: {
|
|
2970
|
+
readonly xl: {
|
|
2971
|
+
readonly borderRadius: 4;
|
|
2972
|
+
readonly borderWidth: 1;
|
|
2973
|
+
};
|
|
2974
|
+
readonly lg: {
|
|
2975
|
+
readonly borderRadius: 4;
|
|
2976
|
+
readonly borderWidth: 1;
|
|
2977
|
+
};
|
|
2978
|
+
readonly md: {
|
|
2979
|
+
readonly borderRadius: 4;
|
|
2980
|
+
readonly borderWidth: 1;
|
|
2981
|
+
};
|
|
2982
|
+
readonly sm: {
|
|
2983
|
+
readonly borderRadius: 4;
|
|
2984
|
+
readonly borderWidth: 1;
|
|
2985
|
+
};
|
|
2986
|
+
};
|
|
2987
|
+
readonly input: {
|
|
2988
|
+
readonly xl: {
|
|
2989
|
+
readonly borderRadius: 8;
|
|
2990
|
+
readonly borderWidth: 1;
|
|
2991
|
+
};
|
|
2992
|
+
readonly lg: {
|
|
2993
|
+
readonly borderRadius: 8;
|
|
2994
|
+
readonly borderWidth: 1;
|
|
2995
|
+
};
|
|
2996
|
+
readonly md: {
|
|
2997
|
+
readonly borderRadius: 8;
|
|
2998
|
+
readonly borderWidth: 1;
|
|
2999
|
+
};
|
|
3000
|
+
readonly sm: {
|
|
3001
|
+
readonly borderRadius: 4;
|
|
3002
|
+
readonly borderWidth: 1;
|
|
3003
|
+
};
|
|
3004
|
+
readonly xs: {
|
|
3005
|
+
readonly borderRadius: 4;
|
|
3006
|
+
readonly borderWidth: 1;
|
|
3007
|
+
};
|
|
3008
|
+
};
|
|
3009
|
+
readonly segmented: {
|
|
3010
|
+
readonly xl: {
|
|
3011
|
+
readonly borderRadius: 8;
|
|
3012
|
+
readonly borderWidth: 1;
|
|
3013
|
+
};
|
|
3014
|
+
readonly lg: {
|
|
3015
|
+
readonly borderRadius: 8;
|
|
3016
|
+
readonly borderWidth: 1;
|
|
3017
|
+
};
|
|
3018
|
+
readonly md: {
|
|
3019
|
+
readonly borderRadius: 8;
|
|
3020
|
+
readonly borderWidth: 1;
|
|
3021
|
+
};
|
|
3022
|
+
readonly sm: {
|
|
3023
|
+
readonly borderRadius: 4;
|
|
3024
|
+
readonly borderWidth: 1;
|
|
3025
|
+
};
|
|
3026
|
+
};
|
|
3027
|
+
readonly segmentedItem: {
|
|
3028
|
+
readonly xl: {
|
|
3029
|
+
readonly borderRadius: 4;
|
|
3030
|
+
readonly borderWidth: 1;
|
|
3031
|
+
};
|
|
3032
|
+
readonly lg: {
|
|
3033
|
+
readonly borderRadius: 4;
|
|
3034
|
+
readonly borderWidth: 1;
|
|
3035
|
+
};
|
|
3036
|
+
readonly md: {
|
|
3037
|
+
readonly borderRadius: 4;
|
|
3038
|
+
readonly borderWidth: 1;
|
|
3039
|
+
};
|
|
3040
|
+
readonly sm: {
|
|
3041
|
+
readonly borderRadius: 2;
|
|
3042
|
+
readonly borderWidth: 1;
|
|
3043
|
+
};
|
|
3044
|
+
};
|
|
3045
|
+
readonly switch: {
|
|
3046
|
+
readonly xl: {
|
|
3047
|
+
readonly borderRadius: 4;
|
|
3048
|
+
readonly borderWidth: 1;
|
|
3049
|
+
};
|
|
3050
|
+
readonly lg: {
|
|
3051
|
+
readonly borderRadius: 4;
|
|
3052
|
+
readonly borderWidth: 1;
|
|
3053
|
+
};
|
|
3054
|
+
readonly md: {
|
|
3055
|
+
readonly borderRadius: 4;
|
|
3056
|
+
readonly borderWidth: 1;
|
|
3057
|
+
};
|
|
3058
|
+
readonly sm: {
|
|
3059
|
+
readonly borderRadius: 4;
|
|
3060
|
+
readonly borderWidth: 1;
|
|
3061
|
+
};
|
|
3062
|
+
};
|
|
3063
|
+
readonly knob: {
|
|
3064
|
+
readonly xl: {
|
|
2662
3065
|
readonly borderRadius: 2;
|
|
2663
3066
|
};
|
|
2664
3067
|
readonly lg: {
|
|
@@ -2791,216 +3194,618 @@ declare const shape: {
|
|
|
2791
3194
|
readonly toast: {
|
|
2792
3195
|
readonly borderRadius: 4;
|
|
2793
3196
|
};
|
|
2794
|
-
readonly toggleButtonGroup: {
|
|
2795
|
-
readonly xl: {
|
|
2796
|
-
readonly borderRadius: 8;
|
|
2797
|
-
readonly borderWidth: 1;
|
|
3197
|
+
readonly toggleButtonGroup: {
|
|
3198
|
+
readonly xl: {
|
|
3199
|
+
readonly borderRadius: 8;
|
|
3200
|
+
readonly borderWidth: 1;
|
|
3201
|
+
};
|
|
3202
|
+
readonly lg: {
|
|
3203
|
+
readonly borderRadius: 8;
|
|
3204
|
+
readonly borderWidth: 1;
|
|
3205
|
+
};
|
|
3206
|
+
readonly md: {
|
|
3207
|
+
readonly borderRadius: 6;
|
|
3208
|
+
readonly borderWidth: 1;
|
|
3209
|
+
};
|
|
3210
|
+
readonly sm: {
|
|
3211
|
+
readonly borderRadius: 4;
|
|
3212
|
+
readonly borderWidth: 1;
|
|
3213
|
+
};
|
|
3214
|
+
readonly xs: {
|
|
3215
|
+
readonly borderRadius: 4;
|
|
3216
|
+
readonly borderWidth: 1;
|
|
3217
|
+
};
|
|
3218
|
+
};
|
|
3219
|
+
readonly tagLabel: {
|
|
3220
|
+
readonly borderRadius: 0;
|
|
3221
|
+
};
|
|
3222
|
+
};
|
|
3223
|
+
|
|
3224
|
+
declare const shadow: {
|
|
3225
|
+
active: string;
|
|
3226
|
+
surface: string;
|
|
3227
|
+
surfaceHover: string;
|
|
3228
|
+
popover: string;
|
|
3229
|
+
modal: string;
|
|
3230
|
+
contextMenu: string;
|
|
3231
|
+
};
|
|
3232
|
+
|
|
3233
|
+
/**
|
|
3234
|
+
* Font family definitions per ProductContext.
|
|
3235
|
+
*
|
|
3236
|
+
* Figma "Font" variable collection defines 3 roles:
|
|
3237
|
+
* - display: heading/display font (Pilat or Pilat Wide)
|
|
3238
|
+
* - compact: body/UI font (Aktiv Grotesk or Montserrat)
|
|
3239
|
+
* - text: paragraph/reading font (same families as compact)
|
|
3240
|
+
*
|
|
3241
|
+
* The `heading` and `body` exports map to these Figma roles:
|
|
3242
|
+
* heading → display
|
|
3243
|
+
* body → compact (also used for text contexts)
|
|
3244
|
+
*/
|
|
3245
|
+
|
|
3246
|
+
/** Static fonts object (defaults to B2B for backwards compatibility) */
|
|
3247
|
+
declare const fonts: {
|
|
3248
|
+
heading: string;
|
|
3249
|
+
body: string;
|
|
3250
|
+
/** Paragraph/reading font — same families as body */
|
|
3251
|
+
text: string;
|
|
3252
|
+
/** @deprecated Use `heading` or `body` instead */
|
|
3253
|
+
primary: string;
|
|
3254
|
+
};
|
|
3255
|
+
/** Returns context-aware font families */
|
|
3256
|
+
declare const getFonts: (productContext?: ProductContext) => {
|
|
3257
|
+
heading: string;
|
|
3258
|
+
body: string;
|
|
3259
|
+
/** Paragraph/reading font — same families as body */
|
|
3260
|
+
text: string;
|
|
3261
|
+
/** @deprecated Use `heading` or `body` instead */
|
|
3262
|
+
primary: string;
|
|
3263
|
+
};
|
|
3264
|
+
declare const typography: {
|
|
3265
|
+
button: {
|
|
3266
|
+
fontFamily: string;
|
|
3267
|
+
fontWeight: string;
|
|
3268
|
+
};
|
|
3269
|
+
};
|
|
3270
|
+
|
|
3271
|
+
/**
|
|
3272
|
+
* Responsive breakpoint definitions for the design system.
|
|
3273
|
+
*
|
|
3274
|
+
* Derived from the Figma "Responsive / Typography" variable collection,
|
|
3275
|
+
* which has three modes: Common, Mobile, Desktop.
|
|
3276
|
+
* Common and Desktop share identical values; Mobile scales down.
|
|
3277
|
+
*
|
|
3278
|
+
* Usage (CSS):
|
|
3279
|
+
* @media (max-width: 767px) { ... } // Mobile
|
|
3280
|
+
* @media (min-width: 768px) { ... } // Desktop
|
|
3281
|
+
*
|
|
3282
|
+
* Usage (JS):
|
|
3283
|
+
* import { breakpoints } from '@xsolla/xui-core';
|
|
3284
|
+
* const isMobile = window.innerWidth < breakpoints.desktop;
|
|
3285
|
+
*/
|
|
3286
|
+
declare const breakpoints: {
|
|
3287
|
+
/** Mobile: 0 – 767px */
|
|
3288
|
+
readonly mobile: 0;
|
|
3289
|
+
/** Desktop: 768px and above */
|
|
3290
|
+
readonly desktop: 768;
|
|
3291
|
+
};
|
|
3292
|
+
type BreakpointKey = keyof typeof breakpoints;
|
|
3293
|
+
/**
|
|
3294
|
+
* Max-width media query value for targeting mobile devices.
|
|
3295
|
+
* Use in CSS: `@media (max-width: ${MOBILE_MAX_WIDTH}px)`
|
|
3296
|
+
*/
|
|
3297
|
+
declare const MOBILE_MAX_WIDTH: number;
|
|
3298
|
+
|
|
3299
|
+
/**
|
|
3300
|
+
* Responsive typography scale tokens sourced from the Figma
|
|
3301
|
+
* "Responsive / Typography" variable collection.
|
|
3302
|
+
*
|
|
3303
|
+
* Three device modes: Common (default), Mobile, Desktop.
|
|
3304
|
+
* Common and Desktop have identical values. Mobile scales down.
|
|
3305
|
+
*
|
|
3306
|
+
* These are the raw building blocks. Semantic tokens in typography.ts
|
|
3307
|
+
* alias into this scale (e.g., B2B heading/h1/font-size → font-size/650).
|
|
3308
|
+
*
|
|
3309
|
+
* On web, these are injected as CSS custom properties (--xui-font-size-*, --xui-lh-*)
|
|
3310
|
+
* with @media overrides for mobile. Components consume a single CSS variable
|
|
3311
|
+
* and scale automatically by viewport.
|
|
3312
|
+
*
|
|
3313
|
+
* @see {@link ../styles/typography-css.ts} for CSS generation
|
|
3314
|
+
* @see {@link ./breakpoints.ts} for breakpoint definitions
|
|
3315
|
+
*/
|
|
3316
|
+
interface ResponsiveValue {
|
|
3317
|
+
common: number;
|
|
3318
|
+
mobile: number;
|
|
3319
|
+
desktop: number;
|
|
3320
|
+
}
|
|
3321
|
+
type ScaleStep = "75" | "100" | "125" | "150" | "175" | "200" | "250" | "300" | "350" | "450" | "550" | "650" | "750";
|
|
3322
|
+
declare const SCALE_STEPS: ScaleStep[];
|
|
3323
|
+
/** Font-size scale: 13 steps from 10px to 64px (desktop) */
|
|
3324
|
+
declare const fontSize: Record<ScaleStep, ResponsiveValue>;
|
|
3325
|
+
/** Line-height/display: tight line-heights for headings (roughly 1:1 with font-size) */
|
|
3326
|
+
declare const lineHeightDisplay: Record<ScaleStep, ResponsiveValue>;
|
|
3327
|
+
/** Line-height/compact: moderate line-heights for UI body text */
|
|
3328
|
+
declare const lineHeightCompact: Record<ScaleStep, ResponsiveValue>;
|
|
3329
|
+
/** Line-height/text: generous line-heights for paragraphs and reading text */
|
|
3330
|
+
declare const lineHeightText: Record<ScaleStep, ResponsiveValue>;
|
|
3331
|
+
declare const responsiveTypographyScale: {
|
|
3332
|
+
readonly fontSize: Record<ScaleStep, ResponsiveValue>;
|
|
3333
|
+
readonly lineHeightDisplay: Record<ScaleStep, ResponsiveValue>;
|
|
3334
|
+
readonly lineHeightCompact: Record<ScaleStep, ResponsiveValue>;
|
|
3335
|
+
readonly lineHeightText: Record<ScaleStep, ResponsiveValue>;
|
|
3336
|
+
};
|
|
3337
|
+
|
|
3338
|
+
declare const isWeb: boolean;
|
|
3339
|
+
declare const isNative: boolean;
|
|
3340
|
+
declare const isIOS: boolean;
|
|
3341
|
+
declare const isAndroid: boolean;
|
|
3342
|
+
|
|
3343
|
+
/**
|
|
3344
|
+
* React component that loads the toolkit's font-face declarations.
|
|
3345
|
+
* Drop-in for any framework — works in Next.js, Vite, CRA, etc.
|
|
3346
|
+
*
|
|
3347
|
+
* Renders nothing to the DOM. Injects a single `<style>` tag into `<head>` on mount.
|
|
3348
|
+
*/
|
|
3349
|
+
declare const FontLoader: React.FC;
|
|
3350
|
+
|
|
3351
|
+
/**
|
|
3352
|
+
* @font-face CSS for all toolkit fonts, loaded from Xsolla CDN.
|
|
3353
|
+
*
|
|
3354
|
+
* Pilat Wide — B2C heading/display font, registered at weights 400, 600, 700, 800.
|
|
3355
|
+
*
|
|
3356
|
+
* Pilat — B2B heading/display font, registered at weights 300, 400, 600, 700, 800.
|
|
3357
|
+
*
|
|
3358
|
+
* Aktiv Grotesk — body font for all contexts,
|
|
3359
|
+
* mapped from the Sharp Grotesk CDN files (same typeface under a legacy name).
|
|
3360
|
+
* Registered at weights 300, 400, 500, 600, 700.
|
|
3361
|
+
*/
|
|
3362
|
+
declare const fontFacesCSS = "\n /* \u2500\u2500 Pilat Wide (B2C headings) \u2500\u2500 */\n\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Medium_/Pilat_Test_Medium.ttf') format('truetype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Demi_Bold_bee67c470a/Pilat_Test_Demi_Bold_bee67c470a.ttf') format('truetype');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_b12b40d234/Pilat_Test_Bold_b12b40d234.ttf') format('truetype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Heavy_2885678ca4/Pilat_Test_Heavy_2885678ca4.otf') format('opentype');\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n }\n\n /* \u2500\u2500 Pilat (B2B headings) \u2500\u2500 */\n\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/55a03110b2400b778d485de2c8d064c0.woff2') format('woff2');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/e968c9cc76e48ff6111c90534549bbf9.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/ed4fe74e88aaacc6978f06a862e75b08.woff2') format('woff2');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/7450f429979af7eaa8fa4d4d91cee927.woff2') format('woff2');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/218d647ff7690c1e312f6943e29af375.woff2') format('woff2');\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n }\n\n /* \u2500\u2500 Aktiv Grotesk (body) \u2014 served from Sharp Grotesk CDN files \u2500\u2500 */\n\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Light_c4650750bb/Pilat_Test_Light_c4650750bb.otf') format('opentype');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Book_5cb49cd592/Pilat_Test_Book_5cb49cd592.otf') format('opentype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Demi_e9bed59107/Pilat_Test_Demi_e9bed59107.otf') format('opentype');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_195d1b44fa/Pilat_Test_Bold_195d1b44fa.otf') format('opentype');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_195d1b44fa/Pilat_Test_Bold_195d1b44fa.otf') format('opentype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n";
|
|
3363
|
+
|
|
3364
|
+
declare const TypographyStyleLoader: React.FC;
|
|
3365
|
+
|
|
3366
|
+
/**
|
|
3367
|
+
* Generates the CSS custom properties string for responsive typography.
|
|
3368
|
+
*
|
|
3369
|
+
* Produces two blocks:
|
|
3370
|
+
* 1. :root — Desktop/Common values (the default)
|
|
3371
|
+
* 2. @media (max-width: 767px) :root — Mobile overrides
|
|
3372
|
+
*
|
|
3373
|
+
* CSS variable naming convention (mirrors Figma variable names):
|
|
3374
|
+
* --xui-font-size-{step} → e.g. --xui-font-size-150: 16px
|
|
3375
|
+
* --xui-lh-display-{step} → e.g. --xui-lh-display-150: 16px
|
|
3376
|
+
* --xui-lh-compact-{step} → e.g. --xui-lh-compact-150: 20px
|
|
3377
|
+
* --xui-lh-text-{step} → e.g. --xui-lh-text-150: 22px
|
|
3378
|
+
*
|
|
3379
|
+
* Consumers can use these in CSS or styled-components:
|
|
3380
|
+
* font-size: var(--xui-font-size-350);
|
|
3381
|
+
* line-height: var(--xui-lh-compact-350);
|
|
3382
|
+
*
|
|
3383
|
+
* @see {@link ../tokens/responsive-typography.ts} for raw token data
|
|
3384
|
+
* @see {@link ../tokens/breakpoints.ts} for breakpoint definitions
|
|
3385
|
+
*/
|
|
3386
|
+
/**
|
|
3387
|
+
* Returns the full CSS string for responsive typography custom properties.
|
|
3388
|
+
* The result is memoized — safe to call multiple times.
|
|
3389
|
+
*/
|
|
3390
|
+
declare function generateTypographyCSS(): string;
|
|
3391
|
+
/**
|
|
3392
|
+
* Returns the CSS variable name for a given font-size scale step.
|
|
3393
|
+
* Useful when the Typography component needs to reference a CSS variable.
|
|
3394
|
+
*
|
|
3395
|
+
* @example cssVar.fontSize("350") → "var(--xui-font-size-350)"
|
|
3396
|
+
*/
|
|
3397
|
+
declare const cssVar: {
|
|
3398
|
+
readonly fontSize: (step: string) => string;
|
|
3399
|
+
readonly lhDisplay: (step: string) => string;
|
|
3400
|
+
readonly lhCompact: (step: string) => string;
|
|
3401
|
+
readonly lhText: (step: string) => string;
|
|
3402
|
+
};
|
|
3403
|
+
|
|
3404
|
+
type ThemeMode = "dark" | "light" | "pentagram-dark" | "pentagram-light" | "ltg-dark" | "blueprints";
|
|
3405
|
+
declare const themeConfig: (mode?: ThemeMode, productContext?: ProductContext) => {
|
|
3406
|
+
colors: {
|
|
3407
|
+
background: {
|
|
3408
|
+
primary: string;
|
|
3409
|
+
secondary: string;
|
|
3410
|
+
brand: {
|
|
3411
|
+
primary: string;
|
|
3412
|
+
secondary: string;
|
|
3413
|
+
};
|
|
3414
|
+
brandExtra: {
|
|
3415
|
+
primary: string;
|
|
3416
|
+
secondary: string;
|
|
3417
|
+
};
|
|
3418
|
+
inverse: string;
|
|
3419
|
+
static: {
|
|
3420
|
+
dark: string;
|
|
3421
|
+
light: string;
|
|
3422
|
+
};
|
|
3423
|
+
success: {
|
|
3424
|
+
primary: string;
|
|
3425
|
+
secondary: string;
|
|
3426
|
+
};
|
|
3427
|
+
warning: {
|
|
3428
|
+
primary: string;
|
|
3429
|
+
secondary: string;
|
|
3430
|
+
};
|
|
3431
|
+
alert: {
|
|
3432
|
+
primary: string;
|
|
3433
|
+
secondary: string;
|
|
3434
|
+
};
|
|
3435
|
+
neutral: {
|
|
3436
|
+
primary: string;
|
|
3437
|
+
secondary: string;
|
|
3438
|
+
};
|
|
2798
3439
|
};
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
3440
|
+
content: {
|
|
3441
|
+
primary: string;
|
|
3442
|
+
secondary: string;
|
|
3443
|
+
tertiary: string;
|
|
3444
|
+
brand: {
|
|
3445
|
+
primary: string;
|
|
3446
|
+
secondary: string;
|
|
3447
|
+
};
|
|
3448
|
+
brandExtra: {
|
|
3449
|
+
primary: string;
|
|
3450
|
+
secondary: string;
|
|
3451
|
+
};
|
|
3452
|
+
inverse: string;
|
|
3453
|
+
static: {
|
|
3454
|
+
light: string;
|
|
3455
|
+
dark: string;
|
|
3456
|
+
};
|
|
3457
|
+
success: {
|
|
3458
|
+
primary: string;
|
|
3459
|
+
secondary: string;
|
|
3460
|
+
};
|
|
3461
|
+
warning: {
|
|
3462
|
+
primary: string;
|
|
3463
|
+
secondary: string;
|
|
3464
|
+
};
|
|
3465
|
+
alert: {
|
|
3466
|
+
primary: string;
|
|
3467
|
+
secondary: string;
|
|
3468
|
+
};
|
|
3469
|
+
neutral: {
|
|
3470
|
+
primary: string;
|
|
3471
|
+
secondary: string;
|
|
3472
|
+
};
|
|
3473
|
+
on: {
|
|
3474
|
+
brand: string;
|
|
3475
|
+
brandExtra: string;
|
|
3476
|
+
success: string;
|
|
3477
|
+
warning: string;
|
|
3478
|
+
alert: string;
|
|
3479
|
+
neutral: string;
|
|
3480
|
+
};
|
|
2802
3481
|
};
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
3482
|
+
border: {
|
|
3483
|
+
primary: string;
|
|
3484
|
+
secondary: string;
|
|
3485
|
+
brand: string;
|
|
3486
|
+
brandExtra: string;
|
|
3487
|
+
inverse: string;
|
|
3488
|
+
success: string;
|
|
3489
|
+
warning: string;
|
|
3490
|
+
alert: string;
|
|
3491
|
+
neutral: string;
|
|
3492
|
+
};
|
|
3493
|
+
overlay: {
|
|
3494
|
+
mono: string;
|
|
3495
|
+
brand: string;
|
|
3496
|
+
brandExtra: string;
|
|
3497
|
+
success: string;
|
|
3498
|
+
warning: string;
|
|
3499
|
+
alert: string;
|
|
3500
|
+
neutral: string;
|
|
3501
|
+
monoHover: string;
|
|
2806
3502
|
};
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
3503
|
+
layer: {
|
|
3504
|
+
scrim: string;
|
|
3505
|
+
float: string;
|
|
2810
3506
|
};
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
3507
|
+
control: {
|
|
3508
|
+
brand: {
|
|
3509
|
+
primary: {
|
|
3510
|
+
bg: string;
|
|
3511
|
+
bgHover: string;
|
|
3512
|
+
bgPress: string;
|
|
3513
|
+
bgDisable: string;
|
|
3514
|
+
border: string;
|
|
3515
|
+
borderHover: string;
|
|
3516
|
+
borderPress: string;
|
|
3517
|
+
borderDisable: string;
|
|
3518
|
+
};
|
|
3519
|
+
secondary: {
|
|
3520
|
+
bg: string;
|
|
3521
|
+
bgHover: string;
|
|
3522
|
+
bgPress: string;
|
|
3523
|
+
border: string;
|
|
3524
|
+
borderHover: string;
|
|
3525
|
+
borderPress: string;
|
|
3526
|
+
};
|
|
3527
|
+
tertiary: {
|
|
3528
|
+
bg: string;
|
|
3529
|
+
bgHover: string;
|
|
3530
|
+
bgPress: string;
|
|
3531
|
+
border: string;
|
|
3532
|
+
borderHover: string;
|
|
3533
|
+
borderPress: string;
|
|
3534
|
+
};
|
|
3535
|
+
text: {
|
|
3536
|
+
primary: string;
|
|
3537
|
+
secondary: string;
|
|
3538
|
+
tertiary: string;
|
|
3539
|
+
disable: string;
|
|
3540
|
+
ghost: string;
|
|
3541
|
+
};
|
|
3542
|
+
ghost: {
|
|
3543
|
+
bg: string;
|
|
3544
|
+
bgHover: string;
|
|
3545
|
+
bgPress: string;
|
|
3546
|
+
border: string;
|
|
3547
|
+
borderHover: string;
|
|
3548
|
+
borderPress: string;
|
|
3549
|
+
};
|
|
3550
|
+
};
|
|
3551
|
+
mono: {
|
|
3552
|
+
primary: {
|
|
3553
|
+
bg: string;
|
|
3554
|
+
bgHover: string;
|
|
3555
|
+
bgPress: string;
|
|
3556
|
+
border: string;
|
|
3557
|
+
borderHover: string;
|
|
3558
|
+
borderPress: string;
|
|
3559
|
+
};
|
|
3560
|
+
secondary: {
|
|
3561
|
+
bg: string;
|
|
3562
|
+
bgHover: string;
|
|
3563
|
+
bgPress: string;
|
|
3564
|
+
border: string;
|
|
3565
|
+
borderHover: string;
|
|
3566
|
+
borderPress: string;
|
|
3567
|
+
};
|
|
3568
|
+
tertiary: {
|
|
3569
|
+
bg: string;
|
|
3570
|
+
bgHover: string;
|
|
3571
|
+
bgPress: string;
|
|
3572
|
+
border: string;
|
|
3573
|
+
borderHover: string;
|
|
3574
|
+
borderPress: string;
|
|
3575
|
+
};
|
|
3576
|
+
text: {
|
|
3577
|
+
primary: string;
|
|
3578
|
+
secondary: string;
|
|
3579
|
+
tertiary: string;
|
|
3580
|
+
ghost: string;
|
|
3581
|
+
};
|
|
3582
|
+
ghost: {
|
|
3583
|
+
bg: string;
|
|
3584
|
+
bgHover: string;
|
|
3585
|
+
bgPress: string;
|
|
3586
|
+
border: string;
|
|
3587
|
+
borderHover: string;
|
|
3588
|
+
borderPress: string;
|
|
3589
|
+
};
|
|
3590
|
+
};
|
|
3591
|
+
brandExtra: {
|
|
3592
|
+
primary: {
|
|
3593
|
+
bg: string;
|
|
3594
|
+
bgHover: string;
|
|
3595
|
+
bgPress: string;
|
|
3596
|
+
border: string;
|
|
3597
|
+
borderHover: string;
|
|
3598
|
+
borderPress: string;
|
|
3599
|
+
};
|
|
3600
|
+
secondary: {
|
|
3601
|
+
bg: string;
|
|
3602
|
+
bgHover: string;
|
|
3603
|
+
bgPress: string;
|
|
3604
|
+
border: string;
|
|
3605
|
+
borderHover: string;
|
|
3606
|
+
borderPress: string;
|
|
3607
|
+
};
|
|
3608
|
+
tertiary: {
|
|
3609
|
+
bg: string;
|
|
3610
|
+
bgHover: string;
|
|
3611
|
+
bgPress: string;
|
|
3612
|
+
border: string;
|
|
3613
|
+
borderHover: string;
|
|
3614
|
+
borderPress: string;
|
|
3615
|
+
};
|
|
3616
|
+
text: {
|
|
3617
|
+
primary: string;
|
|
3618
|
+
secondary: string;
|
|
3619
|
+
tertiary: string;
|
|
3620
|
+
ghost: string;
|
|
3621
|
+
};
|
|
3622
|
+
ghost: {
|
|
3623
|
+
bg: string;
|
|
3624
|
+
bgHover: string;
|
|
3625
|
+
bgPress: string;
|
|
3626
|
+
border: string;
|
|
3627
|
+
borderHover: string;
|
|
3628
|
+
borderPress: string;
|
|
3629
|
+
};
|
|
3630
|
+
};
|
|
3631
|
+
alert: {
|
|
3632
|
+
bg: string;
|
|
3633
|
+
border: string;
|
|
3634
|
+
primary: {
|
|
3635
|
+
bg: string;
|
|
3636
|
+
bgHover: string;
|
|
3637
|
+
bgPress: string;
|
|
3638
|
+
border: string;
|
|
3639
|
+
borderHover: string;
|
|
3640
|
+
borderPress: string;
|
|
3641
|
+
};
|
|
3642
|
+
secondary: {
|
|
3643
|
+
bg: string;
|
|
3644
|
+
bgHover: string;
|
|
3645
|
+
bgPress: string;
|
|
3646
|
+
border: string;
|
|
3647
|
+
borderHover: string;
|
|
3648
|
+
borderPress: string;
|
|
3649
|
+
};
|
|
3650
|
+
tertiary: {
|
|
3651
|
+
bg: string;
|
|
3652
|
+
bgHover: string;
|
|
3653
|
+
bgPress: string;
|
|
3654
|
+
border: string;
|
|
3655
|
+
borderHover: string;
|
|
3656
|
+
borderPress: string;
|
|
3657
|
+
};
|
|
3658
|
+
text: {
|
|
3659
|
+
primary: string;
|
|
3660
|
+
secondary: string;
|
|
3661
|
+
tertiary: string;
|
|
3662
|
+
ghost: string;
|
|
3663
|
+
};
|
|
3664
|
+
ghost: {
|
|
3665
|
+
bg: string;
|
|
3666
|
+
bgHover: string;
|
|
3667
|
+
bgPress: string;
|
|
3668
|
+
border: string;
|
|
3669
|
+
borderHover: string;
|
|
3670
|
+
borderPress: string;
|
|
3671
|
+
};
|
|
3672
|
+
};
|
|
3673
|
+
input: {
|
|
3674
|
+
bg: string;
|
|
3675
|
+
bgHover: string;
|
|
3676
|
+
bgDisable: string;
|
|
3677
|
+
border: string;
|
|
3678
|
+
borderHover: string;
|
|
3679
|
+
borderDisable: string;
|
|
3680
|
+
text: string;
|
|
3681
|
+
placeholder: string;
|
|
3682
|
+
textDisable: string;
|
|
3683
|
+
};
|
|
3684
|
+
focus: {
|
|
3685
|
+
bg: string;
|
|
3686
|
+
border: string;
|
|
3687
|
+
};
|
|
3688
|
+
check: {
|
|
3689
|
+
bg: string;
|
|
3690
|
+
bgHover: string;
|
|
3691
|
+
bgDisable: string;
|
|
3692
|
+
border: string;
|
|
3693
|
+
borderHover: string;
|
|
3694
|
+
borderDisable: string;
|
|
3695
|
+
icon: string;
|
|
3696
|
+
};
|
|
3697
|
+
faint: {
|
|
3698
|
+
bg: string;
|
|
3699
|
+
bgHover: string;
|
|
3700
|
+
border: string;
|
|
3701
|
+
borderHover: string;
|
|
3702
|
+
};
|
|
3703
|
+
slider: {
|
|
3704
|
+
bg: string;
|
|
3705
|
+
bgHover: string;
|
|
3706
|
+
bgDisable: string;
|
|
3707
|
+
};
|
|
3708
|
+
switch: {
|
|
3709
|
+
bg: string;
|
|
3710
|
+
bgHover: string;
|
|
3711
|
+
bgDisable: string;
|
|
3712
|
+
border: string;
|
|
3713
|
+
borderHover: string;
|
|
3714
|
+
borderDisable: string;
|
|
3715
|
+
};
|
|
3716
|
+
knob: {
|
|
3717
|
+
bg: string;
|
|
3718
|
+
bgHover: string;
|
|
3719
|
+
bgActive: string;
|
|
3720
|
+
bgActiveHover: string;
|
|
3721
|
+
bgInactive: string;
|
|
3722
|
+
bgInactiveHover: string;
|
|
3723
|
+
bgDisable: string;
|
|
3724
|
+
};
|
|
3725
|
+
text: {
|
|
3726
|
+
primary: string;
|
|
3727
|
+
disable: string;
|
|
3728
|
+
};
|
|
3729
|
+
link: {
|
|
3730
|
+
primary: string;
|
|
3731
|
+
primaryHover: string;
|
|
3732
|
+
secondary: string;
|
|
3733
|
+
secondaryHover: string;
|
|
3734
|
+
};
|
|
3735
|
+
segmented: {
|
|
3736
|
+
bg: string;
|
|
3737
|
+
bgHover: string;
|
|
3738
|
+
bgActive: string;
|
|
3739
|
+
border: string;
|
|
3740
|
+
borderHover: string;
|
|
3741
|
+
borderActive: string;
|
|
3742
|
+
text: string;
|
|
3743
|
+
textDisable: string;
|
|
3744
|
+
};
|
|
3745
|
+
tagLabel: {
|
|
3746
|
+
product: {
|
|
3747
|
+
bg: string;
|
|
3748
|
+
text: string;
|
|
3749
|
+
textCompact: string;
|
|
3750
|
+
};
|
|
3751
|
+
rarity: {
|
|
3752
|
+
bg: string;
|
|
3753
|
+
text: string;
|
|
3754
|
+
};
|
|
3755
|
+
name: {
|
|
3756
|
+
bg: string;
|
|
3757
|
+
text: string;
|
|
3758
|
+
};
|
|
3759
|
+
account: {
|
|
3760
|
+
bg: string;
|
|
3761
|
+
text: string;
|
|
3762
|
+
textCompact: string;
|
|
3763
|
+
};
|
|
3764
|
+
id: {
|
|
3765
|
+
bg: string;
|
|
3766
|
+
bgSeries: string;
|
|
3767
|
+
textSeries: string;
|
|
3768
|
+
textNumber: string;
|
|
3769
|
+
textCompact: string;
|
|
3770
|
+
};
|
|
3771
|
+
subentity: {
|
|
3772
|
+
bg: string;
|
|
3773
|
+
text: string;
|
|
3774
|
+
};
|
|
3775
|
+
item: {
|
|
3776
|
+
bg: string;
|
|
3777
|
+
text: string;
|
|
3778
|
+
textCompact: string;
|
|
3779
|
+
};
|
|
3780
|
+
};
|
|
3781
|
+
toast: {
|
|
3782
|
+
bg: string;
|
|
3783
|
+
};
|
|
3784
|
+
toggleButton: {
|
|
3785
|
+
bg: string;
|
|
3786
|
+
bgHover: string;
|
|
3787
|
+
bgActive: string;
|
|
3788
|
+
bgDisable: string;
|
|
3789
|
+
border: string;
|
|
3790
|
+
borderHover: string;
|
|
3791
|
+
borderActive: string;
|
|
3792
|
+
borderDisable: string;
|
|
3793
|
+
text: string;
|
|
3794
|
+
textActive: string;
|
|
3795
|
+
textDisable: string;
|
|
3796
|
+
};
|
|
3797
|
+
appButton: {
|
|
3798
|
+
bg: string;
|
|
3799
|
+
bgHover: string;
|
|
3800
|
+
bgPress: string;
|
|
3801
|
+
border: string;
|
|
3802
|
+
borderHover: string;
|
|
3803
|
+
borderPress: string;
|
|
3804
|
+
text: string;
|
|
3805
|
+
textDisable: string;
|
|
3806
|
+
};
|
|
2814
3807
|
};
|
|
2815
|
-
}
|
|
2816
|
-
readonly tagLabel: {
|
|
2817
|
-
readonly borderRadius: 0;
|
|
2818
|
-
};
|
|
2819
|
-
};
|
|
2820
|
-
|
|
2821
|
-
declare const shadow: {
|
|
2822
|
-
active: string;
|
|
2823
|
-
surface: string;
|
|
2824
|
-
surfaceHover: string;
|
|
2825
|
-
popover: string;
|
|
2826
|
-
modal: string;
|
|
2827
|
-
contextMenu: string;
|
|
2828
|
-
};
|
|
2829
|
-
|
|
2830
|
-
/**
|
|
2831
|
-
* Font family definitions per ProductContext.
|
|
2832
|
-
*
|
|
2833
|
-
* Figma "Font" variable collection defines 3 roles:
|
|
2834
|
-
* - display: heading/display font (Pilat or Pilat Wide)
|
|
2835
|
-
* - compact: body/UI font (Aktiv Grotesk or Montserrat)
|
|
2836
|
-
* - text: paragraph/reading font (same families as compact)
|
|
2837
|
-
*
|
|
2838
|
-
* The `heading` and `body` exports map to these Figma roles:
|
|
2839
|
-
* heading → display
|
|
2840
|
-
* body → compact (also used for text contexts)
|
|
2841
|
-
*/
|
|
2842
|
-
|
|
2843
|
-
/** Static fonts object (defaults to B2B for backwards compatibility) */
|
|
2844
|
-
declare const fonts: {
|
|
2845
|
-
heading: string;
|
|
2846
|
-
body: string;
|
|
2847
|
-
/** Paragraph/reading font — same families as body */
|
|
2848
|
-
text: string;
|
|
2849
|
-
/** @deprecated Use `heading` or `body` instead */
|
|
2850
|
-
primary: string;
|
|
2851
|
-
};
|
|
2852
|
-
/** Returns context-aware font families */
|
|
2853
|
-
declare const getFonts: (productContext?: ProductContext) => {
|
|
2854
|
-
heading: string;
|
|
2855
|
-
body: string;
|
|
2856
|
-
/** Paragraph/reading font — same families as body */
|
|
2857
|
-
text: string;
|
|
2858
|
-
/** @deprecated Use `heading` or `body` instead */
|
|
2859
|
-
primary: string;
|
|
2860
|
-
};
|
|
2861
|
-
declare const typography: {
|
|
2862
|
-
button: {
|
|
2863
|
-
fontFamily: string;
|
|
2864
|
-
fontWeight: string;
|
|
2865
|
-
};
|
|
2866
|
-
};
|
|
2867
|
-
|
|
2868
|
-
/**
|
|
2869
|
-
* Responsive breakpoint definitions for the design system.
|
|
2870
|
-
*
|
|
2871
|
-
* Derived from the Figma "Responsive / Typography" variable collection,
|
|
2872
|
-
* which has three modes: Common, Mobile, Desktop.
|
|
2873
|
-
* Common and Desktop share identical values; Mobile scales down.
|
|
2874
|
-
*
|
|
2875
|
-
* Usage (CSS):
|
|
2876
|
-
* @media (max-width: 767px) { ... } // Mobile
|
|
2877
|
-
* @media (min-width: 768px) { ... } // Desktop
|
|
2878
|
-
*
|
|
2879
|
-
* Usage (JS):
|
|
2880
|
-
* import { breakpoints } from '@xsolla/xui-core';
|
|
2881
|
-
* const isMobile = window.innerWidth < breakpoints.desktop;
|
|
2882
|
-
*/
|
|
2883
|
-
declare const breakpoints: {
|
|
2884
|
-
/** Mobile: 0 – 767px */
|
|
2885
|
-
readonly mobile: 0;
|
|
2886
|
-
/** Desktop: 768px and above */
|
|
2887
|
-
readonly desktop: 768;
|
|
2888
|
-
};
|
|
2889
|
-
type BreakpointKey = keyof typeof breakpoints;
|
|
2890
|
-
/**
|
|
2891
|
-
* Max-width media query value for targeting mobile devices.
|
|
2892
|
-
* Use in CSS: `@media (max-width: ${MOBILE_MAX_WIDTH}px)`
|
|
2893
|
-
*/
|
|
2894
|
-
declare const MOBILE_MAX_WIDTH: number;
|
|
2895
|
-
|
|
2896
|
-
/**
|
|
2897
|
-
* Responsive typography scale tokens sourced from the Figma
|
|
2898
|
-
* "Responsive / Typography" variable collection.
|
|
2899
|
-
*
|
|
2900
|
-
* Three device modes: Common (default), Mobile, Desktop.
|
|
2901
|
-
* Common and Desktop have identical values. Mobile scales down.
|
|
2902
|
-
*
|
|
2903
|
-
* These are the raw building blocks. Semantic tokens in typography.ts
|
|
2904
|
-
* alias into this scale (e.g., B2B heading/h1/font-size → font-size/650).
|
|
2905
|
-
*
|
|
2906
|
-
* On web, these are injected as CSS custom properties (--xui-font-size-*, --xui-lh-*)
|
|
2907
|
-
* with @media overrides for mobile. Components consume a single CSS variable
|
|
2908
|
-
* and scale automatically by viewport.
|
|
2909
|
-
*
|
|
2910
|
-
* @see {@link ../styles/typography-css.ts} for CSS generation
|
|
2911
|
-
* @see {@link ./breakpoints.ts} for breakpoint definitions
|
|
2912
|
-
*/
|
|
2913
|
-
interface ResponsiveValue {
|
|
2914
|
-
common: number;
|
|
2915
|
-
mobile: number;
|
|
2916
|
-
desktop: number;
|
|
2917
|
-
}
|
|
2918
|
-
type ScaleStep = "75" | "100" | "125" | "150" | "175" | "200" | "250" | "300" | "350" | "450" | "550" | "650" | "750";
|
|
2919
|
-
declare const SCALE_STEPS: ScaleStep[];
|
|
2920
|
-
/** Font-size scale: 13 steps from 10px to 64px (desktop) */
|
|
2921
|
-
declare const fontSize: Record<ScaleStep, ResponsiveValue>;
|
|
2922
|
-
/** Line-height/display: tight line-heights for headings (roughly 1:1 with font-size) */
|
|
2923
|
-
declare const lineHeightDisplay: Record<ScaleStep, ResponsiveValue>;
|
|
2924
|
-
/** Line-height/compact: moderate line-heights for UI body text */
|
|
2925
|
-
declare const lineHeightCompact: Record<ScaleStep, ResponsiveValue>;
|
|
2926
|
-
/** Line-height/text: generous line-heights for paragraphs and reading text */
|
|
2927
|
-
declare const lineHeightText: Record<ScaleStep, ResponsiveValue>;
|
|
2928
|
-
declare const responsiveTypographyScale: {
|
|
2929
|
-
readonly fontSize: Record<ScaleStep, ResponsiveValue>;
|
|
2930
|
-
readonly lineHeightDisplay: Record<ScaleStep, ResponsiveValue>;
|
|
2931
|
-
readonly lineHeightCompact: Record<ScaleStep, ResponsiveValue>;
|
|
2932
|
-
readonly lineHeightText: Record<ScaleStep, ResponsiveValue>;
|
|
2933
|
-
};
|
|
2934
|
-
|
|
2935
|
-
declare const isWeb: boolean;
|
|
2936
|
-
declare const isNative: boolean;
|
|
2937
|
-
declare const isIOS: boolean;
|
|
2938
|
-
declare const isAndroid: boolean;
|
|
2939
|
-
|
|
2940
|
-
/**
|
|
2941
|
-
* React component that loads the toolkit's font-face declarations.
|
|
2942
|
-
* Drop-in for any framework — works in Next.js, Vite, CRA, etc.
|
|
2943
|
-
*
|
|
2944
|
-
* Renders nothing to the DOM. Injects a single `<style>` tag into `<head>` on mount.
|
|
2945
|
-
*/
|
|
2946
|
-
declare const FontLoader: React.FC;
|
|
2947
|
-
|
|
2948
|
-
/**
|
|
2949
|
-
* @font-face CSS for all toolkit fonts, loaded from Xsolla CDN.
|
|
2950
|
-
*
|
|
2951
|
-
* Pilat Wide — B2C heading/display font, registered at weights 400, 600, 700, 800.
|
|
2952
|
-
*
|
|
2953
|
-
* Pilat — B2B heading/display font, registered at weights 300, 400, 600, 700, 800.
|
|
2954
|
-
*
|
|
2955
|
-
* Aktiv Grotesk — body font for all contexts,
|
|
2956
|
-
* mapped from the Sharp Grotesk CDN files (same typeface under a legacy name).
|
|
2957
|
-
* Registered at weights 300, 400, 500, 600, 700.
|
|
2958
|
-
*/
|
|
2959
|
-
declare const fontFacesCSS = "\n /* \u2500\u2500 Pilat Wide (B2C headings) \u2500\u2500 */\n\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Medium_/Pilat_Test_Medium.ttf') format('truetype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Demi_Bold_bee67c470a/Pilat_Test_Demi_Bold_bee67c470a.ttf') format('truetype');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_b12b40d234/Pilat_Test_Bold_b12b40d234.ttf') format('truetype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat Wide';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Heavy_2885678ca4/Pilat_Test_Heavy_2885678ca4.otf') format('opentype');\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n }\n\n /* \u2500\u2500 Pilat (B2B headings) \u2500\u2500 */\n\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/55a03110b2400b778d485de2c8d064c0.woff2') format('woff2');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/e968c9cc76e48ff6111c90534549bbf9.woff2') format('woff2');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/ed4fe74e88aaacc6978f06a862e75b08.woff2') format('woff2');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/7450f429979af7eaa8fa4d4d91cee927.woff2') format('woff2');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Pilat';\n src: url('https://cdn.xsolla.net/merchant-bucket-prod/files/uploaded/722279/218d647ff7690c1e312f6943e29af375.woff2') format('woff2');\n font-weight: 800;\n font-style: normal;\n font-display: swap;\n }\n\n /* \u2500\u2500 Aktiv Grotesk (body) \u2014 served from Sharp Grotesk CDN files \u2500\u2500 */\n\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Light_c4650750bb/Pilat_Test_Light_c4650750bb.otf') format('opentype');\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Book_5cb49cd592/Pilat_Test_Book_5cb49cd592.otf') format('opentype');\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Demi_e9bed59107/Pilat_Test_Demi_e9bed59107.otf') format('opentype');\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_195d1b44fa/Pilat_Test_Bold_195d1b44fa.otf') format('opentype');\n font-weight: 600;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: 'Aktiv Grotesk';\n src: url('https://cdn.xsolla.net/strapi-v2-bucket-prod/Pilat_Test_Bold_195d1b44fa/Pilat_Test_Bold_195d1b44fa.otf') format('opentype');\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n";
|
|
2960
|
-
|
|
2961
|
-
declare const TypographyStyleLoader: React.FC;
|
|
2962
|
-
|
|
2963
|
-
/**
|
|
2964
|
-
* Generates the CSS custom properties string for responsive typography.
|
|
2965
|
-
*
|
|
2966
|
-
* Produces two blocks:
|
|
2967
|
-
* 1. :root — Desktop/Common values (the default)
|
|
2968
|
-
* 2. @media (max-width: 767px) :root — Mobile overrides
|
|
2969
|
-
*
|
|
2970
|
-
* CSS variable naming convention (mirrors Figma variable names):
|
|
2971
|
-
* --xui-font-size-{step} → e.g. --xui-font-size-150: 16px
|
|
2972
|
-
* --xui-lh-display-{step} → e.g. --xui-lh-display-150: 16px
|
|
2973
|
-
* --xui-lh-compact-{step} → e.g. --xui-lh-compact-150: 20px
|
|
2974
|
-
* --xui-lh-text-{step} → e.g. --xui-lh-text-150: 22px
|
|
2975
|
-
*
|
|
2976
|
-
* Consumers can use these in CSS or styled-components:
|
|
2977
|
-
* font-size: var(--xui-font-size-350);
|
|
2978
|
-
* line-height: var(--xui-lh-compact-350);
|
|
2979
|
-
*
|
|
2980
|
-
* @see {@link ../tokens/responsive-typography.ts} for raw token data
|
|
2981
|
-
* @see {@link ../tokens/breakpoints.ts} for breakpoint definitions
|
|
2982
|
-
*/
|
|
2983
|
-
/**
|
|
2984
|
-
* Returns the full CSS string for responsive typography custom properties.
|
|
2985
|
-
* The result is memoized — safe to call multiple times.
|
|
2986
|
-
*/
|
|
2987
|
-
declare function generateTypographyCSS(): string;
|
|
2988
|
-
/**
|
|
2989
|
-
* Returns the CSS variable name for a given font-size scale step.
|
|
2990
|
-
* Useful when the Typography component needs to reference a CSS variable.
|
|
2991
|
-
*
|
|
2992
|
-
* @example cssVar.fontSize("350") → "var(--xui-font-size-350)"
|
|
2993
|
-
*/
|
|
2994
|
-
declare const cssVar: {
|
|
2995
|
-
readonly fontSize: (step: string) => string;
|
|
2996
|
-
readonly lhDisplay: (step: string) => string;
|
|
2997
|
-
readonly lhCompact: (step: string) => string;
|
|
2998
|
-
readonly lhText: (step: string) => string;
|
|
2999
|
-
};
|
|
3000
|
-
|
|
3001
|
-
type ThemeMode = "dark" | "light" | "pentagram-dark" | "pentagram-light" | "ltg-dark";
|
|
3002
|
-
declare const themeConfig: (mode?: ThemeMode, productContext?: ProductContext) => {
|
|
3003
|
-
colors: {
|
|
3808
|
+
} | {
|
|
3004
3809
|
background: {
|
|
3005
3810
|
primary: string;
|
|
3006
3811
|
secondary: string;
|
|
@@ -5812,7 +6617,16 @@ declare const themeConfig: (mode?: ThemeMode, productContext?: ProductContext) =
|
|
|
5812
6617
|
lineHeight: number;
|
|
5813
6618
|
iconSize: number;
|
|
5814
6619
|
gap: number;
|
|
5815
|
-
borderRadius: 6;
|
|
6620
|
+
borderRadius: 6;
|
|
6621
|
+
itemGap: number;
|
|
6622
|
+
} | {
|
|
6623
|
+
height: number;
|
|
6624
|
+
paddingHorizontal: number;
|
|
6625
|
+
fontSize: number;
|
|
6626
|
+
lineHeight: number;
|
|
6627
|
+
iconSize: number;
|
|
6628
|
+
gap: number;
|
|
6629
|
+
borderRadius: 4;
|
|
5816
6630
|
itemGap: number;
|
|
5817
6631
|
} | {
|
|
5818
6632
|
height: number;
|
|
@@ -5823,65 +6637,458 @@ declare const themeConfig: (mode?: ThemeMode, productContext?: ProductContext) =
|
|
|
5823
6637
|
gap: number;
|
|
5824
6638
|
borderRadius: 4;
|
|
5825
6639
|
itemGap: number;
|
|
6640
|
+
};
|
|
6641
|
+
table: {
|
|
6642
|
+
containerRadius: number;
|
|
6643
|
+
containerPaddingVertical: number;
|
|
6644
|
+
containerGap: number;
|
|
6645
|
+
captionFontSize: number;
|
|
6646
|
+
captionLineHeight: number;
|
|
6647
|
+
headerRowHeight: number;
|
|
6648
|
+
headerRowPaddingHorizontal: number;
|
|
6649
|
+
headerCellGap: number;
|
|
6650
|
+
headerCellFontSize: number;
|
|
6651
|
+
headerCellLineHeight: number;
|
|
6652
|
+
rowHeight: number;
|
|
6653
|
+
rowPaddingHorizontal: number;
|
|
6654
|
+
cellGap: number;
|
|
6655
|
+
cellFontSize: number;
|
|
6656
|
+
cellLineHeight: number;
|
|
6657
|
+
paginationGap: number;
|
|
6658
|
+
paginationPaddingHorizontal: number;
|
|
6659
|
+
};
|
|
6660
|
+
};
|
|
6661
|
+
};
|
|
6662
|
+
interface DesignSystemContextType {
|
|
6663
|
+
mode: ThemeMode;
|
|
6664
|
+
setMode: (mode: ThemeMode) => void;
|
|
6665
|
+
productContext: ProductContext;
|
|
6666
|
+
setProductContext: (productContext: ProductContext) => void;
|
|
6667
|
+
theme: ReturnType<typeof themeConfig>;
|
|
6668
|
+
}
|
|
6669
|
+
declare const XUIProvider: React.FC<{
|
|
6670
|
+
children: React.ReactNode;
|
|
6671
|
+
initialMode?: ThemeMode;
|
|
6672
|
+
initialProductContext?: ProductContext;
|
|
6673
|
+
/** Use `initialProductContext` instead. */
|
|
6674
|
+
productContext?: never;
|
|
6675
|
+
/** Load toolkit fonts from the Xsolla CDN. Defaults to true on web, no-ops on native. */
|
|
6676
|
+
loadFonts?: boolean;
|
|
6677
|
+
}>;
|
|
6678
|
+
declare const useDesignSystem: () => DesignSystemContextType;
|
|
6679
|
+
interface ThemeOverrideProps {
|
|
6680
|
+
/** Override the global theme mode for this component */
|
|
6681
|
+
themeMode?: ThemeMode;
|
|
6682
|
+
/** Override the global product context (fonts/typography) for this component */
|
|
6683
|
+
themeProductContext?: ProductContext;
|
|
6684
|
+
}
|
|
6685
|
+
declare const useResolvedTheme: (overrides?: ThemeOverrideProps) => {
|
|
6686
|
+
mode: ThemeMode;
|
|
6687
|
+
productContext: ProductContext;
|
|
6688
|
+
theme: {
|
|
6689
|
+
colors: {
|
|
6690
|
+
background: {
|
|
6691
|
+
primary: string;
|
|
6692
|
+
secondary: string;
|
|
6693
|
+
brand: {
|
|
6694
|
+
primary: string;
|
|
6695
|
+
secondary: string;
|
|
6696
|
+
};
|
|
6697
|
+
brandExtra: {
|
|
6698
|
+
primary: string;
|
|
6699
|
+
secondary: string;
|
|
6700
|
+
};
|
|
6701
|
+
inverse: string;
|
|
6702
|
+
static: {
|
|
6703
|
+
dark: string;
|
|
6704
|
+
light: string;
|
|
6705
|
+
};
|
|
6706
|
+
success: {
|
|
6707
|
+
primary: string;
|
|
6708
|
+
secondary: string;
|
|
6709
|
+
};
|
|
6710
|
+
warning: {
|
|
6711
|
+
primary: string;
|
|
6712
|
+
secondary: string;
|
|
6713
|
+
};
|
|
6714
|
+
alert: {
|
|
6715
|
+
primary: string;
|
|
6716
|
+
secondary: string;
|
|
6717
|
+
};
|
|
6718
|
+
neutral: {
|
|
6719
|
+
primary: string;
|
|
6720
|
+
secondary: string;
|
|
6721
|
+
};
|
|
6722
|
+
};
|
|
6723
|
+
content: {
|
|
6724
|
+
primary: string;
|
|
6725
|
+
secondary: string;
|
|
6726
|
+
tertiary: string;
|
|
6727
|
+
brand: {
|
|
6728
|
+
primary: string;
|
|
6729
|
+
secondary: string;
|
|
6730
|
+
};
|
|
6731
|
+
brandExtra: {
|
|
6732
|
+
primary: string;
|
|
6733
|
+
secondary: string;
|
|
6734
|
+
};
|
|
6735
|
+
inverse: string;
|
|
6736
|
+
static: {
|
|
6737
|
+
light: string;
|
|
6738
|
+
dark: string;
|
|
6739
|
+
};
|
|
6740
|
+
success: {
|
|
6741
|
+
primary: string;
|
|
6742
|
+
secondary: string;
|
|
6743
|
+
};
|
|
6744
|
+
warning: {
|
|
6745
|
+
primary: string;
|
|
6746
|
+
secondary: string;
|
|
6747
|
+
};
|
|
6748
|
+
alert: {
|
|
6749
|
+
primary: string;
|
|
6750
|
+
secondary: string;
|
|
6751
|
+
};
|
|
6752
|
+
neutral: {
|
|
6753
|
+
primary: string;
|
|
6754
|
+
secondary: string;
|
|
6755
|
+
};
|
|
6756
|
+
on: {
|
|
6757
|
+
brand: string;
|
|
6758
|
+
brandExtra: string;
|
|
6759
|
+
success: string;
|
|
6760
|
+
warning: string;
|
|
6761
|
+
alert: string;
|
|
6762
|
+
neutral: string;
|
|
6763
|
+
};
|
|
6764
|
+
};
|
|
6765
|
+
border: {
|
|
6766
|
+
primary: string;
|
|
6767
|
+
secondary: string;
|
|
6768
|
+
brand: string;
|
|
6769
|
+
brandExtra: string;
|
|
6770
|
+
inverse: string;
|
|
6771
|
+
success: string;
|
|
6772
|
+
warning: string;
|
|
6773
|
+
alert: string;
|
|
6774
|
+
neutral: string;
|
|
6775
|
+
};
|
|
6776
|
+
overlay: {
|
|
6777
|
+
mono: string;
|
|
6778
|
+
brand: string;
|
|
6779
|
+
brandExtra: string;
|
|
6780
|
+
success: string;
|
|
6781
|
+
warning: string;
|
|
6782
|
+
alert: string;
|
|
6783
|
+
neutral: string;
|
|
6784
|
+
monoHover: string;
|
|
6785
|
+
};
|
|
6786
|
+
layer: {
|
|
6787
|
+
scrim: string;
|
|
6788
|
+
float: string;
|
|
6789
|
+
};
|
|
6790
|
+
control: {
|
|
6791
|
+
brand: {
|
|
6792
|
+
primary: {
|
|
6793
|
+
bg: string;
|
|
6794
|
+
bgHover: string;
|
|
6795
|
+
bgPress: string;
|
|
6796
|
+
bgDisable: string;
|
|
6797
|
+
border: string;
|
|
6798
|
+
borderHover: string;
|
|
6799
|
+
borderPress: string;
|
|
6800
|
+
borderDisable: string;
|
|
6801
|
+
};
|
|
6802
|
+
secondary: {
|
|
6803
|
+
bg: string;
|
|
6804
|
+
bgHover: string;
|
|
6805
|
+
bgPress: string;
|
|
6806
|
+
border: string;
|
|
6807
|
+
borderHover: string;
|
|
6808
|
+
borderPress: string;
|
|
6809
|
+
};
|
|
6810
|
+
tertiary: {
|
|
6811
|
+
bg: string;
|
|
6812
|
+
bgHover: string;
|
|
6813
|
+
bgPress: string;
|
|
6814
|
+
border: string;
|
|
6815
|
+
borderHover: string;
|
|
6816
|
+
borderPress: string;
|
|
6817
|
+
};
|
|
6818
|
+
text: {
|
|
6819
|
+
primary: string;
|
|
6820
|
+
secondary: string;
|
|
6821
|
+
tertiary: string;
|
|
6822
|
+
disable: string;
|
|
6823
|
+
ghost: string;
|
|
6824
|
+
};
|
|
6825
|
+
ghost: {
|
|
6826
|
+
bg: string;
|
|
6827
|
+
bgHover: string;
|
|
6828
|
+
bgPress: string;
|
|
6829
|
+
border: string;
|
|
6830
|
+
borderHover: string;
|
|
6831
|
+
borderPress: string;
|
|
6832
|
+
};
|
|
6833
|
+
};
|
|
6834
|
+
mono: {
|
|
6835
|
+
primary: {
|
|
6836
|
+
bg: string;
|
|
6837
|
+
bgHover: string;
|
|
6838
|
+
bgPress: string;
|
|
6839
|
+
border: string;
|
|
6840
|
+
borderHover: string;
|
|
6841
|
+
borderPress: string;
|
|
6842
|
+
};
|
|
6843
|
+
secondary: {
|
|
6844
|
+
bg: string;
|
|
6845
|
+
bgHover: string;
|
|
6846
|
+
bgPress: string;
|
|
6847
|
+
border: string;
|
|
6848
|
+
borderHover: string;
|
|
6849
|
+
borderPress: string;
|
|
6850
|
+
};
|
|
6851
|
+
tertiary: {
|
|
6852
|
+
bg: string;
|
|
6853
|
+
bgHover: string;
|
|
6854
|
+
bgPress: string;
|
|
6855
|
+
border: string;
|
|
6856
|
+
borderHover: string;
|
|
6857
|
+
borderPress: string;
|
|
6858
|
+
};
|
|
6859
|
+
text: {
|
|
6860
|
+
primary: string;
|
|
6861
|
+
secondary: string;
|
|
6862
|
+
tertiary: string;
|
|
6863
|
+
ghost: string;
|
|
6864
|
+
};
|
|
6865
|
+
ghost: {
|
|
6866
|
+
bg: string;
|
|
6867
|
+
bgHover: string;
|
|
6868
|
+
bgPress: string;
|
|
6869
|
+
border: string;
|
|
6870
|
+
borderHover: string;
|
|
6871
|
+
borderPress: string;
|
|
6872
|
+
};
|
|
6873
|
+
};
|
|
6874
|
+
brandExtra: {
|
|
6875
|
+
primary: {
|
|
6876
|
+
bg: string;
|
|
6877
|
+
bgHover: string;
|
|
6878
|
+
bgPress: string;
|
|
6879
|
+
border: string;
|
|
6880
|
+
borderHover: string;
|
|
6881
|
+
borderPress: string;
|
|
6882
|
+
};
|
|
6883
|
+
secondary: {
|
|
6884
|
+
bg: string;
|
|
6885
|
+
bgHover: string;
|
|
6886
|
+
bgPress: string;
|
|
6887
|
+
border: string;
|
|
6888
|
+
borderHover: string;
|
|
6889
|
+
borderPress: string;
|
|
6890
|
+
};
|
|
6891
|
+
tertiary: {
|
|
6892
|
+
bg: string;
|
|
6893
|
+
bgHover: string;
|
|
6894
|
+
bgPress: string;
|
|
6895
|
+
border: string;
|
|
6896
|
+
borderHover: string;
|
|
6897
|
+
borderPress: string;
|
|
6898
|
+
};
|
|
6899
|
+
text: {
|
|
6900
|
+
primary: string;
|
|
6901
|
+
secondary: string;
|
|
6902
|
+
tertiary: string;
|
|
6903
|
+
ghost: string;
|
|
6904
|
+
};
|
|
6905
|
+
ghost: {
|
|
6906
|
+
bg: string;
|
|
6907
|
+
bgHover: string;
|
|
6908
|
+
bgPress: string;
|
|
6909
|
+
border: string;
|
|
6910
|
+
borderHover: string;
|
|
6911
|
+
borderPress: string;
|
|
6912
|
+
};
|
|
6913
|
+
};
|
|
6914
|
+
alert: {
|
|
6915
|
+
bg: string;
|
|
6916
|
+
border: string;
|
|
6917
|
+
primary: {
|
|
6918
|
+
bg: string;
|
|
6919
|
+
bgHover: string;
|
|
6920
|
+
bgPress: string;
|
|
6921
|
+
border: string;
|
|
6922
|
+
borderHover: string;
|
|
6923
|
+
borderPress: string;
|
|
6924
|
+
};
|
|
6925
|
+
secondary: {
|
|
6926
|
+
bg: string;
|
|
6927
|
+
bgHover: string;
|
|
6928
|
+
bgPress: string;
|
|
6929
|
+
border: string;
|
|
6930
|
+
borderHover: string;
|
|
6931
|
+
borderPress: string;
|
|
6932
|
+
};
|
|
6933
|
+
tertiary: {
|
|
6934
|
+
bg: string;
|
|
6935
|
+
bgHover: string;
|
|
6936
|
+
bgPress: string;
|
|
6937
|
+
border: string;
|
|
6938
|
+
borderHover: string;
|
|
6939
|
+
borderPress: string;
|
|
6940
|
+
};
|
|
6941
|
+
text: {
|
|
6942
|
+
primary: string;
|
|
6943
|
+
secondary: string;
|
|
6944
|
+
tertiary: string;
|
|
6945
|
+
ghost: string;
|
|
6946
|
+
};
|
|
6947
|
+
ghost: {
|
|
6948
|
+
bg: string;
|
|
6949
|
+
bgHover: string;
|
|
6950
|
+
bgPress: string;
|
|
6951
|
+
border: string;
|
|
6952
|
+
borderHover: string;
|
|
6953
|
+
borderPress: string;
|
|
6954
|
+
};
|
|
6955
|
+
};
|
|
6956
|
+
input: {
|
|
6957
|
+
bg: string;
|
|
6958
|
+
bgHover: string;
|
|
6959
|
+
bgDisable: string;
|
|
6960
|
+
border: string;
|
|
6961
|
+
borderHover: string;
|
|
6962
|
+
borderDisable: string;
|
|
6963
|
+
text: string;
|
|
6964
|
+
placeholder: string;
|
|
6965
|
+
textDisable: string;
|
|
6966
|
+
};
|
|
6967
|
+
focus: {
|
|
6968
|
+
bg: string;
|
|
6969
|
+
border: string;
|
|
6970
|
+
};
|
|
6971
|
+
check: {
|
|
6972
|
+
bg: string;
|
|
6973
|
+
bgHover: string;
|
|
6974
|
+
bgDisable: string;
|
|
6975
|
+
border: string;
|
|
6976
|
+
borderHover: string;
|
|
6977
|
+
borderDisable: string;
|
|
6978
|
+
icon: string;
|
|
6979
|
+
};
|
|
6980
|
+
faint: {
|
|
6981
|
+
bg: string;
|
|
6982
|
+
bgHover: string;
|
|
6983
|
+
border: string;
|
|
6984
|
+
borderHover: string;
|
|
6985
|
+
};
|
|
6986
|
+
slider: {
|
|
6987
|
+
bg: string;
|
|
6988
|
+
bgHover: string;
|
|
6989
|
+
bgDisable: string;
|
|
6990
|
+
};
|
|
6991
|
+
switch: {
|
|
6992
|
+
bg: string;
|
|
6993
|
+
bgHover: string;
|
|
6994
|
+
bgDisable: string;
|
|
6995
|
+
border: string;
|
|
6996
|
+
borderHover: string;
|
|
6997
|
+
borderDisable: string;
|
|
6998
|
+
};
|
|
6999
|
+
knob: {
|
|
7000
|
+
bg: string;
|
|
7001
|
+
bgHover: string;
|
|
7002
|
+
bgActive: string;
|
|
7003
|
+
bgActiveHover: string;
|
|
7004
|
+
bgInactive: string;
|
|
7005
|
+
bgInactiveHover: string;
|
|
7006
|
+
bgDisable: string;
|
|
7007
|
+
};
|
|
7008
|
+
text: {
|
|
7009
|
+
primary: string;
|
|
7010
|
+
disable: string;
|
|
7011
|
+
};
|
|
7012
|
+
link: {
|
|
7013
|
+
primary: string;
|
|
7014
|
+
primaryHover: string;
|
|
7015
|
+
secondary: string;
|
|
7016
|
+
secondaryHover: string;
|
|
7017
|
+
};
|
|
7018
|
+
segmented: {
|
|
7019
|
+
bg: string;
|
|
7020
|
+
bgHover: string;
|
|
7021
|
+
bgActive: string;
|
|
7022
|
+
border: string;
|
|
7023
|
+
borderHover: string;
|
|
7024
|
+
borderActive: string;
|
|
7025
|
+
text: string;
|
|
7026
|
+
textDisable: string;
|
|
7027
|
+
};
|
|
7028
|
+
tagLabel: {
|
|
7029
|
+
product: {
|
|
7030
|
+
bg: string;
|
|
7031
|
+
text: string;
|
|
7032
|
+
textCompact: string;
|
|
7033
|
+
};
|
|
7034
|
+
rarity: {
|
|
7035
|
+
bg: string;
|
|
7036
|
+
text: string;
|
|
7037
|
+
};
|
|
7038
|
+
name: {
|
|
7039
|
+
bg: string;
|
|
7040
|
+
text: string;
|
|
7041
|
+
};
|
|
7042
|
+
account: {
|
|
7043
|
+
bg: string;
|
|
7044
|
+
text: string;
|
|
7045
|
+
textCompact: string;
|
|
7046
|
+
};
|
|
7047
|
+
id: {
|
|
7048
|
+
bg: string;
|
|
7049
|
+
bgSeries: string;
|
|
7050
|
+
textSeries: string;
|
|
7051
|
+
textNumber: string;
|
|
7052
|
+
textCompact: string;
|
|
7053
|
+
};
|
|
7054
|
+
subentity: {
|
|
7055
|
+
bg: string;
|
|
7056
|
+
text: string;
|
|
7057
|
+
};
|
|
7058
|
+
item: {
|
|
7059
|
+
bg: string;
|
|
7060
|
+
text: string;
|
|
7061
|
+
textCompact: string;
|
|
7062
|
+
};
|
|
7063
|
+
};
|
|
7064
|
+
toast: {
|
|
7065
|
+
bg: string;
|
|
7066
|
+
};
|
|
7067
|
+
toggleButton: {
|
|
7068
|
+
bg: string;
|
|
7069
|
+
bgHover: string;
|
|
7070
|
+
bgActive: string;
|
|
7071
|
+
bgDisable: string;
|
|
7072
|
+
border: string;
|
|
7073
|
+
borderHover: string;
|
|
7074
|
+
borderActive: string;
|
|
7075
|
+
borderDisable: string;
|
|
7076
|
+
text: string;
|
|
7077
|
+
textActive: string;
|
|
7078
|
+
textDisable: string;
|
|
7079
|
+
};
|
|
7080
|
+
appButton: {
|
|
7081
|
+
bg: string;
|
|
7082
|
+
bgHover: string;
|
|
7083
|
+
bgPress: string;
|
|
7084
|
+
border: string;
|
|
7085
|
+
borderHover: string;
|
|
7086
|
+
borderPress: string;
|
|
7087
|
+
text: string;
|
|
7088
|
+
textDisable: string;
|
|
7089
|
+
};
|
|
7090
|
+
};
|
|
5826
7091
|
} | {
|
|
5827
|
-
height: number;
|
|
5828
|
-
paddingHorizontal: number;
|
|
5829
|
-
fontSize: number;
|
|
5830
|
-
lineHeight: number;
|
|
5831
|
-
iconSize: number;
|
|
5832
|
-
gap: number;
|
|
5833
|
-
borderRadius: 4;
|
|
5834
|
-
itemGap: number;
|
|
5835
|
-
};
|
|
5836
|
-
table: {
|
|
5837
|
-
containerRadius: number;
|
|
5838
|
-
containerPaddingVertical: number;
|
|
5839
|
-
containerGap: number;
|
|
5840
|
-
captionFontSize: number;
|
|
5841
|
-
captionLineHeight: number;
|
|
5842
|
-
headerRowHeight: number;
|
|
5843
|
-
headerRowPaddingHorizontal: number;
|
|
5844
|
-
headerCellGap: number;
|
|
5845
|
-
headerCellFontSize: number;
|
|
5846
|
-
headerCellLineHeight: number;
|
|
5847
|
-
rowHeight: number;
|
|
5848
|
-
rowPaddingHorizontal: number;
|
|
5849
|
-
cellGap: number;
|
|
5850
|
-
cellFontSize: number;
|
|
5851
|
-
cellLineHeight: number;
|
|
5852
|
-
paginationGap: number;
|
|
5853
|
-
paginationPaddingHorizontal: number;
|
|
5854
|
-
};
|
|
5855
|
-
};
|
|
5856
|
-
};
|
|
5857
|
-
interface DesignSystemContextType {
|
|
5858
|
-
mode: ThemeMode;
|
|
5859
|
-
setMode: (mode: ThemeMode) => void;
|
|
5860
|
-
productContext: ProductContext;
|
|
5861
|
-
setProductContext: (productContext: ProductContext) => void;
|
|
5862
|
-
theme: ReturnType<typeof themeConfig>;
|
|
5863
|
-
}
|
|
5864
|
-
declare const XUIProvider: React.FC<{
|
|
5865
|
-
children: React.ReactNode;
|
|
5866
|
-
initialMode?: ThemeMode;
|
|
5867
|
-
initialProductContext?: ProductContext;
|
|
5868
|
-
/** Use `initialProductContext` instead. */
|
|
5869
|
-
productContext?: never;
|
|
5870
|
-
/** Load toolkit fonts from the Xsolla CDN. Defaults to true on web, no-ops on native. */
|
|
5871
|
-
loadFonts?: boolean;
|
|
5872
|
-
}>;
|
|
5873
|
-
declare const useDesignSystem: () => DesignSystemContextType;
|
|
5874
|
-
interface ThemeOverrideProps {
|
|
5875
|
-
/** Override the global theme mode for this component */
|
|
5876
|
-
themeMode?: ThemeMode;
|
|
5877
|
-
/** Override the global product context (fonts/typography) for this component */
|
|
5878
|
-
themeProductContext?: ProductContext;
|
|
5879
|
-
}
|
|
5880
|
-
declare const useResolvedTheme: (overrides?: ThemeOverrideProps) => {
|
|
5881
|
-
mode: ThemeMode;
|
|
5882
|
-
productContext: ProductContext;
|
|
5883
|
-
theme: {
|
|
5884
|
-
colors: {
|
|
5885
7092
|
background: {
|
|
5886
7093
|
primary: string;
|
|
5887
7094
|
secondary: string;
|