@@ -26,6 +26,7 @@ import {
26
26
numberAttribute ,
27
27
inject ,
28
28
HostAttributeToken ,
29
+ signal ,
29
30
} from '@angular/core' ;
30
31
import {
31
32
AbstractControl ,
@@ -261,7 +262,7 @@ export class MatCheckbox
261
262
}
262
263
263
264
ngAfterViewInit ( ) {
264
- this . _syncIndeterminate ( this . _indeterminate ) ;
265
+ this . _syncIndeterminate ( this . indeterminate ) ;
265
266
}
266
267
267
268
/** Whether the checkbox is checked. */
@@ -298,26 +299,26 @@ export class MatCheckbox
298
299
*/
299
300
@Input ( { transform : booleanAttribute } )
300
301
get indeterminate ( ) : boolean {
301
- return this . _indeterminate ;
302
+ return this . _indeterminate ( ) ;
302
303
}
303
304
set indeterminate ( value : boolean ) {
304
- const changed = value != this . _indeterminate ;
305
- this . _indeterminate = value ;
305
+ const changed = value != this . _indeterminate ( ) ;
306
+ this . _indeterminate . set ( value ) ;
306
307
307
308
if ( changed ) {
308
- if ( this . _indeterminate ) {
309
+ if ( value ) {
309
310
this . _transitionCheckState ( TransitionCheckState . Indeterminate ) ;
310
311
} else {
311
312
this . _transitionCheckState (
312
313
this . checked ? TransitionCheckState . Checked : TransitionCheckState . Unchecked ,
313
314
) ;
314
315
}
315
- this . indeterminateChange . emit ( this . _indeterminate ) ;
316
+ this . indeterminateChange . emit ( value ) ;
316
317
}
317
318
318
- this . _syncIndeterminate ( this . _indeterminate ) ;
319
+ this . _syncIndeterminate ( value ) ;
319
320
}
320
- private _indeterminate : boolean = false ;
321
+ private _indeterminate = signal ( false ) ;
321
322
322
323
_isRippleDisabled ( ) {
323
324
return this . disableRipple || this . disabled ;
@@ -419,8 +420,8 @@ export class MatCheckbox
419
420
// When user manually click on the checkbox, `indeterminate` is set to false.
420
421
if ( this . indeterminate && clickAction !== 'check' ) {
421
422
Promise . resolve ( ) . then ( ( ) => {
422
- this . _indeterminate = false ;
423
- this . indeterminateChange . emit ( this . _indeterminate ) ;
423
+ this . _indeterminate . set ( false ) ;
424
+ this . indeterminateChange . emit ( false ) ;
424
425
} ) ;
425
426
}
426
427
0 commit comments