File size: 6,303 Bytes
949958d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8f48d14
949958d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b7499d1
 
 
949958d
 
b7499d1
 
 
949958d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b7499d1
949958d
b7499d1
949958d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
from __future__ import annotations

from typing import Iterable

from gradio.themes.base import Base
from gradio.themes.utils import colors, fonts, sizes


class Christmas(Base):
    def __init__(
        self,
        *,
        primary_hue: colors.Color | str = colors.red,
        secondary_hue: colors.Color | str = colors.green,
        neutral_hue: colors.Color | str = colors.stone,
        spacing_size: sizes.Size | str = sizes.spacing_md,
        radius_size: sizes.Size | str = sizes.radius_lg,
        text_size: sizes.Size | str = sizes.text_md,
        font: fonts.Font | str | Iterable[fonts.Font | str] = (
            fonts.GoogleFont("Poppins"),
            fonts.GoogleFont("Nunito"),
            "ui-sans-serif",
            "sans-serif",
        ),
        font_mono: fonts.Font | str | Iterable[fonts.Font | str] = (
            fonts.GoogleFont("JetBrains Mono"),
            "ui-monospace",
            "monospace",
        ),
    ):
        super().__init__(
            primary_hue=primary_hue,
            secondary_hue=secondary_hue,
            neutral_hue=neutral_hue,
            spacing_size=spacing_size,
            radius_size=radius_size,
            text_size=text_size,
            font=font,
            font_mono=font_mono,
        )
        super().set(
            body_background_fill=(
                "radial-gradient(rgba(255, 255, 255, 0.6) 2px, transparent 2px) 0 0/26px 26px, "
                "radial-gradient(rgba(239, 68, 68, 0.55) 2px, transparent 2px) 13px 13px/26px 26px, "
                "rgba(15, 42, 29, 0.92)"
            ),
            body_background_fill_dark=(
                "radial-gradient(rgba(243, 244, 246, 0.52) 2px, transparent 2px) 0 0/26px 26px, "
                "radial-gradient(rgba(248, 113, 113, 0.48) 2px, transparent 2px) 13px 13px/26px 26px, "
                "rgba(5, 20, 13, 0.94)"
            ),
            background_fill_primary="rgba(255, 255, 255, 0.92)",
            background_fill_primary_dark="rgba(12, 22, 17, 0.9)",
            background_fill_secondary="rgba(255, 255, 255, 0.78)",
            background_fill_secondary_dark="rgba(18, 33, 24, 0.85)",
            border_color_accent="#f2c94c",
            border_color_accent_dark="#eab308",
            color_accent="#f2c94c",
            color_accent_soft="rgba(242, 201, 76, 0.15)",
            color_accent_soft_dark="rgba(234, 179, 8, 0.2)",
            block_background_fill="rgba(255, 255, 255, 0.86)",
            block_background_fill_dark="rgba(14, 26, 20, 0.92)",
            block_border_color="*primary_200",
            block_border_color_dark="*primary_700",
            block_radius="16px",
            block_shadow="0 20px 60px rgba(0, 0, 0, 0.22)",
            block_shadow_dark="0 24px 70px rgba(0, 0, 0, 0.55)",
            block_title_background_fill="linear-gradient(90deg, rgba(239, 68, 68, 0.12), rgba(34, 197, 94, 0.1))",
            block_title_background_fill_dark="linear-gradient(90deg, rgba(239, 68, 68, 0.18), rgba(34, 197, 94, 0.16))",
            block_title_text_color="*primary_800",
            block_title_text_color_dark="*primary_100",
            block_title_text_weight="700",
            button_primary_background_fill="linear-gradient(120deg, *primary_500, #f59e0b 80%)",
            button_primary_background_fill_hover="linear-gradient(120deg, #34d399, #bbf7d0 80%)",
            button_primary_background_fill_dark="linear-gradient(120deg, *primary_600, #d97706 80%)",
            button_primary_background_fill_hover_dark="linear-gradient(120deg, #10b981, #34d399 80%)",
            button_primary_text_color="white",
            button_primary_text_color_dark="white",
            button_primary_shadow="0 10px 40px rgba(0, 0, 0, 0.25)",
            button_primary_shadow_hover="0 12px 45px rgba(0, 0, 0, 0.3)",
            button_primary_shadow_dark="0 10px 40px rgba(0, 0, 0, 0.5)",
            button_primary_shadow_hover_dark="0 12px 45px rgba(0, 0, 0, 0.58)",
            button_secondary_background_fill="linear-gradient(120deg, *secondary_400, *secondary_600)",
            button_secondary_background_fill_hover="linear-gradient(120deg, *secondary_300, *secondary_500)",
            button_secondary_background_fill_dark="linear-gradient(120deg, *secondary_500, *secondary_700)",
            button_secondary_background_fill_hover_dark="linear-gradient(120deg, *secondary_400, *secondary_600)",
            button_secondary_text_color="white",
            button_secondary_text_color_dark="white",
            button_secondary_shadow="0 8px 30px rgba(0, 0, 0, 0.25)",
            button_secondary_shadow_dark="0 8px 30px rgba(0, 0, 0, 0.45)",
            button_transition="all 180ms ease-in-out",
            input_background_fill="rgba(255, 255, 255, 0.94)",
            input_background_fill_dark="rgba(13, 24, 18, 0.94)",
            input_border_color="*primary_200",
            input_border_color_hover="*primary_300",
            input_border_color_focus="#f2c94c",
            input_border_color_dark="*primary_800",
            input_border_color_hover_dark="*primary_700",
            input_border_color_focus_dark="#facc15",
            input_shadow="0 6px 30px rgba(0, 0, 0, 0.1)",
            input_shadow_dark="0 6px 30px rgba(0, 0, 0, 0.45)",
            panel_background_fill="rgba(255, 255, 255, 0.82)",
            panel_background_fill_dark="rgba(14, 25, 19, 0.9)",
            panel_border_color="*primary_200",
            panel_border_color_dark="*primary_800",
            slider_color="*secondary_400",
            slider_color_dark="*secondary_500",
            checkbox_label_background_fill="rgba(255, 255, 255, 0.8)",
            checkbox_label_background_fill_dark="rgba(17, 30, 24, 0.9)",
            checkbox_label_border_color="*secondary_200",
            checkbox_label_border_color_dark="*secondary_700",
            checkbox_label_text_color="*secondary_800",
            checkbox_label_text_color_dark="*secondary_50",
            link_text_color="#b91c1c",
            link_text_color_hover="#f59e0b",
            link_text_color_dark="#fbbf24",
            link_text_color_hover_dark="#f59e0b",
            loader_color="*primary_400",
            loader_color_dark="*primary_300",
            button_large_padding="28px",
        )


christmas = Christmas()