@ng-forge/dynamic-forms-material 0.9.0-next.1 → 0.9.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,8 @@
1
- import * as _ng_forge_dynamic_forms_integration from '@ng-forge/dynamic-forms/integration';
2
- import { CheckboxField, DatepickerField, DatepickerProps, InputMeta, InputField, InputProps, MultiCheckboxField, RadioField, SelectField, SelectProps, SliderField, ButtonField, EventArgs, TextareaField, TextareaProps, TextareaMeta, ToggleField } from '@ng-forge/dynamic-forms/integration';
3
1
  import * as _angular_core from '@angular/core';
4
2
  import { InjectionToken, Provider } from '@angular/core';
5
- import { FieldTree } from '@angular/forms/signals';
6
- import { DynamicText, CheckedFieldComponent, FieldMeta, ValidationMessages, ValueFieldComponent, ValueType, FieldOption, FormEvent, NextPageEvent, PreviousPageEvent, AppendArrayItemEvent, ArrayAllowedChildren, PrependArrayItemEvent, InsertArrayItemEvent, RemoveAtIndexEvent, PopArrayItemEvent, ShiftArrayItemEvent, FieldComponent, FormEventConstructor, ArrayItemContext, FieldTypeDefinition, NarrowFields, RegisteredFieldTypes, InferFormValue, FormConfig } from '@ng-forge/dynamic-forms';
3
+ import * as _ng_forge_dynamic_forms_integration from '@ng-forge/dynamic-forms/integration';
4
+ import { CheckboxField, DatepickerField, DatepickerProps, InputField, InputProps, MultiCheckboxField, RadioField, SelectField, SelectProps, SliderField, ButtonField, TextareaField, TextareaProps, ToggleField } from '@ng-forge/dynamic-forms/integration';
5
+ import { DynamicText, CheckedFieldComponent, ValueFieldComponent, ValueType, FieldOption, FormEvent, NextPageEvent, PreviousPageEvent, AppendArrayItemEvent, ArrayAllowedChildren, PrependArrayItemEvent, InsertArrayItemEvent, RemoveAtIndexEvent, PopArrayItemEvent, ShiftArrayItemEvent, FieldTypeDefinition, NarrowFields, RegisteredFieldTypes, InferFormValue, FormConfig } from '@ng-forge/dynamic-forms';
7
6
  import { ThemePalette } from '@angular/material/core';
8
7
  import * as _angular_material_form_field from '@angular/material/form-field';
9
8
  import { MatFormFieldAppearance, SubscriptSizing, FloatLabelType } from '@angular/material/form-field';
@@ -16,56 +15,16 @@ interface MatCheckboxProps {
16
15
  indeterminate?: boolean;
17
16
  }
18
17
  type MatCheckboxField = CheckboxField<MatCheckboxProps>;
18
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
19
19
  type MatCheckboxComponent = CheckedFieldComponent<MatCheckboxField>;
20
20
 
