@ngneat/helipopper 5.0.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,7 +57,7 @@ export class TippyDirective {
57
57
  if (isChanged('isVisible', changes)) {
58
58
  this.isVisible ? this.show() : this.hide();
59
59
  }
60
- this.setProps(props);
60
+ this.setProps({ ...this.props, ...props });
61
61
  }
62
62
  ngOnInit() {
63
63
  if (this.useHostWidth) {
@@ -65,6 +65,8 @@ export class TippyDirective {
65
65
  }
66
66
  }
67
67
  ngAfterViewInit() {
68
+ if (isPlatformServer(this.platformId))
69
+ return;
68
70
  this.zone.runOutsideAngular(() => {
69
71
  if (this.lazy) {
70
72
  if (this.onlyTextOverflow) {
@@ -342,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
342
344
  function isChanged(key, changes) {
343
345
  return key in changes;
344
346
  }
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi90aXBweS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFNWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxVQUFVLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBOEMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekcsT0FBTyxFQUFhLFlBQVksRUFBRSxTQUFTLEVBQTBDLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0csTUFBTSxPQUFPLGNBQWM7SUFxQ3pCLFlBQytCLFVBQWtCLEVBQ2pCLFlBQXlCLEVBQy9DLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLEdBQXFCLEVBQ3JCLElBQVksRUFDWixPQUFtQjtRQU5FLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FB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S0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO3VCQUFDLE9BQU87Z0JBQ00sVUFBVTtzQkFBN0IsS0FBSzt1QkFBQyxXQUFXO2dCQUVSLE9BQU87c0JBQWhCLE1BQU07Z0JBQ1MsU0FBUztzQkFBeEIsS0FBSzs7QUF1U1IsU0FBUyxTQUFTLENBQUksR0FBWSxFQUFFLE9BQVU7SUFDNUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDO0FBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHRpcHB5IGZyb20gJ3RpcHB5LmpzJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc0NvbXBvbmVudCwgaXNTdHJpbmcsIGlzVGVtcGxhdGVSZWYsIFZpZXdTZXJ2aWNlLCBWaWV3T3B0aW9ucywgVmlld1JlZiwgQ29udGVudCB9IGZyb20gJ0BuZ25lYXQvb3ZlcnZpZXcnO1xuXG5pbXBvcnQgeyBkaW1lbnNpb25zQ2hhbmdlcywgaW5WaWV3LCBub3JtYWxpemVDbGFzc05hbWUsIG9ubHlUaXBweVByb3BzLCBvdmVyZmxvd0NoYW5nZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IE5nQ2hhbmdlcywgVElQUFlfQ09ORklHLCBUSVBQWV9SRUYsIFRpcHB5Q29uZmlnLCBUaXBweUluc3RhbmNlLCBUaXBweVByb3BzIH0gZnJvbSAnLi90aXBweS50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1t0aXBweV0nLFxuICBleHBvcnRBczogJ3RpcHB5J1xufSlcbmV4cG9ydCBjbGFzcyBUaXBweURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuICBASW5wdXQoKSBhcHBlbmRUbzogVGlwcHlQcm9wc1snYXBwZW5kVG8nXTtcbiAgQElucHV0KCkgZGVsYXk6IFRpcHB5UHJvcHNbJ2RlbGF5J107XG4gIEBJbnB1dCgpIGR1cmF0aW9uOiBUaXBweVByb3BzWydkdXJhdGlvbiddO1xuICBASW5wdXQoKSBoaWRlT25DbGljazogVGlwcHlQcm9wc1snaGlkZU9uQ2xpY2snXTtcbiAgQElucHV0KCkgaW50ZXJhY3RpdmU6IFRpcHB5UHJvcHNbJ2ludGVyYWN0aXZlJ107XG4gIEBJbnB1dCgpIGludGVyYWN0aXZlQm9yZGVyOiBUaXBweVByb3BzWydpbnRlcmFjdGl2ZUJvcmRlciddO1xuICBASW5wdXQoKSBtYXhXaWR0aDogVGlwcHlQcm9wc1snbWF4V2lkdGgnXTtcbiAgQElucHV0KCkgb2Zmc2V0OiBUaXBweVByb3BzWydvZmZzZXQnXTtcbiAgQElucHV0KCkgcGxhY2VtZW50OiBUaXBweVByb3BzWydwbGFjZW1lbnQnXTtcbiAgQElucHV0KCkgcG9wcGVyT3B0aW9uczogVGlwcHlQcm9wc1sncG9wcGVyT3B0aW9ucyddO1xuICBASW5wdXQoKSBzaG93T25DcmVhdGU6IFRpcHB5UHJvcHNbJ3Nob3dPbkNyZWF0ZSddO1xuICBASW5wdXQoKSB0cmlnZ2VyOiBUaXBweVByb3BzWyd0cmlnZ2VyJ107XG4gIEBJbnB1dCgpIHRyaWdnZXJUYXJnZXQ6IFRpcHB5UHJvcHNbJ3RyaWdnZXJUYXJnZXQnXTtcbiAgQElucHV0KCkgekluZGV4OiBUaXBweVByb3BzWyd6SW5kZXgnXTtcblxuICBASW5wdXQoKSBsYXp5OiBib29sZWFuO1xuICBASW5wdXQoKSB2YXJpYXRpb246IHN0cmluZztcbiAgQElucHV0KCkgaXNFbmFibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBvbmx5VGV4dE92ZXJmbG93ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgQElucHV0KCkgdXNlSG9zdFdpZHRoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVPbkVzY2FwZSA9IGZhbHNlO1xuICBASW5wdXQoJ3RpcHB5JykgY29udGVudDogQ29udGVudDtcbiAgQElucHV0KCd0aXBweUhvc3QnKSBjdXN0b21Ib3N0OiBIVE1MRWxlbWVudDtcblxuICBAT3V0cHV0KCkgdmlzaWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgcHVibGljIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgaW5zdGFuY2U6IFRpcHB5SW5zdGFuY2U7XG4gIHByaXZhdGUgdmlld1JlZjogVmlld1JlZjtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPjtcbiAgcHJpdmF0ZSBlbmFibGVkID0gdHJ1ZTtcbiAgcHJpdmF0ZSB2YXJpYXRpb25EZWZpbmVkID0gZmFsc2U7XG4gIHByaXZhdGUgdmlld09wdGlvbnMkOiBWaWV3T3B0aW9ucztcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBzdHJpbmcsXG4gICAgQEluamVjdChUSVBQWV9DT05GSUcpIHByaXZhdGUgZ2xvYmFsQ29uZmlnOiBUaXBweUNvbmZpZyxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHZpZXdTZXJ2aWNlOiBWaWV3U2VydmljZSxcbiAgICBwcml2YXRlIHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGhvc3RSZWY6IEVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4pIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICBsZXQgcHJvcHM6IFBhcnRpYWw8VGlwcHlDb25maWc+ID0gT2JqZWN0LmtleXMoY2hhbmdlcykucmVkdWNlKChhY2MsIGNoYW5nZSkgPT4ge1xuICAgICAgaWYgKGNoYW5nZSA9PT0gJ2lzVmlzaWJsZScpIHJldHVybiBhY2M7XG5cbiAgICAgIGFjY1tjaGFuZ2VdID0gY2hhbmdlc1tjaGFuZ2VdLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICBsZXQgdmFyaWF0aW9uOiBzdHJpbmc7XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCd2YXJpYXRpb24nLCBjaGFuZ2VzKSkge1xuICAgICAgdmFyaWF0aW9uID0gY2hhbmdlcy52YXJpYXRpb24uY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy52YXJpYXRpb25EZWZpbmVkID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnZhcmlhdGlvbkRlZmluZWQpIHtcbiAgICAgIHZhcmlhdGlvbiA9IHRoaXMuZ2xvYmFsQ29uZmlnLmRlZmF1bHRWYXJpYXRpb247XG4gICAgICB0aGlzLnZhcmlhdGlvbkRlZmluZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh2YXJpYXRpb24pIHtcbiAgICAgIHByb3BzID0ge1xuICAgICAgICAuLi50aGlzLmdsb2JhbENvbmZpZy52YXJpYXRpb25zW3ZhcmlhdGlvbl0sXG4gICAgICAgIC4uLnByb3BzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChpc0NoYW5nZWQ8TmdDaGFuZ2VzPFRpcHB5RGlyZWN0aXZlPj4oJ2lzRW5hYmxlZCcsIGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLmVuYWJsZWQgPSBjaGFuZ2VzLmlzRW5hYmxlZC5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLnNldFN0YXR1cygpO1xuICAgIH1cblxuICAgIGlmIChpc0NoYW5nZWQ8TmdDaGFuZ2VzPFRpcHB5RGlyZWN0aXZlPj4oJ2lzVmlzaWJsZScsIGNoYW5nZXMpKSB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA/IHRoaXMuc2hvdygpIDogdGhpcy5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRQcm9wcyhwcm9wcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51c2VIb3N0V2lkdGgpIHtcbiAgICAgIHRoaXMucHJvcHMubWF4V2lkdGggPSB0aGlzLmhvc3RXaWR0aDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgaWYgKHRoaXMub25seVRleHRPdmVyZmxvdykge1xuICAgICAgICAgIGluVmlldyh0aGlzLmhvc3QpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IG92ZXJmbG93Q2hhbmdlcyh0aGlzLmhvc3QpKSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc0VsZW1lbnRPdmVyZmxvdyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tPdmVyZmxvdyhpc0VsZW1lbnRPdmVyZmxvdyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpblZpZXcodGhpcy5ob3N0KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLm9ubHlUZXh0T3ZlcmZsb3cpIHtcbiAgICAgICAgb3ZlcmZsb3dDaGFuZ2VzKHRoaXMuaG9zdClcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoaXNFbGVtZW50T3ZlcmZsb3cgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KGlzRWxlbWVudE92ZXJmbG93KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmluc3RhbmNlPy5kZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95VmlldygpO1xuICB9XG5cbiAgZGVzdHJveVZpZXcoKSB7XG4gICAgdGhpcy52aWV3T3B0aW9ucyQgPSBudWxsO1xuICAgIHRoaXMudmlld1JlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMudmlld1JlZiA9IG51bGw7XG4gIH1cblxuICBzaG93KCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LnNob3coKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uaGlkZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LmVuYWJsZSgpO1xuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmluc3RhbmNlPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFByb3BzKHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPikge1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmluc3RhbmNlPy5zZXRQcm9wcyhvbmx5VGlwcHlQcm9wcyhwcm9wcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0dXMoKSB7XG4gICAgdGhpcy5lbmFibGVkID8gdGhpcy5pbnN0YW5jZT8uZW5hYmxlKCkgOiB0aGlzLmluc3RhbmNlPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21Ib3N0IHx8IHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaG9zdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUluc3RhbmNlKCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmluc3RhbmNlID0gdGlwcHkodGhpcy5ob3N0LCB7XG4gICAgICAgIGFsbG93SFRNTDogdHJ1ZSxcbiAgICAgICAgYXBwZW5kVG86IGRvY3VtZW50LmJvZHksXG4gICAgICAgIC4uLm9ubHlUaXBweVByb3BzKHRoaXMuZ2xvYmFsQ29uZmlnKSxcbiAgICAgICAgLi4ub25seVRpcHB5UHJvcHModGhpcy5wcm9wcyksXG4gICAgICAgIG9uTW91bnQ6IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy52aXNpYmxlLm5leHQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy51c2VIb3N0V2lkdGggJiYgdGhpcy5saXN0ZW5Ub0hvc3RSZXNpemUoKTtcbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbk1vdW50Py4oaW5zdGFuY2UpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNyZWF0ZTogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmNsYXNzTmFtZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrbGFzcyBvZiBub3JtYWxpemVDbGFzc05hbWUodGhpcy5jbGFzc05hbWUpKSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5jbGFzc0xpc3QuYWRkKGtsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25DcmVhdGU/LihpbnN0YW5jZSk7XG4gICAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5zaG93KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblNob3c6IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc29sdmVDb250ZW50KCk7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcoY29udGVudCkpIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2Uuc2V0UHJvcHMoeyBhbGxvd0hUTUw6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5zdGFuY2Uuc2V0Q29udGVudChjb250ZW50KTtcbiAgICAgICAgICAgIHRoaXMuaGlkZU9uRXNjYXBlICYmIHRoaXMuaGFuZGxlRXNjYXBlQnV0dG9uKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHRoaXMudXNlSG9zdFdpZHRoKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBhY2Nlc3MgYGhvc3RXaWR0aGAgbXVsdGlwbGUgdGltZXMgc2luY2UgaXQncyBhIGdldHRlciB0aGF0IGNhbGxzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKWAsXG4gICAgICAgICAgICAvLyB3aGljaCB0cmlnZ2VycyB0aGUgd2hvbGUgbGF5b3V0IHVwZGF0ZS5cbiAgICAgICAgICAgIGNvbnN0IGhvc3RXaWR0aCA9IHRoaXMuaG9zdFdpZHRoO1xuICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLnN0eWxlLndpZHRoID0gaG9zdFdpZHRoO1xuICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLnN0eWxlLm1heFdpZHRoID0gaG9zdFdpZHRoO1xuICAgICAgICAgICAgKGluc3RhbmNlLnBvcHBlci5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkuc3R5bGUubWF4V2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZ2xvYmFsQ29uZmlnLm9uU2hvdz8uKGluc3RhbmNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25IaWRkZW46IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25IaWRkZW4/LihpbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFN0YXR1cygpO1xuICAgICAgdGhpcy5zZXRQcm9wcyh0aGlzLnByb3BzKTtcblxuICAgICAgdGhpcy52YXJpYXRpb24gPT09ICdjb250ZXh0TWVudScgJiYgdGhpcy5oYW5kbGVDb250ZXh0TWVudSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ29udGVudCgpIHtcbiAgICBpZiAoIXRoaXMudmlld09wdGlvbnMkICYmICFpc1N0cmluZyh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICBpZiAoaXNDb21wb25lbnQodGhpcy5jb250ZW50KSkge1xuICAgICAgICB0aGlzLmluc3RhbmNlLmRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMudmlld09wdGlvbnMkID0ge1xuICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUSVBQWV9SRUYsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuaW5zdGFuY2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGlzVGVtcGxhdGVSZWYodGhpcy5jb250ZW50KSkge1xuICAgICAgICB0aGlzLnZpZXdPcHRpb25zJCA9IHtcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld1NlcnZpY2UuY3JlYXRlVmlldyh0aGlzLmNvbnRlbnQsIHtcbiAgICAgIHZjcjogdGhpcy52Y3IsXG4gICAgICAuLi50aGlzLnZpZXdPcHRpb25zJFxuICAgIH0pO1xuXG4gICAgbGV0IGNvbnRlbnQgPSB0aGlzLnZpZXdSZWYuZ2V0RWxlbWVudCgpO1xuXG4gICAgaWYgKGlzU3RyaW5nKGNvbnRlbnQpICYmIHRoaXMuZ2xvYmFsQ29uZmlnLmJlZm9yZVJlbmRlcikge1xuICAgICAgY29udGVudCA9IHRoaXMuZ2xvYmFsQ29uZmlnLmJlZm9yZVJlbmRlcihjb250ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dE1lbnUoKSB7XG4gICAgZnJvbUV2ZW50KHRoaXMuaG9zdCwgJ2NvbnRleHRtZW51JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0UHJvcHMoe1xuICAgICAgICAgIGdldFJlZmVyZW5jZUNsaWVudFJlY3Q6ICgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICB0b3A6IGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgICAgIGJvdHRvbTogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgcmlnaHQ6IGV2ZW50LmNsaWVudFhcbiAgICAgICAgICAgIH0gYXMgYW55KVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnNob3coKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFc2NhcGVCdXR0b24oKSB7XG4gICAgdGhpcy5wcmVzc0J1dHRvbiQoZG9jdW1lbnQuYm9keSwgJ0VzY2FwZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95ZWQsIHRoaXMudmlzaWJsZS5waXBlKGZpbHRlcih2ID0+ICF2KSkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oaWRlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVzc0J1dHRvbiQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvZGVCdXR0b246IHN0cmluZykge1xuICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ2tleWRvd24nKS5waXBlKGZpbHRlcigoeyBjb2RlIH06IEtleWJvYXJkRXZlbnQpID0+IGNvZGVCdXR0b24gPT09IGNvZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tPdmVyZmxvdyhpc0VsZW1lbnRPdmVyZmxvdzogYm9vbGVhbikge1xuICAgIGlmIChpc0VsZW1lbnRPdmVyZmxvdykge1xuICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvSG9zdFJlc2l6ZSgpIHtcbiAgICBkaW1lbnNpb25zQ2hhbmdlcyh0aGlzLmhvc3QpXG4gICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95ZWQsIHRoaXMudmlzaWJsZSkpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UucG9wcGVyLnN0eWxlLndpZHRoID0gdGhpcy5ob3N0V2lkdGg7XG4gICAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoYW5nZWQ8VD4oa2V5OiBrZXlvZiBULCBjaGFuZ2VzOiBUKSB7XG4gIHJldHVybiBrZXkgaW4gY2hhbmdlcztcbn1cbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi90aXBweS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFNWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxVQUFVLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBOEMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekcsT0FBTyxFQUFhLFlBQVksRUFBRSxTQUFTLEVBQTBDLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0csTUFBTSxPQUFPLGNBQWM7SUFxQ3pCLFlBQytCLFVBQWtCLEVBQ2pCLFlBQXlCLEVBQy9DLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLEdBQXFCLEVBQ3JCLElBQVksRUFDWixPQUFtQjtRQU5FLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FB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aEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFVBQVU7c0JBQTdCLEtBQUs7dUJBQUMsV0FBVztnQkFFUixPQUFPO3NCQUFoQixNQUFNO2dCQUNTLFNBQVM7c0JBQXhCLEtBQUs7O0FBeVNSLFNBQVMsU0FBUyxDQUFJLEdBQVksRUFBRSxPQUFVO0lBQzVDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNDb21wb25lbnQsIGlzU3RyaW5nLCBpc1RlbXBsYXRlUmVmLCBWaWV3U2VydmljZSwgVmlld09wdGlvbnMsIFZpZXdSZWYsIENvbnRlbnQgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcblxuaW1wb3J0IHsgZGltZW5zaW9uc0NoYW5nZXMsIGluVmlldywgbm9ybWFsaXplQ2xhc3NOYW1lLCBvbmx5VGlwcHlQcm9wcywgb3ZlcmZsb3dDaGFuZ2VzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFRJUFBZX0NPTkZJRywgVElQUFlfUkVGLCBUaXBweUNvbmZpZywgVGlwcHlJbnN0YW5jZSwgVGlwcHlQcm9wcyB9IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbdGlwcHldJyxcbiAgZXhwb3J0QXM6ICd0aXBweSdcbn0pXG5leHBvcnQgY2xhc3MgVGlwcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgYXBwZW5kVG86IFRpcHB5UHJvcHNbJ2FwcGVuZFRvJ107XG4gIEBJbnB1dCgpIGRlbGF5OiBUaXBweVByb3BzWydkZWxheSddO1xuICBASW5wdXQoKSBkdXJhdGlvbjogVGlwcHlQcm9wc1snZHVyYXRpb24nXTtcbiAgQElucHV0KCkgaGlkZU9uQ2xpY2s6IFRpcHB5UHJvcHNbJ2hpZGVPbkNsaWNrJ107XG4gIEBJbnB1dCgpIGludGVyYWN0aXZlOiBUaXBweVByb3BzWydpbnRlcmFjdGl2ZSddO1xuICBASW5wdXQoKSBpbnRlcmFjdGl2ZUJvcmRlcjogVGlwcHlQcm9wc1snaW50ZXJhY3RpdmVCb3JkZXInXTtcbiAgQElucHV0KCkgbWF4V2lkdGg6IFRpcHB5UHJvcHNbJ21heFdpZHRoJ107XG4gIEBJbnB1dCgpIG9mZnNldDogVGlwcHlQcm9wc1snb2Zmc2V0J107XG4gIEBJbnB1dCgpIHBsYWNlbWVudDogVGlwcHlQcm9wc1sncGxhY2VtZW50J107XG4gIEBJbnB1dCgpIHBvcHBlck9wdGlvbnM6IFRpcHB5UHJvcHNbJ3BvcHBlck9wdGlvbnMnXTtcbiAgQElucHV0KCkgc2hvd09uQ3JlYXRlOiBUaXBweVByb3BzWydzaG93T25DcmVhdGUnXTtcbiAgQElucHV0KCkgdHJpZ2dlcjogVGlwcHlQcm9wc1sndHJpZ2dlciddO1xuICBASW5wdXQoKSB0cmlnZ2VyVGFyZ2V0OiBUaXBweVByb3BzWyd0cmlnZ2VyVGFyZ2V0J107XG4gIEBJbnB1dCgpIHpJbmRleDogVGlwcHlQcm9wc1snekluZGV4J107XG5cbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbjtcbiAgQElucHV0KCkgdmFyaWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgQElucHV0KCkgb25seVRleHRPdmVyZmxvdyA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIHVzZUhvc3RXaWR0aCA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlT25Fc2NhcGUgPSBmYWxzZTtcbiAgQElucHV0KCd0aXBweScpIGNvbnRlbnQ6IENvbnRlbnQ7XG4gIEBJbnB1dCgndGlwcHlIb3N0JykgY3VzdG9tSG9zdDogSFRNTEVsZW1lbnQ7XG5cbiAgQE91dHB1dCgpIHZpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwcml2YXRlIGluc3RhbmNlOiBUaXBweUluc3RhbmNlO1xuICBwcml2YXRlIHZpZXdSZWY6IFZpZXdSZWY7XG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwcm9wczogUGFydGlhbDxUaXBweUNvbmZpZz47XG4gIHByaXZhdGUgZW5hYmxlZCA9IHRydWU7XG4gIHByaXZhdGUgdmFyaWF0aW9uRGVmaW5lZCA9IGZhbHNlO1xuICBwcml2YXRlIHZpZXdPcHRpb25zJDogVmlld09wdGlvbnM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgIEBJbmplY3QoVElQUFlfQ09ORklHKSBwcml2YXRlIGdsb2JhbENvbmZpZzogVGlwcHlDb25maWcsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSB2aWV3U2VydmljZTogVmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBob3N0UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+KSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgbGV0IHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPiA9IE9iamVjdC5rZXlzKGNoYW5nZXMpLnJlZHVjZSgoYWNjLCBjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICdpc1Zpc2libGUnKSByZXR1cm4gYWNjO1xuXG4gICAgICBhY2NbY2hhbmdlXSA9IGNoYW5nZXNbY2hhbmdlXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgbGV0IHZhcmlhdGlvbjogc3RyaW5nO1xuXG4gICAgaWYgKGlzQ2hhbmdlZDxOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+PigndmFyaWF0aW9uJywgY2hhbmdlcykpIHtcbiAgICAgIHZhcmlhdGlvbiA9IGNoYW5nZXMudmFyaWF0aW9uLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMudmFyaWF0aW9uRGVmaW5lZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghdGhpcy52YXJpYXRpb25EZWZpbmVkKSB7XG4gICAgICB2YXJpYXRpb24gPSB0aGlzLmdsb2JhbENvbmZpZy5kZWZhdWx0VmFyaWF0aW9uO1xuICAgICAgdGhpcy52YXJpYXRpb25EZWZpbmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFyaWF0aW9uKSB7XG4gICAgICBwcm9wcyA9IHtcbiAgICAgICAgLi4udGhpcy5nbG9iYWxDb25maWcudmFyaWF0aW9uc1t2YXJpYXRpb25dLFxuICAgICAgICAuLi5wcm9wc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc0VuYWJsZWQnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5lbmFibGVkID0gY2hhbmdlcy5pc0VuYWJsZWQuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5zZXRTdGF0dXMoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc1Zpc2libGUnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0UHJvcHMoeyAuLi50aGlzLnByb3BzLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnVzZUhvc3RXaWR0aCkge1xuICAgICAgdGhpcy5wcm9wcy5tYXhXaWR0aCA9IHRoaXMuaG9zdFdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICBpZiAodGhpcy5vbmx5VGV4dE92ZXJmbG93KSB7XG4gICAgICAgICAgaW5WaWV3KHRoaXMuaG9zdClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gb3ZlcmZsb3dDaGFuZ2VzKHRoaXMuaG9zdCkpLFxuICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGlzRWxlbWVudE92ZXJmbG93ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KGlzRWxlbWVudE92ZXJmbG93KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluVmlldyh0aGlzLmhvc3QpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMub25seVRleHRPdmVyZmxvdykge1xuICAgICAgICBvdmVyZmxvd0NoYW5nZXModGhpcy5ob3N0KVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgLnN1YnNjcmliZShpc0VsZW1lbnRPdmVyZmxvdyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3coaXNFbGVtZW50T3ZlcmZsb3cpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuaW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gIH1cblxuICBkZXN0cm95VmlldygpIHtcbiAgICB0aGlzLnZpZXdPcHRpb25zJCA9IG51bGw7XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3UmVmID0gbnVsbDtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uc2hvdygpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmluc3RhbmNlPy5oaWRlKCk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uZW5hYmxlKCk7XG4gIH1cblxuICBkaXNhYmxlKCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJvcHMocHJvcHM6IFBhcnRpYWw8VGlwcHlDb25maWc+KSB7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuaW5zdGFuY2U/LnNldFByb3BzKG9ubHlUaXBweVByb3BzKHByb3BzKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFN0YXR1cygpIHtcbiAgICB0aGlzLmVuYWJsZWQgPyB0aGlzLmluc3RhbmNlPy5lbmFibGUoKSA6IHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUhvc3QgfHwgdGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0V2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofXB4YDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5zdGFuY2UoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaW5zdGFuY2UgPSB0aXBweSh0aGlzLmhvc3QsIHtcbiAgICAgICAgYWxsb3dIVE1MOiB0cnVlLFxuICAgICAgICBhcHBlbmRUbzogZG9jdW1lbnQuYm9keSxcbiAgICAgICAgLi4ub25seVRpcHB5UHJvcHModGhpcy5nbG9iYWxDb25maWcpLFxuICAgICAgICAuLi5vbmx5VGlwcHlQcm9wcyh0aGlzLnByb3BzKSxcbiAgICAgICAgb25Nb3VudDogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUubmV4dCh0cnVlKTtcbiAgICAgICAgICB0aGlzLnVzZUhvc3RXaWR0aCAmJiB0aGlzLmxpc3RlblRvSG9zdFJlc2l6ZSgpO1xuICAgICAgICAgIHRoaXMuZ2xvYmFsQ29uZmlnLm9uTW91bnQ/LihpbnN0YW5jZSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ3JlYXRlOiBpbnN0YW5jZSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIG5vcm1hbGl6ZUNsYXNzTmFtZSh0aGlzLmNsYXNzTmFtZSkpIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLmNsYXNzTGlzdC5hZGQoa2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbkNyZWF0ZT8uKGluc3RhbmNlKTtcbiAgICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnNob3coKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2hvdzogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMucmVzb2x2ZUNvbnRlbnQoKTtcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyhjb250ZW50KSkge1xuICAgICAgICAgICAgICBpbnN0YW5jZS5zZXRQcm9wcyh7IGFsbG93SFRNTDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnN0YW5jZS5zZXRDb250ZW50KGNvbnRlbnQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlT25Fc2NhcGUgJiYgdGhpcy5oYW5kbGVFc2NhcGVCdXR0b24oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAodGhpcy51c2VIb3N0V2lkdGgpIHtcbiAgICAgICAgICAgIC8vIERvbid0IGFjY2VzcyBgaG9zdFdpZHRoYCBtdWx0aXBsZSB0aW1lcyBzaW5jZSBpdCdzIGEgZ2V0dGVyIHRoYXQgY2FsbHMgYGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpYCxcbiAgICAgICAgICAgIC8vIHdoaWNoIHRyaWdnZXJzIHRoZSB3aG9sZSBsYXlvdXQgdXBkYXRlLlxuICAgICAgICAgICAgY29uc3QgaG9zdFdpZHRoID0gdGhpcy5ob3N0V2lkdGg7XG4gICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuc3R5bGUud2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuc3R5bGUubWF4V2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgICAoaW5zdGFuY2UucG9wcGVyLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5tYXhXaWR0aCA9IGhvc3RXaWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25TaG93Py4oaW5zdGFuY2UpO1xuICAgICAgICB9LFxuICAgICAgICBvbkhpZGRlbjogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveVZpZXcoKTtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudmlzaWJsZS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbkhpZGRlbj8uKGluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdHVzKCk7XG4gICAgICB0aGlzLnNldFByb3BzKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnZhcmlhdGlvbiA9PT0gJ2NvbnRleHRNZW51JyAmJiB0aGlzLmhhbmRsZUNvbnRleHRNZW51KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDb250ZW50KCkge1xuICAgIGlmICghdGhpcy52aWV3T3B0aW9ucyQgJiYgIWlzU3RyaW5nKHRoaXMuY29udGVudCkpIHtcbiAgICAgIGlmIChpc0NvbXBvbmVudCh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgdGhpcy52aWV3T3B0aW9ucyQgPSB7XG4gICAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRJUFBZX1JFRixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5pbnN0YW5jZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yXG4gICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0ZVJlZih0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMudmlld09wdGlvbnMkID0ge1xuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5oaWRlLmJpbmQodGhpcyksXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3U2VydmljZS5jcmVhdGVWaWV3KHRoaXMuY29udGVudCwge1xuICAgICAgdmNyOiB0aGlzLnZjcixcbiAgICAgIC4uLnRoaXMudmlld09wdGlvbnMkXG4gICAgfSk7XG5cbiAgICBsZXQgY29udGVudCA9IHRoaXMudmlld1JlZi5nZXRFbGVtZW50KCk7XG5cbiAgICBpZiAoaXNTdHJpbmcoY29udGVudCkgJiYgdGhpcy5nbG9iYWxDb25maWcuYmVmb3JlUmVuZGVyKSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5nbG9iYWxDb25maWcuYmVmb3JlUmVuZGVyKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDb250ZXh0TWVudSgpIHtcbiAgICBmcm9tRXZlbnQodGhpcy5ob3N0LCAnY29udGV4dG1lbnUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zZXRQcm9wcyh7XG4gICAgICAgICAgZ2V0UmVmZXJlbmNlQ2xpZW50UmVjdDogKCkgPT5cbiAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgIHRvcDogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgYm90dG9tOiBldmVudC5jbGllbnRZLFxuICAgICAgICAgICAgICBsZWZ0OiBldmVudC5jbGllbnRYLFxuICAgICAgICAgICAgICByaWdodDogZXZlbnQuY2xpZW50WFxuICAgICAgICAgICAgfSBhcyBET01SZWN0UmVhZE9ubHkpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uuc2hvdygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVzY2FwZUJ1dHRvbigpIHtcbiAgICB0aGlzLnByZXNzQnV0dG9uJChkb2N1bWVudC5ib2R5LCAnRXNjYXBlJylcbiAgICAgIC5waXBlKHRha2VVbnRpbChtZXJnZSh0aGlzLmRlc3Ryb3llZCwgdGhpcy52aXNpYmxlLnBpcGUoZmlsdGVyKHYgPT4gIXYpKSkpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmhpZGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHByZXNzQnV0dG9uJChlbGVtZW50OiBIVE1MRWxlbWVudCwgY29kZUJ1dHRvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudChlbGVtZW50LCAna2V5ZG93bicpLnBpcGUoZmlsdGVyKCh7IGNvZGUgfTogS2V5Ym9hcmRFdmVudCkgPT4gY29kZUJ1dHRvbiA9PT0gY29kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja092ZXJmbG93KGlzRWxlbWVudE92ZXJmbG93OiBib29sZWFuKSB7XG4gICAgaWYgKGlzRWxlbWVudE92ZXJmbG93KSB7XG4gICAgICBpZiAoIXRoaXMuaW5zdGFuY2UpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnN0YW5jZT8uZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9Ib3N0UmVzaXplKCkge1xuICAgIGRpbWVuc2lvbnNDaGFuZ2VzKHRoaXMuaG9zdClcbiAgICAgIC5waXBlKHRha2VVbnRpbChtZXJnZSh0aGlzLmRlc3Ryb3llZCwgdGhpcy52aXNpYmxlKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5wb3BwZXIuc3R5bGUud2lkdGggPSB0aGlzLmhvc3RXaWR0aDtcbiAgICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzQ2hhbmdlZDxUPihrZXk6IGtleW9mIFQsIGNoYW5nZXM6IFQpIHtcbiAgcmV0dXJuIGtleSBpbiBjaGFuZ2VzO1xufVxuIl19
@@ -36,14 +36,18 @@ export class TippyService {
36
36
  });
37
37
  }
38
38
  }
39
- instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
39
+ if (!instance.view) {
40
+ instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
41
+ }
40
42
  instance.setContent(instance.view.getElement());
41
43
  options?.onShow?.(instance);
42
44
  },
43
45
  onHidden: instance => {
44
- instance.view.destroy();
46
+ if (!options.preserveView) {
47
+ instance.view.destroy();
48
+ instance.view = null;
49
+ }
45
50
  options?.onHidden?.(instance);
46
- instance.view = null;
47
51
  },
48
52
  ...onlyTippyProps(this.globalConfig),
49
53
  ...this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation],
@@ -70,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
70
74
  type: Inject,
71
75
  args: [TIPPY_CONFIG]
72
76
  }] }, { type: i1.ViewService }, { type: i0.Injector }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9oZWxpcG9wcGVyL3NyYy9saWIvdGlwcHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFFM0UsT0FBTyxFQUFpQixZQUFZLEVBQUUsU0FBUyxFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFHN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDZ0MsWUFBeUIsRUFDL0MsSUFBaUIsRUFDakIsUUFBa0I7UUFGSSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUMvQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDekIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxJQUFhLEVBQUUsT0FBZ0IsRUFBRSxVQUFrQyxFQUFFO1FBQzFFLE1BQU0sTUFBTSxHQUFHO1lBQ2IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtvQkFDMUIsUUFBUSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7b0JBRTNCLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMxQixRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRzs0QkFDOUIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzs0QkFDdkMsR0FBRyxPQUFPLENBQUMsT0FBTzt5QkFDbkIsQ0FBQztxQkFDSDt5QkFBTSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDL0IsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO3dCQUNuQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0JBQzdCLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7NEJBQy9DLFNBQVMsRUFBRTtnQ0FDVDtvQ0FDRSxPQUFPLEVBQUUsU0FBUztvQ0FDbEIsUUFBUSxFQUFFLFFBQVE7aUNBQ25COzZCQUNGOzRCQUNELE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO3lCQUMxQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7Z0JBQ0QsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RixRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDOUIsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDdkIsQ0FBQztZQUNELEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDcEMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7WUFDeEYsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQzFCLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO29CQUNyQixLQUFLLE1BQU0sS0FBSyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDekQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUN0QztpQkFDRjtnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2QyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsQ0FBQztTQUNGLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7eUdBeERVLFlBQVksa0JBRWIsWUFBWTs2R0FGWCxZQUFZLGNBREMsTUFBTTsyRkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUc3QixNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdGlwcHkgZnJvbSAndGlwcHkuanMnO1xuaW1wb3J0IHsgaXNDb21wb25lbnQsIGlzVGVtcGxhdGVSZWYsIFZpZXdTZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC9vdmVydmlldyc7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSAnQG5nbmVhdC9vdmVydmlldyc7XG5pbXBvcnQgeyBDcmVhdGVPcHRpb25zLCBUSVBQWV9DT05GSUcsIFRJUFBZX1JFRiwgVGlwcHlDb25maWcsIFRpcHB5SW5zdGFuY2UgfSBmcm9tICcuL3RpcHB5LnR5cGVzJztcbmltcG9ydCB7IG5vcm1hbGl6ZUNsYXNzTmFtZSwgb25seVRpcHB5UHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUaXBweVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFRJUFBZX0NPTkZJRykgcHJpdmF0ZSBnbG9iYWxDb25maWc6IFRpcHB5Q29uZmlnLFxuICAgIHByaXZhdGUgdmlldzogVmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIGNyZWF0ZShob3N0OiBFbGVtZW50LCBjb250ZW50OiBDb250ZW50LCBvcHRpb25zOiBQYXJ0aWFsPENyZWF0ZU9wdGlvbnM+ID0ge30pOiBUaXBweUluc3RhbmNlIHtcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBvblNob3c6IGluc3RhbmNlID0+IHtcbiAgICAgICAgaWYgKCFpbnN0YW5jZS4kdmlld09wdGlvbnMpIHtcbiAgICAgICAgICBpbnN0YW5jZS4kdmlld09wdGlvbnMgPSB7fTtcblxuICAgICAgICAgIGlmIChpc1RlbXBsYXRlUmVmKGNvbnRlbnQpKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS4kdmlld09wdGlvbnMuY29udGV4dCA9IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBpbnN0YW5jZS5oaWRlLmJpbmQoaW5zdGFuY2UpLFxuICAgICAgICAgICAgICAuLi5vcHRpb25zLmNvbnRleHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIGlmIChpc0NvbXBvbmVudChjb250ZW50KSkge1xuICAgICAgICAgICAgaW5zdGFuY2UuY29udGV4dCA9IG9wdGlvbnMuY29udGV4dDtcbiAgICAgICAgICAgIGluc3RhbmNlLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgICAgICAgICBpbnN0YW5jZS4kdmlld09wdGlvbnMuaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBwcm92aWRlOiBUSVBQWV9SRUYsXG4gICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogaW5zdGFuY2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHBhcmVudDogb3B0aW9ucy5pbmplY3RvciB8fCB0aGlzLmluamVjdG9yXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zdGFuY2UudmlldyA9IHRoaXMudmlldy5jcmVhdGVWaWV3KGNvbnRlbnQsIHsgLi4ub3B0aW9ucywgLi4uaW5zdGFuY2UuJHZpZXdPcHRpb25zIH0pO1xuICAgICAgICBpbnN0YW5jZS5zZXRDb250ZW50KGluc3RhbmNlLnZpZXcuZ2V0RWxlbWVudCgpKTtcbiAgICAgICAgb3B0aW9ucz8ub25TaG93Py4oaW5zdGFuY2UpO1xuICAgICAgfSxcbiAgICAgIG9uSGlkZGVuOiBpbnN0YW5jZSA9PiB7XG4gICAgICAgIGluc3RhbmNlLnZpZXcuZGVzdHJveSgpO1xuICAgICAgICBvcHRpb25zPy5vbkhpZGRlbj8uKGluc3RhbmNlKTtcbiAgICAgICAgaW5zdGFuY2UudmlldyA9IG51bGw7XG4gICAgICB9LFxuICAgICAgLi4ub25seVRpcHB5UHJvcHModGhpcy5nbG9iYWxDb25maWcpLFxuICAgICAgLi4udGhpcy5nbG9iYWxDb25maWcudmFyaWF0aW9uc1tvcHRpb25zLnZhcmlhdGlvbiB8fCB0aGlzLmdsb2JhbENvbmZpZy5kZWZhdWx0VmFyaWF0aW9uXSxcbiAgICAgIC4uLm9ubHlUaXBweVByb3BzKG9wdGlvbnMpLFxuICAgICAgb25DcmVhdGU6IGluc3RhbmNlID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY2xhc3NOYW1lKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBrbGFzcyBvZiBub3JtYWxpemVDbGFzc05hbWUob3B0aW9ucy5jbGFzc05hbWUpKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuY2xhc3NMaXN0LmFkZChrbGFzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2xvYmFsQ29uZmlnLm9uQ3JlYXRlPy4oaW5zdGFuY2UpO1xuICAgICAgICBvcHRpb25zLm9uQ3JlYXRlPy4oaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gdGlwcHkoaG9zdCwgY29uZmlnKTtcbiAgfVxufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9oZWxpcG9wcGVyL3NyYy9saWIvdGlwcHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxLQUFLLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFFM0UsT0FBTyxFQUF3QyxZQUFZLEVBQUUsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7OztBQUc3RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNnQyxZQUF5QixFQUMvQyxJQUFpQixFQUNqQixRQUFrQjtRQUZJLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQy9DLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6QixDQUFDO0lBRUosTUFBTSxDQUFvQixJQUFhLEVBQUUsT0FBVSxFQUFFLFVBQWtDLEVBQUU7UUFDdkYsTUFBTSxNQUFNLEdBQUc7WUFDYixNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFO29CQUMxQixRQUFRLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFFM0IsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQzFCLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHOzRCQUM5QixTQUFTLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzRCQUN2QyxHQUFHLE9BQU8sQ0FBQyxPQUFPO3lCQUNuQixDQUFDO3FCQUNIO3lCQUFNLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUMvQixRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7d0JBQ25DLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDN0IsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQzs0QkFDL0MsU0FBUyxFQUFFO2dDQUNUO29DQUNFLE9BQU8sRUFBRSxTQUFTO29DQUNsQixRQUFRLEVBQUUsUUFBUTtpQ0FDbkI7NkJBQ0Y7NEJBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVE7eUJBQzFDLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDbEIsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2lCQUN6RjtnQkFDRCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO29CQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUN4QixRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3BDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hGLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUU7Z0JBQ25CLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDckIsS0FBSyxNQUFNLEtBQUssSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ3pELFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDdEM7aUJBQ0Y7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9CLENBQUM7U0FDRixDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBNkIsQ0FBQztJQUN6RCxDQUFDOzt5R0E1RFUsWUFBWSxrQkFFYixZQUFZOzZHQUZYLFlBQVksY0FEQyxNQUFNOzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRzdCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBpc0NvbXBvbmVudCwgaXNUZW1wbGF0ZVJlZiwgVmlld1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcbmltcG9ydCB7IENyZWF0ZU9wdGlvbnMsIEV4dGVuZGVkVGlwcHlJbnN0YW5jZSwgVElQUFlfQ09ORklHLCBUSVBQWV9SRUYsIFRpcHB5Q29uZmlnIH0gZnJvbSAnLi90aXBweS50eXBlcyc7XG5pbXBvcnQgeyBub3JtYWxpemVDbGFzc05hbWUsIG9ubHlUaXBweVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGlwcHlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChUSVBQWV9DT05GSUcpIHByaXZhdGUgZ2xvYmFsQ29uZmlnOiBUaXBweUNvbmZpZyxcbiAgICBwcml2YXRlIHZpZXc6IFZpZXdTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBjcmVhdGU8VCBleHRlbmRzIENvbnRlbnQ+KGhvc3Q6IEVsZW1lbnQsIGNvbnRlbnQ6IFQsIG9wdGlvbnM6IFBhcnRpYWw8Q3JlYXRlT3B0aW9ucz4gPSB7fSk6IEV4dGVuZGVkVGlwcHlJbnN0YW5jZTxUPiB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgb25TaG93OiBpbnN0YW5jZSA9PiB7XG4gICAgICAgIGlmICghaW5zdGFuY2UuJHZpZXdPcHRpb25zKSB7XG4gICAgICAgICAgaW5zdGFuY2UuJHZpZXdPcHRpb25zID0ge307XG5cbiAgICAgICAgICBpZiAoaXNUZW1wbGF0ZVJlZihjb250ZW50KSkge1xuICAgICAgICAgICAgaW5zdGFuY2UuJHZpZXdPcHRpb25zLmNvbnRleHQgPSB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogaW5zdGFuY2UuaGlkZS5iaW5kKGluc3RhbmNlKSxcbiAgICAgICAgICAgICAgLi4ub3B0aW9ucy5jb250ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNDb21wb25lbnQoY29udGVudCkpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLmNvbnRleHQgPSBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgICAgICBpbnN0YW5jZS5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgICAgICAgaW5zdGFuY2UuJHZpZXdPcHRpb25zLmluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcHJvdmlkZTogVElQUFlfUkVGLFxuICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGluc3RhbmNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwYXJlbnQ6IG9wdGlvbnMuaW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaW5zdGFuY2Uudmlldykge1xuICAgICAgICAgIGluc3RhbmNlLnZpZXcgPSB0aGlzLnZpZXcuY3JlYXRlVmlldyhjb250ZW50LCB7IC4uLm9wdGlvbnMsIC4uLmluc3RhbmNlLiR2aWV3T3B0aW9ucyB9KTtcbiAgICAgICAgfVxuICAgICAgICBpbnN0YW5jZS5zZXRDb250ZW50KGluc3RhbmNlLnZpZXcuZ2V0RWxlbWVudCgpKTtcbiAgICAgICAgb3B0aW9ucz8ub25TaG93Py4oaW5zdGFuY2UpO1xuICAgICAgfSxcbiAgICAgIG9uSGlkZGVuOiBpbnN0YW5jZSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucy5wcmVzZXJ2ZVZpZXcpIHtcbiAgICAgICAgICBpbnN0YW5jZS52aWV3LmRlc3Ryb3koKTtcbiAgICAgICAgICBpbnN0YW5jZS52aWV3ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zPy5vbkhpZGRlbj8uKGluc3RhbmNlKTtcbiAgICAgIH0sXG4gICAgICAuLi5vbmx5VGlwcHlQcm9wcyh0aGlzLmdsb2JhbENvbmZpZyksXG4gICAgICAuLi50aGlzLmdsb2JhbENvbmZpZy52YXJpYXRpb25zW29wdGlvbnMudmFyaWF0aW9uIHx8IHRoaXMuZ2xvYmFsQ29uZmlnLmRlZmF1bHRWYXJpYXRpb25dLFxuICAgICAgLi4ub25seVRpcHB5UHJvcHMob3B0aW9ucyksXG4gICAgICBvbkNyZWF0ZTogaW5zdGFuY2UgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucy5jbGFzc05hbWUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIG5vcm1hbGl6ZUNsYXNzTmFtZShvcHRpb25zLmNsYXNzTmFtZSkpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5jbGFzc0xpc3QuYWRkKGtsYXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25DcmVhdGU/LihpbnN0YW5jZSk7XG4gICAgICAgIG9wdGlvbnMub25DcmVhdGU/LihpbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiB0aXBweShob3N0LCBjb25maWcpIGFzIEV4dGVuZGVkVGlwcHlJbnN0YW5jZTxUPjtcbiAgfVxufVxuIl19
