@ngneat/helipopper 7.1.0 → 8.0.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.
@@ -0,0 +1,125 @@
1
+ import { Observable } from 'rxjs';
2
+ import { auditTime, map } from 'rxjs/operators';
3
+ import { ElementRef } from '@angular/core';
4
+ let supportsIntersectionObserver = false;
5
+ let supportsResizeObserver = false;
6
+ if (typeof window !== 'undefined') {
7
+ supportsIntersectionObserver = 'IntersectionObserver' in window;
8
+ supportsResizeObserver = 'ResizeObserver' in window;
9
+ }
10
+ export function inView(host, options = {
11
+ root: null,
12
+ threshold: 0.3,
13
+ }) {
14
+ const element = coerceElement(host);
15
+ return new Observable((subscriber) => {
16
+ if (!supportsIntersectionObserver) {
17
+ subscriber.next();
18
+ subscriber.complete();
19
+ return;
20
+ }
21
+ const observer = new IntersectionObserver((entries) => {
22
+ // Several changes may occur in the same tick, we want to check the latest entry state.
23
+ const entry = entries[entries.length - 1];
24
+ if (entry.isIntersecting) {
25
+ subscriber.next();
26
+ subscriber.complete();
27
+ }
28
+ }, options);
29
+ observer.observe(element);
30
+ return () => observer.disconnect();
31
+ });
32
+ }
33
+ function isElementOverflow(host) {
34
+ // Don't access the `offsetWidth` multipe times since it triggers layout updates.
35
+ const hostOffsetWidth = host.offsetWidth;
36
+ return hostOffsetWidth > host.parentElement.offsetWidth || hostOffsetWidth < host.scrollWidth;
37
+ }
38
+ export function overflowChanges(host) {
39
+ const element = coerceElement(host);
40
+ return dimensionsChanges(element).pipe(auditTime(150), map(() => isElementOverflow(element)));
41
+ }
42
+ export function dimensionsChanges(target) {
43
+ return resizeObserverStrategy(target);
44
+ }
45
+ function resizeObserverStrategy(target) {
46
+ return new Observable((subscriber) => {
47
+ if (!supportsResizeObserver) {
48
+ subscriber.next();
49
+ subscriber.complete();
50
+ return;
51
+ }
52
+ const observer = new ResizeObserver(() => subscriber.next(true));
53
+ observer.observe(target);
54
+ return () => observer.disconnect();
55
+ });
56
+ }
57
+ export function onlyTippyProps(allProps) {
58
+ const tippyProps = {};
59
+ const ownProps = [
60
+ 'useTextContent',
61
+ 'variations',
62
+ 'useHostWidth',
63
+ 'defaultVariation',
64
+ 'beforeRender',
65
+ 'isLazy',
66
+ 'variation',
67
+ 'isEnabled',
68
+ 'className',
69
+ 'onlyTextOverflow',
70
+ 'data',
71
+ 'content',
72
+ 'context',
73
+ 'hideOnEscape',
74
+ 'customHost',
75
+ 'injector',
76
+ 'preserveView',
77
+ 'vcr',
78
+ 'popperWidth',
79
+ 'zIndexGetter',
80
+ ];
81
+ const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];
82
+ Object.keys(allProps).forEach((prop) => {
83
+ if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {
84
+ tippyProps[prop] = allProps[prop];
85
+ }
86
+ });
87
+ return tippyProps;
88
+ }
89
+ export function normalizeClassName(className) {
90
+ const classes = isString(className) ? className.split(' ') : className;
91
+ return classes.map((klass) => klass?.trim()).filter(Boolean);
92
+ }
93
+ export function coerceCssPixelValue(value) {
94
+ if (isNil(value)) {
95
+ return '';
96
+ }
97
+ return typeof value === 'string' ? value : `${value}px`;
98
+ }
99
+ function isString(value) {
100
+ return typeof value === 'string';
101
+ }
102
+ function isNil(value) {
103
+ return value === undefined || value === null;
104
+ }
105
+ function coerceElement(element) {
106
+ return element instanceof ElementRef ? element.nativeElement : element;
107
+ }
108
+ let observer;
109
+ const elementHiddenHandlers = new WeakMap();
110
+ export function observeVisibility(host, hiddenHandler) {
111
+ observer ??= new IntersectionObserver((entries) => {
112
+ entries.forEach((entry) => {
113
+ if (!entry.isIntersecting) {
114
+ elementHiddenHandlers.get(entry.target)();
115
+ }
116
+ });
117
+ });
118
+ elementHiddenHandlers.set(host, hiddenHandler);
119
+ observer.observe(host);
120
+ return () => {
121
+ elementHiddenHandlers.delete(host);
122
+ observer.unobserve(host);
123
+ };
124
+ }
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLElBQUksNEJBQTRCLEdBQUcsS0FBSyxDQUFDO0FBQ3pDLElBQUksc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0FBRW5DLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO0lBQ2pDLDRCQUE0QixHQUFHLHNCQUFzQixJQUFJLE1BQU0sQ0FBQztJQUNoRSxzQkFBc0IsR0FBRyxnQkFBZ0IsSUFBSSxNQUFNLENBQUM7Q0FDckQ7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUNwQixJQUFrQixFQUNsQixVQUFvQztJQUNsQyxJQUFJLEVBQUUsSUFBSTtJQUNWLFNBQVMsRUFBRSxHQUFHO0NBQ2Y7SUFFRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFcEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQ25DLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNqQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwRCx1RkFBdUY7WUFDdkYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxL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QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtnQkFDekIscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsRUFBRSxDQUFDO2FBQzVDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDL0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV2QixPQUFPLEdBQUcsRUFBRTtRQUNWLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRpcHB5RWxlbWVudCB9IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IFJlc2l6ZU9ic2VydmVyOiBhbnk7XG5cbmxldCBzdXBwb3J0c0ludGVyc2VjdGlvbk9ic2VydmVyID0gZmFsc2U7XG5sZXQgc3VwcG9ydHNSZXNpemVPYnNlcnZlciA9IGZhbHNlO1xuXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgc3VwcG9ydHNJbnRlcnNlY3Rpb25PYnNlcnZlciA9ICdJbnRlcnNlY3Rpb25PYnNlcnZlcicgaW4gd2luZG93O1xuICBzdXBwb3J0c1Jlc2l6ZU9ic2VydmVyID0gJ1Jlc2l6ZU9ic2VydmVyJyBpbiB3aW5kb3c7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpblZpZXcoXG4gIGhvc3Q6IFRpcHB5RWxlbWVudCxcbiAgb3B0aW9uczogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0ID0ge1xuICAgIHJvb3Q6IG51bGwsXG4gICAgdGhyZXNob2xkOiAwLjMsXG4gIH1cbikge1xuICBjb25zdCBlbGVtZW50ID0gY29lcmNlRWxlbWVudChob3N0KTtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICBpZiAoIXN1cHBvcnRzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgIHN1YnNjcmliZXIubmV4dCgpO1xuICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAvLyBTZXZlcmFsIGNoYW5nZXMgbWF5IG9jY3VyIGluIHRoZSBzYW1lIHRpY2ssIHdlIHdhbnQgdG8gY2hlY2sgdGhlIGxhdGVzdCBlbnRyeSBzdGF0ZS5cbiAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1tlbnRyaWVzLmxlbmd0aCAtIDFdO1xuICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgIHN1YnNjcmliZXIubmV4dCgpO1xuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSwgb3B0aW9ucyk7XG5cbiAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpO1xuXG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGlzRWxlbWVudE92ZXJmbG93KGhvc3Q6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIERvbid0IGFjY2VzcyB0aGUgYG9mZnNldFdpZHRoYCBtdWx0aXBlIHRpbWVzIHNpbmNlIGl0IHRyaWdnZXJzIGxheW91dCB1cGRhdGVzLlxuICBjb25zdCBob3N0T2Zmc2V0V2lkdGggPSBob3N0Lm9mZnNldFdpZHRoO1xuICByZXR1cm4gaG9zdE9mZnNldFdpZHRoID4gaG9zdC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIHx8IGhvc3RPZmZzZXRXaWR0aCA8IGhvc3Quc2Nyb2xsV2lkdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvdmVyZmxvd0NoYW5nZXMoaG9zdDogVGlwcHlFbGVtZW50KSB7XG4gIGNvbnN0IGVsZW1lbnQgPSBjb2VyY2VFbGVtZW50KGhvc3QpO1xuXG4gIHJldHVybiBkaW1lbnNpb25zQ2hhbmdlcyhlbGVtZW50KS5waXBlKFxuICAgIGF1ZGl0VGltZSgxNTApLFxuICAgIG1hcCgoKSA9PiBpc0VsZW1lbnRPdmVyZmxvdyhlbGVtZW50KSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpbWVuc2lvbnNDaGFuZ2VzKHRhcmdldDogSFRNTEVsZW1lbnQpIHtcbiAgcmV0dXJuIHJlc2l6ZU9ic2VydmVyU3RyYXRlZ3kodGFyZ2V0KTtcbn1cblxuZnVuY3Rpb24gcmVzaXplT2JzZXJ2ZXJTdHJhdGVneSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgIGlmICghc3VwcG9ydHNSZXNpemVPYnNlcnZlcikge1xuICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gc3Vic2NyaWJlci5uZXh0KHRydWUpKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmx5VGlwcHlQcm9wcyhhbGxQcm9wczogYW55KSB7XG4gIGNvbnN0IHRpcHB5UHJvcHMgPSB7fTtcblxuICBjb25zdCBvd25Qcm9wcyA9IFtcbiAgICAndXNlVGV4dENvbnRlbnQnLFxuICAgICd2YXJpYXRpb25zJyxcbiAgICAndXNlSG9zdFdpZHRoJyxcbiAgICAnZGVmYXVsdFZhcmlhdGlvbicsXG4gICAgJ2JlZm9yZVJlbmRlcicsXG4gICAgJ2lzTGF6eScsXG4gICAgJ3ZhcmlhdGlvbicsXG4gICAgJ2lzRW5hYmxlZCcsXG4gICAgJ2NsYXNzTmFtZScsXG4gICAgJ29ubHlUZXh0T3ZlcmZsb3cnLFxuICAgICdkYXRhJyxcbiAgICAnY29udGVudCcsXG4gICAgJ2NvbnRleHQnLFxuICAgICdoaWRlT25Fc2NhcGUnLFxuICAgICdjdXN0b21Ib3N0JyxcbiAgICAnaW5qZWN0b3InLFxuICAgICdwcmVzZXJ2ZVZpZXcnLFxuICAgICd2Y3InLFxuICAgICdwb3BwZXJXaWR0aCcsXG4gICAgJ3pJbmRleEdldHRlcicsXG4gIF07XG5cbiAgY29uc3Qgb3ZlcnJpZGRlbk1ldGhvZHMgPSBbJ29uU2hvdycsICdvbkhpZGRlbicsICdvbkNyZWF0ZSddO1xuXG4gIE9iamVjdC5rZXlzKGFsbFByb3BzKS5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgaWYgKCFvd25Qcm9wcy5pbmNsdWRlcyhwcm9wKSAmJiAhb3ZlcnJpZGRlbk1ldGhvZHMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgIHRpcHB5UHJvcHNbcHJvcF0gPSBhbGxQcm9wc1twcm9wXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB0aXBweVByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGNsYXNzZXMgPSBpc1N0cmluZyhjbGFzc05hbWUpID8gY2xhc3NOYW1lLnNwbGl0KCcgJykgOiBjbGFzc05hbWU7XG5cbiAgcmV0dXJuIGNsYXNzZXMubWFwKChrbGFzcykgPT4ga2xhc3M/LnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlQ3NzUGl4ZWxWYWx1ZTxUPih2YWx1ZTogVCk6IHN0cmluZyB7XG4gIGlmIChpc05pbCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogYCR7dmFsdWV9cHhgO1xufVxuXG5mdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBpc05pbCh2YWx1ZTogYW55KTogdmFsdWUgaXMgdW5kZWZpbmVkIHwgbnVsbCB7XG4gIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsO1xufVxuXG5mdW5jdGlvbiBjb2VyY2VFbGVtZW50KGVsZW1lbnQ6IFRpcHB5RWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnRSZWYgPyBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiBlbGVtZW50O1xufVxuXG5sZXQgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xuY29uc3QgZWxlbWVudEhpZGRlbkhhbmRsZXJzID0gbmV3IFdlYWtNYXA8RWxlbWVudCwgKCkgPT4gdm9pZD4oKTtcbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlVmlzaWJpbGl0eShob3N0OiBFbGVtZW50LCBoaWRkZW5IYW5kbGVyOiAoKSA9PiB2b2lkKSB7XG4gIG9ic2VydmVyID8/PSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXM6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlbXSkgPT4ge1xuICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGlmICghZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgZWxlbWVudEhpZGRlbkhhbmRsZXJzLmdldChlbnRyeS50YXJnZXQpISgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgZWxlbWVudEhpZGRlbkhhbmRsZXJzLnNldChob3N0LCBoaWRkZW5IYW5kbGVyKTtcbiAgb2JzZXJ2ZXIub2JzZXJ2ZShob3N0KTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIGVsZW1lbnRIaWRkZW5IYW5kbGVycy5kZWxldGUoaG9zdCk7XG4gICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGhvc3QpO1xuICB9O1xufVxuIl19
@@ -15,16 +15,16 @@ if (typeof window !== 'undefined') {
15
15
  }
