theme_builder / colors.py
jsscclr's picture
Update colors.py
45c855c verified
from __future__ import annotations
class Color:
all = []
def __init__(
self,
c50: str,
c100: str,
c200: str,
c300: str,
c400: str,
c500: str,
c600: str,
c700: str,
c800: str,
c900: str,
c950: str,
name: str | None = None,
):
self.c50 = c50
self.c100 = c100
self.c200 = c200
self.c300 = c300
self.c400 = c400
self.c500 = c500
self.c600 = c600
self.c700 = c700
self.c800 = c800
self.c900 = c900
self.c950 = c950
self.name = name
Color.all.append(self)
def expand(self) -> list[str]:
return [
self.c50,
self.c100,
self.c200,
self.c300,
self.c400,
self.c500,
self.c600,
self.c700,
self.c800,
self.c900,
self.c950,
]
green = Color(
name="green",
c50="hsla(120, 50%, 91%, 1)",
c100="hsla(122, 48%, 84%, 1)",
c200="hsla(121, 45%, 74%, 1)",
c300="hsla(121, 41%, 56%, 1)",
c400="hsla(121, 41%, 56%, 1)",
c500="hsla(121, 50%, 42%, 1)",
c600="hsla(124, 100%, 25%, 1)",
c700="hsla(125, 85%, 23%, 1)",
c800="hsla(125, 70%, 21%, 1)",
c900="hsla(125, 53%, 18%, 1)",
c950="hsla(125, 46%, 14%, 1)",
)
purple = Color(
name="purple",
c50="hsla(258, 100%, 96%, 1)",
c100="hsla(260, 100%, 93%, 1)",
c200="hsla(260, 100%, 88%, 1)",
c300="hsla(262, 94%, 79%, 1)",
c400="hsla(262, 100%, 72%, 1)",
c500="hsla(264, 100%, 62%, 1)",
c600="hsla(265, 68%, 52%, 1)",
c700="hsla(264, 59%, 43%, 1)",
c800="hsla(261, 47%, 34%, 1)",
c900="hsla(259, 42%, 25%, 1)",
c950="hsla(259, 40%, 20%, 1)",
)
red = Color(
name="red",
c50="hsla(0, 95%, 95%, 1)",
c100="hsla(358, 100%, 92%, 1)",
c200="hsla(357, 100%, 86%, 1)",
c300="hsla(356, 100%, 75%, 1)",
c400="hsla(355, 98%, 64%, 1)",
c500="hsla(353, 83%, 47%, 1)",
c600="hsla(353, 78%, 40%, 1)",
c700="hsla(353, 72%, 33%, 1)",
c800="hsla(353, 60%, 28%, 1)",
c900="hsla(353, 50%, 21%, 1)",
c950="hsla(353, 45%, 18%, 1)",
)
blue = Color(
name="blue",
c50="hsla(212, 100%, 94%, 1)",
c100="hsla(215, 100%, 90%, 1)",
c200="hsla(215, 100%, 83%, 1)",
c300="hsla(215, 100%, 71%, 1)",
c400="hsla(215, 100%, 71%, 1)",
c500="hsla(216, 100%, 62%, 1)",
c600="hsla(221, 100%, 55%, 1)",
c700="hsla(221, 80%, 47%, 1)",
c800="hsla(221, 75%, 38%, 1)",
c900="hsla(221, 62%, 30%, 1)",
c950="hsla(221, 58%, 22%, 1)",
)
yellow = Color(
name="yellow",
c50="hsla(30, 100%, 92%, 1)",
c100="hsla(32, 100%, 84%, 1)",
c200="hsla(34, 98%, 70%, 1)",
c300="hsla(38, 93%, 48%, 1)",
c400="hsla(34, 100%, 41%, 1)",
c500="hsla(31, 100%, 34%, 1)",
c600="hsla(31, 93%, 30%, 1)",
c700="hsla(31, 83%, 25%, 1)",
c800="hsla(31, 60%, 21%, 1)",
c900="hsla(31, 51%, 16%, 1)",
c950="hsla(31, 45%, 14%, 1)",
)
grey = Color(
name="grey",
c50="hsla(220, 13%, 97%, 1)",
c100="hsla(228, 20%, 95%, 1)",
c200="hsla(228, 20%, 95%, 0.7)",
c300="hsla(228, 20%, 95%, 0.5)",
c400="hsla(220, 3%, 15%, 0.3)",
c500="hsla(220, 3%, 15%, 1)",
c600="hsla(220, 3%, 15%, 0.7)",
c700="hsla(220, 3%, 15%, 0.5)",
c800="hsla(220, 4%, 10%, 1)",
c900="hsla(220, 4%, 10%, 0.7)",
c950="hsla(220, 4%, 10%, 0.5)",
)
white = Color(
name="white",
c50="hsla(0, 0%, 100%, 1)", # white
c100="hsla(0, 0%, 100%, 0.9)", # whiteA90
c200="hsla(0, 0%, 100%, 0.8)", # whiteA80
c300="hsla(0, 0%, 100%, 0.7)", # whiteA70
c400="hsla(0, 0%, 100%, 0.5)", # whiteA50
c500="hsla(0, 0%, 100%, 0.4)", # whiteA40
c600="hsla(0, 0%, 100%, 0.3)", # whiteA30
c700="hsla(0, 0%, 100%, 0.2)", # whiteA20
c800="hsla(0, 0%, 100%, 0.15)", # whiteA15
c900="hsla(0, 0%, 100%, 0.07)", # whiteA07
c950="hsla(0, 0%, 100%, 0)", # whiteA00
)
black = Color(
name="black",
c50="hsla(210, 26%, 7%, 1)", # black
c100="hsla(210, 26%, 7%, 0.86)", # blackA86
c200="hsla(210, 26%, 7%, 0.7)", # blackA70
c300="hsla(210, 26%, 9%, 0.6)", # blackA60
c400="hsla(207, 26%, 15%, 0.5)", # blackA50
c500="hsla(209, 26%, 19%, 0.4)", # blackA40
c600="hsla(209, 26%, 23%, 0.3)", # blackA30
c700="hsla(211, 26%, 28%, 0.2)", # blackA20
c800="hsla(211, 25%, 30%, 0.15)", # blackA15
c900="hsla(209, 26%, 34%, 0.07)", # blackA07
c950="hsla(210, 26%, 7%, 0)", # blackA00
)
purple_alpha = Color(
name="purple_alpha",
c50="hsla(262, 100%, 72%, 1)", # solid
c100="hsla(262, 100%, 72%, 0.9)", # purpleA90
c200="hsla(262, 100%, 72%, 0.8)", # purpleA80
c300="hsla(262, 100%, 72%, 0.7)", # purpleA70
c400="hsla(262, 100%, 72%, 0.6)", # purpleA60
c500="hsla(262, 100%, 72%, 0.5)", # purpleA50
c600="hsla(262, 100%, 72%, 0.4)", # purpleA40
c700="hsla(262, 100%, 72%, 0.3)", # purpleA30
c800="hsla(262, 100%, 72%, 0.2)", # purpleA20
c900="hsla(262, 100%, 72%, 0.15)", # purpleA15
c950="hsla(262, 100%, 72%, 0)", # purpleA00
)
# Brand gradients
gradients = {
"gradientCanvaBrand": "linear-gradient(to right, #00c4cc, #7d2ae8)",
"gradientCanvaBrandDiagonal": "linear-gradient(to bottom right, #00c4cc, #7d2ae8)",
"gradientMagicFill": "linear-gradient(to bottom right, #03A5AB, #4f46e5)",
"gradientMagicBorder": "linear-gradient(to bottom right, #00c4cc, #4f46e5)",
}