angulartics2 13.1.0 → 14.1.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 (60) hide show
  1. package/README.md +4 -1
  2. package/angulartics2On.d.ts +1 -1
  3. package/esm2020/angular-router.mjs +4 -4
  4. package/esm2020/angulartics2-core.mjs +4 -4
  5. package/esm2020/angulartics2.module.mjs +5 -5
  6. package/esm2020/angulartics2On.mjs +8 -8
  7. package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +4 -4
  8. package/esm2020/providers/amplitude/amplitude.mjs +4 -4
  9. package/esm2020/providers/appinsights/appinsights.mjs +4 -4
  10. package/esm2020/providers/baidu/baidu.mjs +4 -4
  11. package/esm2020/providers/clicky/clicky.mjs +4 -4
  12. package/esm2020/providers/facebook/facebook.mjs +4 -4
  13. package/esm2020/providers/ga/ga.mjs +4 -4
  14. package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +4 -4
  15. package/esm2020/providers/gosquared/gosquared.mjs +4 -4
  16. package/esm2020/providers/gst/gst.mjs +4 -4
  17. package/esm2020/providers/gtm/gtm.mjs +4 -4
  18. package/esm2020/providers/hubspot/hubspot.mjs +4 -4
  19. package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +4 -4
  20. package/esm2020/providers/intercom/intercom.mjs +4 -4
  21. package/esm2020/providers/kissmetrics/kissmetrics.mjs +4 -4
  22. package/esm2020/providers/launch/launch.mjs +4 -4
  23. package/esm2020/providers/matomo/matomo.mjs +4 -4
  24. package/esm2020/providers/mixpanel/mixpanel.mjs +4 -4
  25. package/esm2020/providers/posthog/posthog.mjs +14 -4
  26. package/esm2020/providers/pyze/pyze.mjs +4 -4
  27. package/esm2020/providers/segment/segment.mjs +4 -4
  28. package/esm2020/providers/splunk/splunk.mjs +4 -4
  29. package/esm2020/providers/woopra/woopra.mjs +4 -4
  30. package/esm2020/routerless.module.mjs +5 -5
  31. package/fesm2015/angulartics2.mjs +100 -90
  32. package/fesm2015/angulartics2.mjs.map +1 -1
  33. package/fesm2020/angulartics2.mjs +100 -90
  34. package/fesm2020/angulartics2.mjs.map +1 -1
  35. package/package.json +3 -3
  36. package/providers/posthog/posthog.d.ts +1 -0
  37. package/providers/adobeanalytics/README.md +0 -12
  38. package/providers/amplitude/README.md +0 -12
  39. package/providers/appinsights/README.md +0 -12
  40. package/providers/baidu/README.md +0 -12
  41. package/providers/clicky/README.md +0 -93
  42. package/providers/facebook/README.md +0 -36
  43. package/providers/ga/README.md +0 -25
  44. package/providers/ga-enhanced-ecom/README.md +0 -12
  45. package/providers/gosquared/README.md +0 -12
  46. package/providers/gst/README.md +0 -110
  47. package/providers/gtm/README.md +0 -58
  48. package/providers/hubspot/README.md +0 -12
  49. package/providers/ibm-digital-analytics/README.md +0 -123
  50. package/providers/incendium/README.md +0 -100
  51. package/providers/intercom/README.md +0 -12
  52. package/providers/kissmetrics/README.md +0 -12
  53. package/providers/launch/README.md +0 -59
  54. package/providers/matomo/README.md +0 -74
  55. package/providers/mixpanel/README.md +0 -105
  56. package/providers/posthog/README.md +0 -11
  57. package/providers/pyze/README.md +0 -21
  58. package/providers/segment/README.md +0 -50
  59. package/providers/splunk/README.md +0 -57
  60. package/providers/woopra/README.md +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"angulartics2.mjs","sources":["../../src/lib/angulartics2-config.ts","../../src/lib/angulartics2-token.ts","../../src/lib/routerless.ts","../../src/lib/angulartics2-core.ts","../../src/lib/angular-router.ts","../../src/lib/angulartics2On.ts","../../src/lib/angulartics2.module.ts","../../src/lib/routerless.module.ts","../../src/lib/providers/adobeanalytics/adobeanalytics.ts","../../src/lib/providers/appinsights/appinsights.ts","../../src/lib/providers/baidu/baidu.ts","../../src/lib/providers/facebook/facebook.ts","../../src/lib/providers/ga/ga.ts","../../src/lib/providers/ga-enhanced-ecom/ga-enhanced-ecom.ts","../../src/lib/providers/gtm/gtm.ts","../../src/lib/providers/gst/gst.ts","../../src/lib/providers/hubspot/hubspot.ts","../../src/lib/providers/kissmetrics/kissmetrics.ts","../../src/lib/providers/launch/launch.ts","../../src/lib/providers/mixpanel/mixpanel.ts","../../src/lib/providers/posthog/posthog.ts","../../src/lib/providers/pyze/pyze.ts","../../src/lib/providers/matomo/matomo.ts","../../src/lib/providers/segment/segment.ts","../../src/lib/providers/intercom/intercom.ts","../../src/lib/providers/woopra/woopra.ts","../../src/lib/providers/clicky/clicky.ts","../../src/lib/providers/amplitude/amplitude.ts","../../src/lib/providers/splunk/splunk.ts","../../src/lib/providers/ibm-digital-analytics/ibm-digital-analytics.ts","../../src/lib/providers/gosquared/gosquared.ts","../../src/lib/angulartics2.ts"],"sourcesContent":["export interface GoogleAnalyticsSettings {\n /** array of additional account names (only works for analyticsjs) */\n additionalAccountNames: string[];\n userId: any;\n /** see https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#transport */\n transport: string;\n anonymizeIp: boolean;\n}\n\nexport interface AppInsightsSettings {\n userId: string;\n}\n\nexport interface GoogleTagManagerSettings {\n userId: any;\n}\n\nexport interface GoogleGlobalSiteTagSettings {\n trackingIds: any;\n userId?: any;\n anonymizeIp?: boolean;\n customMap?: { [key: string]: string };\n}\n\nexport interface PageTrackingSettings {\n autoTrackVirtualPages: boolean;\n basePath: string;\n excludedRoutes: (string | RegExp)[];\n /** drop ids from url `/sections/123/pages/456` -> `/sections/pages` */\n clearIds: boolean;\n /** drop contents of url after hash marker `/callback#authcode=1234` -> `/callback` */\n clearHash: boolean;\n /** drop query params from url `/sections/123/pages?param=456&param2=789` -> `/sections/123/pages` */\n clearQueryParams: boolean;\n /** used with clearIds, define the matcher to clear url parts */\n idsRegExp: RegExp;\n}\n\nexport interface Angulartics2Settings {\n pageTracking: Partial<PageTrackingSettings>;\n /** Disable page tracking */\n developerMode: boolean;\n ga: Partial<GoogleAnalyticsSettings>;\n appInsights: Partial<AppInsightsSettings>;\n gtm: Partial<GoogleTagManagerSettings>;\n gst: Partial<GoogleGlobalSiteTagSettings>;\n}\n\nexport class DefaultConfig implements Angulartics2Settings {\n pageTracking = {\n autoTrackVirtualPages: true,\n basePath: '',\n excludedRoutes: [],\n clearIds: false,\n clearHash: false,\n clearQueryParams: false,\n idsRegExp:\n /^\\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n };\n developerMode = false;\n ga = {};\n appInsights = {};\n gtm = {};\n gst = {};\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { Angulartics2Settings } from './angulartics2-config';\n\nexport interface Angulartics2Token {\n settings: Partial<Angulartics2Settings>;\n}\n\nexport const ANGULARTICS2_TOKEN = new InjectionToken<Angulartics2Token>(\n 'ANGULARTICS2'\n);\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Angulartics2Settings } from './angulartics2-config';\n\nexport interface TrackNavigationEnd {\n url: string;\n}\n\nexport class RouterlessTracking {\n trackLocation(settings: Angulartics2Settings): Observable<TrackNavigationEnd> {\n return new BehaviorSubject<TrackNavigationEnd>({ url: '/' });\n }\n\n prepareExternalUrl(url: string): string {\n return url;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\n\nimport { MonoTypeOperatorFunction, ReplaySubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { Angulartics2Settings, DefaultConfig } from './angulartics2-config';\nimport { EventTrack, PageTrack, UserTimings } from './angulartics2-interfaces';\nimport { Angulartics2Token, ANGULARTICS2_TOKEN } from './angulartics2-token';\nimport { RouterlessTracking, TrackNavigationEnd } from './routerless';\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2 {\n settings: Angulartics2Settings;\n\n pageTrack = new ReplaySubject<Partial<PageTrack>>(10);\n eventTrack = new ReplaySubject<Partial<EventTrack>>(10);\n exceptionTrack = new ReplaySubject<any>(10);\n setAlias = new ReplaySubject<string>(10);\n setUsername = new ReplaySubject<{ userId: string | number } | string>(10);\n setUserProperties = new ReplaySubject<any>(10);\n setUserPropertiesOnce = new ReplaySubject<any>(10);\n setSuperProperties = new ReplaySubject<any>(10);\n setSuperPropertiesOnce = new ReplaySubject<any>(10);\n userTimings = new ReplaySubject<UserTimings>(10);\n\n constructor(\n private tracker: RouterlessTracking,\n @Inject(ANGULARTICS2_TOKEN) setup: Angulartics2Token,\n ) {\n const defaultConfig = new DefaultConfig();\n this.settings = { ...defaultConfig, ...setup.settings };\n this.settings.pageTracking = {\n ...defaultConfig.pageTracking,\n ...setup.settings.pageTracking,\n };\n this.tracker\n .trackLocation(this.settings)\n .subscribe((event: TrackNavigationEnd) => this.trackUrlChange(event.url));\n }\n\n /** filters all events when developer mode is true */\n filterDeveloperMode<T>(): MonoTypeOperatorFunction<T> {\n return filter((value, index) => !this.settings.developerMode);\n }\n\n protected trackUrlChange(url: string) {\n if (this.settings.pageTracking.autoTrackVirtualPages && !this.matchesExcludedRoute(url)) {\n const clearedUrl = this.clearUrl(url);\n let path: string;\n if (this.settings.pageTracking.basePath.length) {\n path = this.settings.pageTracking.basePath + clearedUrl;\n } else {\n path = this.tracker.prepareExternalUrl(clearedUrl);\n }\n this.pageTrack.next({ path });\n }\n }\n\n /**\n * Use string literals or regular expressions to exclude routes\n * from automatic pageview tracking.\n *\n * @param url location\n */\n protected matchesExcludedRoute(url: string): boolean {\n for (const excludedRoute of this.settings.pageTracking.excludedRoutes) {\n const matchesRegex = excludedRoute instanceof RegExp && excludedRoute.test(url);\n if (matchesRegex || url.indexOf(excludedRoute as string) !== -1) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Removes id's from tracked route.\n * EX: `/project/12981/feature` becomes `/project/feature`\n *\n * @param url current page path\n */\n protected clearUrl(url: string): string {\n if (\n this.settings.pageTracking.clearIds ||\n this.settings.pageTracking.clearQueryParams ||\n this.settings.pageTracking.clearHash\n ) {\n return url\n .split('/')\n .map(part => (this.settings.pageTracking.clearQueryParams ? part.split('?')[0] : part))\n .map(part => (this.settings.pageTracking.clearHash ? part.split('#')[0] : part))\n .filter(\n part =>\n !this.settings.pageTracking.clearIds ||\n !part.match(this.settings.pageTracking.idsRegExp),\n )\n .join('/');\n }\n return url;\n }\n}\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { delay, filter, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\nimport { RouterlessTracking, TrackNavigationEnd } from './routerless';\n\n/**\n * Track Route changes for applications using Angular's\n * default router\n *\n * @link https://angular.io/api/router/Router\n */\n@Injectable({ providedIn: 'root' })\nexport class AngularRouterTracking implements RouterlessTracking {\n constructor(private router: Router, private location: Location) {}\n\n trackLocation(settings): Observable<TrackNavigationEnd> {\n return this.router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n filter(() => !settings.developerMode),\n map((e: NavigationEnd) => {\n return { url: e.urlAfterRedirects };\n }),\n delay(0),\n );\n }\n\n prepareExternalUrl(url: string): string {\n return this.location.prepareExternalUrl(url);\n }\n}\n","import { AfterContentInit, Directive, ElementRef, Input, NgModule, Renderer2 } from '@angular/core';\nimport { Angulartics2 } from './angulartics2-core';\n\n@Directive({ selector: '[angulartics2On]' })\nexport class Angulartics2On implements AfterContentInit {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('angulartics2On') angulartics2On: string;\n @Input() angularticsAction: string;\n @Input() angularticsCategory: string;\n @Input() angularticsLabel: string;\n @Input() angularticsValue: string;\n @Input() angularticsProperties: any = {};\n\n constructor(\n private elRef: ElementRef,\n private angulartics2: Angulartics2,\n private renderer: Renderer2,\n ) {}\n\n ngAfterContentInit() {\n this.renderer.listen(this.elRef.nativeElement, this.angulartics2On || 'click', (event: Event) =>\n this.eventTrack(event),\n );\n }\n\n eventTrack(event: Event) {\n const action = this.angularticsAction; // || this.inferEventName();\n const properties: any = {\n ...this.angularticsProperties,\n eventType: event.type,\n };\n\n if (this.angularticsCategory) {\n properties.category = this.angularticsCategory;\n }\n if (this.angularticsLabel) {\n properties.label = this.angularticsLabel;\n }\n if (this.angularticsValue) {\n properties.value = this.angularticsValue;\n }\n\n this.angulartics2.eventTrack.next({\n action,\n properties,\n });\n }\n\n /*private isCommand() {\n return ['a:', 'button:', 'button:button', 'button:submit', 'input:button', 'input:submit'].indexOf(\n getDOM().tagName(this.el).toLowerCase() + ':' + (getDOM().type(this.el) || '')) >= 0;\n }\n\n private inferEventName() {\n if (this.isCommand()) return getDOM().getText(this.el) || getDOM().getValue(this.el);\n return getDOM().getProperty(this.el, 'id') || getDOM().getProperty(this.el, 'name') || getDOM().tagName(this.el);\n }*/\n}\n\n@NgModule({\n declarations: [Angulartics2On],\n exports: [Angulartics2On],\n})\nexport class Angulartics2OnModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AngularRouterTracking } from './angular-router';\nimport { Angulartics2Settings } from './angulartics2-config';\nimport { Angulartics2 } from './angulartics2-core';\nimport { ANGULARTICS2_TOKEN } from './angulartics2-token';\nimport { Angulartics2On, Angulartics2OnModule } from './angulartics2On';\nimport { RouterlessTracking } from './routerless';\n\n@NgModule({\n imports: [Angulartics2OnModule],\n exports: [Angulartics2On],\n})\nexport class Angulartics2Module {\n static forRoot(\n settings: Partial<Angulartics2Settings> = {},\n ): ModuleWithProviders<Angulartics2Module> {\n return {\n ngModule: Angulartics2Module,\n providers: [\n { provide: ANGULARTICS2_TOKEN, useValue: { settings } },\n { provide: RouterlessTracking, useClass: AngularRouterTracking },\n Angulartics2,\n ],\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {ANGULARTICS2_TOKEN} from './angulartics2-token';\nimport {Angulartics2Settings} from './angulartics2-config';\nimport {Angulartics2OnModule} from './angulartics2On';\nimport {Angulartics2} from './angulartics2-core';\nimport {RouterlessTracking} from './routerless';\n\n@NgModule({\n imports: [Angulartics2OnModule],\n})\nexport class Angulartics2RouterlessModule {\n static forRoot(\n settings: Partial<Angulartics2Settings> = {}\n ): ModuleWithProviders<Angulartics2RouterlessModule> {\n return {\n ngModule: Angulartics2RouterlessModule,\n providers: [\n { provide: ANGULARTICS2_TOKEN, useValue: { settings } },\n RouterlessTracking,\n Angulartics2,\n ],\n };\n }\n}\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const s: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2AdobeAnalytics {\n constructor(private angulartics2: Angulartics2, private location: Location) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n if (typeof s !== 'undefined' && s) {\n s.clearVars();\n s.t({ pageName: path });\n }\n }\n\n /**\n * Track Event in Adobe Analytics\n *\n * @param action associated with the event\n * @param properties action detials\n *\n * @link https://marketing.adobe.com/resources/help/en_US/sc/implement/js_implementation.html\n */\n eventTrack(action: string, properties: any) {\n // TODO: make interface\n // @property {string} properties.category\n // @property {string} properties.label\n // @property {number} properties.value\n // @property {boolean} properties.noninteraction\n if (!properties) {\n properties = properties || {};\n }\n\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n this.setUserProperties(properties);\n }\n if (action) {\n // if linkName property is passed, use that; otherwise, the action is the linkName\n const linkName = properties['linkName'] ? properties['linkName'] : action;\n // note that 'this' should refer the link element, but we can't get that in this function. example:\n // <a href=\"http://anothersite.com\" onclick=\"s.tl(this,'e','AnotherSite',null)\">\n // if disableDelay property is passed, use that to turn off/on the 500ms delay; otherwise, it uses this\n const disableDelay = !!properties['disableDelay'] ? true : this;\n // if action property is passed, use that; otherwise, the action remains unchanged\n if (properties['action']) {\n action = properties['action'];\n }\n this.setPageName();\n\n if (action.toUpperCase() === 'DOWNLOAD') {\n s.tl(disableDelay, 'd', linkName);\n } else if (action.toUpperCase() === 'EXIT') {\n s.tl(disableDelay, 'e', linkName);\n } else {\n s.tl(disableDelay, 'o', linkName);\n }\n }\n }\n }\n\n private setPageName() {\n const path = this.location.path(true);\n const hashNdx = path.indexOf('#');\n if (hashNdx > 0 && hashNdx < path.length) {\n s.pageName = path.substring(hashNdx + 1);\n } else {\n s.pageName = path;\n }\n }\n\n setUserProperties(properties: any) {\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n s[key] = properties[key];\n }\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n} from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nimport { AppInsightsSettings } from '../../angulartics2-config';\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const appInsights: Microsoft.ApplicationInsights.IAppInsights;\n\nexport class AppInsightsDefaults implements AppInsightsSettings {\n userId = null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2AppInsights {\n loadStartTime: number = null;\n loadTime: number = null;\n\n metrics: { [name: string]: number } = null;\n dimensions: { [name: string]: string } = null;\n measurements: { [name: string]: number } = null;\n\n constructor(\n private angulartics2: Angulartics2,\n private title: Title,\n private router: Router\n ) {\n if (typeof appInsights === 'undefined') {\n console.warn('appInsights not found');\n }\n\n const defaults = new AppInsightsDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.appInsights = {\n ...defaults,\n ...this.angulartics2.settings.appInsights,\n };\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x) =>\n this.setUserProperties(x)\n );\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.exceptionTrack(x));\n this.router.events\n .pipe(\n this.angulartics2.filterDeveloperMode(),\n filter((event) => event instanceof NavigationStart)\n )\n .subscribe((event) => this.startTimer());\n\n this.router.events\n .pipe(\n filter(\n (event) =>\n event instanceof NavigationError || event instanceof NavigationEnd\n )\n )\n .subscribe((error) => this.stopTimer());\n }\n\n startTimer() {\n this.loadStartTime = Date.now();\n this.loadTime = null;\n }\n\n stopTimer() {\n this.loadTime = Date.now() - this.loadStartTime;\n this.loadStartTime = null;\n }\n\n /**\n * Page Track in Baidu Analytics\n *\n * @param path - Location 'path'\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackpageview\n */\n pageTrack(path: string) {\n appInsights.trackPageView(\n this.title.getTitle(),\n path,\n this.dimensions,\n this.metrics,\n this.loadTime\n );\n }\n\n /**\n * Log a user action or other occurrence.\n *\n * @param name Name to identify this event in the portal.\n * @param properties Additional data used to filter events and metrics in the portal. Defaults to empty.\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackevent\n */\n eventTrack(name: string, properties: { [name: string]: string }) {\n appInsights.trackEvent(name, properties, this.measurements);\n }\n\n /**\n * Exception Track Event in GA\n *\n * @param properties - Comprised of the mandatory fields 'appId' (string), 'appName' (string) and 'appVersion' (string) and\n * optional fields 'fatal' (boolean) and 'description' (string), error\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackexception\n */\n exceptionTrack(properties: any) {\n const description =\n properties.event || properties.description || properties;\n\n appInsights.trackException(description);\n }\n\n /**\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#setauthenticatedusercontext\n */\n setUsername(userId: string) {\n this.angulartics2.settings.appInsights.userId = userId;\n appInsights.setAuthenticatedUserContext(userId);\n }\n\n setUserProperties(\n properties: Partial<{ userId: string; accountId: string }>\n ) {\n if (properties.userId) {\n this.angulartics2.settings.appInsights.userId = properties.userId;\n }\n if (properties.accountId) {\n appInsights.setAuthenticatedUserContext(\n this.angulartics2.settings.appInsights.userId,\n properties.accountId\n );\n } else {\n appInsights.setAuthenticatedUserContext(\n this.angulartics2.settings.appInsights.userId\n );\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\n\ndeclare var _hmt: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2BaiduAnalytics {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _hmt === 'undefined') {\n _hmt = [];\n } else {\n _hmt.push(['_setAutoPageview', false]);\n }\n this.angulartics2.setUsername\n .subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties\n .subscribe((x) => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * Page Track in Baidu Analytics\n *\n * @param path Required url 'path'\n *\n * @link http://tongji.baidu.com/open/api/more?p=ref_trackPageview\n */\n pageTrack(path: string) {\n if (typeof _hmt !== 'undefined' && _hmt) {\n _hmt.push(['_trackPageview', path]);\n }\n }\n\n /**\n * Track Event in Baidu Analytics\n *\n * @param action Name associated with the event\n * @param properties Comprised of:\n * - 'category' (string)\n * - 'opt_label' (string)\n * - 'opt_value' (string)\n *\n * @link http://tongji.baidu.com/open/api/more?p=ref_trackEvent\n */\n eventTrack(action: string, properties: any) {\n // baidu analytics requires category\n if (!properties || !properties.category) {\n properties = properties || {};\n properties.category = 'Event';\n properties.opt_label = 'default';\n properties.opt_value = 'default';\n }\n\n if (typeof _hmt !== 'undefined' && _hmt) {\n _hmt.push([\n '_trackEvent',\n properties.category,\n action,\n properties.opt_label,\n properties.opt_value,\n ]);\n }\n }\n\n setUsername(userId: string) {\n // set default custom variables name to 'identity' and 'value'\n _hmt.push(['_setCustomVar', 1, 'identity', userId]);\n }\n\n setUserProperties(properties: any) {\n _hmt.push(['_setCustomVar', 2, 'user', JSON.stringify(properties)]);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const fbq: facebook.Pixel.Event;\n\nconst facebookEventList = [\n 'ViewContent',\n 'Search',\n 'AddToCart',\n 'AddToWishlist',\n 'InitiateCheckout',\n 'AddPaymentInfo',\n 'Purchase',\n 'Lead',\n 'CompleteRegistration',\n];\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Facebook {\n constructor(private angulartics2: Angulartics2) { }\n\n startTracking(): void {\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * Send interactions to the Pixel, i.e. for event tracking in Pixel\n *\n * @param action action associated with the event\n */\n eventTrack(action: string, properties: any = {}) {\n if (typeof fbq === 'undefined') {\n return;\n }\n if (facebookEventList.indexOf(action) === -1) {\n return fbq('trackCustom', action, properties);\n }\n return fbq('track', action, properties);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { GoogleAnalyticsSettings } from '../../angulartics2-config';\nimport { UserTimings } from '../../angulartics2-interfaces';\n\ndeclare var _gaq: GoogleAnalyticsCode;\ndeclare var ga: UniversalAnalytics.ga;\ndeclare var location: any;\n\nexport class GoogleAnalyticsDefaults implements GoogleAnalyticsSettings {\n additionalAccountNames = [];\n userId = null;\n transport = '';\n anonymizeIp = false;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleAnalytics {\n dimensionsAndMetrics = [];\n settings: Partial<GoogleAnalyticsSettings>;\n\n constructor(private angulartics2: Angulartics2) {\n const defaults = new GoogleAnalyticsDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.ga = {\n ...defaults,\n ...this.angulartics2.settings.ga,\n };\n this.settings = this.angulartics2.settings.ga;\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.exceptionTrack(x));\n this.angulartics2.userTimings\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.userTimings(x));\n }\n\n pageTrack(path: string) {\n if (typeof _gaq !== 'undefined' && _gaq) {\n _gaq.push(['_trackPageview', path]);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n _gaq.push([accountName + '._trackPageview', path]);\n }\n }\n if (typeof ga !== 'undefined' && ga) {\n if (this.angulartics2.settings.ga.userId) {\n ga('set', '&uid', this.angulartics2.settings.ga.userId);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', '&uid', this.angulartics2.settings.ga.userId);\n }\n }\n if (this.angulartics2.settings.ga.anonymizeIp) {\n ga('set', 'anonymizeIp', true);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', 'anonymizeIp', true);\n }\n }\n ga('send', 'pageview', path);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'pageview', path);\n }\n }\n }\n\n /**\n * Track Event in GA\n *\n * @param action Associated with the event\n * @param properties Comprised of:\n * - category (string) and optional\n * - label (string)\n * - value (integer)\n * - noninteraction (boolean)\n *\n * @link https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#SettingUpEventTracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n eventTrack(action: string, properties: any) {\n // Google Analytics requires an Event Category\n if (!properties || !properties.category) {\n properties = properties || {};\n properties.category = 'Event';\n }\n // GA requires that eventValue be an integer, see:\n // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue\n // https://github.com/luisfarzati/angulartics/issues/81\n if (properties.value) {\n const parsed = parseInt(properties.value, 10);\n properties.value = isNaN(parsed) ? 0 : parsed;\n }\n\n if (typeof ga !== 'undefined') {\n const eventOptions = {\n eventCategory: properties.category,\n eventAction: action,\n eventLabel: properties.label,\n eventValue: properties.value,\n nonInteraction: properties.noninteraction,\n page: properties.page || location.hash.substring(1) || location.pathname,\n userId: this.angulartics2.settings.ga.userId,\n hitCallback: properties.hitCallback,\n ...(this.angulartics2.settings.ga.transport && {\n transport: this.angulartics2.settings.ga.transport,\n }),\n };\n\n // add custom dimensions and metrics\n this.setDimensionsAndMetrics(properties);\n\n ga('send', 'event', eventOptions);\n\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'event', eventOptions);\n }\n } else if (typeof _gaq !== 'undefined') {\n _gaq.push([\n '_trackEvent',\n properties.category,\n action,\n properties.label,\n properties.value,\n properties.noninteraction,\n ]);\n }\n }\n\n /**\n * Exception Track Event in GA\n *\n * @param properties Comprised of the optional fields:\n * - fatal (string)\n * - description (string)\n *\n * @https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n exceptionTrack(properties: any) {\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.fatal = true;\n }\n\n properties.exDescription = properties.description;\n\n const eventOptions = {\n exFatal: properties.fatal,\n exDescription: properties.description,\n };\n\n ga('send', 'exception', eventOptions);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'exception', eventOptions);\n }\n }\n\n /**\n * User Timings Event in GA\n *\n * @param properties Comprised of the mandatory fields:\n * - timingCategory (string)\n * - timingVar (string)\n * - timingValue (number)\n * Properties can also have the optional fields:\n * - timingLabel (string)\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings\n */\n userTimings(properties: UserTimings) {\n if (\n !properties ||\n !properties.timingCategory ||\n !properties.timingVar ||\n !properties.timingValue\n ) {\n console.error(\n 'Properties timingCategory, timingVar, and timingValue are required to be set.',\n );\n return;\n }\n\n if (typeof ga !== 'undefined') {\n ga('send', 'timing', properties);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'timing', properties);\n }\n }\n }\n\n setUsername(userId: string) {\n this.angulartics2.settings.ga.userId = userId;\n if (typeof ga === 'undefined') {\n return;\n }\n ga('set', 'userId', userId);\n }\n\n setUserProperties(properties: any) {\n this.setDimensionsAndMetrics(properties);\n }\n\n private setDimensionsAndMetrics(properties: any) {\n if (typeof ga === 'undefined') {\n return;\n }\n // clean previously used dimensions and metrics that will not be overriden\n this.dimensionsAndMetrics.forEach(elem => {\n if (!properties.hasOwnProperty(elem)) {\n ga('set', elem, undefined);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName: string) => {\n ga(`${accountName}.set`, elem, undefined);\n });\n }\n });\n this.dimensionsAndMetrics = [];\n\n // add custom dimensions and metrics\n Object.keys(properties).forEach(key => {\n if (key.lastIndexOf('dimension', 0) === 0 || key.lastIndexOf('metric', 0) === 0) {\n ga('set', key, properties[key]);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName: string) => {\n ga(`${accountName}.set`, key, properties[key]);\n });\n this.dimensionsAndMetrics.push(key);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n GaEnhancedEcomAction,\n GaEnhancedEcomActionFieldObject,\n GaEnhancedEcomImpressionFieldObject,\n GaEnhancedEcomProductFieldObject,\n} from './ga-enhanced-ecom-options';\n\ndeclare var ga: UniversalAnalytics.ga;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleAnalyticsEnhancedEcommerce {\n /**\n * Add impression in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#measuring-activities\n */\n ecAddImpression(properties: Partial<GaEnhancedEcomImpressionFieldObject>) {\n ga('ec:addImpression', properties);\n }\n\n /**\n * Add product in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce\n */\n ecAddProduct(product: Partial<GaEnhancedEcomProductFieldObject>) {\n ga('ec:addProduct', product);\n }\n\n /**\n * Set action in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce\n */\n ecSetAction(\n action: GaEnhancedEcomAction,\n properties: Partial<GaEnhancedEcomActionFieldObject>\n ) {\n ga('ec:setAction', action, properties);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { GoogleTagManagerSettings } from '../../angulartics2-config';\n\ndeclare var dataLayer: any;\n\nexport class GoogleTagManagerDefaults implements GoogleTagManagerSettings {\n userId = null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleTagManager {\n constructor(protected angulartics2: Angulartics2) {\n // The dataLayer needs to be initialized\n if (typeof dataLayer !== 'undefined' && dataLayer) {\n dataLayer = (window as any).dataLayer = (window as any).dataLayer || [];\n }\n const defaults = new GoogleTagManagerDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.gtm = { ...defaults, ...this.angulartics2.settings.gtm };\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n }\n\n startTracking() {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.exceptionTrack(x));\n }\n\n pageTrack(path: string) {\n this.pushLayer({\n event: 'Page View',\n 'content-name': path,\n userId: this.angulartics2.settings.gtm.userId,\n });\n }\n\n /**\n * Send Data Layer\n *\n * @layer data layer object\n */\n pushLayer(layer: any) {\n if (typeof dataLayer !== 'undefined' && dataLayer) {\n dataLayer.push(layer);\n }\n }\n\n /**\n * Send interactions to the dataLayer, i.e. for event tracking in Google Analytics\n *\n * @param action associated with the event\n */\n eventTrack(action: string, properties: any) {\n // TODO: make interface\n // @param {string} properties.category\n // @param {string} [properties.label]\n // @param {number} [properties.value]\n // @param {boolean} [properties.noninteraction]\n // Set a default GTM category\n properties = properties || {};\n\n this.pushLayer({\n event: properties.event || 'interaction',\n target: properties.category || 'Event',\n action,\n label: properties.label,\n value: properties.value,\n interactionType: properties.noninteraction,\n userId: this.angulartics2.settings.gtm.userId,\n ...properties.gtmCustom,\n });\n }\n\n /**\n * Exception Track Event in GTM\n *\n */\n exceptionTrack(properties: any) {\n // TODO: make interface\n // @param {Object} properties\n // @param {string} properties.appId\n // @param {string} properties.appName\n // @param {string} properties.appVersion\n // @param {string} [properties.description]\n // @param {boolean} [properties.fatal]\n if (!properties || !properties.appId || !properties.appName || !properties.appVersion) {\n console.error('Must be setted appId, appName and appVersion.');\n return;\n }\n\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.exFatal = true;\n }\n\n properties.exDescription = properties.event ? properties.event.stack : properties.description;\n\n this.eventTrack(\n `Exception thrown for ${properties.appName} <${properties.appId}@${properties.appVersion}>`,\n {\n category: 'Exception',\n label: properties.exDescription,\n },\n );\n }\n\n /**\n * Set userId for use with Universal Analytics User ID feature\n *\n * @param userId used to identify user cross-device in Google Analytics\n */\n setUsername(userId: string) {\n this.angulartics2.settings.gtm.userId = userId;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { UserTimings } from '../../angulartics2-interfaces';\nimport { GoogleGlobalSiteTagSettings } from '../../angulartics2-config';\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { EventGst, UserTimingsGst } from './gst-interfaces';\n\ndeclare var gtag: any;\ndeclare var ga: any;\n\nexport class GoogleGlobalSiteTagDefaults implements GoogleGlobalSiteTagSettings {\n trackingIds: string[] = [];\n\n constructor() {\n if (typeof ga !== 'undefined' && ga) {\n // See: https://developers.google.com/analytics/devguides/collection/analyticsjs/ga-object-methods-reference\n ga(() => {\n ga.getAll().forEach((tracker: any) => {\n const id = tracker.get('trackingId');\n // If set both in forRoot and HTML page, we want to avoid duplicates\n if (id !== undefined && this.trackingIds.indexOf(id) === -1) {\n this.trackingIds.push(id);\n }\n });\n });\n }\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleGlobalSiteTag {\n private dimensionsAndMetrics: { [key: string]: any } = {};\n\n constructor(protected angulartics2: Angulartics2) {\n const defaults = new GoogleGlobalSiteTagDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.gst = { ...defaults, ...this.angulartics2.settings.gst };\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.exceptionTrack(x));\n this.angulartics2.userTimings\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.userTimings(this.convertTimings(x)));\n this.angulartics2.setUsername\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.setUserProperties(x));\n }\n\n /**\n * Manually track page view, see:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications#tracking_virtual_pageviews\n *\n * @param path relative url\n */\n pageTrack(path: string) {\n if (typeof gtag !== 'undefined' && gtag) {\n const params: any = {\n page_path: path,\n page_location: window.location.protocol + '//' + window.location.host + path,\n ...this.dimensionsAndMetrics,\n };\n\n // Custom map must be reset with all config to stay valid.\n\n if (this.angulartics2.settings.gst.customMap) {\n params.custom_map = this.angulartics2.settings.gst.customMap;\n }\n if (this.angulartics2.settings.gst.userId) {\n params.user_id = this.angulartics2.settings.gst.userId;\n }\n if (this.angulartics2.settings.gst.anonymizeIp) {\n params.anonymize_ip = this.angulartics2.settings.gst.anonymizeIp;\n }\n\n for (const id of this.angulartics2.settings.gst.trackingIds) {\n gtag('config', id, params);\n }\n }\n }\n\n /**\n * Send interactions to gtag, i.e. for event tracking in Google Analytics. See:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/events\n *\n * @param action associated with the event\n */\n eventTrack(action: string, properties: Partial<EventGst> = {}) {\n this.eventTrackInternal(action, {\n event_category: properties.category || 'interaction',\n event_label: properties.label,\n value: properties.value,\n non_interaction: properties.noninteraction,\n ...properties.gstCustom,\n });\n }\n\n /**\n * Exception Track Event in GST. See:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/exceptions\n *\n */\n exceptionTrack(properties: any) {\n // TODO: make interface\n // @param {Object} properties\n // @param {string} [properties.description]\n // @param {boolean} [properties.fatal]\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.fatal = true;\n }\n\n properties.exDescription = properties.event ? properties.event.stack : properties.description;\n\n this.eventTrack('exception', {\n gstCustom: {\n description: properties.exDescription,\n fatal: properties.fatal,\n ...properties.gstCustom,\n },\n });\n }\n\n /**\n * User Timings Event in GST.\n *\n * @param properties Comprised of the mandatory fields:\n * - name (string)\n * - value (number - integer)\n * Properties can also have the optional fields:\n * - category (string)\n * - label (string)\n *\n * @link https://developers.google.com/analytics/devguides/collection/gtagjs/user-timings\n */\n userTimings(properties: UserTimingsGst) {\n if (!properties) {\n console.error('User timings - \"properties\" parameter is required to be set.');\n return;\n }\n\n this.eventTrackInternal('timing_complete', {\n name: properties.name,\n value: properties.value,\n event_category: properties.category,\n event_label: properties.label,\n });\n }\n\n private convertTimings(properties: UserTimings): UserTimingsGst {\n return {\n name: properties.timingVar,\n value: properties.timingValue,\n category: properties.timingCategory,\n label: properties.timingLabel,\n };\n }\n\n setUsername(userId: string | { userId: string | number }) {\n this.angulartics2.settings.gst.userId = userId;\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('set', { user_id: typeof userId === 'string' || !userId ? userId : userId.userId });\n }\n }\n\n setUserProperties(properties: any) {\n this.setDimensionsAndMetrics(properties);\n }\n\n private setDimensionsAndMetrics(properties: { [key: string]: any }) {\n // We want the dimensions and metrics to accumulate, so we merge with previous value\n this.dimensionsAndMetrics = {\n ...this.dimensionsAndMetrics,\n ...properties,\n };\n\n // Remove properties that are null or undefined\n Object.keys(this.dimensionsAndMetrics).forEach(key => {\n const val = this.dimensionsAndMetrics[key];\n if (val === undefined || val === null) {\n delete this.dimensionsAndMetrics[key];\n }\n });\n\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('set', this.dimensionsAndMetrics);\n }\n }\n\n private eventTrackInternal(action: string, properties: any = {}) {\n this.cleanProperties(properties);\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('event', action, properties);\n }\n }\n\n private cleanProperties(properties: { [key: string]: any }): void {\n // GA requires that eventValue be an non-negative integer, see:\n // https://developers.google.com/analytics/devguides/collection/gtagjs/events\n if (properties.value) {\n const parsed = parseInt(properties.value, 10);\n properties.value = isNaN(parsed) ? 0 : parsed;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _hsq: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Hubspot {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['setPath', path]);\n _hsq.push(['trackPageView']);\n }\n }\n\n eventTrack(action: string, properties: any) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['trackEvent', properties]);\n }\n }\n\n setUserProperties(properties: any) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['identify', properties]);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _kmq: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Kissmetrics {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _kmq === 'undefined') {\n _kmq = [];\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n _kmq.push(['record', 'Pageview', { Page: path }]);\n }\n\n eventTrack(action: string, properties: any) {\n _kmq.push(['record', action, properties]);\n }\n\n setUsername(userId: string) {\n _kmq.push(['identify', userId]);\n }\n\n setUserProperties(properties: any) {\n _kmq.push(['set', properties]);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const _satellite: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2LaunchByAdobe {\n payload: any = {};\n\n constructor(protected angulartics2: Angulartics2) {\n if ('undefined' === typeof _satellite) {\n console.warn('Launch not found!');\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n setUsername(userId: string | boolean) {\n if ('undefined' !== typeof userId && userId) {\n this.payload.userId = userId;\n }\n }\n\n setUserProperties(properties: any) {\n if ('undefined' !== typeof properties && properties) {\n this.payload.properties = properties;\n }\n }\n\n startTracking() {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n this.payload = this.payload || {};\n this.payload.path = path;\n\n if ('undefined' !== typeof _satellite && _satellite) {\n _satellite.track('pageTrack', this.payload);\n }\n }\n\n /**\n * @param action associated with the event\n * @param properties associated with the event\n */\n eventTrack(action: string, properties: any) {\n properties = properties || {};\n\n // add properties to payload\n this.payload.action = action;\n this.payload.eventProperties = properties;\n\n if ('undefined' !== typeof _satellite && _satellite) {\n _satellite.track('eventTrack', this.payload);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var mixpanel: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Mixpanel {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));\n this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));\n this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n mixpanel.track('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n mixpanel.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string) {\n try {\n mixpanel.identify(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n mixpanel.people.set(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserPropertiesOnce(properties: any) {\n try {\n mixpanel.people.set_once(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperProperties(properties: any) {\n try {\n mixpanel.register(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperPropertiesOnce(properties: any) {\n try {\n mixpanel.register_once(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setAlias(alias: any) {\n try {\n mixpanel.alias(alias);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare let posthog: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Posthog {\n private readonly angulartics2 = inject(Angulartics2);\n\n constructor() {\n this.angulartics2.setUsername.subscribe(x => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));\n this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));\n this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.startPageTracking();\n this.startEventTracking();\n }\n\n startPageTracking(): void {\n this.angulartics2.pageTrack.pipe(this.angulartics2.filterDeveloperMode()).subscribe(x => {\n this.pageTrack(x.path);\n });\n }\n\n startEventTracking(): void {\n this.angulartics2.eventTrack.pipe(this.angulartics2.filterDeveloperMode()).subscribe(x => {\n this.eventTrack(x.action, x.properties);\n });\n }\n\n pageTrack(path: string | undefined): void {\n try {\n posthog.capture('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties?: any): void {\n try {\n posthog.capture(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string | { userId: string | number }): void {\n try {\n posthog.identify(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any | undefined): void {\n try {\n posthog.identify(properties[\"distinct_id\"], properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserPropertiesOnce(properties: any | undefined): void {\n try {\n posthog.capture('Set User Properties Once', {\n $set_once: properties\n });\n }\n catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperProperties(properties: any | undefined): void {\n try {\n posthog.capture('Set Super Properties', { $set: properties });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperPropertiesOnce(properties: any | undefined): void {\n try {\n posthog.capture('Set Super Properties Once', { $set_once: properties });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setAlias(alias: string): void {\n try {\n posthog.alias(alias);\n }\n catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var Pyze: any;\ndeclare var PyzeEvents: any;\ndeclare var PyzeIdentity: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Pyze {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: string) => this.setUserProfile(x));\n this.angulartics2.setUserProperties.subscribe(x => this.updateUserProfile(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n Pyze.postPageView('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n PyzeEvents.postCustomEventWithAttributes(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProfile(userId: string) {\n try {\n PyzeIdentity.setUserProfile(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n updateUserProfile(properties: any) {\n try {\n PyzeIdentity.updateUserProfile({},properties)\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _paq: any;\n\nexport type EventTrackAction =\n | 'setEcommerceView'\n | 'addEcommerceItem'\n | 'trackEcommerceCartUpdate'\n | 'trackEcommerceOrder'\n | 'trackLink'\n | 'trackGoal'\n | 'trackSiteSearch'\n | string;\n\nexport type ScopeMatomo = 'visit' | 'page';\n\nexport interface DimensionsMatomoProperties {\n dimension1?: string;\n dimension2?: string;\n dimension3?: string;\n dimension4?: string;\n dimension5?: string;\n dimension6?: string;\n dimension7?: string;\n dimension8?: string;\n dimension9?: string;\n dimension10?: string;\n dimension11?: string;\n dimension12?: string;\n dimension13?: string;\n dimension14?: string;\n dimension15?: string;\n}\nexport interface SetEcommerceViewMatomoProperties {\n /** @class SetEcommerceViewMatomoProperties */\n productSKU: string;\n /** @class SetEcommerceViewMatomoProperties */\n productName: string;\n /** @class SetEcommerceViewMatomoProperties */\n categoryName: string;\n /** @class SetEcommerceViewMatomoProperties */\n price: string;\n}\n\nexport interface AddEcommerceItemProperties {\n /** @class AddEcommerceItemProperties */\n productSKU: string;\n /** @class AddEcommerceItemProperties */\n productName: string;\n /** @class AddEcommerceItemProperties */\n productCategory: string;\n /** @class AddEcommerceItemProperties */\n price: string;\n /** @class AddEcommerceItemProperties */\n quantity: string;\n}\n\nexport interface TrackEcommerceCartUpdateMatomoProperties {\n /** @class TrackEcommerceCartUpdateMatomoProperties */\n grandTotal: string;\n}\n\nexport interface TrackEcommerceOrderMatomoProperties {\n /** @class TrackEcommerceOrderMatomoProperties */\n orderId: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n grandTotal: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n subTotal: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n tax: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n shipping: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n discount: string;\n}\n\nexport interface TrackLinkMatomoProperties {\n /** @class TrackLinkMatomoProperties */\n url: string;\n /** @class TrackLinkMatomoProperties */\n linkType: string;\n}\n\nexport interface TrackGoalMatomoProperties {\n /** @class TrackGoalMatomoProperties */\n goalId: string;\n /** @class TrackGoalMatomoProperties */\n value: string;\n}\n\nexport interface TrackSiteSearchMatomoProperties {\n /** @class TrackSiteSearchMatomoProperties */\n keyword: string;\n /** @class TrackSiteSearchMatomoProperties */\n category: string;\n /** @class TrackSiteSearchMatomoProperties */\n searchCount: string;\n}\n\nexport interface TrackEventMatomoProperties {\n /** @class TrackEventMatomoProperties */\n category: string;\n /** @class TrackEventMatomoProperties */\n name?: string;\n /** @class TrackEventMatomoProperties */\n label?: string;\n /** @class TrackEventMatomoProperties */\n value?: number | string;\n}\n\nexport interface SetCustomVariableMatomoProperties {\n /** @class SetCustomVariableMatomoProperties */\n index: number;\n /** @class SetCustomVariableMatomoProperties */\n name: string;\n /** @class SetCustomVariableMatomoProperties */\n value: string;\n /** @class SetCustomVariableMatomoProperties */\n scope: ScopeMatomo;\n}\n\nexport interface DeleteCustomVariableMatomoProperties {\n /** @class DeleteCustomVariableMatomoProperties */\n index: number;\n /** @class DeleteCustomVariableMatomoProperties */\n scope: ScopeMatomo;\n}\n\nexport type EventTrackactionProperties =\n | SetEcommerceViewMatomoProperties\n | AddEcommerceItemProperties\n | TrackEcommerceCartUpdateMatomoProperties\n | TrackEcommerceOrderMatomoProperties\n | TrackLinkMatomoProperties\n | TrackGoalMatomoProperties\n | TrackSiteSearchMatomoProperties\n | TrackEventMatomoProperties;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Matomo {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _paq === 'undefined') {\n console.warn('Matomo not found');\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x: any) =>\n this.setUserProperties(x),\n );\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string, title?: string) {\n try {\n if (!window.location.origin) {\n (window.location as any).origin =\n window.location.protocol +\n '//' +\n window.location.hostname +\n (window.location.port ? ':' + window.location.port : '');\n }\n _paq.push(['setDocumentTitle', title || window.document.title]);\n _paq.push(['setCustomUrl', window.location.origin + path]);\n _paq.push(['trackPageView']);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n resetUser() {\n try {\n _paq.push(['appendToTrackingUrl', 'new_visit=1']); // (1) forces a new visit\n _paq.push(['deleteCookies']); // (2) deletes existing tracking cookies to start the new visit\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: 'setEcommerceView', properties: SetEcommerceViewMatomoProperties): void;\n eventTrack(action: 'addEcommerceItem', properties: AddEcommerceItemProperties): void;\n eventTrack(\n action: 'trackEcommerceCartUpdate',\n properties: TrackEcommerceCartUpdateMatomoProperties,\n ): void;\n eventTrack(action: 'trackEcommerceOrder', properties: TrackEcommerceOrderMatomoProperties): void;\n eventTrack(action: 'trackLink', properties: TrackLinkMatomoProperties): void;\n eventTrack(action: 'trackGoal', properties: TrackGoalMatomoProperties): void;\n eventTrack(action: 'trackSiteSearch', properties: TrackSiteSearchMatomoProperties): void;\n eventTrack(action: string, properties: TrackEventMatomoProperties): void;\n\n /**\n * Track a basic event in Matomo, or send an ecommerce event.\n *\n * @param action A string corresponding to the type of event that needs to be tracked.\n * @param properties The properties that need to be logged with the event.\n */\n eventTrack(action: EventTrackAction, properties?: EventTrackactionProperties) {\n let params = [];\n switch (action) {\n /**\n * @description Sets the current page view as a product or category page view. When you call\n * setEcommerceView it must be followed by a call to trackPageView to record the product or\n * category page view.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-product-page-views-category-page-views-optional\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property productSKU (required) SKU: Product unique identifier\n * @property productName (optional) Product name\n * @property categoryName (optional) Product category, or array of up to 5 categories\n * @property price (optional) Product Price as displayed on the page\n */\n case 'setEcommerceView':\n params = [\n 'setEcommerceView',\n (properties as SetEcommerceViewMatomoProperties).productSKU,\n (properties as SetEcommerceViewMatomoProperties).productName,\n (properties as SetEcommerceViewMatomoProperties).categoryName,\n (properties as SetEcommerceViewMatomoProperties).price,\n ];\n break;\n\n /**\n * @description Adds a product into the ecommerce order. Must be called for each product in\n * the order.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property productSKU (required) SKU: Product unique identifier\n * @property productName (optional) Product name\n * @property categoryName (optional) Product category, or array of up to 5 categories\n * @property price (recommended) Product price\n * @property quantity (optional, default to 1) Product quantity\n */\n case 'addEcommerceItem':\n params = [\n 'addEcommerceItem',\n (properties as AddEcommerceItemProperties).productSKU,\n (properties as AddEcommerceItemProperties).productName,\n (properties as AddEcommerceItemProperties).productCategory,\n (properties as AddEcommerceItemProperties).price,\n (properties as AddEcommerceItemProperties).quantity,\n ];\n break;\n\n /**\n * @description Tracks a shopping cart. Call this javascript function every time a user is\n * adding, updating or deleting a product from the cart.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-add-to-cart-items-added-to-the-cart-optional\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property grandTotal (required) Cart amount\n */\n case 'trackEcommerceCartUpdate':\n params = [\n 'trackEcommerceCartUpdate',\n (properties as TrackEcommerceCartUpdateMatomoProperties).grandTotal,\n ];\n break;\n\n /**\n * @description Tracks an Ecommerce order, including any ecommerce item previously added to\n * the order. orderId and grandTotal (ie. revenue) are required parameters.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property orderId (required) Unique Order ID\n * @property grandTotal (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)\n * @property subTotal (optional) Order sub total (excludes shipping)\n * @property tax (optional) Tax amount\n * @property shipping (optional) Shipping amount\n * @property discount (optional) Discount offered (set to false for unspecified parameter)\n */\n case 'trackEcommerceOrder':\n params = [\n 'trackEcommerceOrder',\n (properties as TrackEcommerceOrderMatomoProperties).orderId,\n (properties as TrackEcommerceOrderMatomoProperties).grandTotal,\n (properties as TrackEcommerceOrderMatomoProperties).subTotal,\n (properties as TrackEcommerceOrderMatomoProperties).tax,\n (properties as TrackEcommerceOrderMatomoProperties).shipping,\n (properties as TrackEcommerceOrderMatomoProperties).discount,\n ];\n break;\n\n /**\n * @description To manually trigger an outlink\n *\n * @link https://matomo.org/docs/tracking-goals-web-analytics/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#tracking-a-click-as-an-outlink-via-css-or-javascript\n *\n * @property url (required) link url\n * @property linkType (optional) type of link\n */\n case 'trackLink':\n params = [\n 'trackLink',\n (properties as TrackLinkMatomoProperties).url,\n (properties as TrackLinkMatomoProperties).linkType,\n ];\n break;\n\n /**\n * @description Tracks an Ecommerce goal\n *\n * @link https://matomo.org/docs/tracking-goals-web-analytics/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions\n *\n * @property goalId (required) Unique Goal ID\n * @property value (optional) passed to goal tracking\n */\n case 'trackGoal':\n params = [\n 'trackGoal',\n (properties as TrackGoalMatomoProperties).goalId,\n (properties as TrackGoalMatomoProperties).value,\n ];\n break;\n\n /**\n * @description Tracks a site search\n *\n * @link https://matomo.org/docs/site-search/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking\n *\n * @property keyword (required) Keyword searched for\n * @property category (optional) Search category\n * @property searchCount (optional) Number of results\n */\n case 'trackSiteSearch':\n params = [\n 'trackSiteSearch',\n (properties as TrackSiteSearchMatomoProperties).keyword,\n (properties as TrackSiteSearchMatomoProperties).category,\n (properties as TrackSiteSearchMatomoProperties).searchCount,\n ];\n break;\n\n /**\n * @description Logs an event with an event category (Videos, Music, Games...), an event\n * action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...), and an optional\n * event name and optional numeric value.\n *\n * @link https://matomo.org/docs/event-tracking/\n * @link https://developer.matomo.org/api-reference/tracking-javascript#using-the-tracker-object\n *\n * @property category\n * @property action\n * @property name (optional, recommended)\n * @property value (optional)\n */\n default:\n // PAQ requires that eventValue be an integer, see: http://matomo.org/docs/event-tracking\n if ((properties as TrackEventMatomoProperties).value) {\n const parsed = parseInt((properties as TrackEventMatomoProperties).value as any, 10);\n (properties as TrackEventMatomoProperties).value = isNaN(parsed) ? 0 : parsed;\n }\n\n params = [\n 'trackEvent',\n (properties as TrackEventMatomoProperties).category,\n action,\n (properties as TrackEventMatomoProperties).name ||\n (properties as TrackEventMatomoProperties).label, // Changed in favour of Matomo documentation. Added fallback so it's backwards compatible.\n (properties as TrackEventMatomoProperties).value,\n ];\n }\n try {\n _paq.push(params);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string | boolean) {\n try {\n _paq.push(['setUserId', userId]);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * Sets custom dimensions if at least one property has the key \"dimension<n>\",\n * e.g. dimension10. If there are custom dimensions, any other property is ignored.\n *\n * If there are no custom dimensions in the given properties object, the properties\n * object is saved as a custom variable.\n *\n * If in doubt, prefer custom dimensions.\n * @link https://matomo.org/docs/custom-variables/\n */\n setUserProperties(properties: SetCustomVariableMatomoProperties | DimensionsMatomoProperties) {\n const dimensions = this.setCustomDimensions(properties);\n try {\n if (dimensions.length === 0) {\n _paq.push([\n 'setCustomVariable',\n (properties as SetCustomVariableMatomoProperties).index,\n (properties as SetCustomVariableMatomoProperties).name,\n (properties as SetCustomVariableMatomoProperties).value,\n (properties as SetCustomVariableMatomoProperties).scope,\n ]);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * If you created a custom variable and then decide to remove this variable from\n * a visit or page view, you can use deleteCustomVariable.\n *\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#deleting-a-custom-variable\n */\n deletedUserProperties(properties: DeleteCustomVariableMatomoProperties) {\n try {\n _paq.push(['deleteCustomVariable', properties.index, properties.scope]);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n private setCustomDimensions(properties: SetCustomVariableMatomoProperties | DimensionsMatomoProperties): string[] {\n const dimensionRegex: RegExp = /dimension[1-9]\\d*/;\n const dimensions = Object.keys(properties).filter(key => dimensionRegex.exec(key));\n dimensions.forEach(dimension => {\n const number = Number(dimension.substr(9));\n _paq.push(['setCustomDimension', number, properties[dimension]]);\n });\n return dimensions;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var analytics: SegmentAnalytics.AnalyticsJS;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Segment {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#page\n *\n * analytics.page([category], [name], [properties], [options], [callback]);\n */\n pageTrack(path: string) {\n // TODO : Support optional parameters where the parameter order and type changes their meaning\n try {\n analytics.page(path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#track\n *\n * analytics.track(event, [properties], [options], [callback]);\n */\n eventTrack(action: string, properties: any) {\n try {\n analytics.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#identify\n *\n * analytics.identify([userId], [traits], [options], [callback]);\n */\n setUserProperties(properties: any) {\n try {\n if (properties.userId) {\n analytics.identify(properties.userId, properties);\n } else {\n analytics.identify(properties);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#reset--logout\n *\n * analytics.reset();\n */\n unsetUserProperties() {\n analytics.reset();\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#alias\n *\n * analytics.alias(userId, previousId, options, callback);\n */\n setAlias(alias: any) {\n try {\n analytics.alias(alias);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var Intercom: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Intercom {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n this.eventTrack('Pageview', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n Intercom('trackEvent', action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n if (properties.userId && !properties.user_id) {\n properties.user_id = properties.userId;\n }\n\n Intercom('boot', properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var woopra: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Woopra {\n constructor(private angulartics2: Angulartics2) {\n if (typeof woopra === 'undefined') {\n console.warn('Woopra not found');\n }\n\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n woopra.track('pv', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n woopra.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n if (properties.email) {\n woopra.identify(properties);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { ClickyProperties } from './clicky.interfaces';\n\ndeclare var clicky: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Clicky {\n constructor(private angulartics2: Angulartics2, private titleService: Title) {\n if (typeof clicky === 'undefined') {\n console.warn('Angulartics 2 Clicky Plugin: clicky global not found');\n }\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventOrGoalTrack(x.action, x.properties));\n }\n\n /**\n * Track Page in Clicky\n *\n * @param path location\n *\n * @link https://clicky.com/help/custom/manual#log\n */\n pageTrack(path: string) {\n const title: string = this.titleService.getTitle();\n clicky.log(path, title, 'pageview');\n }\n\n /**\n * Track Event Or Goal in Clicky\n *\n * @param action Action name\n * @param properties Definition of 'properties.goal' determines goal vs event tracking\n *\n * @link https://clicky.com/help/custom/manual#log\n * @link https://clicky.com/help/custom/manual#goal\n */\n eventOrGoalTrack(action: string, properties: Partial<ClickyProperties>) {\n if (typeof properties.goal === 'undefined') {\n const title: string = properties.title || null;\n const type: string = properties.type != null ? this.validateType(properties.type) : null;\n clicky.log(action, title, type);\n } else {\n const goalId: string = properties.goal;\n const revenue: number = properties.revenue;\n clicky.goal(goalId, revenue, !!properties.noQueue);\n }\n }\n\n private validateType(type: string): string {\n const EventType = ['pageview', 'click', 'download', 'outbound'];\n return EventType.indexOf(type) > -1 ? type : 'pageview';\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var amplitude: {\n getInstance: () => {\n logEvent(action: string, properties: any);\n setUserId(userId: string);\n setUserProperties(properties: any);\n };\n};\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Amplitude {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: any) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x: any) => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe((x: any) => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n this.eventTrack('Pageview', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n amplitude.getInstance().logEvent(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string) {\n try {\n amplitude.getInstance().setUserId(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n amplitude.getInstance().setUserProperties(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var sp: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Splunk {\n constructor(private angulartics2: Angulartics2) {\n if (typeof sp === 'undefined') {\n console.warn('Splunk not found');\n }\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n sp.pageview(path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n sp.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Angulartics2 } from '../../angulartics2-core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class Angulartics2IBMDigitalAnalytics {\r\n constructor(private angulartics2: Angulartics2) {\r\n if (typeof window['cmCreatePageviewTag'] !== 'function') {\r\n console.warn('Angulartics 2 IBM Digital Analytics Plugin: eluminate.js is not loaded');\r\n }\r\n }\r\n\r\n startTracking(): void {\r\n this.angulartics2.pageTrack\r\n .pipe(this.angulartics2.filterDeveloperMode())\r\n .subscribe(x => this.pageTrack(x.path));\r\n this.angulartics2.eventTrack\r\n .pipe(this.angulartics2.filterDeveloperMode())\r\n .subscribe(x => this.eventTrack(x.action, x.properties));\r\n }\r\n\r\n /**\r\n * Track Page in IBM Digital Analytics\r\n *\r\n * @param path location\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_pageviewtag.html\r\n */\r\n pageTrack(path: string) {\r\n const cmCreatePageviewTag = window['cmCreatePageviewTag'];\r\n cmCreatePageviewTag(path, null, null, null);\r\n }\r\n\r\n /**\r\n * Track an event in IBM Digital Analytics\r\n *\r\n * @param action A string corresponding to the type of event that needs to be tracked.\r\n * @param properties The properties that need to be logged with the event.\r\n */\r\n eventTrack(action: string, properties: any = {}) {\r\n const cmDisplayShops = window['cmDisplayShops'];\r\n switch (action) {\r\n /**\r\n * @description The Product View tag captures information about vdigitalDataiews of product detail pages.\r\n * The Product View tag should be called on the lowest level detail page for products, which is typically\r\n * the Product Details page. You can view example Product View tags below.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_prodviewtag.html\r\n */\r\n case 'cmCreateProductviewTag':\r\n const cmCreateProductviewTag = window['cmCreateProductviewTag'];\r\n cmCreateProductviewTag(\r\n properties.productId,\r\n properties.productName,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.virtualCategory,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Shop Action 5 tag captures data about selected products and which products are present in a shopping cart,\r\n * if any, when the cart is viewed.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact5tag.html\r\n */\r\n case 'cmCreateShopAction5Tag':\r\n const cmCreateShopAction5Tag = window['cmCreateShopAction5Tag'];\r\n cmCreateShopAction5Tag(\r\n properties.productId,\r\n properties.productName,\r\n properties.quantity,\r\n properties.unitPrice,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.extraFields,\r\n properties.virtualCategory,\r\n );\r\n\r\n cmDisplayShops();\r\n\r\n break;\r\n\r\n /**\r\n * @description The Shop Action 9 tag captures data about what products were purchased by a customer.\r\n * Like the Shop Action 5 tag, one tag should be sent for each product line item purchased. These tags should be sent\r\n * on the receipt or other completion page confirming a successful order.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact9tag.html\r\n */\r\n case 'cmCreateShopAction9Tag':\r\n const cmCreateShopAction9Tag = window['cmCreateShopAction9Tag'];\r\n cmCreateShopAction9Tag(\r\n properties.productId,\r\n properties.productName,\r\n properties.quantity,\r\n properties.unitPrice,\r\n properties.registrationId,\r\n properties.orderId,\r\n properties.orderSubtotal,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n cmDisplayShops();\r\n\r\n break;\r\n\r\n /**\r\n * @description The Order tag captures order header information such as Registration ID, order ID, order subtotal,\r\n * and shipping and handling. The Order tag should be sent on the receipt page confirming order completion.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_ordertag.html\r\n */\r\n case 'cmCreateOrderTag':\r\n const cmCreateOrderTag = window['cmCreateOrderTag'];\r\n cmCreateOrderTag(\r\n properties.orderId,\r\n properties.orderSubtotal,\r\n properties.orderShipping,\r\n properties.registrationId,\r\n properties.registrantCity,\r\n properties.registrantState,\r\n properties.registrantPostalCode,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Registration tag creates a Lifetime Visitor Experience Profile (LIVE Profile) by associating a single\r\n * common Registration ID with the IBM® Digital Analytics permanent cookie set in every browser visiting the tagged site.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_registrationtag.html\r\n */\r\n case 'cmCreateRegistrationTag':\r\n const cmCreateRegistrationTag = window['cmCreateRegistrationTag'];\r\n cmCreateRegistrationTag(\r\n properties.registrationId,\r\n properties.registrantEmail,\r\n properties.registrantCity,\r\n properties.registrantState,\r\n properties.registrantPostalCode,\r\n properties.registrantCountry,\r\n properties.attrbute,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Element tag is used to track intra-page content in IBM® Digital Analytics. Data collected by\r\n * the Element tag is used to populate values in the Element Categories and Top Viewed Elements reports.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_elementtag.html\r\n */\r\n case 'cmCreateElementTag':\r\n const cmCreateElementTag = window['cmCreateElementTag'];\r\n cmCreateElementTag(properties.elementId, properties.elementCategory, properties.attrbute);\r\n\r\n break;\r\n\r\n /**\r\n * @description The Conversion Event tag is employed for tracking of general non-commerce conversion events.\r\n * The Conversion Event tag is used to populate values in the Conversion Events Reports and to create Key Segments.\r\n * This tag and the reports it populates enable analysis of a wide variety of site activities.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_conversioneventtag.html\r\n */\r\n case 'cmCreateConversionEventTag':\r\n const cmCreateConversionEventTag = window['cmCreateConversionEventTag'];\r\n cmCreateConversionEventTag(\r\n properties.eventId,\r\n properties.actionType,\r\n properties.eventCategoryId,\r\n properties.points,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n break;\r\n\r\n default:\r\n console.warn('Unsupported Event Action');\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _gs: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoSquared {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n _gs('track', path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n _gs('event', action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n _gs('identify', properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.Angulartics2","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"angulartics2.mjs","sources":["../../src/lib/angulartics2-config.ts","../../src/lib/angulartics2-token.ts","../../src/lib/routerless.ts","../../src/lib/angulartics2-core.ts","../../src/lib/angular-router.ts","../../src/lib/angulartics2On.ts","../../src/lib/angulartics2.module.ts","../../src/lib/routerless.module.ts","../../src/lib/providers/adobeanalytics/adobeanalytics.ts","../../src/lib/providers/appinsights/appinsights.ts","../../src/lib/providers/baidu/baidu.ts","../../src/lib/providers/facebook/facebook.ts","../../src/lib/providers/ga/ga.ts","../../src/lib/providers/ga-enhanced-ecom/ga-enhanced-ecom.ts","../../src/lib/providers/gtm/gtm.ts","../../src/lib/providers/gst/gst.ts","../../src/lib/providers/hubspot/hubspot.ts","../../src/lib/providers/kissmetrics/kissmetrics.ts","../../src/lib/providers/launch/launch.ts","../../src/lib/providers/mixpanel/mixpanel.ts","../../src/lib/providers/posthog/posthog.ts","../../src/lib/providers/pyze/pyze.ts","../../src/lib/providers/matomo/matomo.ts","../../src/lib/providers/segment/segment.ts","../../src/lib/providers/intercom/intercom.ts","../../src/lib/providers/woopra/woopra.ts","../../src/lib/providers/clicky/clicky.ts","../../src/lib/providers/amplitude/amplitude.ts","../../src/lib/providers/splunk/splunk.ts","../../src/lib/providers/ibm-digital-analytics/ibm-digital-analytics.ts","../../src/lib/providers/gosquared/gosquared.ts","../../src/lib/angulartics2.ts"],"sourcesContent":["export interface GoogleAnalyticsSettings {\n /** array of additional account names (only works for analyticsjs) */\n additionalAccountNames: string[];\n userId: any;\n /** see https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#transport */\n transport: string;\n anonymizeIp: boolean;\n}\n\nexport interface AppInsightsSettings {\n userId: string;\n}\n\nexport interface GoogleTagManagerSettings {\n userId: any;\n}\n\nexport interface GoogleGlobalSiteTagSettings {\n trackingIds: any;\n userId?: any;\n anonymizeIp?: boolean;\n customMap?: { [key: string]: string };\n}\n\nexport interface PageTrackingSettings {\n autoTrackVirtualPages: boolean;\n basePath: string;\n excludedRoutes: (string | RegExp)[];\n /** drop ids from url `/sections/123/pages/456` -> `/sections/pages` */\n clearIds: boolean;\n /** drop contents of url after hash marker `/callback#authcode=1234` -> `/callback` */\n clearHash: boolean;\n /** drop query params from url `/sections/123/pages?param=456&param2=789` -> `/sections/123/pages` */\n clearQueryParams: boolean;\n /** used with clearIds, define the matcher to clear url parts */\n idsRegExp: RegExp;\n}\n\nexport interface Angulartics2Settings {\n pageTracking: Partial<PageTrackingSettings>;\n /** Disable page tracking */\n developerMode: boolean;\n ga: Partial<GoogleAnalyticsSettings>;\n appInsights: Partial<AppInsightsSettings>;\n gtm: Partial<GoogleTagManagerSettings>;\n gst: Partial<GoogleGlobalSiteTagSettings>;\n}\n\nexport class DefaultConfig implements Angulartics2Settings {\n pageTracking = {\n autoTrackVirtualPages: true,\n basePath: '',\n excludedRoutes: [],\n clearIds: false,\n clearHash: false,\n clearQueryParams: false,\n idsRegExp:\n /^\\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n };\n developerMode = false;\n ga = {};\n appInsights = {};\n gtm = {};\n gst = {};\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { Angulartics2Settings } from './angulartics2-config';\n\nexport interface Angulartics2Token {\n settings: Partial<Angulartics2Settings>;\n}\n\nexport const ANGULARTICS2_TOKEN = new InjectionToken<Angulartics2Token>(\n 'ANGULARTICS2'\n);\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Angulartics2Settings } from './angulartics2-config';\n\nexport interface TrackNavigationEnd {\n url: string;\n}\n\nexport class RouterlessTracking {\n trackLocation(settings: Angulartics2Settings): Observable<TrackNavigationEnd> {\n return new BehaviorSubject<TrackNavigationEnd>({ url: '/' });\n }\n\n prepareExternalUrl(url: string): string {\n return url;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\n\nimport { MonoTypeOperatorFunction, ReplaySubject } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { Angulartics2Settings, DefaultConfig } from './angulartics2-config';\nimport { EventTrack, PageTrack, UserTimings } from './angulartics2-interfaces';\nimport { Angulartics2Token, ANGULARTICS2_TOKEN } from './angulartics2-token';\nimport { RouterlessTracking, TrackNavigationEnd } from './routerless';\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2 {\n settings: Angulartics2Settings;\n\n pageTrack = new ReplaySubject<Partial<PageTrack>>(10);\n eventTrack = new ReplaySubject<Partial<EventTrack>>(10);\n exceptionTrack = new ReplaySubject<any>(10);\n setAlias = new ReplaySubject<string>(10);\n setUsername = new ReplaySubject<{ userId: string | number } | string>(10);\n setUserProperties = new ReplaySubject<any>(10);\n setUserPropertiesOnce = new ReplaySubject<any>(10);\n setSuperProperties = new ReplaySubject<any>(10);\n setSuperPropertiesOnce = new ReplaySubject<any>(10);\n userTimings = new ReplaySubject<UserTimings>(10);\n\n constructor(\n private tracker: RouterlessTracking,\n @Inject(ANGULARTICS2_TOKEN) setup: Angulartics2Token,\n ) {\n const defaultConfig = new DefaultConfig();\n this.settings = { ...defaultConfig, ...setup.settings };\n this.settings.pageTracking = {\n ...defaultConfig.pageTracking,\n ...setup.settings.pageTracking,\n };\n this.tracker\n .trackLocation(this.settings)\n .subscribe((event: TrackNavigationEnd) => this.trackUrlChange(event.url));\n }\n\n /** filters all events when developer mode is true */\n filterDeveloperMode<T>(): MonoTypeOperatorFunction<T> {\n return filter((value, index) => !this.settings.developerMode);\n }\n\n protected trackUrlChange(url: string) {\n if (this.settings.pageTracking.autoTrackVirtualPages && !this.matchesExcludedRoute(url)) {\n const clearedUrl = this.clearUrl(url);\n let path: string;\n if (this.settings.pageTracking.basePath.length) {\n path = this.settings.pageTracking.basePath + clearedUrl;\n } else {\n path = this.tracker.prepareExternalUrl(clearedUrl);\n }\n this.pageTrack.next({ path });\n }\n }\n\n /**\n * Use string literals or regular expressions to exclude routes\n * from automatic pageview tracking.\n *\n * @param url location\n */\n protected matchesExcludedRoute(url: string): boolean {\n for (const excludedRoute of this.settings.pageTracking.excludedRoutes) {\n const matchesRegex = excludedRoute instanceof RegExp && excludedRoute.test(url);\n if (matchesRegex || url.indexOf(excludedRoute as string) !== -1) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Removes id's from tracked route.\n * EX: `/project/12981/feature` becomes `/project/feature`\n *\n * @param url current page path\n */\n protected clearUrl(url: string): string {\n if (\n this.settings.pageTracking.clearIds ||\n this.settings.pageTracking.clearQueryParams ||\n this.settings.pageTracking.clearHash\n ) {\n return url\n .split('/')\n .map(part => (this.settings.pageTracking.clearQueryParams ? part.split('?')[0] : part))\n .map(part => (this.settings.pageTracking.clearHash ? part.split('#')[0] : part))\n .filter(\n part =>\n !this.settings.pageTracking.clearIds ||\n !part.match(this.settings.pageTracking.idsRegExp),\n )\n .join('/');\n }\n return url;\n }\n}\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { delay, filter, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\n\nimport { RouterlessTracking, TrackNavigationEnd } from './routerless';\n\n/**\n * Track Route changes for applications using Angular's\n * default router\n *\n * @link https://angular.io/api/router/Router\n */\n@Injectable({ providedIn: 'root' })\nexport class AngularRouterTracking implements RouterlessTracking {\n constructor(private router: Router, private location: Location) {}\n\n trackLocation(settings): Observable<TrackNavigationEnd> {\n return this.router.events.pipe(\n filter(e => e instanceof NavigationEnd),\n filter(() => !settings.developerMode),\n map((e: NavigationEnd) => {\n return { url: e.urlAfterRedirects };\n }),\n delay(0),\n );\n }\n\n prepareExternalUrl(url: string): string {\n return this.location.prepareExternalUrl(url);\n }\n}\n","import { AfterContentInit, Directive, ElementRef, Input, NgModule, Renderer2 } from '@angular/core';\nimport { Angulartics2 } from './angulartics2-core';\n\n@Directive({ selector: '[angulartics2On]' })\nexport class Angulartics2On implements AfterContentInit {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('angulartics2On') angulartics2On: string;\n @Input() angularticsAction: string;\n @Input() angularticsCategory: string;\n @Input() angularticsLabel: string;\n @Input() angularticsValue: string;\n @Input() angularticsProperties: any = {};\n\n constructor(\n private elRef: ElementRef,\n private angulartics2: Angulartics2,\n private renderer: Renderer2,\n ) {}\n\n ngAfterContentInit() {\n this.renderer.listen(this.elRef.nativeElement, this.angulartics2On || 'click', (event: Event) =>\n this.eventTrack(event),\n );\n }\n\n eventTrack(event: Event) {\n const action = this.angularticsAction; // || this.inferEventName();\n const properties: any = {\n ...this.angularticsProperties,\n eventType: event.type,\n };\n\n if (this.angularticsCategory) {\n properties.category = this.angularticsCategory;\n }\n if (this.angularticsLabel) {\n properties.label = this.angularticsLabel;\n }\n if (this.angularticsValue) {\n properties.value = this.angularticsValue;\n }\n\n this.angulartics2.eventTrack.next({\n action,\n properties,\n });\n }\n\n /*private isCommand() {\n return ['a:', 'button:', 'button:button', 'button:submit', 'input:button', 'input:submit'].indexOf(\n getDOM().tagName(this.el).toLowerCase() + ':' + (getDOM().type(this.el) || '')) >= 0;\n }\n\n private inferEventName() {\n if (this.isCommand()) return getDOM().getText(this.el) || getDOM().getValue(this.el);\n return getDOM().getProperty(this.el, 'id') || getDOM().getProperty(this.el, 'name') || getDOM().tagName(this.el);\n }*/\n}\n\n@NgModule({\n declarations: [Angulartics2On],\n exports: [Angulartics2On],\n})\nexport class Angulartics2OnModule {}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { AngularRouterTracking } from './angular-router';\nimport { Angulartics2Settings } from './angulartics2-config';\nimport { Angulartics2 } from './angulartics2-core';\nimport { ANGULARTICS2_TOKEN } from './angulartics2-token';\nimport { Angulartics2On, Angulartics2OnModule } from './angulartics2On';\nimport { RouterlessTracking } from './routerless';\n\n@NgModule({\n imports: [Angulartics2OnModule],\n exports: [Angulartics2On],\n})\nexport class Angulartics2Module {\n static forRoot(\n settings: Partial<Angulartics2Settings> = {},\n ): ModuleWithProviders<Angulartics2Module> {\n return {\n ngModule: Angulartics2Module,\n providers: [\n { provide: ANGULARTICS2_TOKEN, useValue: { settings } },\n { provide: RouterlessTracking, useClass: AngularRouterTracking },\n Angulartics2,\n ],\n };\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport {ANGULARTICS2_TOKEN} from './angulartics2-token';\nimport {Angulartics2Settings} from './angulartics2-config';\nimport {Angulartics2OnModule} from './angulartics2On';\nimport {Angulartics2} from './angulartics2-core';\nimport {RouterlessTracking} from './routerless';\n\n@NgModule({\n imports: [Angulartics2OnModule],\n})\nexport class Angulartics2RouterlessModule {\n static forRoot(\n settings: Partial<Angulartics2Settings> = {}\n ): ModuleWithProviders<Angulartics2RouterlessModule> {\n return {\n ngModule: Angulartics2RouterlessModule,\n providers: [\n { provide: ANGULARTICS2_TOKEN, useValue: { settings } },\n RouterlessTracking,\n Angulartics2,\n ],\n };\n }\n}\n","import { Location } from '@angular/common';\nimport { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const s: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2AdobeAnalytics {\n constructor(private angulartics2: Angulartics2, private location: Location) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n if (typeof s !== 'undefined' && s) {\n s.clearVars();\n s.t({ pageName: path });\n }\n }\n\n /**\n * Track Event in Adobe Analytics\n *\n * @param action associated with the event\n * @param properties action detials\n *\n * @link https://marketing.adobe.com/resources/help/en_US/sc/implement/js_implementation.html\n */\n eventTrack(action: string, properties: any) {\n // TODO: make interface\n // @property {string} properties.category\n // @property {string} properties.label\n // @property {number} properties.value\n // @property {boolean} properties.noninteraction\n if (!properties) {\n properties = properties || {};\n }\n\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n this.setUserProperties(properties);\n }\n if (action) {\n // if linkName property is passed, use that; otherwise, the action is the linkName\n const linkName = properties['linkName'] ? properties['linkName'] : action;\n // note that 'this' should refer the link element, but we can't get that in this function. example:\n // <a href=\"http://anothersite.com\" onclick=\"s.tl(this,'e','AnotherSite',null)\">\n // if disableDelay property is passed, use that to turn off/on the 500ms delay; otherwise, it uses this\n const disableDelay = !!properties['disableDelay'] ? true : this;\n // if action property is passed, use that; otherwise, the action remains unchanged\n if (properties['action']) {\n action = properties['action'];\n }\n this.setPageName();\n\n if (action.toUpperCase() === 'DOWNLOAD') {\n s.tl(disableDelay, 'd', linkName);\n } else if (action.toUpperCase() === 'EXIT') {\n s.tl(disableDelay, 'e', linkName);\n } else {\n s.tl(disableDelay, 'o', linkName);\n }\n }\n }\n }\n\n private setPageName() {\n const path = this.location.path(true);\n const hashNdx = path.indexOf('#');\n if (hashNdx > 0 && hashNdx < path.length) {\n s.pageName = path.substring(hashNdx + 1);\n } else {\n s.pageName = path;\n }\n }\n\n setUserProperties(properties: any) {\n if (typeof s !== 'undefined' && s) {\n if (typeof properties === 'object') {\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n s[key] = properties[key];\n }\n }\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router,\n} from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\nimport { AppInsightsSettings } from '../../angulartics2-config';\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const appInsights: Microsoft.ApplicationInsights.IAppInsights;\n\nexport class AppInsightsDefaults implements AppInsightsSettings {\n userId = null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2AppInsights {\n loadStartTime: number = null;\n loadTime: number = null;\n\n metrics: { [name: string]: number } = null;\n dimensions: { [name: string]: string } = null;\n measurements: { [name: string]: number } = null;\n\n constructor(\n private angulartics2: Angulartics2,\n private title: Title,\n private router: Router\n ) {\n if (typeof appInsights === 'undefined') {\n console.warn('appInsights not found');\n }\n\n const defaults = new AppInsightsDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.appInsights = {\n ...defaults,\n ...this.angulartics2.settings.appInsights,\n };\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x) =>\n this.setUserProperties(x)\n );\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.exceptionTrack(x));\n this.router.events\n .pipe(\n this.angulartics2.filterDeveloperMode(),\n filter((event) => event instanceof NavigationStart)\n )\n .subscribe((event) => this.startTimer());\n\n this.router.events\n .pipe(\n filter(\n (event) =>\n event instanceof NavigationError || event instanceof NavigationEnd\n )\n )\n .subscribe((error) => this.stopTimer());\n }\n\n startTimer() {\n this.loadStartTime = Date.now();\n this.loadTime = null;\n }\n\n stopTimer() {\n this.loadTime = Date.now() - this.loadStartTime;\n this.loadStartTime = null;\n }\n\n /**\n * Page Track in Baidu Analytics\n *\n * @param path - Location 'path'\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackpageview\n */\n pageTrack(path: string) {\n appInsights.trackPageView(\n this.title.getTitle(),\n path,\n this.dimensions,\n this.metrics,\n this.loadTime\n );\n }\n\n /**\n * Log a user action or other occurrence.\n *\n * @param name Name to identify this event in the portal.\n * @param properties Additional data used to filter events and metrics in the portal. Defaults to empty.\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackevent\n */\n eventTrack(name: string, properties: { [name: string]: string }) {\n appInsights.trackEvent(name, properties, this.measurements);\n }\n\n /**\n * Exception Track Event in GA\n *\n * @param properties - Comprised of the mandatory fields 'appId' (string), 'appName' (string) and 'appVersion' (string) and\n * optional fields 'fatal' (boolean) and 'description' (string), error\n *\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackexception\n */\n exceptionTrack(properties: any) {\n const description =\n properties.event || properties.description || properties;\n\n appInsights.trackException(description);\n }\n\n /**\n * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#setauthenticatedusercontext\n */\n setUsername(userId: string) {\n this.angulartics2.settings.appInsights.userId = userId;\n appInsights.setAuthenticatedUserContext(userId);\n }\n\n setUserProperties(\n properties: Partial<{ userId: string; accountId: string }>\n ) {\n if (properties.userId) {\n this.angulartics2.settings.appInsights.userId = properties.userId;\n }\n if (properties.accountId) {\n appInsights.setAuthenticatedUserContext(\n this.angulartics2.settings.appInsights.userId,\n properties.accountId\n );\n } else {\n appInsights.setAuthenticatedUserContext(\n this.angulartics2.settings.appInsights.userId\n );\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\n\ndeclare var _hmt: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2BaiduAnalytics {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _hmt === 'undefined') {\n _hmt = [];\n } else {\n _hmt.push(['_setAutoPageview', false]);\n }\n this.angulartics2.setUsername\n .subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties\n .subscribe((x) => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x) => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * Page Track in Baidu Analytics\n *\n * @param path Required url 'path'\n *\n * @link http://tongji.baidu.com/open/api/more?p=ref_trackPageview\n */\n pageTrack(path: string) {\n if (typeof _hmt !== 'undefined' && _hmt) {\n _hmt.push(['_trackPageview', path]);\n }\n }\n\n /**\n * Track Event in Baidu Analytics\n *\n * @param action Name associated with the event\n * @param properties Comprised of:\n * - 'category' (string)\n * - 'opt_label' (string)\n * - 'opt_value' (string)\n *\n * @link http://tongji.baidu.com/open/api/more?p=ref_trackEvent\n */\n eventTrack(action: string, properties: any) {\n // baidu analytics requires category\n if (!properties || !properties.category) {\n properties = properties || {};\n properties.category = 'Event';\n properties.opt_label = 'default';\n properties.opt_value = 'default';\n }\n\n if (typeof _hmt !== 'undefined' && _hmt) {\n _hmt.push([\n '_trackEvent',\n properties.category,\n action,\n properties.opt_label,\n properties.opt_value,\n ]);\n }\n }\n\n setUsername(userId: string) {\n // set default custom variables name to 'identity' and 'value'\n _hmt.push(['_setCustomVar', 1, 'identity', userId]);\n }\n\n setUserProperties(properties: any) {\n _hmt.push(['_setCustomVar', 2, 'user', JSON.stringify(properties)]);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const fbq: facebook.Pixel.Event;\n\nconst facebookEventList = [\n 'ViewContent',\n 'Search',\n 'AddToCart',\n 'AddToWishlist',\n 'InitiateCheckout',\n 'AddPaymentInfo',\n 'Purchase',\n 'Lead',\n 'CompleteRegistration',\n];\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Facebook {\n constructor(private angulartics2: Angulartics2) { }\n\n startTracking(): void {\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * Send interactions to the Pixel, i.e. for event tracking in Pixel\n *\n * @param action action associated with the event\n */\n eventTrack(action: string, properties: any = {}) {\n if (typeof fbq === 'undefined') {\n return;\n }\n if (facebookEventList.indexOf(action) === -1) {\n return fbq('trackCustom', action, properties);\n }\n return fbq('track', action, properties);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { GoogleAnalyticsSettings } from '../../angulartics2-config';\nimport { UserTimings } from '../../angulartics2-interfaces';\n\ndeclare var _gaq: GoogleAnalyticsCode;\ndeclare var ga: UniversalAnalytics.ga;\ndeclare var location: any;\n\nexport class GoogleAnalyticsDefaults implements GoogleAnalyticsSettings {\n additionalAccountNames = [];\n userId = null;\n transport = '';\n anonymizeIp = false;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleAnalytics {\n dimensionsAndMetrics = [];\n settings: Partial<GoogleAnalyticsSettings>;\n\n constructor(private angulartics2: Angulartics2) {\n const defaults = new GoogleAnalyticsDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.ga = {\n ...defaults,\n ...this.angulartics2.settings.ga,\n };\n this.settings = this.angulartics2.settings.ga;\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.exceptionTrack(x));\n this.angulartics2.userTimings\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.userTimings(x));\n }\n\n pageTrack(path: string) {\n if (typeof _gaq !== 'undefined' && _gaq) {\n _gaq.push(['_trackPageview', path]);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n _gaq.push([accountName + '._trackPageview', path]);\n }\n }\n if (typeof ga !== 'undefined' && ga) {\n if (this.angulartics2.settings.ga.userId) {\n ga('set', '&uid', this.angulartics2.settings.ga.userId);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', '&uid', this.angulartics2.settings.ga.userId);\n }\n }\n if (this.angulartics2.settings.ga.anonymizeIp) {\n ga('set', 'anonymizeIp', true);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', 'anonymizeIp', true);\n }\n }\n ga('send', 'pageview', path);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'pageview', path);\n }\n }\n }\n\n /**\n * Track Event in GA\n *\n * @param action Associated with the event\n * @param properties Comprised of:\n * - category (string) and optional\n * - label (string)\n * - value (integer)\n * - noninteraction (boolean)\n *\n * @link https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#SettingUpEventTracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n eventTrack(action: string, properties: any) {\n // Google Analytics requires an Event Category\n if (!properties || !properties.category) {\n properties = properties || {};\n properties.category = 'Event';\n }\n // GA requires that eventValue be an integer, see:\n // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue\n // https://github.com/luisfarzati/angulartics/issues/81\n if (properties.value) {\n const parsed = parseInt(properties.value, 10);\n properties.value = isNaN(parsed) ? 0 : parsed;\n }\n\n if (typeof ga !== 'undefined') {\n const eventOptions = {\n eventCategory: properties.category,\n eventAction: action,\n eventLabel: properties.label,\n eventValue: properties.value,\n nonInteraction: properties.noninteraction,\n page: properties.page || location.hash.substring(1) || location.pathname,\n userId: this.angulartics2.settings.ga.userId,\n hitCallback: properties.hitCallback,\n ...(this.angulartics2.settings.ga.transport && {\n transport: this.angulartics2.settings.ga.transport,\n }),\n };\n\n // add custom dimensions and metrics\n this.setDimensionsAndMetrics(properties);\n\n ga('send', 'event', eventOptions);\n\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'event', eventOptions);\n }\n } else if (typeof _gaq !== 'undefined') {\n _gaq.push([\n '_trackEvent',\n properties.category,\n action,\n properties.label,\n properties.value,\n properties.noninteraction,\n ]);\n }\n }\n\n /**\n * Exception Track Event in GA\n *\n * @param properties Comprised of the optional fields:\n * - fatal (string)\n * - description (string)\n *\n * @https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n exceptionTrack(properties: any) {\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.fatal = true;\n }\n\n properties.exDescription = properties.description;\n\n const eventOptions = {\n exFatal: properties.fatal,\n exDescription: properties.description,\n };\n\n ga('send', 'exception', eventOptions);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'exception', eventOptions);\n }\n }\n\n /**\n * User Timings Event in GA\n *\n * @param properties Comprised of the mandatory fields:\n * - timingCategory (string)\n * - timingVar (string)\n * - timingValue (number)\n * Properties can also have the optional fields:\n * - timingLabel (string)\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings\n */\n userTimings(properties: UserTimings) {\n if (\n !properties ||\n !properties.timingCategory ||\n !properties.timingVar ||\n !properties.timingValue\n ) {\n console.error(\n 'Properties timingCategory, timingVar, and timingValue are required to be set.',\n );\n return;\n }\n\n if (typeof ga !== 'undefined') {\n ga('send', 'timing', properties);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'timing', properties);\n }\n }\n }\n\n setUsername(userId: string) {\n this.angulartics2.settings.ga.userId = userId;\n if (typeof ga === 'undefined') {\n return;\n }\n ga('set', 'userId', userId);\n }\n\n setUserProperties(properties: any) {\n this.setDimensionsAndMetrics(properties);\n }\n\n private setDimensionsAndMetrics(properties: any) {\n if (typeof ga === 'undefined') {\n return;\n }\n // clean previously used dimensions and metrics that will not be overriden\n this.dimensionsAndMetrics.forEach(elem => {\n if (!properties.hasOwnProperty(elem)) {\n ga('set', elem, undefined);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName: string) => {\n ga(`${accountName}.set`, elem, undefined);\n });\n }\n });\n this.dimensionsAndMetrics = [];\n\n // add custom dimensions and metrics\n Object.keys(properties).forEach(key => {\n if (key.lastIndexOf('dimension', 0) === 0 || key.lastIndexOf('metric', 0) === 0) {\n ga('set', key, properties[key]);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName: string) => {\n ga(`${accountName}.set`, key, properties[key]);\n });\n this.dimensionsAndMetrics.push(key);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n GaEnhancedEcomAction,\n GaEnhancedEcomActionFieldObject,\n GaEnhancedEcomImpressionFieldObject,\n GaEnhancedEcomProductFieldObject,\n} from './ga-enhanced-ecom-options';\n\ndeclare var ga: UniversalAnalytics.ga;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleAnalyticsEnhancedEcommerce {\n /**\n * Add impression in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#measuring-activities\n */\n ecAddImpression(properties: Partial<GaEnhancedEcomImpressionFieldObject>) {\n ga('ec:addImpression', properties);\n }\n\n /**\n * Add product in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce\n */\n ecAddProduct(product: Partial<GaEnhancedEcomProductFieldObject>) {\n ga('ec:addProduct', product);\n }\n\n /**\n * Set action in GA enhanced ecommerce tracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce\n */\n ecSetAction(\n action: GaEnhancedEcomAction,\n properties: Partial<GaEnhancedEcomActionFieldObject>\n ) {\n ga('ec:setAction', action, properties);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { GoogleTagManagerSettings } from '../../angulartics2-config';\n\ndeclare var dataLayer: any;\n\nexport class GoogleTagManagerDefaults implements GoogleTagManagerSettings {\n userId = null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleTagManager {\n constructor(protected angulartics2: Angulartics2) {\n // The dataLayer needs to be initialized\n if (typeof dataLayer !== 'undefined' && dataLayer) {\n dataLayer = (window as any).dataLayer = (window as any).dataLayer || [];\n }\n const defaults = new GoogleTagManagerDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.gtm = { ...defaults, ...this.angulartics2.settings.gtm };\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n }\n\n startTracking() {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.exceptionTrack(x));\n }\n\n pageTrack(path: string) {\n this.pushLayer({\n event: 'Page View',\n 'content-name': path,\n userId: this.angulartics2.settings.gtm.userId,\n });\n }\n\n /**\n * Send Data Layer\n *\n * @layer data layer object\n */\n pushLayer(layer: any) {\n if (typeof dataLayer !== 'undefined' && dataLayer) {\n dataLayer.push(layer);\n }\n }\n\n /**\n * Send interactions to the dataLayer, i.e. for event tracking in Google Analytics\n *\n * @param action associated with the event\n */\n eventTrack(action: string, properties: any) {\n // TODO: make interface\n // @param {string} properties.category\n // @param {string} [properties.label]\n // @param {number} [properties.value]\n // @param {boolean} [properties.noninteraction]\n // Set a default GTM category\n properties = properties || {};\n\n this.pushLayer({\n event: properties.event || 'interaction',\n target: properties.category || 'Event',\n action,\n label: properties.label,\n value: properties.value,\n interactionType: properties.noninteraction,\n userId: this.angulartics2.settings.gtm.userId,\n ...properties.gtmCustom,\n });\n }\n\n /**\n * Exception Track Event in GTM\n *\n */\n exceptionTrack(properties: any) {\n // TODO: make interface\n // @param {Object} properties\n // @param {string} properties.appId\n // @param {string} properties.appName\n // @param {string} properties.appVersion\n // @param {string} [properties.description]\n // @param {boolean} [properties.fatal]\n if (!properties || !properties.appId || !properties.appName || !properties.appVersion) {\n console.error('Must be setted appId, appName and appVersion.');\n return;\n }\n\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.exFatal = true;\n }\n\n properties.exDescription = properties.event ? properties.event.stack : properties.description;\n\n this.eventTrack(\n `Exception thrown for ${properties.appName} <${properties.appId}@${properties.appVersion}>`,\n {\n category: 'Exception',\n label: properties.exDescription,\n },\n );\n }\n\n /**\n * Set userId for use with Universal Analytics User ID feature\n *\n * @param userId used to identify user cross-device in Google Analytics\n */\n setUsername(userId: string) {\n this.angulartics2.settings.gtm.userId = userId;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { UserTimings } from '../../angulartics2-interfaces';\nimport { GoogleGlobalSiteTagSettings } from '../../angulartics2-config';\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { EventGst, UserTimingsGst } from './gst-interfaces';\n\ndeclare var gtag: any;\ndeclare var ga: any;\n\nexport class GoogleGlobalSiteTagDefaults implements GoogleGlobalSiteTagSettings {\n trackingIds: string[] = [];\n\n constructor() {\n if (typeof ga !== 'undefined' && ga) {\n // See: https://developers.google.com/analytics/devguides/collection/analyticsjs/ga-object-methods-reference\n ga(() => {\n ga.getAll().forEach((tracker: any) => {\n const id = tracker.get('trackingId');\n // If set both in forRoot and HTML page, we want to avoid duplicates\n if (id !== undefined && this.trackingIds.indexOf(id) === -1) {\n this.trackingIds.push(id);\n }\n });\n });\n }\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleGlobalSiteTag {\n private dimensionsAndMetrics: { [key: string]: any } = {};\n\n constructor(protected angulartics2: Angulartics2) {\n const defaults = new GoogleGlobalSiteTagDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.gst = { ...defaults, ...this.angulartics2.settings.gst };\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.exceptionTrack(x));\n this.angulartics2.userTimings\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.userTimings(this.convertTimings(x)));\n this.angulartics2.setUsername\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.setUserProperties(x));\n }\n\n /**\n * Manually track page view, see:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications#tracking_virtual_pageviews\n *\n * @param path relative url\n */\n pageTrack(path: string) {\n if (typeof gtag !== 'undefined' && gtag) {\n const params: any = {\n page_path: path,\n page_location: window.location.protocol + '//' + window.location.host + path,\n ...this.dimensionsAndMetrics,\n };\n\n // Custom map must be reset with all config to stay valid.\n\n if (this.angulartics2.settings.gst.customMap) {\n params.custom_map = this.angulartics2.settings.gst.customMap;\n }\n if (this.angulartics2.settings.gst.userId) {\n params.user_id = this.angulartics2.settings.gst.userId;\n }\n if (this.angulartics2.settings.gst.anonymizeIp) {\n params.anonymize_ip = this.angulartics2.settings.gst.anonymizeIp;\n }\n\n for (const id of this.angulartics2.settings.gst.trackingIds) {\n gtag('config', id, params);\n }\n }\n }\n\n /**\n * Send interactions to gtag, i.e. for event tracking in Google Analytics. See:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/events\n *\n * @param action associated with the event\n */\n eventTrack(action: string, properties: Partial<EventGst> = {}) {\n this.eventTrackInternal(action, {\n event_category: properties.category || 'interaction',\n event_label: properties.label,\n value: properties.value,\n non_interaction: properties.noninteraction,\n ...properties.gstCustom,\n });\n }\n\n /**\n * Exception Track Event in GST. See:\n *\n * https://developers.google.com/analytics/devguides/collection/gtagjs/exceptions\n *\n */\n exceptionTrack(properties: any) {\n // TODO: make interface\n // @param {Object} properties\n // @param {string} [properties.description]\n // @param {boolean} [properties.fatal]\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.fatal = true;\n }\n\n properties.exDescription = properties.event ? properties.event.stack : properties.description;\n\n this.eventTrack('exception', {\n gstCustom: {\n description: properties.exDescription,\n fatal: properties.fatal,\n ...properties.gstCustom,\n },\n });\n }\n\n /**\n * User Timings Event in GST.\n *\n * @param properties Comprised of the mandatory fields:\n * - name (string)\n * - value (number - integer)\n * Properties can also have the optional fields:\n * - category (string)\n * - label (string)\n *\n * @link https://developers.google.com/analytics/devguides/collection/gtagjs/user-timings\n */\n userTimings(properties: UserTimingsGst) {\n if (!properties) {\n console.error('User timings - \"properties\" parameter is required to be set.');\n return;\n }\n\n this.eventTrackInternal('timing_complete', {\n name: properties.name,\n value: properties.value,\n event_category: properties.category,\n event_label: properties.label,\n });\n }\n\n private convertTimings(properties: UserTimings): UserTimingsGst {\n return {\n name: properties.timingVar,\n value: properties.timingValue,\n category: properties.timingCategory,\n label: properties.timingLabel,\n };\n }\n\n setUsername(userId: string | { userId: string | number }) {\n this.angulartics2.settings.gst.userId = userId;\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('set', { user_id: typeof userId === 'string' || !userId ? userId : userId.userId });\n }\n }\n\n setUserProperties(properties: any) {\n this.setDimensionsAndMetrics(properties);\n }\n\n private setDimensionsAndMetrics(properties: { [key: string]: any }) {\n // We want the dimensions and metrics to accumulate, so we merge with previous value\n this.dimensionsAndMetrics = {\n ...this.dimensionsAndMetrics,\n ...properties,\n };\n\n // Remove properties that are null or undefined\n Object.keys(this.dimensionsAndMetrics).forEach(key => {\n const val = this.dimensionsAndMetrics[key];\n if (val === undefined || val === null) {\n delete this.dimensionsAndMetrics[key];\n }\n });\n\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('set', this.dimensionsAndMetrics);\n }\n }\n\n private eventTrackInternal(action: string, properties: any = {}) {\n this.cleanProperties(properties);\n if (typeof gtag !== 'undefined' && gtag) {\n gtag('event', action, properties);\n }\n }\n\n private cleanProperties(properties: { [key: string]: any }): void {\n // GA requires that eventValue be an non-negative integer, see:\n // https://developers.google.com/analytics/devguides/collection/gtagjs/events\n if (properties.value) {\n const parsed = parseInt(properties.value, 10);\n properties.value = isNaN(parsed) ? 0 : parsed;\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _hsq: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Hubspot {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['setPath', path]);\n _hsq.push(['trackPageView']);\n }\n }\n\n eventTrack(action: string, properties: any) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['trackEvent', properties]);\n }\n }\n\n setUserProperties(properties: any) {\n if (typeof _hsq !== 'undefined') {\n _hsq.push(['identify', properties]);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _kmq: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Kissmetrics {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _kmq === 'undefined') {\n _kmq = [];\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n _kmq.push(['record', 'Pageview', { Page: path }]);\n }\n\n eventTrack(action: string, properties: any) {\n _kmq.push(['record', action, properties]);\n }\n\n setUsername(userId: string) {\n _kmq.push(['identify', userId]);\n }\n\n setUserProperties(properties: any) {\n _kmq.push(['set', properties]);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare const _satellite: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2LaunchByAdobe {\n payload: any = {};\n\n constructor(protected angulartics2: Angulartics2) {\n if ('undefined' === typeof _satellite) {\n console.warn('Launch not found!');\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n setUsername(userId: string | boolean) {\n if ('undefined' !== typeof userId && userId) {\n this.payload.userId = userId;\n }\n }\n\n setUserProperties(properties: any) {\n if ('undefined' !== typeof properties && properties) {\n this.payload.properties = properties;\n }\n }\n\n startTracking() {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n this.payload = this.payload || {};\n this.payload.path = path;\n\n if ('undefined' !== typeof _satellite && _satellite) {\n _satellite.track('pageTrack', this.payload);\n }\n }\n\n /**\n * @param action associated with the event\n * @param properties associated with the event\n */\n eventTrack(action: string, properties: any) {\n properties = properties || {};\n\n // add properties to payload\n this.payload.action = action;\n this.payload.eventProperties = properties;\n\n if ('undefined' !== typeof _satellite && _satellite) {\n _satellite.track('eventTrack', this.payload);\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var mixpanel: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Mixpanel {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));\n this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));\n this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n mixpanel.track('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n mixpanel.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string) {\n try {\n mixpanel.identify(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n mixpanel.people.set(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserPropertiesOnce(properties: any) {\n try {\n mixpanel.people.set_once(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperProperties(properties: any) {\n try {\n mixpanel.register(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperPropertiesOnce(properties: any) {\n try {\n mixpanel.register_once(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setAlias(alias: any) {\n try {\n mixpanel.alias(alias);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare let posthog: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Posthog {\n private readonly angulartics2 = inject(Angulartics2);\n\n constructor() {\n this.angulartics2.setUsername.subscribe(x => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));\n this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));\n this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.startPageTracking();\n this.startEventTracking();\n }\n\n startPageTracking(): void {\n this.angulartics2.pageTrack.pipe(this.angulartics2.filterDeveloperMode()).subscribe(x => {\n this.pageTrack(x.path);\n });\n }\n\n startEventTracking(): void {\n this.angulartics2.eventTrack.pipe(this.angulartics2.filterDeveloperMode()).subscribe(x => {\n this.eventTrack(x.action, x.properties);\n });\n }\n\n pageTrack(path: string | undefined): void {\n try {\n posthog.capture('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties?: any): void {\n try {\n posthog.capture(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string | { userId: string | number }): void {\n try {\n posthog.identify(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any | undefined): void {\n try {\n posthog.identify(properties[\"distinct_id\"], properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserPropertiesOnce(properties: any | undefined): void {\n try {\n posthog.capture('Set User Properties Once', {\n $set_once: properties\n });\n }\n catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperProperties(properties: any | undefined): void {\n try {\n posthog.capture('Set Super Properties', { $set: properties });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setSuperPropertiesOnce(properties: any | undefined): void {\n try {\n posthog.capture('Set Super Properties Once', { $set_once: properties });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setAlias(alias: string): void {\n try {\n posthog.alias(alias);\n }\n catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setGroup(groupType: string, groupKey: string, properties: any) {\n try {\n posthog.group(groupType, groupKey, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var Pyze: any;\ndeclare var PyzeEvents: any;\ndeclare var PyzeIdentity: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Pyze {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: string) => this.setUserProfile(x));\n this.angulartics2.setUserProperties.subscribe(x => this.updateUserProfile(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n Pyze.postPageView('Page Viewed', { page: path });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n PyzeEvents.postCustomEventWithAttributes(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProfile(userId: string) {\n try {\n PyzeIdentity.setUserProfile(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n updateUserProfile(properties: any) {\n try {\n PyzeIdentity.updateUserProfile({},properties)\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _paq: any;\n\nexport type EventTrackAction =\n | 'setEcommerceView'\n | 'addEcommerceItem'\n | 'trackEcommerceCartUpdate'\n | 'trackEcommerceOrder'\n | 'trackLink'\n | 'trackGoal'\n | 'trackSiteSearch'\n | string;\n\nexport type ScopeMatomo = 'visit' | 'page';\n\nexport interface DimensionsMatomoProperties {\n dimension1?: string;\n dimension2?: string;\n dimension3?: string;\n dimension4?: string;\n dimension5?: string;\n dimension6?: string;\n dimension7?: string;\n dimension8?: string;\n dimension9?: string;\n dimension10?: string;\n dimension11?: string;\n dimension12?: string;\n dimension13?: string;\n dimension14?: string;\n dimension15?: string;\n}\nexport interface SetEcommerceViewMatomoProperties {\n /** @class SetEcommerceViewMatomoProperties */\n productSKU: string;\n /** @class SetEcommerceViewMatomoProperties */\n productName: string;\n /** @class SetEcommerceViewMatomoProperties */\n categoryName: string;\n /** @class SetEcommerceViewMatomoProperties */\n price: string;\n}\n\nexport interface AddEcommerceItemProperties {\n /** @class AddEcommerceItemProperties */\n productSKU: string;\n /** @class AddEcommerceItemProperties */\n productName: string;\n /** @class AddEcommerceItemProperties */\n productCategory: string;\n /** @class AddEcommerceItemProperties */\n price: string;\n /** @class AddEcommerceItemProperties */\n quantity: string;\n}\n\nexport interface TrackEcommerceCartUpdateMatomoProperties {\n /** @class TrackEcommerceCartUpdateMatomoProperties */\n grandTotal: string;\n}\n\nexport interface TrackEcommerceOrderMatomoProperties {\n /** @class TrackEcommerceOrderMatomoProperties */\n orderId: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n grandTotal: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n subTotal: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n tax: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n shipping: string;\n /** @class TrackEcommerceOrderMatomoProperties */\n discount: string;\n}\n\nexport interface TrackLinkMatomoProperties {\n /** @class TrackLinkMatomoProperties */\n url: string;\n /** @class TrackLinkMatomoProperties */\n linkType: string;\n}\n\nexport interface TrackGoalMatomoProperties {\n /** @class TrackGoalMatomoProperties */\n goalId: string;\n /** @class TrackGoalMatomoProperties */\n value: string;\n}\n\nexport interface TrackSiteSearchMatomoProperties {\n /** @class TrackSiteSearchMatomoProperties */\n keyword: string;\n /** @class TrackSiteSearchMatomoProperties */\n category: string;\n /** @class TrackSiteSearchMatomoProperties */\n searchCount: string;\n}\n\nexport interface TrackEventMatomoProperties {\n /** @class TrackEventMatomoProperties */\n category: string;\n /** @class TrackEventMatomoProperties */\n name?: string;\n /** @class TrackEventMatomoProperties */\n label?: string;\n /** @class TrackEventMatomoProperties */\n value?: number | string;\n}\n\nexport interface SetCustomVariableMatomoProperties {\n /** @class SetCustomVariableMatomoProperties */\n index: number;\n /** @class SetCustomVariableMatomoProperties */\n name: string;\n /** @class SetCustomVariableMatomoProperties */\n value: string;\n /** @class SetCustomVariableMatomoProperties */\n scope: ScopeMatomo;\n}\n\nexport interface DeleteCustomVariableMatomoProperties {\n /** @class DeleteCustomVariableMatomoProperties */\n index: number;\n /** @class DeleteCustomVariableMatomoProperties */\n scope: ScopeMatomo;\n}\n\nexport type EventTrackactionProperties =\n | SetEcommerceViewMatomoProperties\n | AddEcommerceItemProperties\n | TrackEcommerceCartUpdateMatomoProperties\n | TrackEcommerceOrderMatomoProperties\n | TrackLinkMatomoProperties\n | TrackGoalMatomoProperties\n | TrackSiteSearchMatomoProperties\n | TrackEventMatomoProperties;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Matomo {\n constructor(private angulartics2: Angulartics2) {\n if (typeof _paq === 'undefined') {\n console.warn('Matomo not found');\n }\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x: any) =>\n this.setUserProperties(x),\n );\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string, title?: string) {\n try {\n if (!window.location.origin) {\n (window.location as any).origin =\n window.location.protocol +\n '//' +\n window.location.hostname +\n (window.location.port ? ':' + window.location.port : '');\n }\n _paq.push(['setDocumentTitle', title || window.document.title]);\n _paq.push(['setCustomUrl', window.location.origin + path]);\n _paq.push(['trackPageView']);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n resetUser() {\n try {\n _paq.push(['appendToTrackingUrl', 'new_visit=1']); // (1) forces a new visit\n _paq.push(['deleteCookies']); // (2) deletes existing tracking cookies to start the new visit\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: 'setEcommerceView', properties: SetEcommerceViewMatomoProperties): void;\n eventTrack(action: 'addEcommerceItem', properties: AddEcommerceItemProperties): void;\n eventTrack(\n action: 'trackEcommerceCartUpdate',\n properties: TrackEcommerceCartUpdateMatomoProperties,\n ): void;\n eventTrack(action: 'trackEcommerceOrder', properties: TrackEcommerceOrderMatomoProperties): void;\n eventTrack(action: 'trackLink', properties: TrackLinkMatomoProperties): void;\n eventTrack(action: 'trackGoal', properties: TrackGoalMatomoProperties): void;\n eventTrack(action: 'trackSiteSearch', properties: TrackSiteSearchMatomoProperties): void;\n eventTrack(action: string, properties: TrackEventMatomoProperties): void;\n\n /**\n * Track a basic event in Matomo, or send an ecommerce event.\n *\n * @param action A string corresponding to the type of event that needs to be tracked.\n * @param properties The properties that need to be logged with the event.\n */\n eventTrack(action: EventTrackAction, properties?: EventTrackactionProperties) {\n let params = [];\n switch (action) {\n /**\n * @description Sets the current page view as a product or category page view. When you call\n * setEcommerceView it must be followed by a call to trackPageView to record the product or\n * category page view.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-product-page-views-category-page-views-optional\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property productSKU (required) SKU: Product unique identifier\n * @property productName (optional) Product name\n * @property categoryName (optional) Product category, or array of up to 5 categories\n * @property price (optional) Product Price as displayed on the page\n */\n case 'setEcommerceView':\n params = [\n 'setEcommerceView',\n (properties as SetEcommerceViewMatomoProperties).productSKU,\n (properties as SetEcommerceViewMatomoProperties).productName,\n (properties as SetEcommerceViewMatomoProperties).categoryName,\n (properties as SetEcommerceViewMatomoProperties).price,\n ];\n break;\n\n /**\n * @description Adds a product into the ecommerce order. Must be called for each product in\n * the order.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property productSKU (required) SKU: Product unique identifier\n * @property productName (optional) Product name\n * @property categoryName (optional) Product category, or array of up to 5 categories\n * @property price (recommended) Product price\n * @property quantity (optional, default to 1) Product quantity\n */\n case 'addEcommerceItem':\n params = [\n 'addEcommerceItem',\n (properties as AddEcommerceItemProperties).productSKU,\n (properties as AddEcommerceItemProperties).productName,\n (properties as AddEcommerceItemProperties).productCategory,\n (properties as AddEcommerceItemProperties).price,\n (properties as AddEcommerceItemProperties).quantity,\n ];\n break;\n\n /**\n * @description Tracks a shopping cart. Call this javascript function every time a user is\n * adding, updating or deleting a product from the cart.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-add-to-cart-items-added-to-the-cart-optional\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property grandTotal (required) Cart amount\n */\n case 'trackEcommerceCartUpdate':\n params = [\n 'trackEcommerceCartUpdate',\n (properties as TrackEcommerceCartUpdateMatomoProperties).grandTotal,\n ];\n break;\n\n /**\n * @description Tracks an Ecommerce order, including any ecommerce item previously added to\n * the order. orderId and grandTotal (ie. revenue) are required parameters.\n *\n * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required\n * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce\n *\n * @property orderId (required) Unique Order ID\n * @property grandTotal (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)\n * @property subTotal (optional) Order sub total (excludes shipping)\n * @property tax (optional) Tax amount\n * @property shipping (optional) Shipping amount\n * @property discount (optional) Discount offered (set to false for unspecified parameter)\n */\n case 'trackEcommerceOrder':\n params = [\n 'trackEcommerceOrder',\n (properties as TrackEcommerceOrderMatomoProperties).orderId,\n (properties as TrackEcommerceOrderMatomoProperties).grandTotal,\n (properties as TrackEcommerceOrderMatomoProperties).subTotal,\n (properties as TrackEcommerceOrderMatomoProperties).tax,\n (properties as TrackEcommerceOrderMatomoProperties).shipping,\n (properties as TrackEcommerceOrderMatomoProperties).discount,\n ];\n break;\n\n /**\n * @description To manually trigger an outlink\n *\n * @link https://matomo.org/docs/tracking-goals-web-analytics/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#tracking-a-click-as-an-outlink-via-css-or-javascript\n *\n * @property url (required) link url\n * @property linkType (optional) type of link\n */\n case 'trackLink':\n params = [\n 'trackLink',\n (properties as TrackLinkMatomoProperties).url,\n (properties as TrackLinkMatomoProperties).linkType,\n ];\n break;\n\n /**\n * @description Tracks an Ecommerce goal\n *\n * @link https://matomo.org/docs/tracking-goals-web-analytics/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions\n *\n * @property goalId (required) Unique Goal ID\n * @property value (optional) passed to goal tracking\n */\n case 'trackGoal':\n params = [\n 'trackGoal',\n (properties as TrackGoalMatomoProperties).goalId,\n (properties as TrackGoalMatomoProperties).value,\n ];\n break;\n\n /**\n * @description Tracks a site search\n *\n * @link https://matomo.org/docs/site-search/\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking\n *\n * @property keyword (required) Keyword searched for\n * @property category (optional) Search category\n * @property searchCount (optional) Number of results\n */\n case 'trackSiteSearch':\n params = [\n 'trackSiteSearch',\n (properties as TrackSiteSearchMatomoProperties).keyword,\n (properties as TrackSiteSearchMatomoProperties).category,\n (properties as TrackSiteSearchMatomoProperties).searchCount,\n ];\n break;\n\n /**\n * @description Logs an event with an event category (Videos, Music, Games...), an event\n * action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...), and an optional\n * event name and optional numeric value.\n *\n * @link https://matomo.org/docs/event-tracking/\n * @link https://developer.matomo.org/api-reference/tracking-javascript#using-the-tracker-object\n *\n * @property category\n * @property action\n * @property name (optional, recommended)\n * @property value (optional)\n */\n default:\n // PAQ requires that eventValue be an integer, see: http://matomo.org/docs/event-tracking\n if ((properties as TrackEventMatomoProperties).value) {\n const parsed = parseInt((properties as TrackEventMatomoProperties).value as any, 10);\n (properties as TrackEventMatomoProperties).value = isNaN(parsed) ? 0 : parsed;\n }\n\n params = [\n 'trackEvent',\n (properties as TrackEventMatomoProperties).category,\n action,\n (properties as TrackEventMatomoProperties).name ||\n (properties as TrackEventMatomoProperties).label, // Changed in favour of Matomo documentation. Added fallback so it's backwards compatible.\n (properties as TrackEventMatomoProperties).value,\n ];\n }\n try {\n _paq.push(params);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string | boolean) {\n try {\n _paq.push(['setUserId', userId]);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * Sets custom dimensions if at least one property has the key \"dimension<n>\",\n * e.g. dimension10. If there are custom dimensions, any other property is ignored.\n *\n * If there are no custom dimensions in the given properties object, the properties\n * object is saved as a custom variable.\n *\n * If in doubt, prefer custom dimensions.\n * @link https://matomo.org/docs/custom-variables/\n */\n setUserProperties(properties: SetCustomVariableMatomoProperties | DimensionsMatomoProperties) {\n const dimensions = this.setCustomDimensions(properties);\n try {\n if (dimensions.length === 0) {\n _paq.push([\n 'setCustomVariable',\n (properties as SetCustomVariableMatomoProperties).index,\n (properties as SetCustomVariableMatomoProperties).name,\n (properties as SetCustomVariableMatomoProperties).value,\n (properties as SetCustomVariableMatomoProperties).scope,\n ]);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * If you created a custom variable and then decide to remove this variable from\n * a visit or page view, you can use deleteCustomVariable.\n *\n * @link https://developer.matomo.org/guides/tracking-javascript-guide#deleting-a-custom-variable\n */\n deletedUserProperties(properties: DeleteCustomVariableMatomoProperties) {\n try {\n _paq.push(['deleteCustomVariable', properties.index, properties.scope]);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n private setCustomDimensions(properties: SetCustomVariableMatomoProperties | DimensionsMatomoProperties): string[] {\n const dimensionRegex: RegExp = /dimension[1-9]\\d*/;\n const dimensions = Object.keys(properties).filter(key => dimensionRegex.exec(key));\n dimensions.forEach(dimension => {\n const number = Number(dimension.substr(9));\n _paq.push(['setCustomDimension', number, properties[dimension]]);\n });\n return dimensions;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var analytics: SegmentAnalytics.AnalyticsJS;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Segment {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setAlias.subscribe(x => this.setAlias(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#page\n *\n * analytics.page([category], [name], [properties], [options], [callback]);\n */\n pageTrack(path: string) {\n // TODO : Support optional parameters where the parameter order and type changes their meaning\n try {\n analytics.page(path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#track\n *\n * analytics.track(event, [properties], [options], [callback]);\n */\n eventTrack(action: string, properties: any) {\n try {\n analytics.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#identify\n *\n * analytics.identify([userId], [traits], [options], [callback]);\n */\n setUserProperties(properties: any) {\n try {\n if (properties.userId) {\n analytics.identify(properties.userId, properties);\n } else {\n analytics.identify(properties);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n /**\n * https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#reset--logout\n *\n * analytics.reset();\n */\n unsetUserProperties() {\n analytics.reset();\n }\n\n /**\n * https://segment.com/docs/libraries/analytics.js/#alias\n *\n * analytics.alias(userId, previousId, options, callback);\n */\n setAlias(alias: any) {\n try {\n analytics.alias(alias);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var Intercom: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Intercom {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n this.eventTrack('Pageview', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n Intercom('trackEvent', action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n if (properties.userId && !properties.user_id) {\n properties.user_id = properties.userId;\n }\n\n Intercom('boot', properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var woopra: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Woopra {\n constructor(private angulartics2: Angulartics2) {\n if (typeof woopra === 'undefined') {\n console.warn('Woopra not found');\n }\n\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n woopra.track('pv', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n woopra.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n if (properties.email) {\n woopra.identify(properties);\n }\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { Angulartics2 } from '../../angulartics2-core';\nimport { ClickyProperties } from './clicky.interfaces';\n\ndeclare var clicky: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Clicky {\n constructor(private angulartics2: Angulartics2, private titleService: Title) {\n if (typeof clicky === 'undefined') {\n console.warn('Angulartics 2 Clicky Plugin: clicky global not found');\n }\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventOrGoalTrack(x.action, x.properties));\n }\n\n /**\n * Track Page in Clicky\n *\n * @param path location\n *\n * @link https://clicky.com/help/custom/manual#log\n */\n pageTrack(path: string) {\n const title: string = this.titleService.getTitle();\n clicky.log(path, title, 'pageview');\n }\n\n /**\n * Track Event Or Goal in Clicky\n *\n * @param action Action name\n * @param properties Definition of 'properties.goal' determines goal vs event tracking\n *\n * @link https://clicky.com/help/custom/manual#log\n * @link https://clicky.com/help/custom/manual#goal\n */\n eventOrGoalTrack(action: string, properties: Partial<ClickyProperties>) {\n if (typeof properties.goal === 'undefined') {\n const title: string = properties.title || null;\n const type: string = properties.type != null ? this.validateType(properties.type) : null;\n clicky.log(action, title, type);\n } else {\n const goalId: string = properties.goal;\n const revenue: number = properties.revenue;\n clicky.goal(goalId, revenue, !!properties.noQueue);\n }\n }\n\n private validateType(type: string): string {\n const EventType = ['pageview', 'click', 'download', 'outbound'];\n return EventType.indexOf(type) > -1 ? type : 'pageview';\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var amplitude: {\n getInstance: () => {\n logEvent(action: string, properties: any);\n setUserId(userId: string);\n setUserProperties(properties: any);\n };\n};\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Amplitude {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUsername.subscribe((x: any) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe((x: any) => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe((x: any) => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe((x: any) => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n this.eventTrack('Pageview', {\n url: path,\n });\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n amplitude.getInstance().logEvent(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUsername(userId: string) {\n try {\n amplitude.getInstance().setUserId(userId);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n amplitude.getInstance().setUserProperties(properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var sp: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2Splunk {\n constructor(private angulartics2: Angulartics2) {\n if (typeof sp === 'undefined') {\n console.warn('Splunk not found');\n }\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n sp.pageview(path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n sp.track(action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Angulartics2 } from '../../angulartics2-core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class Angulartics2IBMDigitalAnalytics {\r\n constructor(private angulartics2: Angulartics2) {\r\n if (typeof window['cmCreatePageviewTag'] !== 'function') {\r\n console.warn('Angulartics 2 IBM Digital Analytics Plugin: eluminate.js is not loaded');\r\n }\r\n }\r\n\r\n startTracking(): void {\r\n this.angulartics2.pageTrack\r\n .pipe(this.angulartics2.filterDeveloperMode())\r\n .subscribe(x => this.pageTrack(x.path));\r\n this.angulartics2.eventTrack\r\n .pipe(this.angulartics2.filterDeveloperMode())\r\n .subscribe(x => this.eventTrack(x.action, x.properties));\r\n }\r\n\r\n /**\r\n * Track Page in IBM Digital Analytics\r\n *\r\n * @param path location\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_pageviewtag.html\r\n */\r\n pageTrack(path: string) {\r\n const cmCreatePageviewTag = window['cmCreatePageviewTag'];\r\n cmCreatePageviewTag(path, null, null, null);\r\n }\r\n\r\n /**\r\n * Track an event in IBM Digital Analytics\r\n *\r\n * @param action A string corresponding to the type of event that needs to be tracked.\r\n * @param properties The properties that need to be logged with the event.\r\n */\r\n eventTrack(action: string, properties: any = {}) {\r\n const cmDisplayShops = window['cmDisplayShops'];\r\n switch (action) {\r\n /**\r\n * @description The Product View tag captures information about vdigitalDataiews of product detail pages.\r\n * The Product View tag should be called on the lowest level detail page for products, which is typically\r\n * the Product Details page. You can view example Product View tags below.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_prodviewtag.html\r\n */\r\n case 'cmCreateProductviewTag':\r\n const cmCreateProductviewTag = window['cmCreateProductviewTag'];\r\n cmCreateProductviewTag(\r\n properties.productId,\r\n properties.productName,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.virtualCategory,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Shop Action 5 tag captures data about selected products and which products are present in a shopping cart,\r\n * if any, when the cart is viewed.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact5tag.html\r\n */\r\n case 'cmCreateShopAction5Tag':\r\n const cmCreateShopAction5Tag = window['cmCreateShopAction5Tag'];\r\n cmCreateShopAction5Tag(\r\n properties.productId,\r\n properties.productName,\r\n properties.quantity,\r\n properties.unitPrice,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.extraFields,\r\n properties.virtualCategory,\r\n );\r\n\r\n cmDisplayShops();\r\n\r\n break;\r\n\r\n /**\r\n * @description The Shop Action 9 tag captures data about what products were purchased by a customer.\r\n * Like the Shop Action 5 tag, one tag should be sent for each product line item purchased. These tags should be sent\r\n * on the receipt or other completion page confirming a successful order.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact9tag.html\r\n */\r\n case 'cmCreateShopAction9Tag':\r\n const cmCreateShopAction9Tag = window['cmCreateShopAction9Tag'];\r\n cmCreateShopAction9Tag(\r\n properties.productId,\r\n properties.productName,\r\n properties.quantity,\r\n properties.unitPrice,\r\n properties.registrationId,\r\n properties.orderId,\r\n properties.orderSubtotal,\r\n properties.categoryId,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n cmDisplayShops();\r\n\r\n break;\r\n\r\n /**\r\n * @description The Order tag captures order header information such as Registration ID, order ID, order subtotal,\r\n * and shipping and handling. The Order tag should be sent on the receipt page confirming order completion.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_ordertag.html\r\n */\r\n case 'cmCreateOrderTag':\r\n const cmCreateOrderTag = window['cmCreateOrderTag'];\r\n cmCreateOrderTag(\r\n properties.orderId,\r\n properties.orderSubtotal,\r\n properties.orderShipping,\r\n properties.registrationId,\r\n properties.registrantCity,\r\n properties.registrantState,\r\n properties.registrantPostalCode,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Registration tag creates a Lifetime Visitor Experience Profile (LIVE Profile) by associating a single\r\n * common Registration ID with the IBM® Digital Analytics permanent cookie set in every browser visiting the tagged site.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_registrationtag.html\r\n */\r\n case 'cmCreateRegistrationTag':\r\n const cmCreateRegistrationTag = window['cmCreateRegistrationTag'];\r\n cmCreateRegistrationTag(\r\n properties.registrationId,\r\n properties.registrantEmail,\r\n properties.registrantCity,\r\n properties.registrantState,\r\n properties.registrantPostalCode,\r\n properties.registrantCountry,\r\n properties.attrbute,\r\n );\r\n\r\n break;\r\n\r\n /**\r\n * @description The Element tag is used to track intra-page content in IBM® Digital Analytics. Data collected by\r\n * the Element tag is used to populate values in the Element Categories and Top Viewed Elements reports.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_elementtag.html\r\n */\r\n case 'cmCreateElementTag':\r\n const cmCreateElementTag = window['cmCreateElementTag'];\r\n cmCreateElementTag(properties.elementId, properties.elementCategory, properties.attrbute);\r\n\r\n break;\r\n\r\n /**\r\n * @description The Conversion Event tag is employed for tracking of general non-commerce conversion events.\r\n * The Conversion Event tag is used to populate values in the Conversion Events Reports and to create Key Segments.\r\n * This tag and the reports it populates enable analysis of a wide variety of site activities.\r\n *\r\n * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_conversioneventtag.html\r\n */\r\n case 'cmCreateConversionEventTag':\r\n const cmCreateConversionEventTag = window['cmCreateConversionEventTag'];\r\n cmCreateConversionEventTag(\r\n properties.eventId,\r\n properties.actionType,\r\n properties.eventCategoryId,\r\n properties.points,\r\n properties.attrbute,\r\n properties.extraFields,\r\n );\r\n\r\n break;\r\n\r\n default:\r\n console.warn('Unsupported Event Action');\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { Angulartics2 } from '../../angulartics2-core';\n\ndeclare var _gs: any;\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoSquared {\n constructor(private angulartics2: Angulartics2) {\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n }\n\n pageTrack(path: string) {\n try {\n _gs('track', path);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n eventTrack(action: string, properties: any) {\n try {\n _gs('event', action, properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n\n setUserProperties(properties: any) {\n try {\n _gs('identify', properties);\n } catch (e) {\n if (!(e instanceof ReferenceError)) {\n throw e;\n }\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.Angulartics2","i2","i3"],"mappings":"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"}