diff --git a/goldens/public-api/forms/index.api.md b/goldens/public-api/forms/index.api.md index e9684f2bafa..25fd3cd1ac3 100644 --- a/goldens/public-api/forms/index.api.md +++ b/goldens/public-api/forms/index.api.md @@ -207,7 +207,7 @@ export interface AsyncValidatorFn { export class CheckboxControlValueAccessor extends BuiltInControlValueAccessor implements ControlValueAccessor { writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -255,7 +255,7 @@ export class DefaultValueAccessor extends BaseControlValueAccessor implements Co constructor(renderer: Renderer2, elementRef: ElementRef, _compositionMode: boolean); writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -804,7 +804,7 @@ export class NumberValueAccessor extends BuiltInControlValueAccessor implements registerOnChange(fn: (_: number | null) => void): void; writeValue(value: number): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -841,7 +841,7 @@ export class RadioControlValueAccessor extends BuiltInControlValueAccessor imple value: any; writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -851,7 +851,7 @@ export class RangeValueAccessor extends BuiltInControlValueAccessor implements C registerOnChange(fn: (_: number | null) => void): void; writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -887,7 +887,7 @@ export class SelectControlValueAccessor extends BuiltInControlValueAccessor impl value: any; writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } @@ -899,7 +899,7 @@ export class SelectMultipleControlValueAccessor extends BuiltInControlValueAcces value: any; writeValue(value: any): void; // (undocumented) - static ɵdir: i0.ɵɵDirectiveDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; // (undocumented) static ɵfac: i0.ɵɵFactoryDeclaration; } diff --git a/packages/forms/src/directives/checkbox_value_accessor.ts b/packages/forms/src/directives/checkbox_value_accessor.ts index 152fdd196e9..8868950d0ce 100644 --- a/packages/forms/src/directives/checkbox_value_accessor.ts +++ b/packages/forms/src/directives/checkbox_value_accessor.ts @@ -45,7 +45,7 @@ const CHECKBOX_VALUE_ACCESSOR: Provider = { */ @Directive({ selector: - 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]', + 'input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]', host: {'(change)': 'onChange($any($event.target).checked)', '(blur)': 'onTouched()'}, providers: [CHECKBOX_VALUE_ACCESSOR], standalone: false, diff --git a/packages/forms/src/directives/default_value_accessor.ts b/packages/forms/src/directives/default_value_accessor.ts index 31638c1d2e1..2a6737f72e3 100644 --- a/packages/forms/src/directives/default_value_accessor.ts +++ b/packages/forms/src/directives/default_value_accessor.ts @@ -85,7 +85,7 @@ export const COMPOSITION_BUFFER_MODE = new InjectionToken( */ @Directive({ selector: - 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]', + 'input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]', // TODO: vsavkin replace the above selector with the one below it once // https://github.com/angular/angular/issues/3011 is implemented // selector: '[ngModel],[formControl],[formControlName]', diff --git a/packages/forms/src/directives/number_value_accessor.ts b/packages/forms/src/directives/number_value_accessor.ts index 634b52896e5..723c333f494 100644 --- a/packages/forms/src/directives/number_value_accessor.ts +++ b/packages/forms/src/directives/number_value_accessor.ts @@ -46,7 +46,7 @@ const NUMBER_VALUE_ACCESSOR: Provider = { */ @Directive({ selector: - 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]', + 'input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]', host: {'(input)': 'onChange($any($event.target).value)', '(blur)': 'onTouched()'}, providers: [NUMBER_VALUE_ACCESSOR], standalone: false, diff --git a/packages/forms/src/directives/radio_control_value_accessor.ts b/packages/forms/src/directives/radio_control_value_accessor.ts index ac6906ecbe7..0bbc6798e75 100644 --- a/packages/forms/src/directives/radio_control_value_accessor.ts +++ b/packages/forms/src/directives/radio_control_value_accessor.ts @@ -121,7 +121,7 @@ export class RadioControlRegistry { */ @Directive({ selector: - 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]', + 'input[type=radio]:not([ngNoCva])[formControlName],input[type=radio]:not([ngNoCva])[formControl],input[type=radio]:not([ngNoCva])[ngModel]', host: {'(change)': 'onChange()', '(blur)': 'onTouched()'}, providers: [RADIO_VALUE_ACCESSOR], standalone: false, diff --git a/packages/forms/src/directives/range_value_accessor.ts b/packages/forms/src/directives/range_value_accessor.ts index 30703737ddf..61c64f045df 100644 --- a/packages/forms/src/directives/range_value_accessor.ts +++ b/packages/forms/src/directives/range_value_accessor.ts @@ -46,7 +46,7 @@ const RANGE_VALUE_ACCESSOR: Provider = { */ @Directive({ selector: - 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]', + 'input[type=range]:not([ngNoCva])[formControlName],input[type=range]:not([ngNoCva])[formControl],input[type=range]:not([ngNoCva])[ngModel]', host: { '(change)': 'onChange($any($event.target).value)', '(input)': 'onChange($any($event.target).value)', diff --git a/packages/forms/src/directives/select_control_value_accessor.ts b/packages/forms/src/directives/select_control_value_accessor.ts index 085bac2191c..9a12c36d8d4 100644 --- a/packages/forms/src/directives/select_control_value_accessor.ts +++ b/packages/forms/src/directives/select_control_value_accessor.ts @@ -106,7 +106,7 @@ function _extractId(valueString: string): string { */ @Directive({ selector: - 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]', + 'select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]', host: {'(change)': 'onChange($any($event.target).value)', '(blur)': 'onTouched()'}, providers: [SELECT_VALUE_ACCESSOR], standalone: false, diff --git a/packages/forms/src/directives/select_multiple_control_value_accessor.ts b/packages/forms/src/directives/select_multiple_control_value_accessor.ts index 2590d9eb83f..cd93b4f1cd1 100644 --- a/packages/forms/src/directives/select_multiple_control_value_accessor.ts +++ b/packages/forms/src/directives/select_multiple_control_value_accessor.ts @@ -81,7 +81,7 @@ function _extractId(valueString: string): string { */ @Directive({ selector: - 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]', + 'select[multiple]:not([ngNoCva])[formControlName],select[multiple]:not([ngNoCva])[formControl],select[multiple]:not([ngNoCva])[ngModel]', host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'}, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], standalone: false,