From ed8f4b7e45131c1d862d00ac0f8ff604114bba90 Mon Sep 17 00:00:00 2001 From: Brian Ingles Date: Tue, 17 Oct 2023 13:00:55 -0500 Subject: [PATCH] feat: Theming Iris Grid (#1568) - Created new base theme for Iris grid and mapped existing styles to it - Added color palettes to styleguide - IrisGrid now creates and resolves css variables when creating the default theme **Testing** - Easiest way to see the new color palettes is in the styleguide. - Iris Grid should look as it did before except for a few cases where the new color palette doesn't exactly align with the old one. aka. a color may have a subtle change in saturation but there shouldn't be any changes to the visual color. Current mapping of Bootstrap gray palette to new `--dh-color-gray` vars based on Don's POC. The Bootstrap variables will get updated in a future PR to pull from the new vars, but this is how things line up right now: image BREAKING CHANGE: Enterprise will need ThemeProvider for the css variables to be available --- .../code-studio/src/styleguide/Colors.tsx | 30 ++- .../src/styleguide/StyleGuide.scss | 7 + .../code-studio/src/styleguide/StyleGuide.tsx | 3 + .../src/styleguide/ThemeColors.module.scss | 35 +++ .../src/styleguide/ThemeColors.tsx | 178 +++++++++++++++ packages/components/src/theme/index.ts | 2 + .../theme/theme-dark/theme-dark-palette.css | 2 +- .../theme-dark/theme-dark-semantic-editor.css | 60 +++-- .../theme-dark/theme-dark-semantic-grid.css | 95 +++++++- .../theme/theme-dark/theme-dark-semantic.css | 61 ++--- .../theme/theme-light/theme-light-palette.css | 2 +- .../src/monaco/MonacoTheme.module.scss | 48 ++-- packages/iris-grid/src/IrisGrid.tsx | 27 ++- .../iris-grid/src/IrisGridTheme.module.scss | 143 ++++++------ packages/iris-grid/src/IrisGridTheme.test.ts | 39 ++++ packages/iris-grid/src/IrisGridTheme.ts | 209 ++++++++++-------- .../__snapshots__/IrisGridTheme.test.ts.snap | 93 ++++++++ packages/iris-grid/src/index.ts | 2 +- packages/utils/src/ColorUtils.ts | 7 +- ...able-operations-go-to-1-chromium-linux.png | Bin 30681 -> 30891 bytes ...table-operations-go-to-1-firefox-linux.png | Bin 43618 -> 43564 bytes ...-table-operations-go-to-1-webkit-linux.png | Bin 28050 -> 27848 bytes 22 files changed, 758 insertions(+), 285 deletions(-) create mode 100644 packages/code-studio/src/styleguide/ThemeColors.module.scss create mode 100644 packages/code-studio/src/styleguide/ThemeColors.tsx create mode 100644 packages/iris-grid/src/IrisGridTheme.test.ts create mode 100644 packages/iris-grid/src/__snapshots__/IrisGridTheme.test.ts.snap diff --git a/packages/code-studio/src/styleguide/Colors.tsx b/packages/code-studio/src/styleguide/Colors.tsx index d84a1b0375..b796222817 100644 --- a/packages/code-studio/src/styleguide/Colors.tsx +++ b/packages/code-studio/src/styleguide/Colors.tsx @@ -3,22 +3,28 @@ import classNames from 'classnames'; function Colors(): React.ReactElement { const graySwatches = [ - '100', - '200', - '300', - '400', - '500', - '600', - '700', - '800', - '900', - ].map(swatch => ( + ['100', '900'], + ['200', '800'], + ['300', '700'], + ['400', '600'], + ['500', '500'], + ['600', '500'], + ['700', '400'], + ['800', '300'], + ['850', '200'], + ['900', '75'], + ].map(([swatch, dh]) => (
- Gray- - {swatch} + + Gray- + {swatch} + + + --dh-gray-{dh} +
)); diff --git a/packages/code-studio/src/styleguide/StyleGuide.scss b/packages/code-studio/src/styleguide/StyleGuide.scss index a7a2b654e5..58d270d8e2 100644 --- a/packages/code-studio/src/styleguide/StyleGuide.scss +++ b/packages/code-studio/src/styleguide/StyleGuide.scss @@ -18,6 +18,13 @@ pre { line-height: 2.5rem; } +.gray-swatch { + display: flex; + span { + flex: 1 0 50%; + } +} + .swatch-content-bg { border: 1px solid $gray-600; margin-top: 2.5rem; diff --git a/packages/code-studio/src/styleguide/StyleGuide.tsx b/packages/code-studio/src/styleguide/StyleGuide.tsx index bbfd8036e8..a71843a61c 100644 --- a/packages/code-studio/src/styleguide/StyleGuide.tsx +++ b/packages/code-studio/src/styleguide/StyleGuide.tsx @@ -21,6 +21,7 @@ import Typograpy from './Typography'; import './StyleGuide.scss'; import DraggableLists from './DraggableLists'; import Navigations from './Navigations'; +import ThemeColors from './ThemeColors'; function StyleGuide(): React.ReactElement { return ( @@ -33,6 +34,8 @@ function StyleGuide(): React.ReactElement { + + diff --git a/packages/code-studio/src/styleguide/ThemeColors.module.scss b/packages/code-studio/src/styleguide/ThemeColors.module.scss new file mode 100644 index 0000000000..2f65e1f9e5 --- /dev/null +++ b/packages/code-studio/src/styleguide/ThemeColors.module.scss @@ -0,0 +1,35 @@ +.themeColors { + --swatch-height: 35px; + --column-gap: 14px; + + display: grid; + column-gap: var(--column-gap); + // Add as many columns as will fit in the container each 210px wide. + // Row height is set to the swatch height (35px) by dynamic `grid-row` style + // attributes set in ThemeColors.tsx. + grid-template-columns: repeat(auto-fit, 210px); + + .label { + display: flex; + align-items: end; + justify-content: space-between; + gap: 4px; + height: var(--swatch-height); + text-transform: capitalize; + white-space: nowrap; + } + + .swatch { + display: flex; + align-items: center; + height: var(--swatch-height); + justify-content: space-between; + padding: 0 10px; + + span { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } +} diff --git a/packages/code-studio/src/styleguide/ThemeColors.tsx b/packages/code-studio/src/styleguide/ThemeColors.tsx new file mode 100644 index 0000000000..07e2ca95ad --- /dev/null +++ b/packages/code-studio/src/styleguide/ThemeColors.tsx @@ -0,0 +1,178 @@ +import React, { useMemo } from 'react'; +import { Tooltip } from '@deephaven/components'; +import { ColorUtils } from '@deephaven/utils'; +import palette from '@deephaven/components/src/theme/theme-dark/theme-dark-palette.css?inline'; +import semantic from '@deephaven/components/src/theme/theme-dark/theme-dark-semantic.css?inline'; +import semanticEditor from '@deephaven/components/src/theme/theme-dark/theme-dark-semantic-editor.css?inline'; +import semanticGrid from '@deephaven/components/src/theme/theme-dark/theme-dark-semantic-grid.css?inline'; +import styles from './ThemeColors.module.scss'; + +// Group names are extracted from var names via a regex capture group. Most of +// them work pretty well, but some need to be remapped to a more appropriate +// group. +const reassignVarGroups: Record = { + '--dh-color-black': 'gray', + '--dh-color-white': 'gray', + // Editor + '--dh-color-editor-bg': 'editor', + '--dh-color-editor-fg': 'editor', + '--dh-color-editor-context-menu-bg': 'menus', + '--dh-color-editor-context-menu-fg': 'menus', + '--dh-color-editor-menu-selection-bg': 'menus', + // Grid + '--dh-color-grid-bg': 'grid', + '--dh-color-grid-number-positive': 'Data Types', + '--dh-color-grid-number-negative': 'Data Types', + '--dh-color-grid-number-zero': 'Data Types', + '--dh-color-grid-date': 'Data Types', + '--dh-color-grid-string-null': 'Data Types', +}; + +// Mappings of variable groups to rename +const renameGroups = { + editor: { + line: 'editor', + comment: 'code', + string: 'code', + number: 'code', + delimiter: 'code', + identifier: 'code', + keyword: 'code', + operator: 'code', + storage: 'code', + predefined: 'code', + selection: 'state', + focus: 'state', + }, + grid: { data: 'Data Bars', context: 'Context Menu' }, +}; + +export function ThemeColors(): JSX.Element { + const swatchDataGroups = useMemo( + () => ({ + 'Theme Color Palette': buildColorGroups(palette, 1), + 'Semantic Colors': buildColorGroups(semantic, 1), + 'Editor Colors': buildColorGroups(semanticEditor, 2, renameGroups.editor), + 'Grid Colors': buildColorGroups(semanticGrid, 2, renameGroups.grid), + }), + [] + ); + + return ( + <> + {Object.entries(swatchDataGroups).map(([label, data]) => ( +
+

{label}

+
+ {Object.entries(data).map(([group, swatchData]) => ( +
+ {group} + {swatchData.map(({ name, value }) => ( +
+ +
{name}
+
{value}
+
+ {ColorUtils.normalizeCssColor(value).replace( + /^(#[a-f0-9]{6})ff$/, + '$1' + )} +
+
+ {name.replace('--dh-color-', '')} + {name.endsWith('-hue') ? {value} : null} +
+ ))} +
+ ))} +
+
+ ))} + + ); +} + +export default ThemeColors; + +/** Return black or white contrast color */ +function contrastColor(color: string): 'black' | 'white' { + const rgba = ColorUtils.parseRgba(ColorUtils.asRgbOrRgbaString(color) ?? ''); + if (rgba == null || rgba.a < 0.5) { + return 'white'; + } + + const { r, g, b } = rgba; + const y = (299 * r + 587 * g + 114 * b) / 1000; + return y >= 128 ? 'black' : 'white'; +} + +/** Extract an array of { name, value } pairs for css variables in a given string */ +function extractColorVars( + styleText: string +): { name: string; value: string }[] { + const computedStyle = getComputedStyle(document.documentElement); + + return styleText + .split('\n') + .map(line => /^\s{2}(--dh-color-(?:[^:]+))/.exec(line)?.[1]) + .filter(Boolean) + .map(varName => + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + ({ name: varName!, value: computedStyle.getPropertyValue(varName!)! }) + ); +} + +/** Group color data based on capture group value */ +function buildColorGroups( + styleText: string, + captureGroupI: number, + groupRemap: Record = {} +): Record { + const swatchData = extractColorVars(styleText); + + const groupData = swatchData.reduce( + (acc, { name, value }) => { + const match = /^--dh-color-([^-]+)(?:-([^-]+))?/.exec(name); + let group = + reassignVarGroups[name] ?? + match?.[captureGroupI] ?? + match?.[1] ?? + '???'; + + group = groupRemap[group] ?? group; + + if (acc[group] == null) { + acc[group] = []; + } + + // Add a spacer for black / white + if (name === '--dh-color-black') { + acc[group].push({ name: '', value: '' }); + } + + acc[group].push({ name, value }); + + return acc; + }, + {} as Record + ); + + return groupData; +} diff --git a/packages/components/src/theme/index.ts b/packages/components/src/theme/index.ts index 42d06c3079..873ca8f528 100644 --- a/packages/components/src/theme/index.ts +++ b/packages/components/src/theme/index.ts @@ -1,3 +1,5 @@ +export * from './theme-dark'; +export * from './theme-light'; export * from './ThemeModel'; export * from './ThemeProvider'; export * from './ThemeUtils'; 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 e5c60aa08e..61e2929c0c 100644 --- a/packages/components/src/theme/theme-dark/theme-dark-palette.css +++ b/packages/components/src/theme/theme-dark/theme-dark-palette.css @@ -3,7 +3,7 @@ --dh-color-gray-hue: 0deg; --dh-color-gray-50: hsl(var(--dh-color-gray-hue) 6% 10%); --dh-color-gray-75: hsl(var(--dh-color-gray-hue) 5% 13%); - --dh-color-gray-100: hsl(var(--dh-color-gray-hue), 5%, 17%); + --dh-color-gray-100: hsl(var(--dh-color-gray-hue) 5% 17%); --dh-color-gray-200: hsl(var(--dh-color-gray-hue) 4% 19%); --dh-color-gray-300: hsl(var(--dh-color-gray-hue) 4% 21%); --dh-color-gray-400: hsl(var(--dh-color-gray-hue) 2% 25%); diff --git a/packages/components/src/theme/theme-dark/theme-dark-semantic-editor.css b/packages/components/src/theme/theme-dark/theme-dark-semantic-editor.css index 41ee75dcc5..3366c97fe0 100644 --- a/packages/components/src/theme/theme-dark/theme-dark-semantic-editor.css +++ b/packages/components/src/theme/theme-dark/theme-dark-semantic-editor.css @@ -1,37 +1,37 @@ :root { /* Editor */ - --dh-color-editor-background: var(--dh-color-content-background); - --dh-color-editor-foreground: var(--dh-color-gray-900); - --dh-color-editor-error-foreground: var(--dh-color-visual-red); - --dh-color-editor-line-number-foreground: var(--dh-color-gray-700); + --dh-color-editor-bg: var(--dh-color-content-background); + --dh-color-editor-fg: var(--dh-color-gray-900); + --dh-color-editor-error-fg: var(--dh-color-visual-red); + --dh-color-editor-line-number-fg: var(--dh-color-gray-700); --dh-color-editor-line-highlight-bg: var(--dh-color-gray-200); - --dh-color-editor-selection-background: var(--dh-color-text-highlight); + --dh-color-editor-selection-bg: var(--dh-color-text-highlight); /* Code rules */ - --dh-color-editor-string: var(--dh-color-visual-yellow); - --dh-color-editor-string-delim: var(--dh-color-gray-700); + --dh-color-editor-comment: var(--dh-color-gray-700); --dh-color-editor-delimiter: var(--dh-color-gray-700); - --dh-color-editor-predefined: var(--dh-color-visual-green); + --dh-color-editor-identifier-js: var(--dh-color-visual-yellow); + --dh-color-editor-identifier-namespace: var(--dh-color-visual-red); + --dh-color-editor-identifier: var(--dh-color-gray-900); --dh-color-editor-keyword: var(--dh-color-visual-cyan); - --dh-color-editor-storage: var(--dh-color-visual-red); --dh-color-editor-number: var(--dh-color-visual-purple); --dh-color-editor-operator: var(--dh-color-visual-red); - --dh-color-editor-identifier: var(--dh-color-gray-900); - --dh-color-editor-identifier-namespace: var(--dh-color-visual-red); - --dh-color-editor-identifier-js: var(--dh-color-visual-yellow); - --dh-color-editor-comment: var(--dh-color-gray-700); + --dh-color-editor-predefined: var(--dh-color-visual-green); + --dh-color-editor-storage: var(--dh-color-visual-red); + --dh-color-editor-string-delim: var(--dh-color-gray-700); + --dh-color-editor-string: var(--dh-color-visual-yellow); /* Input */ --dh-color-editor-focus-border: var(--dh-color-focus-border); --dh-color-editor-input-option-active-border: var(--dh-color-focus-ring); - --dh-color-editor-input-background: var(--dh-color-background); - --dh-color-editor-input-foreground: var(--dh-color-text); + --dh-color-editor-input-bg: var(--dh-color-background); + --dh-color-editor-input-fg: var(--dh-color-text); --dh-color-editor-input-border: var(--dh-color-border); /* Menus */ - --dh-color-editor-context-menu-background: var(--dh-color-gray-300); - --dh-color-editor-context-menu-foreground: var(--dh-color-gray-900); - --dh-color-editor-menu-selection-background: var(--dh-color-highlight-hover); + --dh-color-editor-context-menu-bg: var(--dh-color-gray-300); + --dh-color-editor-context-menu-fg: var(--dh-color-gray-900); + --dh-color-editor-menu-selection-bg: var(--dh-color-highlight-hover); /* Logging */ --dh-color-editor-log-date: var(--dh-color-gray-700); @@ -43,25 +43,23 @@ --dh-color-editor-log-trace: var(--dh-color-visual-green); /* Find */ - --dh-color-editor-find-background: var(--dh-color-gray-200); - --dh-color-editor-find-match-background: var(--dh-color-highlight-selected); - --dh-color-editor-find-match-highlight-background: var( + --dh-color-editor-find-bg: var(--dh-color-gray-200); + --dh-color-editor-find-match-bg: var(--dh-color-highlight-selected); + --dh-color-editor-find-match-highlight-bg: var( --dh-color-highlight-selected-hover ); - --dh-color-editor-find-option-active-background: var(--dh-color-accent-700); - --dh-color-editor-find-option-active-foreground: var(--dh-color-gray-900); + --dh-color-editor-find-option-active-bg: var(--dh-color-accent-700); + --dh-color-editor-find-option-active-fg: var(--dh-color-gray-900); /* Suggest */ - --dh-color-editor-suggest-background: var(--dh-color-gray-200); + --dh-color-editor-suggest-bg: var(--dh-color-gray-200); --dh-color-editor-suggest-border: var(--dh-color-gray-400); - --dh-color-editor-suggest-foreground: var(--dh-color-gray-100); - --dh-color-editor-suggest-selected-background: var( - --dh-color-highlight-selected - ); - --dh-color-editor-suggest-highlight-foreground: var(--dh-color-accent-700); - --dh-color-editor-suggest-hover-background: var(--dh-color-highlight-hover); + --dh-color-editor-suggest-fg: var(--dh-color-gray-100); + --dh-color-editor-suggest-selected-bg: var(--dh-color-highlight-selected); + --dh-color-editor-suggest-highlight-fg: var(--dh-color-accent-700); + --dh-color-editor-suggest-hover-bg: var(--dh-color-highlight-hover); /* Links */ --dh-color-editor-link-foreground: var(--dh-color-accent-1000); - --dh-color-editor-link-active-foreground: var(--dh-color-accent-1100); + --dh-color-editor-link-active-fg: var(--dh-color-accent-1100); } diff --git a/packages/components/src/theme/theme-dark/theme-dark-semantic-grid.css b/packages/components/src/theme/theme-dark/theme-dark-semantic-grid.css index 20cdf034de..07922f8ba3 100644 --- a/packages/components/src/theme/theme-dark/theme-dark-semantic-grid.css +++ b/packages/components/src/theme/theme-dark/theme-dark-semantic-grid.css @@ -1,3 +1,96 @@ :root { - --dh-color-grid-background: var(--dh-color-background); + /* Grid */ + --dh-color-grid-bg: var(--dh-color-background); + + /* Header */ + --dh-color-grid-header-bg: var(--dh-color-gray-100); + --dh-color-grid-header-text: var(--dh-color-heading-text); + --dh-color-grid-header-separator: var(--dh-color-gray-50); + --dh-color-grid-header-separator-hover: var(--dh-color-gray-600); + --dh-color-grid-header-separator-hidden-hover: var(--dh-color-accent-700); + --dh-color-grid-header-sort-bar: var(--dh-color-visual-purple); + --dh-color-grid-header-reverse-bar: var(--dh-color-visual-green); + --dh-color-grid-header-bar-casing: var(--dh-color-gray-50); + + /* Row */ + --dh-color-grid-row-0-bg: var(--dh-color-gray-200); + --dh-color-grid-row-1-bg: var(--dh-color-gray-100); + --dh-color-grid-row-hover-bg: var(--dh-color-highlight-hover); + --dh-color-grid-row-hover-bg-selected: var( + --dh-color-highlight-selected-hover + ); + + /* Selection */ + --dh-color-grid-selection: var(--dh-color-highlight-selected); + --dh-color-grid-selection-outline: var(--dh-color-accent-900); + --dh-color-grid-selection-outline-casing: var(--dh-gray-50); + + /** Sroll Bar */ + --dh-color-grid-scroll-bar-active-selection-tick: var(--dh-color-accent-400); + --dh-color-grid-scroll-bar-bg: var(--dh-color-gray-100); + --dh-color-grid-scroll-bar-hover-bg: var(--dh-color-gray-200); + --dh-color-grid-scroll-bar-casing: var(--dh-color-gray-400); + --dh-color-grid-scroll-bar-corner: var(--dh-color-gray-100); + --dh-color-grid-scroll-bar: var(--dh-color-gray-500); + --dh-color-grid-scroll-bar-hover: var(--dh-color-gray-600); + --dh-color-grid-scroll-bar-active: var(--dh-color-gray-700); + + /* Text */ + --dh-color-grid-text: var(--dh-color-text); + --dh-color-grid-text-hyperlink: var(--dh-color-accent-1000); + --dh-color-grid-text-pending: var(--dh-color-yellow-1300); + --dh-color-grid-text-error: var(--dh-color-visual-negative); + + /* Data Types */ + --dh-color-grid-date: var(--dh-color-visual-notice); + --dh-color-grid-number-positive: var(--dh-color-visual-positive); + --dh-color-grid-number-negative: var(--dh-color-visual-negative); + --dh-color-grid-number-zero: var(--dh-color-visual-notice); + --dh-color-grid-string-null: var(--dh-color-gray-600); + + /* Filter Bar */ + --dh-color-grid-filter-bar-active-bg: var(--dh-color-accent-300); + --dh-color-grid-filter-bar-active: var(--dh-color-accent-600); + --dh-color-grid-filter-bar-expanded-bg: var(--dh-color-gray-200); + --dh-color-grid-filter-bar-expanded-active-bg: var(--dh-color-accent-100); + --dh-color-grid-filter-bar-expanded-active-cell-bg: var( + --dh-color-accent-200 + ); + --dh-color-grid-filter-bar-separator: var(--dh-color-gray-600); + --dh-color-grid-filter-bar-error: var(--dh-color-visual-negative); + --dh-color-grid-filter-icon: var(--dh-color-accent-600); + + /* Context Menu */ + --dh-color-grid-context-menu-sort-icon: var(--dh-color-visual-purple); + --dh-color-grid-context-menu-reverse-icon: var(--dh-color-visual-green); + + /* Column */ + --dh-color-grid-column-linker-hover-bg: var( + --dh-color-highlight-selected-hover + ); + --dh-color-grid-column-grouped-divider: var(--dh-color-gray-50); + + /* Tree */ + --dh-color-grid-tree-line: var(--dh-color-gray-500); + --dh-color-grid-tree-marker: var(--dh-color-gray-700); + --dh-color-grid-tree-marker-hover: var(--dh-color-gray-900); + + /* Floating */ + --dh-color-grid-floating-row: var(--dh-color-gray-300); + --dh-color-grid-floating-row-bg: var(--dh-color-gray-200); + --dh-color-grid-floating-divider-inner: var(--dh-color-gray-200); + --dh-color-grid-floating-divider-outer: var(--dh-color-gray-50); + + /* Overflow Button */ + --dh-color-grid-overflow-button: var(--dh-color-gray-700); + --dh-color-grid-overflow-button-hover: var(--dh-color-gray-900); + + /* Data Bars */ + --dh-color-grid-data-bar-positive: var(--dh-color-visual-positive); + --dh-color-grid-data-bar-negative: var(--dh-color-visual-negative); + --dh-color-grid-data-bar-marker: var(--dh-color-white); + --dh-color-grid-data-bar-zero-line: var(--dh-color-gray-300); + + /* Scrim */ + --dh-color-grid-scrim: var(--dh-color-gray-50); } diff --git a/packages/components/src/theme/theme-dark/theme-dark-semantic.css b/packages/components/src/theme/theme-dark/theme-dark-semantic.css index 34bea973d8..f3a003352f 100644 --- a/packages/components/src/theme/theme-dark/theme-dark-semantic.css +++ b/packages/components/src/theme/theme-dark/theme-dark-semantic.css @@ -1,3 +1,4 @@ +/* stylelint-disable custom-property-empty-line-before */ /* stylelint-disable alpha-value-notation */ :root { /* General */ @@ -8,9 +9,33 @@ --dh-color-content-background: var(--dh-color-gray-100); /* Text */ + --dh-color-heading-text: var(--dh-color-gray-900); --dh-color-text: var(--dh-color-gray-800); + --dh-color-text-disabled: var(--dh-color-gray-400); --dh-color-text-highlight: hsla(var(--dh-color-blue-hue), 83%, 62%, 0.3); + /** Accent Colors */ + --dh-color-accent-100: var(--dh-color-blue-100); + --dh-color-accent-200: var(--dh-color-blue-200); + --dh-color-accent-300: var(--dh-color-blue-300); + --dh-color-accent-400: var(--dh-color-blue-400); + --dh-color-accent-500: var(--dh-color-blue-500); + --dh-color-accent-600: var(--dh-color-blue-600); + --dh-color-accent-700: var(--dh-color-blue-700); + --dh-color-accent-800: var(--dh-color-blue-800); + --dh-color-accent-900: var(--dh-color-blue-900); + --dh-color-accent-1000: var(--dh-color-blue-1000); + --dh-color-accent-1100: var(--dh-color-blue-1100); + --dh-color-accent-1200: var(--dh-color-blue-1200); + --dh-color-accent-1300: var(--dh-color-blue-1300); + --dh-color-accent-1400: var(--dh-color-blue-1400); + + /* Accent Background */ + --dh-color-accent-background-default: var(--dh-color-accent-600); + --dh-color-accent-background-hover: var(--dh-color-accent-500); + --dh-color-accent-background-down: var(--dh-color-accent-400); + --dh-color-accent-background-key-focus: var(--dh-color-accent-500); + /* Focus */ --dh-color-focus: var(--dh-color-blue-800); --dh-color-focus-border: var(--dh-color-blue-800); @@ -28,6 +53,12 @@ 0.2 ); + /* Negative Background */ + --dh-color-negative-background-default: var(--dh-color-red-600); + --dh-color-negative-background-hover: var(--dh-color-red-500); + --dh-color-negative-background-down: var(--dh-color-red-400); + --dh-color-negative-background-key-focus: var(--dh-color-red-500); + /* Visual Colors */ --dh-color-visual-blue: var(--dh-color-blue-700); --dh-color-visual-celery: var(--dh-color-celery-1000); @@ -44,31 +75,7 @@ --dh-color-visual-seafoam: var(--dh-color-seafoam-1100); --dh-color-visual-yellow: var(--dh-color-yellow-1200); - /** Accent Colors */ - --dh-color-accent-100: var(--dh-color-blue-100); - --dh-color-accent-200: var(--dh-color-blue-200); - --dh-color-accent-300: var(--dh-color-blue-300); - --dh-color-accent-400: var(--dh-color-blue-400); - --dh-color-accent-500: var(--dh-color-blue-500); - --dh-color-accent-600: var(--dh-color-blue-600); - --dh-color-accent-700: var(--dh-color-blue-700); - --dh-color-accent-800: var(--dh-color-blue-800); - --dh-color-accent-900: var(--dh-color-blue-900); - --dh-color-accent-1000: var(--dh-color-blue-1000); - --dh-color-accent-1100: var(--dh-color-blue-1100); - --dh-color-accent-1200: var(--dh-color-blue-1200); - --dh-color-accent-1300: var(--dh-color-blue-1300); - --dh-color-accent-1400: var(--dh-color-blue-1400); - - /* Accent Background */ - --dh-color-accent-background-default: var(--dh-color-accent-600); - --dh-color-accent-background-hover: var(--dh-color-accent-500); - --dh-color-accent-background-down: var(--dh-color-accent-400); - --dh-color-accent-background-key-focus: var(--dh-color-accent-500); - - /* Negative Background */ - --dh-color-negative-background-default: var(--dh-color-red-600); - --dh-color-negative-background-hover: var(--dh-color-red-500); - --dh-color-negative-background-down: var(--dh-color-red-400); - --dh-color-negative-background-key-focus: var(--dh-color-red-500); + --dh-color-visual-positive: var(--dh-color-green-1100); + --dh-color-visual-negative: var(--dh-color-red-800); + --dh-color-visual-notice: var(--dh-color-yellow-1200); } 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 ce7c31acc7..babcf63c22 100644 --- a/packages/components/src/theme/theme-light/theme-light-palette.css +++ b/packages/components/src/theme/theme-light/theme-light-palette.css @@ -50,5 +50,5 @@ --dh-color-accent: var(--dh-color-blue-700); --dh-color-background: var(--dh-color-white); --dh-color-foreground: var(--dh-color-black); - --dh-color-grid-background: var(--dh-color-background); + --dh-color-grid-bg: var(--dh-color-background); } diff --git a/packages/console/src/monaco/MonacoTheme.module.scss b/packages/console/src/monaco/MonacoTheme.module.scss index 7185cb8386..35e688c29d 100644 --- a/packages/console/src/monaco/MonacoTheme.module.scss +++ b/packages/console/src/monaco/MonacoTheme.module.scss @@ -3,9 +3,9 @@ :export { // iris dark theme - error-foreground: var(--dh-color-editor-error-foreground); - background: var(--dh-color-editor-background); - foreground: var(--dh-color-editor-foreground); + error-foreground: var(--dh-color-editor-error-fg); + background: var(--dh-color-editor-bg); + foreground: var(--dh-color-editor-fg); line-height: 19px; // 19 is the line height in the default monaco theme //code rules @@ -25,19 +25,19 @@ //input input-option-active-border: var(--dh-color-editor-input-option-active-border); focus-border: var(--dh-color-editor-focus-border); - input-background: var(--dh-color-editor-input-background); - input-foreground: var(--dh-color-editor-input-foreground); + input-background: var(--dh-color-editor-input-bg); + input-foreground: var(--dh-color-editor-input-fg); input-border: var(--dh-color-editor-input-border); //editor - editor-line-number-foreground: var(--dh-color-editor-line-number-foreground); - editor-selection-background: var(--dh-color-editor-selection-background); + editor-line-number-foreground: var(--dh-color-editor-line-number-fg); + editor-selection-background: var(--dh-color-editor-selection-bg); editor-line-highlight-bg: var(--dh-color-editor-line-highlight-bg); //context menu - context-menu-background: var(--dh-color-editor-context-menu-background); - context-menu-foreground: var(--dh-color-editor-context-menu-foreground); - menu-selection-background: var(--dh-color-editor-menu-selection-background); + context-menu-background: var(--dh-color-editor-context-menu-bg); + context-menu-foreground: var(--dh-color-editor-context-menu-fg); + menu-selection-background: var(--dh-color-editor-menu-selection-bg); //log items log-date: var(--dh-color-editor-log-date); @@ -49,34 +49,30 @@ log-trace: var(--dh-color-editor-log-trace); // find matches - editor-find-match-background: var(--dh-color-editor-find-match-background); + editor-find-match-background: var(--dh-color-editor-find-match-bg); editor-find-match-highlight-background: var( - --dh-color-editor-find-match-highlight-background + --dh-color-editor-find-match-highlight-bg ); // find widget - editor-widget-background: var(--dh-color-editor-find-background); - input-option-active-background: var( - --dh-color-editor-find-option-active-background - ); - input-option-active-foreground: var( - --dh-color-editor-find-option-active-foreground - ); + editor-widget-background: var(--dh-color-editor-find-bg); + input-option-active-background: var(--dh-color-editor-find-option-active-bg); + input-option-active-foreground: var(--dh-color-editor-find-option-active-fg); // suggest widget - editor-suggest-widget-background: var(--dh-color-editor-suggest-background); + editor-suggest-widget-background: var(--dh-color-editor-suggest-bg); editor-suggest-widget-border: var(--dh-color-editor-suggest-border); - editor-suggest-widget-foreground: var(--dh-color-editor-suggest-foreground); + editor-suggest-widget-foreground: var(--dh-color-editor-suggest-fg); editor-suggest-widget-selected-background: var( - --dh-color-editor-suggest-selected-background + --dh-color-editor-suggest-selected-bg ); editor-suggest-widget-highlightForeground: var( - --dh-color-editor-suggest-highlight-foreground + --dh-color-editor-suggest-highlight-fg ); - list-hover-background: var(--dh-color-editor-suggest-hover-background); + list-hover-background: var(--dh-color-editor-suggest-hover-bg); // links text-link-foreground: var(--dh-color-editor-link-foreground); - text-link-active-foreground: var(--dh-color-editor-link-active-foreground); - editor-link-active-foreground: var(--dh-color-editor-link-active-foreground); + text-link-active-foreground: var(--dh-color-editor-link-active-fg); + editor-link-active-foreground: var(--dh-color-editor-link-active-fg); } diff --git a/packages/iris-grid/src/IrisGrid.tsx b/packages/iris-grid/src/IrisGrid.tsx index fbeee84b30..a999e1afc3 100644 --- a/packages/iris-grid/src/IrisGrid.tsx +++ b/packages/iris-grid/src/IrisGrid.tsx @@ -131,7 +131,7 @@ import ToastBottomBar from './ToastBottomBar'; import IrisGridMetricCalculator from './IrisGridMetricCalculator'; import IrisGridModelUpdater from './IrisGridModelUpdater'; import IrisGridRenderer from './IrisGridRenderer'; -import IrisGridTheme, { IrisGridThemeType } from './IrisGridTheme'; +import { createDefaultIrisGridTheme, IrisGridThemeType } from './IrisGridTheme'; import ColumnStatistics from './ColumnStatistics'; import './IrisGrid.scss'; import AdvancedFilterCreator from './AdvancedFilterCreator'; @@ -508,7 +508,7 @@ export class IrisGrid extends Component { canCopy: true, canDownloadCsv: true, frozenColumns: null, - theme: IrisGridTheme, + theme: null, canToggleSearch: true, }; @@ -1337,16 +1337,25 @@ export class IrisGrid extends Component { getCachedTheme = memoize( ( - theme: GridThemeType, + theme: GridThemeType | null, isEditable: boolean, floatingRowCount: number - ): Partial => ({ - ...IrisGridTheme, - ...theme, - autoSelectRow: !isEditable, + ): Partial => { + const defaultTheme = createDefaultIrisGridTheme(); + // We only show the row footers when we have floating rows for aggregations - rowFooterWidth: floatingRowCount > 0 ? theme.rowFooterWidth : 0, - }), + const rowFooterWidth = + floatingRowCount > 0 + ? theme?.rowFooterWidth ?? defaultTheme.rowFooterWidth + : 0; + + return { + ...defaultTheme, + ...theme, + autoSelectRow: !isEditable, + rowFooterWidth, + }; + }, { max: 1 } ); diff --git a/packages/iris-grid/src/IrisGridTheme.module.scss b/packages/iris-grid/src/IrisGridTheme.module.scss index 41e50c5799..a74d9c267e 100644 --- a/packages/iris-grid/src/IrisGridTheme.module.scss +++ b/packages/iris-grid/src/IrisGridTheme.module.scss @@ -1,103 +1,98 @@ /* stylelint-disable */ @import '@deephaven/components/scss/custom.scss'; -$selection-color: rgba($blue, 0.09); $selection-outline-color: $blue; -$selection-outline-casing-color: $gray-900; $font-size: 12px; $row-height: 19px; -$row-hover-bg: mix($gray-600, $gray-700, 50%); $header-bg: $content-bg; $header-separator-color: $gray-900; $header-height: 30px; :export { - grid-bg: $gray-900; + grid-bg: var(--dh-color-grid-bg); font: $font-size Fira Sans, sans-serif; // must be preloaded - white: $white; - black: $black; - header-bg: $header-bg; - header-color: $foreground; + white: var(--dh-color-white); + black: var(--dh-color-black); + header-bg: var(--dh-color-grid-header-bg); + header-color: var(--dh-color-grid-header-text); header-height: $header-height; - header-separator-color: $header-separator-color; - header-separator-hover-color: $gray-400; - header-hidden-separator-hover-color: $primary; - header-sort-bar-color: $purple; - header-reverse-bar-color: $green-dark; - header-bar-casing-color: $gray-900; + header-separator-color: var(--dh-color-grid-header-separator); + header-separator-hover-color: var(--dh-color-grid-header-separator-hover); + header-hidden-separator-hover-color: var( + --dh-color-grid-header-separator-hidden-hover + ); + header-sort-bar-color: var(--dh-color-grid-header-sort-bar); + header-reverse-bar-color: var(--dh-color-grid-header-reverse-bar); + header-bar-casing-color: var(--dh-color-grid-header-bar-casing); header-font: 600 $font-size Fira Sans, sans-serif; // must be preloaded row-height: $row-height; - row-background-colors: $gray-800 $content-bg; - selection-color: $selection-color; - selection-outline-color: $selection-outline-color; - selection-outline-casing-color: $selection-outline-casing-color; - row-hover-bg: $row-hover-bg; - selected-row-hover-bg: rgba($blue, 0.25); - scroll-bar-active-selection-tick-color: rgba($blue, 0.5); + row-background-colors: var(--dh-color-grid-row-0-bg) + var(--dh-color-grid-row-1-bg); + selection-color: var(--dh-color-grid-selection); + selection-outline-color: var(--dh-color-grid-selection-outline); + selection-outline-casing-color: var(--dh-color-grid-selection-outline-casing); + row-hover-bg: var(--dh-color-grid-row-hover-bg); + selected-row-hover-bg: var(--dh-color-grid-row-hover-bg-selected); + scroll-bar-active-selection-tick-color: var( + --dh-color-grid-scroll-bar-active-selection-tick + ); - scroll-bar-bg: $gray-850; - scroll-bar-hover-bg: $gray-800; - scroll-bar-casing-color: $gray-600; - scroll-bar-corner-color: $gray-850; - scroll-bar-color: $gray-500; - scroll-bar-hover-color: $gray-400; - scroll-bar-active-color: $gray-300; + scroll-bar-bg: var(--dh-color-grid-scroll-bar-bg); + scroll-bar-hover-bg: var(--dh-color-grid-scroll-bar-hover-bg); + scroll-bar-casing-color: var(--dh-color-grid-scroll-bar-casing); + scroll-bar-corner-color: var(--dh-color-grid-scroll-bar-corner); + scroll-bar-color: var(--dh-color-grid-scroll-bar); + scroll-bar-hover-color: var(--dh-color-grid-scroll-bar-hover); + scroll-bar-active-color: var(--dh-color-grid-scroll-bar-active); - text-color: $white; - hyperlink-color: $primary; - positive-number-color: $green; - negative-number-color: $red; - zero-number-color: $yellow; - date-color: $yellow; - pending-text-color: lighten($yellow, 10%); - error-text-color: $danger; - null-string-color: $gray-400; + text-color: var(--dh-color-grid-text); + hyperlink-color: var(--dh-color-grid-text-hyperlink); + positive-number-color: var(--dh-color-grid-number-positive); + negative-number-color: var(--dh-color-grid-number-negative); + zero-number-color: var(--dh-color-grid-number-zero); + date-color: var(--dh-color-grid-date); + pending-text-color: var(--dh-color-grid-text-pending); + error-text-color: var(--dh-color-grid-text-error); + null-string-color: var(--dh-color-grid-string-null); - $filter-color: $primary; // local to just the following - filter-bar-active-bg: scale-color( - $filter-color, - $saturation: -65%, - $lightness: -40% + filter-bar-active-bg: var(--dh-color-grid-filter-bar-active-bg); + filter-bar-active-color: var(--dh-color-grid-filter-bar-active); + filter-bar-expanded-bg: var(--dh-color-grid-filter-bar-expanded-bg); + filter-bar-expanded-active-bg: var( + --dh-color-grid-filter-bar-expanded-active-bg ); - filter-bar-active-color: $filter-color; - filter-bar-expanded-bg: $gray-800; - filter-bar-expanded-active-bg: scale-color( - $filter-color, - $saturation: -75%, - $lightness: -60% + filter-bar-expanded-active-cell-bg: var( + --dh-color-grid-filter-bar-expanded-active-cell-bg ); - filter-bar-expanded-active-cell-bg: scale-color( - $filter-color, - $saturation: -50%, - $lightness: -40% - ); - filter-bar-separator-color: $gray-400; - filter-bar-error-color: $danger; - filter-icon-color: $filter-color; + filter-bar-separator-color: var(--dh-color-grid-filter-bar-separator); + filter-bar-error-color: var(--dh-color-grid-filter-bar-error); + filter-icon-color: var(--dh-color-grid-filter-icon); - scrim-color: $gray-900; - context-menu-sort-icon-color: $purple; - context-menu-reverse-icon-color: $green-dark; - linker-column-hover-bg: rgba($blue, 0.09); - tree-line-color: $gray-500; - tree-marker-color: $gray-300; - tree-marker-hover-color: $gray-100; - grouped-column-divider-color: $black; + scrim-color: var(--dh-color-grid-scrim); + context-menu-sort-icon-color: var(--dh-color-grid-context-menu-sort-icon); + context-menu-reverse-icon-color: var( + --dh-color-grid-context-menu-reverse-icon + ); + linker-column-hover-bg: var(--dh-color-grid-column-linker-hover-bg); + tree-line-color: var(--dh-color-grid-tree-line); + tree-marker-color: var(--dh-color-grid-tree-marker); + tree-marker-hover-color: var(--dh-color-grid-tree-marker-hover); + grouped-column-divider-color: var(--dh-color-grid-column-grouped-divider); - floating-grid-row-color: $gray-600; - floating-row-background-colors: $gray-700; - floating-divider-inner-color: $gray-700; - floating-divider-outer-color: $gray-900; + floating-grid-row-color: var(--dh-color-grid-floating-row); + floating-row-background-colors: var(--dh-color-grid-floating-row-bg); + floating-divider-inner-color: var(--dh-color-grid-floating-divider-inner); + floating-divider-outer-color: var(--dh-color-grid-floating-divider-outer); - overflow-button-color: $gray-300; - overflow-button-hover-color: $gray-100; + overflow-button-color: var(--dh-color-grid-overflow-button); + overflow-button-hover-color: var(--dh-color-grid-overflow-button-hover); - zero-line-color: $gray-500; - positive-bar-color: $green; - negative-bar-color: $red; - marker-bar-color: $white; + zero-line-color: var(--dh-color-grid-data-bar-zero-line); + positive-bar-color: var(--dh-color-grid-data-bar-positive); + negative-bar-color: var(--dh-color-grid-data-bar-negative); + marker-bar-color: var(--dh-color-grid-data-bar-marker); } diff --git a/packages/iris-grid/src/IrisGridTheme.test.ts b/packages/iris-grid/src/IrisGridTheme.test.ts new file mode 100644 index 0000000000..4bb745df15 --- /dev/null +++ b/packages/iris-grid/src/IrisGridTheme.test.ts @@ -0,0 +1,39 @@ +import { resolveCssVariablesInRecord } from '@deephaven/components'; +import { TestUtils } from '@deephaven/utils'; +import { createDefaultIrisGridTheme } from './IrisGridTheme'; + +const { asMock } = TestUtils; + +jest.mock('@deephaven/components', () => ({ + ...jest.requireActual('@deephaven/components'), + resolveCssVariablesInRecord: jest.fn(), +})); + +beforeEach(() => { + jest.clearAllMocks(); + expect.hasAssertions(); +}); + +describe('createDefaultIrisGridTheme', () => { + // Proxy for IrisGridTheme + const identityProxy = new Proxy( + {}, + { + get(_target, name) { + return `IrisGridTheme['${String(name)}']`; + }, + } + ); + + beforeEach(() => { + asMock(resolveCssVariablesInRecord) + .mockName('resolveCssVariablesInRecord') + .mockReturnValue(identityProxy); + }); + + it('should derive the default Iris grid theme', () => { + const theme = createDefaultIrisGridTheme(); + expect(resolveCssVariablesInRecord).toHaveBeenCalled(); + expect(theme).toMatchSnapshot(); + }); +}); diff --git a/packages/iris-grid/src/IrisGridTheme.ts b/packages/iris-grid/src/IrisGridTheme.ts index 1d3423fe6a..500dbf6ea3 100644 --- a/packages/iris-grid/src/IrisGridTheme.ts +++ b/packages/iris-grid/src/IrisGridTheme.ts @@ -1,6 +1,10 @@ +import { resolveCssVariablesInRecord } from '@deephaven/components'; import type { GridThemeType } from '@deephaven/grid'; +import Log from '@deephaven/log'; import { GridColor, NullableGridColor } from '@deephaven/grid/src/GridTheme'; -import IrisGridTheme from './IrisGridTheme.module.scss'; +import IrisGridThemeRaw from './IrisGridTheme.module.scss'; + +const log = Log.module('IrisGridTheme'); export type IrisGridThemeType = GridThemeType & { filterBarCollapsedHeight: number; @@ -39,107 +43,120 @@ export type IrisGridThemeType = GridThemeType & { floatingGridRowColor: NullableGridColor; }; -const theme: Partial = Object.freeze({ - backgroundColor: IrisGridTheme['grid-bg'], - white: IrisGridTheme.white, - black: IrisGridTheme.black, - font: IrisGridTheme.font, - headerBackgroundColor: IrisGridTheme['header-bg'], - headerColor: IrisGridTheme['header-color'], - headerSeparatorColor: IrisGridTheme['header-separator-color'], - headerSeparatorHoverColor: IrisGridTheme['header-separator-hover-color'], - headerHiddenSeparatorHoverColor: - IrisGridTheme['header-hidden-separator-hover-color'], - headerSortBarColor: IrisGridTheme['header-sort-bar-color'], - headerReverseBarColor: IrisGridTheme['header-reverse-bar-color'], - headerBarCasingColor: IrisGridTheme['header-bar-casing-color'], - headerFont: IrisGridTheme['header-font'], - rowBackgroundColors: IrisGridTheme['row-background-colors'], - rowHoverBackgroundColor: IrisGridTheme['row-hover-bg'], - selectionColor: IrisGridTheme['selection-color'], - selectionOutlineColor: IrisGridTheme['selection-outline-color'], - selectionOutlineCasingColor: IrisGridTheme['selection-outline-casing-color'], - selectedRowHoverBackgroundColor: IrisGridTheme['selected-row-hover-bg'], - scrollBarBackgroundColor: IrisGridTheme['scroll-bar-bg'], - scrollBarHoverBackgroundColor: IrisGridTheme['scroll-bar-hover-bg'], - scrollBarCasingColor: IrisGridTheme['scroll-bar-casing-color'], - scrollBarCornerColor: IrisGridTheme['scroll-bar-corner-color'], - scrollBarColor: IrisGridTheme['scroll-bar-color'], - scrollBarHoverColor: IrisGridTheme['scroll-bar-hover-color'], - scrollBarActiveColor: IrisGridTheme['scroll-bar-active-color'], - scrollBarSelectionTickColor: IrisGridTheme['selected-row-hover-bg'], - scrollBarActiveSelectionTickColor: - IrisGridTheme['scroll-bar-active-selection-tick-color'], - textColor: IrisGridTheme['text-color'], - hyperlinkColor: IrisGridTheme['hyperlink-color'], - positiveNumberColor: IrisGridTheme['positive-number-color'], - negativeNumberColor: IrisGridTheme['negative-number-color'], - zeroNumberColor: IrisGridTheme['zero-number-color'], - dateColor: IrisGridTheme['date-color'], - pendingTextColor: IrisGridTheme['pending-text-color'], - errorTextColor: IrisGridTheme['error-text-color'], - nullStringColor: IrisGridTheme['null-string-color'], - filterBarActiveBackgroundColor: IrisGridTheme['filter-bar-active-bg'], - filterBarExpandedBackgroundColor: IrisGridTheme['filter-bar-expanded-bg'], - filterBarExpandedActiveBackgroundColor: - IrisGridTheme['filter-bar-expanded-active-bg'], - filterBarExpandedActiveCellBackgroundColor: - IrisGridTheme['filter-bar-expanded-active-cell-bg'], - filterBarSeparatorColor: IrisGridTheme['filter-bar-separator-color'], - filterBarActiveColor: IrisGridTheme['filter-bar-active-color'], - filterBarErrorColor: IrisGridTheme['filter-bar-error-color'], - filterIconColor: IrisGridTheme['filter-icon-color'], - scrimColor: IrisGridTheme['scrim-color'], - contextMenuSortIconColor: IrisGridTheme['context-menu-sort-icon-color'], - contextMenuReverseIconColor: IrisGridTheme['context-menu-reverse-icon-color'], +/** + * Derive default Iris grid theme from IrisGridThemeRaw. Note that CSS variables + * contained in IrisGridThemeRaw are resolved to their actual values. This means + * that the returned theme is statically defined and does not change when CSS + * variables change. + */ +export function createDefaultIrisGridTheme(): Partial { + const IrisGridTheme = resolveCssVariablesInRecord(IrisGridThemeRaw); + log.debug2('Iris grid theme:', IrisGridThemeRaw); + log.debug2('Iris grid theme derived:', IrisGridTheme); - allowRowResize: false, - autoSelectRow: true, - gridColumnColor: null, - gridRowColor: null, - groupedColumnDividerColor: IrisGridTheme['grouped-column-divider-color'], - columnHoverBackgroundColor: null, - headerHorizontalPadding: 12, - scrollBarSize: 13, - scrollBarHoverSize: 16, // system default scrollbar width is 17 - minScrollHandleSize: 24, - rowHeight: parseInt(IrisGridTheme['row-height'], 10) || 19, // IrisGrid test breaks without the fallback value - columnWidth: 100, - rowHeaderWidth: 0, - rowFooterWidth: 60, - columnHeaderHeight: parseInt(IrisGridTheme['header-height'], 10) || 30, - filterBarHeight: 30, // includes 1px casing at bottom - filterBarCollapsedHeight: 5, // includes 1px casing at bottom - sortHeaderBarHeight: 2, - reverseHeaderBarHeight: 4, - filterBarHorizontalPadding: 4, + return Object.freeze({ + backgroundColor: IrisGridTheme['grid-bg'], + white: IrisGridTheme.white, + black: IrisGridTheme.black, + font: IrisGridTheme.font, + headerBackgroundColor: IrisGridTheme['header-bg'], + headerColor: IrisGridTheme['header-color'], + headerSeparatorColor: IrisGridTheme['header-separator-color'], + headerSeparatorHoverColor: IrisGridTheme['header-separator-hover-color'], + headerHiddenSeparatorHoverColor: + IrisGridTheme['header-hidden-separator-hover-color'], + headerSortBarColor: IrisGridTheme['header-sort-bar-color'], + headerReverseBarColor: IrisGridTheme['header-reverse-bar-color'], + headerBarCasingColor: IrisGridTheme['header-bar-casing-color'], + headerFont: IrisGridTheme['header-font'], + rowBackgroundColors: IrisGridTheme['row-background-colors'], + rowHoverBackgroundColor: IrisGridTheme['row-hover-bg'], + selectionColor: IrisGridTheme['selection-color'], + selectionOutlineColor: IrisGridTheme['selection-outline-color'], + selectionOutlineCasingColor: + IrisGridTheme['selection-outline-casing-color'], + selectedRowHoverBackgroundColor: IrisGridTheme['selected-row-hover-bg'], + scrollBarBackgroundColor: IrisGridTheme['scroll-bar-bg'], + scrollBarHoverBackgroundColor: IrisGridTheme['scroll-bar-hover-bg'], + scrollBarCasingColor: IrisGridTheme['scroll-bar-casing-color'], + scrollBarCornerColor: IrisGridTheme['scroll-bar-corner-color'], + scrollBarColor: IrisGridTheme['scroll-bar-color'], + scrollBarHoverColor: IrisGridTheme['scroll-bar-hover-color'], + scrollBarActiveColor: IrisGridTheme['scroll-bar-active-color'], + scrollBarSelectionTickColor: IrisGridTheme['selected-row-hover-bg'], + scrollBarActiveSelectionTickColor: + IrisGridTheme['scroll-bar-active-selection-tick-color'], + textColor: IrisGridTheme['text-color'], + hyperlinkColor: IrisGridTheme['hyperlink-color'], + positiveNumberColor: IrisGridTheme['positive-number-color'], + negativeNumberColor: IrisGridTheme['negative-number-color'], + zeroNumberColor: IrisGridTheme['zero-number-color'], + dateColor: IrisGridTheme['date-color'], + pendingTextColor: IrisGridTheme['pending-text-color'], + errorTextColor: IrisGridTheme['error-text-color'], + nullStringColor: IrisGridTheme['null-string-color'], + filterBarActiveBackgroundColor: IrisGridTheme['filter-bar-active-bg'], + filterBarExpandedBackgroundColor: IrisGridTheme['filter-bar-expanded-bg'], + filterBarExpandedActiveBackgroundColor: + IrisGridTheme['filter-bar-expanded-active-bg'], + filterBarExpandedActiveCellBackgroundColor: + IrisGridTheme['filter-bar-expanded-active-cell-bg'], + filterBarSeparatorColor: IrisGridTheme['filter-bar-separator-color'], + filterBarActiveColor: IrisGridTheme['filter-bar-active-color'], + filterBarErrorColor: IrisGridTheme['filter-bar-error-color'], + filterIconColor: IrisGridTheme['filter-icon-color'], + scrimColor: IrisGridTheme['scrim-color'], + contextMenuSortIconColor: IrisGridTheme['context-menu-sort-icon-color'], + contextMenuReverseIconColor: + IrisGridTheme['context-menu-reverse-icon-color'], - // Amount of blur to apply to the bottom of the scrim while animating in - scrimBlurSize: 25, - minScrimTransitionTime: 150, - maxScrimTransitionTime: 350, + allowRowResize: false, + autoSelectRow: true, + gridColumnColor: null, + gridRowColor: null, + groupedColumnDividerColor: IrisGridTheme['grouped-column-divider-color'], + columnHoverBackgroundColor: null, + headerHorizontalPadding: 12, + scrollBarSize: 13, + scrollBarHoverSize: 16, // system default scrollbar width is 17 + minScrollHandleSize: 24, + rowHeight: parseInt(IrisGridTheme['row-height'], 10) || 19, // IrisGrid test breaks without the fallback value + columnWidth: 100, + rowHeaderWidth: 0, + rowFooterWidth: 60, + columnHeaderHeight: parseInt(IrisGridTheme['header-height'], 10) || 30, + filterBarHeight: 30, // includes 1px casing at bottom + filterBarCollapsedHeight: 5, // includes 1px casing at bottom + sortHeaderBarHeight: 2, + reverseHeaderBarHeight: 4, + filterBarHorizontalPadding: 4, - scrollSnapToRow: true, + // Amount of blur to apply to the bottom of the scrim while animating in + scrimBlurSize: 25, + minScrimTransitionTime: 150, + maxScrimTransitionTime: 350, - linkerColumnHoverBackgroundColor: IrisGridTheme['linker-column-hover-bg'], + scrollSnapToRow: true, - treeLineColor: IrisGridTheme['tree-line-color'], - treeMarkerColor: IrisGridTheme['tree-marker-color'], - treeMarkerHoverColor: IrisGridTheme['tree-marker-hover-color'], + linkerColumnHoverBackgroundColor: IrisGridTheme['linker-column-hover-bg'], - floatingGridColumnColor: null, - floatingGridRowColor: IrisGridTheme['floating-grid-row-color'], - floatingRowBackgroundColors: IrisGridTheme['floating-row-background-colors'], - floatingDividerInnerColor: IrisGridTheme['floating-divider-inner-color'], - floatingDividerOuterColor: IrisGridTheme['floating-divider-outer-color'], + treeLineColor: IrisGridTheme['tree-line-color'], + treeMarkerColor: IrisGridTheme['tree-marker-color'], + treeMarkerHoverColor: IrisGridTheme['tree-marker-hover-color'], - overflowButtonColor: IrisGridTheme['overflow-button-color'], - overflowButtonHoverColor: IrisGridTheme['overflow-button-hover-color'], + floatingGridColumnColor: null, + floatingGridRowColor: IrisGridTheme['floating-grid-row-color'], + floatingRowBackgroundColors: + IrisGridTheme['floating-row-background-colors'], + floatingDividerInnerColor: IrisGridTheme['floating-divider-inner-color'], + floatingDividerOuterColor: IrisGridTheme['floating-divider-outer-color'], - zeroLineColor: IrisGridTheme['zero-line-color'], - positiveBarColor: IrisGridTheme['positive-bar-color'], - negativeBarColor: IrisGridTheme['negative-bar-color'], - markerBarColor: IrisGridTheme['marker-bar-color'], -}); + overflowButtonColor: IrisGridTheme['overflow-button-color'], + overflowButtonHoverColor: IrisGridTheme['overflow-button-hover-color'], -export default theme; + zeroLineColor: IrisGridTheme['zero-line-color'], + positiveBarColor: IrisGridTheme['positive-bar-color'], + negativeBarColor: IrisGridTheme['negative-bar-color'], + markerBarColor: IrisGridTheme['marker-bar-color'], + }); +} diff --git a/packages/iris-grid/src/__snapshots__/IrisGridTheme.test.ts.snap b/packages/iris-grid/src/__snapshots__/IrisGridTheme.test.ts.snap new file mode 100644 index 0000000000..7a2e0cc4d5 --- /dev/null +++ b/packages/iris-grid/src/__snapshots__/IrisGridTheme.test.ts.snap @@ -0,0 +1,93 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`createDefaultIrisGridTheme should derive the default Iris grid theme 1`] = ` +{ + "allowRowResize": false, + "autoSelectRow": true, + "backgroundColor": "IrisGridTheme['grid-bg']", + "black": "IrisGridTheme['black']", + "columnHeaderHeight": 30, + "columnHoverBackgroundColor": null, + "columnWidth": 100, + "contextMenuReverseIconColor": "IrisGridTheme['context-menu-reverse-icon-color']", + "contextMenuSortIconColor": "IrisGridTheme['context-menu-sort-icon-color']", + "dateColor": "IrisGridTheme['date-color']", + "errorTextColor": "IrisGridTheme['error-text-color']", + "filterBarActiveBackgroundColor": "IrisGridTheme['filter-bar-active-bg']", + "filterBarActiveColor": "IrisGridTheme['filter-bar-active-color']", + "filterBarCollapsedHeight": 5, + "filterBarErrorColor": "IrisGridTheme['filter-bar-error-color']", + "filterBarExpandedActiveBackgroundColor": "IrisGridTheme['filter-bar-expanded-active-bg']", + "filterBarExpandedActiveCellBackgroundColor": "IrisGridTheme['filter-bar-expanded-active-cell-bg']", + "filterBarExpandedBackgroundColor": "IrisGridTheme['filter-bar-expanded-bg']", + "filterBarHeight": 30, + "filterBarHorizontalPadding": 4, + "filterBarSeparatorColor": "IrisGridTheme['filter-bar-separator-color']", + "filterIconColor": "IrisGridTheme['filter-icon-color']", + "floatingDividerInnerColor": "IrisGridTheme['floating-divider-inner-color']", + "floatingDividerOuterColor": "IrisGridTheme['floating-divider-outer-color']", + "floatingGridColumnColor": null, + "floatingGridRowColor": "IrisGridTheme['floating-grid-row-color']", + "floatingRowBackgroundColors": "IrisGridTheme['floating-row-background-colors']", + "font": "IrisGridTheme['font']", + "gridColumnColor": null, + "gridRowColor": null, + "groupedColumnDividerColor": "IrisGridTheme['grouped-column-divider-color']", + "headerBackgroundColor": "IrisGridTheme['header-bg']", + "headerBarCasingColor": "IrisGridTheme['header-bar-casing-color']", + "headerColor": "IrisGridTheme['header-color']", + "headerFont": "IrisGridTheme['header-font']", + "headerHiddenSeparatorHoverColor": "IrisGridTheme['header-hidden-separator-hover-color']", + "headerHorizontalPadding": 12, + "headerReverseBarColor": "IrisGridTheme['header-reverse-bar-color']", + "headerSeparatorColor": "IrisGridTheme['header-separator-color']", + "headerSeparatorHoverColor": "IrisGridTheme['header-separator-hover-color']", + "headerSortBarColor": "IrisGridTheme['header-sort-bar-color']", + "hyperlinkColor": "IrisGridTheme['hyperlink-color']", + "linkerColumnHoverBackgroundColor": "IrisGridTheme['linker-column-hover-bg']", + "markerBarColor": "IrisGridTheme['marker-bar-color']", + "maxScrimTransitionTime": 350, + "minScrimTransitionTime": 150, + "minScrollHandleSize": 24, + "negativeBarColor": "IrisGridTheme['negative-bar-color']", + "negativeNumberColor": "IrisGridTheme['negative-number-color']", + "nullStringColor": "IrisGridTheme['null-string-color']", + "overflowButtonColor": "IrisGridTheme['overflow-button-color']", + "overflowButtonHoverColor": "IrisGridTheme['overflow-button-hover-color']", + "pendingTextColor": "IrisGridTheme['pending-text-color']", + "positiveBarColor": "IrisGridTheme['positive-bar-color']", + "positiveNumberColor": "IrisGridTheme['positive-number-color']", + "reverseHeaderBarHeight": 4, + "rowBackgroundColors": "IrisGridTheme['row-background-colors']", + "rowFooterWidth": 60, + "rowHeaderWidth": 0, + "rowHeight": 19, + "rowHoverBackgroundColor": "IrisGridTheme['row-hover-bg']", + "scrimBlurSize": 25, + "scrimColor": "IrisGridTheme['scrim-color']", + "scrollBarActiveColor": "IrisGridTheme['scroll-bar-active-color']", + "scrollBarActiveSelectionTickColor": "IrisGridTheme['scroll-bar-active-selection-tick-color']", + "scrollBarBackgroundColor": "IrisGridTheme['scroll-bar-bg']", + "scrollBarCasingColor": "IrisGridTheme['scroll-bar-casing-color']", + "scrollBarColor": "IrisGridTheme['scroll-bar-color']", + "scrollBarCornerColor": "IrisGridTheme['scroll-bar-corner-color']", + "scrollBarHoverBackgroundColor": "IrisGridTheme['scroll-bar-hover-bg']", + "scrollBarHoverColor": "IrisGridTheme['scroll-bar-hover-color']", + "scrollBarHoverSize": 16, + "scrollBarSelectionTickColor": "IrisGridTheme['selected-row-hover-bg']", + "scrollBarSize": 13, + "scrollSnapToRow": true, + "selectedRowHoverBackgroundColor": "IrisGridTheme['selected-row-hover-bg']", + "selectionColor": "IrisGridTheme['selection-color']", + "selectionOutlineCasingColor": "IrisGridTheme['selection-outline-casing-color']", + "selectionOutlineColor": "IrisGridTheme['selection-outline-color']", + "sortHeaderBarHeight": 2, + "textColor": "IrisGridTheme['text-color']", + "treeLineColor": "IrisGridTheme['tree-line-color']", + "treeMarkerColor": "IrisGridTheme['tree-marker-color']", + "treeMarkerHoverColor": "IrisGridTheme['tree-marker-hover-color']", + "white": "IrisGridTheme['white']", + "zeroLineColor": "IrisGridTheme['zero-line-color']", + "zeroNumberColor": "IrisGridTheme['zero-number-color']", +} +`; diff --git a/packages/iris-grid/src/index.ts b/packages/iris-grid/src/index.ts index 6754afbc16..0d5efc174a 100644 --- a/packages/iris-grid/src/index.ts +++ b/packages/iris-grid/src/index.ts @@ -16,7 +16,7 @@ export { default as IrisGridTableModelTemplate } from './IrisGridTableModelTempl export * from './IrisGridTableModelTemplate'; export * from './IrisGridTreeTableModel'; export { default as IrisGridModelFactory } from './IrisGridModelFactory'; -export { default as IrisGridTheme } from './IrisGridTheme'; +export { createDefaultIrisGridTheme } from './IrisGridTheme'; export type { IrisGridThemeType } from './IrisGridTheme'; export { default as IrisGridTestUtils } from './IrisGridTestUtils'; export { default as IrisGridUtils } from './IrisGridUtils'; diff --git a/packages/utils/src/ColorUtils.ts b/packages/utils/src/ColorUtils.ts index 560b9fd6aa..297994df44 100644 --- a/packages/utils/src/ColorUtils.ts +++ b/packages/utils/src/ColorUtils.ts @@ -100,12 +100,7 @@ class ColorUtils { const [r, g, b, a = 1] = tokens.map(Number); - return { - r, - g, - b, - a, - }; + return { r, g, b, a }; } /** diff --git a/tests/table.spec.ts-snapshots/tests-simple-table-operations-go-to-1-chromium-linux.png b/tests/table.spec.ts-snapshots/tests-simple-table-operations-go-to-1-chromium-linux.png index 4697fe11dbf11c24d9bdfc4220de3ac127dda842..067bf33c35402c0adb813fb4242debb43647ded5 100644 GIT binary patch literal 30891 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ðPLkdTm@m_$Fq! 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 z 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 z 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 literal 28050 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