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)", }