@@ -37,6 +37,7 @@ import {
37
37
OnDestroy ,
38
38
Output ,
39
39
QueryList ,
40
+ signal ,
40
41
} from '@angular/core' ;
41
42
import { ControlValueAccessor , NG_VALUE_ACCESSOR } from '@angular/forms' ;
42
43
import { defer , fromEvent , merge , Observable , Subject } from 'rxjs' ;
@@ -119,24 +120,24 @@ export class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightab
119
120
/** Whether this option is disabled. */
120
121
@Input ( { alias : 'cdkOptionDisabled' , transform : booleanAttribute } )
121
122
get disabled ( ) : boolean {
122
- return this . listbox . disabled || this . _disabled ;
123
+ return this . listbox . disabled || this . _disabled ( ) ;
123
124
}
124
125
set disabled ( value : boolean ) {
125
- this . _disabled = value ;
126
+ this . _disabled . set ( value ) ;
126
127
}
127
- private _disabled : boolean = false ;
128
+ private _disabled = signal ( false ) ;
128
129
129
130
/** The tabindex of the option when it is enabled. */
130
131
@Input ( 'tabindex' )
131
132
get enabledTabIndex ( ) {
132
- return this . _enabledTabIndex === undefined
133
+ return this . _enabledTabIndex ( ) === undefined
133
134
? this . listbox . enabledTabIndex
134
- : this . _enabledTabIndex ;
135
+ : this . _enabledTabIndex ( ) ;
135
136
}
136
137
set enabledTabIndex ( value ) {
137
- this . _enabledTabIndex = value ;
138
+ this . _enabledTabIndex . set ( value ) ;
138
139
}
139
- private _enabledTabIndex ?: number | null ;
140
+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
140
141
141
142
/** The option's host element */
142
143
readonly element : HTMLElement = inject ( ElementRef ) . nativeElement ;
@@ -269,12 +270,12 @@ export class CdkListbox<T = unknown> implements AfterContentInit, OnDestroy, Con
269
270
/** The tabindex to use when the listbox is enabled. */
270
271
@Input ( 'tabindex' )
271
272
get enabledTabIndex ( ) {
272
- return this . _enabledTabIndex === undefined ? 0 : this . _enabledTabIndex ;
273
+ return this . _enabledTabIndex ( ) === undefined ? 0 : this . _enabledTabIndex ( ) ;
273
274
}
274
275
set enabledTabIndex ( value ) {
275
- this . _enabledTabIndex = value ;
276
+ this . _enabledTabIndex . set ( value ) ;
276
277
}
277
- private _enabledTabIndex ?: number | null ;
278
+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
278
279
279
280
/** The value selected in the listbox, represented as an array of option values. */
280
281
@Input ( 'cdkListboxValue' )
@@ -303,11 +304,23 @@ export class CdkListbox<T = unknown> implements AfterContentInit, OnDestroy, Con
303
304
304
305
/** Whether the listbox is disabled. */
305
306
@Input ( { alias : 'cdkListboxDisabled' , transform : booleanAttribute } )
306
- disabled : boolean = false ;
307
+ get disabled ( ) {
308
+ return this . _disabled ( ) ;
309
+ }
310
+ set disabled ( value : boolean ) {
311
+ this . _disabled . set ( value ) ;
312
+ }
313
+ private _disabled = signal ( false ) ;
307
314
308
315
/** Whether the listbox will use active descendant or will move focus onto the options. */
309
316
@Input ( { alias : 'cdkListboxUseActiveDescendant' , transform : booleanAttribute } )
310
- useActiveDescendant : boolean = false ;
317
+ get useActiveDescendant ( ) {
318
+ return this . _useActiveDescendant ( ) ;
319
+ }
320
+ set useActiveDescendant ( value : boolean ) {
321
+ this . _useActiveDescendant . set ( value ) ;
322
+ }
323
+ private _useActiveDescendant = signal ( false ) ;
311
324
312
325
/** The orientation of the listbox. Only affects keyboard interaction, not visual layout. */
313
326
@Input ( 'cdkListboxOrientation' )
0 commit comments