@radix-ng/primitives 1.0.0-beta.5 → 1.0.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/composite/README.md +3 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +20 -44
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +134 -58
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-composite.mjs +599 -0
- package/fesm2022/radix-ng-primitives-composite.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-drawer.mjs +442 -2
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +315 -68
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +91 -36
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +281 -88
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +40 -15
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +73 -65
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +63 -27
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +56 -25
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +59 -29
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +57 -13
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +335 -73
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +66 -21
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +29 -11
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +68 -36
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/navigation-menu/README.md +5 -2
- package/package.json +6 -10
- package/types/radix-ng-primitives-accordion.d.ts +12 -16
- package/types/radix-ng-primitives-checkbox.d.ts +98 -70
- package/types/radix-ng-primitives-composite.d.ts +195 -0
- package/types/radix-ng-primitives-drawer.d.ts +40 -2
- package/types/radix-ng-primitives-menu.d.ts +46 -16
- package/types/radix-ng-primitives-menubar.d.ts +12 -5
- package/types/radix-ng-primitives-navigation-menu.d.ts +65 -33
- package/types/radix-ng-primitives-popover.d.ts +9 -5
- package/types/radix-ng-primitives-popper.d.ts +1 -0
- package/types/radix-ng-primitives-radio.d.ts +11 -9
- package/types/radix-ng-primitives-scroll-area.d.ts +4 -1
- package/types/radix-ng-primitives-select.d.ts +46 -32
- package/types/radix-ng-primitives-slider.d.ts +19 -4
- package/types/radix-ng-primitives-tabs.d.ts +69 -14
- package/types/radix-ng-primitives-toggle-group.d.ts +27 -16
- package/types/radix-ng-primitives-toggle.d.ts +5 -5
- package/types/radix-ng-primitives-toolbar.d.ts +84 -69
- package/collection/README.md +0 -1
- package/fesm2022/radix-ng-primitives-collection.mjs +0 -72
- package/fesm2022/radix-ng-primitives-collection.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +0 -388
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +0 -1
- package/roving-focus/README.md +0 -3
- package/types/radix-ng-primitives-collection.d.ts +0 -44
- package/types/radix-ng-primitives-roving-focus.d.ts +0 -187
|
@@ -2,17 +2,17 @@ import * as _angular_core from '@angular/core';
|
|
|
2
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 { RdxCancelableChangeEventDetails, RdxTransitionStatus, RdxFloatingRootContext,
|
|
5
|
+
import { RdxCancelableChangeEventDetails, RdxTransitionStatus, RdxFloatingRootContext, NumberInput } from '@radix-ng/primitives/core';
|
|
6
6
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
7
7
|
import { RdxPopperContentWrapper } from '@radix-ng/primitives/popper';
|
|
8
8
|
import * as _radix_ng_primitives_navigation_menu from '@radix-ng/primitives/navigation-menu';
|
|
9
|
-
import * as i1$2 from '@radix-ng/primitives/
|
|
9
|
+
import * as i1$2 from '@radix-ng/primitives/composite';
|
|
10
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
|
|
14
14
|
* `document.body`) while the menu is open, and keeps it mounted until any CSS exit `@keyframes`
|
|
15
|
-
* finishes.
|
|
15
|
+
* finishes. Set `[keepMounted]="true"` to keep the portal mounted while closed.
|
|
16
16
|
*
|
|
17
17
|
* Apply it with the `*` microsyntax on the positioner —
|
|
18
18
|
* `<div *rdxNavigationMenuPortal rdxNavigationMenuPositioner>` — or as an explicit
|
|
@@ -20,8 +20,14 @@ import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer'
|
|
|
20
20
|
* `[container]`.
|
|
21
21
|
*/
|
|
22
22
|
declare class RdxNavigationMenuPortal {
|
|
23
|
+
private readonly rootContext;
|
|
24
|
+
/**
|
|
25
|
+
* Keep the portal mounted while the menu is closed.
|
|
26
|
+
*/
|
|
27
|
+
readonly keepMounted: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
28
|
+
readonly present: _angular_core.Signal<boolean>;
|
|
23
29
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuPortal, never>;
|
|
24
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPortal, "ng-template[rdxNavigationMenuPortal]", ["rdxNavigationMenuPortal"], {}, {}, never, never, true, [{ directive: typeof i1.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
30
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPortal, "ng-template[rdxNavigationMenuPortal]", ["rdxNavigationMenuPortal"], { "keepMounted": { "alias": "keepMounted"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RdxPortalPresence; inputs: { "container": "container"; }; outputs: {}; }]>;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
27
33
|
* Dev-mode guard: `rdxNavigationMenuPortal` used to be an attribute directive on a `<div>`. It is now
|
|
@@ -36,7 +42,7 @@ declare class RdxNavigationMenuPortalMisuseGuard {
|
|
|
36
42
|
|
|
37
43
|
type NavigationMenuOrientation = 'horizontal' | 'vertical';
|
|
38
44
|
type NavigationMenuDirection = 'ltr' | 'rtl';
|
|
39
|
-
type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-
|
|
45
|
+
type RdxNavigationMenuOpenChangeReason = 'trigger-hover' | 'trigger-press' | 'list-navigation' | 'outside-press' | 'focus-out' | 'escape-key' | 'link-select' | 'list-leave' | 'none';
|
|
40
46
|
type RdxNavigationMenuOpenChangeEventDetails = RdxCancelableChangeEventDetails<RdxNavigationMenuOpenChangeReason>;
|
|
41
47
|
interface RdxNavigationMenuOpenChange {
|
|
42
48
|
value: string | null;
|
|
@@ -62,7 +68,6 @@ interface RdxNavigationMenuRootContext {
|
|
|
62
68
|
readonly baseId: string;
|
|
63
69
|
readonly orientation: Signal<NavigationMenuOrientation>;
|
|
64
70
|
readonly dir: Signal<NavigationMenuDirection>;
|
|
65
|
-
readonly loop: Signal<boolean>;
|
|
66
71
|
/** Value of the currently open item, or `null` when closed. */
|
|
67
72
|
readonly value: Signal<string | null>;
|
|
68
73
|
/** Value of the previously open item (used for slide-direction morphing). */
|
|
@@ -74,7 +79,14 @@ interface RdxNavigationMenuRootContext {
|
|
|
74
79
|
/** The active trigger element the popup is anchored to. */
|
|
75
80
|
readonly trigger: Signal<HTMLElement | undefined>;
|
|
76
81
|
readonly triggers: Signal<HTMLElement[]>;
|
|
82
|
+
readonly list: Signal<HTMLElement | undefined>;
|
|
83
|
+
readonly contents: Signal<Map<string, RdxNavigationMenuContentEntry>>;
|
|
77
84
|
readonly activeContent: Signal<RdxNavigationMenuContentEntry | undefined>;
|
|
85
|
+
readonly popup: Signal<HTMLElement | undefined>;
|
|
86
|
+
readonly size: Signal<{
|
|
87
|
+
width: number;
|
|
88
|
+
height: number;
|
|
89
|
+
} | null>;
|
|
78
90
|
contentId(value: string): string;
|
|
79
91
|
triggerId(value: string): string;
|
|
80
92
|
setValue(value: string | null, reason?: RdxNavigationMenuOpenChangeReason, event?: Event): void;
|
|
@@ -85,8 +97,14 @@ interface RdxNavigationMenuRootContext {
|
|
|
85
97
|
closeOnHover(event?: PointerEvent): void;
|
|
86
98
|
cancelHoverOpen(): void;
|
|
87
99
|
cancelHoverClose(): void;
|
|
100
|
+
setSize(size: {
|
|
101
|
+
width: number;
|
|
102
|
+
height: number;
|
|
103
|
+
} | null): void;
|
|
88
104
|
registerTrigger(value: string, trigger: HTMLElement): () => void;
|
|
105
|
+
registerList(list: HTMLElement): () => void;
|
|
89
106
|
registerContent(entry: RdxNavigationMenuContentEntry): () => void;
|
|
107
|
+
registerPopup(element: HTMLElement): () => void;
|
|
90
108
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
91
109
|
registerViewport(onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void): () => void;
|
|
92
110
|
}
|
|
@@ -127,10 +145,6 @@ declare class RdxNavigationMenuRoot {
|
|
|
127
145
|
*/
|
|
128
146
|
readonly dirInput: _angular_core.InputSignal<NavigationMenuDirection | undefined>;
|
|
129
147
|
readonly dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
130
|
-
/**
|
|
131
|
-
* Whether keyboard navigation loops from the last item back to the first and vice versa.
|
|
132
|
-
*/
|
|
133
|
-
readonly loop: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
134
148
|
/**
|
|
135
149
|
* How long to wait before opening the menu on hover, in milliseconds.
|
|
136
150
|
*/
|
|
@@ -164,7 +178,13 @@ declare class RdxNavigationMenuRoot {
|
|
|
164
178
|
readonly present: _angular_core.Signal<boolean>;
|
|
165
179
|
readonly trigger: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
166
180
|
readonly triggers: _angular_core.WritableSignal<HTMLElement[]>;
|
|
181
|
+
readonly list: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
167
182
|
readonly contents: _angular_core.WritableSignal<Map<string, RdxNavigationMenuContentEntry>>;
|
|
183
|
+
readonly popup: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
184
|
+
readonly size: _angular_core.WritableSignal<{
|
|
185
|
+
width: number;
|
|
186
|
+
height: number;
|
|
187
|
+
} | null>;
|
|
168
188
|
readonly activeContent: _angular_core.Signal<RdxNavigationMenuContentEntry | undefined>;
|
|
169
189
|
private readonly registeredTriggers;
|
|
170
190
|
private readonly viewportTriggerChange;
|
|
@@ -180,7 +200,13 @@ declare class RdxNavigationMenuRoot {
|
|
|
180
200
|
cancelHoverOpen(): void;
|
|
181
201
|
cancelHoverClose(): void;
|
|
182
202
|
registerTrigger(value: string, trigger: HTMLElement): () => void;
|
|
203
|
+
registerList(list: HTMLElement): () => void;
|
|
183
204
|
registerContent(entry: RdxNavigationMenuContentEntry): () => void;
|
|
205
|
+
registerPopup(element: HTMLElement): () => void;
|
|
206
|
+
setSize(size: {
|
|
207
|
+
width: number;
|
|
208
|
+
height: number;
|
|
209
|
+
} | null): void;
|
|
184
210
|
registerTransitionElement(element: HTMLElement): () => void;
|
|
185
211
|
registerViewport(onTriggerChange: (previous: HTMLElement, next: HTMLElement) => void): () => boolean;
|
|
186
212
|
private createOpenChangeEvent;
|
|
@@ -190,19 +216,20 @@ declare class RdxNavigationMenuRoot {
|
|
|
190
216
|
private clearCloseTimer;
|
|
191
217
|
private isInsideOpenChild;
|
|
192
218
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuRoot, never>;
|
|
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; }; "
|
|
219
|
+
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; }; "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: {}; }]>;
|
|
194
220
|
}
|
|
195
221
|
|
|
196
222
|
/**
|
|
197
|
-
* Contains the navigation menu items
|
|
223
|
+
* Contains the navigation menu items and coordinates composite keyboard focus between triggers.
|
|
198
224
|
*/
|
|
199
225
|
declare class RdxNavigationMenuList {
|
|
200
226
|
protected readonly rootContext: _radix_ng_primitives_navigation_menu.RdxNavigationMenuRootContext;
|
|
201
|
-
private readonly
|
|
227
|
+
private readonly compositeRoot;
|
|
202
228
|
constructor();
|
|
229
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
203
230
|
protected onPointerLeave(event: PointerEvent): void;
|
|
204
231
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuList, never>;
|
|
205
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuList, "[rdxNavigationMenuList]", never, {}, {}, never, never, true, [{ directive: typeof i1$2.
|
|
232
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuList, "[rdxNavigationMenuList]", never, {}, {}, never, never, true, [{ directive: typeof i1$2.RdxCompositeRoot; inputs: {}; outputs: {}; }]>;
|
|
206
233
|
}
|
|
207
234
|
|
|
208
235
|
/**
|
|
@@ -229,8 +256,7 @@ declare class RdxNavigationMenuItem {
|
|
|
229
256
|
*/
|
|
230
257
|
declare class RdxNavigationMenuTrigger {
|
|
231
258
|
protected readonly item: RdxNavigationMenuItem;
|
|
232
|
-
|
|
233
|
-
private readonly rovingFocusItem;
|
|
259
|
+
protected readonly rootContext: _radix_ng_primitives_navigation_menu.RdxNavigationMenuRootContext;
|
|
234
260
|
private readonly elementRef;
|
|
235
261
|
private readonly document;
|
|
236
262
|
/**
|
|
@@ -246,18 +272,12 @@ declare class RdxNavigationMenuTrigger {
|
|
|
246
272
|
protected onClick(event: MouseEvent): void;
|
|
247
273
|
protected onPointerEnter(event: PointerEvent): void;
|
|
248
274
|
protected onPointerLeave(event: PointerEvent): void;
|
|
249
|
-
/**
|
|
250
|
-
* Open-follows-focus: while the menu is already open, moving keyboard focus (arrow keys via
|
|
251
|
-
* roving) to another trigger switches the shared popup to that item — matching Base UI, so the
|
|
252
|
-
* open menu visibly responds to arrow-key navigation. Focus never *opens* a closed menu.
|
|
253
|
-
*/
|
|
254
|
-
protected onFocus(): void;
|
|
255
275
|
protected onKeydown(event: KeyboardEvent): void;
|
|
256
276
|
/** The key that moves focus from the trigger into the open content, based on orientation/dir. */
|
|
257
277
|
private entryKey;
|
|
258
278
|
private focusContent;
|
|
259
279
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuTrigger, never>;
|
|
260
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuTrigger, "button[rdxNavigationMenuTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "openOnHover": { "alias": "openOnHover"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$2.
|
|
280
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuTrigger, "button[rdxNavigationMenuTrigger]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "openOnHover": { "alias": "openOnHover"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$2.RdxCompositeItem; inputs: {}; outputs: {}; }]>;
|
|
261
281
|
}
|
|
262
282
|
|
|
263
283
|
/**
|
|
@@ -297,10 +317,10 @@ declare class RdxNavigationMenuContent {
|
|
|
297
317
|
}
|
|
298
318
|
|
|
299
319
|
/**
|
|
300
|
-
* A navigation link.
|
|
320
|
+
* A navigation link. Can close the menu on selection when `closeOnClick` is enabled.
|
|
301
321
|
*
|
|
302
|
-
* Used both as a top-level
|
|
303
|
-
*
|
|
322
|
+
* Used both as a top-level navigation item and inside content. Top-level links join the list's
|
|
323
|
+
* composite collection, matching Base UI's CompositeItem-backed NavigationMenu.Link.
|
|
304
324
|
*/
|
|
305
325
|
declare class RdxNavigationMenuLink {
|
|
306
326
|
private readonly rootContext;
|
|
@@ -320,7 +340,7 @@ declare class RdxNavigationMenuLink {
|
|
|
320
340
|
protected onClick(event: Event): void;
|
|
321
341
|
protected onKeydown(event: KeyboardEvent): void;
|
|
322
342
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuLink, never>;
|
|
323
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuLink, "[rdxNavigationMenuLink]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; }, never, never, true,
|
|
343
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuLink, "[rdxNavigationMenuLink]", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "closeOnClick": { "alias": "closeOnClick"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; }, never, never, true, [{ directive: typeof i1$2.RdxCompositeItem; inputs: {}; outputs: {}; }]>;
|
|
324
344
|
}
|
|
325
345
|
|
|
326
346
|
/**
|
|
@@ -328,6 +348,7 @@ declare class RdxNavigationMenuLink {
|
|
|
328
348
|
*/
|
|
329
349
|
declare class RdxNavigationMenuBackdrop {
|
|
330
350
|
protected readonly rootContext: _radix_ng_primitives_navigation_menu.RdxNavigationMenuRootContext;
|
|
351
|
+
constructor();
|
|
331
352
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuBackdrop, never>;
|
|
332
353
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuBackdrop, "[rdxNavigationMenuBackdrop]", never, {}, {}, never, never, true, never>;
|
|
333
354
|
}
|
|
@@ -362,8 +383,7 @@ declare class RdxNavigationMenuPopup {
|
|
|
362
383
|
private readonly elementRef;
|
|
363
384
|
protected readonly side: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
364
385
|
protected readonly align: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
365
|
-
|
|
366
|
-
protected readonly labelledBy: _angular_core.Signal<string | undefined>;
|
|
386
|
+
protected readonly id: _angular_core.Signal<string>;
|
|
367
387
|
/**
|
|
368
388
|
* Event handler called when the escape key is down. Can be prevented.
|
|
369
389
|
*/
|
|
@@ -379,11 +399,15 @@ declare class RdxNavigationMenuPopup {
|
|
|
379
399
|
constructor();
|
|
380
400
|
protected onPointerLeave(event: PointerEvent): void;
|
|
381
401
|
/**
|
|
382
|
-
* Keyboard navigation inside the open panel
|
|
383
|
-
* DOM order, Home/End jump to the first/last,
|
|
384
|
-
*
|
|
402
|
+
* Keyboard navigation inside the open panel mirrors Base UI's CompositeRoot-backed content:
|
|
403
|
+
* arrow keys move between panel focusables in DOM order, Home/End jump to the first/last, Up from
|
|
404
|
+
* the first item returns focus to the trigger, and Tab exits the portalled panel through the
|
|
405
|
+
* logical top-level navigation order. Escape is handled by the dismissal capability.
|
|
385
406
|
*/
|
|
386
407
|
protected onKeydown(event: KeyboardEvent): void;
|
|
408
|
+
private handleTabKey;
|
|
409
|
+
private getNextTopLevelItem;
|
|
410
|
+
private getTopLevelItems;
|
|
387
411
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuPopup, never>;
|
|
388
412
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuPopup, "[rdxNavigationMenuPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; "focusOutside": "focusOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }]>;
|
|
389
413
|
}
|
|
@@ -422,13 +446,21 @@ declare class RdxNavigationMenuViewport {
|
|
|
422
446
|
height: number;
|
|
423
447
|
} | null>;
|
|
424
448
|
private current;
|
|
449
|
+
private readonly rendered;
|
|
425
450
|
private previousElement;
|
|
426
451
|
private pendingDirection;
|
|
427
452
|
private cleanupTimer;
|
|
428
453
|
private readonly resizeObserver;
|
|
429
454
|
private readonly activeContent;
|
|
455
|
+
private readonly contents;
|
|
430
456
|
constructor();
|
|
457
|
+
private sync;
|
|
431
458
|
private render;
|
|
459
|
+
private createRendered;
|
|
460
|
+
private deactivateCurrent;
|
|
461
|
+
private markCurrent;
|
|
462
|
+
private markInactive;
|
|
463
|
+
private destroyRendered;
|
|
432
464
|
private startLeave;
|
|
433
465
|
private removePrevious;
|
|
434
466
|
private clearCleanupTimer;
|
|
@@ -437,7 +469,7 @@ declare class RdxNavigationMenuViewport {
|
|
|
437
469
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxNavigationMenuViewport, "[rdxNavigationMenuViewport]", never, { "forceMount": { "alias": "forceMount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
438
470
|
}
|
|
439
471
|
|
|
440
|
-
declare const navigationMenuImports: (typeof
|
|
472
|
+
declare const navigationMenuImports: (typeof RdxNavigationMenuPortalMisuseGuard)[];
|
|
441
473
|
declare class RdxNavigationMenuModule {
|
|
442
474
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxNavigationMenuModule, never>;
|
|
443
475
|
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RdxNavigationMenuModule, never, [typeof RdxNavigationMenuRoot, typeof RdxNavigationMenuList, typeof RdxNavigationMenuItem, typeof RdxNavigationMenuTrigger, typeof RdxNavigationMenuIcon, typeof RdxNavigationMenuContent, typeof RdxNavigationMenuLink, typeof RdxNavigationMenuPortal, typeof RdxNavigationMenuPortalMisuseGuard, typeof RdxNavigationMenuBackdrop, typeof RdxNavigationMenuPositioner, typeof RdxNavigationMenuPopup, typeof RdxNavigationMenuArrow, typeof RdxNavigationMenuViewport], [typeof RdxNavigationMenuRoot, typeof RdxNavigationMenuList, typeof RdxNavigationMenuItem, typeof RdxNavigationMenuTrigger, typeof RdxNavigationMenuIcon, typeof RdxNavigationMenuContent, typeof RdxNavigationMenuLink, typeof RdxNavigationMenuPortal, typeof RdxNavigationMenuPortalMisuseGuard, typeof RdxNavigationMenuBackdrop, typeof RdxNavigationMenuPositioner, typeof RdxNavigationMenuPopup, typeof RdxNavigationMenuArrow, typeof RdxNavigationMenuViewport]>;
|
|
@@ -311,7 +311,7 @@ declare class RdxPopoverPopup {
|
|
|
311
311
|
readonly closeAutoFocus: _angular_core.OutputRef<Event>;
|
|
312
312
|
constructor();
|
|
313
313
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverPopup, never>;
|
|
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: {}; }]>;
|
|
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: { "initialFocus": "initialFocus"; "returnFocus": "finalFocus"; }; outputs: {}; }]>;
|
|
315
315
|
}
|
|
316
316
|
|
|
317
317
|
/**
|
|
@@ -332,10 +332,12 @@ declare class RdxPopoverArrow {
|
|
|
332
332
|
*/
|
|
333
333
|
declare class RdxPopoverTitle {
|
|
334
334
|
private readonly rootContext;
|
|
335
|
-
readonly
|
|
335
|
+
private readonly generatedId;
|
|
336
|
+
readonly idInput: _angular_core.InputSignal<string | undefined>;
|
|
337
|
+
readonly id: _angular_core.Signal<string>;
|
|
336
338
|
constructor();
|
|
337
339
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverTitle, never>;
|
|
338
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverTitle, "[rdxPopoverTitle]", never, {}, {}, never, never, true, never>;
|
|
340
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverTitle, "[rdxPopoverTitle]", never, { "idInput": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
339
341
|
}
|
|
340
342
|
|
|
341
343
|
/**
|
|
@@ -343,10 +345,12 @@ declare class RdxPopoverTitle {
|
|
|
343
345
|
*/
|
|
344
346
|
declare class RdxPopoverDescription {
|
|
345
347
|
private readonly rootContext;
|
|
346
|
-
readonly
|
|
348
|
+
private readonly generatedId;
|
|
349
|
+
readonly idInput: _angular_core.InputSignal<string | undefined>;
|
|
350
|
+
readonly id: _angular_core.Signal<string>;
|
|
347
351
|
constructor();
|
|
348
352
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopoverDescription, never>;
|
|
349
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverDescription, "[rdxPopoverDescription]", never, {}, {}, never, never, true, never>;
|
|
353
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopoverDescription, "[rdxPopoverDescription]", never, { "idInput": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
350
354
|
}
|
|
351
355
|
|
|
352
356
|
/**
|
|
@@ -169,6 +169,7 @@ declare class RdxPopperContentWrapper {
|
|
|
169
169
|
private readonly detectOverflowOptions;
|
|
170
170
|
private readonly resolvedAnchor;
|
|
171
171
|
private readonly position;
|
|
172
|
+
private positionParams;
|
|
172
173
|
/**
|
|
173
174
|
* The last successfully computed position, retained while a new one is being computed.
|
|
174
175
|
*
|
|
@@ -2,10 +2,10 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { ModelSignal, InputSignal, InputSignalWithTransform, Signal, InjectionToken } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import { BooleanInput, RdxFormValueControl, RdxCancelableChangeEventDetails } from '@radix-ng/primitives/core';
|
|
5
|
-
import * as i1 from '@radix-ng/primitives/
|
|
6
|
-
import { Orientation } from '@radix-ng/primitives/roving-focus';
|
|
5
|
+
import * as i1 from '@radix-ng/primitives/composite';
|
|
7
6
|
import * as i1$1 from '@radix-ng/primitives/visually-hidden';
|
|
8
7
|
|
|
8
|
+
type RdxRadioValueChangeReason = 'none';
|
|
9
9
|
interface RadioGroupProps {
|
|
10
10
|
value: ModelSignal<string | null>;
|
|
11
11
|
defaultValue: InputSignal<string | undefined>;
|
|
@@ -14,23 +14,23 @@ interface RadioGroupProps {
|
|
|
14
14
|
disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
15
15
|
readonly: InputSignalWithTransform<boolean, BooleanInput>;
|
|
16
16
|
required: InputSignalWithTransform<boolean, BooleanInput>;
|
|
17
|
-
orientation: InputSignal<Orientation | undefined>;
|
|
18
17
|
disabledState: Signal<boolean>;
|
|
19
18
|
}
|
|
20
19
|
interface RadioGroupDirective extends RadioGroupProps {
|
|
21
|
-
select(value: string | null, event?: Event, reason?:
|
|
20
|
+
select(value: string | null, event?: Event, reason?: RdxRadioValueChangeReason): void;
|
|
22
21
|
onTouched(): void;
|
|
23
22
|
setArrowNavigation(value: boolean): void;
|
|
24
23
|
isArrowNavigation(): boolean;
|
|
25
24
|
}
|
|
26
25
|
|
|
27
|
-
type RdxRadioValueChangeReason = 'trigger-press' | 'keyboard' | 'focus' | 'none';
|
|
28
26
|
type RdxRadioValueChangeEventDetails = RdxCancelableChangeEventDetails<RdxRadioValueChangeReason>;
|
|
29
27
|
interface RdxRadioValueChangeEvent {
|
|
30
28
|
value: string;
|
|
31
29
|
eventDetails: RdxRadioValueChangeEventDetails;
|
|
32
30
|
}
|
|
33
31
|
declare class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirective, ControlValueAccessor, RdxFormValueControl<string | null> {
|
|
32
|
+
private readonly elementRef;
|
|
33
|
+
private readonly compositeRoot;
|
|
34
34
|
readonly value: _angular_core.ModelSignal<string | null>;
|
|
35
35
|
readonly defaultValue: _angular_core.InputSignal<string | undefined>;
|
|
36
36
|
readonly name: _angular_core.InputSignal<string | undefined>;
|
|
@@ -38,7 +38,6 @@ declare class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirec
|
|
|
38
38
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
39
39
|
readonly readonly: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
40
40
|
readonly required: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
41
|
-
readonly orientation: _angular_core.InputSignal<Orientation | undefined>;
|
|
42
41
|
/**
|
|
43
42
|
* Event handler called when the value changes.
|
|
44
43
|
*/
|
|
@@ -46,6 +45,9 @@ declare class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirec
|
|
|
46
45
|
private readonly disable;
|
|
47
46
|
readonly disabledState: _angular_core.Signal<boolean>;
|
|
48
47
|
private readonly arrowNavigation;
|
|
48
|
+
private readonly itemMetadata;
|
|
49
|
+
private readonly disabledIndices;
|
|
50
|
+
private readonly activeIndex;
|
|
49
51
|
/**
|
|
50
52
|
* The callback function to call when the value of the radio group changes.
|
|
51
53
|
*/
|
|
@@ -86,7 +88,7 @@ declare class RdxRadioGroupDirective implements RadioGroupProps, RadioGroupDirec
|
|
|
86
88
|
isArrowNavigation(): boolean;
|
|
87
89
|
protected onKeydown(): void;
|
|
88
90
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxRadioGroupDirective, never>;
|
|
89
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRadioGroupDirective, "[rdxRadioRoot]", ["rdxRadioRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "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; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; };
|
|
91
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRadioGroupDirective, "[rdxRadioRoot]", ["rdxRadioRoot"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "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; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "onValueChange": "onValueChange"; }, never, never, true, [{ directive: typeof i1.RdxCompositeRoot; inputs: {}; outputs: {}; }]>;
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
declare const RdxRadioItemToken: InjectionToken<RdxRadioItemDirective>;
|
|
@@ -95,7 +97,7 @@ declare class RdxRadioItemDirective {
|
|
|
95
97
|
private readonly radioGroup;
|
|
96
98
|
private readonly elementRef;
|
|
97
99
|
private readonly renderer;
|
|
98
|
-
private readonly
|
|
100
|
+
private readonly compositeItem;
|
|
99
101
|
private readonly destroyRef;
|
|
100
102
|
private readonly inputElement;
|
|
101
103
|
private previousCheckedState;
|
|
@@ -126,7 +128,7 @@ declare class RdxRadioItemDirective {
|
|
|
126
128
|
private setOptionalAttribute;
|
|
127
129
|
private setBooleanAttribute;
|
|
128
130
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxRadioItemDirective, never>;
|
|
129
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRadioItemDirective, "[rdxRadioItem]", ["rdxRadioItem"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "nativeButton": { "alias": "nativeButton"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.
|
|
131
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRadioItemDirective, "[rdxRadioItem]", ["rdxRadioItem"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "nativeButton": { "alias": "nativeButton"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RdxCompositeItem; inputs: {}; outputs: {}; }]>;
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
declare class RdxRadioIndicatorDirective {
|
|
@@ -42,6 +42,7 @@ interface ScrollAreaRootContext {
|
|
|
42
42
|
yStart: number;
|
|
43
43
|
yEnd: number;
|
|
44
44
|
}>;
|
|
45
|
+
readonly disableStyleElements: Signal<boolean>;
|
|
45
46
|
readonly hovering: Signal<boolean>;
|
|
46
47
|
readonly scrollingX: Signal<boolean>;
|
|
47
48
|
readonly scrollingY: Signal<boolean>;
|
|
@@ -90,6 +91,7 @@ declare class RdxScrollAreaRoot {
|
|
|
90
91
|
* Accepts a single number for all edges or an object to configure them individually.
|
|
91
92
|
*/
|
|
92
93
|
readonly overflowEdgeThreshold: _angular_core.InputSignal<OverflowEdgeThreshold>;
|
|
94
|
+
readonly disableStyleElements: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
93
95
|
readonly normalizedThreshold: Signal<{
|
|
94
96
|
xStart: number;
|
|
95
97
|
xEnd: number;
|
|
@@ -135,7 +137,7 @@ declare class RdxScrollAreaRoot {
|
|
|
135
137
|
onTouchModalityChange(event: PointerEvent): void;
|
|
136
138
|
onPointerEnterOrMove(event: PointerEvent): void;
|
|
137
139
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxScrollAreaRoot, never>;
|
|
138
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxScrollAreaRoot, "[rdxScrollAreaRoot]", ["rdxScrollAreaRoot"], { "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "overflowEdgeThreshold": { "alias": "overflowEdgeThreshold"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
140
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxScrollAreaRoot, "[rdxScrollAreaRoot]", ["rdxScrollAreaRoot"], { "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "overflowEdgeThreshold": { "alias": "overflowEdgeThreshold"; "required": false; "isSignal": true; }; "disableStyleElements": { "alias": "disableStyleElements"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
139
141
|
}
|
|
140
142
|
|
|
141
143
|
interface ScrollAreaViewportContext {
|
|
@@ -155,6 +157,7 @@ declare class RdxScrollAreaViewport {
|
|
|
155
157
|
private readonly element;
|
|
156
158
|
private readonly destroyRef;
|
|
157
159
|
private readonly isBrowser;
|
|
160
|
+
private readonly cspNonce;
|
|
158
161
|
private programmaticScroll;
|
|
159
162
|
private lastMeasuredMetrics;
|
|
160
163
|
private scrollEndTimer;
|
|
@@ -5,14 +5,14 @@ import { AcceptableValue, RdxCancelableChangeEventDetails, RdxFloatingRootContex
|
|
|
5
5
|
import * as _radix_ng_primitives_select from '@radix-ng/primitives/select';
|
|
6
6
|
import * as _radix_ng_primitives_floating_focus_manager from '@radix-ng/primitives/floating-focus-manager';
|
|
7
7
|
import { RdxInteractionType } from '@radix-ng/primitives/floating-focus-manager';
|
|
8
|
-
import * as i1 from '@radix-ng/primitives/
|
|
9
|
-
import {
|
|
8
|
+
import * as i1 from '@radix-ng/primitives/composite';
|
|
9
|
+
import { RdxCompositeItemRegistration } from '@radix-ng/primitives/composite';
|
|
10
10
|
import { RdxOutsidePressDomEvent } from '@radix-ng/primitives/dismissable-layer';
|
|
11
11
|
import * as i1$1 from '@radix-ng/primitives/popper';
|
|
12
12
|
import { RdxPopperContentWrapper } from '@radix-ng/primitives/popper';
|
|
13
13
|
import * as _radix_ng_primitives_types_radix_ng_primitives_floating_focus_manager from '@radix-ng/primitives/types/radix-ng-primitives-floating-focus-manager';
|
|
14
14
|
import * as _radix_ng_primitives_types_radix_ng_primitives_core from '@radix-ng/primitives/types/radix-ng-primitives-core';
|
|
15
|
-
import * as
|
|
15
|
+
import * as _radix_ng_primitives_types_radix_ng_primitives_composite from '@radix-ng/primitives/types/radix-ng-primitives-composite';
|
|
16
16
|
import * as i1$2 from '@radix-ng/primitives/portal';
|
|
17
17
|
|
|
18
18
|
declare class RdxSelectGroupLabel {
|
|
@@ -107,7 +107,7 @@ type SelectEvent = CustomEvent<{
|
|
|
107
107
|
declare class RdxSelectItem {
|
|
108
108
|
private readonly rootContext;
|
|
109
109
|
private readonly contentContext;
|
|
110
|
-
private readonly
|
|
110
|
+
private readonly listItem;
|
|
111
111
|
private readonly currentElement;
|
|
112
112
|
readonly value: _angular_core.InputSignal<any>;
|
|
113
113
|
readonly textValue: _angular_core.InputSignal<string>;
|
|
@@ -121,12 +121,13 @@ declare class RdxSelectItem {
|
|
|
121
121
|
readonly textId: string;
|
|
122
122
|
private readonly afterNextRender;
|
|
123
123
|
private SELECT_SELECT;
|
|
124
|
+
constructor();
|
|
124
125
|
onPointerUp(event: PointerEvent | KeyboardEvent): void;
|
|
125
126
|
onPointerLeave(event: Event): void;
|
|
126
127
|
onPointerMove(event: Event): void;
|
|
127
128
|
handleKeyDown(event: Event): void;
|
|
128
129
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectItem, never>;
|
|
129
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItem, "[rdxSelectItem]", ["rdxSelectItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "textValue": { "alias": "textValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.
|
|
130
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectItem, "[rdxSelectItem]", ["rdxSelectItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "textValue": { "alias": "textValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RdxCompositeListItem; inputs: {}; outputs: {}; }]>;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
133
|
declare class RdxSelectItemIndicator {
|
|
@@ -180,9 +181,10 @@ declare class RdxSelectItemText {
|
|
|
180
181
|
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
181
182
|
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
182
183
|
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
items: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_composite.RdxCompositeItemRegistration<_radix_ng_primitives_select.RdxSelectItemMetadata>[]>;
|
|
185
|
+
highlightedItem: _angular_core.Signal<_radix_ng_primitives_types_radix_ng_primitives_composite.RdxCompositeItemRegistration<_radix_ng_primitives_select.RdxSelectItemMetadata> | null>;
|
|
186
|
+
isHighlighted: (element: HTMLElement) => boolean;
|
|
187
|
+
highlightItem: (element: HTMLElement) => void;
|
|
186
188
|
isKeyboardActive: () => boolean;
|
|
187
189
|
setKeyboardActive: (value: boolean) => void;
|
|
188
190
|
onViewportChange: (node: any) => void;
|
|
@@ -217,15 +219,31 @@ declare class RdxSelectList {
|
|
|
217
219
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectList, "[rdxSelectList]", never, {}, {}, never, never, true, never>;
|
|
218
220
|
}
|
|
219
221
|
|
|
222
|
+
declare const OPEN_KEYS: string[];
|
|
223
|
+
declare const SELECTION_KEYS: string[];
|
|
224
|
+
declare const CONTENT_MARGIN = 10;
|
|
225
|
+
interface RdxSelectItemMetadata {
|
|
226
|
+
[key: string]: unknown;
|
|
227
|
+
value: any;
|
|
228
|
+
disabled: boolean;
|
|
229
|
+
textValue?: string;
|
|
230
|
+
}
|
|
231
|
+
declare function valueComparator<T>(value: T | T[] | undefined, currentValue: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
232
|
+
declare function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
233
|
+
declare function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean;
|
|
234
|
+
declare function focusFirst(candidates: HTMLElement[]): void;
|
|
235
|
+
|
|
236
|
+
type RdxSelectCompositeItem = RdxCompositeItemRegistration<RdxSelectItemMetadata>;
|
|
220
237
|
declare const context$1: () => {
|
|
221
238
|
content: _angular_core.WritableSignal<HTMLElement | null>;
|
|
222
239
|
viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
223
240
|
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
224
241
|
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
225
242
|
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
243
|
+
items: Signal<RdxSelectCompositeItem[]>;
|
|
244
|
+
highlightedItem: Signal<RdxSelectCompositeItem | null>;
|
|
245
|
+
isHighlighted: (element: HTMLElement) => boolean;
|
|
246
|
+
highlightItem: (element: HTMLElement) => void;
|
|
229
247
|
isKeyboardActive: () => boolean;
|
|
230
248
|
setKeyboardActive: (value: boolean) => void;
|
|
231
249
|
onViewportChange: (node: any) => void;
|
|
@@ -240,9 +258,10 @@ declare const injectSelectPopupContext: _radix_ng_primitives_core.InjectContext<
|
|
|
240
258
|
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
241
259
|
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
242
260
|
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
261
|
+
items: Signal<RdxSelectCompositeItem[]>;
|
|
262
|
+
highlightedItem: Signal<RdxSelectCompositeItem | null>;
|
|
263
|
+
isHighlighted: (element: HTMLElement) => boolean;
|
|
264
|
+
highlightItem: (element: HTMLElement) => void;
|
|
246
265
|
isKeyboardActive: () => boolean;
|
|
247
266
|
setKeyboardActive: (value: boolean) => void;
|
|
248
267
|
onViewportChange: (node: any) => void;
|
|
@@ -256,9 +275,10 @@ declare const provideSelectPopupContext: (useFactory: () => {
|
|
|
256
275
|
isPositioned: _angular_core.WritableSignal<boolean>;
|
|
257
276
|
selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
258
277
|
selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
278
|
+
items: Signal<RdxSelectCompositeItem[]>;
|
|
279
|
+
highlightedItem: Signal<RdxSelectCompositeItem | null>;
|
|
280
|
+
isHighlighted: (element: HTMLElement) => boolean;
|
|
281
|
+
highlightItem: (element: HTMLElement) => void;
|
|
262
282
|
isKeyboardActive: () => boolean;
|
|
263
283
|
setKeyboardActive: (value: boolean) => void;
|
|
264
284
|
onViewportChange: (node: any) => void;
|
|
@@ -294,7 +314,7 @@ declare class RdxSelectPopup {
|
|
|
294
314
|
private readonly floatingContext;
|
|
295
315
|
private readonly registration;
|
|
296
316
|
private readonly currentElement;
|
|
297
|
-
private readonly
|
|
317
|
+
private readonly compositeList;
|
|
298
318
|
private readonly injector;
|
|
299
319
|
readonly rootContext: {
|
|
300
320
|
triggerElement: _angular_core.WritableSignal<HTMLElement | null>;
|
|
@@ -329,22 +349,23 @@ declare class RdxSelectPopup {
|
|
|
329
349
|
};
|
|
330
350
|
/**
|
|
331
351
|
* The collected items (DOM order). Exposed so the `item-aligned` positioner — now the popup's
|
|
332
|
-
* **ancestor** — can read them without injecting
|
|
333
|
-
*
|
|
352
|
+
* **ancestor** — can read them without injecting the composite list (which the popup provides as
|
|
353
|
+
* a descendant, so an upward `inject` would not find it).
|
|
334
354
|
*/
|
|
335
|
-
readonly items: Signal<
|
|
355
|
+
readonly items: Signal<RdxSelectCompositeItem[]>;
|
|
336
356
|
/**
|
|
337
357
|
* Highlight-model navigation over the collected items (DOM order). `loop` is disabled so arrow
|
|
338
358
|
* navigation stops at the first / last item instead of wrapping around — matching native
|
|
339
359
|
* `<select>` behavior.
|
|
340
360
|
*/
|
|
341
|
-
readonly highlight: _radix_ng_primitives_core.ListHighlight<
|
|
361
|
+
readonly highlight: _radix_ng_primitives_core.ListHighlight<RdxSelectCompositeItem>;
|
|
342
362
|
readonly selectedItem: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
343
363
|
readonly selectedItemText: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
344
364
|
readonly firstValidItemFoundRef: _angular_core.WritableSignal<boolean>;
|
|
345
365
|
readonly viewport: _angular_core.WritableSignal<HTMLElement | undefined>;
|
|
346
366
|
readonly isPositioned: _angular_core.WritableSignal<boolean>;
|
|
347
367
|
private keyboardActive;
|
|
368
|
+
private hasHighlightedOpen;
|
|
348
369
|
/**
|
|
349
370
|
* Event handler called when the escape key is down.
|
|
350
371
|
* Can be prevented.
|
|
@@ -365,12 +386,13 @@ declare class RdxSelectPopup {
|
|
|
365
386
|
constructor();
|
|
366
387
|
/** Highlights the selected item (or the first enabled one) when the popup opens. */
|
|
367
388
|
highlightSelectedItem(): void;
|
|
389
|
+
private highlightSelectedItemAfterPositioned;
|
|
368
390
|
private scrollSelectedIntoView;
|
|
369
391
|
setKeyboardActive(value: boolean): void;
|
|
370
392
|
isKeyboardActive(): boolean;
|
|
371
393
|
handleKeyDown(event: Event): void;
|
|
372
394
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxSelectPopup, never>;
|
|
373
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPopup, "[rdxSelectPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_floating_focus_manager.RdxFloatingFocusManager; inputs: { "returnFocus": "finalFocus"; }; outputs: {}; }, { directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }, { directive: typeof i1.
|
|
395
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectPopup, "[rdxSelectPopup]", never, {}, { "escapeKeyDown": "escapeKeyDown"; "pointerDownOutside": "pointerDownOutside"; }, never, never, true, [{ directive: typeof i1$1.RdxPopperContent; inputs: {}; outputs: {}; }, { directive: typeof _radix_ng_primitives_floating_focus_manager.RdxFloatingFocusManager; inputs: { "returnFocus": "finalFocus"; }; outputs: {}; }, { directive: typeof _radix_ng_primitives_core.RdxFloatingNodeRegistration; inputs: {}; outputs: {}; }, { directive: typeof i1.RdxCompositeList; inputs: {}; outputs: {}; }]>;
|
|
374
396
|
}
|
|
375
397
|
|
|
376
398
|
/**
|
|
@@ -688,15 +710,7 @@ declare class RdxSelectValue {
|
|
|
688
710
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxSelectValue, "span[rdxSelectValue]", ["rdxSelectedValue"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
689
711
|
}
|
|
690
712
|
|
|
691
|
-
declare const OPEN_KEYS: string[];
|
|
692
|
-
declare const SELECTION_KEYS: string[];
|
|
693
|
-
declare const CONTENT_MARGIN = 10;
|
|
694
|
-
declare function valueComparator<T>(value: T | T[] | undefined, currentValue: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
695
|
-
declare function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
696
|
-
declare function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean;
|
|
697
|
-
declare function focusFirst(candidates: HTMLElement[]): void;
|
|
698
|
-
|
|
699
713
|
declare const _importsSelect: (typeof RdxSelectGroupLabel)[];
|
|
700
714
|
|
|
701
715
|
export { CONTENT_MARGIN, OPEN_KEYS, RDX_SELECT_POSITIONER_TOKEN, RdxSelectBackdrop, RdxSelectGroup, RdxSelectGroupLabel, RdxSelectIcon, RdxSelectItem, RdxSelectItemIndicator, RdxSelectItemText, RdxSelectList, RdxSelectPopup, RdxSelectPortal, RdxSelectPortalMisuseGuard, RdxSelectPositioner, RdxSelectRoot, RdxSelectSeparator, RdxSelectTrigger, RdxSelectValue, SELECTION_KEYS, _importsSelect, compare, focusFirst, injectSelectItemContext, injectSelectPopupContext, injectSelectRootContext, provideSelectItemContext, provideSelectPopupContext, provideSelectRootContext, shouldShowPlaceholder, valueComparator };
|
|
702
|
-
export type { RdxPositionerImpl, RdxSelectItemContext, RdxSelectOpenChangeEvent, RdxSelectOpenChangeEventDetails, RdxSelectOpenChangeReason, RdxSelectOpenMethod, RdxSelectPopupContext, RdxSelectRootContext, RdxSelectValueChangeEvent, RdxSelectValueChangeEventDetails, RdxSelectValueChangeReason, SelectEvent, SelectOption };
|
|
716
|
+
export type { RdxPositionerImpl, RdxSelectItemContext, RdxSelectItemMetadata, RdxSelectOpenChangeEvent, RdxSelectOpenChangeEventDetails, RdxSelectOpenChangeReason, RdxSelectOpenMethod, RdxSelectPopupContext, RdxSelectRootContext, RdxSelectValueChangeEvent, RdxSelectValueChangeEventDetails, RdxSelectValueChangeReason, SelectEvent, SelectOption };
|