16
16
  function inView(host, options = {
17
17
  root: null,
18
- threshold: 0.3
18
+ threshold: 0.3,
19
19
  }) {
20
20
  const element = coerceElement(host);
21
- return new Observable(subscriber => {
21
+ return new Observable((subscriber) => {
22
22
  if (!supportsIntersectionObserver) {
23
23
  subscriber.next();
24
24
  subscriber.complete();
25
25
  return;
26
26
  }
27
- const observer = new IntersectionObserver(entries => {
27
+ const observer = new IntersectionObserver((entries) => {
28
28
  // Several changes may occur in the same tick, we want to check the latest entry state.
29
29
  const entry = entries[entries.length - 1];
30
30
  if (entry.isIntersecting) {
@@ -49,7 +49,7 @@ function dimensionsChanges(target) {
49
49
  return resizeObserverStrategy(target);
50
50
  }
51
51
  function resizeObserverStrategy(target) {
52
- return new Observable(subscriber => {
52
+ return new Observable((subscriber) => {
53
53
  if (!supportsResizeObserver) {
54
54
  subscriber.next();
55
55
  subscriber.complete();
@@ -81,10 +81,11 @@ function onlyTippyProps(allProps) {
81
81
  'injector',
82
82
  'preserveView',
83
83
  'vcr',
84
- 'popperWidth'
84
+ 'popperWidth',
85
+ 'zIndexGetter',
85
86
  ];
86
87
  const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];
87
- Object.keys(allProps).forEach(prop => {
88
+ Object.keys(allProps).forEach((prop) => {
88
89
  if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {
89
90
  tippyProps[prop] = allProps[prop];
90
91
  }
@@ -93,7 +94,7 @@ function onlyTippyProps(allProps) {
93
94
  }
94
95
  function normalizeClassName(className) {
95
96
  const classes = isString(className) ? className.split(' ') : className;
96
- return classes.map(klass => klass?.trim()).filter(Boolean);
97
+ return classes.map((klass) => klass?.trim()).filter(Boolean);
97
98
  }
98
99
  function coerceCssPixelValue(value) {
99
100
  if (isNil(value)) {
@@ -110,6 +111,23 @@ function isNil(value) {
110
111
  function coerceElement(element) {
111
112
  return element instanceof ElementRef ? element.nativeElement : element;
112
113
  }
114
+ let observer;
115
+ const elementHiddenHandlers = new WeakMap();
116
+ function observeVisibility(host, hiddenHandler) {
117
+ observer ??= new IntersectionObserver((entries) => {
118
+ entries.forEach((entry) => {
119
+ if (!entry.isIntersecting) {
120
+ elementHiddenHandlers.get(entry.target)();
121
+ }
122
+ });
123
+ });
124
+ elementHiddenHandlers.set(host, hiddenHandler);
125
+ observer.observe(host);
126
+ return () => {
127
+ elementHiddenHandlers.delete(host);
128
+ observer.unobserve(host);
129
+ };
130
+ }
113
131
 
114
132
  const TIPPY_CONFIG = new InjectionToken('Tippy config', {
115
133
  providedIn: 'root',
@@ -119,7 +137,11 @@ const TIPPY_CONFIG = new InjectionToken('Tippy config', {
119
137
  });
120
138
  const TIPPY_REF = new InjectionToken('TIPPY_REF');
121
139
 
140
+ const defaultAppendTo = document.body;
122
141
  class TippyDirective {
142
+ set appendTo(appendTo) {
143
+ this.updateProps({ appendTo });
144
+ }
123
145
  constructor(platformId, globalConfig, injector, viewService, vcr, zone, hostRef) {
124
146
  this.platformId = platformId;
125
147
  this.globalConfig = globalConfig;
@@ -167,7 +189,7 @@ class TippyDirective {
167
189
  if (variation) {
168
190
  props = {
169
191
  ...this.globalConfig.variations[variation],
170
- ...props
192
+ ...props,
171
193
  };
172
194
  }
173
195
  if (isChanged('isEnabled', changes)) {
@@ -177,7 +199,7 @@ class TippyDirective {
177
199
  if (isChanged('isVisible', changes)) {
178
200
  this.isVisible ? this.show() : this.hide();
179
201
  }
180
- this.setProps({ ...this.props, ...props });
202
+ this.updateProps(props);
181
203
  }
182
204
  ngOnInit() {
183
205
  if (this.useHostWidth) {
@@ -192,7 +214,7 @@ class TippyDirective {
192
214
  if (this.onlyTextOverflow) {
193
215
  inView(this.host)
194
216
  .pipe(switchMap(() => overflowChanges(this.host)), takeUntil(this.destroyed))
195
- .subscribe(isElementOverflow => {
217
+ .subscribe((isElementOverflow) => {
196
218
  this.checkOverflow(isElementOverflow);
197
219
  });
198
220
  }
@@ -207,7 +229,7 @@ class TippyDirective {
207
229
  else if (this.onlyTextOverflow) {
208
230
  overflowChanges(this.host)
209
231
  .pipe(takeUntil(this.destroyed))
210
- .subscribe(isElementOverflow => {
232
+ .subscribe((isElementOverflow) => {
211
233
  this.checkOverflow(isElementOverflow);
212
234
  });
213
235
  }
@@ -220,12 +242,46 @@ class TippyDirective {
220
242
  this.destroyed.next();
221
243
  this.instance?.destroy();
222
244
  this.destroyView();
245
+ this.visibilityObserverCleanup?.();
223
246
  }
224
247
  destroyView() {
225
248
  this.viewOptions$ = null;
226
249
  this.viewRef?.destroy();
227
250
  this.viewRef = null;
228
251
  }
252
+ /**
253
+ * This method is useful when you append to an element that you might remove from the DOM.
254
+ * In such cases we want to hide the tooltip and let it go through the destroy lifecycle.
255
+ * For example, if you have a grid row with an element that you toggle using the display CSS property on hover.
256
+ */
257
+ observeHostVisibility() {
258
+ // We don't want to observe the host visibility if we are appending to the body.
259
+ if (this.props.appendTo && this.props.appendTo !== defaultAppendTo) {
260
+ this.visibilityObserverCleanup?.();
261
+ return this.visibleInternal
262
+ .asObservable()
263
+ .pipe(takeUntil(this.destroyed))
264
+ .subscribe((isVisible) => {
265
+ if (isVisible) {
266
+ this.zone.runOutsideAngular(() => {
267
+ this.visibilityObserverCleanup = observeVisibility(this.instance.reference, () => {
268
+ this.hide();
269
+ // Because we have animation on the popper it doesn't close immediately doesn't trigger the `tpVisible` event.
270
+ // Tippy is relying on the transitionend event to trigger the `onHidden` callback.
271
+ // https://github.com/atomiks/tippyjs/blob/master/src/dom-utils.ts#L117
272
+ // This event never fires because the popper is removed from the DOM before the transition ends.
273
+ if (this.props.animation) {
274
+ this.onHidden();
275
+ }
276
+ });
277
+ });
278
+ }
279
+ else {
280
+ this.visibilityObserverCleanup?.();
281
+ }
282
+ });
283
+ }
284
+ }
229
285
  show() {
230
286
  this.instance?.show();
231
287
  }
@@ -238,6 +294,9 @@ class TippyDirective {
238
294
  disable() {
239
295
  this.instance?.disable();
240
296
  }
297
+ updateProps(props) {
298
+ this.setProps({ ...this.props, ...props });
299
+ }
241
300
  setProps(props) {
242
301
  this.props = props;
243
302
  this.instance?.setProps(onlyTippyProps(props));
@@ -258,11 +317,11 @@ class TippyDirective {
258
317
  this.zone.runOutsideAngular(() => {
259
318
  this.instance = tippy(this.host, {
260
319
  allowHTML: true,
261
- appendTo: document.body,
320
+ appendTo: defaultAppendTo,
262
321
  ...(this.globalConfig.zIndexGetter ? { zIndex: this.globalConfig.zIndexGetter() } : {}),
263
322
  ...onlyTippyProps(this.globalConfig),
264
323
  ...onlyTippyProps(this.props),
265
- onMount: instance => {
324
+ onMount: (instance) => {
266
325
  this.isVisible = true;
267
326
  this.visibleInternal.next(this.isVisible);
268
327
  if (this.visible.observed) {
@@ -271,7 +330,7 @@ class TippyDirective {
271
330
  this.useHostWidth && this.listenToHostResize();
272
331
  this.globalConfig.onMount?.(instance);
273
332
  },
274
- onCreate: instance => {
333
+ onCreate: (instance) => {
275
334
  instance.popper.classList.add(`tippy-variation-${this.variation || this.globalConfig.defaultVariation}`);
276
335
  if (this.className) {
277
336
  for (const klass of normalizeClassName(this.className)) {
@@ -283,7 +342,7 @@ class TippyDirective {
283
342
  instance.show();
284
343
  }
285
344
  },
286
- onShow: instance => {
345
+ onShow: (instance) => {
287
346
  instance.reference.setAttribute('data-tippy-open', '');
288
347
  this.zone.run(() => {
289
348
  const content = this.resolveContent(instance);
@@ -310,15 +369,9 @@ class TippyDirective {
310
369
  onHide(instance) {
311
370
  instance.reference.removeAttribute('data-tippy-open');
312
371
  },
313
- onHidden: instance => {
314
- this.destroyView();
315
- this.isVisible = false;
316
- this.visibleInternal.next(this.isVisible);
317
- if (this.visible.observed) {
318
- this.zone.run(() => this.visible.next(this.isVisible));
319
- }
320
- this.globalConfig.onHidden?.(instance);
321
- }
372
+ onHidden: (instance) => {
373
+ this.onHidden(instance);
374
+ },
322
375
  });
323
376
  this.setStatus();
324
377
  this.setProps(this.props);
@@ -334,25 +387,25 @@ class TippyDirective {
334
387
  providers: [
335
388
  {
336
389
  provide: TIPPY_REF,
337
- useValue: this.instance
338
- }
390
+ useValue: this.instance,
391
+ },
339
392
  ],
340
- parent: this.injector
341
- })
393
+ parent: this.injector,
394
+ }),
342
395
  };
343
396
  }
344
397
  else if (isTemplateRef(this.content)) {
345
398
  this.viewOptions$ = {
346
399
  context: {
347
400
  $implicit: this.hide.bind(this),
348
- data: this.data
349
- }
401
+ data: this.data,
402
+ },
350
403
  };
351
404
  }
352
405
  }
353
406
  this.viewRef = this.viewService.createView(this.content, {
354
407
  vcr: this.vcr,
355
- ...this.viewOptions$
408
+ ...this.viewOptions$,
356
409
  });
357
410
  // We need to call detectChanges for onPush components to update the content
358
411
  if (this.detectChangesComponent && isComponent(this.content)) {
@@ -379,8 +432,8 @@ class TippyDirective {
379
432
  top: event.clientY,
380
433
  bottom: event.clientY,
381
434
  left: event.clientX,
382
- right: event.clientX
383
- })
435
+ right: event.clientX,
436
+ }),
384
437
  });
385
438
  this.instance.show();
386
439
  });
@@ -388,7 +441,7 @@ class TippyDirective {
388
441
  handleEscapeButton() {
389
442
  this.zone.runOutsideAngular(() => {
390
443
  fromEvent(document.body, 'keydown')
391
- .pipe(filter(({ code }) => code === 'Escape'), takeUntil(merge(this.destroyed, this.visibleInternal.pipe(filter(v => !v)))))
444
+ .pipe(filter(({ code }) => code === 'Escape'), takeUntil(merge(this.destroyed, this.visibleInternal.pipe(filter((v) => !v)))))
392
445
  .subscribe(() => this.hide());
393
446
  });
394
447
  }
@@ -418,16 +471,25 @@ class TippyDirective {
418
471
  instance.popper.style.maxWidth = inPixels;
419
472
  instance.popper.firstElementChild.style.maxWidth = inPixels;
420
473
  }
474
+ onHidden(instance = this.instance) {
475
+ this.destroyView();
476
+ this.isVisible = false;
477
+ this.visibleInternal.next(this.isVisible);
478
+ if (this.visible.observed) {
479
+ this.zone.run(() => this.visible.next(this.isVisible));
480
+ }
481
+ this.globalConfig.onHidden?.(instance);
482
+ }
483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TippyDirective, deps: [{ token: PLATFORM_ID }, { token: TIPPY_CONFIG }, { token: i0.Injector }, { token: i1.ViewService }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
484
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: TippyDirective, isStandalone: true, selector: "[tp]", inputs: { content: ["tp", "content"], appendTo: ["tpAppendTo", "appendTo"], delay: ["tpDelay", "delay"], duration: ["tpDuration", "duration"], hideOnClick: ["tpHideOnClick", "hideOnClick"], interactive: ["tpInteractive", "interactive"], interactiveBorder: ["tpInteractiveBorder", "interactiveBorder"], maxWidth: ["tpMaxWidth", "maxWidth"], offset: ["tpOffset", "offset"], placement: ["tpPlacement", "placement"], popperOptions: ["tpPopperOptions", "popperOptions"], showOnCreate: ["tpShowOnCreate", "showOnCreate"], trigger: ["tpTrigger", "trigger"], triggerTarget: ["tpTriggerTarget", "triggerTarget"], zIndex: ["tpZIndex", "zIndex"], animation: ["tpAnimation", "animation"], useTextContent: ["tpUseTextContent", "useTextContent"], isLazy: ["tpIsLazy", "isLazy"], variation: ["tpVariation", "variation"], isEnabled: ["tpIsEnabled", "isEnabled"], className: ["tpClassName", "className"], onlyTextOverflow: ["tpOnlyTextOverflow", "onlyTextOverflow"], data: ["tpData", "data"], useHostWidth: ["tpUseHostWidth", "useHostWidth"], hideOnEscape: ["tpHideOnEscape", "hideOnEscape"], detectChangesComponent: ["tpDetectChangesComponent", "detectChangesComponent"], popperWidth: ["tpPopperWidth", "popperWidth"], customHost: ["tpHost", "customHost"], isVisible: ["tpIsVisible", "isVisible"] }, outputs: { visible: "tpVisible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 }); }
421
485
  }
422
- TippyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TippyDirective, deps: [{ token: PLATFORM_ID }, { token: TIPPY_CONFIG }, { token: i0.Injector }, { token: i1.ViewService }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
423
- TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.1", type: TippyDirective, isStandalone: true, selector: "[tp]", inputs: { content: ["tp", "content"], appendTo: ["tpAppendTo", "appendTo"], delay: ["tpDelay", "delay"], duration: ["tpDuration", "duration"], hideOnClick: ["tpHideOnClick", "hideOnClick"], interactive: ["tpInteractive", "interactive"], interactiveBorder: ["tpInteractiveBorder", "interactiveBorder"], maxWidth: ["tpMaxWidth", "maxWidth"], offset: ["tpOffset", "offset"], placement: ["tpPlacement", "placement"], popperOptions: ["tpPopperOptions", "popperOptions"], showOnCreate: ["tpShowOnCreate", "showOnCreate"], trigger: ["tpTrigger", "trigger"], triggerTarget: ["tpTriggerTarget", "triggerTarget"], zIndex: ["tpZIndex", "zIndex"], animation: ["tpAnimation", "animation"], useTextContent: ["tpUseTextContent", "useTextContent"], isLazy: ["tpIsLazy", "isLazy"], variation: ["tpVariation", "variation"], isEnabled: ["tpIsEnabled", "isEnabled"], className: ["tpClassName", "className"], onlyTextOverflow: ["tpOnlyTextOverflow", "onlyTextOverflow"], data: ["tpData", "data"], useHostWidth: ["tpUseHostWidth", "useHostWidth"], hideOnEscape: ["tpHideOnEscape", "hideOnEscape"], detectChangesComponent: ["tpDetectChangesComponent", "detectChangesComponent"], popperWidth: ["tpPopperWidth", "popperWidth"], customHost: ["tpHost", "customHost"], isVisible: ["tpIsVisible", "isVisible"] }, outputs: { visible: "tpVisible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TippyDirective, decorators: [{
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TippyDirective, decorators: [{
425
487
  type: Directive,
426
488
  args: [{
427
489
  // eslint-disable-next-line @angular-eslint/directive-selector
428
490
  selector: '[tp]',
429
491
  exportAs: 'tippy',
430
- standalone: true
492
+ standalone: true,
431
493
  }]
432
494
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
433
495
  type: Inject,
@@ -621,10 +683,10 @@ class TippyService {
621
683
  };
622
684
  return tippy(host, config);
623
685
  }
686
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TippyService, deps: [{ token: TIPPY_CONFIG }, { token: i1.ViewService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
687
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TippyService, providedIn: 'root' }); }
624
688
  }
625
- TippyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TippyService, deps: [{ token: TIPPY_CONFIG }, { token: i1.ViewService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
626
- TippyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TippyService, providedIn: 'root' });
627
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: TippyService, decorators: [{
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: TippyService, decorators: [{
628
690
  type: Injectable,
629
691
  args: [{ providedIn: 'root' }]
630
692
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngneat-helipopper.mjs","sources":["../../../../projects/ngneat/helipopper/src/lib/utils.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.types.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.directive.ts","../../../../projects/ngneat/helipopper/src/lib/defaults.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.service.ts","../../../../projects/ngneat/helipopper/src/lib/providers.ts","../../../../projects/ngneat/helipopper/src/ngneat-helipopper.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { auditTime, map } from 'rxjs/operators';\nimport { TippyElement } from './tippy.types';\nimport { ElementRef } from '@angular/core';\n\ndeclare const ResizeObserver: any;\n\nlet supportsIntersectionObserver = false;\nlet supportsResizeObserver = false;\n\nif (typeof window !== 'undefined') {\n supportsIntersectionObserver = 'IntersectionObserver' in window;\n supportsResizeObserver = 'ResizeObserver' in window;\n}\n\nexport function inView(\n host: TippyElement,\n options: IntersectionObserverInit = {\n root: null,\n threshold: 0.3,\n }\n) {\n const element = coerceElement(host);\n\n return new Observable((subscriber) => {\n if (!supportsIntersectionObserver) {\n subscriber.next();\n subscriber.complete();\n return;\n }\n\n const observer = new IntersectionObserver((entries) => {\n // Several changes may occur in the same tick, we want to check the latest entry state.\n const entry = entries[entries.length - 1];\n if (entry.isIntersecting) {\n subscriber.next();\n subscriber.complete();\n }\n }, options);\n\n observer.observe(element);\n\n return () => observer.disconnect();\n });\n}\n\nfunction isElementOverflow(host: HTMLElement): boolean {\n // Don't access the `offsetWidth` multipe times since it triggers layout updates.\n const hostOffsetWidth = host.offsetWidth;\n return hostOffsetWidth > host.parentElement.offsetWidth || hostOffsetWidth < host.scrollWidth;\n}\n\nexport function overflowChanges(host: TippyElement) {\n const element = coerceElement(host);\n\n return dimensionsChanges(element).pipe(\n auditTime(150),\n map(() => isElementOverflow(element))\n );\n}\n\nexport function dimensionsChanges(target: HTMLElement) {\n return resizeObserverStrategy(target);\n}\n\nfunction resizeObserverStrategy(target: HTMLElement): Observable<boolean> {\n return new Observable((subscriber) => {\n if (!supportsResizeObserver) {\n subscriber.next();\n subscriber.complete();\n return;\n }\n\n const observer = new ResizeObserver(() => subscriber.next(true));\n observer.observe(target);\n return () => observer.disconnect();\n });\n}\n\nexport function onlyTippyProps(allProps: any) {\n const tippyProps = {};\n\n const ownProps = [\n 'useTextContent',\n 'variations',\n 'useHostWidth',\n 'defaultVariation',\n 'beforeRender',\n 'isLazy',\n 'variation',\n 'isEnabled',\n 'className',\n 'onlyTextOverflow',\n 'data',\n 'content',\n 'context',\n 'hideOnEscape',\n 'customHost',\n 'injector',\n 'preserveView',\n 'vcr',\n 'popperWidth',\n 'zIndexGetter',\n ];\n\n const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];\n\n Object.keys(allProps).forEach((prop) => {\n if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {\n tippyProps[prop] = allProps[prop];\n }\n });\n\n return tippyProps;\n}\n\nexport function normalizeClassName(className: string | string[]): string[] {\n const classes = isString(className) ? className.split(' ') : className;\n\n return classes.map((klass) => klass?.trim()).filter(Boolean);\n}\n\nexport function coerceCssPixelValue<T>(value: T): string {\n if (isNil(value)) {\n return '';\n }\n\n return typeof value === 'string' ? value : `${value}px`;\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n\nfunction isNil(value: any): value is undefined | null {\n return value === undefined || value === null;\n}\n\nfunction coerceElement(element: TippyElement) {\n return element instanceof ElementRef ? element.nativeElement : element;\n}\n\nlet observer: IntersectionObserver;\nconst elementHiddenHandlers = new WeakMap<Element, () => void>();\nexport function observeVisibility(host: Element, hiddenHandler: () => void) {\n observer ??= new IntersectionObserver((entries: IntersectionObserverEntry[]) => {\n entries.forEach((entry) => {\n if (!entry.isIntersecting) {\n elementHiddenHandlers.get(entry.target)!();\n }\n });\n });\n elementHiddenHandlers.set(host, hiddenHandler);\n observer.observe(host);\n\n return () => {\n elementHiddenHandlers.delete(host);\n observer.unobserve(host);\n };\n}\n","import { Instance, Props } from 'tippy.js';\nimport { ElementRef, InjectionToken } from '@angular/core';\nimport { ResolveViewRef, ViewOptions } from '@ngneat/overview';\n\nexport interface CreateOptions extends Partial<TippyProps>, ViewOptions {\n variation: string;\n preserveView: boolean;\n className: string | string[];\n data: any;\n}\n\nexport type NgChanges<Component extends object, Props = ExcludeFunctions<Component>> = {\n [Key in keyof Props]: {\n previousValue: Props[Key];\n currentValue: Props[Key];\n firstChange: boolean;\n isFirstChange(): boolean;\n };\n};\n\ntype MarkFunctionPropertyNames<Component> = {\n [Key in keyof Component]: Component[Key] extends Function ? never : Key;\n}[keyof Component];\n\ntype ExcludeFunctions<T extends object> = Pick<T, MarkFunctionPropertyNames<T>>;\n\nexport const TIPPY_CONFIG = new InjectionToken<Partial<TippyConfig>>('Tippy config', {\n providedIn: 'root',\n factory() {\n return {};\n }\n});\nexport const TIPPY_REF = new InjectionToken<TippyInstance>('TIPPY_REF');\n\nexport interface TippyInstance extends Instance {\n data?: any;\n}\n\nexport type TippyProps = Props;\n\nexport interface TippyConfig extends TippyProps {\n variations: Record<string, Partial<TippyProps>>;\n defaultVariation: keyof TippyConfig['variations'];\n beforeRender?: (text: string) => string;\n zIndexGetter?(): number;\n}\n\nexport type TippyElement = ElementRef | Element;\n\nexport interface ExtendedTippyInstance<T> extends TippyInstance {\n view: ResolveViewRef<T>;\n $viewOptions: ViewOptions;\n context?: ViewOptions['context'];\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n ViewContainerRef,\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport tippy, { Instance } from 'tippy.js';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { Content, isComponent, isString, isTemplateRef, ViewOptions, ViewRef, ViewService } from '@ngneat/overview';\n\nimport {\n coerceCssPixelValue,\n dimensionsChanges,\n inView,\n normalizeClassName,\n observeVisibility,\n onlyTippyProps,\n overflowChanges,\n} from './utils';\nimport { NgChanges, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance, TippyProps } from './tippy.types';\n\nconst defaultAppendTo = document.body;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[tp]',\n exportAs: 'tippy',\n standalone: true,\n})\nexport class TippyDirective implements OnChanges, AfterViewInit, OnDestroy, OnInit {\n static ngAcceptInputType_useTextContent: boolean | '';\n\n @Input('tp') content: Content | undefined | null;\n\n @Input('tpAppendTo') set appendTo(appendTo: TippyProps['appendTo']) {\n this.updateProps({ appendTo });\n }\n\n @Input('tpDelay') delay: TippyProps['delay'];\n @Input('tpDuration') duration: TippyProps['duration'];\n @Input('tpHideOnClick') hideOnClick: TippyProps['hideOnClick'];\n @Input('tpInteractive') interactive: TippyProps['interactive'];\n @Input('tpInteractiveBorder') interactiveBorder: TippyProps['interactiveBorder'];\n @Input('tpMaxWidth') maxWidth: TippyProps['maxWidth'];\n @Input('tpOffset') offset: TippyProps['offset'];\n @Input('tpPlacement') placement: TippyProps['placement'];\n @Input('tpPopperOptions') popperOptions: TippyProps['popperOptions'];\n @Input('tpShowOnCreate') showOnCreate: TippyProps['showOnCreate'];\n @Input('tpTrigger') trigger: TippyProps['trigger'];\n @Input('tpTriggerTarget') triggerTarget: TippyProps['triggerTarget'];\n @Input('tpZIndex') zIndex: TippyProps['zIndex'];\n @Input('tpAnimation') animation: TippyProps['animation'];\n @Input('tpUseTextContent') useTextContent: boolean;\n @Input('tpIsLazy') isLazy: boolean;\n @Input('tpVariation') variation: string;\n @Input('tpIsEnabled') isEnabled: boolean;\n @Input('tpClassName') className: string | string[];\n @Input('tpOnlyTextOverflow') onlyTextOverflow = false;\n @Input('tpData') data: any;\n @Input('tpUseHostWidth') useHostWidth = false;\n @Input('tpHideOnEscape') hideOnEscape = false;\n @Input('tpDetectChangesComponent') detectChangesComponent = true;\n @Input('tpPopperWidth') popperWidth: number | string;\n @Input('tpHost') customHost: HTMLElement;\n @Input('tpIsVisible') isVisible = false;\n\n @Output('tpVisible') visible = new EventEmitter<boolean>();\n\n protected instance: TippyInstance;\n protected viewRef: ViewRef;\n protected destroyed = new Subject<void>();\n protected props: Partial<TippyConfig>;\n protected enabled = true;\n protected variationDefined = false;\n protected viewOptions$: ViewOptions;\n\n /**\n * We had use `visible` event emitter previously as a `takeUntil` subscriber in multiple places\n * within the directive.\n * This is for internal use only; thus we don't have to deal with the `visible` event emitter\n * and trigger change detections only when the `visible` event is being listened outside\n * in the template (`<button [tippy]=\"...\" (visible)=\"...\"></button>`).\n */\n protected visibleInternal = new Subject<boolean>();\n private visibilityObserverCleanup: () => void | undefined;\n\n constructor(\n @Inject(PLATFORM_ID) protected platformId: string,\n @Inject(TIPPY_CONFIG) protected globalConfig: TippyConfig,\n protected injector: Injector,\n protected viewService: ViewService,\n protected vcr: ViewContainerRef,\n protected zone: NgZone,\n protected hostRef: ElementRef\n ) {}\n\n ngOnChanges(changes: NgChanges<TippyDirective>) {\n if (isPlatformServer(this.platformId)) return;\n\n let props: Partial<TippyConfig> = Object.keys(changes).reduce((acc, change) => {\n if (change === 'isVisible') return acc;\n\n acc[change] = changes[change].currentValue;\n\n return acc;\n }, {});\n\n let variation: string;\n\n if (isChanged<NgChanges<TippyDirective>>('variation', changes)) {\n variation = changes.variation.currentValue;\n this.variationDefined = true;\n } else if (!this.variationDefined) {\n variation = this.globalConfig.defaultVariation;\n this.variationDefined = true;\n }\n\n if (variation) {\n props = {\n ...this.globalConfig.variations[variation],\n ...props,\n };\n }\n\n if (isChanged<NgChanges<TippyDirective>>('isEnabled', changes)) {\n this.enabled = changes.isEnabled.currentValue;\n this.setStatus();\n }\n\n if (isChanged<NgChanges<TippyDirective>>('isVisible', changes)) {\n this.isVisible ? this.show() : this.hide();\n }\n\n this.updateProps(props);\n }\n\n ngOnInit() {\n if (this.useHostWidth) {\n this.props.maxWidth = this.hostWidth;\n }\n }\n\n ngAfterViewInit() {\n if (isPlatformServer(this.platformId)) return;\n\n this.zone.runOutsideAngular(() => {\n if (this.isLazy) {\n if (this.onlyTextOverflow) {\n inView(this.host)\n .pipe(\n switchMap(() => overflowChanges(this.host)),\n takeUntil(this.destroyed)\n )\n .subscribe((isElementOverflow) => {\n this.checkOverflow(isElementOverflow);\n });\n } else {\n inView(this.host)\n .pipe(takeUntil(this.destroyed))\n .subscribe(() => {\n this.createInstance();\n });\n }\n } else if (this.onlyTextOverflow) {\n overflowChanges(this.host)\n .pipe(takeUntil(this.destroyed))\n .subscribe((isElementOverflow) => {\n this.checkOverflow(isElementOverflow);\n });\n } else {\n this.createInstance();\n }\n });\n }\n\n ngOnDestroy() {\n this.destroyed.next();\n this.instance?.destroy();\n this.destroyView();\n this.visibilityObserverCleanup?.();\n }\n\n destroyView() {\n this.viewOptions$ = null;\n this.viewRef?.destroy();\n this.viewRef = null;\n }\n\n /**\n * This method is useful when you append to an element that you might remove from the DOM.\n * In such cases we want to hide the tooltip and let it go through the destroy lifecycle.\n * For example, if you have a grid row with an element that you toggle using the display CSS property on hover.\n */\n observeHostVisibility() {\n // We don't want to observe the host visibility if we are appending to the body.\n if (this.props.appendTo && this.props.appendTo !== defaultAppendTo) {\n this.visibilityObserverCleanup?.();\n return this.visibleInternal\n .asObservable()\n .pipe(takeUntil(this.destroyed))\n .subscribe((isVisible) => {\n if (isVisible) {\n this.zone.runOutsideAngular(() => {\n this.visibilityObserverCleanup = observeVisibility(this.instance.reference, () => {\n this.hide();\n // Because we have animation on the popper it doesn't close immediately doesn't trigger the `tpVisible` event.\n // Tippy is relying on the transitionend event to trigger the `onHidden` callback.\n // https://github.com/atomiks/tippyjs/blob/master/src/dom-utils.ts#L117\n // This event never fires because the popper is removed from the DOM before the transition ends.\n if (this.props.animation) {\n this.onHidden();\n }\n });\n });\n } else {\n this.visibilityObserverCleanup?.();\n }\n });\n }\n }\n\n show() {\n this.instance?.show();\n }\n\n hide() {\n this.instance?.hide();\n }\n\n enable() {\n this.instance?.enable();\n }\n\n disable() {\n this.instance?.disable();\n }\n\n protected updateProps(props: Partial<TippyConfig>) {\n this.setProps({ ...this.props, ...props });\n }\n\n protected setProps(props: Partial<TippyConfig>) {\n this.props = props;\n this.instance?.setProps(onlyTippyProps(props));\n }\n\n protected setStatus() {\n this.enabled ? this.instance?.enable() : this.instance?.disable();\n }\n\n protected get host(): HTMLElement {\n return this.customHost || this.hostRef.nativeElement;\n }\n\n protected get hostWidth(): number {\n return this.host.getBoundingClientRect().width;\n }\n\n protected createInstance() {\n if (!this.content && !coerceBooleanInput(this.useTextContent)) {\n return;\n }\n\n this.zone.runOutsideAngular(() => {\n this.instance = tippy(this.host, {\n allowHTML: true,\n appendTo: defaultAppendTo,\n ...(this.globalConfig.zIndexGetter ? { zIndex: this.globalConfig.zIndexGetter() } : {}),\n ...onlyTippyProps(this.globalConfig),\n ...onlyTippyProps(this.props),\n onMount: (instance) => {\n this.isVisible = true;\n this.visibleInternal.next(this.isVisible);\n if (this.visible.observed) {\n this.zone.run(() => this.visible.next(this.isVisible));\n }\n this.useHostWidth && this.listenToHostResize();\n this.globalConfig.onMount?.(instance);\n },\n onCreate: (instance) => {\n instance.popper.classList.add(`tippy-variation-${this.variation || this.globalConfig.defaultVariation}`);\n if (this.className) {\n for (const klass of normalizeClassName(this.className)) {\n instance.popper.classList.add(klass);\n }\n }\n this.globalConfig.onCreate?.(instance);\n if (this.isVisible === true) {\n instance.show();\n }\n },\n onShow: (instance) => {\n instance.reference.setAttribute('data-tippy-open', '');\n this.zone.run(() => {\n const content = this.resolveContent(instance);\n if (isString(content)) {\n instance.setProps({ allowHTML: false });\n\n if (!content?.trim()) {\n this.disable();\n } else {\n this.enable();\n }\n }\n\n instance.setContent(content);\n this.hideOnEscape && this.handleEscapeButton();\n });\n if (this.useHostWidth) {\n this.setInstanceWidth(instance, this.hostWidth);\n } else if (this.popperWidth) {\n this.setInstanceWidth(instance, this.popperWidth);\n }\n this.globalConfig.onShow?.(instance);\n },\n onHide(instance) {\n instance.reference.removeAttribute('data-tippy-open');\n },\n onHidden: (instance) => {\n this.onHidden(instance);\n },\n });\n\n this.setStatus();\n this.setProps(this.props);\n\n this.variation === 'contextMenu' && this.handleContextMenu();\n });\n }\n\n protected resolveContent(instance: TippyInstance) {\n if (!this.viewOptions$ && !isString(this.content)) {\n if (isComponent(this.content)) {\n this.instance.data = this.data;\n this.viewOptions$ = {\n injector: Injector.create({\n providers: [\n {\n provide: TIPPY_REF,\n useValue: this.instance,\n },\n ],\n parent: this.injector,\n }),\n };\n } else if (isTemplateRef(this.content)) {\n this.viewOptions$ = {\n context: {\n $implicit: this.hide.bind(this),\n data: this.data,\n },\n };\n }\n }\n\n this.viewRef = this.viewService.createView(this.content, {\n vcr: this.vcr,\n ...this.viewOptions$,\n });\n\n // We need to call detectChanges for onPush components to update the content\n if (this.detectChangesComponent && isComponent(this.content)) {\n this.viewRef.detectChanges();\n }\n\n let content = this.viewRef.getElement();\n\n if (coerceBooleanInput(this.useTextContent)) {\n content = instance.reference.textContent;\n }\n\n if (isString(content) && this.globalConfig.beforeRender) {\n content = this.globalConfig.beforeRender(content);\n }\n\n return content;\n }\n\n protected handleContextMenu() {\n fromEvent(this.host, 'contextmenu')\n .pipe(takeUntil(this.destroyed))\n .subscribe((event: MouseEvent) => {\n event.preventDefault();\n\n this.instance.setProps({\n getReferenceClientRect: () =>\n ({\n width: 0,\n height: 0,\n top: event.clientY,\n bottom: event.clientY,\n left: event.clientX,\n right: event.clientX,\n } as DOMRectReadOnly),\n });\n\n this.instance.show();\n });\n }\n\n protected handleEscapeButton(): void {\n this.zone.runOutsideAngular(() => {\n fromEvent(document.body, 'keydown')\n .pipe(\n filter(({ code }: KeyboardEvent) => code === 'Escape'),\n takeUntil(merge(this.destroyed, this.visibleInternal.pipe(filter((v) => !v))))\n )\n .subscribe(() => this.hide());\n });\n }\n\n protected checkOverflow(isElementOverflow: boolean) {\n if (isElementOverflow) {\n if (!this.instance) {\n this.createInstance();\n } else {\n this.instance.enable();\n }\n } else {\n this.instance?.disable();\n }\n }\n\n protected listenToHostResize() {\n dimensionsChanges(this.host)\n .pipe(takeUntil(merge(this.destroyed, this.visibleInternal)))\n .subscribe(() => {\n this.setInstanceWidth(this.instance, this.hostWidth);\n });\n }\n\n protected setInstanceWidth(instance: Instance, width: string | number) {\n const inPixels = coerceCssPixelValue(width);\n instance.popper.style.width = inPixels;\n instance.popper.style.maxWidth = inPixels;\n (instance.popper.firstElementChild as HTMLElement).style.maxWidth = inPixels;\n }\n\n private onHidden(instance: TippyInstance = this.instance) {\n this.destroyView();\n this.isVisible = false;\n this.visibleInternal.next(this.isVisible);\n if (this.visible.observed) {\n this.zone.run(() => this.visible.next(this.isVisible));\n }\n this.globalConfig.onHidden?.(instance);\n }\n}\n\nfunction isChanged<T extends object>(key: keyof T, changes: T) {\n return key in changes;\n}\n\nexport function coerceBooleanInput(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import { TippyConfig } from './tippy.types';\n\ntype Variation = TippyConfig['variations'][0];\n\nexport const tooltipVariation: Variation = {\n theme: null,\n arrow: false,\n animation: 'scale',\n trigger: 'mouseenter',\n offset: [0, 5]\n};\n\nexport const popperVariation: Variation = {\n theme: 'light',\n arrow: true,\n offset: [0, 10],\n animation: null,\n trigger: 'click',\n interactive: true\n};\n\nexport function withContextMenuVariation(baseVariation: Variation): Variation {\n return {\n ...baseVariation,\n placement: 'right-start',\n trigger: 'manual',\n arrow: false,\n offset: [0, 0]\n };\n}\n","import { Inject, Injectable, Injector } from '@angular/core';\nimport tippy from 'tippy.js';\nimport { isComponent, isTemplateRef, ViewService } from '@ngneat/overview';\nimport { Content } from '@ngneat/overview';\nimport { CreateOptions, ExtendedTippyInstance, TIPPY_CONFIG, TIPPY_REF, TippyConfig } from './tippy.types';\nimport { normalizeClassName, onlyTippyProps } from './utils';\n\n@Injectable({ providedIn: 'root' })\nexport class TippyService {\n constructor(\n @Inject(TIPPY_CONFIG) private globalConfig: TippyConfig,\n private view: ViewService,\n private injector: Injector\n ) {}\n\n create<T extends Content>(host: Element, content: T, options: Partial<CreateOptions> = {}): ExtendedTippyInstance<T> {\n const variation = options.variation || this.globalConfig.defaultVariation;\n const config = {\n onShow: instance => {\n host.setAttribute('data-tippy-open', '');\n if (!instance.$viewOptions) {\n instance.$viewOptions = {};\n\n if (isTemplateRef(content)) {\n instance.$viewOptions.context = {\n $implicit: instance.hide.bind(instance),\n ...options.context\n };\n } else if (isComponent(content)) {\n instance.context = options.context;\n instance.data = options.data;\n instance.$viewOptions.injector = Injector.create({\n providers: [\n {\n provide: TIPPY_REF,\n useValue: instance\n }\n ],\n parent: options.injector || this.injector\n });\n }\n }\n if (!instance.view) {\n instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });\n }\n instance.setContent(instance.view.getElement());\n options?.onShow?.(instance);\n },\n onHidden: instance => {\n host.removeAttribute('data-tippy-open');\n\n if (!options.preserveView) {\n instance.view.destroy();\n instance.view = null;\n }\n options?.onHidden?.(instance);\n },\n ...onlyTippyProps(this.globalConfig),\n ...this.globalConfig.variations[variation],\n ...onlyTippyProps(options),\n onCreate: instance => {\n instance.popper.classList.add(`tippy-variation-${variation}`);\n if (options.className) {\n for (const klass of normalizeClassName(options.className)) {\n instance.popper.classList.add(klass);\n }\n }\n this.globalConfig.onCreate?.(instance);\n options.onCreate?.(instance);\n }\n };\n\n return tippy(host, config) as ExtendedTippyInstance<T>;\n }\n}\n","import { TippyConfig, TIPPY_CONFIG } from './tippy.types';\n\nexport function provideTippyConfig(config: Partial<TippyConfig> = {}) {\n return {\n provide: TIPPY_CONFIG,\n useValue: config\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isString"],"mappings":"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"}
package/lib/defaults.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { TippyConfig } from './tippy.types';
2
- declare type Variation = TippyConfig['variations'][0];
2
+ type Variation = TippyConfig['variations'][0];
3
3
  export declare const tooltipVariation: Variation;
4
4
  export declare const popperVariation: Variation;
5
5
  export declare function withContextMenuVariation(baseVariation: Variation): Variation;