@radix-ng/primitives 1.1.0 → 1.1.1
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/fesm2022/radix-ng-primitives-autocomplete.mjs +66 -7
- package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +147 -125
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +171 -37
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +173 -5
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +38 -7
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +49 -2
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +35 -3
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +17 -2
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +60 -7
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +25 -3
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/package.json +1 -1
- package/types/radix-ng-primitives-autocomplete.d.ts +10 -1
- package/types/radix-ng-primitives-checkbox.d.ts +56 -43
- package/types/radix-ng-primitives-combobox.d.ts +46 -2
- package/types/radix-ng-primitives-core.d.ts +62 -4
- package/types/radix-ng-primitives-number-field.d.ts +12 -5
- package/types/radix-ng-primitives-radio.d.ts +6 -1
- package/types/radix-ng-primitives-select.d.ts +8 -1
- package/types/radix-ng-primitives-slider.d.ts +2 -1
- package/types/radix-ng-primitives-switch.d.ts +19 -3
- package/types/radix-ng-primitives-toggle-group.d.ts +5 -1
|
@@ -45,6 +45,7 @@ interface CheckboxRootContext {
|
|
|
45
45
|
required: Signal<boolean>;
|
|
46
46
|
value: Signal<string>;
|
|
47
47
|
name: Signal<string | undefined>;
|
|
48
|
+
itemValue: Signal<string | undefined>;
|
|
48
49
|
parent: Signal<boolean>;
|
|
49
50
|
form: Signal<string | undefined>;
|
|
50
51
|
readonly: Signal<boolean>;
|
|
@@ -55,6 +56,7 @@ interface CheckboxRootContext {
|
|
|
55
56
|
touchedState: Signal<boolean>;
|
|
56
57
|
dirtyState: Signal<boolean>;
|
|
57
58
|
uncheckedValue: Signal<string | undefined>;
|
|
59
|
+
registerNativeInput: (input: HTMLInputElement) => () => void;
|
|
58
60
|
toggle: (event?: Event) => void;
|
|
59
61
|
}
|
|
60
62
|
declare const injectCheckboxRootContext: _radix_ng_primitives_core.InjectContext<CheckboxRootContext>;
|
|
@@ -65,11 +67,9 @@ declare const provideCheckboxRootContext: (useFactory: () => CheckboxRootContext
|
|
|
65
67
|
declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
66
68
|
private readonly controlValueAccessor;
|
|
67
69
|
private readonly ngControlState;
|
|
68
|
-
private readonly elementRef;
|
|
69
|
-
private readonly renderer;
|
|
70
|
-
private uncheckedInputElement;
|
|
71
70
|
/** The group this checkbox belongs to, if it is rendered inside a `rdxCheckboxGroup`. */
|
|
72
71
|
private readonly group;
|
|
72
|
+
private readonly nativeInput;
|
|
73
73
|
/**
|
|
74
74
|
* The controlled checked state of the checkbox. Must be used in conjunction with onCheckedChange.
|
|
75
75
|
*
|
|
@@ -99,11 +99,12 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
99
99
|
* Bound publicly as `[value]`; the TS member is named `submitValue` so the
|
|
100
100
|
* directive can satisfy `RdxFormCheckboxControl`, whose contract reserves a
|
|
101
101
|
* `value` member for `RdxFormValueControl` and forbids it on checkbox-style
|
|
102
|
-
* controls.
|
|
103
|
-
*
|
|
102
|
+
* controls.
|
|
103
|
+
* When omitted, native submission uses the browser checkbox default (`on`). Inside a
|
|
104
|
+
* `rdxCheckboxGroup`, the child's `name` is used as a compatibility fallback.
|
|
104
105
|
* @group Props
|
|
105
106
|
*/
|
|
106
|
-
readonly submitValue: _angular_core.InputSignal<string>;
|
|
107
|
+
readonly submitValue: _angular_core.InputSignal<string | undefined>;
|
|
107
108
|
/**
|
|
108
109
|
* The value submitted with the form when the checkbox is unchecked.
|
|
109
110
|
* By default, unchecked checkboxes do not submit any value, matching native checkbox behavior.
|
|
@@ -151,8 +152,8 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
151
152
|
*/
|
|
152
153
|
readonly errors: _angular_core.InputSignal<readonly RdxValidationError[]>;
|
|
153
154
|
/**
|
|
154
|
-
* Name of
|
|
155
|
-
* `
|
|
155
|
+
* Name of a standalone form control. Inside a `rdxCheckboxGroup`, prefer `[value]` to identify
|
|
156
|
+
* the item; `name` remains a compatibility fallback for existing group templates.
|
|
156
157
|
* @group Props
|
|
157
158
|
*/
|
|
158
159
|
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
@@ -167,6 +168,14 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
167
168
|
* @group Props
|
|
168
169
|
*/
|
|
169
170
|
readonly form: _angular_core.InputSignal<string | undefined>;
|
|
171
|
+
/** @ignore Item identity inside a checkbox group (`value`, falling back to the legacy child name). */
|
|
172
|
+
readonly itemValue: Signal<string | undefined>;
|
|
173
|
+
/** @ignore Native checkbox value; browsers default an omitted checkbox value to `on`. */
|
|
174
|
+
readonly nativeValue: Signal<string>;
|
|
175
|
+
/** @ignore A checkbox group owns the successful-control name and serializes its children centrally. */
|
|
176
|
+
readonly nativeName: Signal<string | undefined>;
|
|
177
|
+
/** @ignore Child native inputs inherit an external form association from their checkbox group. */
|
|
178
|
+
readonly nativeForm: Signal<string | undefined>;
|
|
170
179
|
/**
|
|
171
180
|
* Event emitted when the checkbox checked state changes.
|
|
172
181
|
* @group Emits
|
|
@@ -180,8 +189,8 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
180
189
|
/**
|
|
181
190
|
* @ignore
|
|
182
191
|
* The effective checked state as a `boolean`. Inside a `rdxCheckboxGroup` it is derived from the
|
|
183
|
-
* group (a `parent` checkbox is checked only when every child is; a child from whether its
|
|
184
|
-
* is in the group value); standalone it reads the CVA value.
|
|
192
|
+
* group (a `parent` checkbox is checked only when every child is; a child from whether its item
|
|
193
|
+
* value is in the group value); standalone it reads the CVA value.
|
|
185
194
|
*/
|
|
186
195
|
readonly checkedState: Signal<boolean>;
|
|
187
196
|
/**
|
|
@@ -214,15 +223,13 @@ declare class RdxCheckboxRootDirective implements RdxFormCheckboxControl {
|
|
|
214
223
|
/** @ignore */
|
|
215
224
|
readonly dirtyState: Signal<boolean>;
|
|
216
225
|
readonly state: Signal<"indeterminate" | "checked" | "unchecked">;
|
|
226
|
+
private readonly nativeInputOwnsValue;
|
|
217
227
|
constructor();
|
|
218
228
|
toggle(event?: Event): void;
|
|
219
229
|
/** Reset control-owned interaction state; Angular Signal Forms calls this from `FieldState.reset()`. */
|
|
220
230
|
reset(): void;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
private removeUncheckedInput;
|
|
224
|
-
private setOptionalAttribute;
|
|
225
|
-
private setBooleanAttribute;
|
|
231
|
+
/** @ignore Register the optional native checkbox so it owns checked-value serialization. */
|
|
232
|
+
registerNativeInput(input: HTMLInputElement): () => void;
|
|
226
233
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxRootDirective, never>;
|
|
227
234
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxRootDirective, "[rdxCheckboxRoot]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "defaultChecked": { "alias": "defaultChecked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "submitValue": { "alias": "value"; "required": false; "isSignal": true; }; "uncheckedValue": { "alias": "uncheckedValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "parent": { "alias": "parent"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "indeterminate": "indeterminateChange"; "touched": "touchedChange"; "onCheckedChange": "onCheckedChange"; "touch": "touch"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxControlValueAccessor; inputs: { "value": "checked"; "disabled": "disabled"; }; outputs: {}; }]>;
|
|
228
235
|
}
|
|
@@ -234,45 +241,51 @@ interface RdxCheckboxGroupValueChangeEvent {
|
|
|
234
241
|
eventDetails: RdxCheckboxGroupValueChangeEventDetails;
|
|
235
242
|
}
|
|
236
243
|
interface RdxCheckboxGroupContext {
|
|
237
|
-
/** The
|
|
244
|
+
/** The values of the currently checked checkboxes. */
|
|
238
245
|
value: Signal<string[]>;
|
|
239
|
-
/** All checkbox
|
|
246
|
+
/** All checkbox values, used by a `parent` checkbox to check/uncheck every child. */
|
|
240
247
|
allValues: Signal<string[]>;
|
|
248
|
+
/** External owning form id inherited by optional child native inputs. */
|
|
249
|
+
form: Signal<string | undefined>;
|
|
241
250
|
/** Whether the whole group is disabled. */
|
|
242
251
|
disabled: Signal<boolean>;
|
|
243
252
|
/** The derived state of a `parent` checkbox: all / none / some checked. */
|
|
244
253
|
parentState: Signal<CheckedState>;
|
|
245
254
|
/** The space-separated control ids the `parent` checkbox controls (for `aria-controls`). */
|
|
246
255
|
controlledIds: Signal<string | undefined>;
|
|
247
|
-
/** A stable id for a child's control element, derived from the group id and
|
|
248
|
-
controlId: (
|
|
249
|
-
/** Toggle a single child by
|
|
250
|
-
toggleValue: (
|
|
256
|
+
/** A stable id for a child's control element, derived from the group id and item value. */
|
|
257
|
+
controlId: (value: string) => string;
|
|
258
|
+
/** Toggle a single child by value. */
|
|
259
|
+
toggleValue: (value: string, event?: Event) => void;
|
|
251
260
|
/** Toggle every child on or off (used by a `parent` checkbox). */
|
|
252
261
|
toggleAll: (event?: Event) => void;
|
|
253
|
-
/** Register a child's
|
|
254
|
-
registerChild: (
|
|
262
|
+
/** Register a child's value and disabled state so the parent can preserve disabled items. */
|
|
263
|
+
registerChild: (value: string, disabled: Signal<boolean>) => () => void;
|
|
255
264
|
/** Register a child's control element id so the parent can reference it via `aria-controls`. */
|
|
256
|
-
registerControl: (
|
|
265
|
+
registerControl: (value: string, id: string) => () => void;
|
|
257
266
|
}
|
|
258
267
|
declare const injectCheckboxGroupContext: _radix_ng_primitives_core.InjectContext<RdxCheckboxGroupContext>;
|
|
259
268
|
declare const provideCheckboxGroupContext: (useFactory: () => RdxCheckboxGroupContext) => _angular_core.Provider;
|
|
260
269
|
/**
|
|
261
|
-
* Groups a set of checkboxes that share a single array value (the
|
|
270
|
+
* Groups a set of checkboxes that share a single array value (the values of the checked boxes).
|
|
262
271
|
*
|
|
263
|
-
* Each child `rdxCheckboxRoot` participates by its `
|
|
264
|
-
* "select all" checkbox whose state is derived from `allValues`.
|
|
272
|
+
* Each child `rdxCheckboxRoot` participates by its `value` (falling back to `name`). A child marked
|
|
273
|
+
* `parent` becomes a "select all" checkbox whose state is derived from `allValues`.
|
|
265
274
|
*/
|
|
266
275
|
declare class RdxCheckboxGroupDirective extends RdxFormUiControlBase implements ControlValueAccessor, RdxFormValueControl<string[]> {
|
|
267
|
-
/** The
|
|
276
|
+
/** The values of the currently checked checkboxes. Use with `onValueChange` or `[(value)]`. */
|
|
268
277
|
readonly value: _angular_core.ModelSignal<string[]>;
|
|
269
|
-
/** The
|
|
278
|
+
/** The values checked initially when the group is uncontrolled. */
|
|
270
279
|
readonly defaultValue: _angular_core.InputSignal<string[] | undefined>;
|
|
271
|
-
/** All checkbox
|
|
280
|
+
/** All checkbox values in the group. Required for a `parent` (select-all) checkbox. */
|
|
272
281
|
readonly allValues: _angular_core.InputSignal<string[]>;
|
|
282
|
+
/** Native form field name. Selected values are submitted as repeated entries under this name. */
|
|
283
|
+
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
284
|
+
/** Associates the group with an external form by id. */
|
|
285
|
+
readonly form: _angular_core.InputSignal<string | undefined>;
|
|
273
286
|
/** Whether the whole group is disabled. */
|
|
274
287
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
275
|
-
/** Emits the new array of checked
|
|
288
|
+
/** Emits the new array of checked values whenever the value changes. */
|
|
276
289
|
readonly onValueChange: _angular_core.OutputEmitterRef<RdxCheckboxGroupValueChangeEvent>;
|
|
277
290
|
private readonly disabledByCva;
|
|
278
291
|
readonly disabledState: Signal<boolean>;
|
|
@@ -286,11 +299,11 @@ declare class RdxCheckboxGroupDirective extends RdxFormUiControlBase implements
|
|
|
286
299
|
private seeded;
|
|
287
300
|
/** Where the parent is in its mixed → on → off cycle. Reset to `mixed` on any direct child change. */
|
|
288
301
|
private parentStatus;
|
|
289
|
-
/** Per-
|
|
290
|
-
private readonly
|
|
302
|
+
/** Per-value disabled signals, so the parent can preserve disabled-but-checked children. */
|
|
303
|
+
private readonly disabledByValue;
|
|
291
304
|
/** Stable group id used to derive child control ids when the consumer sets none. */
|
|
292
305
|
private readonly elementId;
|
|
293
|
-
/** Registered control element ids, keyed by child
|
|
306
|
+
/** Registered control element ids, keyed by child value. */
|
|
294
307
|
private readonly controlIds;
|
|
295
308
|
/** The space-separated control ids in `allValues` order, for the parent's `aria-controls`. */
|
|
296
309
|
readonly controlledIds: Signal<string | undefined>;
|
|
@@ -300,14 +313,14 @@ declare class RdxCheckboxGroupDirective extends RdxFormUiControlBase implements
|
|
|
300
313
|
constructor();
|
|
301
314
|
/** @ignore Bridge the CVA `onTouched` so `markAsTouched()` also notifies Reactive/template forms. */
|
|
302
315
|
protected formUiTouchTarget(): RdxFormUiTouchTarget;
|
|
303
|
-
/** @ignore Register a child's disabled signal keyed by its
|
|
304
|
-
registerChild(
|
|
305
|
-
/** A stable control id for a child, derived from the group id and
|
|
306
|
-
controlId(
|
|
316
|
+
/** @ignore Register a child's disabled signal keyed by its value. */
|
|
317
|
+
registerChild(value: string, disabled: Signal<boolean>): () => void;
|
|
318
|
+
/** A stable control id for a child, derived from the group id and item value. */
|
|
319
|
+
controlId(value: string): string;
|
|
307
320
|
/** @ignore Register a child's control element id so the parent can list it in `aria-controls`. */
|
|
308
|
-
registerControl(
|
|
309
|
-
/** Add/remove a single child
|
|
310
|
-
toggleValue(
|
|
321
|
+
registerControl(value: string, id: string): () => void;
|
|
322
|
+
/** Add/remove a single child value from the group value (a direct child change). */
|
|
323
|
+
toggleValue(value: string, event?: Event): void;
|
|
311
324
|
/**
|
|
312
325
|
* Toggle from the `parent` checkbox. Mirrors Base UI's `useCheckboxGroupParent`:
|
|
313
326
|
*
|
|
@@ -318,7 +331,7 @@ declare class RdxCheckboxGroupDirective extends RdxFormUiControlBase implements
|
|
|
318
331
|
* Disabled-but-checked children are always preserved (they cannot be toggled programmatically).
|
|
319
332
|
*/
|
|
320
333
|
toggleAll(event?: Event): void;
|
|
321
|
-
private
|
|
334
|
+
private isValueDisabled;
|
|
322
335
|
/** Seed the remembered selection from the current value the first time the parent is used. */
|
|
323
336
|
private ensureSeeded;
|
|
324
337
|
private emit;
|
|
@@ -331,7 +344,7 @@ declare class RdxCheckboxGroupDirective extends RdxFormUiControlBase implements
|
|
|
331
344
|
/** @ignore */
|
|
332
345
|
setDisabledState(isDisabled: boolean): void;
|
|
333
346
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxCheckboxGroupDirective, never>;
|
|
334
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxGroupDirective, "[rdxCheckboxGroup]", ["rdxCheckboxGroup"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "allValues": { "alias": "allValues"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxFormUiStateHost; inputs: {}; outputs: {}; }]>;
|
|
347
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxCheckboxGroupDirective, "[rdxCheckboxGroup]", ["rdxCheckboxGroup"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "allValues": { "alias": "allValues"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxFormUiStateHost; inputs: {}; outputs: {}; }]>;
|
|
335
348
|
}
|
|
336
349
|
|
|
337
350
|
declare class RdxCheckboxIndicatorDirective {
|
|
@@ -144,7 +144,7 @@ declare function useComboboxEngine(config: ComboboxEngineConfig): {
|
|
|
144
144
|
readonly triggerElement: HTMLElement | null;
|
|
145
145
|
setTrigger(el: HTMLElement | null): void;
|
|
146
146
|
orderedItems: Signal<ComboboxItemRef[]>;
|
|
147
|
-
visibleItems: Signal<ComboboxItemRef[]>;
|
|
147
|
+
visibleItems: Signal<readonly ComboboxItemRef[]>;
|
|
148
148
|
visibleCount: Signal<number>;
|
|
149
149
|
filteredItems: Signal<readonly AcceptableValue[]>;
|
|
150
150
|
isVisible: (item: ComboboxItemRef) => boolean;
|
|
@@ -220,6 +220,9 @@ declare const context: () => {
|
|
|
220
220
|
dir: _angular_core.Signal<Direction>;
|
|
221
221
|
value: _angular_core.ModelSignal<ComboboxValue>;
|
|
222
222
|
inputValue: _angular_core.ModelSignal<string>;
|
|
223
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
224
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
225
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
223
226
|
open: _angular_core.ModelSignal<boolean>;
|
|
224
227
|
present: _angular_core.Signal<boolean>;
|
|
225
228
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -297,6 +300,9 @@ declare const injectComboboxRootContext: _radix_ng_primitives_core.InjectContext
|
|
|
297
300
|
dir: _angular_core.Signal<Direction>;
|
|
298
301
|
value: _angular_core.ModelSignal<ComboboxValue>;
|
|
299
302
|
inputValue: _angular_core.ModelSignal<string>;
|
|
303
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
304
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
305
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
300
306
|
open: _angular_core.ModelSignal<boolean>;
|
|
301
307
|
present: _angular_core.Signal<boolean>;
|
|
302
308
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -373,6 +379,9 @@ declare const provideComboboxRootContext: (useFactory: () => {
|
|
|
373
379
|
dir: _angular_core.Signal<Direction>;
|
|
374
380
|
value: _angular_core.ModelSignal<ComboboxValue>;
|
|
375
381
|
inputValue: _angular_core.ModelSignal<string>;
|
|
382
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
383
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
384
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
376
385
|
open: _angular_core.ModelSignal<boolean>;
|
|
377
386
|
present: _angular_core.Signal<boolean>;
|
|
378
387
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -475,6 +484,8 @@ declare class RdxComboboxRoot extends RdxFormUiControlBase implements ControlVal
|
|
|
475
484
|
readonly mode: _angular_core.Signal<"none" | "single" | "multiple">;
|
|
476
485
|
/** Whether the combobox is in multiple-selection mode. */
|
|
477
486
|
readonly multiple: _angular_core.Signal<boolean>;
|
|
487
|
+
/** Whether the visible text input owns native serialization in filter-only mode. */
|
|
488
|
+
readonly inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
478
489
|
/** In `'none'` mode, whether pressing an item fills the input with its label. */
|
|
479
490
|
readonly fillInputOnItemPress: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
480
491
|
/** Text direction. */
|
|
@@ -486,6 +497,10 @@ declare class RdxComboboxRoot extends RdxFormUiControlBase implements ControlVal
|
|
|
486
497
|
readonly readOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
487
498
|
/** Whether a value is required (for forms). */
|
|
488
499
|
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
500
|
+
/** Name used when serializing the committed selection into native `FormData`. */
|
|
501
|
+
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
502
|
+
/** Id of an external form that owns this control. */
|
|
503
|
+
readonly form: _angular_core.InputSignal<string | undefined>;
|
|
489
504
|
/** Whether keyboard navigation wraps at the list boundaries. */
|
|
490
505
|
readonly loopFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
491
506
|
/**
|
|
@@ -549,6 +564,8 @@ declare class RdxComboboxRoot extends RdxFormUiControlBase implements ControlVal
|
|
|
549
564
|
readonly isItemEqualToValue: _angular_core.InputSignal<ItemValueComparator<AcceptableValue> | undefined>;
|
|
550
565
|
/** Converts a value to its display label. Defaults to the matching item's text. */
|
|
551
566
|
readonly itemToStringLabel: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
567
|
+
/** Converts an item value to the string submitted by a native form. */
|
|
568
|
+
readonly itemToStringValue: _angular_core.InputSignal<((value: AcceptableValue) => string) | undefined>;
|
|
552
569
|
/** Emits before the selection changes; call `eventDetails.cancel()` to veto it. */
|
|
553
570
|
readonly onValueChange: _angular_core.OutputEmitterRef<RdxComboboxValueChange>;
|
|
554
571
|
/** Emits before the input text changes; call `eventDetails.cancel()` to veto it. */
|
|
@@ -564,6 +581,8 @@ declare class RdxComboboxRoot extends RdxFormUiControlBase implements ControlVal
|
|
|
564
581
|
readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
|
|
565
582
|
private readonly cvaDisabled;
|
|
566
583
|
readonly disabledState: _angular_core.Signal<boolean>;
|
|
584
|
+
private readonly nativeFormValue;
|
|
585
|
+
private readonly nativeFormControl;
|
|
567
586
|
readonly requiredState: _angular_core.Signal<boolean>;
|
|
568
587
|
/** @ignore */
|
|
569
588
|
readonly invalidState: _angular_core.Signal<boolean>;
|
|
@@ -660,7 +679,7 @@ declare class RdxComboboxRoot extends RdxFormUiControlBase implements ControlVal
|
|
|
660
679
|
registerOnTouched(fn: () => void): void;
|
|
661
680
|
setDisabledState(isDisabled: boolean): void;
|
|
662
681
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxComboboxRoot, never>;
|
|
663
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxRoot, "[rdxComboboxRoot]", ["rdxComboboxRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "inputValue": { "alias": "inputValue"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "fillInputOnItemPress": { "alias": "fillInputOnItemPress"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "autoHighlight": { "alias": "autoHighlight"; "required": false; "isSignal": true; }; "highlightItemOnHover": { "alias": "highlightItemOnHover"; "required": false; "isSignal": true; }; "keepHighlight": { "alias": "keepHighlight"; "required": false; "isSignal": true; }; "openOnInputClick": { "alias": "openOnInputClick"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "submitOnItemClick": { "alias": "submitOnItemClick"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "virtualized": { "alias": "virtualized"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "isItemEqualToValue": { "alias": "isItemEqualToValue"; "required": false; "isSignal": true; }; "itemToStringLabel": { "alias": "itemToStringLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "inputValue": "inputValueChange"; "open": "openChange"; "onValueChange": "onValueChange"; "onInputValueChange": "onInputValueChange"; "onOpenChange": "onOpenChange"; "onItemHighlighted": "onItemHighlighted"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
682
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxComboboxRoot, "[rdxComboboxRoot]", ["rdxComboboxRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "inputValue": { "alias": "inputValue"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "fillInputOnItemPress": { "alias": "fillInputOnItemPress"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "autoHighlight": { "alias": "autoHighlight"; "required": false; "isSignal": true; }; "highlightItemOnHover": { "alias": "highlightItemOnHover"; "required": false; "isSignal": true; }; "keepHighlight": { "alias": "keepHighlight"; "required": false; "isSignal": true; }; "openOnInputClick": { "alias": "openOnInputClick"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "submitOnItemClick": { "alias": "submitOnItemClick"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "limit": { "alias": "limit"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "virtualized": { "alias": "virtualized"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "isItemEqualToValue": { "alias": "isItemEqualToValue"; "required": false; "isSignal": true; }; "itemToStringLabel": { "alias": "itemToStringLabel"; "required": false; "isSignal": true; }; "itemToStringValue": { "alias": "itemToStringValue"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "inputValue": "inputValueChange"; "open": "openChange"; "onValueChange": "onValueChange"; "onInputValueChange": "onInputValueChange"; "onOpenChange": "onOpenChange"; "onItemHighlighted": "onItemHighlighted"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
664
683
|
}
|
|
665
684
|
|
|
666
685
|
/**
|
|
@@ -691,6 +710,9 @@ declare class RdxComboboxInput {
|
|
|
691
710
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
692
711
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
693
712
|
inputValue: _angular_core.ModelSignal<string>;
|
|
713
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
714
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
715
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
694
716
|
open: _angular_core.ModelSignal<boolean>;
|
|
695
717
|
present: _angular_core.Signal<boolean>;
|
|
696
718
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -814,6 +836,9 @@ declare class RdxComboboxInputGroup {
|
|
|
814
836
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
815
837
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
816
838
|
inputValue: _angular_core.ModelSignal<string>;
|
|
839
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
840
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
841
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
817
842
|
open: _angular_core.ModelSignal<boolean>;
|
|
818
843
|
present: _angular_core.Signal<boolean>;
|
|
819
844
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -936,6 +961,9 @@ declare class RdxComboboxTrigger {
|
|
|
936
961
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
937
962
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
938
963
|
inputValue: _angular_core.ModelSignal<string>;
|
|
964
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
965
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
966
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
939
967
|
open: _angular_core.ModelSignal<boolean>;
|
|
940
968
|
present: _angular_core.Signal<boolean>;
|
|
941
969
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -1039,6 +1067,9 @@ declare class RdxComboboxClear {
|
|
|
1039
1067
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
1040
1068
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
1041
1069
|
inputValue: _angular_core.ModelSignal<string>;
|
|
1070
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1071
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
1072
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
1042
1073
|
open: _angular_core.ModelSignal<boolean>;
|
|
1043
1074
|
present: _angular_core.Signal<boolean>;
|
|
1044
1075
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -1171,6 +1202,9 @@ declare class RdxComboboxBackdrop {
|
|
|
1171
1202
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
1172
1203
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
1173
1204
|
inputValue: _angular_core.ModelSignal<string>;
|
|
1205
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1206
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
1207
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
1174
1208
|
open: _angular_core.ModelSignal<boolean>;
|
|
1175
1209
|
present: _angular_core.Signal<boolean>;
|
|
1176
1210
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -1275,6 +1309,9 @@ declare class RdxComboboxPopup {
|
|
|
1275
1309
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
1276
1310
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
1277
1311
|
inputValue: _angular_core.ModelSignal<string>;
|
|
1312
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1313
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
1314
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
1278
1315
|
open: _angular_core.ModelSignal<boolean>;
|
|
1279
1316
|
present: _angular_core.Signal<boolean>;
|
|
1280
1317
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -1386,6 +1423,9 @@ declare class RdxComboboxList {
|
|
|
1386
1423
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
1387
1424
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
1388
1425
|
inputValue: _angular_core.ModelSignal<string>;
|
|
1426
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1427
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
1428
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
1389
1429
|
open: _angular_core.ModelSignal<boolean>;
|
|
1390
1430
|
present: _angular_core.Signal<boolean>;
|
|
1391
1431
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -1588,6 +1628,7 @@ declare class RdxComboboxGroup {
|
|
|
1588
1628
|
private readonly rootContext;
|
|
1589
1629
|
readonly labelId: _angular_core.WritableSignal<string | undefined>;
|
|
1590
1630
|
private readonly items;
|
|
1631
|
+
private readonly itemsTick;
|
|
1591
1632
|
protected readonly hasItems: _angular_core.Signal<boolean>;
|
|
1592
1633
|
protected readonly hasVisibleItems: _angular_core.Signal<boolean>;
|
|
1593
1634
|
registerItem(item: ComboboxItemRef): void;
|
|
@@ -1638,6 +1679,9 @@ declare class RdxComboboxEmpty {
|
|
|
1638
1679
|
dir: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_core.Direction>;
|
|
1639
1680
|
value: _angular_core.ModelSignal<_radix_ng_primitives_combobox.ComboboxValue>;
|
|
1640
1681
|
inputValue: _angular_core.ModelSignal<string>;
|
|
1682
|
+
name: _angular_core.InputSignal<string | undefined>;
|
|
1683
|
+
form: _angular_core.InputSignal<string | undefined>;
|
|
1684
|
+
inputOwnsFormValue: _angular_core.Signal<boolean>;
|
|
1641
1685
|
open: _angular_core.ModelSignal<boolean>;
|
|
1642
1686
|
present: _angular_core.Signal<boolean>;
|
|
1643
1687
|
multiple: _angular_core.Signal<boolean>;
|
|
@@ -197,6 +197,8 @@ interface RdxNgControlState {
|
|
|
197
197
|
readonly errors: Signal<readonly RdxValidationError[]>;
|
|
198
198
|
readonly dirty: Signal<boolean>;
|
|
199
199
|
readonly touched: Signal<boolean>;
|
|
200
|
+
/** Resets a connected Reactive/template-driven control; returns whether one was connected. */
|
|
201
|
+
reset(value: unknown): boolean;
|
|
200
202
|
}
|
|
201
203
|
/**
|
|
202
204
|
* Lazily connects to the same-host `NgControl` without creating a circular dependency while Angular
|
|
@@ -773,8 +775,9 @@ type ItemValueComparator<T = unknown> = ((a: T, b: T) => boolean) | string;
|
|
|
773
775
|
*/
|
|
774
776
|
declare function itemToStringLabel(value: unknown): string;
|
|
775
777
|
/**
|
|
776
|
-
* Converts an item value to the string used for form serialization.
|
|
777
|
-
*
|
|
778
|
+
* Converts an item value to the string used for form serialization. A conventional `{ value, label }`
|
|
779
|
+
* item serializes its `value` member; other non-string values use Base UI-compatible JSON serialization
|
|
780
|
+
* with `String()` as a fallback. Kept separate so a primitive can diverge label vs. value.
|
|
778
781
|
*/
|
|
779
782
|
declare function itemToStringValue(value: unknown): string;
|
|
780
783
|
/**
|
|
@@ -1083,6 +1086,12 @@ declare abstract class RdxFormUiControlBase {
|
|
|
1083
1086
|
* (Signal-Forms-only controls such as date-field).
|
|
1084
1087
|
*/
|
|
1085
1088
|
protected formUiTouchTarget(): RdxFormUiTouchTarget | null;
|
|
1089
|
+
/**
|
|
1090
|
+
* Resets a same-host Reactive/template-driven control without reporting the reset as a user edit.
|
|
1091
|
+
* Returns `false` when no Angular `NgControl` is connected, so a control can fall back to its CVA
|
|
1092
|
+
* change callback for an unusually early native reset.
|
|
1093
|
+
*/
|
|
1094
|
+
protected resetNgControl(value: unknown): boolean;
|
|
1086
1095
|
/**
|
|
1087
1096
|
* Reset control-owned interaction state. Angular Signal Forms calls this optional custom-control
|
|
1088
1097
|
* hook from `FieldState.reset()` after restoring the field value.
|
|
@@ -1795,6 +1804,55 @@ declare function elementSize({ elementRef, injector }: {
|
|
|
1795
1804
|
*/
|
|
1796
1805
|
declare function getActiveElement(root?: DocumentOrShadowRoot): Element | null;
|
|
1797
1806
|
|
|
1807
|
+
/** Configuration for a composite control that participates in a native HTML form. */
|
|
1808
|
+
interface RdxNativeFormControlOptions<T> {
|
|
1809
|
+
/** Form-field name. No value is contributed while it is absent. */
|
|
1810
|
+
readonly name: Signal<string | undefined>;
|
|
1811
|
+
/** Optional id of an external owning form. */
|
|
1812
|
+
readonly form: Signal<string | undefined>;
|
|
1813
|
+
/** Disabled controls are excluded from successful form controls. */
|
|
1814
|
+
readonly disabled: Signal<boolean>;
|
|
1815
|
+
/** Current control value, used when the form constructs `FormData`. */
|
|
1816
|
+
readonly value?: Signal<T>;
|
|
1817
|
+
/** Converts a value to one or more form entries. Omit for controls with their own native inputs. */
|
|
1818
|
+
readonly serialize?: (value: T) => readonly string[];
|
|
1819
|
+
/** Whether a consumer-rendered native input currently owns serialization. */
|
|
1820
|
+
readonly hasNativeControl?: Signal<boolean>;
|
|
1821
|
+
/** Synchronizes a consumer-rendered native control immediately before an imperative submit. */
|
|
1822
|
+
readonly syncNativeControl?: () => void;
|
|
1823
|
+
/** Value restored by a native form reset. Captured once after inputs bind. */
|
|
1824
|
+
readonly defaultValue?: () => T;
|
|
1825
|
+
/** Applies the captured default value after a native form reset. */
|
|
1826
|
+
readonly onReset?: (value: T) => void;
|
|
1827
|
+
}
|
|
1828
|
+
/** Imperative operations needed by controls that submit immediately after a value change. */
|
|
1829
|
+
interface RdxNativeFormControl {
|
|
1830
|
+
/** The current owning form, including an external form selected by the `form` input. */
|
|
1831
|
+
ownerForm(): HTMLFormElement | null;
|
|
1832
|
+
/** Synchronizes generated/native controls with the current signals. */
|
|
1833
|
+
sync(): void;
|
|
1834
|
+
/** Synchronizes the value and requests submission from the owning form. */
|
|
1835
|
+
requestSubmit(): void;
|
|
1836
|
+
}
|
|
1837
|
+
/**
|
|
1838
|
+
* Converts a scalar or array model to HTML form values. `null` and `undefined` represent no
|
|
1839
|
+
* successful control; arrays deliberately become repeated entries under the same field name.
|
|
1840
|
+
*/
|
|
1841
|
+
declare function serializeNativeFormValue(value: unknown, itemToStringValue?: (entry: unknown) => string): readonly string[];
|
|
1842
|
+
/**
|
|
1843
|
+
* Adds native form semantics to a composite control, rendering hidden inputs only when the control
|
|
1844
|
+
* has no native successful control of its own.
|
|
1845
|
+
*
|
|
1846
|
+
* A hidden input is necessary for a headless root to enter the platform's successful-controls tree
|
|
1847
|
+
* (including older engines that do not dispatch `formdata` for `new FormData(form)`). One input is
|
|
1848
|
+
* created per serialized value, preserving repeated-field semantics; controls with their own native
|
|
1849
|
+
* input use this solely for reset and imperative-submit coordination.
|
|
1850
|
+
*
|
|
1851
|
+
* Generated inputs are browser-only. Rendering imperative sibling nodes on the server would put DOM
|
|
1852
|
+
* outside Angular's hydration graph; the client creates them after its view has been claimed instead.
|
|
1853
|
+
*/
|
|
1854
|
+
declare function useNativeFormControl<T>(options: RdxNativeFormControlOptions<T>): RdxNativeFormControl;
|
|
1855
|
+
|
|
1798
1856
|
/**
|
|
1799
1857
|
* Creates a resize observer effect for element
|
|
1800
1858
|
*
|
|
@@ -2114,5 +2172,5 @@ declare enum RdxPositionAlign {
|
|
|
2114
2172
|
End = "end"
|
|
2115
2173
|
}
|
|
2116
2174
|
|
|
2117
|
-
export { A, ALT, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ASTERISK, BACKSPACE, CAPS_LOCK, CONTROL, CTRL, DELETE, DOCS_BASE_URL, END, ENTER, ESCAPE, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, HOME, META, P, PAGE_DOWN, PAGE_UP, RDX_DEFAULT_VALIDATION_MODE, RDX_FIELD_VALIDITY, RDX_FLOATING_REGISTRATION, RDX_FLOATING_ROOT_CONTEXT, RDX_FLOATING_TREE, RDX_FORM_UI_STATE, RDX_INTERNAL_BACKDROP_ATTR, RDX_SCROLL_LOCKED_ATTR, RdxControlValueAccessor, RdxFloatingNode, RdxFloatingNodeRegistration, RdxFloatingRegistrationContext, RdxFloatingRootContext, RdxFloatingTree, RdxFormUiControlBase, RdxFormUiStateHost, RdxIdGenerator, RdxLiveAnnouncer, RdxPositionAlign, RdxPositionSide, RdxTriggerRegistry, SHIFT, SPACE, SPACE_CODE, TAB, TIME_GRANULARITIES, a, areAllDaysBetweenValid, clamp, createCancelableChangeEventDetails, createContent, createContext, createFloatingEvents, createFloatingRootContext, createFormUiState, createFormatter, createMonth, createMonths, docsUrl, elementSize, formUiStateContext, getActiveElement, getDaysBetween, getDaysInMonth, getDefaultDate, getDefaultTime, getLastFirstDayOfWeek, getMaxTransitionDuration, getNextLastDayOfWeek, getOptsByGranularity, getPlaceholder, getSegmentElements, getWeekNumber, handleAndDispatchCustomEvent, handleCalendarInitialFocus, hasTime, initializeSegmentValues, injectControlValueAccessor, injectDocument, injectFloatingRootContext, injectId, injectNgControlState, isAcceptableSegmentKey, isAfter, isAfterOrSame, isBefore, isBeforeOrSame, isBetween, isBetweenInclusive, isCalendarDateTime, isEqual, isItemEqualToValue, isNullish, isNumberString, isSegmentNavigationKey, isValidationRevealed, isZonedDateTime, itemToStringLabel, itemToStringValue, j, k, n, normalizeDateStep, normalizeHour12, normalizeHourCycle, p, provideExistingToken, provideFloatingRegistration, provideFloatingRootContext, provideFloatingTree, provideFormUiState, provideValueAccessor, rdxCheckLabelElement, rdxCheckTriggerElement, rdxDevError, rdxDevWarning, resetRdxDevWarnings, resizeEffect, resolveDisplayValid, resolveFloatingTree, roundToStepPrecision, segmentBuilders, setupInternalBackdrop, snapValueToStep, syncSegmentValues, syncTimeSegmentValues, toDate, useAnchoredScrollLock, useArrowNavigation, useDateField, useFilter, useGraceArea, useListHighlight, usePointerDrag, useScrollLock, useTransitionStatus, watch };
|
|
2118
|
-
export type { AcceptableValue, AnyExceptLiteral, AriaLivePoliteness, BooleanInput, CreateMonthProps, DataOrientation, DateAndTimeSegmentObj, DateFormatterOptions, DateMatcher, DateRange, DateSegmentObj, DateSegmentPart, DateStep, DayPeriod, Direction, EditableSegmentPart, FilterPredicates, Formatter, Granularity, HourCycle, InjectContext, ItemValueComparator, ListHighlight, Month, NonEditableSegmentPart, Nullable, NumberInput, PlaceholderMap, RdxAnchoredScrollLockOptions, RdxCancelableChangeEventDetails, RdxCancelableChangeEventTransaction, RdxFloatingEventMap, RdxFloatingEvents, RdxFloatingLifecycle, RdxFloatingNodeInit, RdxFloatingParentOverride, RdxFloatingRegistrationReader, RdxFloatingRegistrationStatus, RdxFloatingRootContextEventMap, RdxFloatingRootContextInit, RdxFormCheckboxControl, RdxFormStateInput, RdxFormUiControl, RdxFormUiState, RdxFormUiStateContext, RdxFormUiStateOptions, RdxFormUiTouchTarget, RdxFormValueControl, RdxInternalBackdropOptions, RdxNgControlState, RdxPointerDragHandlers, RdxScrollLockOptions, RdxTransitionStatus, RdxTransitionStatusRef, RdxValidationError, RdxValidationInteraction, RdxValidationMode, SafeFunction, SegmentContentObj, SegmentPart, SegmentValueObj, TimeGranularity, TimeSegmentObj, TimeSegmentPart, TimeValue, UseDateFieldProps, UseFilterOptions, UseListHighlightOptions };
|
|
2175
|
+
export { A, ALT, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, ASTERISK, BACKSPACE, CAPS_LOCK, CONTROL, CTRL, DELETE, DOCS_BASE_URL, END, ENTER, ESCAPE, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, HOME, META, P, PAGE_DOWN, PAGE_UP, RDX_DEFAULT_VALIDATION_MODE, RDX_FIELD_VALIDITY, RDX_FLOATING_REGISTRATION, RDX_FLOATING_ROOT_CONTEXT, RDX_FLOATING_TREE, RDX_FORM_UI_STATE, RDX_INTERNAL_BACKDROP_ATTR, RDX_SCROLL_LOCKED_ATTR, RdxControlValueAccessor, RdxFloatingNode, RdxFloatingNodeRegistration, RdxFloatingRegistrationContext, RdxFloatingRootContext, RdxFloatingTree, RdxFormUiControlBase, RdxFormUiStateHost, RdxIdGenerator, RdxLiveAnnouncer, RdxPositionAlign, RdxPositionSide, RdxTriggerRegistry, SHIFT, SPACE, SPACE_CODE, TAB, TIME_GRANULARITIES, a, areAllDaysBetweenValid, clamp, createCancelableChangeEventDetails, createContent, createContext, createFloatingEvents, createFloatingRootContext, createFormUiState, createFormatter, createMonth, createMonths, docsUrl, elementSize, formUiStateContext, getActiveElement, getDaysBetween, getDaysInMonth, getDefaultDate, getDefaultTime, getLastFirstDayOfWeek, getMaxTransitionDuration, getNextLastDayOfWeek, getOptsByGranularity, getPlaceholder, getSegmentElements, getWeekNumber, handleAndDispatchCustomEvent, handleCalendarInitialFocus, hasTime, initializeSegmentValues, injectControlValueAccessor, injectDocument, injectFloatingRootContext, injectId, injectNgControlState, isAcceptableSegmentKey, isAfter, isAfterOrSame, isBefore, isBeforeOrSame, isBetween, isBetweenInclusive, isCalendarDateTime, isEqual, isItemEqualToValue, isNullish, isNumberString, isSegmentNavigationKey, isValidationRevealed, isZonedDateTime, itemToStringLabel, itemToStringValue, j, k, n, normalizeDateStep, normalizeHour12, normalizeHourCycle, p, provideExistingToken, provideFloatingRegistration, provideFloatingRootContext, provideFloatingTree, provideFormUiState, provideValueAccessor, rdxCheckLabelElement, rdxCheckTriggerElement, rdxDevError, rdxDevWarning, resetRdxDevWarnings, resizeEffect, resolveDisplayValid, resolveFloatingTree, roundToStepPrecision, segmentBuilders, serializeNativeFormValue, setupInternalBackdrop, snapValueToStep, syncSegmentValues, syncTimeSegmentValues, toDate, useAnchoredScrollLock, useArrowNavigation, useDateField, useFilter, useGraceArea, useListHighlight, useNativeFormControl, usePointerDrag, useScrollLock, useTransitionStatus, watch };
|
|
2176
|
+
export type { AcceptableValue, AnyExceptLiteral, AriaLivePoliteness, BooleanInput, CreateMonthProps, DataOrientation, DateAndTimeSegmentObj, DateFormatterOptions, DateMatcher, DateRange, DateSegmentObj, DateSegmentPart, DateStep, DayPeriod, Direction, EditableSegmentPart, FilterPredicates, Formatter, Granularity, HourCycle, InjectContext, ItemValueComparator, ListHighlight, Month, NonEditableSegmentPart, Nullable, NumberInput, PlaceholderMap, RdxAnchoredScrollLockOptions, RdxCancelableChangeEventDetails, RdxCancelableChangeEventTransaction, RdxFloatingEventMap, RdxFloatingEvents, RdxFloatingLifecycle, RdxFloatingNodeInit, RdxFloatingParentOverride, RdxFloatingRegistrationReader, RdxFloatingRegistrationStatus, RdxFloatingRootContextEventMap, RdxFloatingRootContextInit, RdxFormCheckboxControl, RdxFormStateInput, RdxFormUiControl, RdxFormUiState, RdxFormUiStateContext, RdxFormUiStateOptions, RdxFormUiTouchTarget, RdxFormValueControl, RdxInternalBackdropOptions, RdxNativeFormControl, RdxNativeFormControlOptions, RdxNgControlState, RdxPointerDragHandlers, RdxScrollLockOptions, RdxTransitionStatus, RdxTransitionStatusRef, RdxValidationError, RdxValidationInteraction, RdxValidationMode, SafeFunction, SegmentContentObj, SegmentPart, SegmentValueObj, TimeGranularity, TimeSegmentObj, TimeSegmentPart, TimeValue, UseDateFieldProps, UseFilterOptions, UseListHighlightOptions };
|
|
@@ -106,9 +106,9 @@ declare class RdxNumberFieldRoot extends RdxFormUiControlBase implements RdxForm
|
|
|
106
106
|
* @default false
|
|
107
107
|
*/
|
|
108
108
|
readonly required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
109
|
-
/** Name
|
|
109
|
+
/** Name used when serializing this field into native `FormData`. */
|
|
110
110
|
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
111
|
-
/** Id of
|
|
111
|
+
/** Id of an external form that owns this field. */
|
|
112
112
|
readonly form: _angular_core.InputSignal<string | undefined>;
|
|
113
113
|
/** The uncontrolled value of the field when it is initially rendered. */
|
|
114
114
|
readonly defaultValue: _angular_core.InputSignal<number | undefined>;
|
|
@@ -127,6 +127,8 @@ declare class RdxNumberFieldRoot extends RdxFormUiControlBase implements RdxForm
|
|
|
127
127
|
readonly isScrubbing: _angular_core.WritableSignal<boolean>;
|
|
128
128
|
/** @ignore The native input element, registered by `[rdxNumberFieldInput]`. */
|
|
129
129
|
readonly inputEl: _angular_core.WritableSignal<HTMLInputElement | undefined>;
|
|
130
|
+
/** @ignore Optional native number input that owns constraints/autofill and form serialization. */
|
|
131
|
+
readonly nativeInputEl: _angular_core.WritableSignal<HTMLInputElement | null>;
|
|
130
132
|
/**
|
|
131
133
|
* @ignore Gate that prevents the formatted value from overwriting in-progress typing.
|
|
132
134
|
* Plain field (not a signal): it is toggled imperatively inside event handlers.
|
|
@@ -148,6 +150,7 @@ declare class RdxNumberFieldRoot extends RdxFormUiControlBase implements RdxForm
|
|
|
148
150
|
private readonly parser;
|
|
149
151
|
/** @ignore The current numeric value (`null` when empty). */
|
|
150
152
|
readonly currentValue: _angular_core.Signal<number | null>;
|
|
153
|
+
private readonly nativeFormControl;
|
|
151
154
|
/** @ignore */
|
|
152
155
|
readonly minWithDefault: _angular_core.Signal<number>;
|
|
153
156
|
/** @ignore */
|
|
@@ -174,6 +177,8 @@ declare class RdxNumberFieldRoot extends RdxFormUiControlBase implements RdxForm
|
|
|
174
177
|
}): number;
|
|
175
178
|
/** @ignore Registers the native input element. */
|
|
176
179
|
registerInput(el: HTMLInputElement): void;
|
|
180
|
+
/** @ignore Registers the optional native constraint/autofill input. */
|
|
181
|
+
registerNativeInput(el: HTMLInputElement | null): void;
|
|
177
182
|
/** @ignore Sets the displayed text without changing the numeric value. */
|
|
178
183
|
setInputValue(text: string): void;
|
|
179
184
|
/**
|
|
@@ -241,14 +246,16 @@ declare class RdxNumberFieldInput {
|
|
|
241
246
|
}
|
|
242
247
|
|
|
243
248
|
/**
|
|
244
|
-
* The hidden native `input[type=number]` that mirrors the field value for
|
|
245
|
-
*
|
|
246
|
-
* the visible
|
|
249
|
+
* The optional hidden native `input[type=number]` that mirrors the field value for browser constraint
|
|
250
|
+
* validation (min/max/step/required) and autofill. When present it also owns native form serialization;
|
|
251
|
+
* without it the root generates a plain hidden entry. Place it inside the root, alongside the visible
|
|
252
|
+
* `[rdxNumberFieldInput]`.
|
|
247
253
|
*
|
|
248
254
|
* @see https://base-ui.com/react/components/number-field
|
|
249
255
|
*/
|
|
250
256
|
declare class RdxNumberFieldHiddenInput {
|
|
251
257
|
protected readonly rootContext: _radix_ng_primitives_number_field.RdxNumberFieldRoot;
|
|
258
|
+
constructor();
|
|
252
259
|
/** Move focus to the visible input when the hidden one is focused (e.g. via form validation). */
|
|
253
260
|
onFocus(): void;
|
|
254
261
|
/** Handle browser autofill, which writes directly to the hidden numeric input. */
|
|
@@ -20,6 +20,7 @@ interface RadioRootContext {
|
|
|
20
20
|
required: Signal<boolean>;
|
|
21
21
|
name: Signal<string | undefined>;
|
|
22
22
|
form: Signal<string | undefined>;
|
|
23
|
+
registerNativeInput(value: string, input: HTMLInputElement): () => void;
|
|
23
24
|
select(value: string | null, event?: Event, reason?: RdxRadioValueChangeReason): void;
|
|
24
25
|
setArrowNavigation(value: boolean): void;
|
|
25
26
|
isArrowNavigation(): boolean;
|
|
@@ -55,6 +56,8 @@ declare class RdxRadioGroupDirective extends RdxFormUiControlBase implements Con
|
|
|
55
56
|
readonly touchedState: Signal<boolean>;
|
|
56
57
|
readonly dirtyState: Signal<boolean>;
|
|
57
58
|
private readonly arrowNavigation;
|
|
59
|
+
private readonly nativeInputs;
|
|
60
|
+
private readonly selectedItemHasNativeInput;
|
|
58
61
|
private readonly itemMetadata;
|
|
59
62
|
private readonly disabledIndices;
|
|
60
63
|
private readonly activeIndex;
|
|
@@ -98,6 +101,8 @@ declare class RdxRadioGroupDirective extends RdxFormUiControlBase implements Con
|
|
|
98
101
|
setDisabledState(isDisabled: boolean): void;
|
|
99
102
|
setArrowNavigation(value: boolean): void;
|
|
100
103
|
isArrowNavigation(): boolean;
|
|
104
|
+
/** @ignore Register an optional native radio input by its item value. */
|
|
105
|
+
registerNativeInput(value: string, input: HTMLInputElement): () => void;
|
|
101
106
|
/**
|
|
102
107
|
* Marks the control touched when focus leaves the whole group (Base UI `RadioGroup` parity and the
|
|
103
108
|
* ADR 0004 CVA strategy) — moving focus between items stays inside, so `relatedTarget` is checked.
|
|
@@ -128,7 +133,7 @@ declare class RdxRadioItemInputDirective {
|
|
|
128
133
|
private readonly input;
|
|
129
134
|
readonly name: _angular_core.Signal<string | undefined>;
|
|
130
135
|
readonly form: _angular_core.Signal<string | undefined>;
|
|
131
|
-
readonly value: _angular_core.Signal<string
|
|
136
|
+
readonly value: _angular_core.Signal<string>;
|
|
132
137
|
readonly checked: _angular_core.Signal<boolean>;
|
|
133
138
|
readonly required: _angular_core.Signal<boolean>;
|
|
134
139
|
readonly disabled: _angular_core.Signal<boolean>;
|