simpo-component-library 3.6.635 → 3.6.636

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 (29) hide show
  1. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +2 -2
  2. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +13 -19
  3. package/esm2022/lib/ecommerce/sections/product-list/product-list.component.mjs +16 -73
  4. package/esm2022/lib/elements/below-image-card/below-image-card.component.mjs +3 -3
  5. package/esm2022/lib/elements/top-of-image-card/top-of-image-card.component.mjs +3 -3
  6. package/esm2022/lib/sections/logo-showcase/logo-showcase.component.mjs +3 -3
  7. package/esm2022/lib/sections/video-grid-section/video-grid-section.component.mjs +3 -3
  8. package/esm2022/lib/services/cart.service.mjs +5 -44
  9. package/esm2022/lib/services/rest.service.mjs +1 -5
  10. package/fesm2022/simpo-component-library.mjs +27 -278
  11. package/fesm2022/simpo-component-library.mjs.map +1 -1
  12. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  13. package/lib/ecommerce/sections/featured-category/featured-category.component.d.ts +1 -1
  14. package/lib/ecommerce/sections/featured-category/featured-collection.component.d.ts +1 -1
  15. package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
  16. package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +2 -4
  17. package/lib/ecommerce/sections/product-list/product-list.component.d.ts +1 -6
  18. package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
  19. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +1 -1
  20. package/lib/sections/image-grid-hotspot/image-grid-hotspot.component.d.ts +1 -1
  21. package/lib/sections/image-grid-section/image-grid-section.component.d.ts +1 -1
  22. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  23. package/lib/services/cart.service.d.ts +1 -7
  24. package/lib/services/rest.service.d.ts +0 -1
  25. package/package.json +1 -1
  26. package/simpo-component-library-3.6.636.tgz +0 -0
  27. package/esm2022/lib/services/analytics.service.mjs +0 -160
  28. package/lib/services/analytics.service.d.ts +0 -33
  29. package/simpo-component-library-3.6.635.tgz +0 -0
