From 78292594b6cfc56af07e5cdc71db6de440a7a606 Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:23:16 +0530 Subject: [PATCH] Nc Style: Add new light theme config in windicss config file (#9322) * fix(nc-gui): add missing green & base colors in themev3 colors * fix(nc-gui): add lightTheme config * fix(nc-gui): add nc suffix in light theme * fix(nc-gui): update light theme format * fix(nc-gui): remove nested level from light theme --- .../integrations/IntegrationsTab.vue | 3 +- packages/nc-gui/utils/colorsUtils.ts | 224 ++++++++++++++++++ packages/nc-gui/windi.config.ts | 7 +- 3 files changed, 232 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/components/workspace/integrations/IntegrationsTab.vue b/packages/nc-gui/components/workspace/integrations/IntegrationsTab.vue index d493e3532b..15b6f22093 100644 --- a/packages/nc-gui/components/workspace/integrations/IntegrationsTab.vue +++ b/packages/nc-gui/components/workspace/integrations/IntegrationsTab.vue @@ -244,7 +244,8 @@ const handleAddIntegration = (category: IntegrationCategoryType, integration: In
/^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex) @@ -353,3 +369,211 @@ export function isColorDark(hexColor: string) { export function getEnumColorByIndex(i: number, mode: 'light' | 'dark' = 'light') { return enumColor[mode][i % enumColor[mode].length] } + +export const lightTheme = { + content: { + 'nc-grey': { + extreme: themeV3Colors.base['black'], + emphasis: themeV3Colors.gray[900], + DEFAULT: themeV3Colors.gray[800], + subtle: themeV3Colors.gray[700], + subtle2: themeV3Colors.gray[600], + muted: themeV3Colors.gray[500], + }, + 'nc-brand': { + DEFAULT: themeV3Colors.brand[500], + disabled: themeV3Colors.brand[600], + hover: themeV3Colors.gray[300], + }, + 'nc-inverted-primary': { + DEFAULT: themeV3Colors.base['white'], + hover: themeV3Colors.base['white'], + disabled: themeV3Colors.gray[400], + }, + 'nc-inverted-secondary': { + DEFAULT: themeV3Colors.gray[700], + hover: themeV3Colors.gray[700], + disabled: themeV3Colors.gray[400], + }, + 'nc-red': { + dark: themeV3Colors.red[700], + medium: themeV3Colors.red[500], + light: themeV3Colors.red[300], + }, + 'nc-green': { + dark: themeV3Colors.green[700], + medium: themeV3Colors.green[500], + light: themeV3Colors.green[300], + }, + 'nc-yellow': { + dark: themeV3Colors.yellow[700], + medium: themeV3Colors.yellow[500], + light: themeV3Colors.yellow[300], + }, + 'nc-blue': { + dark: themeV3Colors.blue[700], + medium: themeV3Colors.blue[500], + light: themeV3Colors.blue[300], + }, + 'nc-purple': { + dark: themeV3Colors.purple[700], + medium: themeV3Colors.purple[500], + light: themeV3Colors.purple[300], + }, + 'nc-pink': { + dark: themeV3Colors.pink[700], + medium: themeV3Colors.pink[500], + light: themeV3Colors.pink[300], + }, + 'nc-orange': { + dark: themeV3Colors.orange[700], + medium: themeV3Colors.orange[500], + light: themeV3Colors.orange[300], + }, + 'nc-maroon': { + dark: themeV3Colors.maroon[700], + medium: themeV3Colors.maroon[500], + light: themeV3Colors.maroon[300], + }, + }, + background: { + 'nc-default': themeV3Colors.base['white'], + 'nc-brand': themeV3Colors.brand[50], + 'nc-gray': { + extralight: themeV3Colors.gray[50], + light: themeV3Colors.gray[100], + medium: themeV3Colors.gray[200], + dark: themeV3Colors.gray[300], + extradark: themeV3Colors.gray[400], + }, + 'nc-red': { + light: themeV3Colors.red[50], + dark: themeV3Colors.red[100], + }, + 'nc-green': { + light: themeV3Colors.green[50], + dark: themeV3Colors.green[100], + }, + 'nc-yellow': { + light: themeV3Colors.yellow[50], + dark: themeV3Colors.yellow[100], + }, + 'nc-blue': { + light: themeV3Colors.blue[50], + dark: themeV3Colors.blue[100], + }, + 'nc-purple': { + light: themeV3Colors.purple[50], + dark: themeV3Colors.purple[100], + }, + 'nc-pink': { + light: themeV3Colors.pink[50], + dark: themeV3Colors.pink[100], + }, + 'nc-orange': { + light: themeV3Colors.orange[50], + dark: themeV3Colors.orange[100], + }, + 'nc-maroon': { + light: themeV3Colors.maroon[50], + dark: themeV3Colors.maroon[100], + }, + }, + border: { + 'nc-brand': themeV3Colors.brand[500], + 'nc-gray': { + extralight: themeV3Colors.gray[50], + light: themeV3Colors.gray[100], + medium: themeV3Colors.gray[200], + dark: themeV3Colors.gray[300], + extradark: themeV3Colors.gray[400], + }, + 'nc-red': { + DEFAULT: themeV3Colors.red[500], + }, + 'nc-green': { + DEFAULT: themeV3Colors.green[500], + }, + 'nc-yellow': { + DEFAULT: themeV3Colors.yellow[500], + }, + 'nc-blue': { + DEFAULT: themeV3Colors.blue[500], + }, + 'nc-purple': { + DEFAULT: themeV3Colors.purple[500], + }, + 'nc-pink': { + DEFAULT: themeV3Colors.pink[500], + }, + 'nc-orange': { + DEFAULT: themeV3Colors.orange[500], + }, + 'nc-maroon': { + DEFAULT: themeV3Colors.maroon[500], + }, + }, + fill: { + 'nc-fill-primary': { + DEFAULT: themeV3Colors.brand[500], + hover: themeV3Colors.brand[600], + disabled: themeV3Colors.gray[300], + disabled2: themeV3Colors.brand[200], + }, + 'nc-fill-secondary': { + DEFAULT: themeV3Colors.base['white'], + hover: themeV3Colors.gray[50], + disabled: themeV3Colors.base['white'], + }, + 'nc-fill-warning': { + DEFAULT: themeV3Colors.red[500], + hover: themeV3Colors.red[600], + disabled: themeV3Colors.gray[50], + }, + 'nc-fill-success': { + DEFAULT: themeV3Colors.green[500], + hover: themeV3Colors.green[600], + disabled: themeV3Colors.gray[50], + }, + 'nc-fill-red': { + dark: themeV3Colors.red[700], + medium: themeV3Colors.red[500], + light: themeV3Colors.red[300], + }, + 'nc-fill-green': { + dark: themeV3Colors.green[700], + medium: themeV3Colors.green[500], + light: themeV3Colors.green[300], + }, + 'nc-fill-yellow': { + dark: themeV3Colors.yellow[700], + medium: themeV3Colors.yellow[500], + light: themeV3Colors.yellow[300], + }, + 'nc-fill-blue': { + dark: themeV3Colors.blue[700], + medium: themeV3Colors.blue[500], + light: themeV3Colors.blue[300], + }, + 'nc-fill-purple': { + dark: themeV3Colors.purple[700], + medium: themeV3Colors.purple[500], + light: themeV3Colors.purple[300], + }, + 'nc-fill-pink': { + dark: themeV3Colors.pink[700], + medium: themeV3Colors.pink[500], + light: themeV3Colors.pink[300], + }, + 'nc-fill-orange': { + dark: themeV3Colors.orange[700], + medium: themeV3Colors.orange[500], + light: themeV3Colors.orange[300], + }, + 'nc-fill-maroon': { + dark: themeV3Colors.maroon[700], + medium: themeV3Colors.maroon[500], + light: themeV3Colors.maroon[300], + }, + }, +} diff --git a/packages/nc-gui/windi.config.ts b/packages/nc-gui/windi.config.ts index 3807bdf378..32dd992411 100644 --- a/packages/nc-gui/windi.config.ts +++ b/packages/nc-gui/windi.config.ts @@ -11,7 +11,7 @@ import animations from '@windicss/plugin-animations' // @ts-expect-error no types for plugin-question-mark import questionMark from '@windicss/plugin-question-mark' -import { theme as colors, themeColors, themeV2Colors, themeV3Colors } from './utils/colorsUtils' +import { theme as colors, lightTheme, themeColors, themeV2Colors, themeV3Colors } from './utils/colorsUtils' const isEE = process.env.EE @@ -99,14 +99,17 @@ export default defineConfig({ textColor: { primary: 'rgba(var(--color-primary), var(--tw-text-opacity))', accent: 'rgba(var(--color-accent), var(--tw-text-opacity))', + ...lightTheme.content, }, borderColor: { primary: 'rgba(51, 102, 255, 1)', accent: 'rgba(var(--color-accent), var(--tw-border-opacity))', + ...lightTheme.border, }, backgroundColor: { primary: 'rgba(var(--color-primary), var(--tw-bg-opacity))', accent: 'rgba(var(--color-accent), var(--tw-bg-opacity))', + ...lightTheme.background, }, ringColor: { primary: 'rgba(var(--color-primary), var(--tw-ring-opacity))', @@ -117,12 +120,14 @@ export default defineConfig({ hover: '0px 0px 4px 0px rgba(0, 0, 0, 0.24)', selected: '0px 0px 0px 2px var(--ant-primary-color-outline)', error: '0px 0px 0px 2px var(--ant-error-color-outline)', + focus: '0px 0px 0px 2px #fff, 0px 0px 0px 4px #3069fe', }, colors: { ...windiColors, ...themeColors, ...themeV2Colors, ...themeV3Colors, + ...lightTheme.fill, primary: 'rgba(var(--color-primary), var(--tw-bg-opacity))', accent: 'rgba(var(--color-accent), var(--tw-bg-opacity))', dark: colors.dark,