@radix-ng/primitives 0.26.0 → 0.28.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/collapsible/src/collapsible-content.directive.d.ts +1 -1
- package/collapsible/src/collapsible-root.directive.d.ts +11 -11
- package/compodoc/documentation.json +13169 -6206
- package/dialog/src/dialog-close.directive.d.ts +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +20 -27
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +2 -3
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-hover-card.mjs +1213 -0
- package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-popover.mjs +1 -3
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +250 -0
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +72 -336
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle.mjs +15 -2
- package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +23 -5
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/hover-card/README.md +3 -0
- package/hover-card/index.d.ts +20 -0
- package/hover-card/src/hover-card-anchor.directive.d.ts +28 -0
- package/hover-card/src/hover-card-anchor.token.d.ts +3 -0
- package/hover-card/src/hover-card-arrow.directive.d.ts +40 -0
- package/hover-card/src/hover-card-arrow.token.d.ts +3 -0
- package/hover-card/src/hover-card-close.directive.d.ts +18 -0
- package/hover-card/src/hover-card-close.token.d.ts +3 -0
- package/hover-card/src/hover-card-content-attributes.component.d.ts +25 -0
- package/hover-card/src/hover-card-content-attributes.token.d.ts +3 -0
- package/hover-card/src/hover-card-content.directive.d.ts +104 -0
- package/hover-card/src/hover-card-root.directive.d.ts +168 -0
- package/hover-card/src/hover-card-root.inject.d.ts +3 -0
- package/hover-card/src/hover-card-trigger.directive.d.ts +26 -0
- package/hover-card/src/hover-card.types.d.ts +18 -0
- package/hover-card/src/utils/cdk-event.service.d.ts +30 -0
- package/hover-card/src/utils/constants.d.ts +1 -0
- package/hover-card/src/utils/types.d.ts +7 -0
- package/package.json +9 -1
- package/popover/src/popover-root.directive.d.ts +4 -4
- package/popover/src/popover-trigger.directive.d.ts +1 -1
- package/presence/index.d.ts +4 -0
- package/presence/src/presence.d.ts +42 -0
- package/presence/src/transitions/transition.collapse.d.ts +15 -0
- package/presence/src/transitions/transition.toast.d.ts +3 -0
- package/presence/src/types.d.ts +15 -0
- package/presence/src/utils.d.ts +42 -0
- package/toggle/src/toggle.directive.d.ts +14 -1
- package/toggle-group/index.d.ts +0 -1
- package/toggle-group/src/toggle-group-item.directive.d.ts +13 -27
- package/toggle-group/src/toggle-group-item.token.d.ts +1 -0
- package/toggle-group/src/toggle-group.directive.d.ts +17 -45
- package/toggle-group/src/toggle-group.token.d.ts +2 -3
- package/tooltip/src/tooltip-content-attributes.component.d.ts +8 -0
- package/tooltip/src/tooltip-root.directive.d.ts +4 -4
- package/toggle-group/src/toggle-group-multiple.directive.d.ts +0 -99
@@ -0,0 +1,28 @@
|
|
1
|
+
import { CdkOverlayOrigin } from '@angular/cdk/overlay';
|
2
|
+
import { ElementRef } from '@angular/core';
|
3
|
+
import { RdxHoverCardRootDirective } from './hover-card-root.directive';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/cdk/overlay";
|
6
|
+
export declare class RdxHoverCardAnchorDirective {
|
7
|
+
/**
|
8
|
+
* @ignore
|
9
|
+
* If outside the rootDirective then null, otherwise the rootDirective directive - with optional `true` passed in as the first param.
|
10
|
+
* If outside the rootDirective and non-null value that means the html structure is wrong - hover-card inside hover-card.
|
11
|
+
* */
|
12
|
+
protected rootDirective: RdxHoverCardRootDirective | null;
|
13
|
+
/** @ignore */
|
14
|
+
readonly elementRef: ElementRef<any>;
|
15
|
+
/** @ignore */
|
16
|
+
readonly overlayOrigin: CdkOverlayOrigin;
|
17
|
+
/** @ignore */
|
18
|
+
readonly document: Document;
|
19
|
+
/** @ignore */
|
20
|
+
readonly name: import("@angular/core").Signal<string>;
|
21
|
+
/** @ignore */
|
22
|
+
click(): void;
|
23
|
+
/** @ignore */
|
24
|
+
setRoot(root: RdxHoverCardRootDirective): void;
|
25
|
+
private emitOutsideClick;
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardAnchorDirective, never>;
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardAnchorDirective, "[rdxHoverCardAnchor]", ["rdxHoverCardAnchor"], {}, {}, never, never, true, [{ directive: typeof i1.CdkOverlayOrigin; inputs: {}; outputs: {}; }]>;
|
28
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import { NumberInput } from '@angular/cdk/coercion';
|
2
|
+
import { ElementRef } from '@angular/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class RdxHoverCardArrowDirective {
|
5
|
+
/** @ignore */
|
6
|
+
private readonly renderer;
|
7
|
+
/** @ignore */
|
8
|
+
private readonly rootDirective;
|
9
|
+
/** @ignore */
|
10
|
+
readonly elementRef: ElementRef<any>;
|
11
|
+
/**
|
12
|
+
* @description The width of the arrow in pixels.
|
13
|
+
* @default 10
|
14
|
+
*/
|
15
|
+
readonly width: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
16
|
+
/**
|
17
|
+
* @description The height of the arrow in pixels.
|
18
|
+
* @default 5
|
19
|
+
*/
|
20
|
+
readonly height: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
21
|
+
/** @ignore */
|
22
|
+
readonly arrowSvgElement: import("@angular/core").Signal<HTMLElement>;
|
23
|
+
/** @ignore */
|
24
|
+
private readonly currentArrowSvgElement;
|
25
|
+
/** @ignore */
|
26
|
+
private readonly position;
|
27
|
+
/** @ignore */
|
28
|
+
private anchorOrTriggerRect;
|
29
|
+
constructor();
|
30
|
+
/** @ignore */
|
31
|
+
private setAnchorOrTriggerRect;
|
32
|
+
/** @ignore */
|
33
|
+
private setPosition;
|
34
|
+
/** @ignore */
|
35
|
+
private onArrowSvgElementChangeEffect;
|
36
|
+
/** @ignore */
|
37
|
+
private onContentPositionAndArrowDimensionsChangeEffect;
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardArrowDirective, never>;
|
39
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardArrowDirective, "[rdxHoverCardArrow]", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
40
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* TODO: to be removed? But it seems to be useful when controlled from outside
|
5
|
+
*/
|
6
|
+
export declare class RdxHoverCardCloseDirective {
|
7
|
+
/** @ignore */
|
8
|
+
protected readonly rootDirective: import("@radix-ng/primitives/hover-card").RdxHoverCardRootDirective;
|
9
|
+
/** @ignore */
|
10
|
+
readonly elementRef: ElementRef<any>;
|
11
|
+
/** @ignore */
|
12
|
+
private readonly renderer;
|
13
|
+
constructor();
|
14
|
+
/** @ignore */
|
15
|
+
private onIsControlledExternallyEffect;
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardCloseDirective, never>;
|
17
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardCloseDirective, "[rdxHoverCardClose]", never, {}, {}, never, never, true, never>;
|
18
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class RdxHoverCardContentAttributesComponent {
|
3
|
+
/** @ignore */
|
4
|
+
protected readonly rootDirective: import("@radix-ng/primitives/hover-card").RdxHoverCardRootDirective;
|
5
|
+
/** @ignore */
|
6
|
+
readonly name: import("@angular/core").Signal<string>;
|
7
|
+
/** @ignore */
|
8
|
+
readonly disableAnimation: import("@angular/core").Signal<boolean>;
|
9
|
+
/** @ignore */
|
10
|
+
protected onAnimationStart(_: AnimationEvent): void;
|
11
|
+
/** @ignore */
|
12
|
+
protected onAnimationEnd(_: AnimationEvent): void;
|
13
|
+
/** @ignore */
|
14
|
+
protected pointerenter(): void;
|
15
|
+
/** @ignore */
|
16
|
+
protected pointerleave(): void;
|
17
|
+
/** @ignore */
|
18
|
+
protected focus(): void;
|
19
|
+
/** @ignore */
|
20
|
+
protected blur(): void;
|
21
|
+
/** @ignore */
|
22
|
+
private canAnimate;
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardContentAttributesComponent, never>;
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RdxHoverCardContentAttributesComponent, "[rdxHoverCardContentAttributes]", never, {}, {}, never, ["*"], true, never>;
|
25
|
+
}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
2
|
+
import { OnInit } from '@angular/core';
|
3
|
+
import { RdxPositionAlign, RdxPositionSide } from '@radix-ng/primitives/core';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/cdk/overlay";
|
6
|
+
export declare class RdxHoverCardContentDirective implements OnInit {
|
7
|
+
/** @ignore */
|
8
|
+
private readonly rootDirective;
|
9
|
+
/** @ignore */
|
10
|
+
private readonly templateRef;
|
11
|
+
/** @ignore */
|
12
|
+
private readonly overlay;
|
13
|
+
/** @ignore */
|
14
|
+
private readonly destroyRef;
|
15
|
+
/** @ignore */
|
16
|
+
private readonly connectedOverlay;
|
17
|
+
/** @ignore */
|
18
|
+
readonly name: import("@angular/core").Signal<string>;
|
19
|
+
/**
|
20
|
+
* @description The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.
|
21
|
+
* @default top
|
22
|
+
*/
|
23
|
+
readonly side: import("@angular/core").InputSignal<RdxPositionSide>;
|
24
|
+
/**
|
25
|
+
* @description The distance in pixels from the trigger.
|
26
|
+
* @default undefined
|
27
|
+
*/
|
28
|
+
readonly sideOffset: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
29
|
+
/**
|
30
|
+
* @description The preferred alignment against the trigger. May change when collisions occur.
|
31
|
+
* @default center
|
32
|
+
*/
|
33
|
+
readonly align: import("@angular/core").InputSignal<RdxPositionAlign>;
|
34
|
+
/**
|
35
|
+
* @description An offset in pixels from the "start" or "end" alignment options.
|
36
|
+
* @default undefined
|
37
|
+
*/
|
38
|
+
readonly alignOffset: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
39
|
+
/**
|
40
|
+
* @description Whether to add some alternate positions of the content.
|
41
|
+
* @default false
|
42
|
+
*/
|
43
|
+
readonly alternatePositionsDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
44
|
+
/** @description Whether to prevent `onOverlayEscapeKeyDown` handler from calling. */
|
45
|
+
readonly onOverlayEscapeKeyDownDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
46
|
+
/** @description Whether to prevent `onOverlayOutsideClick` handler from calling. */
|
47
|
+
readonly onOverlayOutsideClickDisabled: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
48
|
+
/**
|
49
|
+
* @description Event handler called when the escape key is down.
|
50
|
+
* It can be prevented by setting `onOverlayEscapeKeyDownDisabled` input to `true`.
|
51
|
+
*/
|
52
|
+
readonly onOverlayEscapeKeyDown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
|
53
|
+
/**
|
54
|
+
* @description Event handler called when a pointer event occurs outside the bounds of the component.
|
55
|
+
* It can be prevented by setting `onOverlayOutsideClickDisabled` input to `true`.
|
56
|
+
*/
|
57
|
+
readonly onOverlayOutsideClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
58
|
+
/**
|
59
|
+
* @description Event handler called after the overlay is open
|
60
|
+
*/
|
61
|
+
readonly onOpen: import("@angular/core").OutputEmitterRef<void>;
|
62
|
+
/**
|
63
|
+
* @description Event handler called after the overlay is closed
|
64
|
+
*/
|
65
|
+
readonly onClosed: import("@angular/core").OutputEmitterRef<void>;
|
66
|
+
/** @ingore */
|
67
|
+
readonly positions: import("@angular/core").Signal<import("@angular/cdk/overlay").ConnectedPosition[]>;
|
68
|
+
constructor();
|
69
|
+
/** @ignore */
|
70
|
+
ngOnInit(): void;
|
71
|
+
/** @ignore */
|
72
|
+
open(): void;
|
73
|
+
/** @ignore */
|
74
|
+
close(): void;
|
75
|
+
/** @ignore */
|
76
|
+
positionChange(): import("rxjs").Observable<import("@angular/cdk/overlay").ConnectedOverlayPositionChange>;
|
77
|
+
/** @ignore */
|
78
|
+
private connectKeydownEscape;
|
79
|
+
/** @ignore */
|
80
|
+
private connectOutsideClick;
|
81
|
+
/** @ignore */
|
82
|
+
private onAttach;
|
83
|
+
/** @ignore */
|
84
|
+
private onDetach;
|
85
|
+
/** @ignore */
|
86
|
+
private setScrollStrategy;
|
87
|
+
/** @ignore */
|
88
|
+
private setHasBackdrop;
|
89
|
+
/** @ignore */
|
90
|
+
private setDisableClose;
|
91
|
+
/** @ignore */
|
92
|
+
private setOrigin;
|
93
|
+
/** @ignore */
|
94
|
+
private setPositions;
|
95
|
+
/** @ignore */
|
96
|
+
private computePositions;
|
97
|
+
private onOriginChangeEffect;
|
98
|
+
/** @ignore */
|
99
|
+
private onPositionChangeEffect;
|
100
|
+
/** @ignore */
|
101
|
+
private fireOverlayNgOnChanges;
|
102
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardContentDirective, never>;
|
103
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardContentDirective, "[rdxHoverCardContent]", 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; }; "alternatePositionsDisabled": { "alias": "alternatePositionsDisabled"; "required": false; "isSignal": true; }; "onOverlayEscapeKeyDownDisabled": { "alias": "onOverlayEscapeKeyDownDisabled"; "required": false; "isSignal": true; }; "onOverlayOutsideClickDisabled": { "alias": "onOverlayOutsideClickDisabled"; "required": false; "isSignal": true; }; }, { "onOverlayEscapeKeyDown": "onOverlayEscapeKeyDown"; "onOverlayOutsideClick": "onOverlayOutsideClick"; "onOpen": "onOpen"; "onClosed": "onClosed"; }, never, never, true, [{ directive: typeof i1.CdkConnectedOverlay; inputs: {}; outputs: {}; }]>;
|
104
|
+
}
|
@@ -0,0 +1,168 @@
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
2
|
+
import { DestroyRef, ViewContainerRef } from '@angular/core';
|
3
|
+
import { Subject } from 'rxjs';
|
4
|
+
import { RdxHoverCardAnchorDirective } from './hover-card-anchor.directive';
|
5
|
+
import { RdxHoverCardContentDirective } from './hover-card-content.directive';
|
6
|
+
import { RdxHoverCardTriggerDirective } from './hover-card-trigger.directive';
|
7
|
+
import { RdxHoverCardAction, RdxHoverCardAnimationStatus, RdxHoverCardAttachDetachEvent, RdxHoverCardState } from './hover-card.types';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
export declare class RdxHoverCardRootDirective {
|
10
|
+
/** @ignore */
|
11
|
+
readonly uniqueId: import("@angular/core").WritableSignal<number>;
|
12
|
+
/** @ignore */
|
13
|
+
readonly name: import("@angular/core").Signal<string>;
|
14
|
+
/**
|
15
|
+
* @description The anchor directive that comes form outside the hover-card rootDirective
|
16
|
+
* @default undefined
|
17
|
+
*/
|
18
|
+
readonly anchor: import("@angular/core").InputSignal<RdxHoverCardAnchorDirective | undefined>;
|
19
|
+
/**
|
20
|
+
* @description The open state of the hover-card when it is initially rendered. Use when you do not need to control its open state.
|
21
|
+
* @default false
|
22
|
+
*/
|
23
|
+
readonly defaultOpen: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
24
|
+
/**
|
25
|
+
* @description The controlled state of the hover-card. `open` input take precedence of `defaultOpen` input.
|
26
|
+
* @default undefined
|
27
|
+
*/
|
28
|
+
readonly open: import("@angular/core").InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
29
|
+
/**
|
30
|
+
* To customise the open delay for a specific hover-card.
|
31
|
+
*/
|
32
|
+
readonly openDelay: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
33
|
+
/**
|
34
|
+
* To customise the close delay for a specific hover-card.
|
35
|
+
*/
|
36
|
+
readonly closeDelay: import("@angular/core").InputSignalWithTransform<number, NumberInput>;
|
37
|
+
/**
|
38
|
+
* @description Whether to control the state of the hover-card from external. Use in conjunction with `open` input.
|
39
|
+
* @default undefined
|
40
|
+
*/
|
41
|
+
readonly externalControl: import("@angular/core").InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
42
|
+
/**
|
43
|
+
* @description Whether to take into account CSS opening/closing animations.
|
44
|
+
* @default false
|
45
|
+
*/
|
46
|
+
readonly cssAnimation: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
47
|
+
/**
|
48
|
+
* @description Whether to take into account CSS opening animations. `cssAnimation` input must be set to 'true'
|
49
|
+
* @default false
|
50
|
+
*/
|
51
|
+
readonly cssOpeningAnimation: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
52
|
+
/**
|
53
|
+
* @description Whether to take into account CSS closing animations. `cssAnimation` input must be set to 'true'
|
54
|
+
* @default false
|
55
|
+
*/
|
56
|
+
readonly cssClosingAnimation: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
|
57
|
+
/** @ignore */
|
58
|
+
readonly cssAnimationStatus: import("@angular/core").WritableSignal<RdxHoverCardAnimationStatus | null>;
|
59
|
+
/** @ignore */
|
60
|
+
readonly contentDirective: import("@angular/core").Signal<RdxHoverCardContentDirective>;
|
61
|
+
/** @ignore */
|
62
|
+
readonly triggerDirective: import("@angular/core").Signal<RdxHoverCardTriggerDirective>;
|
63
|
+
/** @ignore */
|
64
|
+
readonly arrowDirective: import("@angular/core").Signal<import("@radix-ng/primitives/hover-card").RdxHoverCardArrowDirective | undefined>;
|
65
|
+
/** @ignore */
|
66
|
+
readonly closeDirective: import("@angular/core").Signal<import("@radix-ng/primitives/hover-card").RdxHoverCardCloseDirective | undefined>;
|
67
|
+
/** @ignore */
|
68
|
+
readonly contentAttributesComponent: import("@angular/core").Signal<import("@radix-ng/primitives/hover-card").RdxHoverCardContentAttributesComponent | undefined>;
|
69
|
+
/** @ignore */
|
70
|
+
private readonly internalAnchorDirective;
|
71
|
+
/** @ignore */
|
72
|
+
readonly viewContainerRef: ViewContainerRef;
|
73
|
+
/** @ignore */
|
74
|
+
readonly rdxCdkEventService: {
|
75
|
+
document: Document;
|
76
|
+
destroyRef: DestroyRef;
|
77
|
+
ngZone: import("@angular/core").NgZone;
|
78
|
+
renderer2: import("@angular/core").Renderer2;
|
79
|
+
window: Window & typeof globalThis;
|
80
|
+
primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
|
81
|
+
onDestroyCallbacks: Set<() => void>;
|
82
|
+
"__#5803@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
|
83
|
+
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
84
|
+
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
85
|
+
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
86
|
+
allowPrimitiveForCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
87
|
+
preventPrimitiveFromCdkMultiEvents<T extends object>(primitiveInstance: T, eventTypes: import("./utils/types").EventType[]): void;
|
88
|
+
allowPrimitiveForCdkMultiEvents<T extends object>(primitiveInstance: T, eventTypes: import("./utils/types").EventType[]): void;
|
89
|
+
setPreventPrimitiveFromCdkMixEvents<T extends object>(primitiveInstance: T, eventTypes: import("./utils/types").PrimitiveConfig): void;
|
90
|
+
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
|
91
|
+
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
92
|
+
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
93
|
+
"__#5803@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
|
94
|
+
"__#5803@#registerOnDestroyCallbacks"(): void;
|
95
|
+
"__#5803@#listenToClickDomRootEvent"(): void;
|
96
|
+
} | null;
|
97
|
+
/** @ignore */
|
98
|
+
readonly destroyRef: DestroyRef;
|
99
|
+
/** @ignore */
|
100
|
+
readonly state: import("@angular/core").WritableSignal<RdxHoverCardState>;
|
101
|
+
/** @ignore */
|
102
|
+
readonly attachDetachEvent: import("@angular/core").WritableSignal<RdxHoverCardAttachDetachEvent>;
|
103
|
+
/** @ignore */
|
104
|
+
private readonly isFirstDefaultOpen;
|
105
|
+
/** @ignore */
|
106
|
+
readonly anchorDirective: import("@angular/core").Signal<RdxHoverCardAnchorDirective | undefined>;
|
107
|
+
/** @ignore */
|
108
|
+
readonly actionSubject$: Subject<RdxHoverCardAction>;
|
109
|
+
constructor();
|
110
|
+
/** @ignore */
|
111
|
+
getAnimationParamsSnapshot(): {
|
112
|
+
cssAnimation: boolean;
|
113
|
+
cssOpeningAnimation: boolean;
|
114
|
+
cssClosingAnimation: boolean;
|
115
|
+
cssAnimationStatus: RdxHoverCardAnimationStatus | null;
|
116
|
+
attachDetachEvent: RdxHoverCardAttachDetachEvent;
|
117
|
+
state: RdxHoverCardState;
|
118
|
+
canEmitOnOpenOrOnClosed: boolean;
|
119
|
+
};
|
120
|
+
/** @ignore */
|
121
|
+
controlledExternally(): import("@angular/core").InputSignalWithTransform<boolean | undefined, BooleanInput>;
|
122
|
+
/** @ignore */
|
123
|
+
firstDefaultOpen(): boolean;
|
124
|
+
/** @ignore */
|
125
|
+
handleOpen(): void;
|
126
|
+
/** @ignore */
|
127
|
+
handleClose(closeButton?: boolean): void;
|
128
|
+
/** @ignore */
|
129
|
+
handleToggle(): void;
|
130
|
+
/** @ignore */
|
131
|
+
isOpen(state?: RdxHoverCardState): boolean;
|
132
|
+
/** @ignore */
|
133
|
+
private setState;
|
134
|
+
/** @ignore */
|
135
|
+
private openContent;
|
136
|
+
/** @ignore */
|
137
|
+
private closeContent;
|
138
|
+
/** @ignore */
|
139
|
+
private emitOnOpen;
|
140
|
+
/** @ignore */
|
141
|
+
private emitOnClosed;
|
142
|
+
/** @ignore */
|
143
|
+
private ifOpenOrCloseWithoutAnimations;
|
144
|
+
/** @ignore */
|
145
|
+
private ifOpenOrCloseWithAnimations;
|
146
|
+
/** @ignore */
|
147
|
+
private openOrClose;
|
148
|
+
/** @ignore */
|
149
|
+
private emitOnOpenOrOnClosed;
|
150
|
+
/** @ignore */
|
151
|
+
private canEmitOnOpenOrOnClosed;
|
152
|
+
/** @ignore */
|
153
|
+
private onStateChangeEffect;
|
154
|
+
/** @ignore */
|
155
|
+
private onCssAnimationStatusChangeChangeEffect;
|
156
|
+
/** @ignore */
|
157
|
+
private emitOpenOrClosedEventEffect;
|
158
|
+
/** @ignore */
|
159
|
+
private onOpenChangeEffect;
|
160
|
+
/** @ignore */
|
161
|
+
private onIsFirstDefaultOpenChangeEffect;
|
162
|
+
/** @ignore */
|
163
|
+
private onAnchorChangeEffect;
|
164
|
+
/** @ignore */
|
165
|
+
private actionSubscription;
|
166
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardRootDirective, never>;
|
167
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardRootDirective, "[rdxHoverCardRoot]", ["rdxHoverCardRoot"], { "anchor": { "alias": "anchor"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "openDelay": { "alias": "openDelay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "externalControl": { "alias": "externalControl"; "required": false; "isSignal": true; }; "cssAnimation": { "alias": "cssAnimation"; "required": false; "isSignal": true; }; "cssOpeningAnimation": { "alias": "cssOpeningAnimation"; "required": false; "isSignal": true; }; "cssClosingAnimation": { "alias": "cssClosingAnimation"; "required": false; "isSignal": true; }; }, {}, ["contentDirective", "triggerDirective", "arrowDirective", "closeDirective", "contentAttributesComponent", "internalAnchorDirective"], never, true, never>;
|
168
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { CdkOverlayOrigin } from '@angular/cdk/overlay';
|
2
|
+
import { ElementRef } from '@angular/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/cdk/overlay";
|
5
|
+
export declare class RdxHoverCardTriggerDirective {
|
6
|
+
/** @ignore */
|
7
|
+
protected readonly rootDirective: import("@radix-ng/primitives/hover-card").RdxHoverCardRootDirective;
|
8
|
+
/** @ignore */
|
9
|
+
readonly elementRef: ElementRef<HTMLElement>;
|
10
|
+
/** @ignore */
|
11
|
+
readonly overlayOrigin: CdkOverlayOrigin;
|
12
|
+
/** @ignore */
|
13
|
+
readonly name: import("@angular/core").Signal<string>;
|
14
|
+
/** @ignore */
|
15
|
+
protected pointerenter(): void;
|
16
|
+
/** @ignore */
|
17
|
+
protected pointerleave(): void;
|
18
|
+
/** @ignore */
|
19
|
+
protected focus(): void;
|
20
|
+
/** @ignore */
|
21
|
+
protected blur(): void;
|
22
|
+
/** @ignore */
|
23
|
+
protected click(): void;
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxHoverCardTriggerDirective, never>;
|
25
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxHoverCardTriggerDirective, "[rdxHoverCardTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkOverlayOrigin; inputs: {}; outputs: {}; }]>;
|
26
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export declare enum RdxHoverCardState {
|
2
|
+
OPEN = "open",
|
3
|
+
CLOSED = "closed"
|
4
|
+
}
|
5
|
+
export declare enum RdxHoverCardAction {
|
6
|
+
OPEN = "open",
|
7
|
+
CLOSE = "close"
|
8
|
+
}
|
9
|
+
export declare enum RdxHoverCardAttachDetachEvent {
|
10
|
+
ATTACH = "attach",
|
11
|
+
DETACH = "detach"
|
12
|
+
}
|
13
|
+
export declare enum RdxHoverCardAnimationStatus {
|
14
|
+
OPEN_STARTED = "open_started",
|
15
|
+
OPEN_ENDED = "open_ended",
|
16
|
+
CLOSED_STARTED = "closed_started",
|
17
|
+
CLOSED_ENDED = "closed_ended"
|
18
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { DestroyRef, EnvironmentProviders, NgZone, Provider, Renderer2 } from '@angular/core';
|
2
|
+
import { EventType, PrimitiveConfig, PrimitiveConfigs } from './types';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
declare class RdxCdkEventService {
|
5
|
+
#private;
|
6
|
+
document: Document;
|
7
|
+
destroyRef: DestroyRef;
|
8
|
+
ngZone: NgZone;
|
9
|
+
renderer2: Renderer2;
|
10
|
+
window: Window & typeof globalThis;
|
11
|
+
primitiveConfigs?: PrimitiveConfigs;
|
12
|
+
onDestroyCallbacks: Set<() => void>;
|
13
|
+
constructor();
|
14
|
+
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
15
|
+
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
16
|
+
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: EventType): void;
|
17
|
+
allowPrimitiveForCdkEvent<T extends object>(primitiveInstance: T, eventType: EventType): void;
|
18
|
+
preventPrimitiveFromCdkMultiEvents<T extends object>(primitiveInstance: T, eventTypes: EventType[]): void;
|
19
|
+
allowPrimitiveForCdkMultiEvents<T extends object>(primitiveInstance: T, eventTypes: EventType[]): void;
|
20
|
+
setPreventPrimitiveFromCdkMixEvents<T extends object>(primitiveInstance: T, eventTypes: PrimitiveConfig): void;
|
21
|
+
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: EventType): boolean | undefined;
|
22
|
+
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
23
|
+
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdxCdkEventService, never>;
|
25
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RdxCdkEventService>;
|
26
|
+
}
|
27
|
+
export declare const provideRdxCdkEventServiceInRoot: () => EnvironmentProviders;
|
28
|
+
export declare const provideRdxCdkEventService: () => Provider;
|
29
|
+
export declare const injectRdxCdkEventService: () => RdxCdkEventService | null;
|
30
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const RdxCdkEventServiceWindowKey: unique symbol;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export type EventType = 'cdkOverlayOutsideClick' | 'cdkOverlayEscapeKeyDown';
|
2
|
+
export type EventTypeCapitalized<R extends EventType = EventType> = Capitalize<R>;
|
3
|
+
export type EventTypeAsPrimitiveConfigKey<R extends EventType = EventType> = `prevent${EventTypeCapitalized<R>}`;
|
4
|
+
export type PrimitiveConfig = {
|
5
|
+
[value in EventTypeAsPrimitiveConfigKey]?: boolean;
|
6
|
+
};
|
7
|
+
export type PrimitiveConfigs = Map<object, PrimitiveConfig>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@radix-ng/primitives",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.28.0",
|
4
4
|
"license": "MIT",
|
5
5
|
"publishConfig": {
|
6
6
|
"access": "public"
|
@@ -75,6 +75,10 @@
|
|
75
75
|
"types": "./dropdown-menu/index.d.ts",
|
76
76
|
"default": "./fesm2022/radix-ng-primitives-dropdown-menu.mjs"
|
77
77
|
},
|
78
|
+
"./hover-card": {
|
79
|
+
"types": "./hover-card/index.d.ts",
|
80
|
+
"default": "./fesm2022/radix-ng-primitives-hover-card.mjs"
|
81
|
+
},
|
78
82
|
"./label": {
|
79
83
|
"types": "./label/index.d.ts",
|
80
84
|
"default": "./fesm2022/radix-ng-primitives-label.mjs"
|
@@ -91,6 +95,10 @@
|
|
91
95
|
"types": "./popover/index.d.ts",
|
92
96
|
"default": "./fesm2022/radix-ng-primitives-popover.mjs"
|
93
97
|
},
|
98
|
+
"./presence": {
|
99
|
+
"types": "./presence/index.d.ts",
|
100
|
+
"default": "./fesm2022/radix-ng-primitives-presence.mjs"
|
101
|
+
},
|
94
102
|
"./progress": {
|
95
103
|
"types": "./progress/index.d.ts",
|
96
104
|
"default": "./fesm2022/radix-ng-primitives-progress.mjs"
|
@@ -70,7 +70,7 @@ export declare class RdxPopoverRootDirective {
|
|
70
70
|
window: Window & typeof globalThis;
|
71
71
|
primitiveConfigs?: import("./utils/types").PrimitiveConfigs;
|
72
72
|
onDestroyCallbacks: Set<() => void>;
|
73
|
-
"__#
|
73
|
+
"__#7452@#clickDomRootEventCallbacks": Set<(event: MouseEvent) => void>;
|
74
74
|
registerPrimitive<T extends object>(primitiveInstance: T): void;
|
75
75
|
deregisterPrimitive<T extends object>(primitiveInstance: T): void;
|
76
76
|
preventPrimitiveFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): void;
|
@@ -81,9 +81,9 @@ export declare class RdxPopoverRootDirective {
|
|
81
81
|
primitivePreventedFromCdkEvent<T extends object>(primitiveInstance: T, eventType: import("./utils/types").EventType): boolean | undefined;
|
82
82
|
addClickDomRootEventCallback(callback: (event: MouseEvent) => void): void;
|
83
83
|
removeClickDomRootEventCallback(callback: (event: MouseEvent) => void): boolean;
|
84
|
-
"__#
|
85
|
-
"__#
|
86
|
-
"__#
|
84
|
+
"__#7452@#setPreventPrimitiveFromCdkEvent"<T extends object, R extends import("./utils/types").EventType, K extends import("./utils/types").PrimitiveConfig[`prevent${Capitalize<R>}`]>(primitiveInstance: T, eventType: R, value: K): void;
|
85
|
+
"__#7452@#registerOnDestroyCallbacks"(): void;
|
86
|
+
"__#7452@#listenToClickDomRootEvent"(): void;
|
87
87
|
} | null;
|
88
88
|
/** @ignore */
|
89
89
|
readonly destroyRef: DestroyRef;
|
@@ -12,7 +12,7 @@ export declare class RdxPopoverTriggerDirective {
|
|
12
12
|
/** @ignore */
|
13
13
|
readonly name: import("@angular/core").Signal<string>;
|
14
14
|
/** @ignore */
|
15
|
-
click(): void;
|
15
|
+
protected click(): void;
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<RdxPopoverTriggerDirective, never>;
|
17
17
|
static ɵdir: i0.ɵɵDirectiveDeclaration<RdxPopoverTriggerDirective, "[rdxPopoverTrigger]", never, {}, {}, never, never, true, [{ directive: typeof i1.CdkOverlayOrigin; inputs: {}; outputs: {}; }]>;
|
18
18
|
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { NgZone } from '@angular/core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { TransitionOptions, TransitionStartFn } from './types';
|
4
|
+
/**
|
5
|
+
* Manages the presence of an element with optional transition animation.
|
6
|
+
*
|
7
|
+
* @template T - The type of the context object used in the transition.
|
8
|
+
* @param {NgZone} zone - The Angular zone to control the change detection context.
|
9
|
+
* @param {HTMLElement} element - The target HTML element to apply the transition.
|
10
|
+
* @param {TransitionOptions<T>} options - Options for controlling the transition behavior.
|
11
|
+
* @param {T} [options.context] - An optional context object to pass through the transition.
|
12
|
+
* @param {boolean} options.animation - A flag indicating if the transition should be animated.
|
13
|
+
* @param {'start' | 'continue' | 'stop'} options.state - The desired state of the transition.
|
14
|
+
* @param {TransitionStartFn<T>} startFn - A function to start the transition.
|
15
|
+
* @returns {Observable<void>} - An observable that emits when the transition completes.
|
16
|
+
*
|
17
|
+
* The `usePresence` function is designed to manage the presence and visibility of an HTML element,
|
18
|
+
* optionally applying a transition animation. It utilizes Angular's NgZone for efficient change
|
19
|
+
* detection management and allows for different states of transitions ('start', 'continue', 'stop').
|
20
|
+
* The function takes a start function to handle the beginning of the transition and returns an
|
21
|
+
* observable that completes when the transition ends.
|
22
|
+
*
|
23
|
+
* Example usage:
|
24
|
+
*
|
25
|
+
* const options: TransitionOptions<MyContext> = {
|
26
|
+
* context: {}, // your context object
|
27
|
+
* animation: true,
|
28
|
+
* state: 'start'
|
29
|
+
* };
|
30
|
+
*
|
31
|
+
* const startFn: TransitionStartFn<MyContext> = (el, animation, context) => {
|
32
|
+
* el.classList.add('active');
|
33
|
+
* return () => el.classList.remove('active');
|
34
|
+
* };
|
35
|
+
*
|
36
|
+
* usePresence(zone, element, startFn, options).subscribe(() => {
|
37
|
+
* console.log('Transition completed');
|
38
|
+
* });
|
39
|
+
*/
|
40
|
+
declare const usePresence: <T>(zone: NgZone, element: HTMLElement, startFn: TransitionStartFn<T>, options: TransitionOptions<T>) => Observable<void>;
|
41
|
+
declare const completeTransition: (element: HTMLElement) => void;
|
42
|
+
export { completeTransition, usePresence };
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { TransitionStartFn } from '../types';
|
2
|
+
export type CollapseContext = {
|
3
|
+
direction: 'show' | 'hide';
|
4
|
+
dimension: 'width' | 'height';
|
5
|
+
maxSize?: string;
|
6
|
+
};
|
7
|
+
/**
|
8
|
+
* Function to handle the start of a collapsing transition.
|
9
|
+
*
|
10
|
+
* @param element - The HTML element to animate.
|
11
|
+
* @param animation - Whether to use animation or not.
|
12
|
+
* @param context - The context containing direction and dimension information.
|
13
|
+
* @returns A function to clean up the animation.
|
14
|
+
*/
|
15
|
+
export declare const transitionCollapsing: TransitionStartFn<CollapseContext>;
|