@radix-ng/primitives 1.0.0-beta.5 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/composite/README.md +3 -0
- package/fesm2022/radix-ng-primitives-accordion.mjs +12 -36
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-composite.mjs +515 -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 +38 -16
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +68 -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-roving-focus.mjs +40 -8
- package/fesm2022/radix-ng-primitives-roving-focus.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 +3 -0
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +50 -21
- 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 +50 -24
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/navigation-menu/README.md +5 -2
- package/package.json +5 -1
- package/types/radix-ng-primitives-accordion.d.ts +9 -13
- package/types/radix-ng-primitives-composite.d.ts +152 -0
- package/types/radix-ng-primitives-drawer.d.ts +40 -2
- package/types/radix-ng-primitives-menu.d.ts +5 -3
- package/types/radix-ng-primitives-menubar.d.ts +10 -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-roving-focus.d.ts +15 -1
- package/types/radix-ng-primitives-scroll-area.d.ts +4 -1
- package/types/radix-ng-primitives-tabs.d.ts +8 -5
- 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 +22 -14
|
@@ -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 {
|
|
@@ -8,6 +8,7 @@ type Direction = 'ltr' | 'rtl';
|
|
|
8
8
|
declare function focusFirst(candidates: HTMLElement[], preventScroll?: boolean, rootNode?: Document | ShadowRoot): void;
|
|
9
9
|
|
|
10
10
|
declare const rootContext: () => {
|
|
11
|
+
enabled: _angular_core.Signal<boolean>;
|
|
11
12
|
loop: _angular_core.Signal<boolean>;
|
|
12
13
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
13
14
|
orientation: _angular_core.Signal<Orientation>;
|
|
@@ -20,6 +21,7 @@ declare const rootContext: () => {
|
|
|
20
21
|
};
|
|
21
22
|
type RovingFocusGroupContext = ReturnType<typeof rootContext>;
|
|
22
23
|
declare const injectRovingFocusGroupContext: _radix_ng_primitives_core.InjectContext<{
|
|
24
|
+
enabled: _angular_core.Signal<boolean>;
|
|
23
25
|
loop: _angular_core.Signal<boolean>;
|
|
24
26
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
25
27
|
orientation: _angular_core.Signal<Orientation>;
|
|
@@ -31,6 +33,7 @@ declare const injectRovingFocusGroupContext: _radix_ng_primitives_core.InjectCon
|
|
|
31
33
|
unregisterItem: (item: HTMLElement, tabStopId: string) => void;
|
|
32
34
|
}>;
|
|
33
35
|
declare const provideRovingFocusGroupContext: (useFactory: () => {
|
|
36
|
+
enabled: _angular_core.Signal<boolean>;
|
|
34
37
|
loop: _angular_core.Signal<boolean>;
|
|
35
38
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
36
39
|
orientation: _angular_core.Signal<Orientation>;
|
|
@@ -61,6 +64,11 @@ declare class RdxRovingFocusGroupDirective {
|
|
|
61
64
|
* Whether keyboard navigation should loop around
|
|
62
65
|
*/
|
|
63
66
|
readonly loopInput: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
67
|
+
/**
|
|
68
|
+
* Whether roving focus behavior is active for the group.
|
|
69
|
+
* @group Props
|
|
70
|
+
*/
|
|
71
|
+
readonly enabledInput: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
64
72
|
/**
|
|
65
73
|
* When `true`, will prevent scrolling to the focus item when focused.
|
|
66
74
|
* @group Props
|
|
@@ -89,6 +97,8 @@ declare class RdxRovingFocusGroupDirective {
|
|
|
89
97
|
readonly dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
90
98
|
private readonly _loop;
|
|
91
99
|
readonly loop: _angular_core.Signal<boolean>;
|
|
100
|
+
private readonly _enabled;
|
|
101
|
+
readonly enabled: _angular_core.Signal<boolean>;
|
|
92
102
|
readonly focusableItems: _angular_core.WritableSignal<HTMLElement[]>;
|
|
93
103
|
protected readonly isClickFocus: _angular_core.WritableSignal<boolean>;
|
|
94
104
|
readonly isTabbingBackOut: _angular_core.WritableSignal<boolean>;
|
|
@@ -98,6 +108,7 @@ declare class RdxRovingFocusGroupDirective {
|
|
|
98
108
|
setOrientation(value: Orientation): void;
|
|
99
109
|
setDir(value: Direction): void;
|
|
100
110
|
setLoop(value: boolean): void;
|
|
111
|
+
setEnabled(value: boolean): void;
|
|
101
112
|
/** @ignore */
|
|
102
113
|
registerItem(item: HTMLElement, tabStopId: string): void;
|
|
103
114
|
/** @ignore */
|
|
@@ -107,7 +118,7 @@ declare class RdxRovingFocusGroupDirective {
|
|
|
107
118
|
/** @ignore */
|
|
108
119
|
handleFocus(event: Event): void;
|
|
109
120
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxRovingFocusGroupDirective, never>;
|
|
110
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRovingFocusGroupDirective, "[rdxRovingFocusGroup]", never, { "orientationInput": { "alias": "orientation"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "loopInput": { "alias": "loop"; "required": false; "isSignal": true; }; "preventScrollOnEntryFocus": { "alias": "preventScrollOnEntryFocus"; "required": false; "isSignal": true; }; "defaultCurrentTabStopId": { "alias": "defaultCurrentTabStopId"; "required": false; "isSignal": true; }; "currentTabStopId": { "alias": "currentTabStopId"; "required": false; "isSignal": true; }; }, { "currentTabStopId": "currentTabStopIdChange"; "entryFocus": "entryFocus"; }, never, never, true, never>;
|
|
121
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxRovingFocusGroupDirective, "[rdxRovingFocusGroup]", never, { "orientationInput": { "alias": "orientation"; "required": false; "isSignal": true; }; "dirInput": { "alias": "dir"; "required": false; "isSignal": true; }; "loopInput": { "alias": "loop"; "required": false; "isSignal": true; }; "enabledInput": { "alias": "enabled"; "required": false; "isSignal": true; }; "preventScrollOnEntryFocus": { "alias": "preventScrollOnEntryFocus"; "required": false; "isSignal": true; }; "defaultCurrentTabStopId": { "alias": "defaultCurrentTabStopId"; "required": false; "isSignal": true; }; "currentTabStopId": { "alias": "currentTabStopId"; "required": false; "isSignal": true; }; }, { "currentTabStopId": "currentTabStopIdChange"; "entryFocus": "entryFocus"; }, never, never, true, never>;
|
|
111
122
|
}
|
|
112
123
|
|
|
113
124
|
/**
|
|
@@ -121,6 +132,7 @@ declare class RdxRovingFocusItemDirective {
|
|
|
121
132
|
* (e.g. a standalone Toggle), it degrades to a plain element and does not manage focus.
|
|
122
133
|
*/
|
|
123
134
|
protected readonly rootContext: {
|
|
135
|
+
enabled: _angular_core.Signal<boolean>;
|
|
124
136
|
loop: _angular_core.Signal<boolean>;
|
|
125
137
|
dir: _angular_core.Signal<_radix_ng_primitives_core.Direction>;
|
|
126
138
|
orientation: _angular_core.Signal<_radix_ng_primitives_roving_focus.Orientation>;
|
|
@@ -155,6 +167,7 @@ declare class RdxRovingFocusItemDirective {
|
|
|
155
167
|
protected readonly isCurrentTabStop: _angular_core.Signal<boolean>;
|
|
156
168
|
protected readonly focusable: _angular_core.WritableSignal<boolean>;
|
|
157
169
|
protected readonly active: _angular_core.WritableSignal<boolean>;
|
|
170
|
+
protected readonly enabled: _angular_core.WritableSignal<boolean>;
|
|
158
171
|
private readonly tabStopId;
|
|
159
172
|
/**
|
|
160
173
|
* The roving tabindex. Without a group the item keeps its natural tab order (`null`); inside a
|
|
@@ -163,6 +176,7 @@ declare class RdxRovingFocusItemDirective {
|
|
|
163
176
|
protected readonly tabindex: _angular_core.Signal<-1 | 0 | null>;
|
|
164
177
|
constructor();
|
|
165
178
|
setFocusable(value: boolean): void;
|
|
179
|
+
setEnabled(value: boolean): void;
|
|
166
180
|
setActive(value: boolean): void;
|
|
167
181
|
setTabStopId(value: string): void;
|
|
168
182
|
/** @ignore */
|
|
@@ -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;
|
|
@@ -4,7 +4,7 @@ import * as i1 from '@radix-ng/primitives/presence';
|
|
|
4
4
|
import * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
5
|
import { DataOrientation, RdxCancelableChangeEventDetails, BooleanInput } from '@radix-ng/primitives/core';
|
|
6
6
|
import * as _radix_ng_primitives_tabs from '@radix-ng/primitives/tabs';
|
|
7
|
-
import * as i1$1 from '@radix-ng/primitives/
|
|
7
|
+
import * as i1$1 from '@radix-ng/primitives/composite';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Structural directive that mounts the tab panel contents only while the panel is active,
|
|
@@ -83,7 +83,7 @@ declare class RdxTabsRoot {
|
|
|
83
83
|
declare class RdxTabsList {
|
|
84
84
|
protected readonly rootContext: _radix_ng_primitives_tabs.RdxTabsRootContext;
|
|
85
85
|
private readonly elementRef;
|
|
86
|
-
private readonly
|
|
86
|
+
private readonly compositeRoot;
|
|
87
87
|
/**
|
|
88
88
|
* Whether a tab is activated when it receives focus (automatic activation).
|
|
89
89
|
* When `false`, tabs are only activated on click or Enter/Space.
|
|
@@ -97,9 +97,12 @@ declare class RdxTabsList {
|
|
|
97
97
|
* @default true
|
|
98
98
|
*/
|
|
99
99
|
readonly loopFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
100
|
+
private readonly tabMetadata;
|
|
101
|
+
private readonly disabledIndices;
|
|
102
|
+
private readonly activeIndex;
|
|
100
103
|
constructor();
|
|
101
104
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxTabsList, never>;
|
|
102
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxTabsList, "[rdxTabsList]", ["rdxTabsList"], { "activateOnFocus": { "alias": "activateOnFocus"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.
|
|
105
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxTabsList, "[rdxTabsList]", ["rdxTabsList"], { "activateOnFocus": { "alias": "activateOnFocus"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxCompositeRoot; inputs: {}; outputs: {}; }]>;
|
|
103
106
|
}
|
|
104
107
|
|
|
105
108
|
/**
|
|
@@ -109,7 +112,7 @@ declare class RdxTabsList {
|
|
|
109
112
|
*/
|
|
110
113
|
declare class RdxTabsTab {
|
|
111
114
|
protected readonly rootContext: _radix_ng_primitives_tabs.RdxTabsRootContext;
|
|
112
|
-
private readonly
|
|
115
|
+
private readonly compositeItem;
|
|
113
116
|
/**
|
|
114
117
|
* A unique value that associates the tab with a panel.
|
|
115
118
|
*/
|
|
@@ -132,7 +135,7 @@ declare class RdxTabsTab {
|
|
|
132
135
|
/** @ignore */
|
|
133
136
|
protected onFocus(event: FocusEvent): void;
|
|
134
137
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxTabsTab, never>;
|
|
135
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxTabsTab, "[rdxTabsTab]", ["rdxTabsTab"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.
|
|
138
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxTabsTab, "[rdxTabsTab]", ["rdxTabsTab"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1$1.RdxCompositeItem; inputs: {}; outputs: {}; }]>;
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
/**
|