@radix-ng/primitives 1.0.0-beta.3 → 1.0.0-beta.5
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/README.md +1 -1
- package/fesm2022/radix-ng-primitives-accordion.mjs +5 -3
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +3 -2
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-autocomplete.mjs +617 -659
- package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs +5 -3
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +33 -18
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +1305 -572
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-config.mjs +13 -4
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +51 -10
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +1352 -64
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +5 -3
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +290 -120
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-direction-provider.mjs +70 -0
- package/fesm2022/radix-ng-primitives-direction-provider.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +519 -184
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +3 -3
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +12 -7
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +3 -2
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs +803 -0
- package/fesm2022/radix-ng-primitives-floating-focus-manager.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +305 -70
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +893 -289
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +32 -4
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +144 -159
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +7 -2
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +284 -212
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +94 -51
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +141 -173
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +19 -14
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +4 -2
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +5 -4
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +241 -164
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +262 -29
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +16 -10
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +10 -5
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +15 -10
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +5 -3
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs +15 -36
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +14 -7
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +12 -6
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +5 -3
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +251 -143
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +10 -1
- package/types/radix-ng-primitives-accordion.d.ts +4 -3
- package/types/radix-ng-primitives-autocomplete.d.ts +217 -152
- package/types/radix-ng-primitives-calendar.d.ts +5 -3
- package/types/radix-ng-primitives-checkbox.d.ts +27 -15
- package/types/radix-ng-primitives-combobox.d.ts +672 -283
- package/types/radix-ng-primitives-config.d.ts +1 -1
- package/types/radix-ng-primitives-context-menu.d.ts +15 -5
- package/types/radix-ng-primitives-core.d.ts +764 -14
- package/types/radix-ng-primitives-date-field.d.ts +3 -2
- package/types/radix-ng-primitives-dialog.d.ts +88 -32
- package/types/radix-ng-primitives-direction-provider.d.ts +41 -0
- package/types/radix-ng-primitives-dismissable-layer.d.ts +147 -99
- package/types/radix-ng-primitives-editable.d.ts +11 -5
- package/types/radix-ng-primitives-field.d.ts +1 -0
- package/types/radix-ng-primitives-floating-focus-manager.d.ts +272 -0
- package/types/radix-ng-primitives-focus-scope.d.ts +132 -1
- package/types/radix-ng-primitives-menu.d.ts +192 -103
- package/types/radix-ng-primitives-navigation-menu.d.ts +37 -75
- package/types/radix-ng-primitives-number-field.d.ts +8 -3
- package/types/radix-ng-primitives-popover.d.ts +71 -92
- package/types/radix-ng-primitives-popper.d.ts +39 -9
- package/types/radix-ng-primitives-preview-card.d.ts +39 -72
- package/types/radix-ng-primitives-radio.d.ts +13 -6
- package/types/radix-ng-primitives-roving-focus.d.ts +7 -6
- package/types/radix-ng-primitives-scroll-area.d.ts +2 -2
- package/types/radix-ng-primitives-select.d.ts +142 -109
- package/types/radix-ng-primitives-slider.d.ts +64 -12
- package/types/radix-ng-primitives-stepper.d.ts +15 -7
- package/types/radix-ng-primitives-switch.d.ts +10 -4
- package/types/radix-ng-primitives-tabs.d.ts +12 -6
- package/types/radix-ng-primitives-time-field.d.ts +3 -2
- package/types/radix-ng-primitives-toast.d.ts +7 -7
- package/types/radix-ng-primitives-toggle-group.d.ts +15 -8
- package/types/radix-ng-primitives-toggle.d.ts +10 -3
- package/types/radix-ng-primitives-toolbar.d.ts +3 -2
- package/types/radix-ng-primitives-tooltip.d.ts +61 -80
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { TemplateRef, Signal
|
|
2
|
+
import { TemplateRef, Signal } from '@angular/core';
|
|
3
3
|
import * as i1 from '@radix-ng/primitives/portal';
|
|
4
4
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
|
-
import { RdxTransitionStatus, BooleanInput, NumberInput } from '@radix-ng/primitives/core';
|
|
5
|
+
import { RdxCancelableChangeEventDetails, RdxTransitionStatus, RdxFloatingRootContext, BooleanInput, NumberInput } from '@radix-ng/primitives/core';
|
|
6
6
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
7
|
-
import { RdxPopperContentWrapper
|
|
7
|
+
import { RdxPopperContentWrapper } from '@radix-ng/primitives/popper';
|
|
8
8
|
import * as _radix_ng_primitives_navigation_menu from '@radix-ng/primitives/navigation-menu';
|
|
9
9
|
import * as i1$2 from '@radix-ng/primitives/roving-focus';
|
|
10
|
-
import
|
|
10
|
+
import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Structural directive that teleports the navigation menu popup into a container (default
|
|
@@ -36,12 +36,15 @@ declare class RdxNavigationMenuPortalMisuseGuard {
|
|
|
36
36
|
|
|
37
37
|
type NavigationMenuOrientation = 'horizontal' | 'vertical';
|
|
38
38
|
type NavigationMenuDirection = 'ltr' | 'rtl';
|
|
39
|
-
type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-focus' | 'trigger-press' | 'outside-press' | 'focus-out' | 'escape-key' | 'link-select' | 'list-leave' | 'none';
|
|
39
|
+
type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-focus' | 'trigger-press' | 'list-navigation' | 'outside-press' | 'focus-out' | 'escape-key' | 'link-select' | 'list-leave' | 'none';
|
|
40
|
+
type RdxNavigationMenuOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxNavigationMenuOpenChangeReason>;
|
|
40
41
|
interface RdxNavigationMenuOpenChange {
|
|
41
42
|
value: string | null;
|
|
42
43
|
open: boolean;
|
|
43
44
|
reason: RdxNavigationMenuOpenChangeReason;
|
|
44
45
|
event: Event;
|
|
46
|
+
trigger: HTMLElement | undefined;
|
|
47
|
+
eventDetails: RdxNavigationMenuOpenChangeEventDetails;
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
50
|
* A registered item content template, rendered into the shared viewport when its item is active.
|
|
@@ -65,6 +68,7 @@ interface RdxNavigationMenuRootContext {
|
|
|
65
68
|
/** Value of the previously open item (used for slide-direction morphing). */
|
|
66
69
|
readonly previousValue: Signal<string | null>;
|
|
67
70
|
readonly isOpen: Signal<boolean>;
|
|
71
|
+
readonly present: Signal<boolean>;
|
|
68
72
|
readonly instant: Signal<boolean>;
|
|
69
73
|
readonly transitionStatus: Signal<RdxTransitionStatus>;
|
|
70
74
|
/** The active trigger element the popup is anchored to. */
|
|
@@ -78,7 +82,7 @@ interface RdxNavigationMenuRootContext {
|
|
|
78
82
|
close(reason?: RdxNavigationMenuOpenChangeReason, event?: Event): void;
|
|
79
83
|
toggle(value: string, trigger: HTMLElement, event?: Event): void;
|
|
80
84
|
openOnHover(value: string, trigger: HTMLElement, event: PointerEvent): void;
|
|
81
|
-
closeOnHover(): void;
|
|
85
|
+
closeOnHover(event?: PointerEvent): void;
|
|
82
86
|
cancelHoverOpen(): void;
|
|
83
87
|
cancelHoverClose(): void;
|
|
84
88
|
registerTrigger(value: string, trigger: HTMLElement): () => void;
|
|
@@ -100,6 +104,9 @@ declare class RdxNavigationMenuRoot {
|
|
|
100
104
|
private readonly popper;
|
|
101
105
|
private readonly destroyRef;
|
|
102
106
|
private readonly parentRoot;
|
|
107
|
+
private readonly registration;
|
|
108
|
+
/** Per-popup floating root context (ADR 0015) — `open` / `triggers` / reference for the dismissal engine. */
|
|
109
|
+
readonly floatingContext: RdxFloatingRootContext;
|
|
103
110
|
/** Whether this root is nested inside another navigation menu's content. */
|
|
104
111
|
readonly nested: boolean;
|
|
105
112
|
readonly baseId: string;
|
|
@@ -118,7 +125,8 @@ declare class RdxNavigationMenuRoot {
|
|
|
118
125
|
/**
|
|
119
126
|
* The reading direction of the navigation menu.
|
|
120
127
|
*/
|
|
121
|
-
readonly
|
|
128
|
+
readonly dirInput: _angular_core.InputSignal<NavigationMenuDirection | undefined>;
|
|
129
|
+
readonly dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
122
130
|
/**
|
|
123
131
|
* Whether keyboard navigation loops from the last item back to the first and vice versa.
|
|
124
132
|
*/
|
|
@@ -152,6 +160,8 @@ declare class RdxNavigationMenuRoot {
|
|
|
152
160
|
readonly transitionStatus: _angular_core.Signal<_radix_ng_primitives_core.RdxTransitionStatus>;
|
|
153
161
|
readonly previousValue: _angular_core.WritableSignal<string | null>;
|
|
154
162
|
readonly isOpen: _angular_core.Signal<boolean>;
|
|
163
|
+
private readonly preventUnmountOnClose;
|
|
164
|
+
readonly present: _angular_core.Signal<boolean>;
|
|
155
165
|
readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
156
166
|
readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
|
|
157
167
|
readonly contents: _angular_core.WritableSignal<Map<string, RdxNavigationMenuContentEntry>>;
|
|
@@ -166,19 +176,21 @@ declare class RdxNavigationMenuRoot {
|
|
|
166
176
|
close(reason?: RdxNavigationMenuOpenChangeReason, event?: Event): void;
|
|
167
177
|
toggle(value: string, trigger: HTMLElement, event?: Event): void;
|
|
168
178
|
openOnHover(value: string, trigger: HTMLElement, event: PointerEvent): void;
|
|
169
|
-
closeOnHover(): void;
|
|
179
|
+
closeOnHover(event?: PointerEvent): void;
|
|
170
180
|
cancelHoverOpen(): void;
|
|
171
181
|
cancelHoverClose(): void;
|
|
172
182
|
registerTrigger(value: string, trigger: HTMLElement): () => void;
|
|
173
183
|
registerContent(entry: RdxNavigationMenuContentEntry): () => void;
|
|
174
184
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
175
185
|
registerViewport(onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void): () => boolean;
|
|
186
|
+
private createOpenChangeEvent;
|
|
176
187
|
private scheduleInstantReset;
|
|
177
188
|
private clearHoverTimers;
|
|
178
189
|
private clearOpenTimer;
|
|
179
190
|
private clearCloseTimer;
|
|
191
|
+
private isInsideOpenChild;
|
|
180
192
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuRoot, never>;
|
|
181
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuRoot, "[rdxNavigationMenuRoot]", ["rdxNavigationMenuRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "
|
|
193
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuRoot, "[rdxNavigationMenuRoot]", ["rdxNavigationMenuRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; "onOpenChange": "onOpenChange"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1$1.RdxPopper; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }]>;
|
|
182
194
|
}
|
|
183
195
|
|
|
184
196
|
/**
|
|
@@ -322,69 +334,21 @@ declare class RdxNavigationMenuBackdrop {
|
|
|
322
334
|
|
|
323
335
|
/**
|
|
324
336
|
* Positions the shared popup against the active trigger.
|
|
337
|
+
*
|
|
338
|
+
* A "thin" positioner (ADR 0012): it inherits the popper positioning surface (inputs, `placed`
|
|
339
|
+
* output, unified vars + placement attrs) from {@link RdxPopperContentWrapper} and adds the
|
|
340
|
+
* navigation-menu defaults, the open/closed/instant state attributes, and the grace-area hover
|
|
341
|
+
* bridge. It exposes no legacy `--radix-*` aliases.
|
|
325
342
|
*/
|
|
326
|
-
declare class RdxNavigationMenuPositioner {
|
|
343
|
+
declare class RdxNavigationMenuPositioner extends RdxPopperContentWrapper {
|
|
327
344
|
protected readonly rootContext: _radix_ng_primitives_navigation_menu.RdxNavigationMenuRootContext;
|
|
328
|
-
|
|
329
|
-
private readonly elementRef;
|
|
345
|
+
private readonly containerRef;
|
|
330
346
|
private readonly triggerEl;
|
|
331
347
|
private readonly containerEl;
|
|
332
348
|
private readonly graceArea;
|
|
333
|
-
/**
|
|
334
|
-
* An element to position the popup against. Defaults to the active trigger.
|
|
335
|
-
*/
|
|
336
|
-
readonly anchor: _angular_core.InputSignal<RdxPopperAnchorElement>;
|
|
337
|
-
/**
|
|
338
|
-
* The preferred side of the trigger to render against when open.
|
|
339
|
-
*/
|
|
340
|
-
readonly side: _angular_core.InputSignal<"top" | "right" | "bottom" | "left">;
|
|
341
|
-
/**
|
|
342
|
-
* Distance between the trigger and the popup in pixels.
|
|
343
|
-
*/
|
|
344
|
-
readonly sideOffset: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
345
|
-
/**
|
|
346
|
-
* How to align the popup relative to the specified side.
|
|
347
|
-
*/
|
|
348
|
-
readonly align: _angular_core.InputSignal<"start" | "center" | "end">;
|
|
349
|
-
/**
|
|
350
|
-
* An offset in pixels from the `start` or `end` alignment options.
|
|
351
|
-
*/
|
|
352
|
-
readonly alignOffset: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
353
|
-
/**
|
|
354
|
-
* Minimum distance to maintain between the arrow and the edges of the popup.
|
|
355
|
-
*/
|
|
356
|
-
readonly arrowPadding: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
357
|
-
/**
|
|
358
|
-
* Whether to override side and alignment preferences to prevent collisions.
|
|
359
|
-
*/
|
|
360
|
-
readonly avoidCollisions: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
361
|
-
/**
|
|
362
|
-
* The element used as the collision boundary.
|
|
363
|
-
*/
|
|
364
|
-
readonly collisionBoundary: _angular_core.InputSignal<ElementRef<HTMLElement> | ElementRef<HTMLElement>[] | undefined>;
|
|
365
|
-
/**
|
|
366
|
-
* Distance in pixels from the boundary edges where collision detection should occur.
|
|
367
|
-
*/
|
|
368
|
-
readonly collisionPadding: _angular_core.InputSignal<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
|
|
369
|
-
/**
|
|
370
|
-
* The sticky behavior on the alignment axis.
|
|
371
|
-
*/
|
|
372
|
-
readonly sticky: _angular_core.InputSignal<"always" | "partial">;
|
|
373
|
-
/**
|
|
374
|
-
* Whether to hide the popup when the trigger becomes fully occluded.
|
|
375
|
-
*/
|
|
376
|
-
readonly hideWhenDetached: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
377
|
-
/**
|
|
378
|
-
* The CSS position strategy used by Floating UI.
|
|
379
|
-
*/
|
|
380
|
-
readonly positionStrategy: _angular_core.InputSignal<"fixed" | "absolute">;
|
|
381
|
-
/**
|
|
382
|
-
* Whether to update position on every animation frame.
|
|
383
|
-
*/
|
|
384
|
-
readonly updatePositionStrategy: _angular_core.InputSignal<"always" | "optimized">;
|
|
385
349
|
constructor();
|
|
386
350
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuPositioner, never>;
|
|
387
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPositioner, "[rdxNavigationMenuPositioner]", never, {
|
|
351
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPositioner, "[rdxNavigationMenuPositioner]", never, {}, {}, never, never, true, never>;
|
|
388
352
|
}
|
|
389
353
|
|
|
390
354
|
/**
|
|
@@ -392,38 +356,36 @@ declare class RdxNavigationMenuPositioner {
|
|
|
392
356
|
*/
|
|
393
357
|
declare class RdxNavigationMenuPopup {
|
|
394
358
|
protected readonly rootContext: _radix_ng_primitives_navigation_menu.RdxNavigationMenuRootContext;
|
|
395
|
-
private readonly
|
|
359
|
+
private readonly floatingContext;
|
|
360
|
+
private readonly registration;
|
|
396
361
|
private readonly wrapper;
|
|
397
|
-
private readonly layersContext;
|
|
398
362
|
private readonly elementRef;
|
|
399
363
|
protected readonly side: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
400
364
|
protected readonly align: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
401
365
|
/** Names the menu after the active trigger so the `role="menu"` element has an accessible name. */
|
|
402
366
|
protected readonly labelledBy: _angular_core.Signal<string | undefined>;
|
|
403
|
-
private dismissReason;
|
|
404
|
-
private dismissEvent;
|
|
405
367
|
/**
|
|
406
368
|
* Event handler called when the escape key is down. Can be prevented.
|
|
407
369
|
*/
|
|
408
|
-
readonly escapeKeyDown: _angular_core.
|
|
370
|
+
readonly escapeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
409
371
|
/**
|
|
410
372
|
* Event handler called when a pointerdown event happens outside the popup. Can be prevented.
|
|
411
373
|
*/
|
|
412
|
-
readonly pointerDownOutside: _angular_core.
|
|
374
|
+
readonly pointerDownOutside: _angular_core.OutputEmitterRef<RdxOutsidePressDomEvent>;
|
|
413
375
|
/**
|
|
414
376
|
* Event handler called when focus moves outside the popup. Can be prevented.
|
|
415
377
|
*/
|
|
416
|
-
readonly focusOutside: _angular_core.
|
|
378
|
+
readonly focusOutside: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
417
379
|
constructor();
|
|
418
380
|
protected onPointerLeave(event: PointerEvent): void;
|
|
419
381
|
/**
|
|
420
382
|
* Keyboard navigation inside the open panel: Down/Up move between the panel's focusable items in
|
|
421
383
|
* DOM order, Home/End jump to the first/last, and Up from the first item returns focus to the
|
|
422
|
-
* trigger. (Tab keeps working natively; Escape is handled by the
|
|
384
|
+
* trigger. (Tab keeps working natively; Escape is handled by the dismissal capability.)
|
|
423
385
|
*/
|
|
424
386
|
protected onKeydown(event: KeyboardEvent): void;
|
|
425
387
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuPopup, never>;
|
|
426
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPopup, "[rdxNavigationMenuPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }
|
|
388
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPopup, "[rdxNavigationMenuPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }]>;
|
|
427
389
|
}
|
|
428
390
|
|
|
429
391
|
/**
|
|
@@ -483,4 +445,4 @@ declare class RdxNavigationMenuModule {
|
|
|
483
445
|
}
|
|
484
446
|
|
|
485
447
|
export { RdxNavigationMenuArrow, RdxNavigationMenuBackdrop, RdxNavigationMenuContent, RdxNavigationMenuIcon, RdxNavigationMenuItem, RdxNavigationMenuLink, RdxNavigationMenuList, RdxNavigationMenuModule, RdxNavigationMenuPopup, RdxNavigationMenuPortal, RdxNavigationMenuPortalMisuseGuard, RdxNavigationMenuPositioner, RdxNavigationMenuRoot, RdxNavigationMenuTrigger, RdxNavigationMenuViewport, injectNavigationMenuRootContext, navigationMenuImports, provideNavigationMenuRootContext };
|
|
486
|
-
export type { NavigationMenuDirection, NavigationMenuOrientation, RdxNavigationMenuContentEntry, RdxNavigationMenuOpenChange, RdxNavigationMenuOpenChangeReason, RdxNavigationMenuRootContext };
|
|
448
|
+
export type { NavigationMenuDirection, NavigationMenuOrientation, RdxNavigationMenuContentEntry, RdxNavigationMenuOpenChange, RdxNavigationMenuOpenChangeEventDetails, RdxNavigationMenuOpenChangeReason, RdxNavigationMenuRootContext };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { Signal } from '@angular/core';
|
|
3
3
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
4
|
-
import { RdxFormValueControl, RdxControlValueAccessor, NumberInput, BooleanInput } from '@radix-ng/primitives/core';
|
|
4
|
+
import { RdxFormValueControl, RdxControlValueAccessor, NumberInput, BooleanInput, RdxCancelableChangeEventDetails } 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
7
|
import * as i1 from '@radix-ng/primitives/portal';
|
|
@@ -35,6 +35,11 @@ declare const REASONS: {
|
|
|
35
35
|
readonly none: "none";
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
+
type RdxNumberFieldValueChangeEventDetails = RdxCancelableChangeEventDetails<NumberFieldChangeReason>;
|
|
39
|
+
interface RdxNumberFieldValueChangeEvent {
|
|
40
|
+
value: number | null;
|
|
41
|
+
eventDetails: RdxNumberFieldValueChangeEventDetails;
|
|
42
|
+
}
|
|
38
43
|
/**
|
|
39
44
|
* Groups all parts of the number field and manages its state, parsing/formatting
|
|
40
45
|
* and value-change logic. A single directive drives the whole family — parts read
|
|
@@ -110,7 +115,7 @@ declare class RdxNumberFieldRoot implements RdxFormValueControl<number | null> {
|
|
|
110
115
|
/** The controlled value of the field. Use with `(onValueChange)` or two-way `[(value)]`. */
|
|
111
116
|
readonly value: _angular_core.ModelSignal<number | null>;
|
|
112
117
|
/** Emitted when the value changes (during interaction or programmatically). */
|
|
113
|
-
readonly onValueChange: _angular_core.OutputEmitterRef<
|
|
118
|
+
readonly onValueChange: _angular_core.OutputEmitterRef<RdxNumberFieldValueChangeEvent>;
|
|
114
119
|
/**
|
|
115
120
|
* Emitted when the value is committed: on blur after typing, or when a pointer is released
|
|
116
121
|
* after scrubbing or pressing a button. Fires together with `onValueChange` for keyboard input.
|
|
@@ -461,4 +466,4 @@ declare class RdxNumberFieldModule {
|
|
|
461
466
|
}
|
|
462
467
|
|
|
463
468
|
export { CHANGE_VALUE_TICK_DELAY, DEFAULT_STEP, REASONS, RdxNumberFieldButton, RdxNumberFieldDecrement, RdxNumberFieldGroup, RdxNumberFieldHiddenInput, RdxNumberFieldIncrement, RdxNumberFieldInput, RdxNumberFieldModule, RdxNumberFieldRoot, RdxNumberFieldScrubArea, RdxNumberFieldScrubAreaCursor, SCROLLING_POINTER_MOVE_DISTANCE, START_AUTO_CHANGE_DELAY, createPressAndHold, hasNumberFormatRoundingOptions, injectNumberFieldRootContext, injectNumberFieldScrubAreaContext, numberOrUndefined, provideNumberFieldRootContext, provideNumberFieldScrubAreaContext, removeFloatingPointErrors, toValidatedNumber, useNumberFormatter, useNumberParser };
|
|
464
|
-
export type { Direction, InputMode, NumberFieldChangeReason, PressAndHold, PressAndHoldOptions, RdxNumberFieldScrubAreaContext, ValidateOptions };
|
|
469
|
+
export type { Direction, InputMode, NumberFieldChangeReason, PressAndHold, PressAndHoldOptions, RdxNumberFieldScrubAreaContext, RdxNumberFieldValueChangeEvent, RdxNumberFieldValueChangeEventDetails, ValidateOptions };
|
|
@@ -2,12 +2,13 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { Signal, ElementRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@radix-ng/primitives/portal';
|
|
4
4
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
|
-
import { RdxTransitionStatus, BooleanInput, NumberInput } from '@radix-ng/primitives/core';
|
|
5
|
+
import { RdxTransitionStatus, RdxFloatingRootContext, BooleanInput, RdxCancelableChangeEventDetails, NumberInput } from '@radix-ng/primitives/core';
|
|
6
|
+
import * as _radix_ng_primitives_floating_focus_manager from '@radix-ng/primitives/floating-focus-manager';
|
|
7
|
+
import { RdxInteractionType } from '@radix-ng/primitives/floating-focus-manager';
|
|
6
8
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
7
|
-
import { RdxPopperContentWrapper
|
|
9
|
+
import { RdxPopperContentWrapper } from '@radix-ng/primitives/popper';
|
|
8
10
|
import * as _radix_ng_primitives_popover from '@radix-ng/primitives/popover';
|
|
9
|
-
import
|
|
10
|
-
import * as i3 from '@radix-ng/primitives/focus-scope';
|
|
11
|
+
import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Structural directive that teleports the popover content into a container (default `document.body`)
|
|
@@ -48,17 +49,20 @@ declare function createRdxPopoverHandle<Payload = unknown>(): RdxPopoverHandle<P
|
|
|
48
49
|
|
|
49
50
|
type RdxPopoverModal = boolean | 'trap-focus';
|
|
50
51
|
type RdxPopoverOpenChangeReason = 'trigger-hover' | 'trigger-focus' | 'trigger-press' | 'outside-press' | 'escape-key' | 'close-press' | 'focus-out' | 'imperative-action' | 'none';
|
|
52
|
+
type RdxPopoverOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxPopoverOpenChangeReason>;
|
|
51
53
|
interface RdxPopoverOpenChange {
|
|
52
54
|
open: boolean;
|
|
53
55
|
triggerId: string | null;
|
|
54
56
|
trigger: HTMLElement | undefined;
|
|
55
57
|
reason: RdxPopoverOpenChangeReason;
|
|
56
58
|
event: Event;
|
|
59
|
+
eventDetails: RdxPopoverOpenChangeEventDetails;
|
|
57
60
|
}
|
|
58
61
|
interface RdxPopoverRootContext {
|
|
59
62
|
contentId: string;
|
|
60
63
|
descriptionId: Signal<string | undefined>;
|
|
61
64
|
isOpen: Signal<boolean>;
|
|
65
|
+
present: Signal<boolean>;
|
|
62
66
|
modal: Signal<RdxPopoverModal>;
|
|
63
67
|
titleId: Signal<string | undefined>;
|
|
64
68
|
trigger: Signal<HTMLElement | undefined>;
|
|
@@ -68,6 +72,10 @@ interface RdxPopoverRootContext {
|
|
|
68
72
|
instant: Signal<boolean>;
|
|
69
73
|
openChangeReason: Signal<RdxPopoverOpenChangeReason>;
|
|
70
74
|
isPointerDownOnTrigger: Signal<boolean>;
|
|
75
|
+
/** Whether the current open was initiated by touch (ADR 0016 §3 — gates the anchored scroll lock). */
|
|
76
|
+
openedByTouch: Signal<boolean>;
|
|
77
|
+
openInteractionType: Signal<RdxInteractionType>;
|
|
78
|
+
closeInteractionType: Signal<RdxInteractionType>;
|
|
71
79
|
close: (reason?: RdxPopoverOpenChangeReason, event?: Event) => void;
|
|
72
80
|
cancelHoverClose: () => void;
|
|
73
81
|
cancelHoverOpen: () => void;
|
|
@@ -79,11 +87,15 @@ interface RdxPopoverRootContext {
|
|
|
79
87
|
setDescriptionId: (id: string | undefined) => void;
|
|
80
88
|
setTitleId: (id: string | undefined) => void;
|
|
81
89
|
setPointerDownOnTrigger: (pointerDown: boolean) => void;
|
|
90
|
+
setOpenedByTouch: (value: boolean) => void;
|
|
91
|
+
setTriggerOpenInteractionType: (type: RdxInteractionType) => void;
|
|
82
92
|
setHoverDelays: (delay: number, closeDelay: number) => void;
|
|
83
93
|
registerPopupClose: () => () => void;
|
|
84
94
|
registerTransitionElement: (element: HTMLElement) => () => void;
|
|
85
95
|
transitionStatus: Signal<RdxPopoverTransitionStatus>;
|
|
96
|
+
beforeContentFocusGuard: Signal<HTMLElement | null>;
|
|
86
97
|
registerViewport: (onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void) => () => void;
|
|
98
|
+
setBeforeContentFocusGuard: (element: HTMLElement | null) => void;
|
|
87
99
|
toggle: (triggerId: string, trigger: HTMLElement, payload?: unknown, event?: Event) => void;
|
|
88
100
|
}
|
|
89
101
|
declare const injectRdxPopoverRootContext: _radix_ng_primitives_core.InjectContext<RdxPopoverRootContext>;
|
|
@@ -95,6 +107,8 @@ type RdxPopoverTransitionStatus = RdxTransitionStatus;
|
|
|
95
107
|
declare class RdxPopoverRoot {
|
|
96
108
|
private readonly popper;
|
|
97
109
|
private readonly destroyRef;
|
|
110
|
+
/** Shared per-popup floating context (ADR 0015 §1): `open`, trigger registry, reference / floating els. */
|
|
111
|
+
readonly floatingContext: RdxFloatingRootContext;
|
|
98
112
|
private hasAppliedDefaultOpen;
|
|
99
113
|
private hasAppliedDefaultTriggerId;
|
|
100
114
|
private openTimer;
|
|
@@ -132,18 +146,26 @@ declare class RdxPopoverRoot {
|
|
|
132
146
|
*/
|
|
133
147
|
readonly handle: _angular_core.InputSignal<RdxPopoverHandle<any> | undefined>;
|
|
134
148
|
readonly contentId: string;
|
|
149
|
+
readonly beforeContentFocusGuard: _angular_core.WritableSignal<HTMLElement | null>;
|
|
135
150
|
readonly descriptionId: _angular_core.WritableSignal<string | undefined>;
|
|
136
151
|
readonly titleId: _angular_core.WritableSignal<string | undefined>;
|
|
137
152
|
readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
138
153
|
readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
|
|
139
154
|
readonly payload: _angular_core.WritableSignal<unknown>;
|
|
140
155
|
readonly isPointerDownOnTrigger: _angular_core.WritableSignal<boolean>;
|
|
156
|
+
/** Whether the current open was initiated by touch (ADR 0016 §3 — gates the anchored scroll lock). */
|
|
157
|
+
readonly openedByTouch: _angular_core.WritableSignal<boolean>;
|
|
158
|
+
readonly openInteractionType: _angular_core.WritableSignal<RdxInteractionType>;
|
|
159
|
+
readonly closeInteractionType: _angular_core.WritableSignal<RdxInteractionType>;
|
|
141
160
|
readonly popupCloseCount: _angular_core.WritableSignal<number>;
|
|
161
|
+
private readonly preventUnmountOnClose;
|
|
162
|
+
private readonly pendingTriggerOpenInteractionType;
|
|
142
163
|
readonly onOpenChange: _angular_core.OutputEmitterRef<RdxPopoverOpenChange>;
|
|
143
164
|
readonly onOpenChangeComplete: _angular_core.OutputEmitterRef<boolean>;
|
|
144
165
|
private readonly registeredTriggers;
|
|
145
166
|
private readonly viewportTriggerChange;
|
|
146
167
|
readonly state: Signal<"open" | "closed">;
|
|
168
|
+
readonly present: Signal<boolean>;
|
|
147
169
|
constructor();
|
|
148
170
|
show(trigger?: HTMLElement | undefined, payload?: unknown, triggerId?: string, reason?: RdxPopoverOpenChangeReason, event?: Event, fromHover?: boolean): void;
|
|
149
171
|
close(reason?: RdxPopoverOpenChangeReason, event?: Event): void;
|
|
@@ -153,15 +175,18 @@ declare class RdxPopoverRoot {
|
|
|
153
175
|
cancelHoverClose(): void;
|
|
154
176
|
cancelHoverOpen(): void;
|
|
155
177
|
setHoverDelays(delay: number, closeDelay: number): void;
|
|
178
|
+
setTriggerOpenInteractionType(type: RdxInteractionType): void;
|
|
156
179
|
registerTrigger(id: string, trigger: HTMLElement, payload: () => unknown): () => void;
|
|
157
180
|
registerViewport(onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void): () => boolean;
|
|
181
|
+
setBeforeContentFocusGuard(element: HTMLElement | null): void;
|
|
158
182
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
159
183
|
private syncTriggerId;
|
|
160
|
-
private
|
|
184
|
+
private createOpenChangeEvent;
|
|
161
185
|
private clearHoverTimers;
|
|
162
186
|
private clearOpenTimer;
|
|
163
187
|
private clearCloseTimer;
|
|
164
188
|
private scheduleInstantReset;
|
|
189
|
+
private consumeOpenInteractionType;
|
|
165
190
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverRoot, never>;
|
|
166
191
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverRoot, "[rdxPopoverRoot]", ["rdxPopoverRoot"], { "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "triggerId": { "alias": "triggerId"; "required": false; "isSignal": true; }; "defaultTriggerId": { "alias": "defaultTriggerId"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "handle": { "alias": "handle"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "triggerId": "triggerIdChange"; "onOpenChange": "onOpenChange"; "onOpenChangeComplete": "onOpenChangeComplete"; }, never, never, true, [{ directive: typeof i1$1.RdxPopper; inputs: {}; outputs: {}; }]>;
|
|
167
192
|
}
|
|
@@ -203,13 +228,14 @@ declare class RdxPopoverTrigger {
|
|
|
203
228
|
protected readonly triggerId: _angular_core.Signal<string>;
|
|
204
229
|
protected readonly rootContext: _angular_core.Signal<_radix_ng_primitives_popover.RdxPopoverRootContext | null>;
|
|
205
230
|
protected readonly isOpen: _angular_core.Signal<boolean>;
|
|
231
|
+
protected readonly triggerInteraction: _radix_ng_primitives_floating_focus_manager.RdxTriggerInteraction;
|
|
206
232
|
protected readonly isPressed: _angular_core.Signal<boolean>;
|
|
207
233
|
private readonly generatedId;
|
|
208
234
|
constructor();
|
|
209
235
|
protected handleClick(event: MouseEvent): void;
|
|
210
236
|
protected handlePointerEnter(event: PointerEvent): void;
|
|
211
237
|
protected handlePointerLeave(event: PointerEvent): void;
|
|
212
|
-
protected handlePointerDown(): void;
|
|
238
|
+
protected handlePointerDown(event: PointerEvent): void;
|
|
213
239
|
protected handlePointerUp(): void;
|
|
214
240
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverTrigger, never>;
|
|
215
241
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverTrigger, "button[rdxPopoverTrigger]", never, { "handle": { "alias": "handle"; "required": false; "isSignal": true; }; "payload": { "alias": "payload"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "openOnHover": { "alias": "openOnHover"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxPopperAnchor; inputs: {}; outputs: {}; }]>;
|
|
@@ -220,119 +246,72 @@ declare class RdxPopoverTrigger {
|
|
|
220
246
|
*/
|
|
221
247
|
declare class RdxPopoverBackdrop {
|
|
222
248
|
protected readonly rootContext: _radix_ng_primitives_popover.RdxPopoverRootContext;
|
|
249
|
+
constructor();
|
|
223
250
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverBackdrop, never>;
|
|
224
251
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverBackdrop, "[rdxPopoverBackdrop]", never, {}, {}, never, never, true, never>;
|
|
225
252
|
}
|
|
226
253
|
|
|
227
254
|
/**
|
|
228
255
|
* Positions the popover against its trigger.
|
|
256
|
+
*
|
|
257
|
+
* A "thin" positioner (ADR 0012): it inherits the popper positioning surface (inputs, `placed`
|
|
258
|
+
* output, unified vars + placement attrs) from {@link RdxPopperContentWrapper} and adds popover's own
|
|
259
|
+
* concerns — Base UI-aligned defaults via the config provider, the open/closed/instant state
|
|
260
|
+
* attributes, the deprecated `--radix-popover-*` aliases, and the grace-area hover bridge.
|
|
229
261
|
*/
|
|
230
|
-
declare class RdxPopoverPositioner {
|
|
262
|
+
declare class RdxPopoverPositioner extends RdxPopperContentWrapper {
|
|
231
263
|
protected readonly rootContext: _radix_ng_primitives_popover.RdxPopoverRootContext;
|
|
232
|
-
protected readonly
|
|
233
|
-
private readonly
|
|
264
|
+
protected readonly legacyVars: Record<string, string>;
|
|
265
|
+
private readonly containerRef;
|
|
234
266
|
private readonly triggerEl;
|
|
235
267
|
private readonly containerEl;
|
|
236
268
|
private readonly graceArea;
|
|
237
|
-
/**
|
|
238
|
-
* An element to position the popup against. Defaults to the trigger.
|
|
239
|
-
*/
|
|
240
|
-
readonly anchor: _angular_core.InputSignal<RdxPopperAnchorElement>;
|
|
241
|
-
/**
|
|
242
|
-
* The preferred side of the trigger to render against when open.
|
|
243
|
-
*/
|
|
244
|
-
readonly side: _angular_core.InputSignal<"top" | "right" | "bottom" | "left">;
|
|
245
|
-
/**
|
|
246
|
-
* Distance between the trigger and the popup in pixels.
|
|
247
|
-
*/
|
|
248
|
-
readonly sideOffset: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
249
|
-
/**
|
|
250
|
-
* How to align the popup relative to the specified side.
|
|
251
|
-
*/
|
|
252
|
-
readonly align: _angular_core.InputSignal<"start" | "center" | "end">;
|
|
253
|
-
/**
|
|
254
|
-
* An offset in pixels from the `start` or `end` alignment options.
|
|
255
|
-
*/
|
|
256
|
-
readonly alignOffset: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
257
|
-
/**
|
|
258
|
-
* Minimum distance to maintain between the arrow and the edges of the popup.
|
|
259
|
-
*/
|
|
260
|
-
readonly arrowPadding: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
261
|
-
/**
|
|
262
|
-
* Whether to override side and alignment preferences to prevent collisions.
|
|
263
|
-
*/
|
|
264
|
-
readonly avoidCollisions: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
265
|
-
/**
|
|
266
|
-
* The element used as the collision boundary.
|
|
267
|
-
*/
|
|
268
|
-
readonly collisionBoundary: _angular_core.InputSignal<ElementRef<HTMLElement> | ElementRef<HTMLElement>[] | undefined>;
|
|
269
|
-
/**
|
|
270
|
-
* Distance in pixels from the boundary edges where collision detection should occur.
|
|
271
|
-
*/
|
|
272
|
-
readonly collisionPadding: _angular_core.InputSignal<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
|
|
273
|
-
/**
|
|
274
|
-
* The sticky behavior on the alignment axis.
|
|
275
|
-
*/
|
|
276
|
-
readonly sticky: _angular_core.InputSignal<"always" | "partial">;
|
|
277
|
-
/**
|
|
278
|
-
* Whether to hide the popup when the trigger becomes fully occluded.
|
|
279
|
-
*/
|
|
280
|
-
readonly hideWhenDetached: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
281
|
-
/**
|
|
282
|
-
* The CSS position strategy used by Floating UI.
|
|
283
|
-
*/
|
|
284
|
-
readonly positionStrategy: _angular_core.InputSignal<"fixed" | "absolute">;
|
|
285
|
-
/**
|
|
286
|
-
* Whether to update position on every animation frame.
|
|
287
|
-
*/
|
|
288
|
-
readonly updatePositionStrategy: _angular_core.InputSignal<"always" | "optimized">;
|
|
289
|
-
/**
|
|
290
|
-
* Emits when the popup has been placed.
|
|
291
|
-
*/
|
|
292
|
-
readonly placed: _angular_core.OutputRef<void>;
|
|
293
269
|
constructor();
|
|
294
270
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverPositioner, never>;
|
|
295
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverPositioner, "[rdxPopoverPositioner]", never, {
|
|
271
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverPositioner, "[rdxPopoverPositioner]", never, {}, {}, never, never, true, never>;
|
|
296
272
|
}
|
|
297
273
|
|
|
298
274
|
/**
|
|
299
275
|
* A container for the popover contents.
|
|
276
|
+
*
|
|
277
|
+
* **ADR 0015/0017 Phase-4 migration** onto the new floating dismissal + focus engine (same pattern as
|
|
278
|
+
* Dialog; browser-verified via `popover.behavior` Playwright). Popover-specific:
|
|
279
|
+
* - **Hover-open disables the manager** (`enabled = isOpen && !isHoverActive`) — Base UI parity
|
|
280
|
+
* (`disabled={!mounted || openReason === triggerHover}`); a hover-opened popover does not trap / mark.
|
|
281
|
+
* (The legacy only suppressed auto-focus while still trapping — that Radix divergence is dropped.)
|
|
282
|
+
* - Trap = `'trap-focus' || (modal === true && hasPopupClose())`; scroll lock + real outside `inert`
|
|
283
|
+
* isolation key off the full modal (`modal === true`).
|
|
284
|
+
* - No `disablePointerDismissal` — outside-press + focus-out always close.
|
|
285
|
+
*
|
|
286
|
+
* Note: a positioned popover does **not** auto-focus into the popup on open (pre-existing — the legacy
|
|
287
|
+
* behaved the same; verified). The trap holds focus once it is inside; portal tab-order handoff is owned
|
|
288
|
+
* by `RdxFloatingFocusManager` and anchored to the active trigger below.
|
|
300
289
|
*/
|
|
301
290
|
declare class RdxPopoverPopup {
|
|
302
291
|
protected readonly rootContext: _radix_ng_primitives_popover.RdxPopoverRootContext;
|
|
303
|
-
private readonly
|
|
292
|
+
private readonly host;
|
|
293
|
+
private readonly floatingContext;
|
|
294
|
+
private readonly registration;
|
|
295
|
+
private readonly focusManager;
|
|
304
296
|
private readonly focusScope;
|
|
305
297
|
private readonly wrapper;
|
|
306
298
|
protected readonly align: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
307
299
|
protected readonly side: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* Event handler called when focus moves outside of the popup. Can be prevented.
|
|
319
|
-
*/
|
|
320
|
-
readonly focusOutside: _angular_core.OutputRef<FocusEvent>;
|
|
321
|
-
/**
|
|
322
|
-
* Event handler called when an interaction happens outside of the popup. Can be prevented.
|
|
323
|
-
*/
|
|
324
|
-
readonly interactOutside: _angular_core.OutputRef<PointerEvent | FocusEvent>;
|
|
325
|
-
/**
|
|
326
|
-
* Event handler called before focus moves into the popup. Can be prevented.
|
|
327
|
-
*/
|
|
300
|
+
/** Event handler called when the escape key is down. Can be prevented. */
|
|
301
|
+
readonly escapeKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
|
|
302
|
+
/** Event handler called when a pointerdown event happens outside of the popup. Can be prevented. */
|
|
303
|
+
readonly pointerDownOutside: _angular_core.OutputEmitterRef<RdxOutsidePressDomEvent>;
|
|
304
|
+
/** Event handler called when focus moves outside of the popup. Can be prevented. */
|
|
305
|
+
readonly focusOutside: _angular_core.OutputEmitterRef<FocusEvent>;
|
|
306
|
+
/** Event handler called when an interaction (pointer / focus) happens outside of the popup. */
|
|
307
|
+
readonly interactOutside: _angular_core.OutputEmitterRef<RdxOutsidePressDomEvent | FocusEvent>;
|
|
308
|
+
/** Event handler called before focus moves into the popup. Can be prevented. */
|
|
328
309
|
readonly openAutoFocus: _angular_core.OutputRef<Event>;
|
|
329
|
-
/**
|
|
330
|
-
* Event handler called before focus returns after the popup is removed. Can be prevented.
|
|
331
|
-
*/
|
|
310
|
+
/** Event handler called before focus returns after the popup is removed. Can be prevented. */
|
|
332
311
|
readonly closeAutoFocus: _angular_core.OutputRef<Event>;
|
|
333
312
|
constructor();
|
|
334
313
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverPopup, never>;
|
|
335
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverPopup, "[rdxPopoverPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }, { directive: typeof
|
|
314
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverPopup, "[rdxPopoverPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "openAutoFocus": "openAutoFocus"; "closeAutoFocus": "closeAutoFocus"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_floating_focus_manager.RdxFloatingFocusManager; inputs: {}; outputs: {}; }]>;
|
|
336
315
|
}
|
|
337
316
|
|
|
338
317
|
/**
|
|
@@ -414,4 +393,4 @@ declare class RdxPopoverModule {
|
|
|
414
393
|
}
|
|
415
394
|
|
|
416
395
|
export { RdxPopoverArrow, RdxPopoverBackdrop, RdxPopoverClose, RdxPopoverDescription, RdxPopoverHandle, RdxPopoverModule, RdxPopoverPopup, RdxPopoverPortal, RdxPopoverPortalMisuseGuard, RdxPopoverPositioner, RdxPopoverRoot, RdxPopoverTitle, RdxPopoverTrigger, RdxPopoverViewport, createRdxPopoverHandle, injectRdxPopoverRootContext, popoverImports, provideRdxPopoverRootContext };
|
|
417
|
-
export type { RdxPopoverModal, RdxPopoverOpenChange, RdxPopoverOpenChangeReason, RdxPopoverRootContext, RdxPopoverTransitionStatus };
|
|
396
|
+
export type { RdxPopoverModal, RdxPopoverOpenChange, RdxPopoverOpenChangeEventDetails, RdxPopoverOpenChangeReason, RdxPopoverRootContext, RdxPopoverTransitionStatus };
|