@radix-ng/primitives 1.0.0-beta.0 → 1.0.0-beta.2
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-accordion.mjs +2 -2
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs +109 -84
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +2 -2
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +1923 -0
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-context-menu.mjs +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +591 -470
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +287 -308
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +66 -15
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +7 -106
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +305 -24
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +86 -6
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-form.mjs +207 -0
- package/fesm2022/radix-ng-primitives-form.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-input.mjs +85 -4
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +413 -5
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +2 -2
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +22 -5
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +923 -0
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-select.mjs +421 -224
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +3 -2
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +12 -3
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +27 -3
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs +839 -0
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +2 -2
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +11 -3
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +18 -2
- package/schematics/ng-add/index.js +57 -0
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +1 -0
- package/schematics/ng-add/schema.json +6 -0
- package/types/radix-ng-primitives-accordion.d.ts +3 -2
- package/types/radix-ng-primitives-calendar.d.ts +38 -18
- package/types/radix-ng-primitives-checkbox.d.ts +5 -5
- package/types/radix-ng-primitives-collapsible.d.ts +2 -1
- package/types/radix-ng-primitives-combobox.d.ts +1265 -0
- package/types/radix-ng-primitives-context-menu.d.ts +3 -2
- package/types/radix-ng-primitives-core.d.ts +187 -56
- package/types/radix-ng-primitives-cropper.d.ts +89 -56
- package/types/radix-ng-primitives-date-field.d.ts +11 -5
- package/types/radix-ng-primitives-dialog.d.ts +2 -1
- package/types/radix-ng-primitives-drawer.d.ts +5 -27
- package/types/radix-ng-primitives-editable.d.ts +90 -13
- package/types/radix-ng-primitives-field.d.ts +74 -4
- package/types/radix-ng-primitives-fieldset.d.ts +3 -2
- package/types/radix-ng-primitives-focus-scope.d.ts +2 -1
- package/types/radix-ng-primitives-form.d.ts +124 -0
- package/types/radix-ng-primitives-input.d.ts +75 -5
- package/types/radix-ng-primitives-menu.d.ts +16 -4
- package/types/radix-ng-primitives-menubar.d.ts +2 -1
- package/types/radix-ng-primitives-meter.d.ts +3 -2
- package/types/radix-ng-primitives-navigation-menu.d.ts +1 -1
- package/types/radix-ng-primitives-number-field.d.ts +6 -6
- package/types/radix-ng-primitives-popover.d.ts +2 -1
- package/types/radix-ng-primitives-popper.d.ts +19 -2
- package/types/radix-ng-primitives-preview-card.d.ts +1 -1
- package/types/radix-ng-primitives-progress.d.ts +3 -2
- package/types/radix-ng-primitives-roving-focus.d.ts +4 -3
- package/types/radix-ng-primitives-scroll-area.d.ts +253 -0
- package/types/radix-ng-primitives-select.d.ts +296 -136
- package/types/radix-ng-primitives-slider.d.ts +1 -1
- package/types/radix-ng-primitives-switch.d.ts +1 -1
- package/types/radix-ng-primitives-tabs.d.ts +1 -1
- package/types/radix-ng-primitives-toast.d.ts +378 -0
- package/types/radix-ng-primitives-toggle-group.d.ts +2 -1
- package/types/radix-ng-primitives-toolbar.d.ts +3 -2
- package/types/radix-ng-primitives-tooltip.d.ts +3 -2
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { RdxFormValueControl, BooleanInput } from '@radix-ng/primitives/core';
|
|
2
|
+
import { RdxFormValueControl, BooleanInput, RdxValidationError, NumberInput } from '@radix-ng/primitives/core';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The input value. Native text inputs always produce strings, so the model is
|
|
6
|
+
* `string` — matching Signal Forms' `FormValueControl<string>` round-trip.
|
|
7
|
+
*/
|
|
8
|
+
type RdxInputValue = string;
|
|
5
9
|
interface RdxInputValueChangeEventDetails {
|
|
6
10
|
event: Event;
|
|
7
11
|
cancel: () => void;
|
|
@@ -24,30 +28,44 @@ declare class RdxInputDirective implements RdxFormValueControl<RdxInputValue | u
|
|
|
24
28
|
private defaultValueApplied;
|
|
25
29
|
private readonly filledValue;
|
|
26
30
|
private readonly focusedValue;
|
|
31
|
+
private readonly dirtyValue;
|
|
27
32
|
/**
|
|
28
33
|
* The input id. Field labels and descriptions use this value for accessible relationships.
|
|
29
34
|
*
|
|
30
35
|
* @group Props
|
|
31
36
|
*/
|
|
32
37
|
readonly id: _angular_core.InputSignal<string>;
|
|
38
|
+
/**
|
|
39
|
+
* The name of the input, submitted with the form data and used by Form-level
|
|
40
|
+
* error matching.
|
|
41
|
+
*
|
|
42
|
+
* @group Props
|
|
43
|
+
*/
|
|
44
|
+
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
33
45
|
/**
|
|
34
46
|
* The controlled input value.
|
|
35
47
|
*
|
|
36
48
|
* @group Props
|
|
37
49
|
*/
|
|
38
|
-
readonly value: _angular_core.ModelSignal<
|
|
50
|
+
readonly value: _angular_core.ModelSignal<string | undefined>;
|
|
39
51
|
/**
|
|
40
52
|
* The initial value when the input is uncontrolled.
|
|
41
53
|
*
|
|
42
54
|
* @group Props
|
|
43
55
|
*/
|
|
44
|
-
readonly defaultValue: _angular_core.InputSignal<
|
|
56
|
+
readonly defaultValue: _angular_core.InputSignal<string | undefined>;
|
|
45
57
|
/**
|
|
46
58
|
* Whether the input is disabled.
|
|
47
59
|
*
|
|
48
60
|
* @group Props
|
|
49
61
|
*/
|
|
50
62
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the input is read-only.
|
|
65
|
+
*
|
|
66
|
+
* @group Props
|
|
67
|
+
*/
|
|
68
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
51
69
|
/**
|
|
52
70
|
* Whether the input is required.
|
|
53
71
|
*
|
|
@@ -60,17 +78,69 @@ declare class RdxInputDirective implements RdxFormValueControl<RdxInputValue | u
|
|
|
60
78
|
* @group Props
|
|
61
79
|
*/
|
|
62
80
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
81
|
+
/**
|
|
82
|
+
* Whether the input has been touched. A two-way model: the input sets it on
|
|
83
|
+
* blur (emitting `touchedChange`, which Signal Forms' `[formField]` listens
|
|
84
|
+
* to), and a form system can write it back.
|
|
85
|
+
*
|
|
86
|
+
* @group Props
|
|
87
|
+
*/
|
|
88
|
+
readonly touched: _angular_core.ModelSignal<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the input value has changed from its initial value. Merged with the
|
|
91
|
+
* internally tracked state; a form system can own it through this input.
|
|
92
|
+
*
|
|
93
|
+
* @group Props
|
|
94
|
+
*/
|
|
95
|
+
readonly dirty: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
96
|
+
/**
|
|
97
|
+
* Validation errors for the input. A non-empty list marks the input invalid.
|
|
98
|
+
*
|
|
99
|
+
* @group Props
|
|
100
|
+
*/
|
|
101
|
+
readonly errors: _angular_core.InputSignal<readonly RdxValidationError[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Minimum number of characters.
|
|
104
|
+
*
|
|
105
|
+
* @group Props
|
|
106
|
+
*/
|
|
107
|
+
readonly minLength: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
|
|
108
|
+
/**
|
|
109
|
+
* Maximum number of characters.
|
|
110
|
+
*
|
|
111
|
+
* @group Props
|
|
112
|
+
*/
|
|
113
|
+
readonly maxLength: _angular_core.InputSignalWithTransform<number | undefined, NumberInput>;
|
|
114
|
+
/**
|
|
115
|
+
* Patterns the value must match. Reflected to the native `pattern` attribute
|
|
116
|
+
* only when exactly one pattern is provided (the attribute holds a single regex).
|
|
117
|
+
*
|
|
118
|
+
* @group Props
|
|
119
|
+
*/
|
|
120
|
+
readonly pattern: _angular_core.InputSignal<readonly RegExp[]>;
|
|
63
121
|
/**
|
|
64
122
|
* Emits when the input value changes.
|
|
65
123
|
*
|
|
66
124
|
* @group Emits
|
|
67
125
|
*/
|
|
68
126
|
readonly onValueChange: _angular_core.OutputEmitterRef<RdxInputValueChangeEvent>;
|
|
127
|
+
/**
|
|
128
|
+
* Emits on blur, notifying a form system the input was touched. Stable
|
|
129
|
+
* Angular 22 Signal Forms listens to this `touch` output; the 21.x
|
|
130
|
+
* experimental implementation listens to the `touched` model's
|
|
131
|
+
* `touchedChange` instead — both are emitted, covering either version.
|
|
132
|
+
*
|
|
133
|
+
* @group Emits
|
|
134
|
+
*/
|
|
135
|
+
readonly touch: _angular_core.OutputEmitterRef<void>;
|
|
69
136
|
protected readonly invalidState: _angular_core.Signal<boolean>;
|
|
70
137
|
protected readonly disabledState: _angular_core.Signal<boolean>;
|
|
71
138
|
protected readonly requiredState: _angular_core.Signal<boolean>;
|
|
72
139
|
protected readonly filledState: _angular_core.Signal<boolean>;
|
|
73
140
|
protected readonly focusedState: _angular_core.Signal<boolean>;
|
|
141
|
+
protected readonly touchedState: _angular_core.Signal<boolean>;
|
|
142
|
+
protected readonly dirtyState: _angular_core.Signal<boolean>;
|
|
143
|
+
protected readonly patternAttr: _angular_core.Signal<string | undefined>;
|
|
74
144
|
protected readonly describedBy: _angular_core.Signal<string | undefined>;
|
|
75
145
|
constructor();
|
|
76
146
|
onFocus(): void;
|
|
@@ -80,7 +150,7 @@ declare class RdxInputDirective implements RdxFormValueControl<RdxInputValue | u
|
|
|
80
150
|
private writeValue;
|
|
81
151
|
protected readonly dataAttr: (value: boolean) => "" | undefined;
|
|
82
152
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxInputDirective, never>;
|
|
83
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxInputDirective, "input[rdxInput]", ["rdxInput"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, never>;
|
|
153
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxInputDirective, "input[rdxInput]", ["rdxInput"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "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; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "dirty": { "alias": "dirty"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "onValueChange": "onValueChange"; "touch": "touch"; }, never, never, true, never>;
|
|
84
154
|
}
|
|
85
155
|
|
|
86
156
|
export { RdxInputDirective };
|
|
@@ -34,6 +34,8 @@ interface RdxMenuRootContext {
|
|
|
34
34
|
isSubmenu: Signal<boolean>;
|
|
35
35
|
hasTriggerInteractionHandler: Signal<boolean>;
|
|
36
36
|
trigger: Signal<HTMLElement | undefined>;
|
|
37
|
+
/** The popup element, once mounted. Used by submenu safe-polygon geometry. */
|
|
38
|
+
popupElement: Signal<HTMLElement | undefined>;
|
|
37
39
|
transitionStatus: Signal<RdxMenuTransitionStatus>;
|
|
38
40
|
close: () => void;
|
|
39
41
|
toggle: () => void;
|
|
@@ -41,6 +43,7 @@ interface RdxMenuRootContext {
|
|
|
41
43
|
/** Open the menu without moving focus into the popup (used for menubar hover-switching). */
|
|
42
44
|
showWithoutAutoFocus: () => void;
|
|
43
45
|
registerTrigger: (el: HTMLElement) => () => void;
|
|
46
|
+
registerPopup: (el: HTMLElement) => () => void;
|
|
44
47
|
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
45
48
|
registerPopupArrowNavigationHandler: (handler: (offset: 1 | -1) => boolean) => () => void;
|
|
46
49
|
registerTriggerInteractionHandler: (handler: RdxMenuTriggerInteractionHandler) => () => void;
|
|
@@ -77,7 +80,7 @@ type RdxMenuTriggerInteraction = {
|
|
|
77
80
|
event: Event;
|
|
78
81
|
};
|
|
79
82
|
type RdxMenuTriggerInteractionHandler = (interaction: RdxMenuTriggerInteraction) => boolean;
|
|
80
|
-
declare const injectRdxMenuRootContext:
|
|
83
|
+
declare const injectRdxMenuRootContext: _radix_ng_primitives_core.InjectContext<RdxMenuRootContext>;
|
|
81
84
|
declare const provideRdxMenuRootContext: (useFactory: () => RdxMenuRootContext) => _angular_core.Provider;
|
|
82
85
|
/**
|
|
83
86
|
* Groups all parts of a menu.
|
|
@@ -111,6 +114,7 @@ declare class RdxMenuRoot {
|
|
|
111
114
|
/** Emits when the open/close CSS transition or animation finishes. */
|
|
112
115
|
readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
|
|
113
116
|
readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
117
|
+
readonly popupElement: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
114
118
|
readonly transitionStatus: Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
115
119
|
/** Whether the popup grabs focus when it opens. Set false for menubar hover-switching. */
|
|
116
120
|
readonly autoFocus: _angular_core.WritableSignal<RdxMenuAutoFocus>;
|
|
@@ -122,6 +126,7 @@ declare class RdxMenuRoot {
|
|
|
122
126
|
close(): void;
|
|
123
127
|
toggle(): void;
|
|
124
128
|
registerTrigger(el: HTMLElement): () => void;
|
|
129
|
+
registerPopup(el: HTMLElement): () => void;
|
|
125
130
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
126
131
|
registerPopupArrowNavigationHandler(handler: (offset: 1 | -1) => boolean): () => void;
|
|
127
132
|
handlePopupArrowNavigation(offset: 1 | -1): boolean;
|
|
@@ -186,8 +191,14 @@ declare class RdxMenuSubTrigger {
|
|
|
186
191
|
private readonly submenuRoot;
|
|
187
192
|
private readonly elementRef;
|
|
188
193
|
private readonly destroyRef;
|
|
194
|
+
private readonly isBrowser;
|
|
189
195
|
private readonly isFocused;
|
|
190
196
|
private openTimer;
|
|
197
|
+
private closeTimer;
|
|
198
|
+
/** Cursor position from the last pointer move over the trigger (safe-polygon apex). */
|
|
199
|
+
private lastPointer;
|
|
200
|
+
/** Whether the current open was initiated by hover (vs keyboard / click). */
|
|
201
|
+
private openedByHover;
|
|
191
202
|
/** Whether this trigger (and therefore the submenu) is disabled. */
|
|
192
203
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
193
204
|
/** Whether this trigger should be treated as a native button. Auto-detected for `<button>`. */
|
|
@@ -204,6 +215,7 @@ declare class RdxMenuSubTrigger {
|
|
|
204
215
|
protected readonly highlighted: _angular_core.Signal<boolean>;
|
|
205
216
|
protected readonly nativeButtonState: _angular_core.Signal<boolean>;
|
|
206
217
|
constructor();
|
|
218
|
+
private scheduleClose;
|
|
207
219
|
protected onFocus(): void;
|
|
208
220
|
protected onBlur(): void;
|
|
209
221
|
protected onClick(): void;
|
|
@@ -481,7 +493,7 @@ declare function getCheckedState(checked: CheckedState): 'checked' | 'unchecked'
|
|
|
481
493
|
interface RdxMenuCheckboxItemContext {
|
|
482
494
|
checked: Signal<CheckedState>;
|
|
483
495
|
}
|
|
484
|
-
declare const injectRdxMenuCheckboxItemContext:
|
|
496
|
+
declare const injectRdxMenuCheckboxItemContext: _radix_ng_primitives_core.InjectContext<RdxMenuCheckboxItemContext>;
|
|
485
497
|
declare const provideRdxMenuCheckboxItemContext: (useFactory: () => RdxMenuCheckboxItemContext) => _angular_core.Provider;
|
|
486
498
|
/**
|
|
487
499
|
* A menu item that can be checked or unchecked.
|
|
@@ -532,7 +544,7 @@ interface RdxMenuRadioGroupContext {
|
|
|
532
544
|
value: Signal<string | undefined>;
|
|
533
545
|
selectValue: (value: string) => void;
|
|
534
546
|
}
|
|
535
|
-
declare const injectRdxMenuRadioGroupContext:
|
|
547
|
+
declare const injectRdxMenuRadioGroupContext: _radix_ng_primitives_core.InjectContext<RdxMenuRadioGroupContext>;
|
|
536
548
|
declare const provideRdxMenuRadioGroupContext: (useFactory: () => RdxMenuRadioGroupContext) => _angular_core.Provider;
|
|
537
549
|
/**
|
|
538
550
|
* Groups radio items in a menu.
|
|
@@ -554,7 +566,7 @@ declare class RdxMenuRadioGroup {
|
|
|
554
566
|
interface RdxMenuRadioItemContext {
|
|
555
567
|
checked: Signal<boolean>;
|
|
556
568
|
}
|
|
557
|
-
declare const injectRdxMenuRadioItemContext:
|
|
569
|
+
declare const injectRdxMenuRadioItemContext: _radix_ng_primitives_core.InjectContext<RdxMenuRadioItemContext>;
|
|
558
570
|
declare const provideRdxMenuRadioItemContext: (useFactory: () => RdxMenuRadioItemContext) => _angular_core.Provider;
|
|
559
571
|
/**
|
|
560
572
|
* A radio item within a menu radio group.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal } from '@angular/core';
|
|
3
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
3
4
|
import { BooleanInput } from '@radix-ng/primitives/core';
|
|
4
5
|
|
|
5
6
|
type RdxMenubarOrientation = 'horizontal' | 'vertical';
|
|
@@ -14,7 +15,7 @@ interface RdxMenubarContext {
|
|
|
14
15
|
focusAdjacent: (currentId: string, offset: 1 | -1, openOnMove: boolean) => void;
|
|
15
16
|
focusBoundary: (boundary: 'first' | 'last', openOnMove: boolean) => void;
|
|
16
17
|
}
|
|
17
|
-
declare const injectRdxMenubarContext:
|
|
18
|
+
declare const injectRdxMenubarContext: _radix_ng_primitives_core.InjectContext<RdxMenubarContext>;
|
|
18
19
|
declare const provideRdxMenubarContext: (useFactory: () => RdxMenubarContext) => _angular_core.Provider;
|
|
19
20
|
/**
|
|
20
21
|
* Container for a horizontal application menu bar.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
2
3
|
|
|
3
4
|
type MeterValueFormatter = (formattedValue: string, value: number) => string;
|
|
4
5
|
interface MeterProps {
|
|
@@ -21,7 +22,7 @@ declare const meterRootContext: () => {
|
|
|
21
22
|
ariaValueTextState: _angular_core.Signal<string | undefined>;
|
|
22
23
|
};
|
|
23
24
|
type RdxMeterRootContext = ReturnType<typeof meterRootContext>;
|
|
24
|
-
declare const injectMeterRootContext:
|
|
25
|
+
declare const injectMeterRootContext: _radix_ng_primitives_core.InjectContext<{
|
|
25
26
|
labelId: _angular_core.InputSignal<string>;
|
|
26
27
|
valueId: _angular_core.InputSignal<string>;
|
|
27
28
|
minState: _angular_core.Signal<number>;
|
|
@@ -30,7 +31,7 @@ declare const injectMeterRootContext: (optional?: boolean) => {
|
|
|
30
31
|
percentageState: _angular_core.Signal<number>;
|
|
31
32
|
formattedValueState: _angular_core.Signal<string>;
|
|
32
33
|
ariaValueTextState: _angular_core.Signal<string | undefined>;
|
|
33
|
-
}
|
|
34
|
+
}>;
|
|
34
35
|
declare const provideMeterRootContext: (useFactory: () => {
|
|
35
36
|
labelId: _angular_core.InputSignal<string>;
|
|
36
37
|
valueId: _angular_core.InputSignal<string>;
|
|
@@ -75,7 +75,7 @@ interface RdxNavigationMenuRootContext {
|
|
|
75
75
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
76
76
|
registerViewport(onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void): () => void;
|
|
77
77
|
}
|
|
78
|
-
declare const injectNavigationMenuRootContext:
|
|
78
|
+
declare const injectNavigationMenuRootContext: _radix_ng_primitives_core.InjectContext<RdxNavigationMenuRootContext>;
|
|
79
79
|
declare const provideNavigationMenuRootContext: (useFactory: () => RdxNavigationMenuRootContext) => _angular_core.Provider;
|
|
80
80
|
|
|
81
81
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
4
|
import { RdxFormValueControl, RdxControlValueAccessor, NumberInput, BooleanInput } from '@radix-ng/primitives/core';
|
|
5
5
|
import * as _radix_ng_primitives_number_field from '@radix-ng/primitives/number-field';
|
|
6
6
|
import { NumberFormatter, NumberParser } from '@internationalized/number';
|
|
7
|
-
import * as i1
|
|
7
|
+
import * as i1 from '@radix-ng/primitives/portal';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* The software keyboard hint shown on touch devices, mapped to the input's `inputmode` attribute.
|
|
@@ -188,7 +188,7 @@ declare class RdxNumberFieldRoot implements RdxFormValueControl<number | null> {
|
|
|
188
188
|
commitValue(value: number | null): void;
|
|
189
189
|
private applyValue;
|
|
190
190
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNumberFieldRoot, never>;
|
|
191
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNumberFieldRoot, "div[rdxNumberFieldRoot]", ["rdxNumberFieldRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "smallStep": { "alias": "smallStep"; "required": false; "isSignal": true; }; "largeStep": { "alias": "largeStep"; "required": false; "isSignal": true; }; "snapOnStep": { "alias": "snapOnStep"; "required": false; "isSignal": true; }; "allowOutOfRange": { "alias": "allowOutOfRange"; "required": false; "isSignal": true; }; "allowWheelScrub": { "alias": "allowWheelScrub"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "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; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; "onValueCommitted": "onValueCommitted"; }, never, never, true, [{ directive: typeof
|
|
191
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNumberFieldRoot, "div[rdxNumberFieldRoot]", ["rdxNumberFieldRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "smallStep": { "alias": "smallStep"; "required": false; "isSignal": true; }; "largeStep": { "alias": "largeStep"; "required": false; "isSignal": true; }; "snapOnStep": { "alias": "snapOnStep"; "required": false; "isSignal": true; }; "allowOutOfRange": { "alias": "allowOutOfRange"; "required": false; "isSignal": true; }; "allowWheelScrub": { "alias": "allowWheelScrub"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "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; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; "onValueCommitted": "onValueCommitted"; }, never, never, true, [{ directive: typeof _radix_ng_primitives_core.RdxControlValueAccessor; inputs: { "value": "value"; "disabled": "disabled"; }; outputs: {}; }]>;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
/**
|
|
@@ -379,7 +379,7 @@ interface RdxNumberFieldScrubAreaContext {
|
|
|
379
379
|
*
|
|
380
380
|
* @see https://base-ui.com/react/components/number-field
|
|
381
381
|
*/
|
|
382
|
-
declare const injectNumberFieldScrubAreaContext:
|
|
382
|
+
declare const injectNumberFieldScrubAreaContext: _radix_ng_primitives_core.InjectContext<RdxNumberFieldScrubAreaContext>;
|
|
383
383
|
declare const provideNumberFieldScrubAreaContext: (useFactory: () => RdxNumberFieldScrubAreaContext) => _angular_core.Provider;
|
|
384
384
|
|
|
385
385
|
type ScrubDirection = 'horizontal' | 'vertical';
|
|
@@ -441,7 +441,7 @@ declare class RdxNumberFieldScrubAreaCursor {
|
|
|
441
441
|
protected readonly shouldRender: _angular_core.Signal<boolean>;
|
|
442
442
|
constructor();
|
|
443
443
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNumberFieldScrubAreaCursor, never>;
|
|
444
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNumberFieldScrubAreaCursor, "[rdxNumberFieldScrubAreaCursor]", ["rdxNumberFieldScrubAreaCursor"], {}, {}, never, never, true, [{ directive: typeof i1
|
|
444
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNumberFieldScrubAreaCursor, "[rdxNumberFieldScrubAreaCursor]", ["rdxNumberFieldScrubAreaCursor"], {}, {}, never, never, true, [{ directive: typeof i1.RdxPortal; inputs: {}; outputs: {}; }]>;
|
|
445
445
|
}
|
|
446
446
|
|
|
447
447
|
/**
|
|
@@ -451,7 +451,7 @@ declare class RdxNumberFieldScrubAreaCursor {
|
|
|
451
451
|
*
|
|
452
452
|
* @see https://base-ui.com/react/components/number-field
|
|
453
453
|
*/
|
|
454
|
-
declare const injectNumberFieldRootContext:
|
|
454
|
+
declare const injectNumberFieldRootContext: _radix_ng_primitives_core.InjectContext<RdxNumberFieldRoot>;
|
|
455
455
|
declare const provideNumberFieldRootContext: (useFactory: () => RdxNumberFieldRoot) => _angular_core.Provider;
|
|
456
456
|
|
|
457
457
|
declare class RdxNumberFieldModule {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@radix-ng/primitives/presence';
|
|
4
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
5
|
import { RdxTransitionStatus, BooleanInput, NumberInput } from '@radix-ng/primitives/core';
|
|
5
6
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
6
7
|
import { RdxPopperContentWrapper, RdxPopperAnchorElement } from '@radix-ng/primitives/popper';
|
|
@@ -72,7 +73,7 @@ interface RdxPopoverRootContext {
|
|
|
72
73
|
registerViewport: (onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void) => () => void;
|
|
73
74
|
toggle: (triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event) => void;
|
|
74
75
|
}
|
|
75
|
-
declare const injectRdxPopoverRootContext:
|
|
76
|
+
declare const injectRdxPopoverRootContext: _radix_ng_primitives_core.InjectContext<RdxPopoverRootContext>;
|
|
76
77
|
declare const provideRdxPopoverRootContext: (useFactory: () => RdxPopoverRootContext) => _angular_core.Provider;
|
|
77
78
|
type RdxPopoverTransitionStatus = RdxTransitionStatus;
|
|
78
79
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ElementRef, InjectionToken, Provider } from '@angular/core';
|
|
3
3
|
import { ReferenceElement, Placement, Middleware, VirtualElement } from '@floating-ui/dom';
|
|
4
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
5
|
import { NumberInput, BooleanInput } from '@radix-ng/primitives/core';
|
|
5
6
|
|
|
6
7
|
declare class RdxPopperAnchor {
|
|
@@ -59,7 +60,7 @@ declare const context: () => {
|
|
|
59
60
|
anchorHidden: _angular_core.Signal<boolean>;
|
|
60
61
|
};
|
|
61
62
|
type PopperContentWrapperContext = ReturnType<typeof context>;
|
|
62
|
-
declare const injectPopperContentWrapperContext:
|
|
63
|
+
declare const injectPopperContentWrapperContext: _radix_ng_primitives_core.InjectContext<{
|
|
63
64
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
64
65
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
65
66
|
arrowX: _angular_core.Signal<number | undefined>;
|
|
@@ -67,7 +68,7 @@ declare const injectPopperContentWrapperContext: (optional?: boolean) => {
|
|
|
67
68
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
68
69
|
isPositioned: _angular_core.Signal<boolean>;
|
|
69
70
|
anchorHidden: _angular_core.Signal<boolean>;
|
|
70
|
-
}
|
|
71
|
+
}>;
|
|
71
72
|
declare const providePopperContentWrapperContext: (useFactory: () => {
|
|
72
73
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
73
74
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
@@ -144,6 +145,12 @@ declare class RdxPopperContentWrapper {
|
|
|
144
145
|
*/
|
|
145
146
|
readonly placed: _angular_core.OutputEmitterRef<void>;
|
|
146
147
|
readonly arrow: _angular_core.Signal<any>;
|
|
148
|
+
/**
|
|
149
|
+
* When `true`, the content is rendered click/hover-through (`pointer-events: none`). Used for
|
|
150
|
+
* cursor-following content (e.g. a tooltip tracking the pointer) that must never intercept the
|
|
151
|
+
* pointer and steal hover from its trigger.
|
|
152
|
+
*/
|
|
153
|
+
readonly nonInteractive: _angular_core.WritableSignal<boolean>;
|
|
147
154
|
readonly shouldHideArrow: _angular_core.Signal<boolean>;
|
|
148
155
|
/** Whether the arrow could not be centered on the anchor because the popup was shifted. */
|
|
149
156
|
readonly arrowUncentered: _angular_core.Signal<boolean>;
|
|
@@ -157,6 +164,16 @@ declare class RdxPopperContentWrapper {
|
|
|
157
164
|
private readonly detectOverflowOptions;
|
|
158
165
|
private readonly resolvedAnchor;
|
|
159
166
|
private readonly position;
|
|
167
|
+
/**
|
|
168
|
+
* The last successfully computed position, retained while a new one is being computed.
|
|
169
|
+
*
|
|
170
|
+
* The `position` resource resets `value()` to `undefined` whenever its params change (e.g. on
|
|
171
|
+
* every pointer move while a tooltip tracks the cursor). Reading it directly would blank the
|
|
172
|
+
* popup (`visibility: hidden` + off-screen transform) for the frames between a move and the next
|
|
173
|
+
* resolved position — a visible flicker at high pointer-move rates. Holding the previous value
|
|
174
|
+
* keeps the popup placed and visible until the new position is ready.
|
|
175
|
+
*/
|
|
176
|
+
private readonly resolvedPosition;
|
|
160
177
|
/**
|
|
161
178
|
* Whether the panel is positioned.
|
|
162
179
|
*/
|
|
@@ -64,7 +64,7 @@ interface RdxPreviewCardRootContext {
|
|
|
64
64
|
registerViewport: (onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void) => () => void;
|
|
65
65
|
toggle: (triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event) => void;
|
|
66
66
|
}
|
|
67
|
-
declare const injectRdxPreviewCardRootContext:
|
|
67
|
+
declare const injectRdxPreviewCardRootContext: _radix_ng_primitives_core.InjectContext<RdxPreviewCardRootContext>;
|
|
68
68
|
declare const provideRdxPreviewCardRootContext: (useFactory: () => RdxPreviewCardRootContext) => _angular_core.Provider;
|
|
69
69
|
type RdxPreviewCardTransitionStatus = 'starting' | 'ending' | undefined;
|
|
70
70
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
2
3
|
import * as _radix_ng_primitives_progress from '@radix-ng/primitives/progress';
|
|
3
4
|
|
|
4
5
|
type ProgressState = 'indeterminate' | 'complete' | 'progressing';
|
|
@@ -23,7 +24,7 @@ declare const progressRootContext: () => {
|
|
|
23
24
|
indeterminateState: _angular_core.Signal<boolean>;
|
|
24
25
|
};
|
|
25
26
|
type RdxProgressRootContext = ReturnType<typeof progressRootContext>;
|
|
26
|
-
declare const injectProgressRootContext:
|
|
27
|
+
declare const injectProgressRootContext: _radix_ng_primitives_core.InjectContext<{
|
|
27
28
|
labelId: _angular_core.InputSignal<string>;
|
|
28
29
|
valueId: _angular_core.InputSignal<string>;
|
|
29
30
|
minState: _angular_core.Signal<number>;
|
|
@@ -35,7 +36,7 @@ declare const injectProgressRootContext: (optional?: boolean) => {
|
|
|
35
36
|
completeState: _angular_core.Signal<boolean>;
|
|
36
37
|
progressingState: _angular_core.Signal<boolean>;
|
|
37
38
|
indeterminateState: _angular_core.Signal<boolean>;
|
|
38
|
-
}
|
|
39
|
+
}>;
|
|
39
40
|
declare const provideProgressRootContext: (useFactory: () => {
|
|
40
41
|
labelId: _angular_core.InputSignal<string>;
|
|
41
42
|
valueId: _angular_core.InputSignal<string>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
2
2
|
import { BooleanInput } from '@radix-ng/primitives/core';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
3
4
|
import * as _radix_ng_primitives_roving_focus from '@radix-ng/primitives/roving-focus';
|
|
4
5
|
|
|
5
6
|
type Orientation = 'horizontal' | 'vertical';
|
|
@@ -18,7 +19,7 @@ declare const rootContext: () => {
|
|
|
18
19
|
unregisterItem: (item: HTMLElement, tabStopId: string) => void;
|
|
19
20
|
};
|
|
20
21
|
type RovingFocusGroupContext = ReturnType<typeof rootContext>;
|
|
21
|
-
declare const injectRovingFocusGroupContext:
|
|
22
|
+
declare const injectRovingFocusGroupContext: _radix_ng_primitives_core.InjectContext<{
|
|
22
23
|
loop: _angular_core.Signal<boolean>;
|
|
23
24
|
dir: _angular_core.Signal<Direction>;
|
|
24
25
|
orientation: _angular_core.Signal<Orientation>;
|
|
@@ -28,7 +29,7 @@ declare const injectRovingFocusGroupContext: (optional?: boolean) => {
|
|
|
28
29
|
onItemShiftTab: () => void;
|
|
29
30
|
registerItem: (item: HTMLElement, tabStopId: string) => void;
|
|
30
31
|
unregisterItem: (item: HTMLElement, tabStopId: string) => void;
|
|
31
|
-
}
|
|
32
|
+
}>;
|
|
32
33
|
declare const provideRovingFocusGroupContext: (useFactory: () => {
|
|
33
34
|
loop: _angular_core.Signal<boolean>;
|
|
34
35
|
dir: _angular_core.Signal<Direction>;
|