@ngneat/helipopper 5.0.1 → 5.1.2

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.
@@ -20,6 +20,7 @@ export class TippyDirective {
20
20
  this.onlyTextOverflow = false;
21
21
  this.useHostWidth = false;
22
22
  this.hideOnEscape = false;
23
+ this.detectChangesComponent = true;
23
24
  this.visible = new EventEmitter();
24
25
  this.isVisible = false;
25
26
  this.destroyed = new Subject();
@@ -65,6 +66,8 @@ export class TippyDirective {
65
66
  }
66
67
  }
67
68
  ngAfterViewInit() {
69
+ if (isPlatformServer(this.platformId))
70
+ return;
68
71
  this.zone.runOutsideAngular(() => {
69
72
  if (this.lazy) {
70
73
  if (this.onlyTextOverflow) {
@@ -216,6 +219,10 @@ export class TippyDirective {
216
219
  vcr: this.vcr,
217
220
  ...this.viewOptions$
218
221
  });
222
+ // We need to call detectChanges for onPush components to update the content
223
+ if (this.detectChangesComponent && isComponent(this.content)) {
224
+ this.viewRef.detectChanges();
225
+ }
219
226
  let content = this.viewRef.getElement();
220
227
  if (isString(content) && this.globalConfig.beforeRender) {
221
228
  content = this.globalConfig.beforeRender(content);
@@ -270,7 +277,7 @@ export class TippyDirective {
270
277
  }
271
278
  }
272
279
  TippyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, deps: [{ token: PLATFORM_ID }, { token: TIPPY_CONFIG }, { token: i0.Injector }, { token: i1.ViewService }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
273
- TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
280
+ TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", detectChangesComponent: "detectChangesComponent", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
274
281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, decorators: [{
275
282
  type: Directive,
276
283
  args: [{
@@ -328,6 +335,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
328
335
  type: Input
329
336
  }], hideOnEscape: [{
330
337
  type: Input
338
+ }], detectChangesComponent: [{
339
+ type: Input
331
340
  }], content: [{
332
341
  type: Input,
333
342
  args: ['tippy']
@@ -342,4 +351,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
342
351
  function isChanged(key, changes) {
343
352
  return key in changes;
344
353
  }
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi90aXBweS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFNWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxVQUFVLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBOEMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekcsT0FBTyxFQUFhLFlBQVksRUFBRSxTQUFTLEVBQTBDLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0csTUFBTSxPQUFPLGNBQWM7SUFxQ3pCLFlBQytCLFVBQWtCLEVBQ2pCLFlBQXlCLEVBQy9DLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLEdBQXFCLEVBQ3JCLElBQVksRUFDWixPQUFtQjtRQU5FLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FB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QkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNNLFVBQVU7c0JBQTdCLEtBQUs7dUJBQUMsV0FBVztnQkFFUixPQUFPO3NCQUFoQixNQUFNO2dCQUNTLFNBQVM7c0JBQXhCLEtBQUs7O0FBdVNSLFNBQVMsU0FBUyxDQUFJLEdBQVksRUFBRSxPQUFVO0lBQzVDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNDb21wb25lbnQsIGlzU3RyaW5nLCBpc1RlbXBsYXRlUmVmLCBWaWV3U2VydmljZSwgVmlld09wdGlvbnMsIFZpZXdSZWYsIENvbnRlbnQgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcblxuaW1wb3J0IHsgZGltZW5zaW9uc0NoYW5nZXMsIGluVmlldywgbm9ybWFsaXplQ2xhc3NOYW1lLCBvbmx5VGlwcHlQcm9wcywgb3ZlcmZsb3dDaGFuZ2VzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFRJUFBZX0NPTkZJRywgVElQUFlfUkVGLCBUaXBweUNvbmZpZywgVGlwcHlJbnN0YW5jZSwgVGlwcHlQcm9wcyB9IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbdGlwcHldJyxcbiAgZXhwb3J0QXM6ICd0aXBweSdcbn0pXG5leHBvcnQgY2xhc3MgVGlwcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgYXBwZW5kVG86IFRpcHB5UHJvcHNbJ2FwcGVuZFRvJ107XG4gIEBJbnB1dCgpIGRlbGF5OiBUaXBweVByb3BzWydkZWxheSddO1xuICBASW5wdXQoKSBkdXJhdGlvbjogVGlwcHlQcm9wc1snZHVyYXRpb24nXTtcbiAgQElucHV0KCkgaGlkZU9uQ2xpY2s6IFRpcHB5UHJvcHNbJ2hpZGVPbkNsaWNrJ107XG4gIEBJbnB1dCgpIGludGVyYWN0aXZlOiBUaXBweVByb3BzWydpbnRlcmFjdGl2ZSddO1xuICBASW5wdXQoKSBpbnRlcmFjdGl2ZUJvcmRlcjogVGlwcHlQcm9wc1snaW50ZXJhY3RpdmVCb3JkZXInXTtcbiAgQElucHV0KCkgbWF4V2lkdGg6IFRpcHB5UHJvcHNbJ21heFdpZHRoJ107XG4gIEBJbnB1dCgpIG9mZnNldDogVGlwcHlQcm9wc1snb2Zmc2V0J107XG4gIEBJbnB1dCgpIHBsYWNlbWVudDogVGlwcHlQcm9wc1sncGxhY2VtZW50J107XG4gIEBJbnB1dCgpIHBvcHBlck9wdGlvbnM6IFRpcHB5UHJvcHNbJ3BvcHBlck9wdGlvbnMnXTtcbiAgQElucHV0KCkgc2hvd09uQ3JlYXRlOiBUaXBweVByb3BzWydzaG93T25DcmVhdGUnXTtcbiAgQElucHV0KCkgdHJpZ2dlcjogVGlwcHlQcm9wc1sndHJpZ2dlciddO1xuICBASW5wdXQoKSB0cmlnZ2VyVGFyZ2V0OiBUaXBweVByb3BzWyd0cmlnZ2VyVGFyZ2V0J107XG4gIEBJbnB1dCgpIHpJbmRleDogVGlwcHlQcm9wc1snekluZGV4J107XG5cbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbjtcbiAgQElucHV0KCkgdmFyaWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgQElucHV0KCkgb25seVRleHRPdmVyZmxvdyA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIHVzZUhvc3RXaWR0aCA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlT25Fc2NhcGUgPSBmYWxzZTtcbiAgQElucHV0KCd0aXBweScpIGNvbnRlbnQ6IENvbnRlbnQ7XG4gIEBJbnB1dCgndGlwcHlIb3N0JykgY3VzdG9tSG9zdDogSFRNTEVsZW1lbnQ7XG5cbiAgQE91dHB1dCgpIHZpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwcml2YXRlIGluc3RhbmNlOiBUaXBweUluc3RhbmNlO1xuICBwcml2YXRlIHZpZXdSZWY6IFZpZXdSZWY7XG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwcm9wczogUGFydGlhbDxUaXBweUNvbmZpZz47XG4gIHByaXZhdGUgZW5hYmxlZCA9IHRydWU7XG4gIHByaXZhdGUgdmFyaWF0aW9uRGVmaW5lZCA9IGZhbHNlO1xuICBwcml2YXRlIHZpZXdPcHRpb25zJDogVmlld09wdGlvbnM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgIEBJbmplY3QoVElQUFlfQ09ORklHKSBwcml2YXRlIGdsb2JhbENvbmZpZzogVGlwcHlDb25maWcsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSB2aWV3U2VydmljZTogVmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBob3N0UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+KSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgbGV0IHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPiA9IE9iamVjdC5rZXlzKGNoYW5nZXMpLnJlZHVjZSgoYWNjLCBjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICdpc1Zpc2libGUnKSByZXR1cm4gYWNjO1xuXG4gICAgICBhY2NbY2hhbmdlXSA9IGNoYW5nZXNbY2hhbmdlXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgbGV0IHZhcmlhdGlvbjogc3RyaW5nO1xuXG4gICAgaWYgKGlzQ2hhbmdlZDxOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+PigndmFyaWF0aW9uJywgY2hhbmdlcykpIHtcbiAgICAgIHZhcmlhdGlvbiA9IGNoYW5nZXMudmFyaWF0aW9uLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMudmFyaWF0aW9uRGVmaW5lZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghdGhpcy52YXJpYXRpb25EZWZpbmVkKSB7XG4gICAgICB2YXJpYXRpb24gPSB0aGlzLmdsb2JhbENvbmZpZy5kZWZhdWx0VmFyaWF0aW9uO1xuICAgICAgdGhpcy52YXJpYXRpb25EZWZpbmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFyaWF0aW9uKSB7XG4gICAgICBwcm9wcyA9IHtcbiAgICAgICAgLi4udGhpcy5nbG9iYWxDb25maWcudmFyaWF0aW9uc1t2YXJpYXRpb25dLFxuICAgICAgICAuLi5wcm9wc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc0VuYWJsZWQnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5lbmFibGVkID0gY2hhbmdlcy5pc0VuYWJsZWQuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5zZXRTdGF0dXMoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc1Zpc2libGUnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0UHJvcHMoey4uLnRoaXMucHJvcHMsIC4uLnByb3BzfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy51c2VIb3N0V2lkdGgpIHtcbiAgICAgIHRoaXMucHJvcHMubWF4V2lkdGggPSB0aGlzLmhvc3RXaWR0aDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgaWYgKHRoaXMub25seVRleHRPdmVyZmxvdykge1xuICAgICAgICAgIGluVmlldyh0aGlzLmhvc3QpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IG92ZXJmbG93Q2hhbmdlcyh0aGlzLmhvc3QpKSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShpc0VsZW1lbnRPdmVyZmxvdyA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tPdmVyZmxvdyhpc0VsZW1lbnRPdmVyZmxvdyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpblZpZXcodGhpcy5ob3N0KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLm9ubHlUZXh0T3ZlcmZsb3cpIHtcbiAgICAgICAgb3ZlcmZsb3dDaGFuZ2VzKHRoaXMuaG9zdClcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoaXNFbGVtZW50T3ZlcmZsb3cgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KGlzRWxlbWVudE92ZXJmbG93KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmluc3RhbmNlPy5kZXN0cm95KCk7XG4gICAgdGhpcy5kZXN0cm95VmlldygpO1xuICB9XG5cbiAgZGVzdHJveVZpZXcoKSB7XG4gICAgdGhpcy52aWV3T3B0aW9ucyQgPSBudWxsO1xuICAgIHRoaXMudmlld1JlZj8uZGVzdHJveSgpO1xuICAgIHRoaXMudmlld1JlZiA9IG51bGw7XG4gIH1cblxuICBzaG93KCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LnNob3coKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uaGlkZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LmVuYWJsZSgpO1xuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmluc3RhbmNlPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFByb3BzKHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPikge1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmluc3RhbmNlPy5zZXRQcm9wcyhvbmx5VGlwcHlQcm9wcyhwcm9wcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdGF0dXMoKSB7XG4gICAgdGhpcy5lbmFibGVkID8gdGhpcy5pbnN0YW5jZT8uZW5hYmxlKCkgOiB0aGlzLmluc3RhbmNlPy5kaXNhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21Ib3N0IHx8IHRoaXMuaG9zdFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaG9zdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUluc3RhbmNlKCkge1xuICAgIGlmICh0aGlzLmNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLmluc3RhbmNlID0gdGlwcHkodGhpcy5ob3N0LCB7XG4gICAgICAgIGFsbG93SFRNTDogdHJ1ZSxcbiAgICAgICAgYXBwZW5kVG86IGRvY3VtZW50LmJvZHksXG4gICAgICAgIC4uLm9ubHlUaXBweVByb3BzKHRoaXMuZ2xvYmFsQ29uZmlnKSxcbiAgICAgICAgLi4ub25seVRpcHB5UHJvcHModGhpcy5wcm9wcyksXG4gICAgICAgIG9uTW91bnQ6IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgdGhpcy52aXNpYmxlLm5leHQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy51c2VIb3N0V2lkdGggJiYgdGhpcy5saXN0ZW5Ub0hvc3RSZXNpemUoKTtcbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbk1vdW50Py4oaW5zdGFuY2UpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNyZWF0ZTogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmNsYXNzTmFtZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrbGFzcyBvZiBub3JtYWxpemVDbGFzc05hbWUodGhpcy5jbGFzc05hbWUpKSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5jbGFzc0xpc3QuYWRkKGtsYXNzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25DcmVhdGU/LihpbnN0YW5jZSk7XG4gICAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5zaG93KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblNob3c6IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc29sdmVDb250ZW50KCk7XG4gICAgICAgICAgICBpZiAoaXNTdHJpbmcoY29udGVudCkpIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2Uuc2V0UHJvcHMoeyBhbGxvd0hUTUw6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5zdGFuY2Uuc2V0Q29udGVudChjb250ZW50KTtcbiAgICAgICAgICAgIHRoaXMuaGlkZU9uRXNjYXBlICYmIHRoaXMuaGFuZGxlRXNjYXBlQnV0dG9uKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHRoaXMudXNlSG9zdFdpZHRoKSB7XG4gICAgICAgICAgICAvLyBEb24ndCBhY2Nlc3MgYGhvc3RXaWR0aGAgbXVsdGlwbGUgdGltZXMgc2luY2UgaXQncyBhIGdldHRlciB0aGF0IGNhbGxzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKWAsXG4gICAgICAgICAgICAvLyB3aGljaCB0cmlnZ2VycyB0aGUgd2hvbGUgbGF5b3V0IHVwZGF0ZS5cbiAgICAgICAgICAgIGNvbnN0IGhvc3RXaWR0aCA9IHRoaXMuaG9zdFdpZHRoO1xuICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLnN0eWxlLndpZHRoID0gaG9zdFdpZHRoO1xuICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLnN0eWxlLm1heFdpZHRoID0gaG9zdFdpZHRoO1xuICAgICAgICAgICAgKGluc3RhbmNlLnBvcHBlci5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudCkuc3R5bGUubWF4V2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZ2xvYmFsQ29uZmlnLm9uU2hvdz8uKGluc3RhbmNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25IaWRkZW46IGluc3RhbmNlID0+IHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25IaWRkZW4/LihpbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNldFN0YXR1cygpO1xuICAgICAgdGhpcy5zZXRQcm9wcyh0aGlzLnByb3BzKTtcblxuICAgICAgdGhpcy52YXJpYXRpb24gPT09ICdjb250ZXh0TWVudScgJiYgdGhpcy5oYW5kbGVDb250ZXh0TWVudSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ29udGVudCgpIHtcbiAgICBpZiAoIXRoaXMudmlld09wdGlvbnMkICYmICFpc1N0cmluZyh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICBpZiAoaXNDb21wb25lbnQodGhpcy5jb250ZW50KSkge1xuICAgICAgICB0aGlzLmluc3RhbmNlLmRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMudmlld09wdGlvbnMkID0ge1xuICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUSVBQWV9SRUYsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuaW5zdGFuY2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvclxuICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKGlzVGVtcGxhdGVSZWYodGhpcy5jb250ZW50KSkge1xuICAgICAgICB0aGlzLnZpZXdPcHRpb25zJCA9IHtcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5kYXRhXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld1NlcnZpY2UuY3JlYXRlVmlldyh0aGlzLmNvbnRlbnQsIHtcbiAgICAgIHZjcjogdGhpcy52Y3IsXG4gICAgICAuLi50aGlzLnZpZXdPcHRpb25zJFxuICAgIH0pO1xuXG4gICAgbGV0IGNvbnRlbnQgPSB0aGlzLnZpZXdSZWYuZ2V0RWxlbWVudCgpO1xuXG4gICAgaWYgKGlzU3RyaW5nKGNvbnRlbnQpICYmIHRoaXMuZ2xvYmFsQ29uZmlnLmJlZm9yZVJlbmRlcikge1xuICAgICAgY29udGVudCA9IHRoaXMuZ2xvYmFsQ29uZmlnLmJlZm9yZVJlbmRlcihjb250ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ29udGV4dE1lbnUoKSB7XG4gICAgZnJvbUV2ZW50KHRoaXMuaG9zdCwgJ2NvbnRleHRtZW51JylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2Uuc2V0UHJvcHMoe1xuICAgICAgICAgIGdldFJlZmVyZW5jZUNsaWVudFJlY3Q6ICgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICB0b3A6IGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgICAgIGJvdHRvbTogZXZlbnQuY2xpZW50WSxcbiAgICAgICAgICAgICAgbGVmdDogZXZlbnQuY2xpZW50WCxcbiAgICAgICAgICAgICAgcmlnaHQ6IGV2ZW50LmNsaWVudFhcbiAgICAgICAgICAgIH0gYXMgYW55KVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnNob3coKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFc2NhcGVCdXR0b24oKSB7XG4gICAgdGhpcy5wcmVzc0J1dHRvbiQoZG9jdW1lbnQuYm9keSwgJ0VzY2FwZScpXG4gICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95ZWQsIHRoaXMudmlzaWJsZS5waXBlKGZpbHRlcih2ID0+ICF2KSkpKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oaWRlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVzc0J1dHRvbiQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvZGVCdXR0b246IHN0cmluZykge1xuICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ2tleWRvd24nKS5waXBlKGZpbHRlcigoeyBjb2RlIH06IEtleWJvYXJkRXZlbnQpID0+IGNvZGVCdXR0b24gPT09IGNvZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tPdmVyZmxvdyhpc0VsZW1lbnRPdmVyZmxvdzogYm9vbGVhbikge1xuICAgIGlmIChpc0VsZW1lbnRPdmVyZmxvdykge1xuICAgICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvSG9zdFJlc2l6ZSgpIHtcbiAgICBkaW1lbnNpb25zQ2hhbmdlcyh0aGlzLmhvc3QpXG4gICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95ZWQsIHRoaXMudmlzaWJsZSkpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UucG9wcGVyLnN0eWxlLndpZHRoID0gdGhpcy5ob3N0V2lkdGg7XG4gICAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NoYW5nZWQ8VD4oa2V5OiBrZXlvZiBULCBjaGFuZ2VzOiBUKSB7XG4gIHJldHVybiBrZXkgaW4gY2hhbmdlcztcbn1cbiJdfQ==
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmduZWF0L2hlbGlwb3BwZXIvc3JjL2xpYi90aXBweS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFNWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEtBQUssTUFBTSxVQUFVLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBOEMsTUFBTSxrQkFBa0IsQ0FBQztBQUVwSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekcsT0FBTyxFQUFhLFlBQVksRUFBRSxTQUFTLEVBQTBDLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0csTUFBTSxPQUFPLGNBQWM7SUF1Q3pCLFlBQytCLFVBQWtCLEVBQ2pCLFlBQXlCLEVBQy9DLFFBQWtCLEVBQ2xCLFdBQXdCLEVBQ3hCLEdBQXFCLEVBQ3JCLElBQVksRUFDWixPQUFtQjtRQU5FLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDL0MsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixRQUFHLEdBQUgsR0FB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aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNDb21wb25lbnQsIGlzU3RyaW5nLCBpc1RlbXBsYXRlUmVmLCBWaWV3U2VydmljZSwgVmlld09wdGlvbnMsIFZpZXdSZWYsIENvbnRlbnQgfSBmcm9tICdAbmduZWF0L292ZXJ2aWV3JztcblxuaW1wb3J0IHsgZGltZW5zaW9uc0NoYW5nZXMsIGluVmlldywgbm9ybWFsaXplQ2xhc3NOYW1lLCBvbmx5VGlwcHlQcm9wcywgb3ZlcmZsb3dDaGFuZ2VzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBOZ0NoYW5nZXMsIFRJUFBZX0NPTkZJRywgVElQUFlfUkVGLCBUaXBweUNvbmZpZywgVGlwcHlJbnN0YW5jZSwgVGlwcHlQcm9wcyB9IGZyb20gJy4vdGlwcHkudHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbdGlwcHldJyxcbiAgZXhwb3J0QXM6ICd0aXBweSdcbn0pXG5leHBvcnQgY2xhc3MgVGlwcHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgYXBwZW5kVG86IFRpcHB5UHJvcHNbJ2FwcGVuZFRvJ107XG4gIEBJbnB1dCgpIGRlbGF5OiBUaXBweVByb3BzWydkZWxheSddO1xuICBASW5wdXQoKSBkdXJhdGlvbjogVGlwcHlQcm9wc1snZHVyYXRpb24nXTtcbiAgQElucHV0KCkgaGlkZU9uQ2xpY2s6IFRpcHB5UHJvcHNbJ2hpZGVPbkNsaWNrJ107XG4gIEBJbnB1dCgpIGludGVyYWN0aXZlOiBUaXBweVByb3BzWydpbnRlcmFjdGl2ZSddO1xuICBASW5wdXQoKSBpbnRlcmFjdGl2ZUJvcmRlcjogVGlwcHlQcm9wc1snaW50ZXJhY3RpdmVCb3JkZXInXTtcbiAgQElucHV0KCkgbWF4V2lkdGg6IFRpcHB5UHJvcHNbJ21heFdpZHRoJ107XG4gIEBJbnB1dCgpIG9mZnNldDogVGlwcHlQcm9wc1snb2Zmc2V0J107XG4gIEBJbnB1dCgpIHBsYWNlbWVudDogVGlwcHlQcm9wc1sncGxhY2VtZW50J107XG4gIEBJbnB1dCgpIHBvcHBlck9wdGlvbnM6IFRpcHB5UHJvcHNbJ3BvcHBlck9wdGlvbnMnXTtcbiAgQElucHV0KCkgc2hvd09uQ3JlYXRlOiBUaXBweVByb3BzWydzaG93T25DcmVhdGUnXTtcbiAgQElucHV0KCkgdHJpZ2dlcjogVGlwcHlQcm9wc1sndHJpZ2dlciddO1xuICBASW5wdXQoKSB0cmlnZ2VyVGFyZ2V0OiBUaXBweVByb3BzWyd0cmlnZ2VyVGFyZ2V0J107XG4gIEBJbnB1dCgpIHpJbmRleDogVGlwcHlQcm9wc1snekluZGV4J107XG5cbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbjtcbiAgQElucHV0KCkgdmFyaWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgQElucHV0KCkgb25seVRleHRPdmVyZmxvdyA9IGZhbHNlO1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG4gIEBJbnB1dCgpIHVzZUhvc3RXaWR0aCA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlT25Fc2NhcGUgPSBmYWxzZTtcbiAgQElucHV0KCkgZGV0ZWN0Q2hhbmdlc0NvbXBvbmVudCA9IHRydWU7XG5cbiAgQElucHV0KCd0aXBweScpIGNvbnRlbnQ6IENvbnRlbnQ7XG4gIEBJbnB1dCgndGlwcHlIb3N0JykgY3VzdG9tSG9zdDogSFRNTEVsZW1lbnQ7XG5cbiAgQE91dHB1dCgpIHZpc2libGUgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwcml2YXRlIGluc3RhbmNlOiBUaXBweUluc3RhbmNlO1xuICBwcml2YXRlIHZpZXdSZWY6IFZpZXdSZWY7XG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBwcm9wczogUGFydGlhbDxUaXBweUNvbmZpZz47XG4gIHByaXZhdGUgZW5hYmxlZCA9IHRydWU7XG4gIHByaXZhdGUgdmFyaWF0aW9uRGVmaW5lZCA9IGZhbHNlO1xuICBwcml2YXRlIHZpZXdPcHRpb25zJDogVmlld09wdGlvbnM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogc3RyaW5nLFxuICAgIEBJbmplY3QoVElQUFlfQ09ORklHKSBwcml2YXRlIGdsb2JhbENvbmZpZzogVGlwcHlDb25maWcsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSB2aWV3U2VydmljZTogVmlld1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBob3N0UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+KSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuXG4gICAgbGV0IHByb3BzOiBQYXJ0aWFsPFRpcHB5Q29uZmlnPiA9IE9iamVjdC5rZXlzKGNoYW5nZXMpLnJlZHVjZSgoYWNjLCBjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICdpc1Zpc2libGUnKSByZXR1cm4gYWNjO1xuXG4gICAgICBhY2NbY2hhbmdlXSA9IGNoYW5nZXNbY2hhbmdlXS5jdXJyZW50VmFsdWU7XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgbGV0IHZhcmlhdGlvbjogc3RyaW5nO1xuXG4gICAgaWYgKGlzQ2hhbmdlZDxOZ0NoYW5nZXM8VGlwcHlEaXJlY3RpdmU+PigndmFyaWF0aW9uJywgY2hhbmdlcykpIHtcbiAgICAgIHZhcmlhdGlvbiA9IGNoYW5nZXMudmFyaWF0aW9uLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMudmFyaWF0aW9uRGVmaW5lZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghdGhpcy52YXJpYXRpb25EZWZpbmVkKSB7XG4gICAgICB2YXJpYXRpb24gPSB0aGlzLmdsb2JhbENvbmZpZy5kZWZhdWx0VmFyaWF0aW9uO1xuICAgICAgdGhpcy52YXJpYXRpb25EZWZpbmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFyaWF0aW9uKSB7XG4gICAgICBwcm9wcyA9IHtcbiAgICAgICAgLi4udGhpcy5nbG9iYWxDb25maWcudmFyaWF0aW9uc1t2YXJpYXRpb25dLFxuICAgICAgICAuLi5wcm9wc1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc0VuYWJsZWQnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5lbmFibGVkID0gY2hhbmdlcy5pc0VuYWJsZWQuY3VycmVudFZhbHVlO1xuICAgICAgdGhpcy5zZXRTdGF0dXMoKTtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFuZ2VkPE5nQ2hhbmdlczxUaXBweURpcmVjdGl2ZT4+KCdpc1Zpc2libGUnLCBjaGFuZ2VzKSkge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPyB0aGlzLnNob3coKSA6IHRoaXMuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0UHJvcHMoeyAuLi50aGlzLnByb3BzLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnVzZUhvc3RXaWR0aCkge1xuICAgICAgdGhpcy5wcm9wcy5tYXhXaWR0aCA9IHRoaXMuaG9zdFdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICBpZiAodGhpcy5vbmx5VGV4dE92ZXJmbG93KSB7XG4gICAgICAgICAgaW5WaWV3KHRoaXMuaG9zdClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gb3ZlcmZsb3dDaGFuZ2VzKHRoaXMuaG9zdCkpLFxuICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGlzRWxlbWVudE92ZXJmbG93ID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5jaGVja092ZXJmbG93KGlzRWxlbWVudE92ZXJmbG93KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluVmlldyh0aGlzLmhvc3QpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMub25seVRleHRPdmVyZmxvdykge1xuICAgICAgICBvdmVyZmxvd0NoYW5nZXModGhpcy5ob3N0KVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgLnN1YnNjcmliZShpc0VsZW1lbnRPdmVyZmxvdyA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrT3ZlcmZsb3coaXNFbGVtZW50T3ZlcmZsb3cpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVhdGVJbnN0YW5jZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuaW5zdGFuY2U/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gIH1cblxuICBkZXN0cm95VmlldygpIHtcbiAgICB0aGlzLnZpZXdPcHRpb25zJCA9IG51bGw7XG4gICAgdGhpcy52aWV3UmVmPy5kZXN0cm95KCk7XG4gICAgdGhpcy52aWV3UmVmID0gbnVsbDtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uc2hvdygpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmluc3RhbmNlPy5oaWRlKCk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgdGhpcy5pbnN0YW5jZT8uZW5hYmxlKCk7XG4gIH1cblxuICBkaXNhYmxlKCkge1xuICAgIHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJvcHMocHJvcHM6IFBhcnRpYWw8VGlwcHlDb25maWc+KSB7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuaW5zdGFuY2U/LnNldFByb3BzKG9ubHlUaXBweVByb3BzKHByb3BzKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFN0YXR1cygpIHtcbiAgICB0aGlzLmVuYWJsZWQgPyB0aGlzLmluc3RhbmNlPy5lbmFibGUoKSA6IHRoaXMuaW5zdGFuY2U/LmRpc2FibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUhvc3QgfHwgdGhpcy5ob3N0UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBob3N0V2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5ob3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofXB4YDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5zdGFuY2UoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuaW5zdGFuY2UgPSB0aXBweSh0aGlzLmhvc3QsIHtcbiAgICAgICAgYWxsb3dIVE1MOiB0cnVlLFxuICAgICAgICBhcHBlbmRUbzogZG9jdW1lbnQuYm9keSxcbiAgICAgICAgLi4ub25seVRpcHB5UHJvcHModGhpcy5nbG9iYWxDb25maWcpLFxuICAgICAgICAuLi5vbmx5VGlwcHlQcm9wcyh0aGlzLnByb3BzKSxcbiAgICAgICAgb25Nb3VudDogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnZpc2libGUubmV4dCh0cnVlKTtcbiAgICAgICAgICB0aGlzLnVzZUhvc3RXaWR0aCAmJiB0aGlzLmxpc3RlblRvSG9zdFJlc2l6ZSgpO1xuICAgICAgICAgIHRoaXMuZ2xvYmFsQ29uZmlnLm9uTW91bnQ/LihpbnN0YW5jZSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ3JlYXRlOiBpbnN0YW5jZSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIG5vcm1hbGl6ZUNsYXNzTmFtZSh0aGlzLmNsYXNzTmFtZSkpIHtcbiAgICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLmNsYXNzTGlzdC5hZGQoa2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbkNyZWF0ZT8uKGluc3RhbmNlKTtcbiAgICAgICAgICBpZiAodGhpcy5pc1Zpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnNob3coKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uU2hvdzogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMucmVzb2x2ZUNvbnRlbnQoKTtcbiAgICAgICAgICAgIGlmIChpc1N0cmluZyhjb250ZW50KSkge1xuICAgICAgICAgICAgICBpbnN0YW5jZS5zZXRQcm9wcyh7IGFsbG93SFRNTDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnN0YW5jZS5zZXRDb250ZW50KGNvbnRlbnQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlT25Fc2NhcGUgJiYgdGhpcy5oYW5kbGVFc2NhcGVCdXR0b24oKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAodGhpcy51c2VIb3N0V2lkdGgpIHtcbiAgICAgICAgICAgIC8vIERvbid0IGFjY2VzcyBgaG9zdFdpZHRoYCBtdWx0aXBsZSB0aW1lcyBzaW5jZSBpdCdzIGEgZ2V0dGVyIHRoYXQgY2FsbHMgYGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpYCxcbiAgICAgICAgICAgIC8vIHdoaWNoIHRyaWdnZXJzIHRoZSB3aG9sZSBsYXlvdXQgdXBkYXRlLlxuICAgICAgICAgICAgY29uc3QgaG9zdFdpZHRoID0gdGhpcy5ob3N0V2lkdGg7XG4gICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuc3R5bGUud2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgICBpbnN0YW5jZS5wb3BwZXIuc3R5bGUubWF4V2lkdGggPSBob3N0V2lkdGg7XG4gICAgICAgICAgICAoaW5zdGFuY2UucG9wcGVyLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5tYXhXaWR0aCA9IGhvc3RXaWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5nbG9iYWxDb25maWcub25TaG93Py4oaW5zdGFuY2UpO1xuICAgICAgICB9LFxuICAgICAgICBvbkhpZGRlbjogaW5zdGFuY2UgPT4ge1xuICAgICAgICAgIHRoaXMuZGVzdHJveVZpZXcoKTtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMudmlzaWJsZS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB0aGlzLmdsb2JhbENvbmZpZy5vbkhpZGRlbj8uKGluc3RhbmNlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2V0U3RhdHVzKCk7XG4gICAgICB0aGlzLnNldFByb3BzKHRoaXMucHJvcHMpO1xuXG4gICAgICB0aGlzLnZhcmlhdGlvbiA9PT0gJ2NvbnRleHRNZW51JyAmJiB0aGlzLmhhbmRsZUNvbnRleHRNZW51KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDb250ZW50KCkge1xuICAgIGlmICghdGhpcy52aWV3T3B0aW9ucyQgJiYgIWlzU3RyaW5nKHRoaXMuY29udGVudCkpIHtcbiAgICAgIGlmIChpc0NvbXBvbmVudCh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgdGhpcy52aWV3T3B0aW9ucyQgPSB7XG4gICAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRJUFBZX1JFRixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogdGhpcy5pbnN0YW5jZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yXG4gICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoaXNUZW1wbGF0ZVJlZih0aGlzLmNvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMudmlld09wdGlvbnMkID0ge1xuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5oaWRlLmJpbmQodGhpcyksXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmRhdGFcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3U2VydmljZS5jcmVhdGVWaWV3KHRoaXMuY29udGVudCwge1xuICAgICAgdmNyOiB0aGlzLnZjcixcbiAgICAgIC4uLnRoaXMudmlld09wdGlvbnMkXG4gICAgfSk7XG5cbiAgICAvLyBXZSBuZWVkIHRvIGNhbGwgZGV0ZWN0Q2hhbmdlcyBmb3Igb25QdXNoIGNvbXBvbmVudHMgdG8gdXBkYXRlIHRoZSBjb250ZW50XG4gICAgaWYgKHRoaXMuZGV0ZWN0Q2hhbmdlc0NvbXBvbmVudCAmJiBpc0NvbXBvbmVudCh0aGlzLmNvbnRlbnQpKSB7XG4gICAgICB0aGlzLnZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGxldCBjb250ZW50ID0gdGhpcy52aWV3UmVmLmdldEVsZW1lbnQoKTtcblxuICAgIGlmIChpc1N0cmluZyhjb250ZW50KSAmJiB0aGlzLmdsb2JhbENvbmZpZy5iZWZvcmVSZW5kZXIpIHtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLmdsb2JhbENvbmZpZy5iZWZvcmVSZW5kZXIoY29udGVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbnRleHRNZW51KCkge1xuICAgIGZyb21FdmVudCh0aGlzLmhvc3QsICdjb250ZXh0bWVudScpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICB0aGlzLmluc3RhbmNlLnNldFByb3BzKHtcbiAgICAgICAgICBnZXRSZWZlcmVuY2VDbGllbnRSZWN0OiAoKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgdG9wOiBldmVudC5jbGllbnRZLFxuICAgICAgICAgICAgICBib3R0b206IGV2ZW50LmNsaWVudFksXG4gICAgICAgICAgICAgIGxlZnQ6IGV2ZW50LmNsaWVudFgsXG4gICAgICAgICAgICAgIHJpZ2h0OiBldmVudC5jbGllbnRYXG4gICAgICAgICAgICB9IGFzIERPTVJlY3RSZWFkT25seSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zaG93KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXNjYXBlQnV0dG9uKCkge1xuICAgIHRoaXMucHJlc3NCdXR0b24kKGRvY3VtZW50LmJvZHksICdFc2NhcGUnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuZGVzdHJveWVkLCB0aGlzLnZpc2libGUucGlwZShmaWx0ZXIodiA9PiAhdikpKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGlkZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlc3NCdXR0b24kKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb2RlQnV0dG9uOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KGVsZW1lbnQsICdrZXlkb3duJykucGlwZShmaWx0ZXIoKHsgY29kZSB9OiBLZXlib2FyZEV2ZW50KSA9PiBjb2RlQnV0dG9uID09PSBjb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrT3ZlcmZsb3coaXNFbGVtZW50T3ZlcmZsb3c6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNFbGVtZW50T3ZlcmZsb3cpIHtcbiAgICAgIGlmICghdGhpcy5pbnN0YW5jZSkge1xuICAgICAgICB0aGlzLmNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmluc3RhbmNlLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluc3RhbmNlPy5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0hvc3RSZXNpemUoKSB7XG4gICAgZGltZW5zaW9uc0NoYW5nZXModGhpcy5ob3N0KVxuICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuZGVzdHJveWVkLCB0aGlzLnZpc2libGUpKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmluc3RhbmNlLnBvcHBlci5zdHlsZS53aWR0aCA9IHRoaXMuaG9zdFdpZHRoO1xuICAgICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNDaGFuZ2VkPFQ+KGtleToga2V5b2YgVCwgY2hhbmdlczogVCkge1xuICByZXR1cm4ga2V5IGluIGNoYW5nZXM7XG59XG4iXX0=
@@ -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
  });
@@ -116,6 +120,7 @@ class TippyDirective {
116
120
  this.onlyTextOverflow = false;
117
121
  this.useHostWidth = false;
118
122
  this.hideOnEscape = false;
123
+ this.detectChangesComponent = true;
119
124
  this.visible = new EventEmitter();
120
125
  this.isVisible = false;
121
126
  this.destroyed = new Subject();
@@ -158,6 +163,8 @@ class TippyDirective {
158
163
  }
159
164
  }
160
165
  ngAfterViewInit() {
166
+ if (isPlatformServer(this.platformId))
167
+ return;
161
168
  this.zone.runOutsideAngular(() => {
162
169
  if (this.lazy) {
163
170
  if (this.onlyTextOverflow) {
@@ -309,6 +316,10 @@ class TippyDirective {
309
316
  }
310
317
  }
311
318
  this.viewRef = this.viewService.createView(this.content, Object.assign({ vcr: this.vcr }, this.viewOptions$));
319
+ // We need to call detectChanges for onPush components to update the content
320
+ if (this.detectChangesComponent && isComponent(this.content)) {
321
+ this.viewRef.detectChanges();
322
+ }
312
323
  let content = this.viewRef.getElement();
313
324
  if (isString$1(content) && this.globalConfig.beforeRender) {
314
325
  content = this.globalConfig.beforeRender(content);
@@ -364,7 +375,7 @@ class TippyDirective {
364
375
  }
365
376
  }
366
377
  TippyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, deps: [{ token: PLATFORM_ID }, { token: TIPPY_CONFIG }, { token: i0.Injector }, { token: i1.ViewService }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
367
- TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
378
+ TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", detectChangesComponent: "detectChangesComponent", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
368
379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, decorators: [{
369
380
  type: Directive,
370
381
  args: [{
@@ -424,6 +435,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
424
435
  type: Input
425
436
  }], hideOnEscape: [{
426
437
  type: Input
438
+ }], detectChangesComponent: [{
439
+ type: Input
427
440
  }], content: [{
428
441
  type: Input,
429
442
  args: ['tippy']
@@ -510,14 +523,18 @@ class TippyService {
510
523
  });
511
524
  }
512
525
  }
513
- instance.view = this.view.createView(content, Object.assign(Object.assign({}, options), instance.$viewOptions));
526
+ if (!instance.view) {
527
+ instance.view = this.view.createView(content, Object.assign(Object.assign({}, options), instance.$viewOptions));
528
+ }
514
529
  instance.setContent(instance.view.getElement());
515
530
  (_a = options === null || options === void 0 ? void 0 : options.onShow) === null || _a === void 0 ? void 0 : _a.call(options, instance);
516
531
  }, onHidden: instance => {
517
532
  var _a;
518
- instance.view.destroy();
533
+ if (!options.preserveView) {
534
+ instance.view.destroy();
535
+ instance.view = null;
536
+ }
519
537
  (_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
538
  } }, onlyTippyProps(this.globalConfig)), this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation]), onlyTippyProps(options)), { onCreate: instance => {
522
539
  var _a, _b, _c;
523
540
  if (options.className) {
@@ -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({...this.props, ...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() detectChangesComponent = true;\n\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 // We need to call detectChanges for onPush components to update the content\n if (this.detectChangesComponent && isComponent(this.content)) {\n this.viewRef.detectChanges();\n }\n\n let content = this.viewRef.getElement();\n\n if (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
  });
@@ -116,6 +120,7 @@ class TippyDirective {
116
120
  this.onlyTextOverflow = false;
117
121
  this.useHostWidth = false;
118
122
  this.hideOnEscape = false;
123
+ this.detectChangesComponent = true;
119
124
  this.visible = new EventEmitter();
120
125
  this.isVisible = false;
121
126
  this.destroyed = new Subject();
@@ -161,6 +166,8 @@ class TippyDirective {
161
166
  }
162
167
  }
163
168
  ngAfterViewInit() {
169
+ if (isPlatformServer(this.platformId))
170
+ return;
164
171
  this.zone.runOutsideAngular(() => {
165
172
  if (this.lazy) {
166
173
  if (this.onlyTextOverflow) {
@@ -312,6 +319,10 @@ class TippyDirective {
312
319
  vcr: this.vcr,
313
320
  ...this.viewOptions$
314
321
  });
322
+ // We need to call detectChanges for onPush components to update the content
323
+ if (this.detectChangesComponent && isComponent(this.content)) {
324
+ this.viewRef.detectChanges();
325
+ }
315
326
  let content = this.viewRef.getElement();
316
327
  if (isString$1(content) && this.globalConfig.beforeRender) {
317
328
  content = this.globalConfig.beforeRender(content);
@@ -366,7 +377,7 @@ class TippyDirective {
366
377
  }
367
378
  }
368
379
  TippyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, deps: [{ token: PLATFORM_ID }, { token: TIPPY_CONFIG }, { token: i0.Injector }, { token: i1.ViewService }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
369
- TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
380
+ TippyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TippyDirective, selector: "[tippy]", inputs: { appendTo: "appendTo", delay: "delay", duration: "duration", hideOnClick: "hideOnClick", interactive: "interactive", interactiveBorder: "interactiveBorder", maxWidth: "maxWidth", offset: "offset", placement: "placement", popperOptions: "popperOptions", showOnCreate: "showOnCreate", trigger: "trigger", triggerTarget: "triggerTarget", zIndex: "zIndex", lazy: "lazy", variation: "variation", isEnabled: "isEnabled", className: "className", onlyTextOverflow: "onlyTextOverflow", data: "data", useHostWidth: "useHostWidth", hideOnEscape: "hideOnEscape", detectChangesComponent: "detectChangesComponent", content: ["tippy", "content"], customHost: ["tippyHost", "customHost"], isVisible: "isVisible" }, outputs: { visible: "visible" }, exportAs: ["tippy"], usesOnChanges: true, ngImport: i0 });
370
381
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TippyDirective, decorators: [{
371
382
  type: Directive,
372
383
  args: [{
@@ -424,6 +435,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
424
435
  type: Input
425
436
  }], hideOnEscape: [{
426
437
  type: Input
438
+ }], detectChangesComponent: [{
439
+ type: Input
427
440
  }], content: [{
428
441
  type: Input,
429
442
  args: ['tippy']
@@ -519,14 +532,18 @@ class TippyService {
519
532
  });
520
533
  }
521
534
  }
522
- instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
535
+ if (!instance.view) {
536
+ instance.view = this.view.createView(content, { ...options, ...instance.$viewOptions });
537
+ }
523
538
  instance.setContent(instance.view.getElement());
524
539
  options?.onShow?.(instance);
525
540
  },
526
541
  onHidden: instance => {
527
- instance.view.destroy();
542
+ if (!options.preserveView) {
543
+ instance.view.destroy();
544
+ instance.view = null;
545
+ }
528
546
  options?.onHidden?.(instance);
529
- instance.view = null;
530
547
  },
531
548
  ...onlyTippyProps(this.globalConfig),
532
549
  ...this.globalConfig.variations[options.variation || this.globalConfig.defaultVariation],
@@ -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({...this.props, ...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":";;;;;;;;;MAyBa,YAAY,GAAG,IAAI,cAAc,CAAuB,cAAc,EAAE;IACnF,UAAU,EAAE,MAAM;IAClB,OAAO;QACL,OAAO,EAAE,CAAC;KACX;CACF,EAAE;MACU,SAAS,GAAG,IAAI,cAAc,CAAgB,WAAW,EAAE;SAcxD,aAAa,CAAC,OAAqB;IACjD,OAAO,OAAO,YAAY,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;AACzE;;ACzCA,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,4BAA4B,GAAG,sBAAsB,IAAI,MAAM,CAAC;IAChE,sBAAsB,GAAG,gBAAgB,IAAI,MAAM,CAAC;CACrD;SAEe,MAAM,CACpB,IAAkB,EAClB,UAAoC;IAClC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,GAAG;CACf;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,IAAI,UAAU,CAAC,UAAU;QAC9B,IAAI,CAAC,4BAA4B,EAAE;YACjC,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO;;YAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,cAAc,EAAE;gBACxB,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;aACvB;SACF,EAAE,OAAO,CAAC,CAAC;QAEZ,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1B,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiB;;IAE1C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;IACzC,OAAO,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;AAChG,CAAC;SAEe,eAAe,CAAC,IAAkB;IAChD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CACpC,SAAS,CAAC,GAAG,CAAC,EACd,GAAG,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CACtC,CAAC;AACJ,CAAC;SAEe,iBAAiB,CAAC,MAAmB;IACnD,OAAO,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAmB;IACjD,OAAO,IAAI,UAAU,CAAC,UAAU;QAC9B,IAAI,CAAC,sBAAsB,EAAE;YAC3B,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;SAEe,cAAc,CAAC,QAAa;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,MAAM,QAAQ,GAAG;QACf,YAAY;QACZ,cAAc;QACd,kBAAkB;QAClB,cAAc;QACd,MAAM;QACN,WAAW;QACX,WAAW;QACX,WAAW;QACX,kBAAkB;QAClB,MAAM;QACN,SAAS;QACT,SAAS;QACT,cAAc;QACd,YAAY;KACb,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI;QAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5B,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;SACnC;KACF,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;SAEe,kBAAkB,CAAC,SAA4B;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEvE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC;;MCrFa,cAAc;IAqCzB,YAC+B,UAAkB,EACjB,YAAyB,EAC/C,QAAkB,EAClB,WAAwB,EACxB,GAAqB,EACrB,IAAY,EACZ,OAAmB;QANE,eAAU,GAAV,UAAU,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAa;QAC/C,aAAQ,GAAR,QAAQ,CAAU;QAClB,gBAAW,GAAX,WAAW,CAAa;QACxB,QAAG,GAAH,GAAG,CAAkB;QACrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAY;QAxBpB,qBAAgB,GAAG,KAAK,CAAC;QAEzB,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QAIpB,YAAO,GAAG,IAAI,YAAY,EAAW,CAAC;QAChC,cAAS,GAAG,KAAK,CAAC;QAI1B,cAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEhC,YAAO,GAAG,IAAI,CAAC;QACf,qBAAgB,GAAG,KAAK,CAAC;KAU7B;IAEJ,WAAW,CAAC,OAAkC;QAC5C,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO;QAE9C,IAAI,KAAK,GAAyB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM;YACxE,IAAI,MAAM,KAAK,WAAW;gBAAE,OAAO,GAAG,CAAC;YAEvC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;YAE3C,OAAO,GAAG,CAAC;SACZ,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,SAAiB,CAAC;QAEtB,IAAI,SAAS,CAA4B,WAAW,EAAE,OAAO,CAAC,EAAE;YAC9D,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;aAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACjC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;QAED,IAAI,SAAS,EAAE;YACb,KAAK,GAAG;gBACN,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC1C,GAAG,KAAK;aACT,CAAC;SACH;QAED,IAAI,SAAS,CAA4B,WAAW,EAAE,OAAO,CAAC,EAAE;YAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;QAED,IAAI,SAAS,CAA4B,WAAW,EAAE,OAAO,CAAC,EAAE;YAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;SAC5C;QAED,IAAI,CAAC,QAAQ,CAAC,EAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAC,CAAC,CAAC;KAC1C;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;SACtC;KACF;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1B,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,IAAI,CAAC,gBAAgB,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;yBACd,IAAI,CACH,SAAS,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;yBACA,SAAS,CAAC,iBAAiB;wBAC1B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;qBACvC,CAAC,CAAC;iBACN;qBAAM;oBACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;yBACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBAC/B,SAAS,CAAC;wBACT,IAAI,CAAC,cAAc,EAAE,CAAC;qBACvB,CAAC,CAAC;iBACN;aACF;iBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBAChC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC/B,SAAS,CAAC,iBAAiB;oBAC1B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;iBACvC,CAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;SACF,CAAC,CAAC;KACJ;IAED,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAED,WAAW;QACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvB;IAED,IAAI;QACF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;KACvB;IAED,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACzB;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;KAC1B;IAEO,QAAQ,CAAC,KAA2B;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;KAChD;IAEO,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;KACnE;IAED,IAAY,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KACtD;IAED,IAAY,SAAS;QACnB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC;KACvD;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC/B,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;gBACpC,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,EAAE,QAAQ;oBACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;iBACvC;gBACD,QAAQ,EAAE,QAAQ;oBAChB,IAAI,IAAI,CAAC,SAAS,EAAE;wBAClB,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;4BACtD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;yBACtC;qBACF;oBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;oBACvC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;wBAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;qBACjB;iBACF;gBACD,MAAM,EAAE,QAAQ;oBACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtC,IAAIA,UAAQ,CAAC,OAAO,CAAC,EAAE;4BACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;yBACzC;wBACD,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;qBAChD,CAAC,CAAC;oBACH,IAAI,IAAI,CAAC,YAAY,EAAE;;;wBAGrB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;wBACjC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;wBACxC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;wBAC1C,QAAQ,CAAC,MAAM,CAAC,iBAAiC,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;qBAC/E;oBACD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;iBACtC;gBACD,QAAQ,EAAE,QAAQ;oBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;iBACxC;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE1B,IAAI,CAAC,SAAS,KAAK,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC9D,CAAC,CAAC;KACJ;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAACA,UAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACjD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG;oBAClB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;wBACxB,SAAS,EAAE;4BACT;gCACE,OAAO,EAAE,SAAS;gCAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;6BACxB;yBACF;wBACD,MAAM,EAAE,IAAI,CAAC,QAAQ;qBACtB,CAAC;iBACH,CAAC;aACH;iBAAM,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACtC,IAAI,CAAC,YAAY,GAAG;oBAClB,OAAO,EAAE;wBACP,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB;iBACF,CAAC;aACH;SACF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;YACvD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,IAAI,CAAC,YAAY;SACrB,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAExC,IAAIA,UAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YACvD,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACnD;QAED,OAAO,OAAO,CAAC;KAChB;IAEO,iBAAiB;QACvB,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;aAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC/B,SAAS,CAAC,CAAC,KAAiB;YAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACrB,sBAAsB,EAAE,OACrB;oBACC,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,GAAG,EAAE,KAAK,CAAC,OAAO;oBAClB,MAAM,EAAE,KAAK,CAAC,OAAO;oBACrB,IAAI,EAAE,KAAK,CAAC,OAAO;oBACnB,KAAK,EAAE,KAAK,CAAC,OAAO;iBACb,CAAA;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB,CAAC,CAAC;KACN;IAEO,kBAAkB;QACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;aACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1E,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACjC;IAEO,YAAY,CAAC,OAAoB,EAAE,UAAkB;QAC3D,OAAO,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAiB,KAAK,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;KACrG;IAEO,aAAa,CAAC,iBAA0B;QAC9C,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aACxB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;SAC1B;KACF;IAEO,kBAAkB;QACxB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACpD,SAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;SACnD,CAAC,CAAC;KACN;;2GAhUU,cAAc,kBAsCf,WAAW,aACX,YAAY;+FAvCX,cAAc;2FAAd,cAAc;kBAL1B,SAAS;mBAAC;;oBAET,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,OAAO;iBAClB;;0BAuCI,MAAM;2BAAC,WAAW;;0BAClB,MAAM;2BAAC,YAAY;0KAtCb,QAAQ;sBAAhB,KAAK;gBACG,KAAK;sBAAb,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,WAAW;sBAAnB,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBACG,QAAQ;sBAAhB,KAAK;gBACG,MAAM;sBAAd,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,aAAa;sBAArB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,OAAO;sBAAf,KAAK;gBACG,aAAa;sBAArB,KAAK;gBACG,MAAM;sBAAd,KAAK;gBAEG,IAAI;sBAAZ,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,SAAS;sBAAjB,KAAK;gBACG,gBAAgB;sBAAxB,KAAK;gBACG,IAAI;sBAAZ,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACG,YAAY;sBAApB,KAAK;gBACU,OAAO;sBAAtB,KAAK;uBAAC,OAAO;gBACM,UAAU;sBAA7B,KAAK;uBAAC,WAAW;gBAER,OAAO;sBAAhB,MAAM;gBACS,SAAS;sBAAxB,KAAK;;AAuSR,SAAS,SAAS,CAAI,GAAY,EAAE,OAAU;IAC5C,OAAO,GAAG,IAAI,OAAO,CAAC;AACxB;;MC3Va,WAAW;IACtB,OAAO,OAAO,CAAC,SAA+B,EAAE;QAC9C,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,MAAM;iBACjB;aACF;SACF,CAAC;KACH;;wGAXU,WAAW;yGAAX,WAAW,iBAHP,cAAc,aACnB,cAAc;yGAEb,WAAW;2FAAX,WAAW;kBAJvB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,OAAO,EAAE,CAAC,cAAc,CAAC;iBAC1B;;;MCHY,gBAAgB,GAAc;IACzC,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd;MAEW,eAAe,GAAc;IACxC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACf,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,IAAI;EACjB;SAEc,wBAAwB,CAAC,aAAwB;IAC/D,OAAO;QACL,GAAG,aAAa;QAChB,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KACf,CAAC;AACJ;;MCrBa,YAAY;IACvB,YACgC,YAAyB,EAC/C,IAAiB,EACjB,QAAkB;QAFI,iBAAY,GAAZ,YAAY,CAAa;QAC/C,SAAI,GAAJ,IAAI,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAU;KACxB;IAEJ,MAAM,CAAC,IAAa,EAAE,OAAgB,EAAE,UAAkC,EAAE;QAC1E,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,QAAQ;gBACd,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;oBAC1B,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;oBAE3B,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;wBAC1B,QAAQ,CAAC,YAAY,CAAC,OAAO,GAAG;4BAC9B,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;4BACvC,GAAG,OAAO,CAAC,OAAO;yBACnB,CAAC;qBACH;yBAAM,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;wBAC/B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;wBACnC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC7B,QAAQ,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;4BAC/C,SAAS,EAAE;gCACT;oCACE,OAAO,EAAE,SAAS;oCAClB,QAAQ,EAAE,QAAQ;iCACnB;6BACF;4BACD,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;yBAC1C,CAAC,CAAC;qBACJ;iBACF;gBACD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;gBACxF,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;aAC7B;YACD,QAAQ,EAAE,QAAQ;gBAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;gBAC9B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;aACtB;YACD,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;YACpC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACxF,GAAG,cAAc,CAAC,OAAO,CAAC;YAC1B,QAAQ,EAAE,QAAQ;gBAChB,IAAI,OAAO,CAAC,SAAS,EAAE;oBACrB,KAAK,MAAM,KAAK,IAAI,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;wBACzD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBACtC;iBACF;gBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;gBACvC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;aAC9B;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC5B;;yGAxDU,YAAY,kBAEb,YAAY;6GAFX,YAAY,cADC,MAAM;2FACnB,YAAY;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;0BAG7B,MAAM;2BAAC,YAAY;;;ACVxB;;;;;;"}
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() detectChangesComponent = true;\n\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 // We need to call detectChanges for onPush components to update the content\n if (this.detectChangesComponent && isComponent(this.content)) {\n this.viewRef.detectChanges();\n }\n\n let content = this.viewRef.getElement();\n\n if (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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"}
@@ -32,6 +32,7 @@ export declare class TippyDirective implements OnChanges, AfterViewInit, OnDestr
32
32
  data: any;
33
33
  useHostWidth: boolean;
34
34
  hideOnEscape: boolean;
35
+ detectChangesComponent: boolean;
35
36
  content: Content;
36
37
  customHost: HTMLElement;
37
38
  visible: EventEmitter<boolean>;
@@ -65,5 +66,5 @@ export declare class TippyDirective implements OnChanges, AfterViewInit, OnDestr
65
66
  private checkOverflow;
66
67
  private listenToHostResize;
67
68
  static ɵfac: i0.ɵɵFactoryDeclaration<TippyDirective, never>;
68
- static ɵdir: i0.ɵɵDirectiveDeclaration<TippyDirective, "[tippy]", ["tippy"], { "appendTo": "appendTo"; "delay": "delay"; "duration": "duration"; "hideOnClick": "hideOnClick"; "interactive": "interactive"; "interactiveBorder": "interactiveBorder"; "maxWidth": "maxWidth"; "offset": "offset"; "placement": "placement"; "popperOptions": "popperOptions"; "showOnCreate": "showOnCreate"; "trigger": "trigger"; "triggerTarget": "triggerTarget"; "zIndex": "zIndex"; "lazy": "lazy"; "variation": "variation"; "isEnabled": "isEnabled"; "className": "className"; "onlyTextOverflow": "onlyTextOverflow"; "data": "data"; "useHostWidth": "useHostWidth"; "hideOnEscape": "hideOnEscape"; "content": "tippy"; "customHost": "tippyHost"; "isVisible": "isVisible"; }, { "visible": "visible"; }, never>;
69
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TippyDirective, "[tippy]", ["tippy"], { "appendTo": "appendTo"; "delay": "delay"; "duration": "duration"; "hideOnClick": "hideOnClick"; "interactive": "interactive"; "interactiveBorder": "interactiveBorder"; "maxWidth": "maxWidth"; "offset": "offset"; "placement": "placement"; "popperOptions": "popperOptions"; "showOnCreate": "showOnCreate"; "trigger": "trigger"; "triggerTarget": "triggerTarget"; "zIndex": "zIndex"; "lazy": "lazy"; "variation": "variation"; "isEnabled": "isEnabled"; "className": "className"; "onlyTextOverflow": "onlyTextOverflow"; "data": "data"; "useHostWidth": "useHostWidth"; "hideOnEscape": "hideOnEscape"; "detectChangesComponent": "detectChangesComponent"; "content": "tippy"; "customHost": "tippyHost"; "isVisible": "isVisible"; }, { "visible": "visible"; }, never>;
69
70
  }
@@ -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.1",
3
+ "version": "5.1.2",
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';