ngx-pendo 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/esm2020/lib/ngx-pendo-id.directive.mjs +55 -0
  2. package/esm2020/lib/ngx-pendo-section.directive.mjs +62 -0
  3. package/esm2020/lib/ngx-pendo.component.mjs +27 -0
  4. package/esm2020/lib/ngx-pendo.injectors.mjs +44 -0
  5. package/{esm2015/lib/ngx-pendo.interfaces.js → esm2020/lib/ngx-pendo.interfaces.mjs} +0 -0
  6. package/esm2020/lib/ngx-pendo.module.mjs +54 -0
  7. package/{esm2015/lib/ngx-pendo.service.js → esm2020/lib/ngx-pendo.service.mjs} +10 -9
  8. package/{esm2015/ngx-pendo.js → esm2020/ngx-pendo.mjs} +0 -0
  9. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  10. package/fesm2015/ngx-pendo.mjs +278 -0
  11. package/fesm2015/ngx-pendo.mjs.map +1 -0
  12. package/fesm2020/ngx-pendo.mjs +275 -0
  13. package/fesm2020/ngx-pendo.mjs.map +1 -0
  14. package/lib/ngx-pendo-id.directive.d.ts +3 -0
  15. package/lib/ngx-pendo-section.directive.d.ts +3 -0
  16. package/lib/ngx-pendo.component.d.ts +3 -0
  17. package/lib/ngx-pendo.module.d.ts +7 -0
  18. package/lib/ngx-pendo.service.d.ts +3 -0
  19. package/ngx-pendo.d.ts +1 -0
  20. package/package.json +21 -9
  21. package/schematics/ng-add/index.js +5 -5
  22. package/schematics/ng-add/index.js.map +1 -1
  23. package/bundles/ngx-pendo.umd.js +0 -610
  24. package/bundles/ngx-pendo.umd.js.map +0 -1
  25. package/esm2015/lib/ngx-pendo-id.directive.js +0 -47
  26. package/esm2015/lib/ngx-pendo-section.directive.js +0 -45
  27. package/esm2015/lib/ngx-pendo.component.js +0 -18
  28. package/esm2015/lib/ngx-pendo.injectors.js +0 -45
  29. package/esm2015/lib/ngx-pendo.module.js +0 -45
  30. package/fesm2015/ngx-pendo.js +0 -235
  31. package/fesm2015/ngx-pendo.js.map +0 -1
  32. package/ngx-pendo.metadata.json +0 -1
