diff --git a/themes/default.ts b/themes/default.ts index 7a010338..52e361d3 100644 --- a/themes/default.ts +++ b/themes/default.ts @@ -83,6 +83,8 @@ const tokens = { } } +// TODO body background isn't themed + export const defaultTheme = { extend: { colors: { diff --git a/themes/list/blue.ts b/themes/list/blue.ts index 90bd3c7e..b98c98d9 100644 --- a/themes/list/blue.ts +++ b/themes/list/blue.ts @@ -1,19 +1,252 @@ import { createTheme } from "../types"; +const tokens = { + purple: { + c50: "#aac5ff", + c100: "#82a9ff", + c200: "#5988ec", + c300: "#4472d6", + c400: "#315ebf", + c500: "#284687", + c600: "#1f3564", + c700: "#18284a", + c800: "#111c34", + c900: "#0b1322" + }, + shade: { + c50: "#756790", + c100: "#60527a", + c200: "#4a3f60", + c300: "#3c324f", + c400: "#302741", + c500: "#251e32", + c600: "#1d1728", + c700: "#181322", + c800: "#130f1b", + c900: "#0d0a12" + }, + ash: { + c50: "#7f859b", + c100: "#5b627b", + c200: "#444b64", + c300: "#2b344e", + c400: "#202842", + c500: "#1c243c", + c600: "#171d32", + c700: "#131829", + c800: "#101420", + c900: "#0c0f16" + }, + blue: { + c50: "#adb4f5", + c100: "#7981cc", + c200: "#5d65ae", + c300: "#3b438c", + c400: "#2a3171", + c500: "#1f2450", + c600: "#1b1f41", + c700: "#171b36", + c800: "#101120", + c900: "#0b0c13" + } +}; + export default createTheme({ name: "blue", extend: { colors: { themePreview: { - primary: "#3A4FAA", - secondary: "#303487", - ghost: "white", + primary: tokens.blue.c200, + secondary: tokens.shade.c50 }, - // light bar - lightBar: { - light: "#3A4FAA", + pill: { + background: tokens.shade.c300, + backgroundHover: tokens.shade.c200, + highlight: tokens.blue.c200 }, + + global: { + accentA: tokens.blue.c200, + accentB: tokens.blue.c300 + }, + + lightBar: { + light: tokens.blue.c400 + }, + + buttons: { + toggle: tokens.purple.c300, + toggleDisabled: tokens.ash.c500, + + secondary: tokens.ash.c700, + secondaryHover: tokens.ash.c700, + purple: tokens.purple.c500, + purpleHover: tokens.purple.c400, + cancel: tokens.ash.c500, + cancelHover: tokens.ash.c300 + }, + + background: { + main: tokens.shade.c900, + secondary: tokens.shade.c600, + secondaryHover: tokens.shade.c400, + accentA: tokens.purple.c500, + accentB: tokens.blue.c500 + }, + + type: { + logo: tokens.purple.c100, + text: tokens.shade.c50, + dimmed: tokens.shade.c50, + divider: tokens.ash.c500, + secondary: tokens.ash.c100, + link: tokens.purple.c100, + linkHover: tokens.purple.c50 + }, + + search: { + background: tokens.shade.c500, + focused: tokens.shade.c400, + placeholder: tokens.shade.c100, + icon: tokens.shade.c100 + }, + + mediaCard: { + hoverBackground: tokens.shade.c600, + hoverAccent: tokens.shade.c50, + hoverShadow: tokens.shade.c900, + shadow: tokens.shade.c700, + barColor: tokens.ash.c200, + barFillColor: tokens.purple.c100, + badge: tokens.shade.c700, + badgeText: tokens.ash.c100 + }, + + largeCard: { + background: tokens.shade.c600, + icon: tokens.purple.c400 + }, + + dropdown: { + background: tokens.shade.c600, + altBackground: tokens.shade.c700, + hoverBackground: tokens.shade.c500, + text: tokens.shade.c50, + secondary: tokens.shade.c100, + border: tokens.shade.c400, + contentBackground: tokens.shade.c500 + }, + + authentication: { + border: tokens.shade.c300, + inputBg: tokens.shade.c600, + inputBgHover: tokens.shade.c500, + wordBackground: tokens.shade.c500, + copyText: tokens.shade.c100, + copyTextHover: tokens.ash.c50 + }, + + settings: { + sidebar: { + activeLink: tokens.shade.c600, + badge: tokens.shade.c900, + + type: { + secondary: tokens.shade.c200, + inactive: tokens.shade.c50, + icon: tokens.shade.c50, + iconActivated: tokens.purple.c200, + activated: tokens.purple.c50 + } + }, + + card: { + border: tokens.shade.c400, + background: tokens.shade.c400, + altBackground: tokens.shade.c400 + }, + + saveBar: { + background: tokens.shade.c800 + } + }, + + utils: { + divider: tokens.ash.c300 + }, + + errors: { + card: tokens.shade.c800, + border: tokens.ash.c500, + + type: { + secondary: tokens.ash.c100 + } + }, + + about: { + circle: tokens.ash.c500, + circleText: tokens.ash.c50 + }, + + editBadge: { + bg: tokens.ash.c500, + bgHover: tokens.ash.c400, + text: tokens.ash.c50 + }, + + progress: { + background: tokens.ash.c50, + preloaded: tokens.ash.c50, + filled: tokens.purple.c200 + }, + + video: { + buttonBackground: tokens.ash.c200, + + autoPlay: { + background: tokens.ash.c700, + hover: tokens.ash.c500 + }, + + scraping: { + card: tokens.shade.c700, + loading: tokens.purple.c200, + noresult: tokens.ash.c100 + }, + + audio: { + set: tokens.purple.c200 + }, + + context: { + background: tokens.ash.c900, + light: tokens.shade.c50, + border: tokens.ash.c600, + hoverColor: tokens.ash.c600, + buttonFocus: tokens.ash.c500, + flagBg: tokens.ash.c500, + inputBg: tokens.ash.c600, + buttonOverInputHover: tokens.ash.c500, + inputPlaceholder: tokens.ash.c200, + cardBorder: tokens.ash.c700, + slider: tokens.ash.c50, + sliderFilled: tokens.purple.c200, + + buttons: { + list: tokens.ash.c700, + active: tokens.ash.c900 + }, + + closeHover: tokens.ash.c800, + + type: { + secondary: tokens.ash.c200, + accent: tokens.purple.c200 + } + } + } } } -}) +}); diff --git a/themes/list/gray.ts b/themes/list/gray.ts index 1dc92a1d..d5fc3d28 100644 --- a/themes/list/gray.ts +++ b/themes/list/gray.ts @@ -1,19 +1,252 @@ import { createTheme } from "../types"; +const tokens = { + purple: { + c50: "#d5b8f1", + c100: "#c096ea", + c200: "#a378cd", + c300: "#8d69b0", + c400: "#785998", + c500: "#57456a", + c600: "#41344e", + c700: "#31283a", + c800: "#221c29", + c900: "#16121b" + }, + shade: { + c50: "#7c7c7c", + c100: "#666666", + c200: "#4f4f4f", + c300: "#404040", + c400: "#343434", + c500: "#282828", + c600: "#202020", + c700: "#1a1a1a", + c800: "#151515", + c900: "#0e0e0e" + }, + ash: { + c50: "#8d8d8d", + c100: "#6b6b6b", + c200: "#545454", + c300: "#3c3c3c", + c400: "#313131", + c500: "#2c2c2c", + c600: "#252525", + c700: "#1e1e1e", + c800: "#181818", + c900: "#111111" + }, + blue: { + c50: "#bfbfe4", + c100: "#9d9da8", + c200: "#868686", + c300: "#626265", + c400: "#484853", + c500: "#35353a", + c600: "#2d2d2f", + c700: "#272727", + c800: "#181818", + c900: "#0f0f0f" + } +}; + export default createTheme({ name: "gray", extend: { colors: { themePreview: { - primary: "#343441", - secondary: "#0C0C16", - ghost: "white", + primary: tokens.blue.c200, + secondary: tokens.shade.c50 }, - // light bar - lightBar: { - light: "#343441" + pill: { + background: tokens.shade.c300, + backgroundHover: tokens.shade.c200, + highlight: tokens.blue.c200 }, + + global: { + accentA: tokens.blue.c200, + accentB: tokens.blue.c300 + }, + + lightBar: { + light: tokens.blue.c400 + }, + + buttons: { + toggle: tokens.purple.c300, + toggleDisabled: tokens.ash.c500, + + secondary: tokens.ash.c700, + secondaryHover: tokens.ash.c700, + purple: tokens.purple.c500, + purpleHover: tokens.purple.c400, + cancel: tokens.ash.c500, + cancelHover: tokens.ash.c300 + }, + + background: { + main: tokens.shade.c900, + secondary: tokens.shade.c600, + secondaryHover: tokens.shade.c400, + accentA: tokens.purple.c500, + accentB: tokens.blue.c500 + }, + + type: { + logo: tokens.purple.c100, + text: tokens.shade.c50, + dimmed: tokens.shade.c50, + divider: tokens.ash.c500, + secondary: tokens.ash.c100, + link: tokens.purple.c100, + linkHover: tokens.purple.c50 + }, + + search: { + background: tokens.shade.c500, + focused: tokens.shade.c400, + placeholder: tokens.shade.c100, + icon: tokens.shade.c100 + }, + + mediaCard: { + hoverBackground: tokens.shade.c600, + hoverAccent: tokens.shade.c50, + hoverShadow: tokens.shade.c900, + shadow: tokens.shade.c700, + barColor: tokens.ash.c200, + barFillColor: tokens.purple.c100, + badge: tokens.shade.c700, + badgeText: tokens.ash.c100 + }, + + largeCard: { + background: tokens.shade.c600, + icon: tokens.purple.c400 + }, + + dropdown: { + background: tokens.shade.c600, + altBackground: tokens.shade.c700, + hoverBackground: tokens.shade.c500, + text: tokens.shade.c50, + secondary: tokens.shade.c100, + border: tokens.shade.c400, + contentBackground: tokens.shade.c500 + }, + + authentication: { + border: tokens.shade.c300, + inputBg: tokens.shade.c600, + inputBgHover: tokens.shade.c500, + wordBackground: tokens.shade.c500, + copyText: tokens.shade.c100, + copyTextHover: tokens.ash.c50 + }, + + settings: { + sidebar: { + activeLink: tokens.shade.c600, + badge: tokens.shade.c900, + + type: { + secondary: tokens.shade.c200, + inactive: tokens.shade.c50, + icon: tokens.shade.c50, + iconActivated: tokens.purple.c200, + activated: tokens.purple.c50 + } + }, + + card: { + border: tokens.shade.c400, + background: tokens.shade.c400, + altBackground: tokens.shade.c400 + }, + + saveBar: { + background: tokens.shade.c800 + } + }, + + utils: { + divider: tokens.ash.c300 + }, + + errors: { + card: tokens.shade.c800, + border: tokens.ash.c500, + + type: { + secondary: tokens.ash.c100 + } + }, + + about: { + circle: tokens.ash.c500, + circleText: tokens.ash.c50 + }, + + editBadge: { + bg: tokens.ash.c500, + bgHover: tokens.ash.c400, + text: tokens.ash.c50 + }, + + progress: { + background: tokens.ash.c50, + preloaded: tokens.ash.c50, + filled: tokens.purple.c200 + }, + + video: { + buttonBackground: tokens.ash.c200, + + autoPlay: { + background: tokens.ash.c700, + hover: tokens.ash.c500 + }, + + scraping: { + card: tokens.shade.c700, + loading: tokens.purple.c200, + noresult: tokens.ash.c100 + }, + + audio: { + set: tokens.purple.c200 + }, + + context: { + background: tokens.ash.c900, + light: tokens.shade.c50, + border: tokens.ash.c600, + hoverColor: tokens.ash.c600, + buttonFocus: tokens.ash.c500, + flagBg: tokens.ash.c500, + inputBg: tokens.ash.c600, + buttonOverInputHover: tokens.ash.c500, + inputPlaceholder: tokens.ash.c200, + cardBorder: tokens.ash.c700, + slider: tokens.ash.c50, + sliderFilled: tokens.purple.c200, + + buttons: { + list: tokens.ash.c700, + active: tokens.ash.c900 + }, + + closeHover: tokens.ash.c800, + + type: { + secondary: tokens.ash.c200, + accent: tokens.purple.c200 + } + } + } } } -}) +}); diff --git a/themes/list/red.ts b/themes/list/red.ts index dfab4554..1c599b9b 100644 --- a/themes/list/red.ts +++ b/themes/list/red.ts @@ -1,19 +1,252 @@ import { createTheme } from "../types"; +const tokens = { + purple: { + c50: "#aaffd5", + c100: "#82ffc0", + c200: "#59eca3", + c300: "#44d68d", + c400: "#31bf78", + c500: "#288757", + c600: "#1f6441", + c700: "#184a31", + c800: "#113422", + c900: "#0b2216" + }, + shade: { + c50: "#906771", + c100: "#7a525c", + c200: "#603f47", + c300: "#4f3239", + c400: "#41272d", + c500: "#321e23", + c600: "#28171b", + c700: "#221317", + c800: "#1b0f12", + c900: "#120a0c" + }, + ash: { + c50: "#9b7f94", + c100: "#7b5b73", + c200: "#64445c", + c300: "#4e2b46", + c400: "#42203a", + c500: "#3c1c34", + c600: "#32172b", + c700: "#291324", + c800: "#20101c", + c900: "#160c15" + }, + blue: { + c50: "#f5adb4", + c100: "#cc7981", + c200: "#ae5d65", + c300: "#8c3b43", + c400: "#712a31", + c500: "#501f24", + c600: "#411b1f", + c700: "#36171b", + c800: "#201011", + c900: "#130b0c" + } +}; + export default createTheme({ name: "red", extend: { colors: { themePreview: { - primary: "#A8335E", - secondary: "#6A2441", - ghost: "white", + primary: tokens.blue.c200, + secondary: tokens.shade.c50 }, - // light bar - lightBar: { - light: "#A8335E" + pill: { + background: tokens.shade.c300, + backgroundHover: tokens.shade.c200, + highlight: tokens.blue.c200 }, + + global: { + accentA: tokens.blue.c200, + accentB: tokens.blue.c300 + }, + + lightBar: { + light: tokens.blue.c400 + }, + + buttons: { + toggle: tokens.purple.c300, + toggleDisabled: tokens.ash.c500, + + secondary: tokens.ash.c700, + secondaryHover: tokens.ash.c700, + purple: tokens.purple.c500, + purpleHover: tokens.purple.c400, + cancel: tokens.ash.c500, + cancelHover: tokens.ash.c300 + }, + + background: { + main: tokens.shade.c900, + secondary: tokens.shade.c600, + secondaryHover: tokens.shade.c400, + accentA: tokens.purple.c500, + accentB: tokens.blue.c500 + }, + + type: { + logo: tokens.purple.c100, + text: tokens.shade.c50, + dimmed: tokens.shade.c50, + divider: tokens.ash.c500, + secondary: tokens.ash.c100, + link: tokens.purple.c100, + linkHover: tokens.purple.c50 + }, + + search: { + background: tokens.shade.c500, + focused: tokens.shade.c400, + placeholder: tokens.shade.c100, + icon: tokens.shade.c100 + }, + + mediaCard: { + hoverBackground: tokens.shade.c600, + hoverAccent: tokens.shade.c50, + hoverShadow: tokens.shade.c900, + shadow: tokens.shade.c700, + barColor: tokens.ash.c200, + barFillColor: tokens.purple.c100, + badge: tokens.shade.c700, + badgeText: tokens.ash.c100 + }, + + largeCard: { + background: tokens.shade.c600, + icon: tokens.purple.c400 + }, + + dropdown: { + background: tokens.shade.c600, + altBackground: tokens.shade.c700, + hoverBackground: tokens.shade.c500, + text: tokens.shade.c50, + secondary: tokens.shade.c100, + border: tokens.shade.c400, + contentBackground: tokens.shade.c500 + }, + + authentication: { + border: tokens.shade.c300, + inputBg: tokens.shade.c600, + inputBgHover: tokens.shade.c500, + wordBackground: tokens.shade.c500, + copyText: tokens.shade.c100, + copyTextHover: tokens.ash.c50 + }, + + settings: { + sidebar: { + activeLink: tokens.shade.c600, + badge: tokens.shade.c900, + + type: { + secondary: tokens.shade.c200, + inactive: tokens.shade.c50, + icon: tokens.shade.c50, + iconActivated: tokens.purple.c200, + activated: tokens.purple.c50 + } + }, + + card: { + border: tokens.shade.c400, + background: tokens.shade.c400, + altBackground: tokens.shade.c400 + }, + + saveBar: { + background: tokens.shade.c800 + } + }, + + utils: { + divider: tokens.ash.c300 + }, + + errors: { + card: tokens.shade.c800, + border: tokens.ash.c500, + + type: { + secondary: tokens.ash.c100 + } + }, + + about: { + circle: tokens.ash.c500, + circleText: tokens.ash.c50 + }, + + editBadge: { + bg: tokens.ash.c500, + bgHover: tokens.ash.c400, + text: tokens.ash.c50 + }, + + progress: { + background: tokens.ash.c50, + preloaded: tokens.ash.c50, + filled: tokens.purple.c200 + }, + + video: { + buttonBackground: tokens.ash.c200, + + autoPlay: { + background: tokens.ash.c700, + hover: tokens.ash.c500 + }, + + scraping: { + card: tokens.shade.c700, + loading: tokens.purple.c200, + noresult: tokens.ash.c100 + }, + + audio: { + set: tokens.purple.c200 + }, + + context: { + background: tokens.ash.c900, + light: tokens.shade.c50, + border: tokens.ash.c600, + hoverColor: tokens.ash.c600, + buttonFocus: tokens.ash.c500, + flagBg: tokens.ash.c500, + inputBg: tokens.ash.c600, + buttonOverInputHover: tokens.ash.c500, + inputPlaceholder: tokens.ash.c200, + cardBorder: tokens.ash.c700, + slider: tokens.ash.c50, + sliderFilled: tokens.purple.c200, + + buttons: { + list: tokens.ash.c700, + active: tokens.ash.c900 + }, + + closeHover: tokens.ash.c800, + + type: { + secondary: tokens.ash.c200, + accent: tokens.purple.c200 + } + } + } } } -}) +}); diff --git a/themes/list/teal.ts b/themes/list/teal.ts index 681b63da..cbae4748 100644 --- a/themes/list/teal.ts +++ b/themes/list/teal.ts @@ -1,19 +1,252 @@ import { createTheme } from "../types"; +const tokens = { + purple: { + c50: "#aad7ff", + c100: "#82c4ff", + c200: "#59a8ec", + c300: "#4491d6", + c400: "#317dbf", + c500: "#285b87", + c600: "#1f4464", + c700: "#18334a", + c800: "#112434", + c900: "#0b1822" + }, + shade: { + c50: "#677c90", + c100: "#52667a", + c200: "#3f4f60", + c300: "#32404f", + c400: "#273441", + c500: "#1e2832", + c600: "#172028", + c700: "#131a22", + c800: "#0f151b", + c900: "#0a0e12" + }, + ash: { + c50: "#7f9b9b", + c100: "#5b7b7b", + c200: "#446463", + c300: "#2b4e4d", + c400: "#204241", + c500: "#1c3c3b", + c600: "#173232", + c700: "#132929", + c800: "#102020", + c900: "#0c1615" + }, + blue: { + c50: "#adf5d6", + c100: "#79cca8", + c200: "#5dae8b", + c300: "#3b8c69", + c400: "#2a7152", + c500: "#1f503b", + c600: "#1b4130", + c700: "#173629", + c800: "#102019", + c900: "#0b1310" + } +}; + export default createTheme({ name: "teal", extend: { colors: { themePreview: { - primary: "#469c51", - secondary: "#1a3d2b", - ghost: "white", + primary: tokens.blue.c200, + secondary: tokens.shade.c50 }, - // light bar - lightBar: { - light: "#469c51", + pill: { + background: tokens.shade.c300, + backgroundHover: tokens.shade.c200, + highlight: tokens.blue.c200 }, + + global: { + accentA: tokens.blue.c200, + accentB: tokens.blue.c300 + }, + + lightBar: { + light: tokens.blue.c400 + }, + + buttons: { + toggle: tokens.purple.c300, + toggleDisabled: tokens.ash.c500, + + secondary: tokens.ash.c700, + secondaryHover: tokens.ash.c700, + purple: tokens.purple.c500, + purpleHover: tokens.purple.c400, + cancel: tokens.ash.c500, + cancelHover: tokens.ash.c300 + }, + + background: { + main: tokens.shade.c900, + secondary: tokens.shade.c600, + secondaryHover: tokens.shade.c400, + accentA: tokens.purple.c500, + accentB: tokens.blue.c500 + }, + + type: { + logo: tokens.purple.c100, + text: tokens.shade.c50, + dimmed: tokens.shade.c50, + divider: tokens.ash.c500, + secondary: tokens.ash.c100, + link: tokens.purple.c100, + linkHover: tokens.purple.c50 + }, + + search: { + background: tokens.shade.c500, + focused: tokens.shade.c400, + placeholder: tokens.shade.c100, + icon: tokens.shade.c100 + }, + + mediaCard: { + hoverBackground: tokens.shade.c600, + hoverAccent: tokens.shade.c50, + hoverShadow: tokens.shade.c900, + shadow: tokens.shade.c700, + barColor: tokens.ash.c200, + barFillColor: tokens.purple.c100, + badge: tokens.shade.c700, + badgeText: tokens.ash.c100 + }, + + largeCard: { + background: tokens.shade.c600, + icon: tokens.purple.c400 + }, + + dropdown: { + background: tokens.shade.c600, + altBackground: tokens.shade.c700, + hoverBackground: tokens.shade.c500, + text: tokens.shade.c50, + secondary: tokens.shade.c100, + border: tokens.shade.c400, + contentBackground: tokens.shade.c500 + }, + + authentication: { + border: tokens.shade.c300, + inputBg: tokens.shade.c600, + inputBgHover: tokens.shade.c500, + wordBackground: tokens.shade.c500, + copyText: tokens.shade.c100, + copyTextHover: tokens.ash.c50 + }, + + settings: { + sidebar: { + activeLink: tokens.shade.c600, + badge: tokens.shade.c900, + + type: { + secondary: tokens.shade.c200, + inactive: tokens.shade.c50, + icon: tokens.shade.c50, + iconActivated: tokens.purple.c200, + activated: tokens.purple.c50 + } + }, + + card: { + border: tokens.shade.c400, + background: tokens.shade.c400, + altBackground: tokens.shade.c400 + }, + + saveBar: { + background: tokens.shade.c800 + } + }, + + utils: { + divider: tokens.ash.c300 + }, + + errors: { + card: tokens.shade.c800, + border: tokens.ash.c500, + + type: { + secondary: tokens.ash.c100 + } + }, + + about: { + circle: tokens.ash.c500, + circleText: tokens.ash.c50 + }, + + editBadge: { + bg: tokens.ash.c500, + bgHover: tokens.ash.c400, + text: tokens.ash.c50 + }, + + progress: { + background: tokens.ash.c50, + preloaded: tokens.ash.c50, + filled: tokens.purple.c200 + }, + + video: { + buttonBackground: tokens.ash.c200, + + autoPlay: { + background: tokens.ash.c700, + hover: tokens.ash.c500 + }, + + scraping: { + card: tokens.shade.c700, + loading: tokens.purple.c200, + noresult: tokens.ash.c100 + }, + + audio: { + set: tokens.purple.c200 + }, + + context: { + background: tokens.ash.c900, + light: tokens.shade.c50, + border: tokens.ash.c600, + hoverColor: tokens.ash.c600, + buttonFocus: tokens.ash.c500, + flagBg: tokens.ash.c500, + inputBg: tokens.ash.c600, + buttonOverInputHover: tokens.ash.c500, + inputPlaceholder: tokens.ash.c200, + cardBorder: tokens.ash.c700, + slider: tokens.ash.c50, + sliderFilled: tokens.purple.c200, + + buttons: { + list: tokens.ash.c700, + active: tokens.ash.c900 + }, + + closeHover: tokens.ash.c800, + + type: { + secondary: tokens.ash.c200, + accent: tokens.purple.c200 + } + } + } } } -}) +});