@@ -13,7 +13,7 @@ export declare class InputFieldsComponent implements OnChanges {
13
13
  constructor(elementRef: ElementRef);
14
14
  ngOnChanges(changes: SimpleChanges): void;
15
15
  handleMoneyInput(event: any): void;
16
- get getTextColor(): "#000" | "#FFF";
16
+ get getTextColor(): "#FFF" | "#000";
17
17
  interpolateColor(color1: string, color2: string, factor: number): string;
18
18
  padZero(str: string, length: number): string;
19
19
  generateColorBasedOnNumber(number: number): string;
@@ -32,7 +32,7 @@ export declare class FeaturedCategoryComponent extends BaseSection {
32
32
  get getDirection(): "ROW" | "COLUMN" | undefined;
33
33
  get stylesLayout(): LayOutModel;
34
34
  get isMobile(): boolean;
35
- getJustifyContent(): import("simpo-component-library").ALIGN | "" | "flex-start";
35
+ getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FeaturedCategoryComponent, never>;
37
37
  static ɵcmp: i0.ɵɵComponentDeclaration<FeaturedCategoryComponent, "simpo-featured-category", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
38
38
  }
@@ -32,7 +32,7 @@ export declare class FeaturedCollectionComponent extends BaseSection {
32
32
  get getDirection(): "ROW" | "COLUMN" | undefined;
33
33
  get isMobile(): boolean;
34
34
  editSection(): void;
35
- getJustifyContent(): import("simpo-component-library").ALIGN | "" | "flex-start";
35
+ getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<FeaturedCollectionComponent, never>;
37
37
  static ɵcmp: i0.ɵɵComponentDeclaration<FeaturedCollectionComponent, "simpo-featured-collection", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
38
38
  }
@@ -33,7 +33,7 @@ export declare class NewCollectionComponent extends BaseSection {
33
33
  get isMobile(): boolean;
34
34
  editSection(): void;
35
35
  getColor(color: any): "#000000" | "#ffffff";
36
- getJustifyContent(): import("simpo-component-library").ALIGN | "" | "flex-start";
36
+ getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NewCollectionComponent, never>;
38
38
  static ɵcmp: i0.ɵɵComponentDeclaration<NewCollectionComponent, "simpo-new-collection", never, { "data": { "alias": "data"; "required": false; }; "responseData": { "alias": "responseData"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
39
39
  }
@@ -14,7 +14,6 @@ import { Meta, Title } from '@angular/platform-browser';
14
14
  import { MatDialog } from '@angular/material/dialog';
15
15
  import { MatBottomSheet } from '@angular/material/bottom-sheet';
16
16
  import { CustomerReviewComponent } from '../../sections/customer-review/customer-review.component';
17
- import { AnalyticsService } from '../../../services/analytics.service';
18
17
  import * as i0 from "@angular/core";
19
18
  export declare class ProductDescComponent extends BaseSection {
20
19
  private platformId;
@@ -30,7 +29,6 @@ export declare class ProductDescComponent extends BaseSection {
30
29
  private readonly bottomSheet;
31
30
  private renderer;
32
31
  private matDialog;
33
- private analyticsService;
34
32
  reviewComponent: CustomerReviewComponent;
35
33
  aboveHeight: ElementRef<HTMLDivElement>;
36
34
  container: ElementRef<HTMLDivElement>;
@@ -54,7 +52,7 @@ export declare class ProductDescComponent extends BaseSection {
54
52
  showReview: boolean;
55
53
  selectedReview: any;
56
54
  currentImageIndex: number;
57
- constructor(platformId: Object, _eventService: EventsService, router: Router, activatedRoute: ActivatedRoute, restService: RestService, cartService: CartService, storageService: StorageServiceService, messageService: MessageService, metaTagService: Meta, titleService: Title, bottomSheet: MatBottomSheet, renderer: Renderer2, matDialog: MatDialog, analyticsService: AnalyticsService);
55
+ constructor(platformId: Object, _eventService: EventsService, router: Router, activatedRoute: ActivatedRoute, restService: RestService, cartService: CartService, storageService: StorageServiceService, messageService: MessageService, metaTagService: Meta, titleService: Title, bottomSheet: MatBottomSheet, renderer: Renderer2, matDialog: MatDialog);
58
56
  buttonId?: string;
59
57
  button?: ButtonModel;
60
58
  styles?: ProductDescStylesModal;
@@ -119,7 +117,7 @@ export declare class ProductDescComponent extends BaseSection {
119
117
  getTextColor(color: any): "#000000" | "#ffffff";
120
118
  languages: string[];
121
119
  selectedLang: string;
122
- getClass(map: any): "col-6" | "col-4" | "col-3" | "width-max";
120
+ getClass(map: any): "col-4" | "col-6" | "col-3" | "width-max";
123
121
  onFindInStore(id: string): void;
124
122
  onBookAppointment(): void;
125
123
  isDetails: boolean;
@@ -12,7 +12,6 @@ import { MatDialog } from '@angular/material/dialog';
12
12
  import { CartService } from '../../../services/cart.service';
13
13
  import { MenuItem, MessageService } from 'primeng/api';
14
14
  import { ProductCardTheme } from '../../../styles/index';
15
- import { AnalyticsService } from '../../../services/analytics.service';
16
15
  import * as i0 from "@angular/core";
17
16
  interface BaseModel {
18
17
  option: string;
@@ -32,7 +31,6 @@ export declare class ProductListComponent extends BaseSection {
32
31
  private readonly cartService;
33
32
  private readonly messageService;
34
33
  private renderer;
35
- private readonly analyticsService;
36
34
  responseData?: Product[];
37
35
  data?: ProductListModal;
38
36
  index?: number;
@@ -71,7 +69,6 @@ export declare class ProductListComponent extends BaseSection {
71
69
  searchTxt: string;
72
70
  theme: typeof ProductCardTheme;
73
71
  items: MenuItem[] | null;
74
- latestAnalyicsEvent: string;
75
72
  private filterBottomSheetRef;
76
73
  private sortingDialogRef;
77
74
  categories: BaseModel[];
@@ -80,7 +77,7 @@ export declare class ProductListComponent extends BaseSection {
80
77
  listScrollContainer: ElementRef<HTMLDivElement>;
81
78
  getScreenSize(): void;
82
79
  onWindowScroll(event: Event): void;
83
- constructor(platformId: Object, _eventService: EventsService, restService: RestService, router: Router, activatedRoute: ActivatedRoute, storageService: StorageServiceService, matBottomSheet: MatBottomSheet, matDialog: MatDialog, cartService: CartService, messageService: MessageService, renderer: Renderer2, analyticsService: AnalyticsService);
80
+ constructor(platformId: Object, _eventService: EventsService, restService: RestService, router: Router, activatedRoute: ActivatedRoute, storageService: StorageServiceService, matBottomSheet: MatBottomSheet, matDialog: MatDialog, cartService: CartService, messageService: MessageService, renderer: Renderer2);
84
81
  get stylesLayout(): LayOutModel;
85
82
  isOpen: boolean;
86
83
  toggleDropdown(): void;
@@ -106,8 +103,6 @@ export declare class ProductListComponent extends BaseSection {
106
103
  toShowInJewellery: boolean;
107
104
  IsEcommerce: boolean;
108
105
  ngOnInit(): void;
109
- fetchAnalytics(): void;
110
- getCategoriesAndCollection(): void;
111
106
  get selectedCategoryCollectionChips(): {
112
107
  id: string;
113
108
  name: string;
@@ -21,7 +21,7 @@ export declare class SchemesComponent extends BaseSection {
21
21
  get stylesLayout(): LayOutModel;
22
22
  get spacingLayout(): SpacingModel;
23
23
  getParentClass(): "" | "overflow-scroll flex-nowrap";
24
- getClass(index: number): "col-6" | "col-12" | "col-6 mb-2" | "col-12 mb-2";
24
+ getClass(index: number): "col-12" | "col-6" | "col-6 mb-2" | "col-12 mb-2";
25
25
  showSchemeDetails(scheme: any): void;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemesComponent, never>;
27
27
  static ɵcmp: i0.ɵɵComponentDeclaration<SchemesComponent, "simpo-schemes", never, { "data": { "alias": "data"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "index": { "alias": "index"; "required": false; }; }, {}, never, never, true, never>;
@@ -25,7 +25,7 @@ export declare class BannerCarouselComponent extends BaseSection implements OnIn
25
25
  get stylesLayout(): LayOutModel;
26
26
  get getBlurValue(): "NONE" | "LIGHT" | "MODERATE" | "STRONG" | "VERY_STRONG" | undefined;
27
27
  get getBackgroundColor(): BackgroundModel;
28
- get getBackgroundOpacity(): "0" | "1" | "0.7" | "0.5" | "0.6" | "0.8";
28
+ get getBackgroundOpacity(): "1" | "0" | "0.7" | "0.5" | "0.6" | "0.8";
29
29
  opacityValue(value: OverlayValue): "1" | "0.7" | "0.5" | "0.6" | "0.8";
30
30
  editSection(): void;
31
31
  getScreenSize(): number;
@@ -23,7 +23,7 @@ export declare class ImageGridHotspotComponent extends BaseSection {
23
23
  get headingSpace(): SPACING;
24
24
  editSection(): void;
25
25
  getLength(): number;
26
- getJustifyContent(): import("simpo-component-library").ALIGN | "" | "flex-start";
26
+ getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
27
27
  private get scrollStep();
28
28
  scrollRight(): void;
29
29
  isOverflowing: boolean;
@@ -23,7 +23,7 @@ export declare class ImageGridSectionComponent extends BaseSection {
23
23
  get headingSpace(): SPACING;
24
24
  editSection(): void;
25
25
  getLength(): number;
26
- getJustifyContent(): import("simpo-component-library").ALIGN | "" | "flex-start";
26
+ getJustifyContent(): "" | import("simpo-component-library").ALIGN | "flex-start";
27
27
  private get scrollStep();
28
28
  scrollRight(): void;
29
29
  isOverflowing: boolean;
@@ -23,7 +23,7 @@ export declare class PricingSectionComponent extends BaseSection {
23
23
  getButtonId(): string;
24
24
  editSection(): void;
25
25
  redirectTo(data: any): void;
26
- getClass(): "col-6" | "col-4" | "col-3" | "col-12";
26
+ getClass(): "col-4" | "col-12" | "col-6" | "col-3";
27
27
  getAlignment(): "justify-content-start" | "justify-content-center" | "justify-content-end";
28
28
  static ɵfac: i0.ɵɵFactoryDeclaration<PricingSectionComponent, never>;
29
29
  static ɵcmp: i0.ɵɵComponentDeclaration<PricingSectionComponent, "simpo-pricing-section", never, { "data": { "alias": "data"; "required": false; }; "index": { "alias": "index"; "required": false; }; "edit": { "alias": "edit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "delete": { "alias": "delete"; "required": false; }; "nextComponentColor": { "alias": "nextComponentColor"; "required": false; }; }, {}, never, never, true, never>;
@@ -2,20 +2,15 @@ import { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';
2
2
  import { Product } from '../ecommerce/styles/product.modal';
3
3
  import { RestService } from './rest.service';
4
4
  import { StorageServiceService } from './storage.service';
5
- import { Router } from '@angular/router';
6
- import { StorageLike } from '../services/storage-like';
7
5
  import * as i0 from "@angular/core";
8
6
  export declare class CartService {
9
7
  private readonly storageService;
10
8
  private readonly restService;
11
- private router;
12
- private storage;
13
- constructor(storageService: StorageServiceService, restService: RestService, router: Router, storage: StorageLike);
9
+ constructor(storageService: StorageServiceService, restService: RestService);
14
10
  addItemFromCartPage(product: OrderedItems, userCart: any): import("rxjs").Observable<Object>;
15
11
  addItemFromWishlistPage(product: OrderedItems, userWishlist: any): import("rxjs").Observable<Object>;
16
12
  removeItemFromWishlistPage(product: OrderedItems, userWishlist: any): import("rxjs").Observable<Object>;
17
13
  addItemToCart(product: Product | OrderedItems, varientId?: string): void | IDBRequest<IDBValidKey>;
18
- captureCartAnalytics(productId: string, type: 'ADD_TO_CART' | 'REMOVE_FROM_CART', variantId?: string): void;
19
14
  addItemToFavourite(product: Product, varientId?: string): void;
20
15
  addItemToTrial(product: Product, varientId?: string): Promise<boolean>;
21
16
  addItemToFavFromCart(product: OrderedItems): void;
@@ -23,7 +18,6 @@ export declare class CartService {
23
18
  removeItemFromFavourite(varientId: string): void;
24
19
  removeItemFromCart(product: Product | OrderedItems): void;
25
20
  private objectMapper;
26
- trackUser(event: any, eventType: string): void;
27
21
  static ɵfac: i0.ɵɵFactoryDeclaration<CartService, never>;
28
22
  static ɵprov: i0.ɵɵInjectableDeclaration<CartService>;
29
23
  }
@@ -135,7 +135,6 @@ export declare class RestService implements OnDestroy {
135
135
  createLead(payload: any): Observable<Object>;
136
136
  getAppointmentPaymentStatus(orderId: any): Observable<Object>;
137
137
  getOtpForLogin(payload: any): Observable<Object>;
138
- flush(eventsToSend: any): void;
139
138
  static ɵfac: i0.ɵɵFactoryDeclaration<RestService, never>;
140
139
  static ɵprov: i0.ɵɵInjectableDeclaration<RestService>;
141
140
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simpo-component-library",
3
- "version": "3.6.635",
3
+ "version": "3.6.636",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.2.0",
6
6
  "@angular/core": "^17.2.0",
@@ -1,160 +0,0 @@
1
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
- import { interval } from 'rxjs';
3
- import { DOCUMENT } from '@angular/common';
4
- import { API_URL } from '../tokens/api-token';
5
- import { LOCAL_STORAGE } from '../services/local-storage.token';
6
- import { NavigationEnd } from '@angular/router';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "./storage.service";
10
- import * as i3 from "@angular/router";
11
- export class AnalyticsService {
12
- constructor(http, platformId, document, storageService, API_URL, storage, router) {
13
- this.http = http;
14
- this.platformId = platformId;
15
- this.document = document;
16
- this.storageService = storageService;
17
- this.API_URL = API_URL;
18
- this.storage = storage;
19
- this.router = router;
20
- this.eventQueue = [];
21
- this.BATCH_SIZE = 10;
22
- this.FLUSH_INTERVAL = 5000; // 5 seconds
23
- // ===== Duration Tracking =====
24
- this.currentPage = '';
25
- this.currentContextMetadata = null;
26
- this.contextStartTime = null;
27
- this.contextActiveTime = 0;
28
- this.currentEvent = '';
29
- this.startAutoFlush();
30
- this.listenToUnload();
31
- this.listenToRouteChange();
32
- }
33
- startNewContext(metadata, event) {
34
- this.closeCurrentContext(); // close previous filter session
35
- this.currentContextMetadata = metadata;
36
- this.contextStartTime = Date.now();
37
- this.contextActiveTime = 0;
38
- this.currentEvent = event;
39
- }
40
- getCurrentContext() {
41
- return this.currentContextMetadata;
42
- }
43
- closeCurrentContext(useBeacon = false) {
44
- if (!this.currentContextMetadata)
45
- return;
46
- if (this.contextStartTime) {
47
- this.contextActiveTime += Date.now() - this.contextStartTime;
48
- }
49
- const user = this.storageService.getUser();
50
- const requestFrom = this.storage.getItem('REQUEST_FROM');
51
- if (!user || requestFrom === 'ECOMMERCE')
52
- return;
53
- const event = {
54
- businessId: this.storage.getItem('bId') || '',
55
- businessName: this.storage.getItem('bName') || '',
56
- userId: user.userId,
57
- createdTimeStamp: new Date().toISOString(),
58
- page: this.currentPage,
59
- duration: this.contextActiveTime,
60
- eventType: this.currentEvent,
61
- metadata: this.currentContextMetadata
62
- };
63
- if (useBeacon) {
64
- fetch(this.API_URL + 'ecommerce/analytics/batch', {
65
- method: 'POST',
66
- body: JSON.stringify([event]),
67
- headers: {
68
- 'Content-Type': 'application/json'
69
- },
70
- keepalive: true
71
- });
72
- }
73
- else {
74
- this.eventQueue.push(event);
75
- }
76
- this.currentContextMetadata = null;
77
- this.contextStartTime = null;
78
- this.contextActiveTime = 0;
79
- this.currentEvent = '';
80
- }
81
- // ===============================
82
- // 🔥 ROUTE CHANGE LISTENER
83
- // ===============================
84
- listenToRouteChange() {
85
- this.router.events.subscribe(event => {
86
- if (event instanceof NavigationEnd) {
87
- // Close previous page context
88
- this.closeCurrentContext();
89
- this.currentPage = this.router.url.split('?')[0];
90
- this.contextStartTime = Date.now();
91
- this.contextActiveTime = 0;
92
- }
93
- });
94
- }
95
- trackUser(event, eventType) {
96
- const user = this.storageService.getUser();
97
- const requestFrom = this.storage.getItem('REQUEST_FROM');
98
- if (user === null || requestFrom === 'ECOMMERCE') {
99
- return;
100
- }
101
- const page = this.router.url.split('?')[0];
102
- this.eventQueue.push({
103
- businessId: this.storage.getItem('bId') || '',
104
- businessName: this.storage.getItem('bName') || '',
105
- userId: user?.userId,
106
- createdTimeStamp: new Date().toISOString(),
107
- page: page,
108
- metadata: event,
109
- eventType: eventType
110
- });
111
- if (this.eventQueue.length >= this.BATCH_SIZE) {
112
- this.flush();
113
- }
114
- }
115
- startAutoFlush() {
116
- interval(this.FLUSH_INTERVAL).subscribe(() => {
117
- if (this.eventQueue.length > 0) {
118
- this.flush();
119
- }
120
- });
121
- }
122
- flush() {
123
- const eventsToSend = [...this.eventQueue];
124
- this.eventQueue = [];
125
- this.http.post(this.API_URL + 'ecommerce/analytics/batch', eventsToSend)
126
- .subscribe({ error: () => { } });
127
- }
128
- listenToUnload() {
129
- this.document.addEventListener('visibilitychange', () => {
130
- if (this.document.visibilityState === 'visible') {
131
- this.contextStartTime = Date.now();
132
- }
133
- else {
134
- if (this.contextStartTime) {
135
- this.contextActiveTime += Date.now() - this.contextStartTime;
136
- }
137
- this.closeCurrentContext(true);
138
- }
139
- });
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i2.StorageServiceService }, { token: API_URL }, { token: LOCAL_STORAGE }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
142
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
143
- }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{
145
- type: Injectable,
146
- args: [{ providedIn: 'root' }]
147
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: Object, decorators: [{
148
- type: Inject,
149
- args: [PLATFORM_ID]
150
- }] }, { type: Document, decorators: [{
151
- type: Inject,
152
- args: [DOCUMENT]
153
- }] }, { type: i2.StorageServiceService }, { type: undefined, decorators: [{
154
- type: Inject,
155
- args: [API_URL]
156
- }] }, { type: undefined, decorators: [{
157
- type: Inject,
158
- args: [LOCAL_STORAGE]
159
- }] }, { type: i3.Router }] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2FuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBR3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFhekIsWUFBb0IsSUFBZ0IsRUFDSCxVQUFrQixFQUNyQixRQUFrQixFQUMzQixjQUFxQyxFQUM3QixPQUFlLEVBQ1QsT0FBb0IsRUFDM0MsTUFBYztRQU5OLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQzNDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQmxCLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDdkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7UUFFM0MsZ0NBQWdDO1FBQ3hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLDJCQUFzQixHQUFRLElBQUksQ0FBQztRQUNuQyxx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QUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ2pFLENBQUM7Z0JBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBNUpRLGdCQUFnQiw0Q0FjYixXQUFXLGFBQ1gsUUFBUSxrREFFUixPQUFPLGFBQ1AsYUFBYTttSEFsQmhCLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFlekIsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFFZixNQUFNOzJCQUFDLE9BQU87OzBCQUNkLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElfVVJMIH0gZnJvbSAnLi4vdG9rZW5zL2FwaS10b2tlbic7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBTdG9yYWdlTGlrZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N0b3JhZ2UtbGlrZSc7XHJcbmltcG9ydCB7IExPQ0FMX1NUT1JBR0UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnRva2VuJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGV2ZW50UXVldWU6IGFueVtdID0gW107XHJcbiAgICBwcml2YXRlIEJBVENIX1NJWkUgPSAxMDtcclxuICAgIHByaXZhdGUgRkxVU0hfSU5URVJWQUwgPSA1MDAwOyAvLyA1IHNlY29uZHNcclxuXHJcbiAgICAvLyA9PT09PSBEdXJhdGlvbiBUcmFja2luZyA9PT09PVxyXG4gICAgcHJpdmF0ZSBjdXJyZW50UGFnZSA9ICcnO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50Q29udGV4dE1ldGFkYXRhOiBhbnkgPSBudWxsO1xyXG4gICAgcHJpdmF0ZSBjb250ZXh0U3RhcnRUaW1lOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAgIHByaXZhdGUgY29udGV4dEFjdGl2ZVRpbWUgPSAwO1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50RXZlbnQgPSAnJztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgICAgIEBJbmplY3QoQVBJX1VSTCkgcHJpdmF0ZSBBUElfVVJMOiBzdHJpbmcsXHJcbiAgICAgICAgQEluamVjdChMT0NBTF9TVE9SQUdFKSBwcml2YXRlIHN0b3JhZ2U6IFN0b3JhZ2VMaWtlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuc3RhcnRBdXRvRmx1c2goKTtcclxuICAgICAgICB0aGlzLmxpc3RlblRvVW5sb2FkKCk7XHJcbiAgICAgICAgdGhpcy5saXN0ZW5Ub1JvdXRlQ2hhbmdlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnROZXdDb250ZXh0KG1ldGFkYXRhOiBhbnksIGV2ZW50OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNsb3NlQ3VycmVudENvbnRleHQoKTsgICAvLyBjbG9zZSBwcmV2aW91cyBmaWx0ZXIgc2Vzc2lvblxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEgPSBtZXRhZGF0YTtcclxuICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgIHRoaXMuY29udGV4dEFjdGl2ZVRpbWUgPSAwO1xyXG4gICAgICAgIHRoaXMuY3VycmVudEV2ZW50ID0gZXZlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VycmVudENvbnRleHQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudENvbnRleHRNZXRhZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNsb3NlQ3VycmVudENvbnRleHQodXNlQmVhY29uOiBib29sZWFuID0gZmFsc2UpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dFN0YXJ0VGltZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRBY3RpdmVUaW1lICs9IERhdGUubm93KCkgLSB0aGlzLmNvbnRleHRTdGFydFRpbWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RGcm9tID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ1JFUVVFU1RfRlJPTScpO1xyXG5cclxuICAgICAgICBpZiAoIXVzZXIgfHwgcmVxdWVzdEZyb20gPT09ICdFQ09NTUVSQ0UnKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICAgICAgICBidXNpbmVzc0lkOiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSgnYklkJykgfHwgJycsXHJcbiAgICAgICAgICAgIGJ1c2luZXNzTmFtZTogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JOYW1lJykgfHwgJycsXHJcbiAgICAgICAgICAgIHVzZXJJZDogdXNlci51c2VySWQsXHJcbiAgICAgICAgICAgIGNyZWF0ZWRUaW1lU3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgICAgICAgZHVyYXRpb246IHRoaXMuY29udGV4dEFjdGl2ZVRpbWUsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogIHRoaXMuY3VycmVudEV2ZW50LFxyXG4gICAgICAgICAgICBtZXRhZGF0YTogdGhpcy5jdXJyZW50Q29udGV4dE1ldGFkYXRhXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHVzZUJlYWNvbikge1xyXG5cclxuICAgICAgICAgICBmZXRjaCh0aGlzLkFQSV9VUkwgKyAnZWNvbW1lcmNlL2FuYWx5dGljcy9iYXRjaCcsIHtcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoW2V2ZW50XSksXHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAga2VlcGFsaXZlOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmV2ZW50UXVldWUucHVzaChldmVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRDb250ZXh0TWV0YWRhdGEgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29udGV4dFN0YXJ0VGltZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50RXZlbnQgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAvLyDwn5SlIFJPVVRFIENIQU5HRSBMSVNURU5FUlxyXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub1JvdXRlQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgcHJldmlvdXMgcGFnZSBjb250ZXh0XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlQ3VycmVudENvbnRleHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHRTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja1VzZXIoZXZlbnQ6IGFueSwgZXZlbnRUeXBlOiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RGcm9tID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ1JFUVVFU1RfRlJPTScpXHJcblxyXG4gICAgICAgIGlmICh1c2VyID09PSBudWxsIHx8IHJlcXVlc3RGcm9tID09PSAnRUNPTU1FUkNFJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBwYWdlID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcblxyXG4gICAgICAgIHRoaXMuZXZlbnRRdWV1ZS5wdXNoKHtcclxuICAgICAgICAgICAgYnVzaW5lc3NJZDogdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2JJZCcpIHx8ICcnLFxyXG4gICAgICAgICAgICBidXNpbmVzc05hbWU6IHRoaXMuc3RvcmFnZS5nZXRJdGVtKCdiTmFtZScpIHx8ICcnLFxyXG4gICAgICAgICAgICB1c2VySWQ6IHVzZXI/LnVzZXJJZCxcclxuICAgICAgICAgICAgY3JlYXRlZFRpbWVTdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgICBwYWdlOiBwYWdlLFxyXG4gICAgICAgICAgICBtZXRhZGF0YTogZXZlbnQsXHJcbiAgICAgICAgICAgIGV2ZW50VHlwZTogZXZlbnRUeXBlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmV2ZW50UXVldWUubGVuZ3RoID49IHRoaXMuQkFUQ0hfU0laRSkge1xyXG4gICAgICAgICAgICB0aGlzLmZsdXNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhcnRBdXRvRmx1c2goKSB7XHJcbiAgICAgICAgaW50ZXJ2YWwodGhpcy5GTFVTSF9JTlRFUlZBTCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZXZlbnRRdWV1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZsdXNoKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZsdXNoKCkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50c1RvU2VuZCA9IFsuLi50aGlzLmV2ZW50UXVldWVdO1xyXG4gICAgICAgIHRoaXMuZXZlbnRRdWV1ZSA9IFtdO1xyXG5cclxuICAgICAgICB0aGlzLmh0dHAucG9zdCh0aGlzLkFQSV9VUkwgKyAnZWNvbW1lcmNlL2FuYWx5dGljcy9iYXRjaCcsIGV2ZW50c1RvU2VuZClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh7IGVycm9yOiAoKSA9PiB7IH0gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub1VubG9hZCgpIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCAoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09ICd2aXNpYmxlJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0U3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0U3RhcnRUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0QWN0aXZlVGltZSArPSBEYXRlLm5vdygpIC0gdGhpcy5jb250ZXh0U3RhcnRUaW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VDdXJyZW50Q29udGV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59Il19
@@ -1,33 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { StorageServiceService } from './storage.service';
3
- import { StorageLike } from '../services/storage-like';
4
- import { Router } from '@angular/router';
5
- import * as i0 from "@angular/core";
6
- export declare class AnalyticsService {
7
- private http;
8
- private platformId;
9
- private document;
10
- private readonly storageService;
11
- private API_URL;
12
- private storage;
13
- private router;
14
- private eventQueue;
15
- private BATCH_SIZE;
16
- private FLUSH_INTERVAL;
17
- private currentPage;
18
- private currentContextMetadata;
19
- private contextStartTime;
20
- private contextActiveTime;
21
- private currentEvent;
22
- constructor(http: HttpClient, platformId: Object, document: Document, storageService: StorageServiceService, API_URL: string, storage: StorageLike, router: Router);
23
- startNewContext(metadata: any, event: string): void;
24
- getCurrentContext(): any;
25
- private closeCurrentContext;
26
- private listenToRouteChange;
27
- trackUser(event: any, eventType: string): void;
28
- private startAutoFlush;
29
- private flush;
30
- private listenToUnload;
31
- static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsService, never>;
32
- static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsService>;
33
- }
Binary file