@@ -42,6 +42,7 @@ import {
42
42
OnDestroy ,
43
43
Output ,
44
44
QueryList ,
45
+ signal ,
45
46
} from '@angular/core' ;
46
47
import { ControlValueAccessor , NG_VALUE_ACCESSOR } from '@angular/forms' ;
47
48
import { defer , fromEvent , merge , Observable , Subject } from 'rxjs' ;
@@ -120,24 +121,24 @@ export class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightab
120
121
/** Whether this option is disabled. */
121
122
@Input ( { alias : 'cdkOptionDisabled' , transform : booleanAttribute } )
122
123
get disabled ( ) : boolean {
123
- return this . listbox . disabled || this . _disabled ;
124
+ return this . listbox . disabled || this . _disabled ( ) ;
124
125
}
125
126
set disabled ( value : boolean ) {
126
- this . _disabled = value ;
127
+ this . _disabled . set ( value ) ;
127
128
}
128
- private _disabled : boolean = false ;
129
+ private _disabled = signal ( false ) ;
129
130
130
131
/** The tabindex of the option when it is enabled. */
131
132
@Input ( 'tabindex' )
132
133
get enabledTabIndex ( ) {
133
- return this . _enabledTabIndex === undefined
134
+ return this . _enabledTabIndex ( ) === undefined
134
135
? this . listbox . enabledTabIndex
135
- : this . _enabledTabIndex ;
136
+ : this . _enabledTabIndex ( ) ;
136
137
}
137
138
set enabledTabIndex ( value ) {
138
- this . _enabledTabIndex = value ;
139
+ this . _enabledTabIndex . set ( value ) ;
139
140
}
140
- private _enabledTabIndex ?: number | null ;
141
+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
141
142
142
143
/** The option's host element */
143
144
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