|
22 | 22 | @include mdc-chip-theme.theme-styles($mdc-chip-token-slots);
|
23 | 23 | }
|
24 | 24 |
|
| 25 | + // The highlighted attribute is used to make the chip appear as selected on-demand, |
| 26 | + // aside from showing the selected indicator. We achieve this by re-mapping the base |
| 27 | + // tokens to the highlighted ones. Note that we only need to do this for the tokens |
| 28 | + // that we don't re-implement ourselves below. |
| 29 | + // TODO(crisbeto): with some future refactors we may be able to clean this up. |
| 30 | + .mat-mdc-chip-highlighted { |
| 31 | + @include token-utils.use-tokens(tokens-mdc-chip.$prefix, $mdc-chip-token-slots) { |
| 32 | + $highlighted-remapped-tokens: ( |
| 33 | + with-icon-icon-color: with-icon-selected-icon-color, |
| 34 | + elevated-container-color: elevated-selected-container-color, |
| 35 | + label-text-color: selected-label-text-color, |
| 36 | + outline-width: flat-selected-outline-width, |
| 37 | + ); |
| 38 | + |
| 39 | + @each $selected, $base in $highlighted-remapped-tokens { |
| 40 | + #{token-utils.get-token-variable($selected)}: var(token-utils.get-token-variable($base)); |
| 41 | + } |
| 42 | + } |
| 43 | + } |
| 44 | + |
25 | 45 | // Add additional slots for the MDC chip tokens, needed in Angular Material.
|
26 | 46 | $disabled-trailing-icon-opacity: 1;
|
27 | 47 |
|
28 | 48 | @include token-utils.use-tokens(tokens-mdc-chip.$prefix, $mdc-chip-token-slots) {
|
29 | 49 | .mat-mdc-chip-focus-overlay {
|
30 | 50 | @include token-utils.create-token-slot(background, focus-state-layer-color);
|
31 | 51 |
|
32 |
| - .mat-mdc-chip-selected & { |
| 52 | + .mat-mdc-chip-selected &, |
| 53 | + .mat-mdc-chip-highlighted & { |
33 | 54 | @include token-utils.create-token-slot(background, selected-focus-state-layer-color);
|
34 | 55 | }
|
35 | 56 |
|
|
38 | 59 | @include token-utils.create-token-slot(opacity, hover-state-layer-opacity);
|
39 | 60 | }
|
40 | 61 |
|
41 |
| - .mat-mdc-chip-selected:hover & { |
| 62 | + .mat-mdc-chip-selected:hover, |
| 63 | + .mat-mdc-chip-highlighted:hover & { |
42 | 64 | @include token-utils.create-token-slot(background, selected-hover-state-layer-color);
|
43 | 65 | @include token-utils.create-token-slot(opacity, selected-hover-state-layer-opacity);
|
44 | 66 | }
|
|
48 | 70 | @include token-utils.create-token-slot(opacity, focus-state-layer-opacity);
|
49 | 71 | }
|
50 | 72 |
|
51 |
| - .mat-mdc-chip-selected.cdk-focused & { |
| 73 | + .mat-mdc-chip-selected.cdk-focused &, |
| 74 | + .mat-mdc-chip-highlighted.cdk-focused & { |
52 | 75 | @include token-utils.create-token-slot(background, selected-focus-state-layer-color);
|
53 | 76 | @include token-utils.create-token-slot(opacity, selected-focus-state-layer-opacity);
|
54 | 77 | }
|
|
79 | 102 | @include token-utils.create-token-slot(opacity, disabled-container-opacity);
|
80 | 103 | }
|
81 | 104 |
|
82 |
| - &.mdc-evolution-chip--selected { |
| 105 | + &.mdc-evolution-chip--selected, |
| 106 | + &.mat-mdc-chip-highlighted { |
83 | 107 | .mdc-evolution-chip__icon--trailing {
|
84 | 108 | @include token-utils.create-token-slot(color, selected-trailing-icon-color);
|
85 | 109 | }
|
|
110 | 134 | }
|
111 | 135 | }
|
112 | 136 |
|
113 |
| - .mat-mdc-chip-selected .mat-mdc-chip-remove::after { |
| 137 | + .mat-mdc-chip-selected .mat-mdc-chip-remove::after, |
| 138 | + .mat-mdc-chip-highlighted .mat-mdc-chip-remove::after { |
114 | 139 | @include token-utils.create-token-slot(
|
115 | 140 | background, selected-trailing-action-state-layer-color);
|
116 | 141 | }
|
|
0 commit comments