|
17 | 17 | /// @param {String} $header-border-width [null] - The border width used for header borders. |
18 | 18 | /// @param {String} $header-border-style [null] - The border style used for header borders. |
19 | 19 | /// @param {Color} $header-border-color [null] - The color used for header borders. |
| 20 | +/// @param {Color} $header-selected-background [null] - The table header background color when selected (ex. column selection). |
| 21 | +/// @param {Color} $header-selected-text-color [null] - The table header text color when selected (ex. column selection). |
20 | 22 | /// |
21 | 23 | /// @param {Color} $sorted-header-icon-color [null] - The sort icon color when sorted. |
22 | 24 | /// @param {color} $sortable-header-icon-hover-color [null] - The icon color on hover in grid header when the column is sortable. |
|
126 | 128 | $header-border-style: null, |
127 | 129 | $header-border-color: null, |
128 | 130 |
|
| 131 | + $header-selected-background: null, |
| 132 | + $header-selected-text-color: null, |
| 133 | +
|
129 | 134 | $sorted-header-icon-color: null, |
130 | 135 |
|
131 | 136 | $content-background: null, |
|
230 | 235 |
|
231 | 236 | $tree-selected-filtered-row-text-color: rgba(text-contrast(map-get($theme, 'row-selected-background')), .5); |
232 | 237 | $tree-selected-filtered-cell-text-color: rgba(text-contrast(map-get($theme, 'cell-selected-background')), .5); |
233 | | - $row-selected-cell-background: darken-color(map-get($theme, 'row-selected-background'), 8%); |
| 238 | + |
| 239 | + $rs-bg: if( |
| 240 | + $row-selected-background, |
| 241 | + $row-selected-background, |
| 242 | + map-get($theme, 'row-selected-background') |
| 243 | + ); |
| 244 | + |
| 245 | + $row-selected-cell-background: null; |
| 246 | + |
| 247 | + @if type-of($rs-bg) == 'color' { |
| 248 | + @if luminance($rs-bg) < .5 { |
| 249 | + $row-selected-cell-background: lighten-color($rs-bg, 8%); |
| 250 | + } @else { |
| 251 | + $row-selected-cell-background: darken-color($rs-bg, 8%); |
| 252 | + } |
| 253 | + } |
234 | 254 |
|
235 | 255 | @if not($ghost-header-icon-color) and $ghost-header-background { |
236 | 256 | @if type-of($ghost-header-background) == 'color' { |
|
250 | 270 | $header-text-color: text-contrast($header-background); |
251 | 271 | } |
252 | 272 |
|
| 273 | + @if not($header-selected-text-color) and $header-selected-background { |
| 274 | + $header-selected-text-color: text-contrast($header-selected-background); |
| 275 | + } |
| 276 | + |
253 | 277 | @if not($header-border-color) and $header-background { |
254 | 278 | @if type-of($header-background) == 'color' { |
255 | 279 | $header-border-color: rgba(text-contrast($header-background), .24); |
|
442 | 466 |
|
443 | 467 | header-background: $header-background, |
444 | 468 | header-text-color: $header-text-color, |
| 469 | + header-selected-background: $header-selected-background, |
| 470 | + header-selected-text-color: $header-selected-text-color, |
445 | 471 | header-border-width: $header-border-width, |
446 | 472 | header-border-style: $header-border-style, |
447 | 473 | header-border-color: $header-border-color, |
|
979 | 1005 | &:hover { |
980 | 1006 | background: --var($theme, 'row-hover-background'); |
981 | 1007 | color: --var($theme, 'row-hover-text-color'); |
| 1008 | + |
| 1009 | + %grid-cell--column-selected { |
| 1010 | + background: --var($theme, 'row-selected-hover-background'); |
| 1011 | + } |
| 1012 | + |
| 1013 | + %grid-cell--cross-selected { |
| 1014 | + color: --var($theme, 'row-selected-text-color'); |
| 1015 | + background: --var($theme, 'row-selected-cell-background'); |
| 1016 | + } |
982 | 1017 | } |
983 | 1018 |
|
984 | 1019 | &%igx-grid__tr--ghost { |
|
1059 | 1094 | &:hover { |
1060 | 1095 | background: --var($theme, 'row-selected-hover-background'); |
1061 | 1096 | color: --var($theme, 'row-selected-text-color'); |
| 1097 | + |
| 1098 | + %grid-cell--column-selected { |
| 1099 | + color: --var($theme, 'row-selected-text-color'); |
| 1100 | + background: --var($theme, 'row-selected-hover-background'); |
| 1101 | + } |
1062 | 1102 | } |
1063 | 1103 |
|
1064 | 1104 | %igx-grid__tree-grouping-indicator { |
|
1289 | 1329 | %grid-cell--column-selected { |
1290 | 1330 | color: --var($theme, 'row-selected-text-color'); |
1291 | 1331 | background: --var($theme, 'row-selected-background'); |
1292 | | - |
1293 | | - &:hover { |
1294 | | - background: --var($theme, 'row-selected-hover-background'); |
1295 | | - color: --var($theme, 'row-selected-text-color'); |
1296 | | - } |
1297 | 1332 | } |
1298 | 1333 |
|
1299 | 1334 | %grid-cell--cross-selected { |
| 1335 | + color: --var($theme, 'row-selected-text-color'); |
1300 | 1336 | background: --var($theme, 'row-selected-cell-background'); |
1301 | 1337 | } |
1302 | 1338 |
|
|
1472 | 1508 | } |
1473 | 1509 |
|
1474 | 1510 | %igx-grid__th--selectable { |
1475 | | - color: --var($theme, 'row-selected-text-color'); |
1476 | | - background: --var($theme, 'row-selected-background'); |
| 1511 | + color: --var($theme, 'header-selected-text-color'); |
| 1512 | + background: --var($theme, 'header-selected-background'); |
1477 | 1513 | opacity: .7; |
1478 | 1514 | } |
1479 | 1515 |
|
1480 | 1516 | %igx-grid__th--selected { |
1481 | | - color: --var($theme, 'row-selected-text-color'); |
1482 | | - background: --var($theme, 'row-selected-cell-background'); |
| 1517 | + color: --var($theme, 'header-selected-text-color'); |
| 1518 | + background: --var($theme, 'header-selected-background'); |
1483 | 1519 | } |
1484 | 1520 |
|
1485 | 1521 | %igx-grid__th--sortable { |
|
2208 | 2244 | } |
2209 | 2245 |
|
2210 | 2246 | %igx-grid__filtering-cell--selected { |
2211 | | - color: --var($theme, 'row-selected-text-color'); |
2212 | | - background: --var($theme, 'row-selected-cell-background'); |
| 2247 | + color: --var($theme, 'header-selected-text-color'); |
| 2248 | + background: --var($theme, 'header-selected-background'); |
2213 | 2249 | } |
2214 | 2250 |
|
2215 | 2251 | %igx-grid__filtering-cell-indicator { |
|
0 commit comments