diff --git a/packages/code-studio/src/styleguide/ThemeColors.module.scss b/packages/code-studio/src/styleguide/ThemeColors.module.scss index d5cd4bdb89..1ece108592 100644 --- a/packages/code-studio/src/styleguide/ThemeColors.module.scss +++ b/packages/code-studio/src/styleguide/ThemeColors.module.scss @@ -1,3 +1,17 @@ +.themeColorsPalette { + display: grid; + grid-template-columns: repeat(15, 1fr); + gap: 1px; + align-items: center; + + .swatch { + display: flex; + aspect-ratio: 4/3; + align-items: start; + justify-content: end; + } +} + .themeColors { --swatch-height: 35px; --column-gap: 14px; @@ -33,7 +47,12 @@ white-space: nowrap; text-overflow: ellipsis; } + } +} +.themeColors, +.themeColorsPalette { + .swatch { // hide copy swatch button until hover button { opacity: 0; diff --git a/packages/code-studio/src/styleguide/ThemeColors.tsx b/packages/code-studio/src/styleguide/ThemeColors.tsx index 9d631d99ba..63b1226b96 100644 --- a/packages/code-studio/src/styleguide/ThemeColors.tsx +++ b/packages/code-studio/src/styleguide/ThemeColors.tsx @@ -1,5 +1,5 @@ /* eslint-disable react/jsx-props-no-spreading */ -import React, { useMemo } from 'react'; +import React, { Fragment, useMemo } from 'react'; import cl from 'classnames'; import { CopyButton, Tooltip, useTheme } from '@deephaven/components'; import { ColorUtils } from '@deephaven/utils'; @@ -34,66 +34,122 @@ export function ThemeColors(): JSX.Element { return ( <> - {Object.entries(swatchDataGroups).map(([label, data], i) => ( -
-

{label}

-
- {Object.entries(data).map(([group, swatchData]) => ( -
- - {group} - - {swatchData.map(({ isLabel, name, value, note }) => - isLabel === true ? ( - - {name} - - ) : ( -
0 - ? INVALID_COLOR_BORDER_STYLE - : undefined, - color: `var(--dh-color-${contrastColor(value)})`, - }} - > - -
{name}
-
{value}
-
{ColorUtils.normalizeCssColor(value, true)}
-
- {name.replace('--dh-color-', '')} - {name.endsWith('-hue') || note != null ? ( - {note ?? value} - ) : null} - { + if (label === 'Theme Color Palette') { + return ( +
+

{label}

+ +
+ {Object.entries(data).map(([group, swatchData], index) => ( + + {(index === 0 || index === 1) && + swatchData.map(({ name }, j) => ( +
+ {name.split('-').pop()} +
+ ))} +
{group}
+ {swatchData.map(({ name, value }) => ( +
0 + ? INVALID_COLOR_BORDER_STYLE + : undefined, color: `var(--dh-color-${contrastColor(value)})`, }} - /> -
- ) - )} + className={cl(styles.swatch, 'px-0')} + > + +
{name}
+
{value}
+
{ColorUtils.normalizeCssColor(value, true)}
+
+ +
+ ))} + + ))}
- ))} +
+ ); + } + return ( +
+

{label}

+
+ {Object.entries(data).map(([group, swatchData]) => ( +
+ + {group} + + {swatchData.map(({ isLabel, name, value, note }) => + isLabel === true ? ( + + {name} + + ) : ( +
0 + ? INVALID_COLOR_BORDER_STYLE + : undefined, + color: `var(--dh-color-${contrastColor(value)})`, + }} + > + +
{name}
+
{value}
+
{ColorUtils.normalizeCssColor(value, true)}
+
+ {name.replace('--dh-color-', '')} + {name.endsWith('-hue') || note != null ? ( + {note ?? value} + ) : null} + +
+ ) + )} +
+ ))} +
-
- ))} + ); + })} ); } diff --git a/packages/code-studio/src/styleguide/colorUtils.ts b/packages/code-studio/src/styleguide/colorUtils.ts index dc2094ab51..4c2501645e 100644 --- a/packages/code-studio/src/styleguide/colorUtils.ts +++ b/packages/code-studio/src/styleguide/colorUtils.ts @@ -14,6 +14,7 @@ const REASSIGN_VARIABLE_GROUPS: Record = { '--dh-color-surface-bg': 'General', '--dh-color-fg': 'General', '--dh-color-content-bg': 'General', + '--dh-color-subdued-content-bg': 'General', '--dh-color-dropshadow': 'General', '--dh-color-keyboard-selected-bg': 'Misc', '--dh-color-hover-border': 'Misc', @@ -22,7 +23,6 @@ const REASSIGN_VARIABLE_GROUPS: Record = { '--dh-color-visual-notice': 'Visual Status', '--dh-color-visual-info': 'Visual Status', '--dh-color-gray-bg': 'Default Background', - '--dh-color-blue-bg': 'Default Background', '--dh-color-red-bg': 'Default Background', '--dh-color-orange-bg': 'Default Background', '--dh-color-yellow-bg': 'Default Background', @@ -31,6 +31,7 @@ const REASSIGN_VARIABLE_GROUPS: Record = { '--dh-color-green-bg': 'Default Background', '--dh-color-seafoam-bg': 'Default Background', '--dh-color-cyan-bg': 'Default Background', + '--dh-color-blue-bg': 'Default Background', '--dh-color-indigo-bg': 'Default Background', '--dh-color-purple-bg': 'Default Background', '--dh-color-fuchsia-bg': 'Default Background', diff --git a/packages/components/src/theme/theme-dark/theme-dark-palette.css b/packages/components/src/theme/theme-dark/theme-dark-palette.css index d6ec5a6ac8..7856daac97 100644 --- a/packages/components/src/theme/theme-dark/theme-dark-palette.css +++ b/packages/components/src/theme/theme-dark/theme-dark-palette.css @@ -23,22 +23,6 @@ --dh-color-true-black-hsl: 0deg, 0%, 0%; --dh-color-true-white-hsl: 0deg, 0%, 100%; - /* Blue HSL components */ - --dh-color-blue-100-hsl: 222deg, 65.3%, 19.2%; - --dh-color-blue-200-hsl: 222deg, 66.2%, 25.5%; - --dh-color-blue-300-hsl: 222deg, 64.8%, 32.4%; - --dh-color-blue-400-hsl: 222deg, 63.2%, 39.4%; - --dh-color-blue-500-hsl: 222deg, 60.7%, 46.9%; - --dh-color-blue-600-hsl: 222deg, 68.2%, 54.3%; - --dh-color-blue-700-hsl: 222deg, 82.7%, 61.6%; - --dh-color-blue-800-hsl: 222deg, 93.8%, 68.4%; - --dh-color-blue-900-hsl: 222deg, 100%, 74.3%; - --dh-color-blue-1000-hsl: 222deg, 100%, 79.6%; - --dh-color-blue-1100-hsl: 221deg, 100%, 84.3%; - --dh-color-blue-1200-hsl: 221deg, 100%, 89%; - --dh-color-blue-1300-hsl: 222deg, 100%, 92.9%; - --dh-color-blue-1400-hsl: 224deg, 100%, 96.3%; - /* Reds HSL components */ --dh-color-red-100-hsl: 346deg, 54.3%, 18%; --dh-color-red-200-hsl: 345deg, 55%, 23.5%; @@ -167,6 +151,22 @@ --dh-color-cyan-1300-hsl: 186deg, 91.6%, 81.4%; --dh-color-cyan-1400-hsl: 186deg, 100%, 89.6%; + /* Blue HSL components */ + --dh-color-blue-100-hsl: 222deg, 65.3%, 19.2%; + --dh-color-blue-200-hsl: 222deg, 66.2%, 25.5%; + --dh-color-blue-300-hsl: 222deg, 64.8%, 32.4%; + --dh-color-blue-400-hsl: 222deg, 63.2%, 39.4%; + --dh-color-blue-500-hsl: 222deg, 60.7%, 46.9%; + --dh-color-blue-600-hsl: 222deg, 68.2%, 54.3%; + --dh-color-blue-700-hsl: 222deg, 82.7%, 61.6%; + --dh-color-blue-800-hsl: 222deg, 93.8%, 68.4%; + --dh-color-blue-900-hsl: 222deg, 100%, 74.3%; + --dh-color-blue-1000-hsl: 222deg, 100%, 79.6%; + --dh-color-blue-1100-hsl: 221deg, 100%, 84.3%; + --dh-color-blue-1200-hsl: 221deg, 100%, 89%; + --dh-color-blue-1300-hsl: 222deg, 100%, 92.9%; + --dh-color-blue-1400-hsl: 224deg, 100%, 96.3%; + /* Indigo HSL components */ --dh-color-indigo-100-hsl: 237deg, 58.1%, 24.3%; --dh-color-indigo-200-hsl: 236deg, 51.9%, 30.2%; @@ -252,22 +252,6 @@ --dh-color-black: hsl(var(--dh-color-black-hsl)); --dh-color-white: hsl(var(--dh-color-white-hsl)); - /* Blue */ - --dh-color-blue-100: hsl(var(--dh-color-blue-100-hsl)); - --dh-color-blue-200: hsl(var(--dh-color-blue-200-hsl)); - --dh-color-blue-300: hsl(var(--dh-color-blue-300-hsl)); - --dh-color-blue-400: hsl(var(--dh-color-blue-400-hsl)); - --dh-color-blue-500: hsl(var(--dh-color-blue-500-hsl)); - --dh-color-blue-600: hsl(var(--dh-color-blue-600-hsl)); - --dh-color-blue-700: hsl(var(--dh-color-blue-700-hsl)); - --dh-color-blue-800: hsl(var(--dh-color-blue-800-hsl)); - --dh-color-blue-900: hsl(var(--dh-color-blue-900-hsl)); - --dh-color-blue-1000: hsl(var(--dh-color-blue-1000-hsl)); - --dh-color-blue-1100: hsl(var(--dh-color-blue-1100-hsl)); - --dh-color-blue-1200: hsl(var(--dh-color-blue-1200-hsl)); - --dh-color-blue-1300: hsl(var(--dh-color-blue-1300-hsl)); - --dh-color-blue-1400: hsl(var(--dh-color-blue-1400-hsl)); - /* Red */ --dh-color-red-100: hsl(var(--dh-color-red-100-hsl)); --dh-color-red-200: hsl(var(--dh-color-red-200-hsl)); @@ -396,6 +380,22 @@ --dh-color-cyan-1300: hsl(var(--dh-color-cyan-1300-hsl)); --dh-color-cyan-1400: hsl(var(--dh-color-cyan-1400-hsl)); + /* Blue */ + --dh-color-blue-100: hsl(var(--dh-color-blue-100-hsl)); + --dh-color-blue-200: hsl(var(--dh-color-blue-200-hsl)); + --dh-color-blue-300: hsl(var(--dh-color-blue-300-hsl)); + --dh-color-blue-400: hsl(var(--dh-color-blue-400-hsl)); + --dh-color-blue-500: hsl(var(--dh-color-blue-500-hsl)); + --dh-color-blue-600: hsl(var(--dh-color-blue-600-hsl)); + --dh-color-blue-700: hsl(var(--dh-color-blue-700-hsl)); + --dh-color-blue-800: hsl(var(--dh-color-blue-800-hsl)); + --dh-color-blue-900: hsl(var(--dh-color-blue-900-hsl)); + --dh-color-blue-1000: hsl(var(--dh-color-blue-1000-hsl)); + --dh-color-blue-1100: hsl(var(--dh-color-blue-1100-hsl)); + --dh-color-blue-1200: hsl(var(--dh-color-blue-1200-hsl)); + --dh-color-blue-1300: hsl(var(--dh-color-blue-1300-hsl)); + --dh-color-blue-1400: hsl(var(--dh-color-blue-1400-hsl)); + /* Indigo */ --dh-color-indigo-100: hsl(var(--dh-color-indigo-100-hsl)); --dh-color-indigo-200: hsl(var(--dh-color-indigo-200-hsl)); diff --git a/packages/components/src/theme/theme-light/theme-light-palette.css b/packages/components/src/theme/theme-light/theme-light-palette.css index 1174c328dd..ac81289dde 100644 --- a/packages/components/src/theme/theme-light/theme-light-palette.css +++ b/packages/components/src/theme/theme-light/theme-light-palette.css @@ -227,22 +227,6 @@ --dh-color-black: hsl(var(--dh-color-black-hsl)); --dh-color-white: hsl(var(--dh-color-white-hsl)); - /* Blue */ - --dh-color-blue-100: hsl(var(--dh-color-blue-100-hsl)); - --dh-color-blue-200: hsl(var(--dh-color-blue-200-hsl)); - --dh-color-blue-300: hsl(var(--dh-color-blue-300-hsl)); - --dh-color-blue-400: hsl(var(--dh-color-blue-400-hsl)); - --dh-color-blue-500: hsl(var(--dh-color-blue-500-hsl)); - --dh-color-blue-600: hsl(var(--dh-color-blue-600-hsl)); - --dh-color-blue-700: hsl(var(--dh-color-blue-700-hsl)); - --dh-color-blue-800: hsl(var(--dh-color-blue-800-hsl)); - --dh-color-blue-900: hsl(var(--dh-color-blue-900-hsl)); - --dh-color-blue-1000: hsl(var(--dh-color-blue-1000-hsl)); - --dh-color-blue-1100: hsl(var(--dh-color-blue-1100-hsl)); - --dh-color-blue-1200: hsl(var(--dh-color-blue-1200-hsl)); - --dh-color-blue-1300: hsl(var(--dh-color-blue-1300-hsl)); - --dh-color-blue-1400: hsl(var(--dh-color-blue-1400-hsl)); - /* Red */ --dh-color-red-100: hsl(var(--dh-color-red-100-hsl)); --dh-color-red-200: hsl(var(--dh-color-red-200-hsl)); @@ -371,6 +355,22 @@ --dh-color-cyan-1300: hsl(var(--dh-color-cyan-1300-hsl)); --dh-color-cyan-1400: hsl(var(--dh-color-cyan-1400-hsl)); + /* Blue */ + --dh-color-blue-100: hsl(var(--dh-color-blue-100-hsl)); + --dh-color-blue-200: hsl(var(--dh-color-blue-200-hsl)); + --dh-color-blue-300: hsl(var(--dh-color-blue-300-hsl)); + --dh-color-blue-400: hsl(var(--dh-color-blue-400-hsl)); + --dh-color-blue-500: hsl(var(--dh-color-blue-500-hsl)); + --dh-color-blue-600: hsl(var(--dh-color-blue-600-hsl)); + --dh-color-blue-700: hsl(var(--dh-color-blue-700-hsl)); + --dh-color-blue-800: hsl(var(--dh-color-blue-800-hsl)); + --dh-color-blue-900: hsl(var(--dh-color-blue-900-hsl)); + --dh-color-blue-1000: hsl(var(--dh-color-blue-1000-hsl)); + --dh-color-blue-1100: hsl(var(--dh-color-blue-1100-hsl)); + --dh-color-blue-1200: hsl(var(--dh-color-blue-1200-hsl)); + --dh-color-blue-1300: hsl(var(--dh-color-blue-1300-hsl)); + --dh-color-blue-1400: hsl(var(--dh-color-blue-1400-hsl)); + /* Indigo */ --dh-color-indigo-100: hsl(var(--dh-color-indigo-100-hsl)); --dh-color-indigo-200: hsl(var(--dh-color-indigo-200-hsl)); diff --git a/tests/styleguide.spec.ts-snapshots/semantic-colors-chromium-linux.png b/tests/styleguide.spec.ts-snapshots/semantic-colors-chromium-linux.png index a413cef2b3..e2f82a8b4b 100644 Binary files a/tests/styleguide.spec.ts-snapshots/semantic-colors-chromium-linux.png and b/tests/styleguide.spec.ts-snapshots/semantic-colors-chromium-linux.png differ diff --git a/tests/styleguide.spec.ts-snapshots/semantic-colors-firefox-linux.png b/tests/styleguide.spec.ts-snapshots/semantic-colors-firefox-linux.png index 69d5b26fac..e4ff7e86f2 100644 Binary files a/tests/styleguide.spec.ts-snapshots/semantic-colors-firefox-linux.png and b/tests/styleguide.spec.ts-snapshots/semantic-colors-firefox-linux.png differ diff --git a/tests/styleguide.spec.ts-snapshots/semantic-colors-webkit-linux.png b/tests/styleguide.spec.ts-snapshots/semantic-colors-webkit-linux.png index 7165139b5e..b4032d41f6 100644 Binary files a/tests/styleguide.spec.ts-snapshots/semantic-colors-webkit-linux.png and b/tests/styleguide.spec.ts-snapshots/semantic-colors-webkit-linux.png differ diff --git a/tests/styleguide.spec.ts-snapshots/theme-color-palette-chromium-linux.png b/tests/styleguide.spec.ts-snapshots/theme-color-palette-chromium-linux.png index d9174dcefe..c151f0813e 100644 Binary files a/tests/styleguide.spec.ts-snapshots/theme-color-palette-chromium-linux.png and b/tests/styleguide.spec.ts-snapshots/theme-color-palette-chromium-linux.png differ diff --git a/tests/styleguide.spec.ts-snapshots/theme-color-palette-firefox-linux.png b/tests/styleguide.spec.ts-snapshots/theme-color-palette-firefox-linux.png index 44a046be01..6f21ae9bfd 100644 Binary files a/tests/styleguide.spec.ts-snapshots/theme-color-palette-firefox-linux.png and b/tests/styleguide.spec.ts-snapshots/theme-color-palette-firefox-linux.png differ diff --git a/tests/styleguide.spec.ts-snapshots/theme-color-palette-webkit-linux.png b/tests/styleguide.spec.ts-snapshots/theme-color-palette-webkit-linux.png index 23eec8aced..3929030d8a 100644 Binary files a/tests/styleguide.spec.ts-snapshots/theme-color-palette-webkit-linux.png and b/tests/styleguide.spec.ts-snapshots/theme-color-palette-webkit-linux.png differ