ng-primitives 0.114.0 → 0.115.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/dialog/index.d.ts +4 -1
- package/fesm2022/ng-primitives-dialog.mjs +28 -9
- package/fesm2022/ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/ng-primitives-portal.mjs +83 -15
- package/fesm2022/ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/ng-primitives-tooltip.mjs +192 -13
- package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/portal/index.d.ts +10 -1
- package/schematics/ng-generate/templates/tooltip/tooltip-trigger.__fileSuffix@dasherize__.ts.template +1 -0
- package/tooltip/index.d.ts +63 -3
package/tooltip/index.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ interface NgpTooltipConfig {
|
|
|
36
36
|
*/
|
|
37
37
|
flip: NgpFlip;
|
|
38
38
|
/**
|
|
39
|
-
* Define the container element or selector
|
|
39
|
+
* Define the container element or selector into which the tooltip should be attached.
|
|
40
40
|
* @default 'body'
|
|
41
41
|
*/
|
|
42
42
|
container: HTMLElement | string | null;
|
|
@@ -74,6 +74,11 @@ interface NgpTooltipConfig {
|
|
|
74
74
|
* @default 300
|
|
75
75
|
*/
|
|
76
76
|
cooldown: number;
|
|
77
|
+
/**
|
|
78
|
+
* Whether hovering the tooltip content keeps it open while moving from the trigger.
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
81
|
+
hoverableContent: boolean;
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* Provide the default Tooltip configuration
|
|
@@ -122,6 +127,10 @@ type TooltipInput<T> = NgpOverlayContent<T> | string | null | undefined;
|
|
|
122
127
|
* Apply the `ngpTooltipTrigger` directive to an element that triggers the tooltip to show.
|
|
123
128
|
*/
|
|
124
129
|
declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
130
|
+
/**
|
|
131
|
+
* Maximum time allowed to cross from trigger to tooltip without pointer movement.
|
|
132
|
+
*/
|
|
133
|
+
private static readonly HOVER_BRIDGE_TIMEOUT_MS;
|
|
125
134
|
/**
|
|
126
135
|
* Access the trigger element
|
|
127
136
|
*/
|
|
@@ -138,6 +147,10 @@ declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
|
138
147
|
* Access the global tooltip configuration.
|
|
139
148
|
*/
|
|
140
149
|
private readonly config;
|
|
150
|
+
/**
|
|
151
|
+
* Disposables for managing event listeners and timers with automatic teardown.
|
|
152
|
+
*/
|
|
153
|
+
private readonly disposables;
|
|
141
154
|
/**
|
|
142
155
|
* Access the tooltip template ref.
|
|
143
156
|
*/
|
|
@@ -224,6 +237,11 @@ declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
|
224
237
|
* @default 300
|
|
225
238
|
*/
|
|
226
239
|
readonly cooldown: _angular_core.InputSignalWithTransform<number, NumberInput>;
|
|
240
|
+
/**
|
|
241
|
+
* Whether hovering tooltip content keeps the tooltip open.
|
|
242
|
+
* @default false
|
|
243
|
+
*/
|
|
244
|
+
readonly hoverableContent: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|
|
227
245
|
/**
|
|
228
246
|
* The overlay that manages the tooltip
|
|
229
247
|
* @internal
|
|
@@ -242,6 +260,26 @@ declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
|
242
260
|
* Determine if the trigger element has overflow.
|
|
243
261
|
*/
|
|
244
262
|
private readonly hasOverflow;
|
|
263
|
+
/**
|
|
264
|
+
* Tracks whether pointer is currently over trigger.
|
|
265
|
+
*/
|
|
266
|
+
private triggerHovered;
|
|
267
|
+
/**
|
|
268
|
+
* Tracks whether pointer is currently over tooltip content.
|
|
269
|
+
*/
|
|
270
|
+
private contentHovered;
|
|
271
|
+
/**
|
|
272
|
+
* Current pointer grace polygon used while crossing trigger -> tooltip.
|
|
273
|
+
*/
|
|
274
|
+
private hoverBridgePolygon;
|
|
275
|
+
/**
|
|
276
|
+
* Cleanup callback for the document pointermove listener.
|
|
277
|
+
*/
|
|
278
|
+
private removePointerMoveListener?;
|
|
279
|
+
/**
|
|
280
|
+
* Cleanup callback for the hover bridge timeout.
|
|
281
|
+
*/
|
|
282
|
+
private clearHoverBridgeTimeout?;
|
|
245
283
|
/**
|
|
246
284
|
* Store the state of the tooltip.
|
|
247
285
|
* @internal
|
|
@@ -271,7 +309,17 @@ declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
|
271
309
|
* Hide the tooltip from an interaction (respects disabled state).
|
|
272
310
|
* @internal
|
|
273
311
|
*/
|
|
274
|
-
protected hideFromInteraction(): void;
|
|
312
|
+
protected hideFromInteraction(event?: MouseEvent): void;
|
|
313
|
+
/**
|
|
314
|
+
* Called by tooltip content when pointer enters the tooltip.
|
|
315
|
+
* @internal
|
|
316
|
+
*/
|
|
317
|
+
onTooltipHoverStart(): void;
|
|
318
|
+
/**
|
|
319
|
+
* Called by tooltip content when pointer leaves the tooltip.
|
|
320
|
+
* @internal
|
|
321
|
+
*/
|
|
322
|
+
onTooltipHoverEnd(): void;
|
|
275
323
|
/**
|
|
276
324
|
* Create the overlay that will contain the tooltip
|
|
277
325
|
*/
|
|
@@ -280,8 +328,20 @@ declare class NgpTooltipTrigger<T = null> implements OnDestroy {
|
|
|
280
328
|
* Set the tooltip id.
|
|
281
329
|
*/
|
|
282
330
|
setTooltipId(id: string): void;
|
|
331
|
+
/**
|
|
332
|
+
* Register document-level pointer tracking while crossing trigger -> tooltip.
|
|
333
|
+
*/
|
|
334
|
+
private registerPointerMoveListener;
|
|
335
|
+
/**
|
|
336
|
+
* Clear hover bridge state and global listeners.
|
|
337
|
+
*/
|
|
338
|
+
private clearHoverBridge;
|
|
339
|
+
/**
|
|
340
|
+
* Close if pointer leaves trigger and does not move into tooltip soon enough.
|
|
341
|
+
*/
|
|
342
|
+
private scheduleHoverBridgeCloseFallback;
|
|
283
343
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgpTooltipTrigger<any>, never>;
|
|
284
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgpTooltipTrigger<any>, "[ngpTooltipTrigger]", ["ngpTooltipTrigger"], { "tooltip": { "alias": "ngpTooltipTrigger"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpTooltipTriggerDisabled"; "required": false; "isSignal": true; }; "placement": { "alias": "ngpTooltipTriggerPlacement"; "required": false; "isSignal": true; }; "offset": { "alias": "ngpTooltipTriggerOffset"; "required": false; "isSignal": true; }; "showDelay": { "alias": "ngpTooltipTriggerShowDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "ngpTooltipTriggerHideDelay"; "required": false; "isSignal": true; }; "flip": { "alias": "ngpTooltipTriggerFlip"; "required": false; "isSignal": true; }; "shift": { "alias": "ngpTooltipTriggerShift"; "required": false; "isSignal": true; }; "container": { "alias": "ngpTooltipTriggerContainer"; "required": false; "isSignal": true; }; "showOnOverflow": { "alias": "ngpTooltipTriggerShowOnOverflow"; "required": false; "isSignal": true; }; "context": { "alias": "ngpTooltipTriggerContext"; "required": false; "isSignal": true; }; "useTextContent": { "alias": "ngpTooltipTriggerUseTextContent"; "required": false; "isSignal": true; }; "trackPosition": { "alias": "ngpTooltipTriggerTrackPosition"; "required": false; "isSignal": true; }; "position": { "alias": "ngpTooltipTriggerPosition"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "ngpTooltipTriggerScrollBehavior"; "required": false; "isSignal": true; }; "cooldown": { "alias": "ngpTooltipTriggerCooldown"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
344
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgpTooltipTrigger<any>, "[ngpTooltipTrigger]", ["ngpTooltipTrigger"], { "tooltip": { "alias": "ngpTooltipTrigger"; "required": false; "isSignal": true; }; "disabled": { "alias": "ngpTooltipTriggerDisabled"; "required": false; "isSignal": true; }; "placement": { "alias": "ngpTooltipTriggerPlacement"; "required": false; "isSignal": true; }; "offset": { "alias": "ngpTooltipTriggerOffset"; "required": false; "isSignal": true; }; "showDelay": { "alias": "ngpTooltipTriggerShowDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "ngpTooltipTriggerHideDelay"; "required": false; "isSignal": true; }; "flip": { "alias": "ngpTooltipTriggerFlip"; "required": false; "isSignal": true; }; "shift": { "alias": "ngpTooltipTriggerShift"; "required": false; "isSignal": true; }; "container": { "alias": "ngpTooltipTriggerContainer"; "required": false; "isSignal": true; }; "showOnOverflow": { "alias": "ngpTooltipTriggerShowOnOverflow"; "required": false; "isSignal": true; }; "context": { "alias": "ngpTooltipTriggerContext"; "required": false; "isSignal": true; }; "useTextContent": { "alias": "ngpTooltipTriggerUseTextContent"; "required": false; "isSignal": true; }; "trackPosition": { "alias": "ngpTooltipTriggerTrackPosition"; "required": false; "isSignal": true; }; "position": { "alias": "ngpTooltipTriggerPosition"; "required": false; "isSignal": true; }; "scrollBehavior": { "alias": "ngpTooltipTriggerScrollBehavior"; "required": false; "isSignal": true; }; "cooldown": { "alias": "ngpTooltipTriggerCooldown"; "required": false; "isSignal": true; }; "hoverableContent": { "alias": "ngpTooltipTriggerHoverableContent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
285
345
|
}
|
|
286
346
|
type NgpTooltipPlacement = 'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end';
|
|
287
347
|
|