@radix-ng/primitives 0.51.0 → 1.0.0-beta.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/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 +95 -83
- 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 +845 -744
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +288 -308
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +104 -58
- 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 +960 -0
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-editable.mjs +304 -23
- 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 +1907 -363
- 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 +111 -44
- 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-scroll-area.mjs +923 -0
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -0
- 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 +390 -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-toast.mjs +839 -0
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -0
- 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 +699 -1072
- 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 +39 -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 +51 -16
- 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 +39 -20
- package/types/radix-ng-primitives-checkbox.d.ts +204 -35
- package/types/radix-ng-primitives-collapsible.d.ts +114 -40
- 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 +61 -116
- package/types/radix-ng-primitives-core.d.ts +345 -235
- package/types/radix-ng-primitives-cropper.d.ts +89 -56
- package/types/radix-ng-primitives-date-field.d.ts +49 -28
- package/types/radix-ng-primitives-dialog.d.ts +283 -165
- package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
- package/types/radix-ng-primitives-drawer.d.ts +426 -0
- package/types/radix-ng-primitives-editable.d.ts +91 -14
- package/types/radix-ng-primitives-field.d.ts +374 -0
- package/types/radix-ng-primitives-fieldset.d.ts +49 -0
- package/types/radix-ng-primitives-focus-scope.d.ts +15 -6
- 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 +584 -99
- package/types/radix-ng-primitives-menubar.d.ts +61 -50
- package/types/radix-ng-primitives-meter.d.ts +194 -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 +366 -351
- package/types/radix-ng-primitives-popper.d.ts +68 -11
- 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 +175 -48
- package/types/radix-ng-primitives-radio.d.ts +55 -25
- package/types/radix-ng-primitives-roving-focus.d.ts +33 -23
- package/types/radix-ng-primitives-scroll-area.d.ts +253 -0
- 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-toast.d.ts +378 -0
- package/types/radix-ng-primitives-toggle-group.d.ts +86 -164
- package/types/radix-ng-primitives-toggle.d.ts +43 -53
- package/types/radix-ng-primitives-toolbar.d.ts +164 -38
- package/types/radix-ng-primitives-tooltip.d.ts +348 -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,8 @@
|
|
|
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 * as _radix_ng_primitives_core from '@radix-ng/primitives/core';
|
|
5
|
+
import { NumberInput, BooleanInput } from '@radix-ng/primitives/core';
|
|
5
6
|
|
|
6
7
|
declare class RdxPopperAnchor {
|
|
7
8
|
readonly elementRef: ElementRef<HTMLElement>;
|
|
@@ -10,7 +11,8 @@ declare class RdxPopperAnchor {
|
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
declare class RdxPopper {
|
|
13
|
-
readonly anchor: _angular_core.Signal<RdxPopperAnchor>;
|
|
14
|
+
readonly anchor: _angular_core.Signal<RdxPopperAnchor | undefined>;
|
|
15
|
+
readonly anchorOverride: _angular_core.WritableSignal<ReferenceElement | undefined>;
|
|
14
16
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdxPopper, never>;
|
|
15
17
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdxPopper, "[rdxPopperRoot]", never, {}, {}, ["anchor"], never, true, never>;
|
|
16
18
|
}
|
|
@@ -23,6 +25,7 @@ declare class RdxPopperContent {
|
|
|
23
25
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
24
26
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
25
27
|
isPositioned: _angular_core.Signal<boolean>;
|
|
28
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
26
29
|
};
|
|
27
30
|
/**
|
|
28
31
|
* if the PopperContent hasn't been placed yet (not all measurements done)
|
|
@@ -46,6 +49,7 @@ declare function transformOrigin(options: {
|
|
|
46
49
|
}): Middleware;
|
|
47
50
|
declare function getSideAndAlignFromPlacement(placement: Placement): readonly ["top" | "right" | "bottom" | "left", "start" | "center" | "end"];
|
|
48
51
|
|
|
52
|
+
type RdxPopperAnchorElement = Element | ElementRef<Element> | VirtualElement | (() => Element | VirtualElement | null) | null | undefined;
|
|
49
53
|
declare const context: () => {
|
|
50
54
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
51
55
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
@@ -53,16 +57,18 @@ declare const context: () => {
|
|
|
53
57
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
54
58
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
55
59
|
isPositioned: _angular_core.Signal<boolean>;
|
|
60
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
56
61
|
};
|
|
57
62
|
type PopperContentWrapperContext = ReturnType<typeof context>;
|
|
58
|
-
declare const injectPopperContentWrapperContext:
|
|
63
|
+
declare const injectPopperContentWrapperContext: _radix_ng_primitives_core.InjectContext<{
|
|
59
64
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
60
65
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
61
66
|
arrowX: _angular_core.Signal<number | undefined>;
|
|
62
67
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
63
68
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
64
69
|
isPositioned: _angular_core.Signal<boolean>;
|
|
65
|
-
|
|
70
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
71
|
+
}>;
|
|
66
72
|
declare const providePopperContentWrapperContext: (useFactory: () => {
|
|
67
73
|
placedSide: _angular_core.Signal<"top" | "right" | "bottom" | "left" | undefined>;
|
|
68
74
|
placedAlign: _angular_core.Signal<"start" | "center" | "end" | undefined>;
|
|
@@ -70,13 +76,19 @@ declare const providePopperContentWrapperContext: (useFactory: () => {
|
|
|
70
76
|
arrowY: _angular_core.Signal<number | undefined>;
|
|
71
77
|
shouldHideArrow: _angular_core.Signal<boolean>;
|
|
72
78
|
isPositioned: _angular_core.Signal<boolean>;
|
|
79
|
+
anchorHidden: _angular_core.Signal<boolean>;
|
|
73
80
|
}) => _angular_core.Provider;
|
|
74
81
|
declare class RdxPopperContentWrapper {
|
|
75
82
|
private readonly elementRef;
|
|
76
|
-
private readonly destroyRef;
|
|
77
83
|
private readonly injector;
|
|
78
84
|
private readonly context;
|
|
79
85
|
private readonly isBrowser;
|
|
86
|
+
/** Optional positioning defaults provided by a composing primitive (e.g. tooltip). */
|
|
87
|
+
private readonly config;
|
|
88
|
+
/**
|
|
89
|
+
* An element to position the popup against. Defaults to the popper anchor.
|
|
90
|
+
*/
|
|
91
|
+
readonly anchor: _angular_core.InputSignal<RdxPopperAnchorElement>;
|
|
80
92
|
/**
|
|
81
93
|
* The preferred side of the anchor to render against when open.
|
|
82
94
|
* Will be reversed when collisions occur and avoidCollisions is enabled.
|
|
@@ -133,15 +145,35 @@ declare class RdxPopperContentWrapper {
|
|
|
133
145
|
*/
|
|
134
146
|
readonly placed: _angular_core.OutputEmitterRef<void>;
|
|
135
147
|
readonly arrow: _angular_core.Signal<any>;
|
|
148
|
+
/**
|
|
149
|
+
* When `true`, the content is rendered click/hover-through (`pointer-events: none`). Used for
|
|
150
|
+
* cursor-following content (e.g. a tooltip tracking the pointer) that must never intercept the
|
|
151
|
+
* pointer and steal hover from its trigger.
|
|
152
|
+
*/
|
|
153
|
+
readonly nonInteractive: _angular_core.WritableSignal<boolean>;
|
|
136
154
|
readonly shouldHideArrow: _angular_core.Signal<boolean>;
|
|
155
|
+
/** Whether the arrow could not be centered on the anchor because the popup was shifted. */
|
|
156
|
+
readonly arrowUncentered: _angular_core.Signal<boolean>;
|
|
137
157
|
readonly arrowX: _angular_core.Signal<number | undefined>;
|
|
138
158
|
readonly arrowY: _angular_core.Signal<number | undefined>;
|
|
159
|
+
readonly anchorHidden: _angular_core.Signal<boolean>;
|
|
139
160
|
private readonly desiredPlacement;
|
|
140
161
|
private readonly arrowSize;
|
|
141
162
|
private readonly boundary;
|
|
142
163
|
private readonly hasExplicitBoundaries;
|
|
143
164
|
private readonly detectOverflowOptions;
|
|
165
|
+
private readonly resolvedAnchor;
|
|
144
166
|
private readonly position;
|
|
167
|
+
/**
|
|
168
|
+
* The last successfully computed position, retained while a new one is being computed.
|
|
169
|
+
*
|
|
170
|
+
* The `position` resource resets `value()` to `undefined` whenever its params change (e.g. on
|
|
171
|
+
* every pointer move while a tooltip tracks the cursor). Reading it directly would blank the
|
|
172
|
+
* popup (`visibility: hidden` + off-screen transform) for the frames between a move and the next
|
|
173
|
+
* resolved position — a visible flicker at high pointer-move rates. Holding the previous value
|
|
174
|
+
* keeps the popup placed and visible until the new position is ready.
|
|
175
|
+
*/
|
|
176
|
+
private readonly resolvedPosition;
|
|
145
177
|
/**
|
|
146
178
|
* Whether the panel is positioned.
|
|
147
179
|
*/
|
|
@@ -173,11 +205,13 @@ declare class RdxPopperContentWrapper {
|
|
|
173
205
|
top: string;
|
|
174
206
|
left: string;
|
|
175
207
|
'--radix-popper-transform-origin': string;
|
|
208
|
+
'--radix-popper-content-wrapper-width': string;
|
|
209
|
+
'--radix-popper-content-wrapper-height': string;
|
|
176
210
|
}>;
|
|
177
|
-
private readonly
|
|
211
|
+
private readonly afterRenderEffect;
|
|
178
212
|
constructor();
|
|
179
213
|
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>;
|
|
214
|
+
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
215
|
}
|
|
182
216
|
|
|
183
217
|
declare class RdxPopperArrow {
|
|
@@ -201,7 +235,30 @@ declare class RdxPopperArrow {
|
|
|
201
235
|
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
236
|
}
|
|
203
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Default positioning values for `RdxPopperContentWrapper`.
|
|
240
|
+
*
|
|
241
|
+
* Lets a composing primitive (e.g. tooltip) provide its own Base UI-aligned defaults without
|
|
242
|
+
* changing the shared popper defaults that other consumers (e.g. popover) rely on. Any value left
|
|
243
|
+
* `undefined` falls back to the wrapper's built-in default. Consumer template bindings always win.
|
|
244
|
+
*/
|
|
245
|
+
interface RdxPopperContentConfig {
|
|
246
|
+
side?: Side;
|
|
247
|
+
align?: Align;
|
|
248
|
+
sideOffset?: number;
|
|
249
|
+
alignOffset?: number;
|
|
250
|
+
arrowPadding?: number;
|
|
251
|
+
avoidCollisions?: boolean;
|
|
252
|
+
collisionPadding?: number | Partial<Record<Side, number>>;
|
|
253
|
+
sticky?: 'partial' | 'always';
|
|
254
|
+
hideWhenDetached?: boolean;
|
|
255
|
+
positionStrategy?: 'fixed' | 'absolute';
|
|
256
|
+
updatePositionStrategy?: 'optimized' | 'always';
|
|
257
|
+
}
|
|
258
|
+
declare const RdxPopperContentConfigToken: InjectionToken<RdxPopperContentConfig>;
|
|
259
|
+
declare function provideRdxPopperContentConfig(config: RdxPopperContentConfig): Provider;
|
|
260
|
+
|
|
204
261
|
declare const popperImports: (typeof RdxPopperAnchor | typeof RdxPopper | typeof RdxPopperContent | typeof RdxPopperContentWrapper)[];
|
|
205
262
|
|
|
206
|
-
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, transformOrigin };
|
|
207
|
-
export type { Align, PopperContentWrapperContext, Side };
|
|
263
|
+
export { RdxPopper, RdxPopperAnchor, RdxPopperArrow, RdxPopperContent, RdxPopperContentConfigToken, RdxPopperContentWrapper, getSideAndAlignFromPlacement, injectPopperContentWrapperContext, isNotNull, popperImports, providePopperContentWrapperContext, provideRdxPopperContentConfig, transformOrigin };
|
|
264
|
+
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 };
|