@radix-ng/primitives 1.0.6 → 1.0.7

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.
Files changed (54) hide show
  1. package/aspect-ratio/README.md +1 -1
  2. package/fesm2022/radix-ng-primitives-accordion.mjs +6 -1
  3. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  4. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +9 -34
  5. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  6. package/fesm2022/radix-ng-primitives-avatar.mjs +69 -18
  7. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-checkbox.mjs +5 -9
  9. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-collapsible.mjs +4 -3
  11. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-field.mjs +13 -14
  13. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-form.mjs +1 -1
  15. package/fesm2022/radix-ng-primitives-form.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-label.mjs +5 -4
  17. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-number-field.mjs +7 -3
  19. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-progress.mjs +37 -22
  21. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-radio.mjs +1 -6
  23. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-scroll-area.mjs +4 -4
  25. package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-separator.mjs +7 -13
  27. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-slider.mjs +1 -2
  29. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-switch.mjs +3 -3
  31. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-tabs.mjs +4 -4
  33. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-toggle-group.mjs +10 -4
  35. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-toggle.mjs +24 -29
  37. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-toolbar.mjs +15 -2
  39. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  40. package/package.json +1 -1
  41. package/types/radix-ng-primitives-accordion.d.ts +1 -0
  42. package/types/radix-ng-primitives-aspect-ratio.d.ts +10 -23
  43. package/types/radix-ng-primitives-avatar.d.ts +51 -25
  44. package/types/radix-ng-primitives-checkbox.d.ts +26 -98
  45. package/types/radix-ng-primitives-field.d.ts +33 -207
  46. package/types/radix-ng-primitives-form.d.ts +24 -33
  47. package/types/radix-ng-primitives-label.d.ts +3 -2
  48. package/types/radix-ng-primitives-number-field.d.ts +1 -1
  49. package/types/radix-ng-primitives-progress.d.ts +59 -121
  50. package/types/radix-ng-primitives-radio.d.ts +0 -1
  51. package/types/radix-ng-primitives-separator.d.ts +0 -7
  52. package/types/radix-ng-primitives-toggle-group.d.ts +7 -3
  53. package/types/radix-ng-primitives-toggle.d.ts +8 -8
  54. package/types/radix-ng-primitives-toolbar.d.ts +2 -0
@@ -1,8 +1,8 @@
1
- import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
2
1
  import * as _angular_core from '@angular/core';
3
2
  import { Signal } from '@angular/core';
3
+ import * as _radix_ng_primitives_checkbox from '@radix-ng/primitives/checkbox';
4
4
  import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
5
- import { BooleanInput, RdxCancelableChangeEventDetails, RdxFormCheckboxControl } from '@radix-ng/primitives/core';
5
+ import { RdxCancelableChangeEventDetails, RdxFormCheckboxControl, BooleanInput } from '@radix-ng/primitives/core';
6
6
  import { ControlValueAccessor } from '@angular/forms';
7
7
 
8
8
  /**
@@ -12,20 +12,7 @@ import { ControlValueAccessor } from '@angular/forms';
12
12
  * In forms, it stops the button's click from bubbling so only the hidden input emits the native event used for form/validator integration.
13
13
  */
