@@ -42,6 +42,7 @@ import {
4242 OnDestroy ,
4343 Output ,
4444 QueryList ,
45+ signal ,
4546} from '@angular/core' ;
4647import { ControlValueAccessor , NG_VALUE_ACCESSOR } from '@angular/forms' ;
4748import { defer , fromEvent , merge , Observable , Subject } from 'rxjs' ;
@@ -120,24 +121,24 @@ export class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightab
120121 /** Whether this option is disabled. */
121122 @Input ( { alias : 'cdkOptionDisabled' , transform : booleanAttribute } )
122123 get disabled ( ) : boolean {
123- return this . listbox . disabled || this . _disabled ;
124+ return this . listbox . disabled || this . _disabled ( ) ;
124125 }
125126 set disabled ( value : boolean ) {
126- this . _disabled = value ;
127+ this . _disabled . set ( value ) ;
127128 }
128- private _disabled : boolean = false ;
129+ private _disabled = signal ( false ) ;
129130
130131 /** The tabindex of the option when it is enabled. */
131132 @Input ( 'tabindex' )
132133 get enabledTabIndex ( ) {
133- return this . _enabledTabIndex === undefined
134+ return this . _enabledTabIndex ( ) === undefined
134135 ? this . listbox . enabledTabIndex
135- : this . _enabledTabIndex ;
136+ : this . _enabledTabIndex ( ) ;
136137 }
137138 set enabledTabIndex ( value ) {
138- this . _enabledTabIndex = value ;
139+ this . _enabledTabIndex . set ( value ) ;
139140 }
140- private _enabledTabIndex ?: number | null ;
141+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
141142
142143 /** The option's host element */
143144 readonly element : HTMLElement = inject ( ElementRef ) . nativeElement ;
@@ -269,12 +270,12 @@ export class CdkListbox<T = unknown> implements AfterContentInit, OnDestroy, Con
269270 /** The tabindex to use when the listbox is enabled. */
270271 @Input ( 'tabindex' )
271272 get enabledTabIndex ( ) {
272- return this . _enabledTabIndex === undefined ? 0 : this . _enabledTabIndex ;
273+ return this . _enabledTabIndex ( ) === undefined ? 0 : this . _enabledTabIndex ( ) ;
273274 }
274275 set enabledTabIndex ( value ) {
275- this . _enabledTabIndex = value ;
276+ this . _enabledTabIndex . set ( value ) ;
276277 }
277- private _enabledTabIndex ?: number | null ;
278+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
278279
279280 /** The value selected in the listbox, represented as an array of option values. */
280281 @Input ( 'cdkListboxValue' )
@@ -303,11 +304,23 @@ export class CdkListbox<T = unknown> implements AfterContentInit, OnDestroy, Con
303304
304305 /** Whether the listbox is disabled. */
305306 @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 ) ;
307314
308315 /** Whether the listbox will use active descendant or will move focus onto the options. */
309316 @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 ) ;
311324
312325 /** The orientation of the listbox. Only affects keyboard interaction, not visual layout. */
313326 @Input ( 'cdkListboxOrientation' )
0 commit comments