@@ -9,4 +9,4 @@ export const TIPPY_REF = new InjectionToken('TIPPY_REF');
9
9
  export function coerceElement(element) {
10
10
  return element instanceof ElementRef ? element.nativeElement : element;
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9zcmMvbGliL3RpcHB5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBd0IzRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQXVCLGNBQWMsRUFBRTtJQUNuRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPO1FBQ0wsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFnQixXQUFXLENBQUMsQ0FBQztBQWN4RSxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXFCO0lBQ2pELE9BQU8sT0FBTyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnN0YW5jZSwgUHJvcHMgfSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmlld09wdGlvbnMgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxUaXBweVByb3BzPiwgVmlld09wdGlvbnMge1xuICB2YXJpYXRpb246IHN0cmluZztcbiAgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgZGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBOZ0NoYW5nZXM8Q29tcG9uZW50IGV4dGVuZHMgb2JqZWN0LCBQcm9wcyA9IEV4Y2x1ZGVGdW5jdGlvbnM8Q29tcG9uZW50Pj4gPSB7XG4gIFtLZXkgaW4ga2V5b2YgUHJvcHNdOiB7XG4gICAgcHJldmlvdXNWYWx1ZTogUHJvcHNbS2V5XTtcbiAgICBjdXJyZW50VmFsdWU6IFByb3BzW0tleV07XG4gICAgZmlyc3RDaGFuZ2U6IGJvb2xlYW47XG4gICAgaXNGaXJzdENoYW5nZSgpOiBib29sZWFuO1xuICB9O1xufTtcblxudHlwZSBNYXJrRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPENvbXBvbmVudD4gPSB7XG4gIFtLZXkgaW4ga2V5b2YgQ29tcG9uZW50XTogQ29tcG9uZW50W0tleV0gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogS2V5O1xufVtrZXlvZiBDb21wb25lbnRdO1xuXG50eXBlIEV4Y2x1ZGVGdW5jdGlvbnM8VCBleHRlbmRzIG9iamVjdD4gPSBQaWNrPFQsIE1hcmtGdW5jdGlvblByb3BlcnR5TmFtZXM8VD4+O1xuXG5leHBvcnQgY29uc3QgVElQUFlfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8VGlwcHlDb25maWc+PignVGlwcHkgY29uZmlnJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59KTtcbmV4cG9ydCBjb25zdCBUSVBQWV9SRUYgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGlwcHlJbnN0YW5jZT4oJ1RJUFBZX1JFRicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpcHB5SW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZSB7XG4gIGRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRpcHB5UHJvcHMgPSBQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBUaXBweUNvbmZpZyBleHRlbmRzIFRpcHB5UHJvcHMge1xuICB2YXJpYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBQYXJ0aWFsPFRpcHB5UHJvcHM+PjtcbiAgZGVmYXVsdFZhcmlhdGlvbjoga2V5b2YgVGlwcHlDb25maWdbJ3ZhcmlhdGlvbnMnXTtcbiAgYmVmb3JlUmVuZGVyPzogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlRWxlbWVudChlbGVtZW50OiBUaXBweUVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50UmVmID8gZWxlbWVudC5uYXRpdmVFbGVtZW50IDogZWxlbWVudDtcbn1cblxuZXhwb3J0IHR5cGUgVGlwcHlFbGVtZW50ID0gRWxlbWVudFJlZiB8IEVsZW1lbnQ7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9zcmMvbGliL3RpcHB5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUIzRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQXVCLGNBQWMsRUFBRTtJQUNuRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPO1FBQ0wsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUFnQixXQUFXLENBQUMsQ0FBQztBQWN4RSxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXFCO0lBQ2pELE9BQU8sT0FBTyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnN0YW5jZSwgUHJvcHMgfSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZVZpZXdSZWYsIFZpZXdPcHRpb25zIH0gZnJvbSAnQG5nbmVhdC9vdmVydmlldyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlT3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8VGlwcHlQcm9wcz4sIFZpZXdPcHRpb25zIHtcbiAgdmFyaWF0aW9uOiBzdHJpbmc7XG4gIHByZXNlcnZlVmlldzogYm9vbGVhbjtcbiAgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgZGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBOZ0NoYW5nZXM8Q29tcG9uZW50IGV4dGVuZHMgb2JqZWN0LCBQcm9wcyA9IEV4Y2x1ZGVGdW5jdGlvbnM8Q29tcG9uZW50Pj4gPSB7XG4gIFtLZXkgaW4ga2V5b2YgUHJvcHNdOiB7XG4gICAgcHJldmlvdXNWYWx1ZTogUHJvcHNbS2V5XTtcbiAgICBjdXJyZW50VmFsdWU6IFByb3BzW0tleV07XG4gICAgZmlyc3RDaGFuZ2U6IGJvb2xlYW47XG4gICAgaXNGaXJzdENoYW5nZSgpOiBib29sZWFuO1xuICB9O1xufTtcblxudHlwZSBNYXJrRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPENvbXBvbmVudD4gPSB7XG4gIFtLZXkgaW4ga2V5b2YgQ29tcG9uZW50XTogQ29tcG9uZW50W0tleV0gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogS2V5O1xufVtrZXlvZiBDb21wb25lbnRdO1xuXG50eXBlIEV4Y2x1ZGVGdW5jdGlvbnM8VCBleHRlbmRzIG9iamVjdD4gPSBQaWNrPFQsIE1hcmtGdW5jdGlvblByb3BlcnR5TmFtZXM8VD4+O1xuXG5leHBvcnQgY29uc3QgVElQUFlfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8VGlwcHlDb25maWc+PignVGlwcHkgY29uZmlnJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59KTtcbmV4cG9ydCBjb25zdCBUSVBQWV9SRUYgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGlwcHlJbnN0YW5jZT4oJ1RJUFBZX1JFRicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpcHB5SW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZSB7XG4gIGRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIFRpcHB5UHJvcHMgPSBQcm9wcztcblxuZXhwb3J0IGludGVyZmFjZSBUaXBweUNvbmZpZyBleHRlbmRzIFRpcHB5UHJvcHMge1xuICB2YXJpYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBQYXJ0aWFsPFRpcHB5UHJvcHM+PjtcbiAgZGVmYXVsdFZhcmlhdGlvbjoga2V5b2YgVGlwcHlDb25maWdbJ3ZhcmlhdGlvbnMnXTtcbiAgYmVmb3JlUmVuZGVyPzogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29lcmNlRWxlbWVudChlbGVtZW50OiBUaXBweUVsZW1lbnQpIHtcbiAgcmV0dXJuIGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50UmVmID8gZWxlbWVudC5uYXRpdmVFbGVtZW50IDogZWxlbWVudDtcbn1cblxuZXhwb3J0IHR5cGUgVGlwcHlFbGVtZW50ID0gRWxlbWVudFJlZiB8IEVsZW1lbnQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRUaXBweUluc3RhbmNlPFQ+IGV4dGVuZHMgVGlwcHlJbnN0YW5jZSB7XG4gIHZpZXc6IFJlc29sdmVWaWV3UmVmPFQ+O1xuICAkdmlld09wdGlvbnM6IFZpZXdPcHRpb25zO1xuICBjb250ZXh0PzogVmlld09wdGlvbnNbJ2NvbnRleHQnXTtcbn1cbiJdfQ==
@@ -70,10 +70,14 @@ export function onlyTippyProps(allProps) {
70
70
  'content',
71
71
  'context',
72
72
  'hideOnEscape',
73
- 'customHost'
73
+ 'customHost',
74
+ 'injector',
75
+ 'preserveView',
76
+ 'vcr'
74
77
  ];
78
+ const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];
75
79
  Object.keys(allProps).forEach(prop => {
76
- if (!ownProps.includes(prop)) {
80
+ if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {
77
81
  tippyProps[prop] = allProps[prop];
78
82
  }
79
83
  });
@@ -86,4 +90,4 @@ export function normalizeClassName(className) {
86
90
  function isString(value) {
87
91
  return typeof value === 'string';
88
92
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUk1RCxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQztBQUN6QyxJQUFJLHNCQUFzQixHQUFHLEtBQUssQ0FBQztBQUVuQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyw0QkFBNEIsR0FBRyxzQkFBc0IsSUFBSSxNQUFNLENBQUM7SUFDaEUsc0JBQXNCLEdBQUcsZ0JBQWdCLElBQUksTUFBTSxDQUFDO0NBQ3JEO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsSUFBa0IsRUFDbEIsVUFBb0M7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixTQUFTLEVBQUUsR0FBRztDQUNmO0lBRUQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakMsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ2pDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCx1RkFBdUY7WUFDdkYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxLQUFLLENBQUMs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QyxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBYztJQUM5QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VFbGVtZW50LCBUaXBweUVsZW1lbnQgfSBmcm9tICcuL3RpcHB5LnR5cGVzJztcblxuZGVjbGFyZSBjb25zdCBSZXNpemVPYnNlcnZlcjogYW55O1xuXG5sZXQgc3VwcG9ydHNJbnRlcnNlY3Rpb25PYnNlcnZlciA9IGZhbHNlO1xubGV0IHN1cHBvcnRzUmVzaXplT2JzZXJ2ZXIgPSBmYWxzZTtcblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIHN1cHBvcnRzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSAnSW50ZXJzZWN0aW9uT2JzZXJ2ZXInIGluIHdpbmRvdztcbiAgc3VwcG9ydHNSZXNpemVPYnNlcnZlciA9ICdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5WaWV3KFxuICBob3N0OiBUaXBweUVsZW1lbnQsXG4gIG9wdGlvbnM6IEludGVyc2VjdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgICByb290OiBudWxsLFxuICAgIHRocmVzaG9sZDogMC4zXG4gIH1cbikge1xuICBjb25zdCBlbGVtZW50ID0gY29lcmNlRWxlbWVudChob3N0KTtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgaWYgKCFzdXBwb3J0c0ludGVyc2VjdGlvbk9ic2VydmVyKSB7XG4gICAgICBzdWJzY3JpYmVyLm5leHQoKTtcbiAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgIC8vIFNldmVyYWwgY2hhbmdlcyBtYXkgb2NjdXIgaW4gdGhlIHNhbWUgdGljaywgd2Ugd2FudCB0byBjaGVjayB0aGUgbGF0ZXN0IGVudHJ5IHN0YXRlLlxuICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzW2VudHJpZXMubGVuZ3RoIC0gMV07XG4gICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9LCBvcHRpb25zKTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG5cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNFbGVtZW50T3ZlcmZsb3coaG9zdDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgLy8gRG9uJ3QgYWNjZXNzIHRoZSBgb2Zmc2V0V2lkdGhgIG11bHRpcGUgdGltZXMgc2luY2UgaXQgdHJpZ2dlcnMgbGF5b3V0IHVwZGF0ZXMuXG4gIGNvbnN0IGhvc3RPZmZzZXRXaWR0aCA9IGhvc3Qub2Zmc2V0V2lkdGg7XG4gIHJldHVybiBob3N0T2Zmc2V0V2lkdGggPiBob3N0LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggfHwgaG9zdE9mZnNldFdpZHRoIDwgaG9zdC5zY3JvbGxXaWR0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJmbG93Q2hhbmdlcyhob3N0OiBUaXBweUVsZW1lbnQpIHtcbiAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoaG9zdCk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnNDaGFuZ2VzKGVsZW1lbnQpLnBpcGUoXG4gICAgYXVkaXRUaW1lKDE1MCksXG4gICAgbWFwKCgpID0+IGlzRWxlbWVudE92ZXJmbG93KGVsZW1lbnQpKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGltZW5zaW9uc0NoYW5nZXModGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICByZXR1cm4gcmVzaXplT2JzZXJ2ZXJTdHJhdGVneSh0YXJnZXQpO1xufVxuXG5mdW5jdGlvbiByZXNpemVPYnNlcnZlclN0cmF0ZWd5KHRhcmdldDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgIGlmICghc3VwcG9ydHNSZXNpemVPYnNlcnZlcikge1xuICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gc3Vic2NyaWJlci5uZXh0KHRydWUpKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmx5VGlwcHlQcm9wcyhhbGxQcm9wczogYW55KSB7XG4gIGNvbnN0IHRpcHB5UHJvcHMgPSB7fTtcblxuICBjb25zdCBvd25Qcm9wcyA9IFtcbiAgICAndmFyaWF0aW9ucycsXG4gICAgJ3VzZUhvc3RXaWR0aCcsXG4gICAgJ2RlZmF1bHRWYXJpYXRpb24nLFxuICAgICdiZWZvcmVSZW5kZXInLFxuICAgICdsYXp5JyxcbiAgICAndmFyaWF0aW9uJyxcbiAgICAnaXNFbmFibGVkJyxcbiAgICAnY2xhc3NOYW1lJyxcbiAgICAnb25seVRleHRPdmVyZmxvdycsXG4gICAgJ2RhdGEnLFxuICAgICdjb250ZW50JyxcbiAgICAnY29udGV4dCcsXG4gICAgJ2hpZGVPbkVzY2FwZScsXG4gICAgJ2N1c3RvbUhvc3QnXG4gIF07XG5cbiAgT2JqZWN0LmtleXMoYWxsUHJvcHMpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgaWYgKCFvd25Qcm9wcy5pbmNsdWRlcyhwcm9wKSkge1xuICAgICAgdGlwcHlQcm9wc1twcm9wXSA9IGFsbFByb3BzW3Byb3BdO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHRpcHB5UHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgY2xhc3NlcyA9IGlzU3RyaW5nKGNsYXNzTmFtZSkgPyBjbGFzc05hbWUuc3BsaXQoJyAnKSA6IGNsYXNzTmFtZTtcblxuICByZXR1cm4gY2xhc3Nlcy5tYXAoa2xhc3MgPT4ga2xhc3M/LnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG5mdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZyB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ25lYXQvaGVsaXBvcHBlci9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUk1RCxJQUFJLDRCQUE0QixHQUFHLEtBQUssQ0FBQztBQUN6QyxJQUFJLHNCQUFzQixHQUFHLEtBQUssQ0FBQztBQUVuQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyw0QkFBNEIsR0FBRyxzQkFBc0IsSUFBSSxNQUFNLENBQUM7SUFDaEUsc0JBQXNCLEdBQUcsZ0JBQWdCLElBQUksTUFBTSxDQUFDO0NBQ3JEO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsSUFBa0IsRUFDbEIsVUFBb0M7SUFDbEMsSUFBSSxFQUFFLElBQUk7SUFDVixTQUFTLEVBQUUsR0FBRztDQUNmO0lBRUQsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBDLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDakMsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ2pDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsRCx1RkFBdUY7WUFDdkYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUMsSUFBSSxLQUFLLENBQUMs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LEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRXZFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBYztJQUM5QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VFbGVtZW50LCBUaXBweUVsZW1lbnQgfSBmcm9tICcuL3RpcHB5LnR5cGVzJztcblxuZGVjbGFyZSBjb25zdCBSZXNpemVPYnNlcnZlcjogYW55O1xuXG5sZXQgc3VwcG9ydHNJbnRlcnNlY3Rpb25PYnNlcnZlciA9IGZhbHNlO1xubGV0IHN1cHBvcnRzUmVzaXplT2JzZXJ2ZXIgPSBmYWxzZTtcblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIHN1cHBvcnRzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSAnSW50ZXJzZWN0aW9uT2JzZXJ2ZXInIGluIHdpbmRvdztcbiAgc3VwcG9ydHNSZXNpemVPYnNlcnZlciA9ICdSZXNpemVPYnNlcnZlcicgaW4gd2luZG93O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5WaWV3KFxuICBob3N0OiBUaXBweUVsZW1lbnQsXG4gIG9wdGlvbnM6IEludGVyc2VjdGlvbk9ic2VydmVySW5pdCA9IHtcbiAgICByb290OiBudWxsLFxuICAgIHRocmVzaG9sZDogMC4zXG4gIH1cbikge1xuICBjb25zdCBlbGVtZW50ID0gY29lcmNlRWxlbWVudChob3N0KTtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgaWYgKCFzdXBwb3J0c0ludGVyc2VjdGlvbk9ic2VydmVyKSB7XG4gICAgICBzdWJzY3JpYmVyLm5leHQoKTtcbiAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgIC8vIFNldmVyYWwgY2hhbmdlcyBtYXkgb2NjdXIgaW4gdGhlIHNhbWUgdGljaywgd2Ugd2FudCB0byBjaGVjayB0aGUgbGF0ZXN0IGVudHJ5IHN0YXRlLlxuICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzW2VudHJpZXMubGVuZ3RoIC0gMV07XG4gICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9LCBvcHRpb25zKTtcblxuICAgIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG5cbiAgICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaXNFbGVtZW50T3ZlcmZsb3coaG9zdDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgLy8gRG9uJ3QgYWNjZXNzIHRoZSBgb2Zmc2V0V2lkdGhgIG11bHRpcGUgdGltZXMgc2luY2UgaXQgdHJpZ2dlcnMgbGF5b3V0IHVwZGF0ZXMuXG4gIGNvbnN0IGhvc3RPZmZzZXRXaWR0aCA9IGhvc3Qub2Zmc2V0V2lkdGg7XG4gIHJldHVybiBob3N0T2Zmc2V0V2lkdGggPiBob3N0LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggfHwgaG9zdE9mZnNldFdpZHRoIDwgaG9zdC5zY3JvbGxXaWR0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJmbG93Q2hhbmdlcyhob3N0OiBUaXBweUVsZW1lbnQpIHtcbiAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoaG9zdCk7XG5cbiAgcmV0dXJuIGRpbWVuc2lvbnNDaGFuZ2VzKGVsZW1lbnQpLnBpcGUoXG4gICAgYXVkaXRUaW1lKDE1MCksXG4gICAgbWFwKCgpID0+IGlzRWxlbWVudE92ZXJmbG93KGVsZW1lbnQpKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGltZW5zaW9uc0NoYW5nZXModGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICByZXR1cm4gcmVzaXplT2JzZXJ2ZXJTdHJhdGVneSh0YXJnZXQpO1xufVxuXG5mdW5jdGlvbiByZXNpemVPYnNlcnZlclN0cmF0ZWd5KHRhcmdldDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgIGlmICghc3VwcG9ydHNSZXNpemVPYnNlcnZlcikge1xuICAgICAgc3Vic2NyaWJlci5uZXh0KCk7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gc3Vic2NyaWJlci5uZXh0KHRydWUpKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgcmV0dXJuICgpID0+IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmx5VGlwcHlQcm9wcyhhbGxQcm9wczogYW55KSB7XG4gIGNvbnN0IHRpcHB5UHJvcHMgPSB7fTtcblxuICBjb25zdCBvd25Qcm9wcyA9IFtcbiAgICAndmFyaWF0aW9ucycsXG4gICAgJ3VzZUhvc3RXaWR0aCcsXG4gICAgJ2RlZmF1bHRWYXJpYXRpb24nLFxuICAgICdiZWZvcmVSZW5kZXInLFxuICAgICdsYXp5JyxcbiAgICAndmFyaWF0aW9uJyxcbiAgICAnaXNFbmFibGVkJyxcbiAgICAnY2xhc3NOYW1lJyxcbiAgICAnb25seVRleHRPdmVyZmxvdycsXG4gICAgJ2RhdGEnLFxuICAgICdjb250ZW50JyxcbiAgICAnY29udGV4dCcsXG4gICAgJ2hpZGVPbkVzY2FwZScsXG4gICAgJ2N1c3RvbUhvc3QnLFxuICAgICdpbmplY3RvcicsXG4gICAgJ3ByZXNlcnZlVmlldycsXG4gICAgJ3ZjcidcbiAgXTtcblxuICBjb25zdCBvdmVycmlkZGVuTWV0aG9kcyA9IFsnb25TaG93JywgJ29uSGlkZGVuJywgJ29uQ3JlYXRlJ107XG5cbiAgT2JqZWN0LmtleXMoYWxsUHJvcHMpLmZvckVhY2gocHJvcCA9PiB7XG4gICAgaWYgKCFvd25Qcm9wcy5pbmNsdWRlcyhwcm9wKSAmJiAhb3ZlcnJpZGRlbk1ldGhvZHMuaW5jbHVkZXMocHJvcCkpIHtcbiAgICAgIHRpcHB5UHJvcHNbcHJvcF0gPSBhbGxQcm9wc1twcm9wXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB0aXBweVByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGNsYXNzZXMgPSBpc1N0cmluZyhjbGFzc05hbWUpID8gY2xhc3NOYW1lLnNwbGl0KCcgJykgOiBjbGFzc05hbWU7XG5cbiAgcmV0dXJuIGNsYXNzZXMubWFwKGtsYXNzID0+IGtsYXNzPy50cmltKCkpLmZpbHRlcihCb29sZWFuKTtcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmcodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBzdHJpbmcge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJztcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- export { TippyModule } from "./lib/tippy.module";
2
- export { TippyDirective } from "./lib/tippy.directive";
3
- export { tooltipVariation, popperVariation, withContextMenuVariation } from "./lib/defaults";
4
- export { TippyService } from "./lib/tippy.service";
5
- export { inView, overflowChanges } from "./lib/utils";
6
- export { TIPPY_REF, TIPPY_CONFIG } from "./lib/tippy.types";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9oZWxpcG9wcGVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRpcHB5TW9kdWxlIH0gZnJvbSBcIi4vbGliL3RpcHB5Lm1vZHVsZVwiO1xuZXhwb3J0IHsgVGlwcHlEaXJlY3RpdmUgfSBmcm9tIFwiLi9saWIvdGlwcHkuZGlyZWN0aXZlXCI7XG5leHBvcnQgeyB0b29sdGlwVmFyaWF0aW9uLCBwb3BwZXJWYXJpYXRpb24sIHdpdGhDb250ZXh0TWVudVZhcmlhdGlvbiB9IGZyb20gXCIuL2xpYi9kZWZhdWx0c1wiO1xuZXhwb3J0IHsgVGlwcHlTZXJ2aWNlIH0gZnJvbSBcIi4vbGliL3RpcHB5LnNlcnZpY2VcIjtcbmV4cG9ydCB7IGluVmlldywgb3ZlcmZsb3dDaGFuZ2VzIH0gZnJvbSBcIi4vbGliL3V0aWxzXCI7XG5leHBvcnQgeyBUaXBweUluc3RhbmNlLCBUSVBQWV9SRUYsIFRJUFBZX0NPTkZJRyB9IGZyb20gXCIuL2xpYi90aXBweS50eXBlc1wiO1xuIl19
1
+ export { TippyModule } from './lib/tippy.module';
2
+ export { TippyDirective } from './lib/tippy.directive';
3
+ export { tooltipVariation, popperVariation, withContextMenuVariation } from './lib/defaults';
4
+ export { TippyService } from './lib/tippy.service';
5
+ export { inView, overflowChanges } from './lib/utils';
6
+ export { TIPPY_REF, TIPPY_CONFIG } from './lib/tippy.types';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nbmVhdC9oZWxpcG9wcGVyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQXdDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRpcHB5TW9kdWxlIH0gZnJvbSAnLi9saWIvdGlwcHkubW9kdWxlJztcbmV4cG9ydCB7IFRpcHB5RGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvdGlwcHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7IHRvb2x0aXBWYXJpYXRpb24sIHBvcHBlclZhcmlhdGlvbiwgd2l0aENvbnRleHRNZW51VmFyaWF0aW9uIH0gZnJvbSAnLi9saWIvZGVmYXVsdHMnO1xuZXhwb3J0IHsgVGlwcHlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvdGlwcHkuc2VydmljZSc7XG5leHBvcnQgeyBpblZpZXcsIG92ZXJmbG93Q2hhbmdlcyB9IGZyb20gJy4vbGliL3V0aWxzJztcbmV4cG9ydCB7IEV4dGVuZGVkVGlwcHlJbnN0YW5jZSwgVGlwcHlJbnN0YW5jZSwgVElQUFlfUkVGLCBUSVBQWV9DT05GSUcgfSBmcm9tICcuL2xpYi90aXBweS50eXBlcyc7XG4iXX0=
@@ -87,10 +87,14 @@ function onlyTippyProps(allProps) {
87
87
  'content',
88
88
  'context',
89
89
  'hideOnEscape',
90
- 'customHost'
90
+ 'customHost',
91
+ 'injector',
92
+ 'preserveView',
93
+ 'vcr'
91
94
  ];
95
+ const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];
92
96
  Object.keys(allProps).forEach(prop => {
93
- if (!ownProps.includes(prop)) {
97
+ if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {
94
98
  tippyProps[prop] = allProps[prop];
95
99
  }
96
100
  });
@@ -150,7 +154,7 @@ class TippyDirective {
150
154
  if (isChanged('isVisible', changes)) {
151
155
  this.isVisible ? this.show() : this.hide();
152
156
  }
153
- this.setProps(props);
157
+ this.setProps(Object.assign(Object.assign({}, this.props), props));
154
158
  }
155
159
  ngOnInit() {
156
160
  if (this.useHostWidth) {
@@ -158,6 +162,8 @@ class TippyDirective {
158
162
  }
159
163
  }
160
164
  ngAfterViewInit() {
165
+ if (isPlatformServer(this.platformId))
166
+ return;
161
167
  this.zone.runOutsideAngular(() => {
162
168
  if (this.lazy) {
163
169
  if (this.onlyTextOverflow) {
@@ -510,14 +516,18 @@ class TippyService {
510
516
  });
511
517
  }
512
518
  }
513
- instance.view = this.view.createView(content, Object.assign(Object.assign({}, options), instance.$viewOptions));
519
+ if (!instance.view) {
520
+ instance.view = this.view.createView(content, Object.assign(Object.assign({}, options), instance.$viewOptions));
521
+ }
514
522
  instance.setContent(instance.view.getElement());
515
523
  (_a = options === null || options === void 0 ? void 0 : options.onShow) === null || _a === void 0 ? void 0 : _a.call(options, instance);
516
524
  }, onHidden: instance => {
517
525
  var _a;
518
- instance.view.destroy();
526
+ if (!options.preserveView) {
527
+ instance.view.destroy();
528
+ instance.view = null;
529
+ }
519
530
  (_a = options === null || options === void 0 ? void 0 : options.onHidden) === null || _a === void 0 ? void 0 : _a.call(options, instance);
520
- instance.view = null;
521
531
  } }, onlyTippyProps(this.globalConfig)), this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation]), onlyTippyProps(options)), { onCreate: instance => {
522
532
  var _a, _b, _c;
523
533
  if (options.className) {
@@ -548,3 +558,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
548
558
  */
549
559
 
550
560
  export { TIPPY_CONFIG, TIPPY_REF, TippyDirective, TippyModule, TippyService, inView, overflowChanges, popperVariation, tooltipVariation, withContextMenuVariation };
561
+ //# sourceMappingURL=ngneat-helipopper.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngneat-helipopper.mjs","sources":["../../../../projects/ngneat/helipopper/src/lib/tippy.types.ts","../../../../projects/ngneat/helipopper/src/lib/utils.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.directive.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.module.ts","../../../../projects/ngneat/helipopper/src/lib/defaults.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.service.ts","../../../../projects/ngneat/helipopper/src/ngneat-helipopper.ts"],"sourcesContent":["import { Instance, Props } from 'tippy.js';\nimport { ElementRef, InjectionToken } from '@angular/core';\nimport { ViewOptions } from '@ngneat/overview';\n\nexport interface CreateOptions extends Partial<TippyProps>, ViewOptions {\n variation: string;\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}\n\nexport function coerceElement(element: TippyElement) {\n return element instanceof ElementRef ? element.nativeElement : element;\n}\n\nexport type TippyElement = ElementRef | Element;\n","import { Observable } from 'rxjs';\nimport { auditTime, map } from 'rxjs/operators';\nimport { coerceElement, TippyElement } from './tippy.types';\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 'variations',\n 'useHostWidth',\n 'defaultVariation',\n 'beforeRender',\n 'lazy',\n 'variation',\n 'isEnabled',\n 'className',\n 'onlyTextOverflow',\n 'data',\n 'content',\n 'context',\n 'hideOnEscape',\n 'customHost'\n ];\n\n Object.keys(allProps).forEach(prop => {\n if (!ownProps.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\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n ViewContainerRef,\n AfterViewInit,\n OnChanges,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport tippy from 'tippy.js';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { isComponent, isString, isTemplateRef, ViewService, ViewOptions, ViewRef, Content } from '@ngneat/overview';\n\nimport { dimensionsChanges, inView, normalizeClassName, onlyTippyProps, overflowChanges } from './utils';\nimport { NgChanges, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance, TippyProps } from './tippy.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[tippy]',\n exportAs: 'tippy'\n})\nexport class TippyDirective implements OnChanges, AfterViewInit, OnDestroy, OnInit {\n @Input() appendTo: TippyProps['appendTo'];\n @Input() delay: TippyProps['delay'];\n @Input() duration: TippyProps['duration'];\n @Input() hideOnClick: TippyProps['hideOnClick'];\n @Input() interactive: TippyProps['interactive'];\n @Input() interactiveBorder: TippyProps['interactiveBorder'];\n @Input() maxWidth: TippyProps['maxWidth'];\n @Input() offset: TippyProps['offset'];\n @Input() placement: TippyProps['placement'];\n @Input() popperOptions: TippyProps['popperOptions'];\n @Input() showOnCreate: TippyProps['showOnCreate'];\n @Input() trigger: TippyProps['trigger'];\n @Input() triggerTarget: TippyProps['triggerTarget'];\n @Input() zIndex: TippyProps['zIndex'];\n\n @Input() lazy: boolean;\n @Input() variation: string;\n @Input() isEnabled: boolean;\n @Input() className: string | string[];\n @Input() onlyTextOverflow = false;\n @Input() data: any;\n @Input() useHostWidth = false;\n @Input() hideOnEscape = false;\n @Input('tippy') content: Content;\n @Input('tippyHost') customHost: HTMLElement;\n\n @Output() visible = new EventEmitter<boolean>();\n @Input() public isVisible = false;\n\n private instance: TippyInstance;\n private viewRef: ViewRef;\n private destroyed = new Subject<void>();\n private props: Partial<TippyConfig>;\n private enabled = true;\n private variationDefined = false;\n private viewOptions$: ViewOptions;\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(TIPPY_CONFIG) private globalConfig: TippyConfig,\n private injector: Injector,\n private viewService: ViewService,\n private vcr: ViewContainerRef,\n private zone: NgZone,\n private 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.setProps(props);\n }\n\n ngOnInit() {\n if (this.useHostWidth) {\n this.props.maxWidth = this.hostWidth;\n }\n }\n\n ngAfterViewInit() {\n this.zone.runOutsideAngular(() => {\n if (this.lazy) {\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 }\n\n destroyView() {\n this.viewOptions$ = null;\n this.viewRef?.destroy();\n this.viewRef = null;\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 private setProps(props: Partial<TippyConfig>) {\n this.props = props;\n this.instance?.setProps(onlyTippyProps(props));\n }\n\n private setStatus() {\n this.enabled ? this.instance?.enable() : this.instance?.disable();\n }\n\n private get host(): HTMLElement {\n return this.customHost || this.hostRef.nativeElement;\n }\n\n private get hostWidth(): string {\n return `${this.host.getBoundingClientRect().width}px`;\n }\n\n private createInstance() {\n if (this.content == null) {\n return;\n }\n\n this.zone.runOutsideAngular(() => {\n this.instance = tippy(this.host, {\n allowHTML: true,\n appendTo: document.body,\n ...onlyTippyProps(this.globalConfig),\n ...onlyTippyProps(this.props),\n onMount: instance => {\n this.isVisible = true;\n this.visible.next(true);\n this.useHostWidth && this.listenToHostResize();\n this.globalConfig.onMount?.(instance);\n },\n onCreate: instance => {\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 this.zone.run(() => {\n const content = this.resolveContent();\n if (isString(content)) {\n instance.setProps({ allowHTML: false });\n }\n instance.setContent(content);\n this.hideOnEscape && this.handleEscapeButton();\n });\n if (this.useHostWidth) {\n // Don't access `hostWidth` multiple times since it's a getter that calls `getBoundingClientRect()`,\n // which triggers the whole layout update.\n const hostWidth = this.hostWidth;\n instance.popper.style.width = hostWidth;\n instance.popper.style.maxWidth = hostWidth;\n (instance.popper.firstElementChild as HTMLElement).style.maxWidth = hostWidth;\n }\n this.globalConfig.onShow?.(instance);\n },\n onHidden: instance => {\n this.destroyView();\n this.isVisible = false;\n this.visible.next(false);\n this.globalConfig.onHidden?.(instance);\n }\n });\n\n this.setStatus();\n this.setProps(this.props);\n\n this.variation === 'contextMenu' && this.handleContextMenu();\n });\n }\n\n private resolveContent() {\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 let content = this.viewRef.getElement();\n\n if (isString(content) && this.globalConfig.beforeRender) {\n content = this.globalConfig.beforeRender(content);\n }\n\n return content;\n }\n\n private 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 any)\n });\n\n this.instance.show();\n });\n }\n\n private handleEscapeButton() {\n this.pressButton$(document.body, 'Escape')\n .pipe(takeUntil(merge(this.destroyed, this.visible.pipe(filter(v => !v)))))\n .subscribe(() => this.hide());\n }\n\n private pressButton$(element: HTMLElement, codeButton: string) {\n return fromEvent(element, 'keydown').pipe(filter(({ code }: KeyboardEvent) => codeButton === code));\n }\n\n private 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 private listenToHostResize() {\n dimensionsChanges(this.host)\n .pipe(takeUntil(merge(this.destroyed, this.visible)))\n .subscribe(() => {\n this.instance.popper.style.width = this.hostWidth;\n });\n }\n}\n\nfunction isChanged<T>(key: keyof T, changes: T) {\n return key in changes;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { TippyDirective } from './tippy.directive';\nimport { TIPPY_CONFIG, TippyConfig } from './tippy.types';\n\n@NgModule({\n declarations: [TippyDirective],\n exports: [TippyDirective]\n})\nexport class TippyModule {\n static forRoot(config: Partial<TippyConfig> = {}): ModuleWithProviders<TippyModule> {\n return {\n ngModule: TippyModule,\n providers: [\n {\n provide: TIPPY_CONFIG,\n useValue: config\n }\n ]\n };\n }\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, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance } 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(host: Element, content: Content, options: Partial<CreateOptions> = {}): TippyInstance {\n const config = {\n onShow: instance => {\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 instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });\n instance.setContent(instance.view.getElement());\n options?.onShow?.(instance);\n },\n onHidden: instance => {\n instance.view.destroy();\n options?.onHidden?.(instance);\n instance.view = null;\n },\n ...onlyTippyProps(this.globalConfig),\n ...this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation],\n ...onlyTippyProps(options),\n onCreate: instance => {\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);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isString"],"mappings":"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"}
1
+ {"version":3,"file":"ngneat-helipopper.mjs","sources":["../../../../projects/ngneat/helipopper/src/lib/tippy.types.ts","../../../../projects/ngneat/helipopper/src/lib/utils.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.directive.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.module.ts","../../../../projects/ngneat/helipopper/src/lib/defaults.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.service.ts","../../../../projects/ngneat/helipopper/src/ngneat-helipopper.ts"],"sourcesContent":["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}\n\nexport function coerceElement(element: TippyElement) {\n return element instanceof ElementRef ? element.nativeElement : element;\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 { Observable } from 'rxjs';\nimport { auditTime, map } from 'rxjs/operators';\nimport { coerceElement, TippyElement } from './tippy.types';\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 'variations',\n 'useHostWidth',\n 'defaultVariation',\n 'beforeRender',\n 'lazy',\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 ];\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\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n ViewContainerRef,\n AfterViewInit,\n OnChanges,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport tippy from 'tippy.js';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { isComponent, isString, isTemplateRef, ViewService, ViewOptions, ViewRef, Content } from '@ngneat/overview';\n\nimport { dimensionsChanges, inView, normalizeClassName, onlyTippyProps, overflowChanges } from './utils';\nimport { NgChanges, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance, TippyProps } from './tippy.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[tippy]',\n exportAs: 'tippy'\n})\nexport class TippyDirective implements OnChanges, AfterViewInit, OnDestroy, OnInit {\n @Input() appendTo: TippyProps['appendTo'];\n @Input() delay: TippyProps['delay'];\n @Input() duration: TippyProps['duration'];\n @Input() hideOnClick: TippyProps['hideOnClick'];\n @Input() interactive: TippyProps['interactive'];\n @Input() interactiveBorder: TippyProps['interactiveBorder'];\n @Input() maxWidth: TippyProps['maxWidth'];\n @Input() offset: TippyProps['offset'];\n @Input() placement: TippyProps['placement'];\n @Input() popperOptions: TippyProps['popperOptions'];\n @Input() showOnCreate: TippyProps['showOnCreate'];\n @Input() trigger: TippyProps['trigger'];\n @Input() triggerTarget: TippyProps['triggerTarget'];\n @Input() zIndex: TippyProps['zIndex'];\n\n @Input() lazy: boolean;\n @Input() variation: string;\n @Input() isEnabled: boolean;\n @Input() className: string | string[];\n @Input() onlyTextOverflow = false;\n @Input() data: any;\n @Input() useHostWidth = false;\n @Input() hideOnEscape = false;\n @Input('tippy') content: Content;\n @Input('tippyHost') customHost: HTMLElement;\n\n @Output() visible = new EventEmitter<boolean>();\n @Input() public isVisible = false;\n\n private instance: TippyInstance;\n private viewRef: ViewRef;\n private destroyed = new Subject<void>();\n private props: Partial<TippyConfig>;\n private enabled = true;\n private variationDefined = false;\n private viewOptions$: ViewOptions;\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(TIPPY_CONFIG) private globalConfig: TippyConfig,\n private injector: Injector,\n private viewService: ViewService,\n private vcr: ViewContainerRef,\n private zone: NgZone,\n private 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.setProps({ ...this.props, ...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.lazy) {\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 }\n\n destroyView() {\n this.viewOptions$ = null;\n this.viewRef?.destroy();\n this.viewRef = null;\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 private setProps(props: Partial<TippyConfig>) {\n this.props = props;\n this.instance?.setProps(onlyTippyProps(props));\n }\n\n private setStatus() {\n this.enabled ? this.instance?.enable() : this.instance?.disable();\n }\n\n private get host(): HTMLElement {\n return this.customHost || this.hostRef.nativeElement;\n }\n\n private get hostWidth(): string {\n return `${this.host.getBoundingClientRect().width}px`;\n }\n\n private createInstance() {\n if (this.content == null) {\n return;\n }\n\n this.zone.runOutsideAngular(() => {\n this.instance = tippy(this.host, {\n allowHTML: true,\n appendTo: document.body,\n ...onlyTippyProps(this.globalConfig),\n ...onlyTippyProps(this.props),\n onMount: instance => {\n this.isVisible = true;\n this.visible.next(true);\n this.useHostWidth && this.listenToHostResize();\n this.globalConfig.onMount?.(instance);\n },\n onCreate: instance => {\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 this.zone.run(() => {\n const content = this.resolveContent();\n if (isString(content)) {\n instance.setProps({ allowHTML: false });\n }\n instance.setContent(content);\n this.hideOnEscape && this.handleEscapeButton();\n });\n if (this.useHostWidth) {\n // Don't access `hostWidth` multiple times since it's a getter that calls `getBoundingClientRect()`,\n // which triggers the whole layout update.\n const hostWidth = this.hostWidth;\n instance.popper.style.width = hostWidth;\n instance.popper.style.maxWidth = hostWidth;\n (instance.popper.firstElementChild as HTMLElement).style.maxWidth = hostWidth;\n }\n this.globalConfig.onShow?.(instance);\n },\n onHidden: instance => {\n this.destroyView();\n this.isVisible = false;\n this.visible.next(false);\n this.globalConfig.onHidden?.(instance);\n }\n });\n\n this.setStatus();\n this.setProps(this.props);\n\n this.variation === 'contextMenu' && this.handleContextMenu();\n });\n }\n\n private resolveContent() {\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 let content = this.viewRef.getElement();\n\n if (isString(content) && this.globalConfig.beforeRender) {\n content = this.globalConfig.beforeRender(content);\n }\n\n return content;\n }\n\n private 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 private handleEscapeButton() {\n this.pressButton$(document.body, 'Escape')\n .pipe(takeUntil(merge(this.destroyed, this.visible.pipe(filter(v => !v)))))\n .subscribe(() => this.hide());\n }\n\n private pressButton$(element: HTMLElement, codeButton: string) {\n return fromEvent(element, 'keydown').pipe(filter(({ code }: KeyboardEvent) => codeButton === code));\n }\n\n private 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 private listenToHostResize() {\n dimensionsChanges(this.host)\n .pipe(takeUntil(merge(this.destroyed, this.visible)))\n .subscribe(() => {\n this.instance.popper.style.width = this.hostWidth;\n });\n }\n}\n\nfunction isChanged<T>(key: keyof T, changes: T) {\n return key in changes;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { TippyDirective } from './tippy.directive';\nimport { TIPPY_CONFIG, TippyConfig } from './tippy.types';\n\n@NgModule({\n declarations: [TippyDirective],\n exports: [TippyDirective]\n})\nexport class TippyModule {\n static forRoot(config: Partial<TippyConfig> = {}): ModuleWithProviders<TippyModule> {\n return {\n ngModule: TippyModule,\n providers: [\n {\n provide: TIPPY_CONFIG,\n useValue: config\n }\n ]\n };\n }\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 config = {\n onShow: instance => {\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 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[options.variation || this.globalConfig.defaultVariation],\n ...onlyTippyProps(options),\n onCreate: instance => {\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isString"],"mappings":"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"}
@@ -87,10 +87,14 @@ function onlyTippyProps(allProps) {
87
87
  'content',
88
88
  'context',
89
89
  'hideOnEscape',
90
- 'customHost'
90
+ 'customHost',
91
+ 'injector',
92
+ 'preserveView',
93
+ 'vcr'
91
94
  ];
95
+ const overriddenMethods = ['onShow', 'onHidden', 'onCreate'];
92
96
  Object.keys(allProps).forEach(prop => {
93
- if (!ownProps.includes(prop)) {
97
+ if (!ownProps.includes(prop) && !overriddenMethods.includes(prop)) {
94
98
  tippyProps[prop] = allProps[prop];
95
99
  }
96
100
  });
@@ -153,7 +157,7 @@ class TippyDirective {
153
157
  if (isChanged('isVisible', changes)) {
154
158
  this.isVisible ? this.show() : this.hide();
155
159
  }
156
- this.setProps(props);
160
+ this.setProps({ ...this.props, ...props });
157
161
  }
158
162
  ngOnInit() {
159
163
  if (this.useHostWidth) {
@@ -161,6 +165,8 @@ class TippyDirective {
161
165
  }
162
166
  }
163
167
  ngAfterViewInit() {
168
+ if (isPlatformServer(this.platformId))
169
+ return;
164
170
  this.zone.runOutsideAngular(() => {
165
171
  if (this.lazy) {
166
172
  if (this.onlyTextOverflow) {
@@ -519,14 +525,18 @@ class TippyService {
519
525
  });
520
526
  }
521
527
  }
522
- instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
528
+ if (!instance.view) {
529
+ instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
530
+ }
523
531
  instance.setContent(instance.view.getElement());
524
532
  options?.onShow?.(instance);
525
533
  },
526
534
  onHidden: instance => {
527
- instance.view.destroy();
535
+ if (!options.preserveView) {
536
+ instance.view.destroy();
537
+ instance.view = null;
538
+ }
528
539
  options?.onHidden?.(instance);
529
- instance.view = null;
530
540
  },
531
541
  ...onlyTippyProps(this.globalConfig),
532
542
  ...this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation],
@@ -559,3 +569,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
559
569
  */
560
570
 
561
571
  export { TIPPY_CONFIG, TIPPY_REF, TippyDirective, TippyModule, TippyService, inView, overflowChanges, popperVariation, tooltipVariation, withContextMenuVariation };
572
+ //# sourceMappingURL=ngneat-helipopper.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngneat-helipopper.mjs","sources":["../../../../projects/ngneat/helipopper/src/lib/tippy.types.ts","../../../../projects/ngneat/helipopper/src/lib/utils.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.directive.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.module.ts","../../../../projects/ngneat/helipopper/src/lib/defaults.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.service.ts","../../../../projects/ngneat/helipopper/src/ngneat-helipopper.ts"],"sourcesContent":["import { Instance, Props } from 'tippy.js';\nimport { ElementRef, InjectionToken } from '@angular/core';\nimport { ViewOptions } from '@ngneat/overview';\n\nexport interface CreateOptions extends Partial<TippyProps>, ViewOptions {\n variation: string;\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}\n\nexport function coerceElement(element: TippyElement) {\n return element instanceof ElementRef ? element.nativeElement : element;\n}\n\nexport type TippyElement = ElementRef | Element;\n","import { Observable } from 'rxjs';\nimport { auditTime, map } from 'rxjs/operators';\nimport { coerceElement, TippyElement } from './tippy.types';\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 'variations',\n 'useHostWidth',\n 'defaultVariation',\n 'beforeRender',\n 'lazy',\n 'variation',\n 'isEnabled',\n 'className',\n 'onlyTextOverflow',\n 'data',\n 'content',\n 'context',\n 'hideOnEscape',\n 'customHost'\n ];\n\n Object.keys(allProps).forEach(prop => {\n if (!ownProps.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\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n ViewContainerRef,\n AfterViewInit,\n OnChanges,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport tippy from 'tippy.js';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { isComponent, isString, isTemplateRef, ViewService, ViewOptions, ViewRef, Content } from '@ngneat/overview';\n\nimport { dimensionsChanges, inView, normalizeClassName, onlyTippyProps, overflowChanges } from './utils';\nimport { NgChanges, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance, TippyProps } from './tippy.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[tippy]',\n exportAs: 'tippy'\n})\nexport class TippyDirective implements OnChanges, AfterViewInit, OnDestroy, OnInit {\n @Input() appendTo: TippyProps['appendTo'];\n @Input() delay: TippyProps['delay'];\n @Input() duration: TippyProps['duration'];\n @Input() hideOnClick: TippyProps['hideOnClick'];\n @Input() interactive: TippyProps['interactive'];\n @Input() interactiveBorder: TippyProps['interactiveBorder'];\n @Input() maxWidth: TippyProps['maxWidth'];\n @Input() offset: TippyProps['offset'];\n @Input() placement: TippyProps['placement'];\n @Input() popperOptions: TippyProps['popperOptions'];\n @Input() showOnCreate: TippyProps['showOnCreate'];\n @Input() trigger: TippyProps['trigger'];\n @Input() triggerTarget: TippyProps['triggerTarget'];\n @Input() zIndex: TippyProps['zIndex'];\n\n @Input() lazy: boolean;\n @Input() variation: string;\n @Input() isEnabled: boolean;\n @Input() className: string | string[];\n @Input() onlyTextOverflow = false;\n @Input() data: any;\n @Input() useHostWidth = false;\n @Input() hideOnEscape = false;\n @Input('tippy') content: Content;\n @Input('tippyHost') customHost: HTMLElement;\n\n @Output() visible = new EventEmitter<boolean>();\n @Input() public isVisible = false;\n\n private instance: TippyInstance;\n private viewRef: ViewRef;\n private destroyed = new Subject<void>();\n private props: Partial<TippyConfig>;\n private enabled = true;\n private variationDefined = false;\n private viewOptions$: ViewOptions;\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(TIPPY_CONFIG) private globalConfig: TippyConfig,\n private injector: Injector,\n private viewService: ViewService,\n private vcr: ViewContainerRef,\n private zone: NgZone,\n private 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.setProps(props);\n }\n\n ngOnInit() {\n if (this.useHostWidth) {\n this.props.maxWidth = this.hostWidth;\n }\n }\n\n ngAfterViewInit() {\n this.zone.runOutsideAngular(() => {\n if (this.lazy) {\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 }\n\n destroyView() {\n this.viewOptions$ = null;\n this.viewRef?.destroy();\n this.viewRef = null;\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 private setProps(props: Partial<TippyConfig>) {\n this.props = props;\n this.instance?.setProps(onlyTippyProps(props));\n }\n\n private setStatus() {\n this.enabled ? this.instance?.enable() : this.instance?.disable();\n }\n\n private get host(): HTMLElement {\n return this.customHost || this.hostRef.nativeElement;\n }\n\n private get hostWidth(): string {\n return `${this.host.getBoundingClientRect().width}px`;\n }\n\n private createInstance() {\n if (this.content == null) {\n return;\n }\n\n this.zone.runOutsideAngular(() => {\n this.instance = tippy(this.host, {\n allowHTML: true,\n appendTo: document.body,\n ...onlyTippyProps(this.globalConfig),\n ...onlyTippyProps(this.props),\n onMount: instance => {\n this.isVisible = true;\n this.visible.next(true);\n this.useHostWidth && this.listenToHostResize();\n this.globalConfig.onMount?.(instance);\n },\n onCreate: instance => {\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 this.zone.run(() => {\n const content = this.resolveContent();\n if (isString(content)) {\n instance.setProps({ allowHTML: false });\n }\n instance.setContent(content);\n this.hideOnEscape && this.handleEscapeButton();\n });\n if (this.useHostWidth) {\n // Don't access `hostWidth` multiple times since it's a getter that calls `getBoundingClientRect()`,\n // which triggers the whole layout update.\n const hostWidth = this.hostWidth;\n instance.popper.style.width = hostWidth;\n instance.popper.style.maxWidth = hostWidth;\n (instance.popper.firstElementChild as HTMLElement).style.maxWidth = hostWidth;\n }\n this.globalConfig.onShow?.(instance);\n },\n onHidden: instance => {\n this.destroyView();\n this.isVisible = false;\n this.visible.next(false);\n this.globalConfig.onHidden?.(instance);\n }\n });\n\n this.setStatus();\n this.setProps(this.props);\n\n this.variation === 'contextMenu' && this.handleContextMenu();\n });\n }\n\n private resolveContent() {\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 let content = this.viewRef.getElement();\n\n if (isString(content) && this.globalConfig.beforeRender) {\n content = this.globalConfig.beforeRender(content);\n }\n\n return content;\n }\n\n private 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 any)\n });\n\n this.instance.show();\n });\n }\n\n private handleEscapeButton() {\n this.pressButton$(document.body, 'Escape')\n .pipe(takeUntil(merge(this.destroyed, this.visible.pipe(filter(v => !v)))))\n .subscribe(() => this.hide());\n }\n\n private pressButton$(element: HTMLElement, codeButton: string) {\n return fromEvent(element, 'keydown').pipe(filter(({ code }: KeyboardEvent) => codeButton === code));\n }\n\n private 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 private listenToHostResize() {\n dimensionsChanges(this.host)\n .pipe(takeUntil(merge(this.destroyed, this.visible)))\n .subscribe(() => {\n this.instance.popper.style.width = this.hostWidth;\n });\n }\n}\n\nfunction isChanged<T>(key: keyof T, changes: T) {\n return key in changes;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { TippyDirective } from './tippy.directive';\nimport { TIPPY_CONFIG, TippyConfig } from './tippy.types';\n\n@NgModule({\n declarations: [TippyDirective],\n exports: [TippyDirective]\n})\nexport class TippyModule {\n static forRoot(config: Partial<TippyConfig> = {}): ModuleWithProviders<TippyModule> {\n return {\n ngModule: TippyModule,\n providers: [\n {\n provide: TIPPY_CONFIG,\n useValue: config\n }\n ]\n };\n }\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, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance } 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(host: Element, content: Content, options: Partial<CreateOptions> = {}): TippyInstance {\n const config = {\n onShow: instance => {\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 instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });\n instance.setContent(instance.view.getElement());\n options?.onShow?.(instance);\n },\n onHidden: instance => {\n instance.view.destroy();\n options?.onHidden?.(instance);\n instance.view = null;\n },\n ...onlyTippyProps(this.globalConfig),\n ...this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation],\n ...onlyTippyProps(options),\n onCreate: instance => {\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);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isString"],"mappings":"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"}
1
+ {"version":3,"file":"ngneat-helipopper.mjs","sources":["../../../../projects/ngneat/helipopper/src/lib/tippy.types.ts","../../../../projects/ngneat/helipopper/src/lib/utils.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.directive.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.module.ts","../../../../projects/ngneat/helipopper/src/lib/defaults.ts","../../../../projects/ngneat/helipopper/src/lib/tippy.service.ts","../../../../projects/ngneat/helipopper/src/ngneat-helipopper.ts"],"sourcesContent":["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}\n\nexport function coerceElement(element: TippyElement) {\n return element instanceof ElementRef ? element.nativeElement : element;\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 { Observable } from 'rxjs';\nimport { auditTime, map } from 'rxjs/operators';\nimport { coerceElement, TippyElement } from './tippy.types';\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 'variations',\n 'useHostWidth',\n 'defaultVariation',\n 'beforeRender',\n 'lazy',\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 ];\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\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n NgZone,\n Output,\n PLATFORM_ID,\n ViewContainerRef,\n AfterViewInit,\n OnChanges,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport tippy from 'tippy.js';\nimport { fromEvent, merge, Subject } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { isComponent, isString, isTemplateRef, ViewService, ViewOptions, ViewRef, Content } from '@ngneat/overview';\n\nimport { dimensionsChanges, inView, normalizeClassName, onlyTippyProps, overflowChanges } from './utils';\nimport { NgChanges, TIPPY_CONFIG, TIPPY_REF, TippyConfig, TippyInstance, TippyProps } from './tippy.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[tippy]',\n exportAs: 'tippy'\n})\nexport class TippyDirective implements OnChanges, AfterViewInit, OnDestroy, OnInit {\n @Input() appendTo: TippyProps['appendTo'];\n @Input() delay: TippyProps['delay'];\n @Input() duration: TippyProps['duration'];\n @Input() hideOnClick: TippyProps['hideOnClick'];\n @Input() interactive: TippyProps['interactive'];\n @Input() interactiveBorder: TippyProps['interactiveBorder'];\n @Input() maxWidth: TippyProps['maxWidth'];\n @Input() offset: TippyProps['offset'];\n @Input() placement: TippyProps['placement'];\n @Input() popperOptions: TippyProps['popperOptions'];\n @Input() showOnCreate: TippyProps['showOnCreate'];\n @Input() trigger: TippyProps['trigger'];\n @Input() triggerTarget: TippyProps['triggerTarget'];\n @Input() zIndex: TippyProps['zIndex'];\n\n @Input() lazy: boolean;\n @Input() variation: string;\n @Input() isEnabled: boolean;\n @Input() className: string | string[];\n @Input() onlyTextOverflow = false;\n @Input() data: any;\n @Input() useHostWidth = false;\n @Input() hideOnEscape = false;\n @Input('tippy') content: Content;\n @Input('tippyHost') customHost: HTMLElement;\n\n @Output() visible = new EventEmitter<boolean>();\n @Input() public isVisible = false;\n\n private instance: TippyInstance;\n private viewRef: ViewRef;\n private destroyed = new Subject<void>();\n private props: Partial<TippyConfig>;\n private enabled = true;\n private variationDefined = false;\n private viewOptions$: ViewOptions;\n constructor(\n @Inject(PLATFORM_ID) private platformId: string,\n @Inject(TIPPY_CONFIG) private globalConfig: TippyConfig,\n private injector: Injector,\n private viewService: ViewService,\n private vcr: ViewContainerRef,\n private zone: NgZone,\n private 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.setProps({ ...this.props, ...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.lazy) {\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 }\n\n destroyView() {\n this.viewOptions$ = null;\n this.viewRef?.destroy();\n this.viewRef = null;\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 private setProps(props: Partial<TippyConfig>) {\n this.props = props;\n this.instance?.setProps(onlyTippyProps(props));\n }\n\n private setStatus() {\n this.enabled ? this.instance?.enable() : this.instance?.disable();\n }\n\n private get host(): HTMLElement {\n return this.customHost || this.hostRef.nativeElement;\n }\n\n private get hostWidth(): string {\n return `${this.host.getBoundingClientRect().width}px`;\n }\n\n private createInstance() {\n if (this.content == null) {\n return;\n }\n\n this.zone.runOutsideAngular(() => {\n this.instance = tippy(this.host, {\n allowHTML: true,\n appendTo: document.body,\n ...onlyTippyProps(this.globalConfig),\n ...onlyTippyProps(this.props),\n onMount: instance => {\n this.isVisible = true;\n this.visible.next(true);\n this.useHostWidth && this.listenToHostResize();\n this.globalConfig.onMount?.(instance);\n },\n onCreate: instance => {\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 this.zone.run(() => {\n const content = this.resolveContent();\n if (isString(content)) {\n instance.setProps({ allowHTML: false });\n }\n instance.setContent(content);\n this.hideOnEscape && this.handleEscapeButton();\n });\n if (this.useHostWidth) {\n // Don't access `hostWidth` multiple times since it's a getter that calls `getBoundingClientRect()`,\n // which triggers the whole layout update.\n const hostWidth = this.hostWidth;\n instance.popper.style.width = hostWidth;\n instance.popper.style.maxWidth = hostWidth;\n (instance.popper.firstElementChild as HTMLElement).style.maxWidth = hostWidth;\n }\n this.globalConfig.onShow?.(instance);\n },\n onHidden: instance => {\n this.destroyView();\n this.isVisible = false;\n this.visible.next(false);\n this.globalConfig.onHidden?.(instance);\n }\n });\n\n this.setStatus();\n this.setProps(this.props);\n\n this.variation === 'contextMenu' && this.handleContextMenu();\n });\n }\n\n private resolveContent() {\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 let content = this.viewRef.getElement();\n\n if (isString(content) && this.globalConfig.beforeRender) {\n content = this.globalConfig.beforeRender(content);\n }\n\n return content;\n }\n\n private 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 private handleEscapeButton() {\n this.pressButton$(document.body, 'Escape')\n .pipe(takeUntil(merge(this.destroyed, this.visible.pipe(filter(v => !v)))))\n .subscribe(() => this.hide());\n }\n\n private pressButton$(element: HTMLElement, codeButton: string) {\n return fromEvent(element, 'keydown').pipe(filter(({ code }: KeyboardEvent) => codeButton === code));\n }\n\n private 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 private listenToHostResize() {\n dimensionsChanges(this.host)\n .pipe(takeUntil(merge(this.destroyed, this.visible)))\n .subscribe(() => {\n this.instance.popper.style.width = this.hostWidth;\n });\n }\n}\n\nfunction isChanged<T>(key: keyof T, changes: T) {\n return key in changes;\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { TippyDirective } from './tippy.directive';\nimport { TIPPY_CONFIG, TippyConfig } from './tippy.types';\n\n@NgModule({\n declarations: [TippyDirective],\n exports: [TippyDirective]\n})\nexport class TippyModule {\n static forRoot(config: Partial<TippyConfig> = {}): ModuleWithProviders<TippyModule> {\n return {\n ngModule: TippyModule,\n providers: [\n {\n provide: TIPPY_CONFIG,\n useValue: config\n }\n ]\n };\n }\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 config = {\n onShow: instance => {\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 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[options.variation || this.globalConfig.defaultVariation],\n ...onlyTippyProps(options),\n onCreate: instance => {\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isString"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { ViewService } from '@ngneat/overview';
3
3
  import { Content } from '@ngneat/overview';
4
- import { CreateOptions, TippyConfig, TippyInstance } from './tippy.types';
4
+ import { CreateOptions, ExtendedTippyInstance, TippyConfig } from './tippy.types';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class TippyService {
7
7
  private globalConfig;
8
8
  private view;
9
9
  private injector;
10
10
  constructor(globalConfig: TippyConfig, view: ViewService, injector: Injector);
11
- create(host: Element, content: Content, options?: Partial<CreateOptions>): TippyInstance;
11
+ create<T extends Content>(host: Element, content: T, options?: Partial<CreateOptions>): ExtendedTippyInstance<T>;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TippyService, never>;
13
13
  static ɵprov: i0.ɵɵInjectableDeclaration<TippyService>;
14
14
  }
@@ -1,8 +1,9 @@
1
1
  import { Instance, Props } from 'tippy.js';
2
2
  import { ElementRef, InjectionToken } from '@angular/core';
3
- import { ViewOptions } from '@ngneat/overview';
3
+ import { ResolveViewRef, ViewOptions } from '@ngneat/overview';
4
4
  export interface CreateOptions extends Partial<TippyProps>, ViewOptions {
5
5
  variation: string;
6
+ preserveView: boolean;
6
7
  className: string | string[];
7
8
  data: any;
8
9
  }
@@ -31,4 +32,9 @@ export interface TippyConfig extends TippyProps {
31
32
  }
32
33
  export declare function coerceElement(element: TippyElement): any;
33
34
  export declare type TippyElement = ElementRef | Element;
35
+ export interface ExtendedTippyInstance<T> extends TippyInstance {
36
+ view: ResolveViewRef<T>;
37
+ $viewOptions: ViewOptions;
38
+ context?: ViewOptions['context'];
39
+ }
34
40
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngneat/helipopper",
3
- "version": "5.0.0",
3
+ "version": "5.1.1",
4
4
  "description": "A Powerful Tooltip and Popover for Angular Applications",
5
5
  "dependencies": {
6
6
  "tippy.js": "6.3.7",
package/public-api.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { TippyModule } from "./lib/tippy.module";
2
- export { TippyDirective } from "./lib/tippy.directive";
3
- export { tooltipVariation, popperVariation, withContextMenuVariation } from "./lib/defaults";
4
- export { TippyService } from "./lib/tippy.service";
5
- export { inView, overflowChanges } from "./lib/utils";
6
- export { TippyInstance, TIPPY_REF, TIPPY_CONFIG } from "./lib/tippy.types";
1
+ export { TippyModule } from './lib/tippy.module';
2
+ export { TippyDirective } from './lib/tippy.directive';
3
+ export { tooltipVariation, popperVariation, withContextMenuVariation } from './lib/defaults';
4
+ export { TippyService } from './lib/tippy.service';
5
+ export { inView, overflowChanges } from './lib/utils';
6
+ export { ExtendedTippyInstance, TippyInstance, TIPPY_REF, TIPPY_CONFIG } from './lib/tippy.types';