14
14
  declare class RdxCheckboxButtonDirective {
15
- protected readonly rootContext: {
16
- checked: _angular_core.Signal<boolean>;
17
- indeterminate: _angular_core.Signal<boolean>;
18
- disabled: _angular_core.Signal<boolean>;
19
- required: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
20
- value: _angular_core.InputSignal<string>;
21
- name: _angular_core.InputSignal<string | undefined>;
22
- parent: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
23
- form: _angular_core.InputSignal<string | undefined>;
24
- readonly: _angular_core.Signal<boolean>;
25
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
26
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
27
- toggle(event?: Event): void;
28
- };
15
+ protected readonly rootContext: _radix_ng_primitives_checkbox.CheckboxRootContext;
29
16
  private readonly group;
30
17
  private readonly elementRef;
31
18
  /** A `parent` checkbox lists the ids of the children it controls. */
@@ -51,49 +38,22 @@ interface RdxCheckboxCheckedChangeEvent {
51
38
  checked: boolean;
52
39
  eventDetails: RdxCheckboxCheckedChangeEventDetails;
53
40
  }
54
- declare const rootContext: () => {
55
- checked: _angular_core.Signal<boolean>;
56
- indeterminate: _angular_core.Signal<boolean>;
57
- disabled: _angular_core.Signal<boolean>;
58
- required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
59
- value: _angular_core.InputSignal<string>;
60
- name: _angular_core.InputSignal<string | undefined>;
61
- parent: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
62
- form: _angular_core.InputSignal<string | undefined>;
63
- readonly: _angular_core.Signal<boolean>;
64
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
65
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
66
- toggle(event?: Event): void;
67
- };
68
- type CheckboxRootContext = ReturnType<typeof rootContext>;
69
- declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext<{
70
- checked: _angular_core.Signal<boolean>;
71
- indeterminate: _angular_core.Signal<boolean>;
72
- disabled: _angular_core.Signal<boolean>;
73
- required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
74
- value: _angular_core.InputSignal<string>;
75
- name: _angular_core.InputSignal<string | undefined>;
76
- parent: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
77
- form: _angular_core.InputSignal<string | undefined>;
78
- readonly: _angular_core.Signal<boolean>;
79
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
80
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
81
- toggle(event?: Event): void;
82
- }>;
83
- declare const provideCheckboxRootContext: (useFactory: () => {
84
- checked: _angular_core.Signal<boolean>;
85
- indeterminate: _angular_core.Signal<boolean>;
86
- disabled: _angular_core.Signal<boolean>;
87
- required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
88
- value: _angular_core.InputSignal<string>;
89
- name: _angular_core.InputSignal<string | undefined>;
90
- parent: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
91
- form: _angular_core.InputSignal<string | undefined>;
92
- readonly: _angular_core.Signal<boolean>;
93
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
94
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
95
- toggle(event?: Event): void;
96
- }) => _angular_core.Provider;
41
+ interface CheckboxRootContext {
42
+ checked: Signal<boolean>;
43
+ indeterminate: Signal<boolean>;
44
+ disabled: Signal<boolean>;
45
+ required: Signal<boolean>;
46
+ value: Signal<string>;
47
+ name: Signal<string | undefined>;
48
+ parent: Signal<boolean>;
49
+ form: Signal<string | undefined>;
50
+ readonly: Signal<boolean>;
51
+ state: Signal<'indeterminate' | 'checked' | 'unchecked'>;
52
+ uncheckedValue: Signal<string | undefined>;
53
+ toggle: (event?: Event) => void;
54
+ }
55
+ declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext<CheckboxRootContext>;
56
+ declare const provideCheckboxRootContext: (useFactory: () => CheckboxRootContext) => _angular_core.Provider;
97
57
  /**
98
58
  * @group Components
99
59
  */
@@ -104,12 +64,6 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
104
64
  private uncheckedInputElement;
105
65
  /** The group this checkbox belongs to, if it is rendered inside a `rdxCheckboxGroup`. */
106
66
  private readonly group;
107
- /**
108
- * @ignore
109
- * Reflects the effective disabled state (CVA, covering reactive-forms `.disable()`, plus the
110
- * group's disabled state), used for the `data-disabled` host attribute.
111
- */
112
- protected readonly isDisabled: _angular_core.Signal<boolean>;
113
67
  /**
114
68
  * The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.
115
69
  *
@@ -195,17 +149,17 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
195
149
  * group (a `parent` checkbox is checked only when every child is; a child from whether its `name`
196
150
  * is in the group value); standalone it reads the CVA value.
197
151
  */
198
- readonly checkedState: _angular_core.Signal<boolean>;
152
+ readonly checkedState: Signal<boolean>;
199
153
  /**
200
154
  * @ignore
201
155
  * The effective mixed state. A `parent` checkbox is indeterminate when some — but not all —
202
156
  * children are checked; otherwise it follows the `indeterminate` input.
203
157
  */
204
- readonly indeterminateState: _angular_core.Signal<boolean>;
158
+ readonly indeterminateState: Signal<boolean>;
205
159
  /** @ignore The effective disabled state, including the group. */
206
- readonly disabledState: _angular_core.Signal<boolean>;
207
- readonly readOnlyState: _angular_core.Signal<boolean>;
208
- readonly state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
160
+ readonly disabledState: Signal<boolean>;
161
+ readonly readOnlyState: Signal<boolean>;
162
+ readonly state: Signal<"indeterminate" | "checked" | "unchecked">;
209
163
  constructor();
210
164
  toggle(event?: Event): void;
211
165
  private syncUncheckedInput;
@@ -323,20 +277,7 @@ declare class RdxCheckboxGroupDirective implements ControlValueAccessor {
323
277
  }
324
278
 
325
279
  declare class RdxCheckboxIndicatorDirective {
326
- protected readonly rootContext: {
327
- checked: _angular_core.Signal<boolean>;
328
- indeterminate: _angular_core.Signal<boolean>;
329
- disabled: _angular_core.Signal<boolean>;
330
- required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
331
- value: _angular_core.InputSignal<string>;
332
- name: _angular_core.InputSignal<string | undefined>;
333
- parent: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
334
- form: _angular_core.InputSignal<string | undefined>;
335
- readonly: _angular_core.Signal<boolean>;
336
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
337
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
338
- toggle(event?: Event): void;
339
- };
280
+ protected readonly rootContext: _radix_ng_primitives_checkbox.CheckboxRootContext;
340
281
  /** Keep the indicator in the DOM when unchecked so CSS exit animations can play. */
341
282
  readonly keepMounted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
342
283
  protected readonly isVisible: _angular_core.Signal<boolean>;
@@ -345,20 +286,7 @@ declare class RdxCheckboxIndicatorDirective {
345
286
  }
346
287
 
347
288
  declare class RdxCheckboxInputDirective {
348
- protected readonly rootContext: {
349
- checked: _angular_core.Signal<boolean>;
350
- indeterminate: _angular_core.Signal<boolean>;
351
- disabled: _angular_core.Signal<boolean>;
352
- required: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
353
- value: _angular_core.InputSignal<string>;
354
- name: _angular_core.InputSignal<string | undefined>;
355
- parent: _angular_core.InputSignalWithTransform<boolean, _radix_ng_primitives_types_radix_ng_primitives_core.BooleanInput>;
356
- form: _angular_core.InputSignal<string | undefined>;
357
- readonly: _angular_core.Signal<boolean>;
358
- state: _angular_core.Signal<"indeterminate" | "checked" | "unchecked">;
359
- uncheckedValue: _angular_core.InputSignal<string | undefined>;
360
- toggle(event?: Event): void;
361
- };
289
+ protected readonly rootContext: _radix_ng_primitives_checkbox.CheckboxRootContext;
362
290
  private readonly input;
363
291
  constructor();
364
292
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxInputDirective, never>;
@@ -1,5 +1,6 @@
1
- import * as _radix_ng_primitives_field from '@radix-ng/primitives/field';
2
1
  import * as _angular_core from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
+ import * as _radix_ng_primitives_field from '@radix-ng/primitives/field';
3
4
  import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
4
5
  import { BooleanInput, RdxValidationError } from '@radix-ng/primitives/core';
5
6
 
@@ -9,32 +10,7 @@ import { BooleanInput, RdxValidationError } from '@radix-ng/primitives/core';
9
10
  * @group Components
10
11
  */
11
12
  declare class RdxFieldControl {
12
- protected readonly rootContext: {
13
- controlId: _angular_core.WritableSignal<string>;
14
- name: _angular_core.InputSignal<string | undefined>;
15
- descriptionIds: _angular_core.WritableSignal<string[]>;
16
- errorIds: _angular_core.WritableSignal<string[]>;
17
- messages: _angular_core.Signal<string[]>;
18
- notifyEdited: () => void;
19
- invalidState: _angular_core.Signal<boolean>;
20
- disabledState: _angular_core.Signal<boolean>;
21
- requiredState: _angular_core.Signal<boolean>;
22
- dirtyState: _angular_core.Signal<boolean>;
23
- touchedState: _angular_core.Signal<boolean>;
24
- filledState: _angular_core.Signal<boolean>;
25
- focusedState: _angular_core.Signal<boolean>;
26
- setControlId: (id: string) => void;
27
- addDescriptionId: (id: string) => void;
28
- removeDescriptionId: (id: string) => void;
29
- addErrorId: (id: string) => void;
30
- removeErrorId: (id: string) => void;
31
- setFocused: (value: boolean) => void;
32
- setFilled: (value: boolean) => void;
33
- setDirty: (value: boolean) => void;
34
- setTouched: (value: boolean) => void;
35
- setStateProvider: (provider: _radix_ng_primitives_field.RdxFieldState | null) => _radix_ng_primitives_field.RdxFieldState | null;
36
- hasStateProvider: _angular_core.Signal<boolean>;
37
- };
13
+ protected readonly rootContext: _radix_ng_primitives_field.RdxFieldRootContext;
38
14
  private readonly elementRef;
39
15
  private initialValue;
40
16
  /**
@@ -61,32 +37,7 @@ declare class RdxFieldControl {
61
37
  * @group Components
62
38
  */
63
39
  declare class RdxFieldDescription {
64
- protected readonly rootContext: {
65
- controlId: _angular_core.WritableSignal<string>;
66
- name: _angular_core.InputSignal<string | undefined>;
67
- descriptionIds: _angular_core.WritableSignal<string[]>;
68
- errorIds: _angular_core.WritableSignal<string[]>;
69
- messages: _angular_core.Signal<string[]>;
70
- notifyEdited: () => void;
71
- invalidState: _angular_core.Signal<boolean>;
72
- disabledState: _angular_core.Signal<boolean>;
73
- requiredState: _angular_core.Signal<boolean>;
74
- dirtyState: _angular_core.Signal<boolean>;
75
- touchedState: _angular_core.Signal<boolean>;
76
- filledState: _angular_core.Signal<boolean>;
77
- focusedState: _angular_core.Signal<boolean>;
78
- setControlId: (id: string) => void;
79
- addDescriptionId: (id: string) => void;
80
- removeDescriptionId: (id: string) => void;
81
- addErrorId: (id: string) => void;
82
- removeErrorId: (id: string) => void;
83
- setFocused: (value: boolean) => void;
84
- setFilled: (value: boolean) => void;
85
- setDirty: (value: boolean) => void;
86
- setTouched: (value: boolean) => void;
87
- setStateProvider: (provider: _radix_ng_primitives_field.RdxFieldState | null) => _radix_ng_primitives_field.RdxFieldState | null;
88
- hasStateProvider: _angular_core.Signal<boolean>;
89
- };
40
+ protected readonly rootContext: _radix_ng_primitives_field.RdxFieldRootContext;
90
41
  /**
91
42
  * Description id.
92
43
  *
@@ -105,32 +56,7 @@ declare class RdxFieldDescription {
105
56
  * @group Components
106
57
  */
107
58
  declare class RdxFieldError {
108
- protected readonly rootContext: {
109
- controlId: _angular_core.WritableSignal<string>;
110
- name: _angular_core.InputSignal<string | undefined>;
111
- descriptionIds: _angular_core.WritableSignal<string[]>;
112
- errorIds: _angular_core.WritableSignal<string[]>;
113
- messages: _angular_core.Signal<string[]>;
114
- notifyEdited: () => void;
115
- invalidState: _angular_core.Signal<boolean>;
116
- disabledState: _angular_core.Signal<boolean>;
117
- requiredState: _angular_core.Signal<boolean>;
118
- dirtyState: _angular_core.Signal<boolean>;
119
- touchedState: _angular_core.Signal<boolean>;
120
- filledState: _angular_core.Signal<boolean>;
121
- focusedState: _angular_core.Signal<boolean>;
122
- setControlId: (id: string) => void;
123
- addDescriptionId: (id: string) => void;
124
- removeDescriptionId: (id: string) => void;
125
- addErrorId: (id: string) => void;
126
- removeErrorId: (id: string) => void;
127
- setFocused: (value: boolean) => void;
128
- setFilled: (value: boolean) => void;
129
- setDirty: (value: boolean) => void;
130
- setTouched: (value: boolean) => void;
131
- setStateProvider: (provider: _radix_ng_primitives_field.RdxFieldState | null) => _radix_ng_primitives_field.RdxFieldState | null;
132
- hasStateProvider: _angular_core.Signal<boolean>;
133
- };
59
+ protected readonly rootContext: _radix_ng_primitives_field.RdxFieldRootContext;
134
60
  /**
135
61
  * Error message id.
136
62
  *
@@ -155,32 +81,7 @@ declare class RdxFieldError {
155
81
  * @group Components
156
82
  */
157
83
  declare class RdxFieldLabel {
158
- protected readonly rootContext: {
159
- controlId: _angular_core.WritableSignal<string>;
160
- name: _angular_core.InputSignal<string | undefined>;
161
- descriptionIds: _angular_core.WritableSignal<string[]>;
162
- errorIds: _angular_core.WritableSignal<string[]>;
163
- messages: _angular_core.Signal<string[]>;
164
- notifyEdited: () => void;
165
- invalidState: _angular_core.Signal<boolean>;
166
- disabledState: _angular_core.Signal<boolean>;
167
- requiredState: _angular_core.Signal<boolean>;
168
- dirtyState: _angular_core.Signal<boolean>;
169
- touchedState: _angular_core.Signal<boolean>;
170
- filledState: _angular_core.Signal<boolean>;
171
- focusedState: _angular_core.Signal<boolean>;
172
- setControlId: (id: string) => void;
173
- addDescriptionId: (id: string) => void;
174
- removeDescriptionId: (id: string) => void;
175
- addErrorId: (id: string) => void;
176
- removeErrorId: (id: string) => void;
177
- setFocused: (value: boolean) => void;
178
- setFilled: (value: boolean) => void;
179
- setDirty: (value: boolean) => void;
180
- setTouched: (value: boolean) => void;
181
- setStateProvider: (provider: _radix_ng_primitives_field.RdxFieldState | null) => _radix_ng_primitives_field.RdxFieldState | null;
182
- hasStateProvider: _angular_core.Signal<boolean>;
183
- };
84
+ protected readonly rootContext: _radix_ng_primitives_field.RdxFieldRootContext;
184
85
  /**
185
86
  * Label id.
186
87
  *
@@ -222,91 +123,20 @@ interface RdxFieldState {
222
123
  */
223
124
  errors?: () => RdxValidationError[];
224
125
  }
225
- declare const fieldRootContext: () => {
226
- controlId: _angular_core.WritableSignal<string>;
227
- name: _angular_core.InputSignal<string | undefined>;
228
- descriptionIds: _angular_core.WritableSignal<string[]>;
229
- errorIds: _angular_core.WritableSignal<string[]>;
230
- /** Combined external messages (state provider's, then enclosing Form's), for `RdxFieldError`. */
231
- messages: _angular_core.Signal<string[]>;
232
- /** Notify an enclosing Form that this field's control was edited (composite-control opt-in). */
233
- notifyEdited: () => void;
234
- invalidState: _angular_core.Signal<boolean>;
235
- disabledState: _angular_core.Signal<boolean>;
236
- requiredState: _angular_core.Signal<boolean>;
237
- dirtyState: _angular_core.Signal<boolean>;
238
- touchedState: _angular_core.Signal<boolean>;
239
- filledState: _angular_core.Signal<boolean>;
240
- focusedState: _angular_core.Signal<boolean>;
241
- setControlId: (id: string) => void;
242
- addDescriptionId: (id: string) => void;
243
- removeDescriptionId: (id: string) => void;
244
- addErrorId: (id: string) => void;
245
- removeErrorId: (id: string) => void;
246
- setFocused: (value: boolean) => void;
247
- setFilled: (value: boolean) => void;
248
- setDirty: (value: boolean) => void;
249
- setTouched: (value: boolean) => void;
250
- /**
251
- * Register (or clear with `null`) an external owner of field state.
252
- * While a provider is registered, any state it exposes takes precedence
253
- * over the root inputs and the DOM-derived values. Returns the previous
254
- * provider so adapters can restore it on teardown.
255
- */
256
- setStateProvider: (provider: RdxFieldState | null) => RdxFieldState | null;
257
- hasStateProvider: _angular_core.Signal<boolean>;
258
- };
259
- type RdxFieldRootContext = ReturnType<typeof fieldRootContext>;
260
- declare const injectFieldRootContext: _radix_ng_primitives_core.InjectContext<{
261
- controlId: _angular_core.WritableSignal<string>;
262
- name: _angular_core.InputSignal<string | undefined>;
263
- descriptionIds: _angular_core.WritableSignal<string[]>;
264
- errorIds: _angular_core.WritableSignal<string[]>;
265
- /** Combined external messages (state provider's, then enclosing Form's), for `RdxFieldError`. */
266
- messages: _angular_core.Signal<string[]>;
267
- /** Notify an enclosing Form that this field's control was edited (composite-control opt-in). */
268
- notifyEdited: () => void;
269
- invalidState: _angular_core.Signal<boolean>;
270
- disabledState: _angular_core.Signal<boolean>;
271
- requiredState: _angular_core.Signal<boolean>;
272
- dirtyState: _angular_core.Signal<boolean>;
273
- touchedState: _angular_core.Signal<boolean>;
274
- filledState: _angular_core.Signal<boolean>;
275
- focusedState: _angular_core.Signal<boolean>;
276
- setControlId: (id: string) => void;
277
- addDescriptionId: (id: string) => void;
278
- removeDescriptionId: (id: string) => void;
279
- addErrorId: (id: string) => void;
280
- removeErrorId: (id: string) => void;
281
- setFocused: (value: boolean) => void;
282
- setFilled: (value: boolean) => void;
283
- setDirty: (value: boolean) => void;
284
- setTouched: (value: boolean) => void;
285
- /**
286
- * Register (or clear with `null`) an external owner of field state.
287
- * While a provider is registered, any state it exposes takes precedence
288
- * over the root inputs and the DOM-derived values. Returns the previous
289
- * provider so adapters can restore it on teardown.
290
- */
291
- setStateProvider: (provider: RdxFieldState | null) => RdxFieldState | null;
292
- hasStateProvider: _angular_core.Signal<boolean>;
293
- }>;
294
- declare const provideFieldRootContext: (useFactory: () => {
295
- controlId: _angular_core.WritableSignal<string>;
296
- name: _angular_core.InputSignal<string | undefined>;
297
- descriptionIds: _angular_core.WritableSignal<string[]>;
298
- errorIds: _angular_core.WritableSignal<string[]>;
299
- /** Combined external messages (state provider's, then enclosing Form's), for `RdxFieldError`. */
300
- messages: _angular_core.Signal<string[]>;
301
- /** Notify an enclosing Form that this field's control was edited (composite-control opt-in). */
126
+ interface RdxFieldRootContext {
127
+ controlId: Signal<string>;
128
+ name: Signal<string | undefined>;
129
+ descriptionIds: Signal<string[]>;
130
+ errorIds: Signal<string[]>;
131
+ messages: Signal<string[]>;
302
132
  notifyEdited: () => void;
303
- invalidState: _angular_core.Signal<boolean>;
304
- disabledState: _angular_core.Signal<boolean>;
305
- requiredState: _angular_core.Signal<boolean>;
306
- dirtyState: _angular_core.Signal<boolean>;
307
- touchedState: _angular_core.Signal<boolean>;
308
- filledState: _angular_core.Signal<boolean>;
309
- focusedState: _angular_core.Signal<boolean>;
133
+ invalidState: Signal<boolean>;
134
+ disabledState: Signal<boolean>;
135
+ requiredState: Signal<boolean>;
136
+ dirtyState: Signal<boolean>;
137
+ touchedState: Signal<boolean>;
138
+ filledState: Signal<boolean>;
139
+ focusedState: Signal<boolean>;
310
140
  setControlId: (id: string) => void;
311
141
  addDescriptionId: (id: string) => void;
312
142
  removeDescriptionId: (id: string) => void;
@@ -316,15 +146,11 @@ declare const provideFieldRootContext: (useFactory: () => {
316
146
  setFilled: (value: boolean) => void;
317
147
  setDirty: (value: boolean) => void;
318
148
  setTouched: (value: boolean) => void;
319
- /**
320
- * Register (or clear with `null`) an external owner of field state.
321
- * While a provider is registered, any state it exposes takes precedence
322
- * over the root inputs and the DOM-derived values. Returns the previous
323
- * provider so adapters can restore it on teardown.
324
- */
325
149
  setStateProvider: (provider: RdxFieldState | null) => RdxFieldState | null;
326
- hasStateProvider: _angular_core.Signal<boolean>;
327
- }) => _angular_core.Provider;
150
+ hasStateProvider: Signal<boolean>;
151
+ }
152
+ declare const injectFieldRootContext: _radix_ng_primitives_core.InjectContext<RdxFieldRootContext>;
153
+ declare const provideFieldRootContext: (useFactory: () => RdxFieldRootContext) => _angular_core.Provider;
328
154
  /**
329
155
  * Groups a form control with its label, description, error message, and field state.
330
156
  *
@@ -397,20 +223,20 @@ declare class RdxFieldRoot {
397
223
  /** External state owner registered through the context; `null` when Field self-computes. */
398
224
  private readonly stateProvider;
399
225
  /** Whether an external adapter currently owns field state. */
400
- readonly hasStateProvider: _angular_core.Signal<boolean>;
226
+ readonly hasStateProvider: Signal<boolean>;
401
227
  /** Error content from a registered state provider (e.g. a Signal Forms adapter). */
402
228
  private readonly providerErrors;
403
229
  /** External messages from the enclosing Form matched by this field's `name`. */
404
- readonly externalErrors: _angular_core.Signal<string[]>;
230
+ readonly externalErrors: Signal<string[]>;
405
231
  /** Provider messages first (`message ?? kind`), then the Form's external messages. */
406
- readonly messages: _angular_core.Signal<string[]>;
407
- readonly invalidState: _angular_core.Signal<boolean>;
408
- readonly disabledState: _angular_core.Signal<boolean>;
409
- readonly requiredState: _angular_core.Signal<boolean>;
410
- readonly dirtyState: _angular_core.Signal<boolean>;
411
- readonly touchedState: _angular_core.Signal<boolean>;
412
- readonly filledState: _angular_core.Signal<boolean>;
413
- readonly focusedState: _angular_core.Signal<boolean>;
232
+ readonly messages: Signal<string[]>;
233
+ readonly invalidState: Signal<boolean>;
234
+ readonly disabledState: Signal<boolean>;
235
+ readonly requiredState: Signal<boolean>;
236
+ readonly dirtyState: Signal<boolean>;
237
+ readonly touchedState: Signal<boolean>;
238
+ readonly filledState: Signal<boolean>;
239
+ readonly focusedState: Signal<boolean>;
414
240
  protected readonly dataAttr: (value: boolean) => "" | undefined;
415
241
  constructor();
416
242
  /** Notify the enclosing Form (if any) that this field's control was edited (clear-on-edit). */
@@ -1,12 +1,15 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal } from '@angular/core';
1
3
  import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
2
- import * as _angular_core from '@angular/core';
3
4
 
4
5
  /** A normalized external-error map: each field name maps to its message(s) in display order. */
5
6
  type RdxFormErrors = Record<string, string | string[]>;
6
- /** Payload of {@link RdxFormRoot.onFormSubmit}. */
7
+ /** Payload of {@link RdxFormRoot.onFormSubmit}. Mirrors Base UI's `(values, eventDetails)` shape. */
7
8
  interface RdxFormSubmitEvent {
8
9
  /** The form's values serialized from `FormData` (repeated names collapse into arrays). */
9
10
  values: Record<string, FormDataEntryValue | FormDataEntryValue[]>;
11
+ /** Why the submit happened (Base UI `SubmitEventDetails.reason`). Always `'none'` for a user submit. */
12
+ reason: 'none';
10
13
  /** The original native submit event (already `preventDefault`-ed). */
11
14
  event: SubmitEvent;
12
15
  }
@@ -42,28 +45,16 @@ interface RdxFormState {
42
45
  /** Per-name external error source; while provided, the `errors` input + clear-on-edit are inert. */
43
46
  errorsFor?: (name: string) => string[];
44
47
  }
45
- declare const formRootContext: () => {
48
+ interface RdxFormRootContext {
46
49
  errorsFor: (name: string | undefined) => string[];
47
50
  notifyEdited: (name: string | undefined) => void;
51
+ /** Registers a field; returns its unregister callback. */
48
52
  register: (field: RdxFormFieldRegistration) => () => void;
49
53
  setStateProvider: (provider: RdxFormState | null) => RdxFormState | null;
50
- hasStateProvider: _angular_core.Signal<boolean>;
51
- };
52
- type RdxFormRootContext = ReturnType<typeof formRootContext>;
53
- declare const injectFormRootContext: _radix_ng_primitives_core.InjectContext<{
54
- errorsFor: (name: string | undefined) => string[];
55
- notifyEdited: (name: string | undefined) => void;
56
- register: (field: RdxFormFieldRegistration) => () => void;
57
- setStateProvider: (provider: RdxFormState | null) => RdxFormState | null;
58
- hasStateProvider: _angular_core.Signal<boolean>;
59
- }>;
60
- declare const provideFormRootContext: (useFactory: () => {
61
- errorsFor: (name: string | undefined) => string[];
62
- notifyEdited: (name: string | undefined) => void;
63
- register: (field: RdxFormFieldRegistration) => () => void;
64
- setStateProvider: (provider: RdxFormState | null) => RdxFormState | null;
65
- hasStateProvider: _angular_core.Signal<boolean>;
66
- }) => _angular_core.Provider;
54
+ hasStateProvider: Signal<boolean>;
55
+ }
56
+ declare const injectFormRootContext: _radix_ng_primitives_core.InjectContext<RdxFormRootContext>;
57
+ declare const provideFormRootContext: (useFactory: () => RdxFormRootContext) => i0.Provider;
67
58
  /**
68
59
  * The top of the forms layer cake: a single directive on the native `<form>` element that aggregates
69
60
  * field state, maps external (server) errors onto fields by `name`, intercepts submit (values-as-object,
@@ -75,15 +66,15 @@ declare const provideFormRootContext: (useFactory: () => {
75
66
  declare class RdxFormRoot {
76
67
  private readonly form;
77
68
  /** External/server validation errors keyed by `Field.Root` `name`. */
78
- readonly errors: _angular_core.InputSignal<RdxFormErrors | null | undefined>;
69
+ readonly errors: i0.InputSignal<RdxFormErrors | null | undefined>;
79
70
  /** Emits the remaining error map after a field's external error is cleared by a user edit (or reset). */
80
- readonly onClearErrors: _angular_core.OutputEmitterRef<RdxFormErrors>;
71
+ readonly onClearErrors: i0.OutputEmitterRef<RdxFormErrors>;
81
72
  /** Emits the serialized form values when a valid form is submitted. */
82
- readonly onFormSubmit: _angular_core.OutputEmitterRef<RdxFormSubmitEvent>;
73
+ readonly onFormSubmit: i0.OutputEmitterRef<RdxFormSubmitEvent>;
83
74
  private readonly fields;
84
75
  private readonly stateProvider;
85
76
  /** Whether an external adapter currently owns form-level state. */
86
- readonly hasStateProvider: _angular_core.Signal<boolean>;
77
+ readonly hasStateProvider: Signal<boolean>;
87
78
  /**
88
79
  * Names whose external error has been cleared by a user edit. Reset to empty whenever a new `errors`
89
80
  * object reference is assigned — the server just spoke, so everything it said is live again.
@@ -91,10 +82,10 @@ declare class RdxFormRoot {
91
82
  private readonly clearedNames;
92
83
  /** The `errors` input minus cleared names, normalized to `string[]`. */
93
84
  private readonly effectiveErrors;
94
- readonly anyInvalid: _angular_core.Signal<boolean>;
95
- readonly anyDirty: _angular_core.Signal<boolean>;
96
- readonly anyTouched: _angular_core.Signal<boolean>;
97
- readonly submitting: _angular_core.Signal<boolean>;
85
+ readonly anyInvalid: Signal<boolean>;
86
+ readonly anyDirty: Signal<boolean>;
87
+ readonly anyTouched: Signal<boolean>;
88
+ readonly submitting: Signal<boolean>;
98
89
  /** Resolve a boolean aggregate: a registered provider's accessor wins, else OR over the registry. */
99
90
  private aggregate;
100
91
  /** Resolves the external messages for a field name (provider source wins over the `errors` input). */
@@ -109,15 +100,15 @@ declare class RdxFormRoot {
109
100
  private readonly resetTimers;
110
101
  constructor();
111
102
  private remainingErrors;
112
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxFormRoot, never>;
113
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxFormRoot, "form[rdxFormRoot]", ["rdxFormRoot"], { "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "onClearErrors": "onClearErrors"; "onFormSubmit": "onFormSubmit"; }, never, never, true, never>;
103
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxFormRoot, never>;
104
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RdxFormRoot, "form[rdxFormRoot]", ["rdxFormRoot"], { "errors": { "alias": "errors"; "required": false; "isSignal": true; }; }, { "onClearErrors": "onClearErrors"; "onFormSubmit": "onFormSubmit"; }, never, never, true, never>;
114
105
  }
115
106
 
116
107
  declare const _importsForm: (typeof RdxFormRoot)[];
117
108
  declare class RdxFormModule {
118
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxFormModule, never>;
119
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxFormModule, never, [typeof RdxFormRoot], [typeof RdxFormRoot]>;
120
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxFormModule>;
109
+ static ɵfac: i0.ɵɵFactoryDeclaration<RdxFormModule, never>;
110
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RdxFormModule, never, [typeof RdxFormRoot], [typeof RdxFormRoot]>;
111
+ static ɵinj: i0.ɵɵInjectorDeclaration<RdxFormModule>;
121
112
  }
122
113
 
123
114
  export { RdxFormModule, RdxFormRoot, _importsForm, injectFormRootContext, provideFormRootContext };
@@ -6,13 +6,14 @@ import * as _angular_core from '@angular/core';
6
6
  declare class RdxLabelDirective {
7
7
  private readonly elementRef;
8
8
  /**
9
- * @default 'rdx-label-{idIterator}'
9
+ * The label id. Defaults to a stable generated id.
10
+ * @group Props
10
11
  */
11
12
  readonly id: _angular_core.InputSignal<string>;
12
13
  /**
13
14
  * The id of the element the label is associated with.
14
15
  * @group Props
15
- * @defaultValue false
16
+ * @default undefined
16
17
  */
17
18
  readonly htmlFor: _angular_core.InputSignal<string | undefined>;
18
19
  /**
@@ -333,7 +333,7 @@ declare abstract class RdxNumberFieldButton {
333
333
  /** @ignore Disabled for display/focus purposes (own state, root disabled, or bound reached). */
334
334
  readonly buttonDisabled: _angular_core.Signal<boolean>;
335
335
  /** @ignore Disabled for interaction purposes (also blocked while read-only). */
336
- private readonly interactionDisabled;
336
+ readonly interactionDisabled: _angular_core.Signal<boolean>;
337
337
  private get direction();
338
338
  private get pressReason();
339
339
  /** @ignore */