UNPKG

@piwikpro/ngx-piwik-pro

Version:

Piwik PRO tracking library for Angular apps.

698 lines (667 loc) 28.8 kB
import * as i0 from '@angular/core'; import { InjectionToken, APP_INITIALIZER, PLATFORM_ID, isDevMode, Injectable, APP_BOOTSTRAP_LISTENER, inject, Inject, NgModule } from '@angular/core'; import { DOCUMENT, isPlatformBrowser, CommonModule } from '@angular/common'; import PiwikPro, { Miscellaneous, DataLayer, PageViews, ContentTracking, CookieManagement, CustomDimensions, SiteSearch, CustomEvent, DownloadAndOutlink, eCommerce, GoalConversions, UserManagement, Heartbeat, CrossDomainTracking, ClientConfiguration } from '@piwikpro/tracking-base-library'; import * as i2 from '@angular/router'; import { Router, NavigationEnd } from '@angular/router'; import { filter, skipWhile } from 'rxjs/operators'; import * as i1 from '@angular/platform-browser'; import { Title } from '@angular/platform-browser'; var TRACK_EVENT; (function (TRACK_EVENT) { TRACK_EVENT["ADD_ECOMMERCE_ITEM"] = "addEcommerceItem"; TRACK_EVENT["REMOVE_ECOMMERCE_ITEM"] = "removeEcommerceItem"; TRACK_EVENT["CLEAR_ECOMMERCE_CART"] = "clearEcommerceCart"; TRACK_EVENT["SET_ECOMMERCE_VIEW"] = "setEcommerceView"; TRACK_EVENT["UPDATE_ECOMMERCE_CART"] = "trackEcommerceCartUpdate"; TRACK_EVENT["ORDER_ECOMMERCE"] = "trackEcommerceOrder"; })(TRACK_EVENT || (TRACK_EVENT = {})); var CustomVariableScope; (function (CustomVariableScope) { CustomVariableScope["VISIT"] = "visit"; CustomVariableScope["PAGE"] = "page"; })(CustomVariableScope || (CustomVariableScope = {})); /** * Provide a Injection Token to global settings. */ const NGX_PIWIK_PRO_SETTINGS_TOKEN = new InjectionToken('ngx-piwik-pro-settings', { factory: () => ({ containerId: '', containerURL: '' }) }); const VERSION = "2.4.0"; const NGX_PIWIK_PRO_INITIALIZER_PROVIDER = { provide: APP_INITIALIZER, multi: true, useFactory: PiwikProInitializer, deps: [ NGX_PIWIK_PRO_SETTINGS_TOKEN, DOCUMENT, PLATFORM_ID, ] }; function PiwikProInitializer(settings, document, platformId) { if (window) { window._paq = window._paq || []; Miscellaneous.setTrackingSourceProvider("angular", VERSION); } return async () => { if (!isPlatformBrowser(platformId)) { return; } if (!settings.containerId) { if (!isDevMode()) { console.error('Empty tracking code for Piwik Pro. Make sure to provide one when initializing NgxPiwikProModule.'); } return; } if (!settings.containerURL) { if (!isDevMode()) { console.error('Empty tracking URL for Piwik Pro. Make sure to provide one when initializing NgxPiwikProModule.'); } return; } if (!document) { if (!isDevMode()) { console.error('Was not possible to access Document interface. Make sure this module is running on a Browser w/ access do Document interface.'); } } if (settings.dataLayerName) { DataLayer.setDataLayerName(settings.dataLayerName); } const s = document.createElement('script'); s.async = true; if (settings.nonce) { s.setAttribute("nonce", settings.nonce); } s.text = PiwikPro.getInitScript({ containerId: settings.containerId, containerUrl: settings.containerURL, nonceValue: settings.nonce, dataLayerName: settings.dataLayerName }); const head = document.getElementsByTagName('head')[0]; head.appendChild(s); }; } const NGX_PIWIK_PRO_ROUTING_SETTINGS_TOKEN = new InjectionToken('ngx-piwik-pro-routing-settings', { factory: () => ({}) }); class PageViewsService { trackPageView(...params) { PageViews.trackPageView(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PageViewsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PageViewsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PageViewsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); const NGX_PIWIK_PRO_ROUTER_INITIALIZER_PROVIDER = { provide: APP_BOOTSTRAP_LISTENER, multi: true, useFactory: PiwikProRouterInitializer, deps: [ NGX_PIWIK_PRO_ROUTING_SETTINGS_TOKEN, Title, PageViewsService, ] }; function PiwikProRouterInitializer(settings, titleService, pageViewsService) { return async (c) => { const router = c.injector.get(Router); const { include = [], exclude = [], skipFirstPageView } = settings ?? {}; const includeRules = normalizePathRules(include); const excludeRules = normalizePathRules(exclude); const subs = router .events .pipe(filter((event) => event instanceof NavigationEnd), skipWhile((_, index) => { // Preventing double views on the first trigger (because PiwikPro Already send one ping on setup by default) if (skipFirstPageView) { return index === 0; } return false; }), filter(event => includeRules.length > 0 ? includeRules.some(rule => rule.test(event.urlAfterRedirects)) : true), filter(event => excludeRules.length > 0 ? !excludeRules.some(rule => rule.test(event.urlAfterRedirects)) : true)) .subscribe(() => { pageViewsService.trackPageView(); }); // Cleanup c.onDestroy(() => subs.unsubscribe()); }; } /** Converts all path rules from string to Regex instances */ function normalizePathRules(rules) { return rules.map(rule => (rule instanceof RegExp) ? rule : new RegExp(`^${rule.replace('*', '.*')}$`, 'i')); } const NGX_WINDOW = new InjectionToken("ngx-window", { providedIn: "root", factory: () => { const { defaultView } = inject(DOCUMENT); if (!defaultView) { throw new Error("Window is not available"); } return defaultView; }, }); class PaqService { constructor(titleService, routerService, _window) { this.titleService = titleService; this.routerService = routerService; this._window = _window; } push(collection) { if (!this._window._paq) { throw new Error("_paq is not available"); } this._window._paq.push(["setCustomUrl", this.routerService.url]); this._window._paq.push(["setDocumentTitle", this.titleService.getTitle()]); return this._window._paq.push(collection); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaqService, deps: [{ token: i1.Title }, { token: i2.Router }, { token: NGX_WINDOW }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaqService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PaqService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.Title }, { type: i2.Router }, { type: undefined, decorators: [{ type: Inject, args: [NGX_WINDOW] }] }] }); class ContentTrackingService { trackAllContentImpressions(...params) { ContentTracking.trackAllContentImpressions(...params); } trackVisibleContentImpressions(...params) { ContentTracking.trackVisibleContentImpressions(...params); } trackContentImpressionsWithinNode(...params) { ContentTracking.trackContentImpressionsWithinNode(...params); } trackContentImpression(...params) { ContentTracking.trackContentImpression(...params); } logAllContentBlocksOnPage(...params) { ContentTracking.logAllContentBlocksOnPage(...params); } trackContentInteractionNode(...params) { ContentTracking.trackContentInteractionNode(...params); } trackContentInteraction(...params) { ContentTracking.trackContentInteraction(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ContentTrackingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ContentTrackingService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ContentTrackingService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class CookieManagementService { disableCookies(...params) { CookieManagement.disableCookies(...params); } enableCookies(...params) { CookieManagement.enableCookies(...params); } deleteCookies(...params) { CookieManagement.deleteCookies(...params); } hasCookies(...params) { return CookieManagement.hasCookies(...params); } setCookieNamePrefix(...params) { CookieManagement.setCookieNamePrefix(...params); } setCookieDomain(...params) { CookieManagement.setCookieDomain(...params); } setCookiePath(...params) { CookieManagement.setCookiePath(...params); } setSecureCookie(...params) { CookieManagement.setSecureCookie(...params); } setVisitorCookieTimeout(...params) { CookieManagement.setVisitorCookieTimeout(...params); } setSessionCookieTimeout(...params) { CookieManagement.setSessionCookieTimeout(...params); } setVisitorIdCookie(...params) { CookieManagement.setVisitorIdCookie(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CookieManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CookieManagementService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CookieManagementService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class CustomDimensionsService { getCustomDimensionValue(...params) { return CustomDimensions.getCustomDimensionValue(...params); } setCustomDimensionValue(...params) { CustomDimensions.setCustomDimensionValue(...params); } deleteCustomDimension(...params) { CustomDimensions.deleteCustomDimension(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomDimensionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomDimensionsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomDimensionsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class SiteSearchService { trackSiteSearch(...params) { SiteSearch.trackSiteSearch(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: SiteSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: SiteSearchService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: SiteSearchService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class CustomEventsService { trackEvent(...params) { CustomEvent.trackEvent(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomEventsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CustomEventsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class DownloadAndOutlinkService { trackLink(...params) { DownloadAndOutlink.trackLink(...params); } enableLinkTracking(...params) { DownloadAndOutlink.enableLinkTracking(...params); } setLinkClasses(...params) { DownloadAndOutlink.setLinkClasses(...params); } setDownloadClasses(...params) { DownloadAndOutlink.setDownloadClasses(...params); } setDownloadExtensions(...params) { DownloadAndOutlink.setDownloadExtensions(...params); } addDownloadExtensions(...params) { DownloadAndOutlink.addDownloadExtensions(...params); } removeDownloadExtensions(...params) { DownloadAndOutlink.removeDownloadExtensions(...params); } setLinkTrackingTimer(...params) { DownloadAndOutlink.setLinkTrackingTimer(...params); } getLinkTrackingTimer(...params) { return DownloadAndOutlink.getLinkTrackingTimer(...params); } setIgnoreClasses(...params) { DownloadAndOutlink.setIgnoreClasses(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DownloadAndOutlinkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DownloadAndOutlinkService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DownloadAndOutlinkService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class ECommerceService { constructor(paqService) { this.paqService = paqService; } /** * @deprecated Please use the ecommerceAddToCart instead. */ addEcommerceItem(productSKU, productName, productCategory, productPrice, productQuantity) { this.paqService.push([ TRACK_EVENT.ADD_ECOMMERCE_ITEM, productSKU, productName, productCategory, productPrice, productQuantity, ]); } ecommerceAddToCart(...params) { eCommerce.ecommerceAddToCart(...params); } /** * @deprecated Please use the ecommerceRemoveFromCart instead. */ removeEcommerceItem(productSKU) { this.paqService.push([ TRACK_EVENT.REMOVE_ECOMMERCE_ITEM, productSKU ]); } ecommerceRemoveFromCart(...params) { eCommerce.ecommerceRemoveFromCart(...params); } /** * @deprecated */ clearEcommerceCart() { this.paqService.push([ TRACK_EVENT.CLEAR_ECOMMERCE_CART, ]); } /** * @deprecated */ getEcommerceItems() { return new Promise((resolve, reject) => { try { this.paqService.push([ function () { resolve(this.getEcommerceItems()); }, ]); } catch (e) { if (e instanceof ReferenceError) { reject(e); } } }); } /** * @deprecated Please use the ecommerceOrder instead. */ trackEcommerceOrder(orderId, orderGrandTotal, orderSubTotal, orderTax, orderShipping, orderDiscount) { this.paqService.push([ TRACK_EVENT.ORDER_ECOMMERCE, orderId, orderGrandTotal, orderSubTotal, orderTax, orderShipping, orderDiscount, ]); } ecommerceOrder(...params) { eCommerce.ecommerceOrder(...params); } /** * @deprecated Please use the ecommerceCartUpdate instead. */ trackEcommerceCartUpdate(cartAmount) { this.paqService.push([ TRACK_EVENT.UPDATE_ECOMMERCE_CART, cartAmount ]); } ecommerceCartUpdate(...params) { eCommerce.ecommerceCartUpdate(...params); } /** * @deprecated */ setEcommerceView(productSKU, productName, productCategory, productPrice) { this.paqService.push([ TRACK_EVENT.SET_ECOMMERCE_VIEW, productSKU, productName, productCategory, productPrice ]); } ecommerceProductDetailView(...params) { eCommerce.ecommerceProductDetailView(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ECommerceService, deps: [{ token: PaqService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ECommerceService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ECommerceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: PaqService }] }); class GoalConversionsService { trackGoal(...params) { GoalConversions.trackGoal(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GoalConversionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GoalConversionsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GoalConversionsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class UserManagementService { getUserId(...params) { return UserManagement.getUserId(...params); } setUserId(...params) { UserManagement.setUserId(...params); } resetUserId(...params) { UserManagement.resetUserId(...params); } getVisitorId(...params) { return UserManagement.getVisitorId(...params); } getVisitorInfo(...params) { return UserManagement.getVisitorInfo(...params); } setUserIsAnonymous(...params) { UserManagement.setUserIsAnonymous(...params); } deanonymizeUser() { UserManagement.deanonymizeUser(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: UserManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: UserManagementService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: UserManagementService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); class DataLayerService { push(...params) { return DataLayer.push(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataLayerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataLayerService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataLayerService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class HeartbeatService { enableHeartBeatTimer(...params) { Heartbeat.enableHeartBeatTimer(...params); } disableHeartBeatTimer(...params) { Heartbeat.disableHeartBeatTimer(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: HeartbeatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: HeartbeatService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: HeartbeatService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); class CrossDomainTrackingService { enableCrossDomainLinking(...params) { CrossDomainTracking.enableCrossDomainLinking(...params); } disableCrossDomainLinking(...params) { CrossDomainTracking.disableCrossDomainLinking(...params); } isCrossDomainLinkingEnabled() { return CrossDomainTracking.isCrossDomainLinkingEnabled(); } setCrossDomainLinkingTimeout(...params) { return CrossDomainTracking.setCrossDomainLinkingTimeout(...params); } getCrossDomainLinkingUrlParameter() { return CrossDomainTracking.getCrossDomainLinkingUrlParameter(); } customCrossDomainLinkDecorator(...params) { return CrossDomainTracking.customCrossDomainLinkDecorator(...params); } customCrossDomainLinkVisitorIdGetter(...params) { return CrossDomainTracking.customCrossDomainLinkVisitorIdGetter(...params); } } class ClientConfigurationService { setDomains(...params) { ClientConfiguration.setDomains(...params); } getDomains() { return ClientConfiguration.getDomains(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClientConfigurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClientConfigurationService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClientConfigurationService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); class MiscellaneousService { setTrackingSourceProvider(...params) { Miscellaneous.setTrackingSourceProvider(...params); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: MiscellaneousService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: MiscellaneousService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: MiscellaneousService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); /** * Check if there is some global function called _paq on Window object, or create an empty function to doesn't brake codes... */ function getPaqFn(window) { return (window) ? window['_paq'] = window['_paq'] || [] : null; } /** * Provides an injection token to access Piwik Pro Paq */ const NGX_PAQ = new InjectionToken('ngx-paq', { providedIn: 'root', factory: () => getPaqFn(inject(NGX_WINDOW)) }); class NgxPiwikProModule { constructor() { } static forRoot(containerId, containerURL, nonceOrOptions) { const options = typeof nonceOrOptions === 'string' ? { nonce: nonceOrOptions, } : nonceOrOptions; return { ngModule: NgxPiwikProModule, providers: [ { provide: NGX_PIWIK_PRO_SETTINGS_TOKEN, useValue: { containerId, containerURL, ...options, }, }, NGX_PIWIK_PRO_INITIALIZER_PROVIDER, ], }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProModule }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProModule }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProModule, decorators: [{ type: NgModule, args: [{ declarations: [], imports: [], exports: [], }] }], ctorParameters: () => [] }); class NgxPiwikProRouterModule { static forRoot(settings) { return { ngModule: NgxPiwikProRouterModule, providers: [ { provide: NGX_PIWIK_PRO_ROUTING_SETTINGS_TOKEN, useValue: settings ?? { skipFirstPageView: true, } }, ] }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProRouterModule, imports: [CommonModule, NgxPiwikProModule] }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProRouterModule, providers: [ NGX_PIWIK_PRO_ROUTER_INITIALIZER_PROVIDER, ], imports: [CommonModule, NgxPiwikProModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxPiwikProRouterModule, decorators: [{ type: NgModule, args: [{ imports: [ CommonModule, NgxPiwikProModule, ], providers: [ NGX_PIWIK_PRO_ROUTER_INITIALIZER_PROVIDER, ], declarations: [] }] }] }); /* * Public API Surface of ngx-piwik-pro */ /** * Generated bundle index. Do not edit. */ export { ClientConfigurationService, ContentTrackingService, CookieManagementService, CrossDomainTrackingService, CustomDimensionsService, CustomEventsService, CustomVariableScope, DataLayerService, DownloadAndOutlinkService, ECommerceService, GoalConversionsService, HeartbeatService, MiscellaneousService, NGX_PAQ, NGX_PIWIK_PRO_INITIALIZER_PROVIDER, NGX_PIWIK_PRO_ROUTER_INITIALIZER_PROVIDER, NGX_PIWIK_PRO_ROUTING_SETTINGS_TOKEN, NGX_PIWIK_PRO_SETTINGS_TOKEN, NGX_WINDOW, NgxPiwikProModule, NgxPiwikProRouterModule, PageViewsService, PaqService, PiwikProInitializer, PiwikProRouterInitializer, SiteSearchService, TRACK_EVENT, UserManagementService, getPaqFn }; //# sourceMappingURL=piwikpro-ngx-piwik-pro.mjs.map