21
- declare class MatCheckboxFieldComponent implements MatCheckboxComponent {
21
+ declare class MatCheckboxFieldComponent {
22
22
  private materialConfig;
23
- private readonly elementRef;
24
- readonly field: _angular_core.InputSignal<FieldTree<boolean>>;
25
- readonly key: _angular_core.InputSignal<string>;
26
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
27
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
28
- readonly className: _angular_core.InputSignal<string>;
29
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
23
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<boolean>;
30
24
  readonly props: _angular_core.InputSignal<MatCheckboxProps | undefined>;
31
- readonly meta: _angular_core.InputSignal<FieldMeta | undefined>;
32
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
33
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
34
- readonly effectiveDisableRipple: _angular_core.Signal<boolean>;
35
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
36
- readonly showErrors: _angular_core.Signal<boolean>;
37
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
38
- constructor();
39
- /** Unique ID for the hint element, used for aria-describedby */
40
- protected readonly hintId: _angular_core.Signal<string>;
41
- /** Base ID for error elements, used for aria-describedby */
42
- protected readonly errorId: _angular_core.Signal<string>;
43
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
44
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
45
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
46
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
47
- /** aria-describedby: links to hint and error messages for screen readers */
48
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
49
- /**
50
- * Workaround: Angular Material's MatCheckbox does NOT set aria-required on its internal
51
- * input element when [required] is passed, even though it sets the native required attribute.
52
- * This effect imperatively sets/removes aria-required on the internal input.
53
- *
54
- * Bug: MatCheckbox sets `required` attribute but not `aria-required` for screen readers.
55
- * @see https://github.com/angular/components/issues/XXXXX (TODO: file issue)
56
- *
57
- * Uses afterRenderEffect to ensure DOM is ready before manipulating attributes.
58
- */
59
- private readonly syncAriaRequiredToDom;
60
- /**
61
- * Workaround: Angular Material's MatCheckbox does NOT propagate aria-describedby to its internal
62
- * input element. This effect imperatively sets/removes aria-describedby on the internal input.
63
- *
64
- * Uses afterRenderEffect to ensure DOM is ready before querying internal elements.
65
- */
66
- private readonly syncAriaDescribedByToDom;
25
+ readonly disableRipple: _angular_core.Signal<boolean>;
67
26
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatCheckboxFieldComponent, never>;
68
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatCheckboxFieldComponent, "df-mat-checkbox", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
27
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatCheckboxFieldComponent, "df-mat-checkbox", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
69
28
  }
70
29
 
71
30
  interface MatDatepickerProps extends DatepickerProps {
@@ -80,44 +39,22 @@ interface MatDatepickerProps extends DatepickerProps {
80
39
  hint?: DynamicText;
81
40
  }
82
41
  type MatDatepickerField = DatepickerField<MatDatepickerProps>;
42
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
83
43
  type MatDatepickerComponent = ValueFieldComponent<MatDatepickerField>;
84
44
 
85
- declare class MatDatepickerFieldComponent implements MatDatepickerComponent {
45
+ declare class MatDatepickerFieldComponent {
86
46
  private materialConfig;
87
- private readonly elementRef;
88
- readonly field: _angular_core.InputSignal<FieldTree<string>>;
89
- readonly key: _angular_core.InputSignal<string>;
90
- constructor();
91
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
92
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
93
- readonly className: _angular_core.InputSignal<string>;
94
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
47
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<string>;
95
48
  readonly minDate: _angular_core.InputSignal<Date | null>;
96
49
  readonly maxDate: _angular_core.InputSignal<Date | null>;
97
50
  readonly startAt: _angular_core.InputSignal<Date | null>;
98
51
  readonly props: _angular_core.InputSignal<MatDatepickerProps | undefined>;
99
- readonly meta: _angular_core.InputSignal<InputMeta | undefined>;
100
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
101
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
102
- readonly effectiveAppearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
103
- readonly effectiveSubscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
104
- readonly effectiveFloatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
105
- readonly effectiveHideRequiredMarker: _angular_core.Signal<boolean>;
106
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
107
- readonly showErrors: _angular_core.Signal<boolean>;
108
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
109
- /** Unique ID for the hint element, used for aria-describedby */
110
- protected readonly hintId: _angular_core.Signal<string>;
111
- /** Base ID for error elements, used for aria-describedby */
112
- protected readonly errorId: _angular_core.Signal<string>;
113
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
114
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
115
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
116
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
117
- /** aria-describedby: links to hint and error messages for screen readers */
118
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
52
+ readonly appearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
53
+ readonly subscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
54
+ readonly floatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
55
+ readonly hideRequiredMarker: _angular_core.Signal<boolean>;
119
56
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatDatepickerFieldComponent, never>;
120
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatDatepickerFieldComponent, "df-mat-datepicker", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
57
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatDatepickerFieldComponent, "df-mat-datepicker", never, { "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
121
58
  }
122
59
 
123
60
  interface MatInputProps extends InputProps {
@@ -130,66 +67,19 @@ interface MatInputProps extends InputProps {
130
67
  hint?: DynamicText;
131
68
  }
132
69
  type MatInputField = InputField<MatInputProps>;
70
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
133
71
  type MatInputComponent = ValueFieldComponent<MatInputField>;
134
72
 
135
- declare class MatInputFieldComponent implements MatInputComponent {
73
+ declare class MatInputFieldComponent {
136
74
  private materialConfig;
137
- private readonly elementRef;
138
- readonly field: _angular_core.InputSignal<FieldTree<string>>;
139
- readonly key: _angular_core.InputSignal<string>;
140
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
141
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
142
- readonly className: _angular_core.InputSignal<string>;
143
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
75
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<string>;
144
76
  readonly props: _angular_core.InputSignal<MatInputProps | undefined>;
145
- readonly meta: _angular_core.InputSignal<InputMeta | undefined>;
146
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
147
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
148
- constructor();
149
- /**
150
- * Reference to the native input element.
151
- * Used to imperatively sync the readonly attribute since Angular Signal Forms'
152
- * [field] directive doesn't sync FieldState.readonly() to the DOM.
153
- */
154
- private readonly inputRef;
155
- /**
156
- * Computed signal that extracts the readonly state from the field.
157
- * Used by the effect to reactively sync the readonly attribute to the DOM.
158
- */
159
- private readonly isReadonly;
160
- /**
161
- * Workaround: Angular Signal Forms' [field] directive does NOT sync the readonly
162
- * attribute to the DOM, even though FieldState.readonly() returns the correct value.
163
- * This effect imperatively sets/removes the readonly attribute on the native input
164
- * element whenever the readonly state changes.
165
- *
166
- * Note: We cannot use [readonly] or [attr.readonly] bindings because Angular throws
167
- * NG8022: "Binding to '[readonly]' is not allowed on nodes using the '[field]' directive"
168
- *
169
- * Uses afterRenderEffect to ensure DOM is ready before manipulating attributes.
170
- *
171
- * @see https://github.com/angular/angular/issues/65897
172
- */
173
- private readonly syncReadonlyToDom;
174
- readonly effectiveAppearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
175
- readonly effectiveSubscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
176
- readonly effectiveFloatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
177
- readonly effectiveHideRequiredMarker: _angular_core.Signal<boolean>;
178
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
179
- readonly showErrors: _angular_core.Signal<boolean>;
180
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
181
- /** Unique ID for the hint element, used for aria-describedby */
182
- protected readonly hintId: _angular_core.Signal<string>;
183
- /** Base ID for error elements, used for aria-describedby */
184
- protected readonly errorId: _angular_core.Signal<string>;
185
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
186
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
187
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
188
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
189
- /** aria-describedby: links to hint and error messages for screen readers */
190
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
77
+ readonly appearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
78
+ readonly subscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
79
+ readonly floatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
80
+ readonly hideRequiredMarker: _angular_core.Signal<boolean>;
191
81
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatInputFieldComponent, never>;
192
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatInputFieldComponent, "df-mat-input", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
82
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatInputFieldComponent, "df-mat-input", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
193
83
  }
194
84
 
195
85
  interface MatMultiCheckboxProps {
@@ -199,41 +89,20 @@ interface MatMultiCheckboxProps {
199
89
  color?: ThemePalette;
200
90
  }
201
91
  type MatMultiCheckboxField<T> = MultiCheckboxField<T, MatMultiCheckboxProps>;
92
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
202
93
  type MatMultiCheckboxComponent = ValueFieldComponent<MatMultiCheckboxField<ValueType>>;
203
94
 
204
- declare class MatMultiCheckboxFieldComponent implements MatMultiCheckboxComponent {
205
- private readonly elementRef;
206
- readonly field: _angular_core.InputSignal<FieldTree<ValueType[]>>;
207
- readonly key: _angular_core.InputSignal<string>;
208
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
209
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
210
- readonly className: _angular_core.InputSignal<string>;
211
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
95
+ declare class MatMultiCheckboxFieldComponent {
96
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<ValueType[]>;
212
97
  readonly options: _angular_core.InputSignal<FieldOption<ValueType>[]>;
213
98
  readonly props: _angular_core.InputSignal<MatMultiCheckboxProps | undefined>;
214
- readonly meta: _angular_core.InputSignal<FieldMeta | undefined>;
215
99
  valueViewModel: _angular_core.WritableSignal<FieldOption<ValueType>[]>;
216
100
  /** Computed map of checked option values for O(1) lookup in template */
217
101
  readonly checkedValuesMap: _angular_core.Signal<Record<string, boolean>>;
218
102
  constructor();
219
103
  onCheckboxChange(option: FieldOption<ValueType>, checked: boolean): void;
220
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
221
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
222
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
223
- readonly showErrors: _angular_core.Signal<boolean>;
224
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
225
- /** Unique ID for the hint element, used for aria-describedby */
226
- protected readonly hintId: _angular_core.Signal<string>;
227
- /** Base ID for error elements, used for aria-describedby */
228
- protected readonly errorId: _angular_core.Signal<string>;
229
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
230
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
231
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
232
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
233
- /** aria-describedby: links to hint and error messages for screen readers */
234
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
235
104
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatMultiCheckboxFieldComponent, never>;
236
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatMultiCheckboxFieldComponent, "df-mat-multi-checkbox", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
105
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatMultiCheckboxFieldComponent, "df-mat-multi-checkbox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
237
106
  }
238
107
 
239
108
  interface MatRadioProps {
@@ -243,37 +112,15 @@ interface MatRadioProps {
243
112
  hint?: DynamicText;
244
113
  }
245
114
  type MatRadioField<T> = RadioField<T, MatRadioProps>;
115
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
246
116
  type MatRadioComponent = ValueFieldComponent<MatRadioField<ValueType>>;
247
117
 
248
- declare class MatRadioFieldComponent implements MatRadioComponent {
249
- private readonly elementRef;
250
- readonly field: _angular_core.InputSignal<FieldTree<ValueType>>;
251
- readonly key: _angular_core.InputSignal<string>;
252
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
253
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
254
- readonly className: _angular_core.InputSignal<string>;
255
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
118
+ declare class MatRadioFieldComponent {
119
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<ValueType>;
256
120
  readonly options: _angular_core.InputSignal<FieldOption<ValueType>[]>;
257
121
  readonly props: _angular_core.InputSignal<MatRadioProps | undefined>;
258
- readonly meta: _angular_core.InputSignal<FieldMeta | undefined>;
259
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
260
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
261
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
262
- readonly showErrors: _angular_core.Signal<boolean>;
263
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
264
- constructor();
265
- /** Unique ID for the hint element, used for aria-describedby */
266
- protected readonly hintId: _angular_core.Signal<string>;
267
- /** Base ID for error elements, used for aria-describedby */
268
- protected readonly errorId: _angular_core.Signal<string>;
269
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
270
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
271
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
272
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
273
- /** aria-describedby: links to hint and error messages for screen readers */
274
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
275
122
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatRadioFieldComponent, never>;
276
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatRadioFieldComponent, "df-mat-radio", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
123
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatRadioFieldComponent, "df-mat-radio", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
277
124
  }
278
125
 
279
126
  interface MatSelectProps extends SelectProps {
@@ -287,43 +134,21 @@ interface MatSelectProps extends SelectProps {
287
134
  hint?: DynamicText;
288
135
  }
289
136
  type MatSelectField<T> = SelectField<T, MatSelectProps>;
137
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
290
138
  type MatSelectComponent = ValueFieldComponent<MatSelectField<ValueType>>;
291
139
 
292
- declare class MatSelectFieldComponent implements MatSelectComponent {
140
+ declare class MatSelectFieldComponent {
293
141
  private materialConfig;
294
- private readonly elementRef;
295
- readonly field: _angular_core.InputSignal<FieldTree<ValueType>>;
296
- readonly key: _angular_core.InputSignal<string>;
297
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
298
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
299
- readonly className: _angular_core.InputSignal<string>;
300
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
142
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<ValueType>;
301
143
  readonly options: _angular_core.InputSignal<FieldOption<ValueType>[]>;
302
144
  readonly props: _angular_core.InputSignal<MatSelectProps | undefined>;
303
- readonly meta: _angular_core.InputSignal<FieldMeta | undefined>;
304
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
305
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
306
- readonly effectiveAppearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
307
- readonly effectiveSubscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
308
- readonly effectiveFloatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
309
- readonly effectiveHideRequiredMarker: _angular_core.Signal<boolean>;
310
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
311
- readonly showErrors: _angular_core.Signal<boolean>;
312
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
145
+ readonly appearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
146
+ readonly subscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
147
+ readonly floatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
148
+ readonly hideRequiredMarker: _angular_core.Signal<boolean>;
313
149
  defaultCompare: (value1: any, value2: any) => boolean;
314
- constructor();
315
- /** Unique ID for the hint element, used for aria-describedby */
316
- protected readonly hintId: _angular_core.Signal<string>;
317
- /** Base ID for error elements, used for aria-describedby */
318
- protected readonly errorId: _angular_core.Signal<string>;
319
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
320
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
321
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
322
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
323
- /** aria-describedby: links to hint and error messages for screen readers */
324
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
325
150
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatSelectFieldComponent, never>;
326
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatSelectFieldComponent, "df-mat-select", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
151
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatSelectFieldComponent, "df-mat-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
327
152
  }
328
153
 
329
154
  interface MatSliderProps {
@@ -336,37 +161,15 @@ interface MatSliderProps {
336
161
  step?: number;
337
162
  }
338
163
  type MatSliderField = SliderField<MatSliderProps>;
164
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
339
165
  type MatSliderComponent = ValueFieldComponent<MatSliderField>;
340
166
 
341
- declare class MatSliderFieldComponent implements MatSliderComponent {
342
- private readonly elementRef;
343
- readonly field: _angular_core.InputSignal<FieldTree<number>>;
344
- readonly key: _angular_core.InputSignal<string>;
345
- constructor();
346
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
347
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
348
- readonly className: _angular_core.InputSignal<string>;
349
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
167
+ declare class MatSliderFieldComponent {
168
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<number>;
350
169
  readonly step: _angular_core.InputSignal<number | undefined>;
351
170
  readonly props: _angular_core.InputSignal<MatSliderProps | undefined>;
352
- readonly meta: _angular_core.InputSignal<InputMeta | undefined>;
353
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
354
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
355
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
356
- readonly showErrors: _angular_core.Signal<boolean>;
357
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
358
- /** Unique ID for the hint element, used for aria-describedby */
359
- protected readonly hintId: _angular_core.Signal<string>;
360
- /** Base ID for error elements, used for aria-describedby */
361
- protected readonly errorId: _angular_core.Signal<string>;
362
- /** aria-required: true when field has required validation, null otherwise */
363
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
364
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
365
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
366
- /** aria-describedby: links to hint and error messages for screen readers */
367
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
368
171
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatSliderFieldComponent, never>;
369
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatSliderFieldComponent, "df-mat-slider", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
172
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatSliderFieldComponent, "df-mat-slider", never, { "step": { "alias": "step"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
370
173
  }
371
174
 
372
175
  interface MatButtonProps {
@@ -374,7 +177,6 @@ interface MatButtonProps {
374
177
  type?: 'button' | 'submit' | 'reset';
375
178
  }
376
179
  type MatButtonField<TEvent extends FormEvent> = ButtonField<MatButtonProps, TEvent>;
377
- type MatButtonComponent<TEvent extends FormEvent> = FieldComponent<MatButtonField<TEvent>>;
378
180
  /**
379
181
  * Specific button field types with preconfigured events
380
182
  */
@@ -471,32 +273,14 @@ type ShiftArrayItemButtonField = Omit<MatButtonField<ShiftArrayItemEvent>, 'even
471
273
  arrayKey: string;
472
274
  };
473
275
 
474
- declare class MatButtonFieldComponent<TEvent extends FormEvent> implements MatButtonComponent<TEvent> {
475
- private readonly eventBus;
476
- private readonly arrayContext;
477
- readonly key: _angular_core.InputSignal<string>;
478
- readonly label: _angular_core.InputSignal<DynamicText>;
479
- readonly disabled: _angular_core.InputSignal<boolean>;
480
- readonly hidden: _angular_core.InputSignal<boolean>;
481
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
482
- readonly className: _angular_core.InputSignal<string>;
483
- /** Event to dispatch on click. Optional for submit buttons (native form submit handles it). */
484
- readonly event: _angular_core.InputSignal<FormEventConstructor<TEvent> | undefined>;
485
- readonly eventArgs: _angular_core.InputSignal<EventArgs | undefined>;
276
+ declare class MatButtonFieldComponent<TEvent extends FormEvent> {
277
+ protected readonly action: _ng_forge_dynamic_forms_integration.NgForgeAction<TEvent>;
486
278
  readonly props: _angular_core.InputSignal<MatButtonProps | undefined>;
487
- readonly eventContext: _angular_core.InputSignal<ArrayItemContext | undefined>;
488
- /** Resolved button type - defaults to 'button' if not specified in props */
489
- readonly buttonType: _angular_core.Signal<"submit" | "button" | "reset">;
279
+ readonly buttonType: _angular_core.Signal<"button" | "submit" | "reset">;
490
280
  readonly buttonTestId: _angular_core.Signal<string>;
491
- /**
492
- * Handle button click.
493
- * - For submit buttons (type="submit"): do nothing, native form submit handles it
494
- * - For other buttons: dispatch the configured event via EventBus
495
- */
496
281
  onClick(): void;
497
- private dispatchEvent;
498
282
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatButtonFieldComponent<any>, never>;
499
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatButtonFieldComponent<any>, "df-mat-button", never, { "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "event": { "alias": "event"; "required": false; "isSignal": true; }; "eventArgs": { "alias": "eventArgs"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "eventContext": { "alias": "eventContext"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
283
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatButtonFieldComponent<any>, "df-mat-button", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeActionHost; inputs: {}; outputs: {}; }]>;
500
284
  }
501
285
 
502
286
  interface MatTextareaProps extends TextareaProps {
@@ -508,22 +292,13 @@ interface MatTextareaProps extends TextareaProps {
508
292
  resize?: 'none' | 'both' | 'horizontal' | 'vertical';
509
293
  }
510
294
  type MatTextareaField = TextareaField<MatTextareaProps>;
295
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
511
296
  type MatTextareaComponent = ValueFieldComponent<MatTextareaField>;
512
297
 
513
- declare class MatTextareaFieldComponent implements MatTextareaComponent {
298
+ declare class MatTextareaFieldComponent {
514
299
  private materialConfig;
515
- private readonly elementRef;
516
- readonly field: _angular_core.InputSignal<FieldTree<string>>;
517
- readonly key: _angular_core.InputSignal<string>;
518
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
519
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
520
- readonly className: _angular_core.InputSignal<string>;
521
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
300
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<string>;
522
301
  readonly props: _angular_core.InputSignal<MatTextareaProps | undefined>;
523
- readonly meta: _angular_core.InputSignal<TextareaMeta | undefined>;
524
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
525
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
526
- constructor();
527
302
  /**
528
303
  * Reference to the native textarea element.
529
304
  * Used to imperatively sync the readonly attribute since Angular Signal Forms'
@@ -549,25 +324,12 @@ declare class MatTextareaFieldComponent implements MatTextareaComponent {
549
324
  * @see https://github.com/angular/angular/issues/65897
550
325
  */
551
326
  private readonly syncReadonlyToDom;
552
- readonly effectiveAppearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
553
- readonly effectiveSubscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
554
- readonly effectiveFloatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
555
- readonly effectiveHideRequiredMarker: _angular_core.Signal<boolean>;
556
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
557
- readonly showErrors: _angular_core.Signal<boolean>;
558
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
559
- /** Unique ID for the hint element, used for aria-describedby */
560
- protected readonly hintId: _angular_core.Signal<string>;
561
- /** Base ID for error elements, used for aria-describedby */
562
- protected readonly errorId: _angular_core.Signal<string>;
563
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
564
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
565
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
566
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
567
- /** aria-describedby: links to hint and error messages for screen readers */
568
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
327
+ readonly appearance: _angular_core.Signal<_angular_material_form_field.MatFormFieldAppearance>;
328
+ readonly subscriptSizing: _angular_core.Signal<_angular_material_form_field.SubscriptSizing>;
329
+ readonly floatLabel: _angular_core.Signal<_angular_material_form_field.FloatLabelType>;
330
+ readonly hideRequiredMarker: _angular_core.Signal<boolean>;
569
331
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatTextareaFieldComponent, never>;
570
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatTextareaFieldComponent, "df-mat-textarea", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
332
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatTextareaFieldComponent, "df-mat-textarea", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
571
333
  }
572
334
 
573
335
  interface MatToggleProps {
@@ -579,52 +341,16 @@ interface MatToggleProps {
579
341
  hideIcon?: boolean;
580
342
  }
581
343
  type MatToggleField = ToggleField<MatToggleProps>;
344
+ /** @deprecated Scheduled for removal in v1. Use `injectNgForgeField<T>()` for typed access to a field component's directive instance. */
582
345
  type MatToggleComponent = CheckedFieldComponent<MatToggleField>;
583
346
 
584
- declare class MatToggleFieldComponent implements MatToggleComponent {
347
+ declare class MatToggleFieldComponent {
585
348
  private materialConfig;
586
- private readonly elementRef;
587
- readonly field: _angular_core.InputSignal<FieldTree<boolean>>;
588
- readonly key: _angular_core.InputSignal<string>;
589
- readonly label: _angular_core.InputSignal<DynamicText | undefined>;
590
- readonly placeholder: _angular_core.InputSignal<DynamicText | undefined>;
591
- readonly className: _angular_core.InputSignal<string>;
592
- readonly tabIndex: _angular_core.InputSignal<number | undefined>;
349
+ protected readonly ngf: _ng_forge_dynamic_forms_integration.TypedNgForgeField<boolean>;
593
350
  readonly props: _angular_core.InputSignal<MatToggleProps | undefined>;
594
- readonly meta: _angular_core.InputSignal<FieldMeta | undefined>;
595
- readonly validationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
596
- readonly defaultValidationMessages: _angular_core.InputSignal<ValidationMessages | undefined>;
597
- readonly effectiveDisableRipple: _angular_core.Signal<boolean>;
598
- readonly resolvedErrors: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
599
- readonly showErrors: _angular_core.Signal<boolean>;
600
- readonly errorsToDisplay: _angular_core.Signal<_ng_forge_dynamic_forms_integration.ResolvedError[]>;
601
- constructor();
602
- /** Unique ID for the hint element, used for aria-describedby */
603
- protected readonly hintId: _angular_core.Signal<string>;
604
- /** Base ID for error elements, used for aria-describedby */
605
- protected readonly errorId: _angular_core.Signal<string>;
606
- /** aria-invalid: true when field is invalid AND touched, false otherwise */
607
- protected readonly ariaInvalid: _angular_core.Signal<boolean>;
608
- /** aria-required: true if field is required, null otherwise (to remove attribute) */
609
- protected readonly ariaRequired: _angular_core.Signal<true | null>;
610
- /** aria-describedby: links to hint and error messages for screen readers */
611
- protected readonly ariaDescribedBy: _angular_core.Signal<string | null>;
612
- /**
613
- * Workaround: Angular Material's MatSlideToggle does NOT propagate aria-required to its internal
614
- * button element. This effect imperatively sets/removes aria-required on the internal button.
615
- *
616
- * Uses afterRenderEffect to ensure DOM is ready before querying internal elements.
617
- */
618
- private readonly syncAriaRequiredToDom;
619
- /**
620
- * Workaround: Angular Material's MatSlideToggle does NOT propagate aria-describedby to its internal
621
- * button element. This effect imperatively sets/removes aria-describedby on the internal button.
622
- *
623
- * Uses afterRenderEffect to ensure DOM is ready before querying internal elements.
624
- */
625
- private readonly syncAriaDescribedByToDom;
351
+ readonly disableRipple: _angular_core.Signal<boolean>;
626
352
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatToggleFieldComponent, never>;
627
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatToggleFieldComponent, "df-mat-toggle", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "key": { "alias": "key"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "props": { "alias": "props"; "required": false; "isSignal": true; }; "meta": { "alias": "meta"; "required": false; "isSignal": true; }; "validationMessages": { "alias": "validationMessages"; "required": false; "isSignal": true; }; "defaultValidationMessages": { "alias": "defaultValidationMessages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
353
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MatToggleFieldComponent, "df-mat-toggle", never, { "props": { "alias": "props"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ng_forge_dynamic_forms_integration.NgForgeFieldHost; inputs: {}; outputs: {}; }]>;
628
354
  }
629
355
 
630
356
  /**