@@ -0,0 +1,55 @@
1
+ import { Directive, Input, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./ngx-pendo.service";
4
+ export class NgxPendoIdDirective {
5
+ constructor(service) {
6
+ this.service = service;
7
+ this._pendoSections = [];
8
+ // eslint-disable-next-line @angular-eslint/no-input-rename
9
+ this.inherit = true;
10
+ }
11
+ get pendoId() {
12
+ return this.service.formatPendoId(...this._pendoSections, this._pendoId);
13
+ }
14
+ set pendoId(value) {
15
+ this._pendoId = value;
16
+ }
17
+ get parent() {
18
+ return this._parent;
19
+ }
20
+ set parent(value) {
21
+ this._parent = value;
22
+ setTimeout(() => {
23
+ this._pendoSections = [];
24
+ let cur = this.inherit ? value : null;
25
+ while (cur) {
26
+ this._pendoSections.unshift(cur.pendoSection);
27
+ cur = cur.inherit ? cur.parent : null;
28
+ }
29
+ });
30
+ }
31
+ get disableInherit() {
32
+ return this.inherit ? undefined : true;
33
+ }
34
+ }
35
+ NgxPendoIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoIdDirective, deps: [{ token: i1.NgxPendoService }], target: i0.ɵɵFactoryTarget.Directive });
36
+ NgxPendoIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoIdDirective, selector: "[ngx-pendo-id]", inputs: { pendoId: ["ngx-pendo-id", "pendoId"], inherit: ["ngx-pendo-inherit", "inherit"] }, host: { properties: { "attr.data-pendo-id": "this.pendoId", "attr.ngx-pendo-disable-inherit": "this.disableInherit" } }, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoIdDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[ngx-pendo-id]'
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.NgxPendoService }]; }, propDecorators: { pendoId: [{
43
+ type: Input,
44
+ args: ['ngx-pendo-id']
45
+ }, {
46
+ type: HostBinding,
47
+ args: ['attr.data-pendo-id']
48
+ }], inherit: [{
49
+ type: Input,
50
+ args: ['ngx-pendo-inherit']
51
+ }], disableInherit: [{
52
+ type: HostBinding,
53
+ args: ['attr.ngx-pendo-disable-inherit']
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLWlkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wZW5kby9zcmMvbGliL25neC1wZW5kby1pZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFROUQsTUFBTSxPQUFPLG1CQUFtQjtJQXdDOUIsWUFBb0IsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFyQ3BDLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBYXRDLDJEQUEyRDtRQUUzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO0lBc0JnQyxDQUFDO0lBakNoRCxJQUVJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQU1ELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBK0I7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3RDLE9BQU8sR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pDLENBQUM7O2dIQXRDVSxtQkFBbUI7b0dBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCO3NHQVVLLE9BQU87c0JBRlYsS0FBSzt1QkFBQyxjQUFjOztzQkFDcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBVWpDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxtQkFBbUI7Z0JBbUJ0QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGVuZG9EaXJlY3RpdmUgfSBmcm9tICcuL25neC1wZW5kby5pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5neFBlbmRvU2VydmljZSB9IGZyb20gJy4vbmd4LXBlbmRvLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd4UGVuZG9TZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGVuZG8tc2VjdGlvbi5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmd4LXBlbmRvLWlkXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGVuZG9JZERpcmVjdGl2ZSBpbXBsZW1lbnRzIElQZW5kb0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgX3BhcmVudCE6IE5neFBlbmRvU2VjdGlvbkRpcmVjdGl2ZTtcblxuICBwcml2YXRlIF9wZW5kb1NlY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgX3BlbmRvSWQhOiBzdHJpbmc7XG5cbiAgQElucHV0KCduZ3gtcGVuZG8taWQnKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1wZW5kby1pZCcpXG4gIGdldCBwZW5kb0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5mb3JtYXRQZW5kb0lkKC4uLnRoaXMuX3BlbmRvU2VjdGlvbnMsIHRoaXMuX3BlbmRvSWQpO1xuICB9XG4gIHNldCBwZW5kb0lkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wZW5kb0lkID0gdmFsdWU7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ25neC1wZW5kby1pbmhlcml0JylcbiAgaW5oZXJpdCA9IHRydWU7XG5cbiAgZ2V0IHBhcmVudCgpOiBOZ3hQZW5kb1NlY3Rpb25EaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnQ7XG4gIH1cbiAgc2V0IHBhcmVudCh2YWx1ZTogTmd4UGVuZG9TZWN0aW9uRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fcGFyZW50ID0gdmFsdWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9wZW5kb1NlY3Rpb25zID0gW107XG4gICAgICBsZXQgY3VyID0gdGhpcy5pbmhlcml0ID8gdmFsdWUgOiBudWxsO1xuICAgICAgd2hpbGUgKGN1cikge1xuICAgICAgICB0aGlzLl9wZW5kb1NlY3Rpb25zLnVuc2hpZnQoY3VyLnBlbmRvU2VjdGlvbik7XG4gICAgICAgIGN1ciA9IGN1ci5pbmhlcml0ID8gY3VyLnBhcmVudCA6IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubmd4LXBlbmRvLWRpc2FibGUtaW5oZXJpdCcpXG4gIGdldCBkaXNhYmxlSW5oZXJpdCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pbmhlcml0ID8gdW5kZWZpbmVkIDogdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTogTmd4UGVuZG9TZXJ2aWNlKSB7fVxufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { Directive, Input, HostBinding, ContentChildren } from '@angular/core';
2
+ import { merge } from 'rxjs';
3
+ import { startWith } from 'rxjs/operators';
4
+ import { NgxPendoIdDirective } from './ngx-pendo-id.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class NgxPendoSectionDirective {
7
+ constructor() {
8
+ // eslint-disable-next-line @angular-eslint/no-input-rename
9
+ this.inherit = true;
10
+ this.subscriptions = [];
11
+ }
12
+ get disableInherit() {
13
+ return this.inherit ? undefined : true;
14
+ }
15
+ ngAfterContentInit() {
16
+ // set all child parent
17
+ this.subscriptions.push(merge(this.sectionDirectives.changes.pipe(startWith(this.sectionDirectives)), this.idDirectives.changes.pipe(startWith(this.idDirectives))).subscribe((items) => items.forEach(item => {
18
+ if (item !== this) {
19
+ item.parent = this;
20
+ }
21
+ })));
22
+ }
23
+ ngOnChanges(changes) {
24
+ if (changes.pendoSection && !changes.pendoSection.firstChange) {
25
+ this.allIdDirectives.forEach(i => (i.parent = i.parent));
26
+ }
27
+ }
28
+ ngOnDestroy() {
29
+ this.subscriptions.forEach(s => s.unsubscribe());
30
+ this.subscriptions = [];
31
+ }
32
+ }
33
+ NgxPendoSectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
34
+ NgxPendoSectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoSectionDirective, selector: "[ngx-pendo-section]", inputs: { pendoSection: ["ngx-pendo-section", "pendoSection"], inherit: ["ngx-pendo-inherit", "inherit"] }, host: { properties: { "attr.ngx-pendo-section": "this.pendoSection", "attr.ngx-pendo-disable-inherit": "this.disableInherit" } }, queries: [{ propertyName: "idDirectives", predicate: NgxPendoIdDirective }, { propertyName: "sectionDirectives", predicate: NgxPendoSectionDirective }, { propertyName: "allIdDirectives", predicate: NgxPendoIdDirective, descendants: true }], usesOnChanges: true, ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoSectionDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[ngx-pendo-section]'
39
+ }]
40
+ }], propDecorators: { pendoSection: [{
41
+ type: Input,
42
+ args: ['ngx-pendo-section']
43
+ }, {
44
+ type: HostBinding,
45
+ args: ['attr.ngx-pendo-section']
46
+ }], inherit: [{
47
+ type: Input,
48
+ args: ['ngx-pendo-inherit']
49
+ }], disableInherit: [{
50
+ type: HostBinding,
51
+ args: ['attr.ngx-pendo-disable-inherit']
52
+ }], idDirectives: [{
53
+ type: ContentChildren,
54
+ args: [NgxPendoIdDirective, { descendants: false }]
55
+ }], sectionDirectives: [{
56
+ type: ContentChildren,
57
+ args: [NgxPendoSectionDirective, { descendants: false }]
58
+ }], allIdDirectives: [{
59
+ type: ContentChildren,
60
+ args: [NgxPendoIdDirective, { descendants: true }]
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLXNlY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXBlbmRvL3NyYy9saWIvbmd4LXBlbmRvLXNlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxlQUFlLEVBTWhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLHdCQUF3QjtJQUhyQztRQVFFLDJEQUEyRDtRQUUzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBa0JQLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztLQTRCNUM7SUE1Q0MsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQWVELGtCQUFrQjtRQUNoQix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLEtBQUssQ0FDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFDdEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDN0QsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQyxFQUFFLEVBQUUsQ0FDaEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ3BCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDOztxSEFwRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isc1VBZ0JsQixtQkFBbUIsb0RBR25CLHdCQUF3QixrREFHeEIsbUJBQW1COzJGQXRCekIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDOzhCQUlDLFlBQVk7c0JBRlgsS0FBSzt1QkFBQyxtQkFBbUI7O3NCQUN6QixXQUFXO3VCQUFDLHdCQUF3QjtnQkFLckMsT0FBTztzQkFETixLQUFLO3VCQUFDLG1CQUFtQjtnQkFJdEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBUTdDLFlBQVk7c0JBRFgsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBSTVELGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBSWpFLGVBQWU7c0JBRGQsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBIb3N0QmluZGluZyxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveSxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSVBlbmRvRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGVuZG8uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ3hQZW5kb0lkRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGVuZG8taWQuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neC1wZW5kby1zZWN0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgTmd4UGVuZG9TZWN0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgSVBlbmRvRGlyZWN0aXZlLCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnbmd4LXBlbmRvLXNlY3Rpb24nKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIubmd4LXBlbmRvLXNlY3Rpb24nKVxuICBwZW5kb1NlY3Rpb24hOiBzdHJpbmc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCduZ3gtcGVuZG8taW5oZXJpdCcpXG4gIGluaGVyaXQgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5uZ3gtcGVuZG8tZGlzYWJsZS1pbmhlcml0JylcbiAgZ2V0IGRpc2FibGVJbmhlcml0KCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmluaGVyaXQgPyB1bmRlZmluZWQgOiB0cnVlO1xuICB9XG5cbiAgcGFyZW50ITogTmd4UGVuZG9TZWN0aW9uRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTmd4UGVuZG9JZERpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogZmFsc2UgfSlcbiAgaWREaXJlY3RpdmVzITogUXVlcnlMaXN0PE5neFBlbmRvSWREaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTmd4UGVuZG9TZWN0aW9uRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiBmYWxzZSB9KVxuICBzZWN0aW9uRGlyZWN0aXZlcyE6IFF1ZXJ5TGlzdDxOZ3hQZW5kb1NlY3Rpb25EaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTmd4UGVuZG9JZERpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBhbGxJZERpcmVjdGl2ZXMhOiBRdWVyeUxpc3Q8Tmd4UGVuZG9JZERpcmVjdGl2ZT47XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBzZXQgYWxsIGNoaWxkIHBhcmVudFxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgbWVyZ2UoXG4gICAgICAgIHRoaXMuc2VjdGlvbkRpcmVjdGl2ZXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLnNlY3Rpb25EaXJlY3RpdmVzKSksXG4gICAgICAgIHRoaXMuaWREaXJlY3RpdmVzLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5pZERpcmVjdGl2ZXMpKVxuICAgICAgKS5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8SVBlbmRvRGlyZWN0aXZlPikgPT5cbiAgICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoaXRlbSAhPT0gdGhpcykge1xuICAgICAgICAgICAgaXRlbS5wYXJlbnQgPSB0aGlzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnBlbmRvU2VjdGlvbiAmJiAhY2hhbmdlcy5wZW5kb1NlY3Rpb24uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuYWxsSWREaXJlY3RpdmVzLmZvckVhY2goaSA9PiAoaS5wYXJlbnQgPSBpLnBhcmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgxPendoComponent {
4
+ constructor() { }
5
+ ngOnInit() {
6
+ }
7
+ }
8
+ NgxPendoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ NgxPendoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoComponent, selector: "lib-ngx-pendo", ngImport: i0, template: `
10
+ <p>
11
+ ngx-pendo works!
12
+ </p>
13
+ `, isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ // eslint-disable-next-line @angular-eslint/component-selector
18
+ selector: 'lib-ngx-pendo',
19
+ template: `
20
+ <p>
21
+ ngx-pendo works!
22
+ </p>
23
+ `,
24
+ styles: []
25
+ }]
26
+ }], ctorParameters: function () { return []; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wZW5kby9zcmMvbGliL25neC1wZW5kby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7OEdBTFUsaUJBQWlCO2tHQUFqQixpQkFBaUIscURBUGxCOzs7O0dBSVQ7MkZBR1UsaUJBQWlCO2tCQVY3QixTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELE1BQU0sRUFBRSxFQUFFO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGliLW5neC1wZW5kbycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+XG4gICAgICBuZ3gtcGVuZG8gd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIE5neFBlbmRvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { APP_INITIALIZER, InjectionToken, isDevMode } from '@angular/core';
2
+ import { interval } from 'rxjs';
3
+ export const NGX_PENDO_SETTINGS_TOKEN = new InjectionToken('ngx-pendo-settings', {
4
+ factory: () => ({ pendoApiKey: '' }),
5
+ });
6
+ const DEFAULT_PENDO_SCRIPT_ORIGIN = 'https://cdn.pendo.io';
7
+ export const NGX_PENDO_INITIALIZER_PROVIDER = {
8
+ provide: APP_INITIALIZER,
9
+ multi: true,
10
+ useFactory: pendoInitializer,
11
+ deps: [
12
+ NGX_PENDO_SETTINGS_TOKEN,
13
+ ],
14
+ };
15
+ export function pendoInitializer($settings) {
16
+ return async () => {
17
+ if (!$settings.pendoApiKey) {
18
+ if (isDevMode()) {
19
+ console.error('Empty api key for Pendo. Make sure to provide one when initializing NgxPendoModule.');
20
+ }
21
+ return;
22
+ }
23
+ await new Promise((resolve, reject) => {
24
+ const script = document.createElement('script');
25
+ script.async = true;
26
+ script.src = `${$settings.pendoScriptOrigin || DEFAULT_PENDO_SCRIPT_ORIGIN}/agent/static/${$settings.pendoApiKey}/pendo.js`;
27
+ document.head.appendChild(script);
28
+ script.onerror = async () => {
29
+ // The script may have been blocked by an ad blocker
30
+ resolve();
31
+ };
32
+ script.onload = async () => {
33
+ // when enableDebugging should load extra js
34
+ const sub = interval(100).subscribe(() => {
35
+ if (pendo) {
36
+ sub.unsubscribe();
37
+ resolve();
38
+ }
39
+ });
40
+ };
41
+ });
42
+ };
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLmluamVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wZW5kby9zcmMvbGliL25neC1wZW5kby5pbmplY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQWlCLG9CQUFvQixFQUFFO0lBQy9GLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0NBQ3JDLENBQUMsQ0FBQztBQUVILE1BQU0sMkJBQTJCLEdBQUcsc0JBQXNCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQWE7SUFDdEQsT0FBTyxFQUFFLGVBQWU7SUFDeEIsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCLElBQUksRUFBRTtRQUNKLHdCQUF3QjtLQUN6QjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBeUI7SUFDeEQsT0FBTyxLQUFLLElBQUksRUFBRTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtZQUMxQixJQUFJLFNBQVMsRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUZBQXFGLENBQUMsQ0FBQzthQUN0RztZQUVELE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixJQUFJLDJCQUEyQixpQkFBaUIsU0FBUyxDQUFDLFdBQVcsV0FBVyxDQUFDO1lBQzVILFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUU7Z0JBQzFCLG9EQUFvRDtnQkFDcEQsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFO2dCQUN6Qiw0Q0FBNEM7Z0JBQzVDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUN2QyxJQUFJLEtBQUssRUFBRTt3QkFDVCxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ2xCLE9BQU8sRUFBRSxDQUFDO3FCQUNYO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiwgaXNEZXZNb2RlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElQZW5kb1NldHRpbmdzIH0gZnJvbSAnLi9uZ3gtcGVuZG8uaW50ZXJmYWNlcyc7XG5cbmRlY2xhcmUgdmFyIHBlbmRvOiBhbnk7XG5cbmV4cG9ydCBjb25zdCBOR1hfUEVORE9fU0VUVElOR1NfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SVBlbmRvU2V0dGluZ3M+KCduZ3gtcGVuZG8tc2V0dGluZ3MnLCB7XG4gIGZhY3Rvcnk6ICgpID0+ICh7IHBlbmRvQXBpS2V5OiAnJyB9KSxcbn0pO1xuXG5jb25zdCBERUZBVUxUX1BFTkRPX1NDUklQVF9PUklHSU4gPSAnaHR0cHM6Ly9jZG4ucGVuZG8uaW8nO1xuXG5leHBvcnQgY29uc3QgTkdYX1BFTkRPX0lOSVRJQUxJWkVSX1BST1ZJREVSOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICBtdWx0aTogdHJ1ZSxcbiAgdXNlRmFjdG9yeTogcGVuZG9Jbml0aWFsaXplcixcbiAgZGVwczogW1xuICAgIE5HWF9QRU5ET19TRVRUSU5HU19UT0tFTixcbiAgXSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBwZW5kb0luaXRpYWxpemVyKCRzZXR0aW5nczogSVBlbmRvU2V0dGluZ3MpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICBpZiAoISRzZXR0aW5ncy5wZW5kb0FwaUtleSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0VtcHR5IGFwaSBrZXkgZm9yIFBlbmRvLiBNYWtlIHN1cmUgdG8gcHJvdmlkZSBvbmUgd2hlbiBpbml0aWFsaXppbmcgTmd4UGVuZG9Nb2R1bGUuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICBzY3JpcHQuc3JjID0gYCR7JHNldHRpbmdzLnBlbmRvU2NyaXB0T3JpZ2luIHx8IERFRkFVTFRfUEVORE9fU0NSSVBUX09SSUdJTn0vYWdlbnQvc3RhdGljLyR7JHNldHRpbmdzLnBlbmRvQXBpS2V5fS9wZW5kby5qc2A7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgICBzY3JpcHQub25lcnJvciA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gVGhlIHNjcmlwdCBtYXkgaGF2ZSBiZWVuIGJsb2NrZWQgYnkgYW4gYWQgYmxvY2tlclxuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9O1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgLy8gd2hlbiBlbmFibGVEZWJ1Z2dpbmcgc2hvdWxkIGxvYWQgZXh0cmEganNcbiAgICAgICAgY29uc3Qgc3ViID0gaW50ZXJ2YWwoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmIChwZW5kbykge1xuICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NgxPendoComponent } from './ngx-pendo.component';
3
+ import { NGX_PENDO_SETTINGS_TOKEN, NGX_PENDO_INITIALIZER_PROVIDER } from './ngx-pendo.injectors';
4
+ import { NgxPendoIdDirective } from './ngx-pendo-id.directive';
5
+ import { NgxPendoSectionDirective } from './ngx-pendo-section.directive';
6
+ import { NgxPendoService } from './ngx-pendo.service';
7
+ import * as i0 from "@angular/core";
8
+ export class NgxPendoModule {
9
+ static forRoot(settings) {
10
+ return {
11
+ ngModule: NgxPendoModule,
12
+ providers: [
13
+ {
14
+ provide: NGX_PENDO_SETTINGS_TOKEN,
15
+ useValue: settings
16
+ },
17
+ NGX_PENDO_INITIALIZER_PROVIDER,
18
+ NgxPendoService,
19
+ ],
20
+ };
21
+ }
22
+ static forChild() {
23
+ return {
24
+ ngModule: NgxPendoModule,
25
+ providers: [
26
+ NgxPendoService,
27
+ ],
28
+ };
29
+ }
30
+ }
31
+ NgxPendoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ NgxPendoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, declarations: [NgxPendoComponent,
33
+ NgxPendoIdDirective,
34
+ NgxPendoSectionDirective], exports: [NgxPendoComponent,
35
+ NgxPendoIdDirective,
36
+ NgxPendoSectionDirective] });
37
+ NgxPendoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, imports: [[]] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ declarations: [
42
+ NgxPendoComponent,
43
+ NgxPendoIdDirective,
44
+ NgxPendoSectionDirective,
45
+ ],
46
+ imports: [],
47
+ exports: [
48
+ NgxPendoComponent,
49
+ NgxPendoIdDirective,
50
+ NgxPendoSectionDirective,
51
+ ],
52
+ }]
53
+ }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1wZW5kby9zcmMvbGliL25neC1wZW5kby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWV0RCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQXdCO1FBQ3JDLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLFFBQVE7aUJBQ25CO2dCQUNELDhCQUE4QjtnQkFDOUIsZUFBZTthQUNoQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDYixPQUFPO1lBQ0wsUUFBUSxFQUFFLGNBQWM7WUFDeEIsU0FBUyxFQUFFO2dCQUNULGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MkdBdEJVLGNBQWM7NEdBQWQsY0FBYyxpQkFYdkIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQix3QkFBd0IsYUFJeEIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQix3QkFBd0I7NEdBR2YsY0FBYyxZQVBoQixFQUFFOzJGQU9BLGNBQWM7a0JBYjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hQZW5kb0NvbXBvbmVudCB9IGZyb20gJy4vbmd4LXBlbmRvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR1hfUEVORE9fU0VUVElOR1NfVE9LRU4sIE5HWF9QRU5ET19JTklUSUFMSVpFUl9QUk9WSURFUiB9IGZyb20gJy4vbmd4LXBlbmRvLmluamVjdG9ycyc7XG5pbXBvcnQgeyBOZ3hQZW5kb0lkRGlyZWN0aXZlIH0gZnJvbSAnLi9uZ3gtcGVuZG8taWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5neFBlbmRvU2VjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbmd4LXBlbmRvLXNlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IElQZW5kb1NldHRpbmdzIH0gZnJvbSAnLi9uZ3gtcGVuZG8uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ3hQZW5kb1NlcnZpY2UgfSBmcm9tICcuL25neC1wZW5kby5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmd4UGVuZG9Db21wb25lbnQsXG4gICAgTmd4UGVuZG9JZERpcmVjdGl2ZSxcbiAgICBOZ3hQZW5kb1NlY3Rpb25EaXJlY3RpdmUsXG4gIF0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4UGVuZG9Db21wb25lbnQsXG4gICAgTmd4UGVuZG9JZERpcmVjdGl2ZSxcbiAgICBOZ3hQZW5kb1NlY3Rpb25EaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5neFBlbmRvTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qoc2V0dGluZ3M6IElQZW5kb1NldHRpbmdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hQZW5kb01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4UGVuZG9Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE5HWF9QRU5ET19TRVRUSU5HU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogc2V0dGluZ3NcbiAgICAgICAgfSxcbiAgICAgICAgTkdYX1BFTkRPX0lOSVRJQUxJWkVSX1BST1ZJREVSLFxuICAgICAgICBOZ3hQZW5kb1NlcnZpY2UsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hQZW5kb01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4UGVuZG9Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTmd4UGVuZG9TZXJ2aWNlLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Injectable, Inject } from '@angular/core';
2
2
  import { NGX_PENDO_SETTINGS_TOKEN } from './ngx-pendo.injectors';
