@@ -37,6 +37,7 @@ import {
3737 OnDestroy ,
3838 Output ,
3939 QueryList ,
40+ signal ,
4041} from '@angular/core' ;
4142import { ControlValueAccessor , NG_VALUE_ACCESSOR } from '@angular/forms' ;
4243import { defer , fromEvent , merge , Observable , Subject } from 'rxjs' ;
@@ -119,24 +120,24 @@ export class CdkOption<T = unknown> implements ListKeyManagerOption, Highlightab
119120 /** Whether this option is disabled. */
120121 @Input ( { alias : 'cdkOptionDisabled' , transform : booleanAttribute } )
121122 get disabled ( ) : boolean {
122- return this . listbox . disabled || this . _disabled ;
123+ return this . listbox . disabled || this . _disabled ( ) ;
123124 }
124125 set disabled ( value : boolean ) {
125- this . _disabled = value ;
126+ this . _disabled . set ( value ) ;
126127 }
127- private _disabled : boolean = false ;
128+ private _disabled = signal ( false ) ;
128129
129130 /** The tabindex of the option when it is enabled. */
130131 @Input ( 'tabindex' )
131132 get enabledTabIndex ( ) {
132- return this . _enabledTabIndex === undefined
133+ return this . _enabledTabIndex ( ) === undefined
133134 ? this . listbox . enabledTabIndex
134- : this . _enabledTabIndex ;
135+ : this . _enabledTabIndex ( ) ;
135136 }
136137 set enabledTabIndex ( value ) {
137- this . _enabledTabIndex = value ;
138+ this . _enabledTabIndex . set ( value ) ;
138139 }
139- private _enabledTabIndex ?: number | null ;
140+ private _enabledTabIndex = signal < number | null | undefined > ( undefined ) ;
140141
141142 /** The option's host element */
142143 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