ngx-pendo 1.5.1 → 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 (43) hide show
  1. package/README.md +32 -0
  2. package/esm2020/lib/ngx-pendo-id.directive.mjs +55 -0
  3. package/esm2020/lib/ngx-pendo-section.directive.mjs +62 -0
  4. package/esm2020/lib/ngx-pendo.component.mjs +27 -0
  5. package/esm2020/lib/ngx-pendo.injectors.mjs +44 -0
  6. package/{esm2015/lib/ngx-pendo.interfaces.js → esm2020/lib/ngx-pendo.interfaces.mjs} +1 -0
  7. package/esm2020/lib/ngx-pendo.module.mjs +54 -0
  8. package/esm2020/lib/ngx-pendo.service.mjs +40 -0
  9. package/{esm2015/ngx-pendo.js → esm2020/ngx-pendo.mjs} +0 -0
  10. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  11. package/fesm2015/ngx-pendo.mjs +278 -0
  12. package/fesm2015/ngx-pendo.mjs.map +1 -0
  13. package/fesm2020/ngx-pendo.mjs +275 -0
  14. package/fesm2020/ngx-pendo.mjs.map +1 -0
  15. package/lib/ngx-pendo-id.directive.d.ts +4 -1
  16. package/lib/ngx-pendo-section.directive.d.ts +4 -1
  17. package/lib/ngx-pendo.component.d.ts +3 -0
  18. package/lib/ngx-pendo.module.d.ts +7 -0
  19. package/lib/ngx-pendo.service.d.ts +3 -0
  20. package/ngx-pendo.d.ts +1 -0
  21. package/package.json +23 -10
  22. package/schematics/collection.json +11 -0
  23. package/schematics/ng-add/index.d.ts +2 -0
  24. package/schematics/ng-add/index.js +106 -0
  25. package/schematics/ng-add/index.js.map +1 -0
  26. package/schematics/ng-add/index.spec.d.ts +1 -0
  27. package/schematics/ng-add/index.spec.js +47 -0
  28. package/schematics/ng-add/index.spec.js.map +1 -0
  29. package/schematics/ng-add/schema.json +24 -0
  30. package/CHANGELOG.md +0 -46
  31. package/bundles/ngx-pendo.umd.js +0 -589
  32. package/bundles/ngx-pendo.umd.js.map +0 -1
  33. package/bundles/ngx-pendo.umd.min.js +0 -16
  34. package/bundles/ngx-pendo.umd.min.js.map +0 -1
  35. package/esm2015/lib/ngx-pendo-id.directive.js +0 -43
  36. package/esm2015/lib/ngx-pendo-section.directive.js +0 -45
  37. package/esm2015/lib/ngx-pendo.component.js +0 -18
  38. package/esm2015/lib/ngx-pendo.injectors.js +0 -46
  39. package/esm2015/lib/ngx-pendo.module.js +0 -45
  40. package/esm2015/lib/ngx-pendo.service.js +0 -36
  41. package/fesm2015/ngx-pendo.js +0 -230
  42. package/fesm2015/ngx-pendo.js.map +0 -1
  43. package/ngx-pendo.metadata.json +0 -1
package/README.md CHANGED
@@ -8,10 +8,42 @@ An easy implementation pendo on angular6+ apps.
8
8
 
9
9
  ## Install
10
10
 
11
+ ### npm
12
+
13
+ If you use npm:
14
+
11
15
  ```
12
16
  npm install ngx-pendo
13
17
  ```
14
18
 
19
+ ### yarn
20
+
21
+ If you use yarn:
22
+
23
+ ```
24
+ yarn add ngx-pendo
25
+ ```
26
+
27
+ ### schematics
28
+
29
+ Use the Angular CLI's install [schematics](https://angular.io/guide/schematics) to set up [ngx-pendo](https://www.npmjs.com/package/ngx-pendo) by running the following command:
30
+
31
+ ```
32
+ ng add ngx-pendo
33
+ ```
34
+
35
+ The `ng add` command will install [ngx-pendo](https://www.npmjs.com/package/ngx-pendo) and ask you the following question:
36
+
37
+ 1. Please enter Pendo Api Key: <br/> You must enter Pendo Api Key
38
+
39
+ The `ng add` command will additionally perform the following configurations:
40
+
41
+ * Add `ngx-pendo` to *package.json*
42
+ * Auto import `NgxPendoModule` with *pendoApiKey* into `AppModule`
43
+
44
+
45
+ > This feature need angular 11+.
46
+
15
47
  ## Feedbacks
16
48
 
17
49
  https://github.com/yociduo/ngx-pendo/issues
@@ -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=
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXBlbmRvLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcGVuZG8vc3JjL2xpYi9uZ3gtcGVuZG8uaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUGVuZG9TZXR0aW5ncyB7XG4gIHBlbmRvQXBpS2V5OiBzdHJpbmc7XG4gIHBlbmRvU2NyaXB0T3JpZ2luPzogc3RyaW5nO1xuICBwZW5kb0lkRm9ybWF0dGVyPzogKHBlbmRvSWQ6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWaXNpdG9yIHtcbiAgaWQ6IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBY2NvdW50IHtcbiAgaWQ6IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZW5kb0RpcmVjdGl2ZSB7XG4gIGluaGVyaXQ6IGJvb2xlYW47XG4gIHBhcmVudD86IElQZW5kb0RpcmVjdGl2ZTtcbn1cbiJdfQ==
@@ -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=
@@ -0,0 +1,40 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { NGX_PENDO_SETTINGS_TOKEN } from './ngx-pendo.injectors';
3
+ import * as i0 from "@angular/core";
4
+ const DEFAULT_PENDO_ID_FORMATTER = pendoId => pendoId;
5
+ export class NgxPendoService {
6
+ /**
7
+ * Constructor
8
+ *
9
+ * @param settings IPendoSettings
10
+ */
11
+ constructor(settings) {
12
+ this.pendoIdFormatter = settings.pendoIdFormatter || DEFAULT_PENDO_ID_FORMATTER;
13
+ }
14
+ /**
15
+ * Completely re-initialize the Agent with new options
16
+ *
17
+ * @param visitor IVisitor
18
+ * @param account IAccount
19
+ */
20
+ initialize(visitor, account) {
21
+ pendo.initialize({ visitor, account });
22
+ }
23
+ /**
24
+ * Format Pendo
25
+ *
26
+ * @param ids string[]
27
+ */
28
+ formatPendoId(...ids) {
29
+ return (this.pendoIdFormatter ? ids.map(id => this.pendoIdFormatter(id)) : ids).join('.');
30
+ }
31
+ }
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