From b288b71a6143c012bdaa6a474e14d7b308c1fd98 Mon Sep 17 00:00:00 2001 From: didimmova Date: Wed, 27 May 2026 11:43:28 +0300 Subject: [PATCH] feat(grid): update grid for header background changes --- .../components/grid/_grid-theme-builder.scss | 15 +++++++++ .../styles/components/grid/_grid-theme.scss | 6 ++-- .../grid-theme-builder.sample.html | 32 ++++++++++++++++--- .../grid-theme-builder.sample.scss | 13 +++++++- .../grid-theme-builder.sample.ts | 6 ++-- 5 files changed, 60 insertions(+), 12 deletions(-) diff --git a/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme-builder.scss b/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme-builder.scss index 3e304f68e46..395bc8cdd5f 100644 --- a/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme-builder.scss +++ b/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme-builder.scss @@ -73,6 +73,7 @@ $item-background: var(--_grid-background, #{var-get($theme, if($variant == 'indigo', 'filtering-dialog-background', 'filtering-row-background'))}), $item-border-color: transparent, $item-text-color: var(--_grid-foreground, #{color($color: 'gray', $variant: 700)}), + $item-active-border-color: var(--item-active-background), $item-selected-background: if( $variant == 'indigo', var(--ig-btn-group-selected-bg, var(--ig-primary-500)), @@ -87,6 +88,7 @@ color($color: 'primary', $variant: 500) ) )}), + $item-selected-active-border-color: var(--item-selected-active-background), $item-selected-hover-text-color: var(--_grid-accent-color, #{if( $variant == 'indigo', contrast-color($color: 'primary'), @@ -150,6 +152,19 @@ ) ); + igx-grid-header-row { + @include tokens( + checkbox-theme( + $schema: $schema, + $empty-color: var(--header-text-color), + $empty-fill-color: var(--header-background), + $tick-color-hover: color-mix(in srgb, var(--header-text-color) 40%, var(--header-background)), + $fill-color: var(--_grid-accent-color), + $label-color: var(--header-text-color), + $disabled-color: color-mix(in srgb, var(--header-text-color) 50%, var(--header-background)), + )); + } + @include tokens( chip-theme( $schema: $schema, diff --git a/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss b/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss index a5f9779a215..855076c8483 100644 --- a/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss +++ b/projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss @@ -1502,7 +1502,7 @@ min-height: var(--header-size); outline-style: none; overflow: hidden; - transition: color 250ms ease-in-out; + transition: color 120ms $ease-in-out-cubic; } %grid-cell-header--filtering { @@ -1526,7 +1526,7 @@ flex-grow: 1; /* hey IE, the text should take most of the space */ // align-self: flex-end; /* commenting out for now on external request */ line-height: var(--header-size); - transition: color 250ms ease-in-out; + transition: color 120ms $ease-in-out-cubic; } %grid-cell-header-icons { @@ -1744,7 +1744,7 @@ %grid-excel-icon--filtered, %grid-excel-icon, .sort-icon { - transition: all 250ms ease-in-out; + transition: all 120ms $ease-in-out-cubic; } %grid-cell-number { diff --git a/src/app/grid-theme-builder/grid-theme-builder.sample.html b/src/app/grid-theme-builder/grid-theme-builder.sample.html index a8454b64fba..03b96aeef4f 100644 --- a/src/app/grid-theme-builder/grid-theme-builder.sample.html +++ b/src/app/grid-theme-builder/grid-theme-builder.sample.html @@ -1,18 +1,21 @@
+ [style.--ig-grid-accent-color]="gridAccentColor() || null" + [style.--ig-grid-header-background]="gridHeaderBackground() || null" + [style.--ig-grid-header-text-color]="gridHeaderTextColor() || null">
- + - + @if (gridForeground()) { - + } @else { } @@ -23,6 +26,27 @@
+
+ + + @if (gridHeaderBackground()) { + + + } @else { + + } + + + + @if (gridHeaderTextColor()) { + + + } @else { + + } + +
+ ('grid'); private readonly sampleEl = viewChild.required('sampleEl'); @@ -36,8 +38,4 @@ export class GridThemeBuilderSampleComponent implements OnInit, AfterViewInit { this.gridBackground.set(styles.getPropertyValue('--ig-grid-background').trim()); this.gridAccentColor.set(styles.getPropertyValue('--ig-grid-accent-color').trim()); } - - protected resetForeground(): void { - this.gridForeground.set(''); - } }