@coreui/angular-pro 4.2.0-next.8 → 4.2.0-next.9

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.
@@ -6,11 +6,10 @@ import { ListenersService } from '../services/listeners.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../services/listeners.service";
8
8
  export class TooltipDirective {
9
- constructor(document, renderer, hostElement, componentFactoryResolver, viewContainerRef, listenersService) {
9
+ constructor(document, renderer, hostElement, viewContainerRef, listenersService) {
10
10
  this.document = document;
11
11
  this.renderer = renderer;
12
12
  this.hostElement = hostElement;
13
- this.componentFactoryResolver = componentFactoryResolver;
14
13
  this.viewContainerRef = viewContainerRef;
15
14
  this.listenersService = listenersService;
16
15
  /**
@@ -33,10 +32,10 @@ export class TooltipDirective {
33
32
  {
34
33
  name: 'offset',
35
34
  options: {
36
- offset: [0, 0],
37
- },
38
- },
39
- ],
35
+ offset: [0, 0]
36
+ }
37
+ }
38
+ ]
40
39
  };
41
40
  }
42
41
  /**
@@ -55,8 +54,6 @@ export class TooltipDirective {
55
54
  */
56
55
  set visible(value) {
57
56
  this._visible = value;
58
- value ? this.addTooltipElement() : this.removeTooltipElement();
59
- this.tooltipRef?.changeDetectorRef.markForCheck();
60
57
  }
61
58
  get visible() {
62
59
  return this._visible;
@@ -74,7 +71,6 @@ export class TooltipDirective {
74
71
  this.destroyTooltipElement();
75
72
  }
76
73
  ngOnInit() {
77
- // this.createTooltipElement();
78
74
  this.setListeners();
79
75
  }
80
76
  setListeners() {
@@ -83,12 +79,15 @@ export class TooltipDirective {
83
79
  trigger: this.trigger,
84
80
  callbackToggle: () => {
85
81
  this.visible = !this.visible;
82
+ this.visible ? this.addTooltipElement() : this.removeTooltipElement();
86
83
  },
87
84
  callbackOff: () => {
88
85
  this.visible = false;
86
+ this.removeTooltipElement();
89
87
  },
90
88
  callbackOn: () => {
91
89
  this.visible = true;
90
+ this.addTooltipElement();
92
91
  }
93
92
  };
94
93
  this.listenersService.setListeners(config);
@@ -105,8 +104,8 @@ export class TooltipDirective {
105
104
  }
106
105
  createTooltipElement() {
107
106
  if (!this.tooltipRef) {
108
- const tooltipComponent = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);
109
- this.tooltipRef = this.viewContainerRef.createComponent(tooltipComponent);
107
+ this.tooltipRef = this.viewContainerRef.createComponent(TooltipComponent);
108
+ // this.viewContainerRef.detach();
110
109
  }
111
110
  }
112
111
  destroyTooltipElement() {
@@ -115,8 +114,8 @@ export class TooltipDirective {
115
114
  // @ts-ignore
116
115
  this.tooltipRef = undefined;
117
116
  this.popperInstance?.destroy();
118
- this.viewContainerRef.detach();
119
- this.viewContainerRef.clear();
117
+ this.viewContainerRef?.detach();
118
+ this.viewContainerRef?.clear();
120
119
  }
121
120
  addTooltipElement() {
122
121
  if (!this.tooltipRef) {
@@ -124,34 +123,43 @@ export class TooltipDirective {
124
123
  }
125
124
  this.tooltipRef.instance.content = this.content;
126
125
  this.tooltip = this.tooltipRef.location.nativeElement;
126
+ this.renderer.addClass(this.tooltip, 'd-none');
127
+ this.renderer.addClass(this.tooltip, 'fade');
128
+ this.popperInstance?.destroy();
127
129
  setTimeout(() => {
128
130
  this.popperInstance = createPopper(this.hostElement.nativeElement, this.tooltip, { ...this.popperOptions });
131
+ this.viewContainerRef.insert(this.tooltipRef.hostView);
132
+ this.renderer.appendChild(this.document.body, this.tooltip);
133
+ if (!this.visible) {
134
+ this.removeTooltipElement();
135
+ return;
136
+ }
129
137
  setTimeout(() => {
130
138
  this.tooltipId = this.getUID('tooltip');
131
139
  this.tooltipRef.instance.id = this.tooltipId;
140
+ if (!this.visible) {
141
+ this.removeTooltipElement();
142
+ return;
143
+ }
144
+ this.renderer.removeClass(this.tooltip, 'd-none');
132
145
  this.tooltipRef.instance.visible = this.visible;
133
- this.renderer.appendChild(this.document.body, this.tooltip);
134
146
  this.popperInstance.forceUpdate();
135
- this.tooltipRef.changeDetectorRef.markForCheck();
136
- // this.tooltipRef.changeDetectorRef.detectChanges();
137
147
  }, 100);
138
148
  });
139
149
  }
140
150
  removeTooltipElement() {
151
+ this.tooltipId = '';
141
152
  if (!this.tooltipRef) {
142
153
  return;
143
154
  }
144
155
  this.tooltipRef.instance.visible = this.visible;
156
+ this.tooltipRef.instance.id = undefined;
145
157
  setTimeout(() => {
146
- // this.tooltipRef.changeDetectorRef.detectChanges();
147
- this.tooltipRef.instance.id = undefined;
148
- this.renderer.removeChild(this.document.body, this.tooltip);
149
- this.popperInstance?.destroy();
150
- this.tooltipId = '';
158
+ this.viewContainerRef?.detach();
151
159
  }, 300);
152
160
  }
153
161
  }
154
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i1.ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
162
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i1.ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
155
163
  TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: TooltipDirective, selector: "[cTooltip]", inputs: { content: ["cTooltip", "content"], popperOptions: ["cTooltipOptions", "popperOptions"], placement: ["cTooltipPlacement", "placement"], trigger: ["cTooltipTrigger", "trigger"], visible: ["cTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService], exportAs: ["cTooltip"], usesOnChanges: true, ngImport: i0 });
156
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
157
165
  type: Directive,
@@ -160,10 +168,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
160
168
  exportAs: 'cTooltip',
161
169
  providers: [ListenersService]
162
170
  }]
163
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
171
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
164
172
  type: Inject,
165
173
  args: [DOCUMENT]
166
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i1.ListenersService }]; }, propDecorators: { content: [{
174
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i1.ListenersService }]; }, propDecorators: { content: [{
167
175
  type: Input,
168
176
  args: ['cTooltip']
169
177
  }], popperOptions: [{
@@ -182,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
182
190
  type: HostBinding,
183
191
  args: ['attr.aria-describedby']
184
192
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFPTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU9uRixNQUFNLE9BQU8sZ0JBQWdCO0lBZ0UzQixZQUM0QixRQUFhLEVBQy9CLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLHdCQUFrRCxFQUNsRCxnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBTGhCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDL0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXBFNUM7OztXQUdHO1FBQ2dCLFlBQU8sR0FBOEIsRUFBRSxDQUFDO1FBYzNEOztXQUVHO1FBQ3lCLGNBQVMsR0FBd0MsS0FBSyxDQUFDO1FBQ25GOzs7V0FHRztRQUN1QixZQUFPLEdBQTBCLE9BQU8sQ0FBQztRQWMzRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1CQUFjLEdBQXFCO1lBQ3pDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxJQUFJLEVB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QUMsQ0FBQztJQUNWLENBQUM7OzZHQTdLVSxnQkFBZ0Isa0JBaUVqQixRQUFRO2lHQWpFUCxnQkFBZ0Isb1ZBRmhCLENBQUMsZ0JBQWdCLENBQUM7MkZBRWxCLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5Qjs7MEJBa0VJLE1BQU07MkJBQUMsUUFBUTtrTUEzREMsT0FBTztzQkFBekIsS0FBSzt1QkFBQyxVQUFVO2dCQU9iLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVdJLFNBQVM7c0JBQXBDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUtBLE9BQU87c0JBQWhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQU1wQixPQUFPO3NCQURWLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVdrQixlQUFlO3NCQUF4RCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBjcmVhdGVQb3BwZXIsIEluc3RhbmNlLCBPcHRpb25zIH0gZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVHJpZ2dlcnMgfSBmcm9tICcuLi9jb3JldWkudHlwZXMnO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSUxpc3RlbmVyc0NvbmZpZywgTGlzdGVuZXJzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xpc3RlbmVycy5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2NUb29sdGlwXScsXHJcbiAgZXhwb3J0QXM6ICdjVG9vbHRpcCcsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdGVuZXJzU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGVudCBvZiB0b29sdGlwXHJcbiAgICogQHR5cGUge3N0cmluZyB8IFRlbXBsYXRlUmVmfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgnY1Rvb2x0aXAnKSBjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+ID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHBvcHBlciBPcHRpb25zIG9iamVjdCwgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGNQb3BvdmVyUGxhY2VtZW50IHByb3BcclxuICAgKiBAdHlwZSBQYXJ0aWFsPE9wdGlvbnM+XHJcbiAgICovXHJcbiAgQElucHV0KCdjVG9vbHRpcE9wdGlvbnMnKVxyXG4gIHNldCBwb3BwZXJPcHRpb25zKHZhbHVlOiBQYXJ0aWFsPE9wdGlvbnM+KSB7XHJcbiAgICB0aGlzLl9wb3BwZXJPcHRpb25zID0gey4uLnRoaXMuX3BvcHBlck9wdGlvbnMsIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsIC4uLnZhbHVlfTtcclxuICB9O1xyXG4gIGdldCBwb3BwZXJPcHRpb25zKCk6IFBhcnRpYWw8T3B0aW9ucz4ge1xyXG4gICAgcmV0dXJuIHtwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LCAuLi50aGlzLl9wb3BwZXJPcHRpb25zfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc2NyaWJlcyB0aGUgcGxhY2VtZW50IG9mIHlvdXIgY29tcG9uZW50IGFmdGVyIFBvcHBlci5qcyBoYXMgYXBwbGllZCBhbGwgdGhlIG1vZGlmaWVycyB0aGF0IG1heSBoYXZlIGZsaXBwZWQgb3IgYWx0ZXJlZCB0aGUgb3JpZ2luYWxseSBwcm92aWRlZCBwbGFjZW1lbnQgcHJvcGVydHkuXHJcbiAgICovXHJcbiAgQElucHV0KCdjVG9vbHRpcFBsYWNlbWVudCcpIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAndG9wJztcclxuICAvKipcclxuICAgKiBTZXRzIHdoaWNoIGV2ZW50IGhhbmRsZXJzIHlvdeKAmWQgbGlrZSBwcm92aWRlZCB0byB5b3VyIHRvZ2dsZSBwcm9wLiBZb3UgY2FuIHNwZWNpZnkgb25lIHRyaWdnZXIgb3IgYW4gYXJyYXkgb2YgdGhlbS5cclxuICAgKiBAdHlwZSB7J2hvdmVyJyB8ICdmb2N1cycgfCAnY2xpY2snfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgnY1Rvb2x0aXBUcmlnZ2VyJykgdHJpZ2dlcjogVHJpZ2dlcnMgfCBUcmlnZ2Vyc1tdID0gJ2hvdmVyJztcclxuXHJcbiAgLyoqXHJcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIHRvb2x0aXAgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgnY1Rvb2x0aXBWaXNpYmxlJylcclxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG4gICAgdmFsdWUgPyB0aGlzLmFkZFRvb2x0aXBFbGVtZW50KCkgOiB0aGlzLnJlbW92ZVRvb2x0aXBFbGVtZW50KCk7XHJcbiAgICB0aGlzLnRvb2x0aXBSZWY/LmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZ2V0IGFyaWFEZXNjcmliZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2x0aXBJZCA/IHRoaXMudG9vbHRpcElkIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9vbHRpcCE6IEhUTUxEaXZFbGVtZW50O1xyXG4gIHByaXZhdGUgdG9vbHRpcElkITogc3RyaW5nO1xyXG4gIHByaXZhdGUgdG9vbHRpcFJlZiE6IENvbXBvbmVudFJlZjxUb29sdGlwQ29tcG9uZW50PjtcclxuICBwcml2YXRlIHBvcHBlckluc3RhbmNlITogSW5zdGFuY2U7XHJcblxyXG4gIHByaXZhdGUgX3BvcHBlck9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4gPSB7XHJcbiAgICBtb2RpZmllcnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdvZmZzZXQnLFxyXG4gICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgIG9mZnNldDogWzAsIDBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGxpc3RlbmVyc1NlcnZpY2U6IExpc3RlbmVyc1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWyd2aXNpYmxlJ10pIHtcclxuICAgICAgY2hhbmdlc1sndmlzaWJsZSddLmN1cnJlbnRWYWx1ZSA/IHRoaXMuYWRkVG9vbHRpcEVsZW1lbnQoKSA6IHRoaXMucmVtb3ZlVG9vbHRpcEVsZW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xyXG4gICAgdGhpcy5kZXN0cm95VG9vbHRpcEVsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gdGhpcy5jcmVhdGVUb29sdGlwRWxlbWVudCgpO1xyXG4gICAgdGhpcy5zZXRMaXN0ZW5lcnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TGlzdGVuZXJzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29uZmlnOiBJTGlzdGVuZXJzQ29uZmlnID0ge1xyXG4gICAgICBob3N0RWxlbWVudDogdGhpcy5ob3N0RWxlbWVudCxcclxuICAgICAgdHJpZ2dlcjogdGhpcy50cmlnZ2VyLFxyXG4gICAgICBjYWxsYmFja1RvZ2dsZTogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9ICF0aGlzLnZpc2libGU7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNhbGxiYWNrT2ZmOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNhbGxiYWNrT246ICgpID0+IHtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmxpc3RlbmVyc1NlcnZpY2Uuc2V0TGlzdGVuZXJzKGNvbmZpZylcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxpc3RlbmVyc1NlcnZpY2UuY2xlYXJMaXN0ZW5lcnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VUlEKHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCB1aWQgPSBwcmVmaXggPz8gJ3JhbmRvbS1pZCc7XHJcbiAgICBkbyB7XHJcbiAgICAgIHVpZCA9IGAke3ByZWZpeH0tJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKS50b1N0cmluZygxMCl9YDtcclxuICAgIH0gd2hpbGUgKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodWlkKSk7XHJcblxyXG4gICAgcmV0dXJuIHVpZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVG9vbHRpcEVsZW1lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xyXG4gICAgICBjb25zdCB0b29sdGlwQ29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVG9vbHRpcENvbXBvbmVudCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodG9vbHRpcENvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3lUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIHRoaXMudG9vbHRpcD8ucmVtb3ZlKCk7XHJcbiAgICB0aGlzLnRvb2x0aXBSZWY/LmRlc3Ryb3koKTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHRoaXMudG9vbHRpcFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucG9wcGVySW5zdGFuY2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50b29sdGlwUmVmKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcEVsZW1lbnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5jb250ZW50ID0gdGhpcy5jb250ZW50O1xyXG4gICAgdGhpcy50b29sdGlwID0gdGhpcy50b29sdGlwUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucG9wcGVySW5zdGFuY2UgPSBjcmVhdGVQb3BwZXIoXHJcbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMudG9vbHRpcCxcclxuICAgICAgICB7IC4uLnRoaXMucG9wcGVyT3B0aW9ucyB9XHJcbiAgICAgICk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcElkID0gdGhpcy5nZXRVSUQoJ3Rvb2x0aXAnKTtcclxuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLnRvb2x0aXBJZDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UudmlzaWJsZSA9IHRoaXMudmlzaWJsZTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcclxuICAgICAgICB0aGlzLnBvcHBlckluc3RhbmNlLmZvcmNlVXBkYXRlKCk7XHJcbiAgICAgICAgdGhpcy50b29sdGlwUmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIC8vIHRoaXMudG9vbHRpcFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50b29sdGlwUmVmKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLnZpc2libGUgPSB0aGlzLnZpc2libGU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLy8gdGhpcy50b29sdGlwUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy50b29sdGlwUmVmLmluc3RhbmNlLmlkID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwKTtcclxuICAgICAgdGhpcy5wb3BwZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLnRvb2x0aXBJZCA9ICcnO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcbn1cclxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFRTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU9uRixNQUFNLE9BQU8sZ0JBQWdCO0lBaUUzQixZQUM0QixRQUFrQixFQUNwQyxRQUFtQixFQUNuQixXQUF1QixFQUN2QixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBSmhCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFwRTVDOzs7V0FHRztRQUNnQixZQUFPLEdBQThCLEVBQUUsQ0FBQztRQWUzRDs7V0FFRztRQUN5QixjQUFTLEdBQXdDLEtBQUssQ0FBQztRQUNuRjs7O1dBR0c7UUFDdUIsWUFBTyxHQUEwQixPQUFPLENBQUM7UUFjM0QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdqQixtQkFBYyxHQUFxQjtZQUN6QyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsT0FBTyxFQUFFO3dCQUNQLE1BQU0sRUFBRSxDQUFD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QyxVQUFVLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7OzZHQXpMVSxnQkFBZ0Isa0JBa0VqQixRQUFRO2lHQWxFUCxnQkFBZ0Isb1ZBRmhCLENBQUMsZ0JBQWdCLENBQUM7MkZBRWxCLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QjswREFtRXVDLFFBQVE7MEJBQTNDLE1BQU07MkJBQUMsUUFBUTsySkE1REMsT0FBTztzQkFBekIsS0FBSzt1QkFBQyxVQUFVO2dCQU9iLGFBQWE7c0JBRGhCLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVlJLFNBQVM7c0JBQXBDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUtBLE9BQU87c0JBQWhDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQU1wQixPQUFPO3NCQURWLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVdrQixlQUFlO3NCQUF4RCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UsIE9wdGlvbnMgfSBmcm9tICdAcG9wcGVyanMvY29yZSc7XG5cbmltcG9ydCB7IFRyaWdnZXJzIH0gZnJvbSAnLi4vY29yZXVpLnR5cGVzJztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUxpc3RlbmVyc0NvbmZpZywgTGlzdGVuZXJzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xpc3RlbmVycy5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NUb29sdGlwXScsXG4gIGV4cG9ydEFzOiAnY1Rvb2x0aXAnLFxuICBwcm92aWRlcnM6IFtMaXN0ZW5lcnNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdG9vbHRpcFxuICAgKiBAdHlwZSB7c3RyaW5nIHwgVGVtcGxhdGVSZWZ9XG4gICAqL1xuICBASW5wdXQoJ2NUb29sdGlwJykgY29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiA9ICcnO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwb3BwZXIgT3B0aW9ucyBvYmplY3QsIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBjUG9wb3ZlclBsYWNlbWVudCBwcm9wXG4gICAqIEB0eXBlIFBhcnRpYWw8T3B0aW9ucz5cbiAgICovXG4gIEBJbnB1dCgnY1Rvb2x0aXBPcHRpb25zJylcbiAgc2V0IHBvcHBlck9wdGlvbnModmFsdWU6IFBhcnRpYWw8T3B0aW9ucz4pIHtcbiAgICB0aGlzLl9wb3BwZXJPcHRpb25zID0geyAuLi50aGlzLl9wb3BwZXJPcHRpb25zLCBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LCAuLi52YWx1ZSB9O1xuICB9O1xuXG4gIGdldCBwb3BwZXJPcHRpb25zKCk6IFBhcnRpYWw8T3B0aW9ucz4ge1xuICAgIHJldHVybiB7IHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsIC4uLnRoaXMuX3BvcHBlck9wdGlvbnMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIHBsYWNlbWVudCBvZiB5b3VyIGNvbXBvbmVudCBhZnRlciBQb3BwZXIuanMgaGFzIGFwcGxpZWQgYWxsIHRoZSBtb2RpZmllcnMgdGhhdCBtYXkgaGF2ZSBmbGlwcGVkIG9yIGFsdGVyZWQgdGhlIG9yaWdpbmFsbHkgcHJvdmlkZWQgcGxhY2VtZW50IHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KCdjVG9vbHRpcFBsYWNlbWVudCcpIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAndG9wJztcbiAgLyoqXG4gICAqIFNldHMgd2hpY2ggZXZlbnQgaGFuZGxlcnMgeW914oCZZCBsaWtlIHByb3ZpZGVkIHRvIHlvdXIgdG9nZ2xlIHByb3AuIFlvdSBjYW4gc3BlY2lmeSBvbmUgdHJpZ2dlciBvciBhbiBhcnJheSBvZiB0aGVtLlxuICAgKiBAdHlwZSB7J2hvdmVyJyB8ICdmb2N1cycgfCAnY2xpY2snfVxuICAgKi9cbiAgQElucHV0KCdjVG9vbHRpcFRyaWdnZXInKSB0cmlnZ2VyOiBUcmlnZ2VycyB8IFRyaWdnZXJzW10gPSAnaG92ZXInO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgdG9vbHRpcCBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoJ2NUb29sdGlwVmlzaWJsZScpXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gIH1cblxuICBwcml2YXRlIF92aXNpYmxlID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBnZXQgYXJpYURlc2NyaWJlZEJ5KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRvb2x0aXBJZCA/IHRoaXMudG9vbHRpcElkIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgdG9vbHRpcCE6IEhUTUxEaXZFbGVtZW50O1xuICBwcml2YXRlIHRvb2x0aXBJZCE6IHN0cmluZztcbiAgcHJpdmF0ZSB0b29sdGlwUmVmITogQ29tcG9uZW50UmVmPFRvb2x0aXBDb21wb25lbnQ+O1xuICBwcml2YXRlIHBvcHBlckluc3RhbmNlITogSW5zdGFuY2U7XG5cbiAgcHJpdmF0ZSBfcG9wcGVyT3B0aW9uczogUGFydGlhbDxPcHRpb25zPiA9IHtcbiAgICBtb2RpZmllcnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ29mZnNldCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBvZmZzZXQ6IFswLCAwXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGxpc3RlbmVyc1NlcnZpY2U6IExpc3RlbmVyc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndmlzaWJsZSddKSB7XG4gICAgICBjaGFuZ2VzWyd2aXNpYmxlJ10uY3VycmVudFZhbHVlID8gdGhpcy5hZGRUb29sdGlwRWxlbWVudCgpIDogdGhpcy5yZW1vdmVUb29sdGlwRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmRlc3Ryb3lUb29sdGlwRWxlbWVudCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZzogSUxpc3RlbmVyc0NvbmZpZyA9IHtcbiAgICAgIGhvc3RFbGVtZW50OiB0aGlzLmhvc3RFbGVtZW50LFxuICAgICAgdHJpZ2dlcjogdGhpcy50cmlnZ2VyLFxuICAgICAgY2FsbGJhY2tUb2dnbGU6ICgpID0+IHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gIXRoaXMudmlzaWJsZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID8gdGhpcy5hZGRUb29sdGlwRWxlbWVudCgpIDogdGhpcy5yZW1vdmVUb29sdGlwRWxlbWVudCgpO1xuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrT2ZmOiAoKSA9PiB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlbW92ZVRvb2x0aXBFbGVtZW50KCk7XG4gICAgICB9LFxuICAgICAgY2FsbGJhY2tPbjogKCkgPT4ge1xuICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkZFRvb2x0aXBFbGVtZW50KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmxpc3RlbmVyc1NlcnZpY2Uuc2V0TGlzdGVuZXJzKGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuZXJzU2VydmljZS5jbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVSUQocHJlZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCB1aWQgPSBwcmVmaXggPz8gJ3JhbmRvbS1pZCc7XG4gICAgZG8ge1xuICAgICAgdWlkID0gYCR7cHJlZml4fS0ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApLnRvU3RyaW5nKDEwKX1gO1xuICAgIH0gd2hpbGUgKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodWlkKSk7XG5cbiAgICByZXR1cm4gdWlkO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xuICAgICAgdGhpcy50b29sdGlwUmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxUb29sdGlwQ29tcG9uZW50PihUb29sdGlwQ29tcG9uZW50KTtcbiAgICAgIC8vIHRoaXMudmlld0NvbnRhaW5lclJlZi5kZXRhY2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXA/LnJlbW92ZSgpO1xuICAgIHRoaXMudG9vbHRpcFJlZj8uZGVzdHJveSgpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLnRvb2x0aXBSZWYgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5wb3BwZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmPy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG9vbHRpcFJlZikge1xuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwRWxlbWVudCgpO1xuICAgIH1cbiAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuY29udGVudCA9IHRoaXMuY29udGVudDtcbiAgICB0aGlzLnRvb2x0aXAgPSB0aGlzLnRvb2x0aXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcCwgJ2Qtbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwLCAnZmFkZScpO1xuXG4gICAgdGhpcy5wb3BwZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnBvcHBlckluc3RhbmNlID0gY3JlYXRlUG9wcGVyKFxuICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMudG9vbHRpcCxcbiAgICAgICAgeyAuLi50aGlzLnBvcHBlck9wdGlvbnMgfVxuICAgICAgKTtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5pbnNlcnQodGhpcy50b29sdGlwUmVmLmhvc3RWaWV3KTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCB0aGlzLnRvb2x0aXApO1xuICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVUb29sdGlwRWxlbWVudCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy50b29sdGlwSWQgPSB0aGlzLmdldFVJRCgndG9vbHRpcCcpO1xuICAgICAgICB0aGlzLnRvb2x0aXBSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLnRvb2x0aXBJZDtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZVRvb2x0aXBFbGVtZW50KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwLCAnZC1ub25lJyk7XG4gICAgICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS52aXNpYmxlID0gdGhpcy52aXNpYmxlO1xuICAgICAgICB0aGlzLnBvcHBlckluc3RhbmNlLmZvcmNlVXBkYXRlKCk7XG4gICAgICB9LCAxMDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVUb29sdGlwRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXBJZCA9ICcnO1xuICAgIGlmICghdGhpcy50b29sdGlwUmVmKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS52aXNpYmxlID0gdGhpcy52aXNpYmxlO1xuICAgIHRoaXMudG9vbHRpcFJlZi5pbnN0YW5jZS5pZCA9IHVuZGVmaW5lZDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZj8uZGV0YWNoKCk7XG4gICAgfSwgMzAwKTtcbiAgfVxufVxuIl19
@@ -6001,24 +6001,39 @@ class DateRangePickerComponent {
6001
6001
  this.subscribeDateChange(false);
6002
6002
  }
6003
6003
  ngAfterViewInit() {
6004
- // setTimeout(() => {
6005
- this.contentTemplates.forEach((child) => {
6006
- this.templates[child.id] = child.templateRef;
6004
+ setTimeout(() => {
6005
+ this.contentTemplates.forEach((child) => {
6006
+ this.templates[child.id] = child.templateRef;
6007
+ });
6007
6008
  });
6008
- // });
6009
6009
  }
6010
6010
  ngOnChanges(changes) {
6011
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
6011
+ var _a, _b, _c, _d, _e, _f;
6012
6012
  if (changes['date']) {
6013
6013
  // for date-picker component
6014
- this.startDateValue = (_c = (_b = (_a = changes['date']) === null || _a === void 0 ? void 0 : _a.currentValue) === null || _b === void 0 ? void 0 : _b.toLocaleDateString(this.locale)) !== null && _c !== void 0 ? _c : '';
6014
+ const date = (_b = this.convertValueToDate((_a = changes['date']) === null || _a === void 0 ? void 0 : _a.currentValue)) !== null && _b !== void 0 ? _b : null;
6015
+ this.handleStartDateChange(date);
6016
+ this.calendarDate = date !== null && date !== void 0 ? date : undefined;
6015
6017
  }
6016
6018
  if (changes['startDate']) {
6017
- this.startDateValue = (_f = (_e = (_d = changes['startDate']) === null || _d === void 0 ? void 0 : _d.currentValue) === null || _e === void 0 ? void 0 : _e.toLocaleDateString(this.locale)) !== null && _f !== void 0 ? _f : '';
6019
+ const date = (_d = this.convertValueToDate((_c = changes['startDate']) === null || _c === void 0 ? void 0 : _c.currentValue)) !== null && _d !== void 0 ? _d : null;
6020
+ this.handleStartDateChange(date);
6021
+ this.calendarDate = date !== null && date !== void 0 ? date : undefined;
6018
6022
  }
6019
6023
  if (changes['endDate']) {
6020
- this.endDateValue = (_j = (_h = (_g = changes['endDate']) === null || _g === void 0 ? void 0 : _g.currentValue) === null || _h === void 0 ? void 0 : _h.toLocaleDateString(this.locale)) !== null && _j !== void 0 ? _j : '';
6024
+ const date = (_f = this.convertValueToDate((_e = changes['endDate']) === null || _e === void 0 ? void 0 : _e.currentValue)) !== null && _f !== void 0 ? _f : null;
6025
+ this.handleEndDateChange(date);
6026
+ }
6027
+ }
6028
+ convertValueToDate(value) {
6029
+ var _a;
6030
+ if (!value) {
6031
+ return null;
6032
+ }
6033
+ if (typeof value === 'string') {
6034
+ return getLocalDateFromString(value, this.locale, this.timepicker);
6021
6035
  }
6036
+ return (_a = new Date(value)) !== null && _a !== void 0 ? _a : null;
6022
6037
  }
6023
6038
  getCustomRangeKey(customRange) {
6024
6039
  return customRange[0];
@@ -10700,10 +10715,10 @@ class PopoverComponent {
10700
10715
  }
10701
10716
  }
10702
10717
  PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PopoverComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
10703
- PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: PopoverComponent, selector: "c-popover", inputs: { content: "content", visible: "visible", id: "id", role: "role" }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["popoverTemplate"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container>\r\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow ></div>\r\n <ng-container #popoverTemplate></ng-container>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
10718
+ PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: PopoverComponent, selector: "c-popover", inputs: { content: "content", visible: "visible", id: "id", role: "role" }, host: { properties: { "attr.id": "this.id", "attr.role": "this.role", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["popoverTemplate"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow></div>\n <ng-container #popoverTemplate></ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
10704
10719
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PopoverComponent, decorators: [{
10705
10720
  type: Component,
10706
- args: [{ selector: 'c-popover', template: "<ng-container>\r\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow ></div>\r\n <ng-container #popoverTemplate></ng-container>\r\n</ng-container>\r\n" }]
10721
+ args: [{ selector: 'c-popover', template: "<ng-container>\n <div [ngClass]=\"{'popover-arrow': !!content}\" data-popper-arrow></div>\n <ng-container #popoverTemplate></ng-container>\n</ng-container>\n" }]
10707
10722
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { content: [{
10708
10723
  type: Input
10709
10724
  }], visible: [{
@@ -10727,11 +10742,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
10727
10742
  }] } });
10728
10743
 
10729
10744
  class PopoverDirective {
10730
- constructor(document, renderer, hostElement, componentFactoryResolver, viewContainerRef, listenersService) {
10745
+ constructor(document, renderer, hostElement, viewContainerRef, listenersService) {
10731
10746
  this.document = document;
10732
10747
  this.renderer = renderer;
10733
10748
  this.hostElement = hostElement;
10734
- this.componentFactoryResolver = componentFactoryResolver;
10735
10749
  this.viewContainerRef = viewContainerRef;
10736
10750
  this.listenersService = listenersService;
10737
10751
  /**
@@ -10754,10 +10768,10 @@ class PopoverDirective {
10754
10768
  {
10755
10769
  name: 'offset',
10756
10770
  options: {
10757
- offset: [0, 8],
10758
- },
10759
- },
10760
- ],
10771
+ offset: [0, 8]
10772
+ }
10773
+ }
10774
+ ]
10761
10775
  };
10762
10776
  }
10763
10777
  /**
@@ -10780,20 +10794,19 @@ class PopoverDirective {
10780
10794
  get visible() {
10781
10795
  return this._visible;
10782
10796
  }
10797
+ get ariaDescribedBy() {
10798
+ return this.popoverId ? this.popoverId : null;
10799
+ }
10783
10800
  ngOnChanges(changes) {
10784
10801
  if (changes['visible']) {
10785
10802
  changes['visible'].currentValue ? this.addPopoverElement() : this.removePopoverElement();
10786
10803
  }
10787
10804
  }
10788
- get ariaDescribedBy() {
10789
- return this.popoverId ? this.popoverId : null;
10790
- }
10791
10805
  ngOnDestroy() {
10792
10806
  this.clearListeners();
10793
10807
  this.destroyPopoverElement();
10794
10808
  }
10795
10809
  ngOnInit() {
10796
- // this.createPopoverElement();
10797
10810
  this.setListeners();
10798
10811
  }
10799
10812
  setListeners() {
@@ -10827,60 +10840,64 @@ class PopoverDirective {
10827
10840
  }
10828
10841
  createPopoverElement() {
10829
10842
  if (!this.popoverRef) {
10830
- const popoverComponent = this.componentFactoryResolver.resolveComponentFactory(PopoverComponent);
10831
- this.popoverRef = popoverComponent.create(this.viewContainerRef.injector);
10843
+ this.popoverRef = this.viewContainerRef.createComponent(PopoverComponent);
10844
+ // this.viewContainerRef.detach();
10832
10845
  }
10833
10846
  }
10834
10847
  destroyPopoverElement() {
10835
- var _a, _b, _c;
10848
+ var _a, _b, _c, _d, _e;
10836
10849
  (_a = this.popover) === null || _a === void 0 ? void 0 : _a.remove();
10837
10850
  (_b = this.popoverRef) === null || _b === void 0 ? void 0 : _b.destroy();
10838
10851
  // @ts-ignore
10839
10852
  this.popoverRef = undefined;
10840
10853
  (_c = this.popperInstance) === null || _c === void 0 ? void 0 : _c.destroy();
10841
- this.viewContainerRef.detach();
10842
- this.viewContainerRef.clear();
10854
+ (_d = this.viewContainerRef) === null || _d === void 0 ? void 0 : _d.detach();
10855
+ (_e = this.viewContainerRef) === null || _e === void 0 ? void 0 : _e.clear();
10843
10856
  }
10844
10857
  addPopoverElement() {
10858
+ var _a;
10845
10859
  if (!this.popoverRef) {
10846
10860
  this.createPopoverElement();
10847
10861
  }
10848
10862
  this.popoverRef.instance.content = this.content;
10849
10863
  this.popover = this.popoverRef.location.nativeElement;
10864
+ this.renderer.addClass(this.popover, 'd-none');
10850
10865
  this.renderer.addClass(this.popover, 'fade');
10851
- // this.renderer.setStyle(this.popover, 'visibility', 'hidden')
10866
+ (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
10852
10867
  setTimeout(() => {
10853
10868
  this.popperInstance = createPopper(this.hostElement.nativeElement, this.popover, Object.assign({}, this.popperOptions));
10854
10869
  this.viewContainerRef.insert(this.popoverRef.hostView);
10870
+ this.renderer.appendChild(this.document.body, this.popover);
10871
+ if (!this.visible) {
10872
+ this.removePopoverElement();
10873
+ return;
10874
+ }
10855
10875
  setTimeout(() => {
10856
10876
  this.popoverId = this.getUID('popover');
10857
10877
  this.popoverRef.instance.id = this.popoverId;
10878
+ if (!this.visible) {
10879
+ this.removePopoverElement();
10880
+ return;
10881
+ }
10882
+ this.renderer.removeClass(this.popover, 'd-none');
10858
10883
  this.popoverRef.instance.visible = this.visible;
10859
- // this.renderer.removeStyle(this.popover, 'visibility');
10860
- this.renderer.appendChild(this.document.body, this.popover);
10861
10884
  this.popperInstance.forceUpdate();
10862
- // this.popoverRef.changeDetectorRef.detectChanges();
10863
10885
  }, 100);
10864
10886
  });
10865
10887
  }
10866
10888
  removePopoverElement() {
10889
+ this.popoverId = '';
10867
10890
  if (!this.popoverRef) {
10868
10891
  return;
10869
10892
  }
10870
10893
  this.popoverRef.instance.visible = this.visible;
10871
- // this.popoverRef.changeDetectorRef?.detectChanges();
10872
10894
  this.popoverRef.instance.id = undefined;
10873
10895
  setTimeout(() => {
10874
- var _a;
10875
10896
  this.viewContainerRef.detach();
10876
- // this.viewContainerRef.remove();
10877
- // this.renderer.removeChild(this.document.body, this.popover);
10878
- (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
10879
- this.popoverId = '';
10880
10897
  }, 300);
10881
10898
  }
10882
10899
  }
10883
- PopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PopoverDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
10900
+ PopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PopoverDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
10884
10901
  PopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: PopoverDirective, selector: "[cPopover]", inputs: { content: ["cPopover", "content"], popperOptions: ["cPopoverOptions", "popperOptions"], placement: ["cPopoverPlacement", "placement"], trigger: ["cPopoverTrigger", "trigger"], visible: ["cPopoverVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService], exportAs: ["cPopover"], usesOnChanges: true, ngImport: i0 });
10885
10902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: PopoverDirective, decorators: [{
10886
10903
  type: Directive,
@@ -10893,7 +10910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
10893
10910
  return [{ type: undefined, decorators: [{
10894
10911
  type: Inject,
10895
10912
  args: [DOCUMENT]
10896
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: ListenersService }];
10913
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: ListenersService }];
10897
10914
  }, propDecorators: { content: [{
10898
10915
  type: Input,
10899
10916
  args: ['cPopover']
@@ -14488,11 +14505,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
14488
14505
  }] } });
14489
14506
 
14490
14507
  class TooltipDirective {
14491
- constructor(document, renderer, hostElement, componentFactoryResolver, viewContainerRef, listenersService) {
14508
+ constructor(document, renderer, hostElement, viewContainerRef, listenersService) {
14492
14509
  this.document = document;
14493
14510
  this.renderer = renderer;
14494
14511
  this.hostElement = hostElement;
14495
- this.componentFactoryResolver = componentFactoryResolver;
14496
14512
  this.viewContainerRef = viewContainerRef;
14497
14513
  this.listenersService = listenersService;
14498
14514
  /**
@@ -14515,10 +14531,10 @@ class TooltipDirective {
14515
14531
  {
14516
14532
  name: 'offset',
14517
14533
  options: {
14518
- offset: [0, 0],
14519
- },
14520
- },
14521
- ],
14534
+ offset: [0, 0]
14535
+ }
14536
+ }
14537
+ ]
14522
14538
  };
14523
14539
  }
14524
14540
  /**
@@ -14536,10 +14552,7 @@ class TooltipDirective {
14536
14552
  * Toggle the visibility of tooltip component.
14537
14553
  */
14538
14554
  set visible(value) {
14539
- var _a;
14540
14555
  this._visible = value;
14541
- value ? this.addTooltipElement() : this.removeTooltipElement();
14542
- (_a = this.tooltipRef) === null || _a === void 0 ? void 0 : _a.changeDetectorRef.markForCheck();
14543
14556
  }
14544
14557
  get visible() {
14545
14558
  return this._visible;
@@ -14557,7 +14570,6 @@ class TooltipDirective {
14557
14570
  this.destroyTooltipElement();
14558
14571
  }
14559
14572
  ngOnInit() {
14560
- // this.createTooltipElement();
14561
14573
  this.setListeners();
14562
14574
  }
14563
14575
  setListeners() {
@@ -14566,12 +14578,15 @@ class TooltipDirective {
14566
14578
  trigger: this.trigger,
14567
14579
  callbackToggle: () => {
14568
14580
  this.visible = !this.visible;
14581
+ this.visible ? this.addTooltipElement() : this.removeTooltipElement();
14569
14582
  },
14570
14583
  callbackOff: () => {
14571
14584
  this.visible = false;
14585
+ this.removeTooltipElement();
14572
14586
  },
14573
14587
  callbackOn: () => {
14574
14588
  this.visible = true;
14589
+ this.addTooltipElement();
14575
14590
  }
14576
14591
  };
14577
14592
  this.listenersService.setListeners(config);
@@ -14588,55 +14603,65 @@ class TooltipDirective {
14588
14603
  }
14589
14604
  createTooltipElement() {
14590
14605
  if (!this.tooltipRef) {
14591
- const tooltipComponent = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);
14592
- this.tooltipRef = this.viewContainerRef.createComponent(tooltipComponent);
14606
+ this.tooltipRef = this.viewContainerRef.createComponent(TooltipComponent);
14607
+ // this.viewContainerRef.detach();
14593
14608
  }
14594
14609
  }
14595
14610
  destroyTooltipElement() {
14596
- var _a, _b, _c;
14611
+ var _a, _b, _c, _d, _e;
14597
14612
  (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.remove();
14598
14613
  (_b = this.tooltipRef) === null || _b === void 0 ? void 0 : _b.destroy();
14599
14614
  // @ts-ignore
14600
14615
  this.tooltipRef = undefined;
14601
14616
  (_c = this.popperInstance) === null || _c === void 0 ? void 0 : _c.destroy();
14602
- this.viewContainerRef.detach();
14603
- this.viewContainerRef.clear();
14617
+ (_d = this.viewContainerRef) === null || _d === void 0 ? void 0 : _d.detach();
14618
+ (_e = this.viewContainerRef) === null || _e === void 0 ? void 0 : _e.clear();
14604
14619
  }
14605
14620
  addTooltipElement() {
14621
+ var _a;
14606
14622
  if (!this.tooltipRef) {
14607
14623
  this.createTooltipElement();
14608
14624
  }
14609
14625
  this.tooltipRef.instance.content = this.content;
14610
14626
  this.tooltip = this.tooltipRef.location.nativeElement;
14627
+ this.renderer.addClass(this.tooltip, 'd-none');
14628
+ this.renderer.addClass(this.tooltip, 'fade');
14629
+ (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
14611
14630
  setTimeout(() => {
14612
14631
  this.popperInstance = createPopper(this.hostElement.nativeElement, this.tooltip, Object.assign({}, this.popperOptions));
14632
+ this.viewContainerRef.insert(this.tooltipRef.hostView);
14633
+ this.renderer.appendChild(this.document.body, this.tooltip);
14634
+ if (!this.visible) {
14635
+ this.removeTooltipElement();
14636
+ return;
14637
+ }
14613
14638
  setTimeout(() => {
14614
14639
  this.tooltipId = this.getUID('tooltip');
14615
14640
  this.tooltipRef.instance.id = this.tooltipId;
14641
+ if (!this.visible) {
14642
+ this.removeTooltipElement();
14643
+ return;
14644
+ }
14645
+ this.renderer.removeClass(this.tooltip, 'd-none');
14616
14646
  this.tooltipRef.instance.visible = this.visible;
14617
- this.renderer.appendChild(this.document.body, this.tooltip);
14618
14647
  this.popperInstance.forceUpdate();
14619
- this.tooltipRef.changeDetectorRef.markForCheck();
14620
- // this.tooltipRef.changeDetectorRef.detectChanges();
14621
14648
  }, 100);
14622
14649
  });
14623
14650
  }
14624
14651
  removeTooltipElement() {
14652
+ this.tooltipId = '';
14625
14653
  if (!this.tooltipRef) {
14626
14654
  return;
14627
14655
  }
14628
14656
  this.tooltipRef.instance.visible = this.visible;
14657
+ this.tooltipRef.instance.id = undefined;
14629
14658
  setTimeout(() => {
14630
14659
  var _a;
14631
- // this.tooltipRef.changeDetectorRef.detectChanges();
14632
- this.tooltipRef.instance.id = undefined;
14633
- this.renderer.removeChild(this.document.body, this.tooltip);
14634
- (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
14635
- this.tooltipId = '';
14660
+ (_a = this.viewContainerRef) === null || _a === void 0 ? void 0 : _a.detach();
14636
14661
  }, 300);
14637
14662
  }
14638
14663
  }
14639
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
14664
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: ListenersService }], target: i0.ɵɵFactoryTarget.Directive });
14640
14665
  TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: TooltipDirective, selector: "[cTooltip]", inputs: { content: ["cTooltip", "content"], popperOptions: ["cTooltipOptions", "popperOptions"], placement: ["cTooltipPlacement", "placement"], trigger: ["cTooltipTrigger", "trigger"], visible: ["cTooltipVisible", "visible"] }, host: { properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [ListenersService], exportAs: ["cTooltip"], usesOnChanges: true, ngImport: i0 });
14641
14666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
14642
14667
  type: Directive,
@@ -14646,10 +14671,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
14646
14671
  providers: [ListenersService]
14647
14672
  }]
14648
14673
  }], ctorParameters: function () {
14649
- return [{ type: undefined, decorators: [{
14674
+ return [{ type: Document, decorators: [{
14650
14675
  type: Inject,
14651
14676
  args: [DOCUMENT]
14652
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: ListenersService }];
14677
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: ListenersService }];
14653
14678
  }, propDecorators: { content: [{
14654
14679
  type: Input,
14655
14680
  args: ['cTooltip']