@radix-ng/primitives 1.0.5 → 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.
- package/aspect-ratio/README.md +1 -1
- package/fesm2022/radix-ng-primitives-accordion.mjs +40 -27
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +34 -34
- package/fesm2022/radix-ng-primitives-arrow.mjs +3 -3
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +11 -35
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-autocomplete.mjs +175 -125
- package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +92 -35
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-button.mjs +11 -7
- package/fesm2022/radix-ng-primitives-button.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs +140 -90
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +63 -46
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +37 -25
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +278 -177
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-composite.mjs +50 -33
- package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-config.mjs +7 -5
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +48 -22
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +44 -28
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +73 -45
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +70 -40
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +93 -67
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-direction-provider.mjs +5 -4
- package/fesm2022/radix-ng-primitives-direction-provider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +20 -16
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +107 -81
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +53 -39
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +76 -50
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs +8 -7
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +77 -40
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-guards.mjs +3 -3
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +7 -5
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-form.mjs +26 -17
- package/fesm2022/radix-ng-primitives-form.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-input.mjs +41 -22
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-label.mjs +11 -8
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +274 -154
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +35 -17
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +41 -30
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +220 -183
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +93 -61
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-pagination.mjs +48 -38
- package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +150 -107
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +79 -47
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs +20 -13
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +3 -3
- package/fesm2022/radix-ng-primitives-preview-card.mjs +119 -74
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +73 -46
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +58 -40
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +57 -41
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +595 -102
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +11 -15
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +101 -64
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +53 -39
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +25 -20
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +76 -51
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +72 -41
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs +75 -56
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +39 -23
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +36 -36
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +52 -31
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +118 -63
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +31 -20
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/package.json +2 -2
- package/types/radix-ng-primitives-accordion.d.ts +1 -0
- package/types/radix-ng-primitives-aspect-ratio.d.ts +10 -23
- package/types/radix-ng-primitives-autocomplete.d.ts +3 -1
- package/types/radix-ng-primitives-avatar.d.ts +51 -25
- package/types/radix-ng-primitives-checkbox.d.ts +26 -98
- package/types/radix-ng-primitives-combobox.d.ts +28 -9
- package/types/radix-ng-primitives-context-menu.d.ts +2 -0
- package/types/radix-ng-primitives-dialog.d.ts +6 -3
- package/types/radix-ng-primitives-field.d.ts +33 -207
- package/types/radix-ng-primitives-floating-focus-manager.d.ts +11 -0
- package/types/radix-ng-primitives-form.d.ts +24 -33
- package/types/radix-ng-primitives-label.d.ts +3 -2
- package/types/radix-ng-primitives-menu.d.ts +47 -15
- package/types/radix-ng-primitives-menubar.d.ts +6 -1
- package/types/radix-ng-primitives-navigation-menu.d.ts +8 -6
- package/types/radix-ng-primitives-number-field.d.ts +1 -1
- package/types/radix-ng-primitives-popover.d.ts +12 -4
- package/types/radix-ng-primitives-preview-card.d.ts +18 -5
- package/types/radix-ng-primitives-progress.d.ts +59 -121
- package/types/radix-ng-primitives-radio.d.ts +0 -1
- package/types/radix-ng-primitives-select.d.ts +186 -391
- package/types/radix-ng-primitives-separator.d.ts +0 -7
- package/types/radix-ng-primitives-toggle-group.d.ts +7 -3
- package/types/radix-ng-primitives-toggle.d.ts +8 -8
- package/types/radix-ng-primitives-toolbar.d.ts +2 -0
- package/types/radix-ng-primitives-tooltip.d.ts +17 -3
|
@@ -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
|
-
|
|
226
|
-
controlId:
|
|
227
|
-
name:
|
|
228
|
-
descriptionIds:
|
|
229
|
-
errorIds:
|
|
230
|
-
|
|
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:
|
|
304
|
-
disabledState:
|
|
305
|
-
requiredState:
|
|
306
|
-
dirtyState:
|
|
307
|
-
touchedState:
|
|
308
|
-
filledState:
|
|
309
|
-
focusedState:
|
|
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:
|
|
327
|
-
}
|
|
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:
|
|
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:
|
|
230
|
+
readonly externalErrors: Signal<string[]>;
|
|
405
231
|
/** Provider messages first (`message ?? kind`), then the Form's external messages. */
|
|
406
|
-
readonly messages:
|
|
407
|
-
readonly invalidState:
|
|
408
|
-
readonly disabledState:
|
|
409
|
-
readonly requiredState:
|
|
410
|
-
readonly dirtyState:
|
|
411
|
-
readonly touchedState:
|
|
412
|
-
readonly filledState:
|
|
413
|
-
readonly focusedState:
|
|
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). */
|
|
@@ -200,6 +200,17 @@ declare class RdxFloatingFocusManager {
|
|
|
200
200
|
* The marker keep-set is intentionally narrow: the popup/focus host only. Own sibling roots such as a
|
|
201
201
|
* user backdrop are DOM-footprint bookkeeping, not marker keep-set members.
|
|
202
202
|
*/
|
|
203
|
+
/**
|
|
204
|
+
* The kept ("avoid") subtree for the `markOthers` background-isolation passes — the floating element
|
|
205
|
+
* and any primitive-declared inside elements (e.g. a combobox input that must stay interactive).
|
|
206
|
+
*
|
|
207
|
+
* It deliberately excludes `previous/nextFocusableElement`: those exist for focus-guard tabbability and
|
|
208
|
+
* return-focus (Base UI's `markOthers(insideElements)` aria-hidden pass keeps them, but its **marker**
|
|
209
|
+
* pass — `markOthers([floating, ...portalNodes])` — does not). A modal popover declares its trigger as
|
|
210
|
+
* `previousFocusableElement`; sparing it here used to leak the trigger's whole ancestor chain (the app
|
|
211
|
+
* root) out of the isolation, so a modal popover failed to inert/mark the dimmed background. Keeping the
|
|
212
|
+
* isolation tied to the floating subtree restores full modality.
|
|
213
|
+
*/
|
|
203
214
|
private avoidElements;
|
|
204
215
|
private isFloatingOpen;
|
|
205
216
|
/** Whether `relatedTarget` is inside the popup, its trigger(s), or an ancestor / descendant popup. */
|
|
@@ -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
|
-
|
|
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:
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
declare const
|
|
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:
|
|
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:
|
|
71
|
+
readonly onClearErrors: i0.OutputEmitterRef<RdxFormErrors>;
|
|
81
72
|
/** Emits the serialized form values when a valid form is submitted. */
|
|
82
|
-
readonly onFormSubmit:
|
|
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:
|
|
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:
|
|
95
|
-
readonly anyDirty:
|
|
96
|
-
readonly anyTouched:
|
|
97
|
-
readonly submitting:
|
|
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:
|
|
113
|
-
static ɵdir:
|
|
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:
|
|
119
|
-
static ɵmod:
|
|
120
|
-
static ɵinj:
|
|
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
|
-
*
|
|
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
|
-
* @
|
|
16
|
+
* @default undefined
|
|
16
17
|
*/
|
|
17
18
|
readonly htmlFor: _angular_core.InputSignal<string | undefined>;
|
|
18
19
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { Signal, WritableSignal } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Signal, WritableSignal } from '@angular/core';
|
|
3
3
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
|
-
import { RdxFloatingRootContext, BooleanInput, Direction, RdxCancelableChangeEventDetails, NumberInput } from '@radix-ng/primitives/core';
|
|
4
|
+
import { RdxFloatingRootContext, BooleanInput, Direction, RdxCancelableChangeEventDetails, NumberInput, DataOrientation } from '@radix-ng/primitives/core';
|
|
5
5
|
import * as _radix_ng_primitives_floating_focus_manager from '@radix-ng/primitives/floating-focus-manager';
|
|
6
6
|
import { RdxInteractionType } from '@radix-ng/primitives/floating-focus-manager';
|
|
7
7
|
import * as i1 from '@radix-ng/primitives/popper';
|
|
@@ -12,6 +12,12 @@ import * as i1$2 from '@radix-ng/primitives/portal';
|
|
|
12
12
|
import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer';
|
|
13
13
|
|
|
14
14
|
type RdxMenuTransitionStatus = 'starting' | 'ending' | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Why an open/close happened instantly (no transition). Mirrors Base UI's menu `data-instant`:
|
|
17
|
+
* `'click'` (opened by click/keyboard), `'dismiss'` (closed by Escape / outside-press / focus-out),
|
|
18
|
+
* `'group'`, or `'trigger-change'` (menubar switching between sibling menus).
|
|
19
|
+
*/
|
|
20
|
+
type RdxMenuInstantType = 'click' | 'dismiss' | 'group' | 'trigger-change';
|
|
15
21
|
/**
|
|
16
22
|
* How focus moves into the popup when it opens.
|
|
17
23
|
* - `'first'` / `'last'` — focus and highlight the first / last item (keyboard opening).
|
|
@@ -63,6 +69,8 @@ interface RdxMenuRootContext {
|
|
|
63
69
|
parentType: Signal<RdxMenuParentType>;
|
|
64
70
|
/** The reason for the most recent open-change (Base UI open-change `reason`). */
|
|
65
71
|
lastOpenChangeReason: Signal<RdxMenuOpenChangeReason>;
|
|
72
|
+
/** Why the open/close was instant (Base UI `data-instant`), or `undefined` when it animates. */
|
|
73
|
+
instantType: Signal<RdxMenuInstantType | undefined>;
|
|
66
74
|
/** Whether a trigger-originated press may activate an item on the following mouseup. */
|
|
67
75
|
allowMouseUpTrigger: Signal<boolean>;
|
|
68
76
|
/** Whether the current open was initiated by touch (ADR 0016 §3 — gates the anchored scroll lock). */
|
|
@@ -133,6 +141,12 @@ type RdxMenuTriggerInteraction = {
|
|
|
133
141
|
type RdxMenuTriggerInteractionHandler = (interaction: RdxMenuTriggerInteraction) => boolean;
|
|
134
142
|
declare const injectRdxMenuRootContext: _radix_ng_primitives_core.InjectContext<RdxMenuRootContext>;
|
|
135
143
|
declare const provideRdxMenuRootContext: (useFactory: () => RdxMenuRootContext) => _angular_core.Provider;
|
|
144
|
+
/**
|
|
145
|
+
* Ambient modality for a menu, provided by a coordinator (e.g. `Menubar`) so its child menus inherit
|
|
146
|
+
* the coordinator's `modal` setting instead of each defaulting independently. A top-level menu prefers
|
|
147
|
+
* this over its own `modal` input when present; submenus stay non-modal regardless.
|
|
148
|
+
*/
|
|
149
|
+
declare const RDX_MENU_AMBIENT_MODAL: InjectionToken<Signal<boolean>>;
|
|
136
150
|
/**
|
|
137
151
|
* Groups all parts of a menu.
|
|
138
152
|
*/
|
|
@@ -140,6 +154,8 @@ declare class RdxMenuRoot {
|
|
|
140
154
|
private readonly popper;
|
|
141
155
|
readonly parentRoot: RdxMenuRoot | null;
|
|
142
156
|
private readonly providedDirection;
|
|
157
|
+
/** Ambient modality from an enclosing coordinator (e.g. Menubar). Overrides own `modal` for top-level menus. */
|
|
158
|
+
private readonly ambientModal;
|
|
143
159
|
/**
|
|
144
160
|
* The shared per-popup floating context (ADR 0015 §1) — `open` mirrors this menu's open state, the
|
|
145
161
|
* trigger registry is bridged from {@link registerTrigger}, and the reference / floating elements are
|
|
@@ -208,6 +224,8 @@ declare class RdxMenuRoot {
|
|
|
208
224
|
readonly effectiveModal: Signal<boolean>;
|
|
209
225
|
readonly state: Signal<"open" | "closed">;
|
|
210
226
|
readonly present: Signal<boolean>;
|
|
227
|
+
/** Base UI `data-instant`: the open/close reason classified into the instant-suppression bucket. */
|
|
228
|
+
readonly instantType: Signal<RdxMenuInstantType | undefined>;
|
|
211
229
|
constructor();
|
|
212
230
|
show(autoFocus?: RdxMenuAutoFocusInput, reason?: RdxMenuOpenChangeReason, event?: Event): void;
|
|
213
231
|
close(reason?: RdxMenuOpenChangeReason, event?: Event): void;
|
|
@@ -262,6 +280,8 @@ declare class RdxMenuTrigger {
|
|
|
262
280
|
/** Delay before hover leave closes the menu, in milliseconds. */
|
|
263
281
|
readonly closeDelay: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
|
|
264
282
|
protected readonly nativeButtonState: _angular_core.Signal<boolean>;
|
|
283
|
+
/** Whether the trigger is currently pressed (pointer down), for Base UI's `data-pressed`. */
|
|
284
|
+
protected readonly pressed: _angular_core.WritableSignal<boolean>;
|
|
265
285
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
266
286
|
protected readonly triggerInteraction: _radix_ng_primitives_floating_focus_manager.RdxTriggerInteraction;
|
|
267
287
|
constructor();
|
|
@@ -584,8 +604,10 @@ declare class RdxMenuGroupLabel {
|
|
|
584
604
|
* A visual separator between groups of menu items.
|
|
585
605
|
*/
|
|
586
606
|
declare class RdxMenuSeparator {
|
|
607
|
+
/** The orientation of the separator. Matches Base UI's `Separator.orientation`. */
|
|
608
|
+
readonly orientation: _angular_core.InputSignal<DataOrientation>;
|
|
587
609
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuSeparator, never>;
|
|
588
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuSeparator, "[rdxMenuSeparator]", ["rdxMenuSeparator"], {}, {}, never, never, true, never>;
|
|
610
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuSeparator, "[rdxMenuSeparator]", ["rdxMenuSeparator"], { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
589
611
|
}
|
|
590
612
|
|
|
591
613
|
type CheckedState = boolean | 'indeterminate';
|
|
@@ -595,6 +617,11 @@ declare function getCheckedState(checked: CheckedState): 'checked' | 'unchecked'
|
|
|
595
617
|
interface RdxMenuCheckboxItemContext {
|
|
596
618
|
checked: Signal<CheckedState>;
|
|
597
619
|
}
|
|
620
|
+
/** Payload of {@link RdxMenuCheckboxItem.onCheckedChange} — cancelable via `eventDetails.cancel()`. */
|
|
621
|
+
interface RdxMenuCheckboxChangeEvent {
|
|
622
|
+
checked: CheckedState;
|
|
623
|
+
eventDetails: RdxCancelableChangeEventDetails<'none'>;
|
|
624
|
+
}
|
|
598
625
|
declare const injectRdxMenuCheckboxItemContext: _radix_ng_primitives_core.InjectContext<RdxMenuCheckboxItemContext>;
|
|
599
626
|
declare const provideRdxMenuCheckboxItemContext: (useFactory: () => RdxMenuCheckboxItemContext) => _angular_core.Provider;
|
|
600
627
|
/**
|
|
@@ -613,12 +640,11 @@ declare class RdxMenuCheckboxItem {
|
|
|
613
640
|
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
614
641
|
/** The checked state of the item. */
|
|
615
642
|
readonly checked: _angular_core.ModelSignal<CheckedState>;
|
|
616
|
-
/** Emits
|
|
617
|
-
readonly onCheckedChange: _angular_core.OutputEmitterRef<
|
|
643
|
+
/** Emits before the checked state changes; call `eventDetails.cancel()` to veto it. */
|
|
644
|
+
readonly onCheckedChange: _angular_core.OutputEmitterRef<RdxMenuCheckboxChangeEvent>;
|
|
618
645
|
protected readonly highlighted: Signal<boolean>;
|
|
619
646
|
protected readonly effectiveDisabled: Signal<boolean>;
|
|
620
647
|
protected readonly isIndeterminate: typeof isIndeterminate;
|
|
621
|
-
protected readonly getCheckedState: typeof getCheckedState;
|
|
622
648
|
constructor();
|
|
623
649
|
onFocus(): void;
|
|
624
650
|
onBlur(): void;
|
|
@@ -627,6 +653,7 @@ declare class RdxMenuCheckboxItem {
|
|
|
627
653
|
onItemClick(): void;
|
|
628
654
|
onMouseUp(event: MouseEvent): void;
|
|
629
655
|
protected onActivate(event: Event): void;
|
|
656
|
+
/** Emits the cancelable change, applies it unless vetoed, and reports whether it was applied. */
|
|
630
657
|
private toggleChecked;
|
|
631
658
|
private setActiveIndex;
|
|
632
659
|
private clearActiveIndex;
|
|
@@ -642,7 +669,8 @@ declare class RdxMenuCheckboxItemIndicator {
|
|
|
642
669
|
private readonly itemContext;
|
|
643
670
|
/** Keep the indicator in the DOM when unchecked so CSS exit animations can play. */
|
|
644
671
|
readonly keepMounted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
645
|
-
protected readonly
|
|
672
|
+
protected readonly checked: _angular_core.Signal<_radix_ng_primitives_menu.CheckedState>;
|
|
673
|
+
protected readonly isIndeterminate: typeof isIndeterminate;
|
|
646
674
|
protected readonly isVisible: _angular_core.Signal<boolean>;
|
|
647
675
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuCheckboxItemIndicator, never>;
|
|
648
676
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuCheckboxItemIndicator, "[rdxMenuCheckboxItemIndicator]", ["rdxMenuCheckboxItemIndicator"], { "keepMounted": { "alias": "keepMounted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -651,7 +679,12 @@ declare class RdxMenuCheckboxItemIndicator {
|
|
|
651
679
|
interface RdxMenuRadioGroupContext<T = unknown> {
|
|
652
680
|
value: Signal<T | undefined>;
|
|
653
681
|
disabled: Signal<boolean>;
|
|
654
|
-
selectValue: (value: T) => void;
|
|
682
|
+
selectValue: (value: T, event?: Event) => void;
|
|
683
|
+
}
|
|
684
|
+
/** Payload of {@link RdxMenuRadioGroup.onValueChange} — cancelable via `eventDetails.cancel()`. */
|
|
685
|
+
interface RdxMenuRadioGroupValueChangeEvent<T = unknown> {
|
|
686
|
+
value: T;
|
|
687
|
+
eventDetails: RdxCancelableChangeEventDetails<'none'>;
|
|
655
688
|
}
|
|
656
689
|
declare const injectRdxMenuRadioGroupContext: _radix_ng_primitives_core.InjectContext<RdxMenuRadioGroupContext<unknown>>;
|
|
657
690
|
declare const provideRdxMenuRadioGroupContext: (useFactory: () => RdxMenuRadioGroupContext<unknown>) => _angular_core.Provider;
|
|
@@ -669,12 +702,12 @@ declare class RdxMenuRadioGroup<T = unknown> {
|
|
|
669
702
|
/** Whether all radio items in the group are disabled. */
|
|
670
703
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
671
704
|
/**
|
|
672
|
-
* Emits
|
|
705
|
+
* Emits before the selected value changes; call `eventDetails.cancel()` to veto it.
|
|
673
706
|
*/
|
|
674
|
-
readonly onValueChange: _angular_core.OutputEmitterRef<T
|
|
707
|
+
readonly onValueChange: _angular_core.OutputEmitterRef<RdxMenuRadioGroupValueChangeEvent<T>>;
|
|
675
708
|
readonly labelId: _angular_core.WritableSignal<string | undefined>;
|
|
676
709
|
constructor();
|
|
677
|
-
selectValue(newValue: T): void;
|
|
710
|
+
selectValue(newValue: T, event?: Event): void;
|
|
678
711
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuRadioGroup<any>, never>;
|
|
679
712
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuRadioGroup<any>, "[rdxMenuRadioGroup]", ["rdxMenuRadioGroup"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, never>;
|
|
680
713
|
}
|
|
@@ -706,7 +739,6 @@ declare class RdxMenuRadioItem<T = unknown> {
|
|
|
706
739
|
readonly checked: Signal<boolean>;
|
|
707
740
|
protected readonly highlighted: Signal<boolean>;
|
|
708
741
|
protected readonly effectiveDisabled: Signal<boolean>;
|
|
709
|
-
protected readonly getCheckedState: typeof getCheckedState;
|
|
710
742
|
constructor();
|
|
711
743
|
onFocus(): void;
|
|
712
744
|
onBlur(): void;
|
|
@@ -730,7 +762,7 @@ declare class RdxMenuRadioItemIndicator {
|
|
|
730
762
|
private readonly itemContext;
|
|
731
763
|
/** Keep the indicator in the DOM when unselected so CSS exit animations can play. */
|
|
732
764
|
readonly keepMounted: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
733
|
-
protected readonly
|
|
765
|
+
protected readonly checked: _angular_core.Signal<boolean>;
|
|
734
766
|
protected readonly isVisible: _angular_core.Signal<boolean>;
|
|
735
767
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxMenuRadioItemIndicator, never>;
|
|
736
768
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxMenuRadioItemIndicator, "[rdxMenuRadioItemIndicator]", ["rdxMenuRadioItemIndicator"], { "keepMounted": { "alias": "keepMounted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -748,5 +780,5 @@ declare class RdxMenuModule {
|
|
|
748
780
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RdxMenuModule>;
|
|
749
781
|
}
|
|
750
782
|
|
|
751
|
-
export { RdxMenuArrow, RdxMenuBackdrop, RdxMenuCheckboxItem, RdxMenuCheckboxItemIndicator, RdxMenuGroup, RdxMenuGroupLabel, RdxMenuItem, RdxMenuLinkItem, RdxMenuModule, RdxMenuPopup, RdxMenuPortal, RdxMenuPortalMisuseGuard, RdxMenuPositioner, RdxMenuRadioGroup, RdxMenuRadioItem, RdxMenuRadioItemIndicator, RdxMenuRoot, RdxMenuSeparator, RdxMenuSubTrigger, RdxMenuTrigger, RdxMenuViewport, getCheckedState, injectRdxMenuCheckboxItemContext, injectRdxMenuGroupContext, injectRdxMenuRadioGroupContext, injectRdxMenuRadioItemContext, injectRdxMenuRootContext, isIndeterminate, provideRdxMenuCheckboxItemContext, provideRdxMenuGroupContext, provideRdxMenuRadioGroupContext, provideRdxMenuRadioItemContext, provideRdxMenuRootContext };
|
|
752
|
-
export type { CheckedState, RdxMenuAutoFocus, RdxMenuAutoFocusInput, RdxMenuCheckboxItemContext, RdxMenuGroupContext, RdxMenuOpenChange, RdxMenuOpenChangeEventDetails, RdxMenuOpenChangeReason, RdxMenuOrientation, RdxMenuParentType, RdxMenuRadioGroupContext, RdxMenuRadioItemContext, RdxMenuRootContext, RdxMenuTransitionStatus, RdxMenuTriggerInteraction, RdxMenuTriggerInteractionHandler };
|
|
783
|
+
export { RDX_MENU_AMBIENT_MODAL, RdxMenuArrow, RdxMenuBackdrop, RdxMenuCheckboxItem, RdxMenuCheckboxItemIndicator, RdxMenuGroup, RdxMenuGroupLabel, RdxMenuItem, RdxMenuLinkItem, RdxMenuModule, RdxMenuPopup, RdxMenuPortal, RdxMenuPortalMisuseGuard, RdxMenuPositioner, RdxMenuRadioGroup, RdxMenuRadioItem, RdxMenuRadioItemIndicator, RdxMenuRoot, RdxMenuSeparator, RdxMenuSubTrigger, RdxMenuTrigger, RdxMenuViewport, getCheckedState, injectRdxMenuCheckboxItemContext, injectRdxMenuGroupContext, injectRdxMenuRadioGroupContext, injectRdxMenuRadioItemContext, injectRdxMenuRootContext, isIndeterminate, provideRdxMenuCheckboxItemContext, provideRdxMenuGroupContext, provideRdxMenuRadioGroupContext, provideRdxMenuRadioItemContext, provideRdxMenuRootContext };
|
|
784
|
+
export type { CheckedState, RdxMenuAutoFocus, RdxMenuAutoFocusInput, RdxMenuCheckboxChangeEvent, RdxMenuCheckboxItemContext, RdxMenuGroupContext, RdxMenuInstantType, RdxMenuOpenChange, RdxMenuOpenChangeEventDetails, RdxMenuOpenChangeReason, RdxMenuOrientation, RdxMenuParentType, RdxMenuRadioGroupContext, RdxMenuRadioGroupValueChangeEvent, RdxMenuRadioItemContext, RdxMenuRootContext, RdxMenuTransitionStatus, RdxMenuTriggerInteraction, RdxMenuTriggerInteractionHandler };
|