3
+ import * as i0 from "@angular/core";
3
4
  const DEFAULT_PENDO_ID_FORMATTER = pendoId => pendoId;
4
- const ɵ0 = DEFAULT_PENDO_ID_FORMATTER;
5
5
  export class NgxPendoService {
6
6
  /**
7
7
  * Constructor
@@ -29,11 +29,12 @@ export class NgxPendoService {
29
29
  return (this.pendoIdFormatter ? ids.map(id => this.pendoIdFormatter(id)) : ids).join('.');
30
30
  }
31
31
  }
32
- NgxPendoService.decorators = [
33
- { type: Injectable }
34
- ];
35
- NgxPendoService.ctorParameters = () => [
36
- { type: undefined, decorators: [{ type: Inject, args: [NGX_PENDO_SETTINGS_TOKEN,] }] }
37
- ];
38
- export { ɵ0 };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcGVuZG8vc3JjL2xpYi9uZ3gtcGVuZG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUtqRSxNQUFNLDBCQUEwQixHQUFnQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQzs7QUFHbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUI7Ozs7T0FJRztJQUNILFlBQThDLFFBQXdCO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLElBQUksMEJBQTBCLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWlCLEVBQUUsT0FBa0I7UUFDOUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLEdBQUcsR0FBYTtRQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RixDQUFDOzs7WUEvQkYsVUFBVTs7OzRDQVVJLE1BQU0sU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWF9QRU5ET19TRVRUSU5HU19UT0tFTiB9IGZyb20gJy4vbmd4LXBlbmRvLmluamVjdG9ycyc7XG5pbXBvcnQgeyBJQWNjb3VudCwgSVZpc2l0b3IsIElQZW5kb1NldHRpbmdzIH0gZnJvbSAnLi9uZ3gtcGVuZG8uaW50ZXJmYWNlcyc7XG5cbmRlY2xhcmUgdmFyIHBlbmRvOiBhbnk7XG5cbmNvbnN0IERFRkFVTFRfUEVORE9fSURfRk9STUFUVEVSOiAocGVuZG9JZDogc3RyaW5nKSA9PiBzdHJpbmcgPSBwZW5kb0lkID0+IHBlbmRvSWQ7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hQZW5kb1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcGVuZG9JZEZvcm1hdHRlcjogKHBlbmRvSWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKlxuICAgKiBAcGFyYW0gc2V0dGluZ3MgSVBlbmRvU2V0dGluZ3NcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYX1BFTkRPX1NFVFRJTkdTX1RPS0VOKSBzZXR0aW5nczogSVBlbmRvU2V0dGluZ3MpIHtcbiAgICB0aGlzLnBlbmRvSWRGb3JtYXR0ZXIgPSBzZXR0aW5ncy5wZW5kb0lkRm9ybWF0dGVyIHx8IERFRkFVTFRfUEVORE9fSURfRk9STUFUVEVSO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmUtaW5pdGlhbGl6ZSB0aGUgQWdlbnQgd2l0aCBuZXcgb3B0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gdmlzaXRvciBJVmlzaXRvclxuICAgKiBAcGFyYW0gYWNjb3VudCBJQWNjb3VudFxuICAgKi9cbiAgaW5pdGlhbGl6ZSh2aXNpdG9yOiBJVmlzaXRvciwgYWNjb3VudD86IElBY2NvdW50KTogdm9pZCB7XG4gICAgcGVuZG8uaW5pdGlhbGl6ZSh7IHZpc2l0b3IsIGFjY291bnQgfSk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IFBlbmRvXG4gICAqXG4gICAqIEBwYXJhbSBpZHMgc3RyaW5nW11cbiAgICovXG4gIGZvcm1hdFBlbmRvSWQoLi4uaWRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnBlbmRvSWRGb3JtYXR0ZXIgPyBpZHMubWFwKGlkID0+IHRoaXMucGVuZG9JZEZvcm1hdHRlcihpZCkpIDogaWRzKS5qb2luKCcuJyk7XG4gIH1cblxufVxuIl19
32
+ NgxPendoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService, deps: [{ token: NGX_PENDO_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ NgxPendoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService, decorators: [{
35
+ type: Injectable
36
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
37
+ type: Inject,
38
+ args: [NGX_PENDO_SETTINGS_TOKEN]
39
+ }] }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcGVuZG8vc3JjL2xpYi9uZ3gtcGVuZG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLakUsTUFBTSwwQkFBMEIsR0FBZ0MsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7QUFHbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUI7Ozs7T0FJRztJQUNILFlBQThDLFFBQXdCO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLElBQUksMEJBQTBCLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWlCLEVBQUUsT0FBa0I7UUFDOUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLEdBQUcsR0FBYTtRQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1RixDQUFDOzs0R0E5QlUsZUFBZSxrQkFTTix3QkFBd0I7Z0hBVGpDLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7MEJBVUksTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWF9QRU5ET19TRVRUSU5HU19UT0tFTiB9IGZyb20gJy4vbmd4LXBlbmRvLmluamVjdG9ycyc7XG5pbXBvcnQgeyBJQWNjb3VudCwgSVZpc2l0b3IsIElQZW5kb1NldHRpbmdzIH0gZnJvbSAnLi9uZ3gtcGVuZG8uaW50ZXJmYWNlcyc7XG5cbmRlY2xhcmUgdmFyIHBlbmRvOiBhbnk7XG5cbmNvbnN0IERFRkFVTFRfUEVORE9fSURfRk9STUFUVEVSOiAocGVuZG9JZDogc3RyaW5nKSA9PiBzdHJpbmcgPSBwZW5kb0lkID0+IHBlbmRvSWQ7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hQZW5kb1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcGVuZG9JZEZvcm1hdHRlcjogKHBlbmRvSWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKlxuICAgKiBAcGFyYW0gc2V0dGluZ3MgSVBlbmRvU2V0dGluZ3NcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkdYX1BFTkRPX1NFVFRJTkdTX1RPS0VOKSBzZXR0aW5nczogSVBlbmRvU2V0dGluZ3MpIHtcbiAgICB0aGlzLnBlbmRvSWRGb3JtYXR0ZXIgPSBzZXR0aW5ncy5wZW5kb0lkRm9ybWF0dGVyIHx8IERFRkFVTFRfUEVORE9fSURfRk9STUFUVEVSO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBsZXRlbHkgcmUtaW5pdGlhbGl6ZSB0aGUgQWdlbnQgd2l0aCBuZXcgb3B0aW9uc1xuICAgKlxuICAgKiBAcGFyYW0gdmlzaXRvciBJVmlzaXRvclxuICAgKiBAcGFyYW0gYWNjb3VudCBJQWNjb3VudFxuICAgKi9cbiAgaW5pdGlhbGl6ZSh2aXNpdG9yOiBJVmlzaXRvciwgYWNjb3VudD86IElBY2NvdW50KTogdm9pZCB7XG4gICAgcGVuZG8uaW5pdGlhbGl6ZSh7IHZpc2l0b3IsIGFjY291bnQgfSk7XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0IFBlbmRvXG4gICAqXG4gICAqIEBwYXJhbSBpZHMgc3RyaW5nW11cbiAgICovXG4gIGZvcm1hdFBlbmRvSWQoLi4uaWRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnBlbmRvSWRGb3JtYXR0ZXIgPyBpZHMubWFwKGlkID0+IHRoaXMucGVuZG9JZEZvcm1hdHRlcihpZCkpIDogaWRzKS5qb2luKCcuJyk7XG4gIH1cblxufVxuIl19
File without changes
@@ -0,0 +1,278 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, APP_INITIALIZER, isDevMode, Injectable, Inject, Directive, Input, HostBinding, ContentChildren, Component, NgModule } from '@angular/core';
3
+ import { __awaiter } from 'tslib';
4
+ import { interval, merge } from 'rxjs';
5
+ import { startWith } from 'rxjs/operators';
6
+
7
+ const NGX_PENDO_SETTINGS_TOKEN = new InjectionToken('ngx-pendo-settings', {
8
+ factory: () => ({ pendoApiKey: '' }),
9
+ });
10
+ const DEFAULT_PENDO_SCRIPT_ORIGIN = 'https://cdn.pendo.io';
11
+ const NGX_PENDO_INITIALIZER_PROVIDER = {
12
+ provide: APP_INITIALIZER,
13
+ multi: true,
14
+ useFactory: pendoInitializer,
15
+ deps: [
16
+ NGX_PENDO_SETTINGS_TOKEN,
17
+ ],
18
+ };
19
+ function pendoInitializer($settings) {
20
+ return () => __awaiter(this, void 0, void 0, function* () {
21
+ if (!$settings.pendoApiKey) {
22
+ if (isDevMode()) {
23
+ console.error('Empty api key for Pendo. Make sure to provide one when initializing NgxPendoModule.');
24
+ }
25
+ return;
26
+ }
27
+ yield new Promise((resolve, reject) => {
28
+ const script = document.createElement('script');
29
+ script.async = true;
30
+ script.src = `${$settings.pendoScriptOrigin || DEFAULT_PENDO_SCRIPT_ORIGIN}/agent/static/${$settings.pendoApiKey}/pendo.js`;
31
+ document.head.appendChild(script);
32
+ script.onerror = () => __awaiter(this, void 0, void 0, function* () {
33
+ // The script may have been blocked by an ad blocker
34
+ resolve();
35
+ });
36
+ script.onload = () => __awaiter(this, void 0, void 0, function* () {
37
+ // when enableDebugging should load extra js
38
+ const sub = interval(100).subscribe(() => {
39
+ if (pendo) {
40
+ sub.unsubscribe();
41
+ resolve();
42
+ }
43
+ });
44
+ });
45
+ });
46
+ });
47
+ }
48
+
49
+ const DEFAULT_PENDO_ID_FORMATTER = pendoId => pendoId;
50
+ class NgxPendoService {
51
+ /**
52
+ * Constructor
53
+ *
54
+ * @param settings IPendoSettings
55
+ */
56
+ constructor(settings) {
57
+ this.pendoIdFormatter = settings.pendoIdFormatter || DEFAULT_PENDO_ID_FORMATTER;
58
+ }
59
+ /**
60
+ * Completely re-initialize the Agent with new options
61
+ *
62
+ * @param visitor IVisitor
63
+ * @param account IAccount
64
+ */
65
+ initialize(visitor, account) {
66
+ pendo.initialize({ visitor, account });
67
+ }
68
+ /**
69
+ * Format Pendo
70
+ *
71
+ * @param ids string[]
72
+ */
73
+ formatPendoId(...ids) {
74
+ return (this.pendoIdFormatter ? ids.map(id => this.pendoIdFormatter(id)) : ids).join('.');
75
+ }
76
+ }
77
+ NgxPendoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService, deps: [{ token: NGX_PENDO_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ NgxPendoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoService, decorators: [{
80
+ type: Injectable
81
+ }], ctorParameters: function () {
82
+ return [{ type: undefined, decorators: [{
83
+ type: Inject,
84
+ args: [NGX_PENDO_SETTINGS_TOKEN]
85
+ }] }];
86
+ } });
87
+
88
+ class NgxPendoIdDirective {
89
+ constructor(service) {
90
+ this.service = service;
91
+ this._pendoSections = [];
92
+ // eslint-disable-next-line @angular-eslint/no-input-rename
93
+ this.inherit = true;
94
+ }
95
+ get pendoId() {
96
+ return this.service.formatPendoId(...this._pendoSections, this._pendoId);
97
+ }
98
+ set pendoId(value) {
99
+ this._pendoId = value;
100
+ }
101
+ get parent() {
102
+ return this._parent;
103
+ }
104
+ set parent(value) {
105
+ this._parent = value;
106
+ setTimeout(() => {
107
+ this._pendoSections = [];
108
+ let cur = this.inherit ? value : null;
109
+ while (cur) {
110
+ this._pendoSections.unshift(cur.pendoSection);
111
+ cur = cur.inherit ? cur.parent : null;
112
+ }
113
+ });
114
+ }
115
+ get disableInherit() {
116
+ return this.inherit ? undefined : true;
117
+ }
118
+ }
119
+ NgxPendoIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoIdDirective, deps: [{ token: NgxPendoService }], target: i0.ɵɵFactoryTarget.Directive });
120
+ NgxPendoIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoIdDirective, selector: "[ngx-pendo-id]", inputs: { pendoId: ["ngx-pendo-id", "pendoId"], inherit: ["ngx-pendo-inherit", "inherit"] }, host: { properties: { "attr.data-pendo-id": "this.pendoId", "attr.ngx-pendo-disable-inherit": "this.disableInherit" } }, ngImport: i0 });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoIdDirective, decorators: [{
122
+ type: Directive,
123
+ args: [{
124
+ selector: '[ngx-pendo-id]'
125
+ }]
126
+ }], ctorParameters: function () { return [{ type: NgxPendoService }]; }, propDecorators: { pendoId: [{
127
+ type: Input,
128
+ args: ['ngx-pendo-id']
129
+ }, {
130
+ type: HostBinding,
131
+ args: ['attr.data-pendo-id']
132
+ }], inherit: [{
133
+ type: Input,
134
+ args: ['ngx-pendo-inherit']
135
+ }], disableInherit: [{
136
+ type: HostBinding,
137
+ args: ['attr.ngx-pendo-disable-inherit']
138
+ }] } });
139
+
140
+ class NgxPendoSectionDirective {
141
+ constructor() {
142
+ // eslint-disable-next-line @angular-eslint/no-input-rename
143
+ this.inherit = true;
144
+ this.subscriptions = [];
145
+ }
146
+ get disableInherit() {
147
+ return this.inherit ? undefined : true;
148
+ }
149
+ ngAfterContentInit() {
150
+ // set all child parent
151
+ this.subscriptions.push(merge(this.sectionDirectives.changes.pipe(startWith(this.sectionDirectives)), this.idDirectives.changes.pipe(startWith(this.idDirectives))).subscribe((items) => items.forEach(item => {
152
+ if (item !== this) {
153
+ item.parent = this;
154
+ }
155
+ })));
156
+ }
157
+ ngOnChanges(changes) {
158
+ if (changes.pendoSection && !changes.pendoSection.firstChange) {
159
+ this.allIdDirectives.forEach(i => (i.parent = i.parent));
160
+ }
161
+ }
162
+ ngOnDestroy() {
163
+ this.subscriptions.forEach(s => s.unsubscribe());
164
+ this.subscriptions = [];
165
+ }
166
+ }
167
+ NgxPendoSectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
168
+ NgxPendoSectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoSectionDirective, selector: "[ngx-pendo-section]", inputs: { pendoSection: ["ngx-pendo-section", "pendoSection"], inherit: ["ngx-pendo-inherit", "inherit"] }, host: { properties: { "attr.ngx-pendo-section": "this.pendoSection", "attr.ngx-pendo-disable-inherit": "this.disableInherit" } }, queries: [{ propertyName: "idDirectives", predicate: NgxPendoIdDirective }, { propertyName: "sectionDirectives", predicate: NgxPendoSectionDirective }, { propertyName: "allIdDirectives", predicate: NgxPendoIdDirective, descendants: true }], usesOnChanges: true, ngImport: i0 });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoSectionDirective, decorators: [{
170
+ type: Directive,
171
+ args: [{
172
+ selector: '[ngx-pendo-section]'
173
+ }]
174
+ }], propDecorators: { pendoSection: [{
175
+ type: Input,
176
+ args: ['ngx-pendo-section']
177
+ }, {
178
+ type: HostBinding,
179
+ args: ['attr.ngx-pendo-section']
180
+ }], inherit: [{
181
+ type: Input,
182
+ args: ['ngx-pendo-inherit']
183
+ }], disableInherit: [{
184
+ type: HostBinding,
185
+ args: ['attr.ngx-pendo-disable-inherit']
186
+ }], idDirectives: [{
187
+ type: ContentChildren,
188
+ args: [NgxPendoIdDirective, { descendants: false }]
189
+ }], sectionDirectives: [{
190
+ type: ContentChildren,
191
+ args: [NgxPendoSectionDirective, { descendants: false }]
192
+ }], allIdDirectives: [{
193
+ type: ContentChildren,
194
+ args: [NgxPendoIdDirective, { descendants: true }]
195
+ }] } });
196
+
197
+ class NgxPendoComponent {
198
+ constructor() { }
199
+ ngOnInit() {
200
+ }
201
+ }
202
+ NgxPendoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
203
+ NgxPendoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: NgxPendoComponent, selector: "lib-ngx-pendo", ngImport: i0, template: `
204
+ <p>
205
+ ngx-pendo works!
206
+ </p>
207
+ `, isInline: true });
208
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoComponent, decorators: [{
209
+ type: Component,
210
+ args: [{
211
+ // eslint-disable-next-line @angular-eslint/component-selector
212
+ selector: 'lib-ngx-pendo',
213
+ template: `
214
+ <p>
215
+ ngx-pendo works!
216
+ </p>
217
+ `,
218
+ styles: []
219
+ }]
220
+ }], ctorParameters: function () { return []; } });
221
+
222
+ class NgxPendoModule {
223
+ static forRoot(settings) {
224
+ return {
225
+ ngModule: NgxPendoModule,
226
+ providers: [
227
+ {
228
+ provide: NGX_PENDO_SETTINGS_TOKEN,
229
+ useValue: settings
230
+ },
231
+ NGX_PENDO_INITIALIZER_PROVIDER,
232
+ NgxPendoService,
233
+ ],
234
+ };
235
+ }
236
+ static forChild() {
237
+ return {
238
+ ngModule: NgxPendoModule,
239
+ providers: [
240
+ NgxPendoService,
241
+ ],
242
+ };
243
+ }
244
+ }
245
+ NgxPendoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
246
+ NgxPendoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, declarations: [NgxPendoComponent,
247
+ NgxPendoIdDirective,
248
+ NgxPendoSectionDirective], exports: [NgxPendoComponent,
249
+ NgxPendoIdDirective,
250
+ NgxPendoSectionDirective] });
251
+ NgxPendoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, imports: [[]] });
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NgxPendoModule, decorators: [{
253
+ type: NgModule,
254
+ args: [{
255
+ declarations: [
256
+ NgxPendoComponent,
257
+ NgxPendoIdDirective,
258
+ NgxPendoSectionDirective,
259
+ ],
260
+ imports: [],
261
+ exports: [
262
+ NgxPendoComponent,
263
+ NgxPendoIdDirective,
264
+ NgxPendoSectionDirective,
265
+ ],
266
+ }]
267
+ }] });
268
+
269
+ /*
270
+ * Public API Surface of ngx-pendo
271
+ */
272
+
273
+ /**
274
+ * Generated bundle index. Do not edit.
275
+ */
276
+
277
+ export { NGX_PENDO_INITIALIZER_PROVIDER, NGX_PENDO_SETTINGS_TOKEN, NgxPendoComponent, NgxPendoIdDirective, NgxPendoModule, NgxPendoSectionDirective, NgxPendoService, pendoInitializer };
278
+ //# sourceMappingURL=ngx-pendo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-pendo.mjs","sources":["../../../projects/ngx-pendo/src/lib/ngx-pendo.injectors.ts","../../../projects/ngx-pendo/src/lib/ngx-pendo.service.ts","../../../projects/ngx-pendo/src/lib/ngx-pendo-id.directive.ts","../../../projects/ngx-pendo/src/lib/ngx-pendo-section.directive.ts","../../../projects/ngx-pendo/src/lib/ngx-pendo.component.ts","../../../projects/ngx-pendo/src/lib/ngx-pendo.module.ts","../../../projects/ngx-pendo/src/public-api.ts","../../../projects/ngx-pendo/src/ngx-pendo.ts"],"sourcesContent":["import { APP_INITIALIZER, InjectionToken, isDevMode, Provider } from '@angular/core';\nimport { interval } from 'rxjs';\nimport { IPendoSettings } from './ngx-pendo.interfaces';\n\ndeclare var pendo: any;\n\nexport const NGX_PENDO_SETTINGS_TOKEN = new InjectionToken<IPendoSettings>('ngx-pendo-settings', {\n factory: () => ({ pendoApiKey: '' }),\n});\n\nconst DEFAULT_PENDO_SCRIPT_ORIGIN = 'https://cdn.pendo.io';\n\nexport const NGX_PENDO_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: pendoInitializer,\n deps: [\n NGX_PENDO_SETTINGS_TOKEN,\n ],\n};\n\nexport function pendoInitializer($settings: IPendoSettings): () => Promise<void> {\n return async () => {\n if (!$settings.pendoApiKey) {\n if (isDevMode()) {\n console.error('Empty api key for Pendo. Make sure to provide one when initializing NgxPendoModule.');\n }\n\n return;\n }\n\n await new Promise<void>((resolve, reject) => {\n const script = document.createElement('script');\n script.async = true;\n script.src = `${$settings.pendoScriptOrigin || DEFAULT_PENDO_SCRIPT_ORIGIN}/agent/static/${$settings.pendoApiKey}/pendo.js`;\n document.head.appendChild(script);\n script.onerror = async () => {\n // The script may have been blocked by an ad blocker\n resolve();\n };\n script.onload = async () => {\n // when enableDebugging should load extra js\n const sub = interval(100).subscribe(() => {\n if (pendo) {\n sub.unsubscribe();\n resolve();\n }\n });\n };\n });\n };\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { NGX_PENDO_SETTINGS_TOKEN } from './ngx-pendo.injectors';\nimport { IAccount, IVisitor, IPendoSettings } from './ngx-pendo.interfaces';\n\ndeclare var pendo: any;\n\nconst DEFAULT_PENDO_ID_FORMATTER: (pendoId: string) => string = pendoId => pendoId;\n\n@Injectable()\nexport class NgxPendoService {\n\n private pendoIdFormatter: (pendoId: string) => string;\n\n /**\n * Constructor\n *\n * @param settings IPendoSettings\n */\n constructor(@Inject(NGX_PENDO_SETTINGS_TOKEN) settings: IPendoSettings) {\n this.pendoIdFormatter = settings.pendoIdFormatter || DEFAULT_PENDO_ID_FORMATTER;\n }\n\n /**\n * Completely re-initialize the Agent with new options\n *\n * @param visitor IVisitor\n * @param account IAccount\n */\n initialize(visitor: IVisitor, account?: IAccount): void {\n pendo.initialize({ visitor, account });\n }\n\n /**\n * Format Pendo\n *\n * @param ids string[]\n */\n formatPendoId(...ids: string[]): string {\n return (this.pendoIdFormatter ? ids.map(id => this.pendoIdFormatter(id)) : ids).join('.');\n }\n\n}\n","import { Directive, Input, HostBinding } from '@angular/core';\nimport { IPendoDirective } from './ngx-pendo.interfaces';\nimport { NgxPendoService } from './ngx-pendo.service';\nimport { NgxPendoSectionDirective } from './ngx-pendo-section.directive';\n\n@Directive({\n selector: '[ngx-pendo-id]'\n})\nexport class NgxPendoIdDirective implements IPendoDirective {\n private _parent!: NgxPendoSectionDirective;\n\n private _pendoSections: string[] = [];\n\n private _pendoId!: string;\n\n @Input('ngx-pendo-id')\n @HostBinding('attr.data-pendo-id')\n get pendoId(): string {\n return this.service.formatPendoId(...this._pendoSections, this._pendoId);\n }\n set pendoId(value: string) {\n this._pendoId = value;\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('ngx-pendo-inherit')\n inherit = true;\n\n get parent(): NgxPendoSectionDirective {\n return this._parent;\n }\n set parent(value: NgxPendoSectionDirective) {\n this._parent = value;\n setTimeout(() => {\n this._pendoSections = [];\n let cur = this.inherit ? value : null;\n while (cur) {\n this._pendoSections.unshift(cur.pendoSection);\n cur = cur.inherit ? cur.parent : null;\n }\n });\n }\n\n @HostBinding('attr.ngx-pendo-disable-inherit')\n get disableInherit(): boolean | undefined {\n return this.inherit ? undefined : true;\n }\n\n constructor(private service: NgxPendoService) {}\n}\n","import {\n Directive,\n Input,\n HostBinding,\n ContentChildren,\n QueryList,\n AfterContentInit,\n OnDestroy,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport { merge, Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\nimport { IPendoDirective } from './ngx-pendo.interfaces';\nimport { NgxPendoIdDirective } from './ngx-pendo-id.directive';\n\n@Directive({\n selector: '[ngx-pendo-section]'\n})\nexport class NgxPendoSectionDirective implements IPendoDirective, AfterContentInit, OnChanges, OnDestroy {\n @Input('ngx-pendo-section')\n @HostBinding('attr.ngx-pendo-section')\n pendoSection!: string;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('ngx-pendo-inherit')\n inherit = true;\n\n @HostBinding('attr.ngx-pendo-disable-inherit')\n get disableInherit(): boolean | undefined {\n return this.inherit ? undefined : true;\n }\n\n parent!: NgxPendoSectionDirective;\n\n @ContentChildren(NgxPendoIdDirective, { descendants: false })\n idDirectives!: QueryList<NgxPendoIdDirective>;\n\n @ContentChildren(NgxPendoSectionDirective, { descendants: false })\n sectionDirectives!: QueryList<NgxPendoSectionDirective>;\n\n @ContentChildren(NgxPendoIdDirective, { descendants: true })\n allIdDirectives!: QueryList<NgxPendoIdDirective>;\n\n private subscriptions: Subscription[] = [];\n\n ngAfterContentInit(): void {\n // set all child parent\n this.subscriptions.push(\n merge(\n this.sectionDirectives.changes.pipe(startWith(this.sectionDirectives)),\n this.idDirectives.changes.pipe(startWith(this.idDirectives))\n ).subscribe((items: QueryList<IPendoDirective>) =>\n items.forEach(item => {\n if (item !== this) {\n item.parent = this;\n }\n })\n )\n );\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.pendoSection && !changes.pendoSection.firstChange) {\n this.allIdDirectives.forEach(i => (i.parent = i.parent));\n }\n }\n\n ngOnDestroy(): void {\n this.subscriptions.forEach(s => s.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'lib-ngx-pendo',\n template: `\n <p>\n ngx-pendo works!\n </p>\n `,\n styles: []\n})\nexport class NgxPendoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { NgxPendoComponent } from './ngx-pendo.component';\nimport { NGX_PENDO_SETTINGS_TOKEN, NGX_PENDO_INITIALIZER_PROVIDER } from './ngx-pendo.injectors';\nimport { NgxPendoIdDirective } from './ngx-pendo-id.directive';\nimport { NgxPendoSectionDirective } from './ngx-pendo-section.directive';\nimport { IPendoSettings } from './ngx-pendo.interfaces';\nimport { NgxPendoService } from './ngx-pendo.service';\n\n@NgModule({\n declarations: [\n NgxPendoComponent,\n NgxPendoIdDirective,\n NgxPendoSectionDirective,\n ],\n imports: [],\n exports: [\n NgxPendoComponent,\n NgxPendoIdDirective,\n NgxPendoSectionDirective,\n ],\n})\nexport class NgxPendoModule {\n static forRoot(settings: IPendoSettings): ModuleWithProviders<NgxPendoModule> {\n return {\n ngModule: NgxPendoModule,\n providers: [\n {\n provide: NGX_PENDO_SETTINGS_TOKEN,\n useValue: settings\n },\n NGX_PENDO_INITIALIZER_PROVIDER,\n NgxPendoService,\n ],\n };\n }\n\n static forChild(): ModuleWithProviders<NgxPendoModule> {\n return {\n ngModule: NgxPendoModule,\n providers: [\n NgxPendoService,\n ],\n };\n }\n}\n","/*\n * Public API Surface of ngx-pendo\n */\n\nexport * from './lib/ngx-pendo-id.directive';\nexport * from './lib/ngx-pendo-section.directive';\nexport * from './lib/ngx-pendo.service';\nexport * from './lib/ngx-pendo.component';\nexport * from './lib/ngx-pendo.injectors';\nexport * from './lib/ngx-pendo.interfaces';\nexport * from './lib/ngx-pendo.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAMa,wBAAwB,GAAG,IAAI,cAAc,CAAiB,oBAAoB,EAAE;IAC/F,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;CACrC,EAAE;AAEH,MAAM,2BAA2B,GAAG,sBAAsB,CAAC;MAE9C,8BAA8B,GAAa;IACtD,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,gBAAgB;IAC5B,IAAI,EAAE;QACJ,wBAAwB;KACzB;EACD;SAEc,gBAAgB,CAAC,SAAyB;IACxD,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1B,IAAI,SAAS,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;aACtG;YAED,OAAO;SACR;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM;YACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,iBAAiB,IAAI,2BAA2B,iBAAiB,SAAS,CAAC,WAAW,WAAW,CAAC;YAC5H,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,GAAG;;gBAEf,OAAO,EAAE,CAAC;aACX,CAAA,CAAC;YACF,MAAM,CAAC,MAAM,GAAG;;gBAEd,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;oBAClC,IAAI,KAAK,EAAE;wBACT,GAAG,CAAC,WAAW,EAAE,CAAC;wBAClB,OAAO,EAAE,CAAC;qBACX;iBACF,CAAC,CAAC;aACJ,CAAA,CAAC;SACH,CAAC,CAAC;KACJ,CAAA,CAAC;AACJ;;AC7CA,MAAM,0BAA0B,GAAgC,OAAO,IAAI,OAAO,CAAC;MAGtE,eAAe;;;;;;IAS1B,YAA8C,QAAwB;QACpE,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;KACjF;;;;;;;IAQD,UAAU,CAAC,OAAiB,EAAE,OAAkB;QAC9C,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;KACxC;;;;;;IAOD,aAAa,CAAC,GAAG,GAAa;QAC5B,OAAO,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3F;;4GA9BU,eAAe,kBASN,wBAAwB;gHATjC,eAAe;2FAAf,eAAe;kBAD3B,UAAU;;;8BAUI,MAAM;+BAAC,wBAAwB;;;;MCVjC,mBAAmB;IAwC9B,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;QArCpC,mBAAc,GAAa,EAAE,CAAC;;QAetC,YAAO,GAAG,IAAI,CAAC;KAsBiC;IAjChD,IAEI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1E;IACD,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACvB;IAMD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,MAAM,CAAC,KAA+B;QACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,UAAU,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;YACtC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC9C,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;aACvC;SACF,CAAC,CAAC;KACJ;IAED,IACI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;KACxC;;gHAtCU,mBAAmB;oGAAnB,mBAAmB;2FAAnB,mBAAmB;kBAH/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;iBAC3B;mGAUK,OAAO;sBAFV,KAAK;uBAAC,cAAc;;sBACpB,WAAW;uBAAC,oBAAoB;gBAUjC,OAAO;sBADN,KAAK;uBAAC,mBAAmB;gBAmBtB,cAAc;sBADjB,WAAW;uBAAC,gCAAgC;;;MCxBlC,wBAAwB;IAHrC;;QAUE,YAAO,GAAG,IAAI,CAAC;QAkBP,kBAAa,GAAmB,EAAE,CAAC;KA4B5C;IA5CC,IACI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;KACxC;IAeD,kBAAkB;;QAEhB,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,KAAK,CACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EACtE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAC7D,CAAC,SAAS,CAAC,CAAC,KAAiC,KAC5C,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;SACF,CAAC,CACH,CACF,CAAC;KACH;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,OAAO,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1D;KACF;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACzB;;qHApDU,wBAAwB;yGAAxB,wBAAwB,sUAgBlB,mBAAmB,oDAGnB,wBAAwB,kDAGxB,mBAAmB;2FAtBzB,wBAAwB;kBAHpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;iBAChC;8BAIC,YAAY;sBAFX,KAAK;uBAAC,mBAAmB;;sBACzB,WAAW;uBAAC,wBAAwB;gBAKrC,OAAO;sBADN,KAAK;uBAAC,mBAAmB;gBAItB,cAAc;sBADjB,WAAW;uBAAC,gCAAgC;gBAQ7C,YAAY;sBADX,eAAe;uBAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAI5D,iBAAiB;sBADhB,eAAe;uBAAC,wBAAwB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAIjE,eAAe;sBADd,eAAe;uBAAC,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;MC7BhD,iBAAiB;IAE5B,iBAAiB;IAEjB,QAAQ;KACP;;8GALU,iBAAiB;kGAAjB,iBAAiB,qDAPlB;;;;GAIT;2FAGU,iBAAiB;kBAV7B,SAAS;mBAAC;;oBAET,QAAQ,EAAE,eAAe;oBACzB,QAAQ,EAAE;;;;GAIT;oBACD,MAAM,EAAE,EAAE;iBACX;;;MCUY,cAAc;IACzB,OAAO,OAAO,CAAC,QAAwB;QACrC,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,QAAQ;iBACnB;gBACD,8BAA8B;gBAC9B,eAAe;aAChB;SACF,CAAC;KACH;IAED,OAAO,QAAQ;QACb,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE;gBACT,eAAe;aAChB;SACF,CAAC;KACH;;2GAtBU,cAAc;4GAAd,cAAc,iBAXvB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB,aAIxB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB;4GAGf,cAAc,YAPhB,EAAE;2FAOA,cAAc;kBAb1B,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,mBAAmB;wBACnB,wBAAwB;qBACzB;oBACD,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE;wBACP,iBAAiB;wBACjB,mBAAmB;wBACnB,wBAAwB;qBACzB;iBACF;;;ACpBD;;;;ACAA;;;;;;"}