From 3ce7f7772d0fd87fc604ff69ed6e76eda53440df Mon Sep 17 00:00:00 2001 From: anto Date: Mon, 17 Aug 2026 15:11:25 +0200 Subject: [PATCH] feat: add Passbolt theme to theme store (#2584) * feat: add Passbolt theme to theme store * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- packages/theme-store/src/index.ts | 2 ++ packages/theme-store/src/passbolt.ts | 51 ++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 packages/theme-store/src/passbolt.ts diff --git a/packages/theme-store/src/index.ts b/packages/theme-store/src/index.ts index 5c1256dbf..a3663f5d0 100644 --- a/packages/theme-store/src/index.ts +++ b/packages/theme-store/src/index.ts @@ -8,6 +8,7 @@ import { import { DRACULA_THEME } from "./dracula"; import { GITHUB_HIGH_CONTRAST_THEME } from "./github"; import { OPENSTATUS_ROUNDED_THEME, OPENSTATUS_THEME } from "./openstatus"; +import { PASSBOLT_THEME } from "./passbolt"; import { SUPABASE_THEME } from "./supabase"; import type { Theme, ThemeDefinition, ThemeMap } from "./types"; import { assertUniqueThemeIds } from "./utils"; @@ -18,6 +19,7 @@ const THEMES_LIST = [ SUPABASE_THEME, GITHUB_HIGH_CONTRAST_THEME, DRACULA_THEME, + PASSBOLT_THEME, ] satisfies Theme[]; // NOTE: runtime validation to ensure that the theme IDs are unique diff --git a/packages/theme-store/src/passbolt.ts b/packages/theme-store/src/passbolt.ts new file mode 100644 index 000000000..f15ee4ed4 --- /dev/null +++ b/packages/theme-store/src/passbolt.ts @@ -0,0 +1,51 @@ +import type { Theme } from "./types"; + +export const PASSBOLT_THEME = { + id: "passbolt", + name: "Passbolt", + author: { name: "@Passbolt", url: "https://passbolt.com" }, + light: { + "--background": "oklch(100% 0 0)", + "--foreground": "#000000", + "--border": "oklch(92.2% 0 0)", + "--input": "oklch(92.2% 0 0)", + "--primary": "#3b83d7", + + "--primary-foreground": "oklch(98.5% 0 0)", + "--secondary": "oklch(97% 0 0)", + "--secondary-foreground": "oklch(20.5% 0 0)", + "--muted": "oklch(97% 0 0)", + "--muted-foreground": "oklch(55.6% 0 0)", + "--accent": "oklch(97% 0 0)", + "--accent-foreground": "#0f0f0f", + + "--success": "#b6dcaf", + "--destructive": "#ffa6a6", + "--warning": "#ffdca8", + "--info": "#abd2f9", + + "--radius": "0.5rem", + }, + dark: { + "--background": "#171717", + "--foreground": "#ffffff", + "--border": "#333333", + "--input": "#000000", + + "--primary": "#58acff", + "--primary-foreground": "#ffffff", + "--secondary": "#000000", + "--secondary-foreground": "oklch(98.5% 0 0)", + "--muted": "#333333", + "--muted-foreground": "#999999", + "--accent": "oklch(26.9% 0 0)", + "--accent-foreground": "#ffffff", + + "--success": "#088869", + "--destructive": "#d40101", + "--warning": "#f2ae55", + "--info": "#4b92d9", + + "--radius": "0.5rem", + }, +} as const satisfies Theme; -- 2.51.2