@@ -12,7 +12,8 @@ $theme: $material;
1212 }
1313}
1414
15- :host (:hover ) {
15+ :host (:not ([disabled ], :state(ig-invalid )):hover ),
16+ :host (:not ([disabled ], :state(ig-invalid ))[indeterminate ]:hover ) {
1617 [part = ' control checked' ]::after {
1718 border-color : var-get ($theme , ' fill-color-hover' );
1819 }
@@ -68,7 +69,7 @@ $theme: $material;
6869 & :hover {
6970 [part ~= ' control' ] {
7071 & ::before {
71- background : var-get ($theme , ' fill-color' );
72+ background : var-get ($theme , ' fill-color-hover ' );
7273 opacity : .06 ;
7374 }
7475 }
@@ -88,13 +89,18 @@ $theme: $material;
8889
8990[part = ' base checked' ]:focus-visible ,
9091[part = ' base checked focused' ] {
91- & :hover [part ~= ' control' ],
9292 [part ~= ' control' ] {
9393 & ::before {
9494 background : var-get ($theme , ' fill-color' );
9595 opacity : .12 ;
9696 }
9797 }
98+
99+ & :hover [part ~= ' control' ] {
100+ & ::before {
101+ background : var-get ($theme , ' fill-color-hover' );
102+ }
103+ }
98104}
99105
100106:host ([indeterminate ]) {
@@ -105,7 +111,6 @@ $theme: $material;
105111 }
106112 }
107113
108- [part = ' base' ]:hover ,
109114 [part = ' base' ]:focus-visible ,
110115 [part = ' base focused' ] {
111116 [part ~= ' control' ]::before {
@@ -128,17 +133,52 @@ $theme: $material;
128133 }
129134 }
130135
131- [part ~ =' base' ] :hover {
136+ [part = ' base focused ' ] {
132137 [part ~= ' control' ]::before {
133138 background : var-get ($theme , ' error-color' );
134139 }
135140 }
136141
137- [part = ' base focused' ] {
142+ [part = ' base checked' ]:focus-visible ,
143+ [part = ' base checked focused' ] {
138144 [part ~= ' control' ]::before {
145+ background : var-get ($theme , ' error-color' );
146+ opacity : .12 ;
147+ }
148+ }
149+ }
150+
151+ :host (:not ([disabled ]):state(ig-invalid):hover ),
152+ :host (:not (:disabled ):state(ig-invalid):hover ),
153+ :host (:not ([disabled ]):state(ig-invalid)[indeterminate ]:hover ),
154+ :host (:not (:disabled ):state(ig-invalid)[indeterminate ]:hover ) {
155+ [part ~= ' control' ] {
156+ & ::after {
157+ border-color : var-get ($theme , ' error-color-hover' );
158+ }
159+ }
160+
161+ [part = ' control checked' ] {
162+ & ::after {
139163 background : var-get ($theme , ' error-color-hover' );
140164 }
141165 }
166+
167+ [part ~= ' control' ]::before {
168+ background : var-get ($theme , ' error-color-hover' );
169+ }
170+
171+ [part = ' base checked' ]:focus-visible ,
172+ [part = ' base checked focused' ] {
173+ [part ~= ' control' ] {
174+ & ::before {
175+ background : var-get ($theme , ' error-color-hover' );
176+ }
177+
178+ & ::after {
179+ border-color : var-get ($theme , ' error-color-hover' );}
180+ }
181+ }
142182}
143183
144184:host (:not ([disabled ]):state(ig-invalid)[indeterminate ]),
@@ -151,14 +191,11 @@ $theme: $material;
151191 }
152192
153193 [part ~= ' base' ]:hover {
154- [part ~= ' control' ]::before {
155- background : var-get ($theme , ' error-color-hover' );
156- }
157- }
158-
159- [part = ' base focused' ] {
160- [part ~= ' control' ]::before {
161- background : var-get ($theme , ' error-color-hover' );
194+ [part ~= ' control' ] {
195+ & ::after {
196+ border-color : var-get ($theme , ' error-color-hover' );
197+ background : var-get ($theme , ' error-color-hover' );
198+ }
162199 }
163200 }
164201}
0 commit comments