@radix-ng/primitives 0.51.0 → 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/radix-ng-primitives-accordion.mjs +105 -38
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +221 -129
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-arrow.mjs +20 -4
- package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-avatar.mjs +54 -61
- package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-button.mjs +123 -0
- package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
- package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +735 -744
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +1 -0
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +51 -45
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
- package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +363 -0
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-input.mjs +172 -0
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-label.mjs +6 -6
- package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +1480 -344
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +91 -41
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
- package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +791 -509
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
- package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
- package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +381 -108
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1071
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
- package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
- package/meter/README.md +3 -0
- package/navigation-menu/README.md +2 -1
- package/package.json +31 -18
- package/portal/README.md +2 -0
- package/preview-card/README.md +3 -0
- package/schematics/collection.json +1 -0
- package/schematics/ng-add/index.d.ts +3 -2
- package/schematics/ng-add/index.js +62 -31
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/package-config.d.ts +4 -2
- package/schematics/ng-add/package-config.js +10 -2
- package/schematics/ng-add/package-config.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +3 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +14 -0
- package/select/README.md +2 -0
- package/types/radix-ng-primitives-accordion.d.ts +48 -14
- package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
- package/types/radix-ng-primitives-arrow.d.ts +1 -1
- package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
- package/types/radix-ng-primitives-avatar.d.ts +7 -11
- package/types/radix-ng-primitives-button.d.ts +73 -0
- package/types/radix-ng-primitives-calendar.d.ts +1 -2
- package/types/radix-ng-primitives-checkbox.d.ts +201 -32
- package/types/radix-ng-primitives-collapsible.d.ts +112 -39
- package/types/radix-ng-primitives-collection.d.ts +38 -34
- package/types/radix-ng-primitives-config.d.ts +1 -1
- package/types/radix-ng-primitives-context-menu.d.ts +60 -116
- package/types/radix-ng-primitives-core.d.ts +307 -236
- package/types/radix-ng-primitives-cropper.d.ts +2 -2
- package/types/radix-ng-primitives-date-field.d.ts +38 -23
- package/types/radix-ng-primitives-dialog.d.ts +282 -165
- package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
- package/types/radix-ng-primitives-drawer.d.ts +448 -0
- package/types/radix-ng-primitives-editable.d.ts +1 -1
- package/types/radix-ng-primitives-field.d.ts +373 -0
- package/types/radix-ng-primitives-fieldset.d.ts +48 -0
- package/types/radix-ng-primitives-focus-scope.d.ts +13 -5
- package/types/radix-ng-primitives-input.d.ts +87 -0
- package/types/radix-ng-primitives-label.d.ts +0 -1
- package/types/radix-ng-primitives-menu.d.ts +572 -99
- package/types/radix-ng-primitives-menubar.d.ts +60 -50
- package/types/radix-ng-primitives-meter.d.ts +193 -0
- package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
- package/types/radix-ng-primitives-number-field.d.ts +405 -145
- package/types/radix-ng-primitives-pagination.d.ts +2 -2
- package/types/radix-ng-primitives-popover.d.ts +365 -351
- package/types/radix-ng-primitives-popper.d.ts +49 -9
- package/types/radix-ng-primitives-portal.d.ts +14 -6
- package/types/radix-ng-primitives-presence.d.ts +28 -76
- package/types/radix-ng-primitives-preview-card.d.ts +359 -0
- package/types/radix-ng-primitives-progress.d.ts +174 -48
- package/types/radix-ng-primitives-radio.d.ts +55 -25
- package/types/radix-ng-primitives-roving-focus.d.ts +30 -21
- package/types/radix-ng-primitives-select.d.ts +475 -177
- package/types/radix-ng-primitives-separator.d.ts +7 -32
- package/types/radix-ng-primitives-slider.d.ts +315 -201
- package/types/radix-ng-primitives-stepper.d.ts +5 -7
- package/types/radix-ng-primitives-switch.d.ts +86 -71
- package/types/radix-ng-primitives-tabs.d.ts +213 -79
- package/types/radix-ng-primitives-time-field.d.ts +42 -27
- package/types/radix-ng-primitives-toggle-group.d.ts +85 -164
- package/types/radix-ng-primitives-toggle.d.ts +43 -53
- package/types/radix-ng-primitives-toolbar.d.ts +163 -38
- package/types/radix-ng-primitives-tooltip.d.ts +347 -384
- package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
- package/dropdown-menu/README.md +0 -1
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
- package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
- package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
- package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
- package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
- package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
- package/hover-card/README.md +0 -3
- package/select2/README.md +0 -3
- package/tooltip2/README.md +0 -3
- package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
- package/types/radix-ng-primitives-hover-card.d.ts +0 -471
- package/types/radix-ng-primitives-select2.d.ts +0 -511
- package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { ElementRef, InjectionToken, Provider } from '@angular/core';
|
|
3
|
+
import { ReferenceElement, Placement, Middleware, VirtualElement } from '@floating-ui/dom';
|
|
4
|
+
import { NumberInput, BooleanInput } from '@radix-ng/primitives/core';
|
|
5
5
|
|
|
6
6
|
declare class RdxPopperAnchor {
|
|
7
7
|
readonly elementRef: ElementRef<HTMLElement>;
|
|
@@ -10,7 +10,8 @@ declare class RdxPopperAnchor {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
declare class RdxPopper {
|
|
13
|
-
readonly anchor: _angular_core.Signal<RdxPopperAnchor>;
|
|
13
|
+
readonly anchor: _angular_core.Signal<RdxPopperAnchor | undefined>;
|
|
14
|
+
readonly anchorOverride: _angular_core.WritableSignal<ReferenceElement | undefined>;
|
|
14
15
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopper, never>;
|
|
15
16
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopper, "[rdxPopperRoot]", never, {}, {}, ["anchor"], never, true, never>;
|
|
16
17
|
}
|
|
@@ -23,6 +24,7 @@ declare class RdxPopperContent {
|
|
|
23
24
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
24
25
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
25
26
|
isPositioned: _angular_core.Signal<boolean>;
|
|
27
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
26
28
|
};
|
|
27
29
|
/**
|
|
28
30
|
* if the PopperContent hasn't been placed yet (not all measurements done)
|
|
@@ -46,6 +48,7 @@ declare function transformOrigin(options: {
|
|
|
46
48
|
}): Middleware;
|
|
47
49
|
declare function getSideAndAlignFromPlacement(placement: Placement): readonly ["top" | "right" | "bottom" | "left", "start" | "center" | "end"];
|
|
48
50
|
|
|
51
|
+
type RdxPopperAnchorElement = Element | ElementRef<Element> | VirtualElement | (() => Element | VirtualElement | null) | null | undefined;
|
|
49
52
|
declare const context: () => {
|
|
50
53
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
51
54
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
@@ -53,6 +56,7 @@ declare const context: () => {
|
|
|
53
56
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
54
57
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
55
58
|
isPositioned: _angular_core.Signal<boolean>;
|
|
59
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
56
60
|
};
|
|
57
61
|
type PopperContentWrapperContext = ReturnType<typeof context>;
|
|
58
62
|
declare const injectPopperContentWrapperContext: (optional?: boolean) => {
|
|
@@ -62,6 +66,7 @@ declare const injectPopperContentWrapperContext: (optional?: boolean) => {
|
|
|
62
66
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
63
67
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
64
68
|
isPositioned: _angular_core.Signal<boolean>;
|
|
69
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
65
70
|
} | null;
|
|
66
71
|
declare const providePopperContentWrapperContext: (useFactory: () => {
|
|
67
72
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
@@ -70,13 +75,19 @@ declare const providePopperContentWrapperContext: (useFactory: () => {
|
|
|
70
75
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
71
76
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
72
77
|
isPositioned: _angular_core.Signal<boolean>;
|
|
78
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
73
79
|
}) => _angular_core.Provider;
|
|
74
80
|
declare class RdxPopperContentWrapper {
|
|
75
81
|
private readonly elementRef;
|
|
76
|
-
private readonly destroyRef;
|
|
77
82
|
private readonly injector;
|
|
78
83
|
private readonly context;
|
|
79
84
|
private readonly isBrowser;
|
|
85
|
+
/** Optional positioning defaults provided by a composing primitive (e.g. tooltip). */
|
|
86
|
+
private readonly config;
|
|
87
|
+
/**
|
|
88
|
+
* An element to position the popup against. Defaults to the popper anchor.
|
|
89
|
+
*/
|
|
90
|
+
readonly anchor: _angular_core.InputSignal<RdxPopperAnchorElement>;
|
|
80
91
|
/**
|
|
81
92
|
* The preferred side of the anchor to render against when open.
|
|
82
93
|
* Will be reversed when collisions occur and avoidCollisions is enabled.
|
|
@@ -134,13 +145,17 @@ declare class RdxPopperContentWrapper {
|
|
|
134
145
|
readonly placed: _angular_core.OutputEmitterRef<void>;
|
|
135
146
|
readonly arrow: _angular_core.Signal<any>;
|
|
136
147
|
readonly shouldHideArrow: _angular_core.Signal<boolean>;
|
|
148
|
+
/** Whether the arrow could not be centered on the anchor because the popup was shifted. */
|
|
149
|
+
readonly arrowUncentered: _angular_core.Signal<boolean>;
|
|
137
150
|
readonly arrowX: _angular_core.Signal<number | undefined>;
|
|
138
151
|
readonly arrowY: _angular_core.Signal<number | undefined>;
|
|
152
|
+
readonly anchorHidden: _angular_core.Signal<boolean>;
|
|
139
153
|
private readonly desiredPlacement;
|
|
140
154
|
private readonly arrowSize;
|
|
141
155
|
private readonly boundary;
|
|
142
156
|
private readonly hasExplicitBoundaries;
|
|
143
157
|
private readonly detectOverflowOptions;
|
|
158
|
+
private readonly resolvedAnchor;
|
|
144
159
|
private readonly position;
|
|
145
160
|
/**
|
|
146
161
|
* Whether the panel is positioned.
|
|
@@ -173,11 +188,13 @@ declare class RdxPopperContentWrapper {
|
|
|
173
188
|
top: string;
|
|
174
189
|
left: string;
|
|
175
190
|
'--radix-popper-transform-origin': string;
|
|
191
|
+
'--radix-popper-content-wrapper-width': string;
|
|
192
|
+
'--radix-popper-content-wrapper-height': string;
|
|
176
193
|
}>;
|
|
177
|
-
private readonly
|
|
194
|
+
private readonly afterRenderEffect;
|
|
178
195
|
constructor();
|
|
179
196
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopperContentWrapper, never>;
|
|
180
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopperContentWrapper, "[rdxPopperContentWrapper]", never, { "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; "isSignal": true; }; "avoidCollisions": { "alias": "avoidCollisions"; "required": false; "isSignal": true; }; "collisionBoundary": { "alias": "collisionBoundary"; "required": false; "isSignal": true; }; "collisionPadding": { "alias": "collisionPadding"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "hideWhenDetached": { "alias": "hideWhenDetached"; "required": false; "isSignal": true; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; "isSignal": true; }; "updatePositionStrategy": { "alias": "updatePositionStrategy"; "required": false; "isSignal": true; }; }, { "placed": "placed"; }, ["arrow", "contentElementRef"], never, true, never>;
|
|
197
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopperContentWrapper, "[rdxPopperContentWrapper]", never, { "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "sideOffset": { "alias": "sideOffset"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "alignOffset": { "alias": "alignOffset"; "required": false; "isSignal": true; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; "isSignal": true; }; "avoidCollisions": { "alias": "avoidCollisions"; "required": false; "isSignal": true; }; "collisionBoundary": { "alias": "collisionBoundary"; "required": false; "isSignal": true; }; "collisionPadding": { "alias": "collisionPadding"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "hideWhenDetached": { "alias": "hideWhenDetached"; "required": false; "isSignal": true; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; "isSignal": true; }; "updatePositionStrategy": { "alias": "updatePositionStrategy"; "required": false; "isSignal": true; }; }, { "placed": "placed"; }, ["arrow", "contentElementRef"], never, true, never>;
|
|
181
198
|
}
|
|
182
199
|
|
|
183
200
|
declare class RdxPopperArrow {
|
|
@@ -201,7 +218,30 @@ declare class RdxPopperArrow {
|
|
|
201
218
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopperArrow, "[rdxPopperArrow]", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
202
219
|
}
|
|
203
220
|
|
|
221
|
+
/**
|
|
222
|
+
* Default positioning values for `RdxPopperContentWrapper`.
|
|
223
|
+
*
|
|
224
|
+
* Lets a composing primitive (e.g. tooltip) provide its own Base UI-aligned defaults without
|
|
225
|
+
* changing the shared popper defaults that other consumers (e.g. popover) rely on. Any value left
|
|
226
|
+
* `undefined` falls back to the wrapper's built-in default. Consumer template bindings always win.
|
|
227
|
+
*/
|
|
228
|
+
interface RdxPopperContentConfig {
|
|
229
|
+
side?: Side;
|
|
230
|
+
align?: Align;
|
|
231
|
+
sideOffset?: number;
|
|
232
|
+
alignOffset?: number;
|
|
233
|
+
arrowPadding?: number;
|
|
234
|
+
avoidCollisions?: boolean;
|
|
235
|
+
collisionPadding?: number | Partial<Record<Side, number>>;
|
|
236
|
+
sticky?: 'partial' | 'always';
|
|
237
|
+
hideWhenDetached?: boolean;
|
|
238
|
+
positionStrategy?: 'fixed' | 'absolute';
|
|
239
|
+
updatePositionStrategy?: 'optimized' | 'always';
|
|
240
|
+
}
|
|
241
|
+
declare const RdxPopperContentConfigToken: InjectionToken<RdxPopperContentConfig>;
|
|
242
|
+
declare function provideRdxPopperContentConfig(config: RdxPopperContentConfig): Provider;
|
|
243
|
+
|
|
204
244
|
declare const popperImports: (typeof RdxPopperAnchor | typeof RdxPopper | typeof RdxPopperContent | typeof RdxPopperContentWrapper)[];
|
|
205
245
|
|
|
206
|
-
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, transformOrigin };
|
|
207
|
-
export type { Align, PopperContentWrapperContext, Side };
|
|
246
|
+
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentConfigToken, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, provideRdxPopperContentConfig, transformOrigin };
|
|
247
|
+
export type { Align, PopperContentWrapperContext, RdxPopperAnchorElement, RdxPopperContentConfig, Side };
|
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { ElementRef } from '@angular/core';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* A target container for the portal. Accepts an `ElementRef`, a native element, or a CSS selector
|
|
6
|
+
* resolved against the document.
|
|
7
|
+
*/
|
|
8
|
+
type RdxPortalContainer = ElementRef<HTMLElement> | HTMLElement | string;
|
|
4
9
|
declare class RdxPortal {
|
|
5
10
|
private readonly elementRef;
|
|
6
11
|
private readonly platformId;
|
|
7
12
|
private readonly document;
|
|
8
13
|
private readonly destroyRef;
|
|
9
14
|
/**
|
|
10
|
-
* Specify a container
|
|
15
|
+
* Specify a container to portal the content into. Can be an `ElementRef`, a native element, or a
|
|
16
|
+
* CSS selector. Defaults to `document.body` when not set (or when a selector matches nothing).
|
|
11
17
|
*/
|
|
12
|
-
readonly container: _angular_core.InputSignal<
|
|
13
|
-
private _computedContainer;
|
|
14
|
-
readonly computedContainer: _angular_core.
|
|
18
|
+
readonly container: _angular_core.InputSignal<RdxPortalContainer | undefined>;
|
|
19
|
+
private readonly _computedContainer;
|
|
20
|
+
readonly computedContainer: _angular_core.Signal<RdxPortalContainer | undefined>;
|
|
15
21
|
private readonly elementContainer;
|
|
16
22
|
constructor();
|
|
17
|
-
setContainer(container:
|
|
23
|
+
setContainer(container: RdxPortalContainer): void;
|
|
24
|
+
private resolveContainer;
|
|
18
25
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPortal, never>;
|
|
19
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPortal, "[rdxPortal]",
|
|
26
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPortal, "[rdxPortal]", ["rdxPortal"], { "container": { "alias": "container"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
20
27
|
}
|
|
21
28
|
|
|
22
29
|
export { RdxPortal };
|
|
30
|
+
export type { RdxPortalContainer };
|
|
@@ -1,59 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { Subject, Observable } from 'rxjs';
|
|
4
|
-
|
|
5
|
-
type TransitionOptions<T> = {
|
|
6
|
-
context?: T;
|
|
7
|
-
animation: boolean;
|
|
8
|
-
state?: 'continue' | 'stop';
|
|
9
|
-
transitionTimerDelayMs?: number;
|
|
10
|
-
};
|
|
11
|
-
type TransitionContext<T> = {
|
|
12
|
-
transition$: Subject<any>;
|
|
13
|
-
complete: () => void;
|
|
14
|
-
context: T;
|
|
15
|
-
};
|
|
16
|
-
type TransitionStartFn<T = any> = (element: HTMLElement, animation: boolean, context: T) => TransitionEndFn | void;
|
|
17
|
-
type TransitionEndFn = () => void;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Manages the presence of an element with optional transition animation.
|
|
21
|
-
*
|
|
22
|
-
* @template T - The type of the context object used in the transition.
|
|
23
|
-
* @param {NgZone} zone - The Angular zone to control the change detection context.
|
|
24
|
-
* @param {HTMLElement} element - The target HTML element to apply the transition.
|
|
25
|
-
* @param {TransitionOptions<T>} options - Options for controlling the transition behavior.
|
|
26
|
-
* @param {T} [options.context] - An optional context object to pass through the transition.
|
|
27
|
-
* @param {boolean} options.animation - A flag indicating if the transition should be animated.
|
|
28
|
-
* @param {'start' | 'continue' | 'stop'} options.state - The desired state of the transition.
|
|
29
|
-
* @param {TransitionStartFn<T>} startFn - A function to start the transition.
|
|
30
|
-
* @returns {Observable<void>} - An observable that emits when the transition completes.
|
|
31
|
-
*
|
|
32
|
-
* The `usePresence` function is designed to manage the presence and visibility of an HTML element,
|
|
33
|
-
* optionally applying a transition animation. It utilizes Angular's NgZone for efficient change
|
|
34
|
-
* detection management and allows for different states of transitions ('start', 'continue', 'stop').
|
|
35
|
-
* The function takes a start function to handle the beginning of the transition and returns an
|
|
36
|
-
* observable that completes when the transition ends.
|
|
37
|
-
*
|
|
38
|
-
* Example usage:
|
|
39
|
-
*
|
|
40
|
-
* const options: TransitionOptions<MyContext> = {
|
|
41
|
-
* context: {}, // your context object
|
|
42
|
-
* animation: true,
|
|
43
|
-
* state: 'start'
|
|
44
|
-
* };
|
|
45
|
-
*
|
|
46
|
-
* const startFn: TransitionStartFn<MyContext> = (el, animation, context) => {
|
|
47
|
-
* el.classList.add('active');
|
|
48
|
-
* return () => el.classList.remove('active');
|
|
49
|
-
* };
|
|
50
|
-
*
|
|
51
|
-
* usePresence(zone, element, startFn, options).subscribe(() => {
|
|
52
|
-
* console.log('Transition completed');
|
|
53
|
-
* });
|
|
54
|
-
*/
|
|
55
|
-
declare const usePresence: <T>(zone: NgZone, element: HTMLElement, startFn: TransitionStartFn<T>, options: TransitionOptions<T>) => Observable<void>;
|
|
56
|
-
declare const completeTransition: (element: HTMLElement) => void;
|
|
2
|
+
import { InjectionToken, Signal, Provider } from '@angular/core';
|
|
57
3
|
|
|
58
4
|
/**
|
|
59
5
|
* Context interface for RdxPresence directive
|
|
@@ -72,32 +18,38 @@ declare const RDX_PRESENCE_CONTEXT: InjectionToken<RdxPresenceContext>;
|
|
|
72
18
|
* ]
|
|
73
19
|
*/
|
|
74
20
|
declare function provideRdxPresenceContext(contextFactory: () => RdxPresenceContext): Provider;
|
|
21
|
+
/**
|
|
22
|
+
* Headless structural directive that conditionally renders its template based on a reactive
|
|
23
|
+
* `present` signal supplied through {@link RDX_PRESENCE_CONTEXT}.
|
|
24
|
+
*
|
|
25
|
+
* Unlike a plain `*ngIf`, it keeps the content mounted while a CSS exit animation
|
|
26
|
+
* (`@keyframes` applied for the closed state) is running, and unmounts it only once that
|
|
27
|
+
* animation finishes. If the content has no exit animation, it unmounts immediately.
|
|
28
|
+
*/
|
|
75
29
|
declare class RdxPresenceDirective {
|
|
76
30
|
private readonly context;
|
|
77
31
|
private readonly viewContainerRef;
|
|
78
32
|
private readonly templateRef;
|
|
79
|
-
private
|
|
33
|
+
private readonly injector;
|
|
34
|
+
private readonly isBrowser;
|
|
35
|
+
private viewRef;
|
|
36
|
+
private node;
|
|
37
|
+
private removeListeners;
|
|
38
|
+
private state;
|
|
39
|
+
private prevPresent;
|
|
40
|
+
private prevAnimationName;
|
|
41
|
+
constructor();
|
|
42
|
+
/** Decides whether to suspend the unmount for an exit animation (port of Radix' logic). */
|
|
43
|
+
private evaluateExit;
|
|
44
|
+
private send;
|
|
45
|
+
private mountView;
|
|
46
|
+
private destroyView;
|
|
47
|
+
private addAnimationListeners;
|
|
48
|
+
private getComputedStyles;
|
|
49
|
+
private getAnimationName;
|
|
80
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPresenceDirective, never>;
|
|
81
51
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPresenceDirective, never, never, {}, {}, never, never, true, never>;
|
|
82
52
|
}
|
|
83
53
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
dimension: 'width' | 'height';
|
|
87
|
-
maxSize?: string;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Function to handle the start of a collapsing transition.
|
|
91
|
-
*
|
|
92
|
-
* @param element - The HTML element to animate.
|
|
93
|
-
* @param animation - Whether to use animation or not.
|
|
94
|
-
* @param context - The context containing direction and dimension information.
|
|
95
|
-
* @returns A function to clean up the animation.
|
|
96
|
-
*/
|
|
97
|
-
declare const transitionCollapsing: TransitionStartFn<CollapseContext>;
|
|
98
|
-
|
|
99
|
-
declare const toastFadeInTransition: TransitionStartFn;
|
|
100
|
-
declare const toastFadeOutTransition: TransitionStartFn;
|
|
101
|
-
|
|
102
|
-
export { RDX_PRESENCE_CONTEXT, RdxPresenceDirective, completeTransition, provideRdxPresenceContext, toastFadeInTransition, toastFadeOutTransition, transitionCollapsing, usePresence };
|
|
103
|
-
export type { CollapseContext, RdxPresenceContext, TransitionContext, TransitionEndFn, TransitionOptions, TransitionStartFn };
|
|
54
|
+
export { RDX_PRESENCE_CONTEXT, RdxPresenceDirective, provideRdxPresenceContext };
|
|
55
|
+
export type { RdxPresenceContext };
|