angulartics2 9.1.0 → 12.0.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 (502) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -9
  3. package/angular-router.d.ts +3 -0
  4. package/angulartics2-core.d.ts +3 -1
  5. package/angulartics2.d.ts +1 -0
  6. package/angulartics2.module.d.ts +5 -0
  7. package/angulartics2On.d.ts +6 -0
  8. package/esm2020/angular-router.mjs +33 -0
  9. package/esm2020/angulartics2-config.mjs +19 -0
  10. package/esm2020/angulartics2-core.mjs +93 -0
  11. package/esm2020/angulartics2-interfaces.mjs +2 -0
  12. package/esm2020/angulartics2-token.mjs +3 -0
  13. package/esm2020/angulartics2.mjs +5 -0
  14. package/esm2020/angulartics2.module.mjs +30 -0
  15. package/esm2020/angulartics2On.mjs +66 -0
  16. package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +98 -0
  17. package/esm2020/providers/amplitude/amplitude.mjs +68 -0
  18. package/esm2020/providers/appinsights/appinsights.mjs +118 -0
  19. package/esm2020/providers/baidu/baidu.mjs +81 -0
  20. package/esm2020/providers/clicky/clicky.interfaces.mjs +2 -0
  21. package/esm2020/providers/clicky/clicky.mjs +64 -0
  22. package/esm2020/providers/facebook/facebook.mjs +45 -0
  23. package/esm2020/providers/ga/ga.mjs +219 -0
  24. package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom-options.mjs +7 -0
  25. package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +32 -0
  26. package/esm2020/providers/gosquared/gosquared.mjs +55 -0
  27. package/esm2020/providers/gst/gst-interfaces.mjs +2 -0
  28. package/esm2020/providers/gst/gst.mjs +197 -0
  29. package/esm2020/providers/gtm/gtm.mjs +114 -0
  30. package/esm2020/providers/hubspot/hubspot.mjs +40 -0
  31. package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +125 -0
  32. package/esm2020/providers/intercom/intercom.mjs +60 -0
  33. package/esm2020/providers/kissmetrics/kissmetrics.mjs +40 -0
  34. package/esm2020/providers/launch/launch.mjs +59 -0
  35. package/esm2020/providers/matomo/matomo.mjs +303 -0
  36. package/esm2020/providers/mixpanel/mixpanel.mjs +109 -0
  37. package/esm2020/providers/pyze/pyze.mjs +65 -0
  38. package/esm2020/providers/segment/segment.mjs +100 -0
  39. package/esm2020/providers/splunk/splunk.mjs +46 -0
  40. package/esm2020/providers/woopra/woopra.mjs +61 -0
  41. package/esm2020/public_api.mjs +32 -0
  42. package/esm2020/routerless.mjs +10 -0
  43. package/esm2020/routerless.module.mjs +28 -0
  44. package/fesm2015/angulartics2.mjs +2248 -0
  45. package/fesm2015/angulartics2.mjs.map +1 -0
  46. package/fesm2020/angulartics2.mjs +2294 -0
  47. package/fesm2020/angulartics2.mjs.map +1 -0
  48. package/package.json +28 -16
  49. package/{adobeanalytics → providers/adobeanalytics}/README.md +1 -1
  50. package/{adobeanalytics → providers/adobeanalytics}/adobeanalytics.d.ts +4 -1
  51. package/{amplitude → providers/amplitude}/README.md +1 -1
  52. package/{amplitude → providers/amplitude}/amplitude.d.ts +4 -1
  53. package/{appinsights → providers/appinsights}/README.md +1 -1
  54. package/{appinsights → providers/appinsights}/appinsights.d.ts +5 -1
  55. package/{baidu → providers/baidu}/README.md +1 -1
  56. package/{baidu → providers/baidu}/baidu.d.ts +4 -1
  57. package/{clicky → providers/clicky}/README.md +1 -1
  58. package/{clicky → providers/clicky}/clicky.d.ts +4 -1
  59. package/{clicky → providers/clicky}/clicky.interfaces.d.ts +0 -0
  60. package/{facebook → providers/facebook}/README.md +1 -1
  61. package/{facebook → providers/facebook}/facebook.d.ts +4 -1
  62. package/{ga → providers/ga}/README.md +1 -1
  63. package/{ga → providers/ga}/ga.d.ts +6 -1
  64. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/README.md +1 -1
  65. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom-options.d.ts +0 -0
  66. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom.d.ts +3 -0
  67. package/{gosquared → providers/gosquared}/README.md +1 -1
  68. package/{gosquared → providers/gosquared}/gosquared.d.ts +4 -1
  69. package/{gst → providers/gst}/README.md +2 -2
  70. package/{gst → providers/gst}/gst-interfaces.d.ts +0 -0
  71. package/{gst → providers/gst}/gst.d.ts +5 -1
  72. package/{gtm → providers/gtm}/README.md +2 -2
  73. package/{gtm → providers/gtm}/gtm.d.ts +5 -1
  74. package/{hubspot → providers/hubspot}/README.md +1 -1
  75. package/{hubspot → providers/hubspot}/hubspot.d.ts +4 -1
  76. package/{ibm-digital-analytics → providers/ibm-digital-analytics}/README.md +2 -2
  77. package/{ibm-digital-analytics → providers/ibm-digital-analytics}/ibm-digital-analytics.d.ts +4 -1
  78. package/{intercom → providers/intercom}/README.md +1 -1
  79. package/{intercom → providers/intercom}/intercom.d.ts +4 -1
  80. package/{kissmetrics → providers/kissmetrics}/README.md +1 -1
  81. package/{kissmetrics → providers/kissmetrics}/kissmetrics.d.ts +4 -1
  82. package/{launch → providers/launch}/README.md +3 -3
  83. package/{launch → providers/launch}/launch.d.ts +4 -1
  84. package/{piwik → providers/matomo}/README.md +20 -20
  85. package/providers/matomo/matomo.d.ts +140 -0
  86. package/{mixpanel → providers/mixpanel}/README.md +2 -2
  87. package/{mixpanel → providers/mixpanel}/mixpanel.d.ts +4 -1
  88. package/{pyze → providers/pyze}/README.md +1 -1
  89. package/{pyze → providers/pyze}/pyze.d.ts +4 -1
  90. package/{segment → providers/segment}/README.md +3 -3
  91. package/{segment → providers/segment}/segment.d.ts +4 -1
  92. package/{splunk → providers/splunk}/README.md +2 -2
  93. package/providers/splunk/splunk.d.ts +11 -0
  94. package/{woopra → providers/woopra}/README.md +1 -1
  95. package/{woopra → providers/woopra}/woopra.d.ts +4 -1
  96. package/public_api.d.ts +23 -0
  97. package/routerless.module.d.ts +10 -0
  98. package/adobeanalytics/angulartics2-adobeanalytics.d.ts +0 -4
  99. package/adobeanalytics/angulartics2-adobeanalytics.metadata.json +0 -1
  100. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js +0 -326
  101. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js.map +0 -1
  102. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js +0 -16
  103. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js.map +0 -1
  104. package/adobeanalytics/esm2015/adobeanalytics.js +0 -105
  105. package/adobeanalytics/esm2015/angulartics2-adobeanalytics.js +0 -5
  106. package/adobeanalytics/esm5/adobeanalytics.js +0 -108
  107. package/adobeanalytics/esm5/angulartics2-adobeanalytics.js +0 -5
  108. package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js +0 -108
  109. package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js.map +0 -1
  110. package/adobeanalytics/fesm5/angulartics2-adobeanalytics.js +0 -111
  111. package/adobeanalytics/fesm5/angulartics2-adobeanalytics.js.map +0 -1
  112. package/adobeanalytics/package.json +0 -22
  113. package/amplitude/angulartics2-amplitude.d.ts +0 -4
  114. package/amplitude/angulartics2-amplitude.metadata.json +0 -1
  115. package/amplitude/bundles/angulartics2-amplitude.umd.js +0 -298
  116. package/amplitude/bundles/angulartics2-amplitude.umd.js.map +0 -1
  117. package/amplitude/bundles/angulartics2-amplitude.umd.min.js +0 -16
  118. package/amplitude/bundles/angulartics2-amplitude.umd.min.js.map +0 -1
  119. package/amplitude/esm2015/amplitude.js +0 -75
  120. package/amplitude/esm2015/angulartics2-amplitude.js +0 -5
  121. package/amplitude/esm5/amplitude.js +0 -78
  122. package/amplitude/esm5/angulartics2-amplitude.js +0 -5
  123. package/amplitude/fesm2015/angulartics2-amplitude.js +0 -79
  124. package/amplitude/fesm2015/angulartics2-amplitude.js.map +0 -1
  125. package/amplitude/fesm5/angulartics2-amplitude.js +0 -82
  126. package/amplitude/fesm5/angulartics2-amplitude.js.map +0 -1
  127. package/amplitude/package.json +0 -22
  128. package/angulartics2.metadata.json +0 -1
  129. package/appinsights/angulartics2-appinsights.d.ts +0 -4
  130. package/appinsights/angulartics2-appinsights.metadata.json +0 -1
  131. package/appinsights/bundles/angulartics2-appinsights.umd.js +0 -344
  132. package/appinsights/bundles/angulartics2-appinsights.umd.js.map +0 -1
  133. package/appinsights/bundles/angulartics2-appinsights.umd.min.js +0 -16
  134. package/appinsights/bundles/angulartics2-appinsights.umd.min.js.map +0 -1
  135. package/appinsights/esm2015/angulartics2-appinsights.js +0 -5
  136. package/appinsights/esm2015/appinsights.js +0 -124
  137. package/appinsights/esm5/angulartics2-appinsights.js +0 -5
  138. package/appinsights/esm5/appinsights.js +0 -129
  139. package/appinsights/fesm2015/angulartics2-appinsights.js +0 -126
  140. package/appinsights/fesm2015/angulartics2-appinsights.js.map +0 -1
  141. package/appinsights/fesm5/angulartics2-appinsights.js +0 -130
  142. package/appinsights/fesm5/angulartics2-appinsights.js.map +0 -1
  143. package/appinsights/package.json +0 -22
  144. package/baidu/angulartics2-baidu.d.ts +0 -4
  145. package/baidu/angulartics2-baidu.metadata.json +0 -1
  146. package/baidu/bundles/angulartics2-baidu.umd.js +0 -308
  147. package/baidu/bundles/angulartics2-baidu.umd.js.map +0 -1
  148. package/baidu/bundles/angulartics2-baidu.umd.min.js +0 -16
  149. package/baidu/bundles/angulartics2-baidu.umd.min.js.map +0 -1
  150. package/baidu/esm2015/angulartics2-baidu.js +0 -5
  151. package/baidu/esm2015/baidu.js +0 -85
  152. package/baidu/esm5/angulartics2-baidu.js +0 -5
  153. package/baidu/esm5/baidu.js +0 -88
  154. package/baidu/fesm2015/angulartics2-baidu.js +0 -89
  155. package/baidu/fesm2015/angulartics2-baidu.js.map +0 -1
  156. package/baidu/fesm5/angulartics2-baidu.js +0 -92
  157. package/baidu/fesm5/angulartics2-baidu.js.map +0 -1
  158. package/baidu/package.json +0 -22
  159. package/bundles/angulartics2.umd.js +0 -489
  160. package/bundles/angulartics2.umd.js.map +0 -1
  161. package/bundles/angulartics2.umd.min.js +0 -16
  162. package/bundles/angulartics2.umd.min.js.map +0 -1
  163. package/clicky/angulartics2-clicky.d.ts +0 -4
  164. package/clicky/angulartics2-clicky.metadata.json +0 -1
  165. package/clicky/bundles/angulartics2-clicky.umd.js +0 -290
  166. package/clicky/bundles/angulartics2-clicky.umd.js.map +0 -1
  167. package/clicky/bundles/angulartics2-clicky.umd.min.js +0 -16
  168. package/clicky/bundles/angulartics2-clicky.umd.min.js.map +0 -1
  169. package/clicky/esm2015/angulartics2-clicky.js +0 -5
  170. package/clicky/esm2015/clicky.interfaces.js +0 -1
  171. package/clicky/esm2015/clicky.js +0 -70
  172. package/clicky/esm5/angulartics2-clicky.js +0 -5
  173. package/clicky/esm5/clicky.interfaces.js +0 -1
  174. package/clicky/esm5/clicky.js +0 -72
  175. package/clicky/fesm2015/angulartics2-clicky.js +0 -73
  176. package/clicky/fesm2015/angulartics2-clicky.js.map +0 -1
  177. package/clicky/fesm5/angulartics2-clicky.js +0 -75
  178. package/clicky/fesm5/angulartics2-clicky.js.map +0 -1
  179. package/clicky/package.json +0 -22
  180. package/esm2015/angular-router.js +0 -38
  181. package/esm2015/angulartics2-config.js +0 -19
  182. package/esm2015/angulartics2-core.js +0 -93
  183. package/esm2015/angulartics2-interfaces.js +0 -1
  184. package/esm2015/angulartics2-token.js +0 -3
  185. package/esm2015/angulartics2.js +0 -5
  186. package/esm2015/angulartics2.module.js +0 -28
  187. package/esm2015/angulartics2On.js +0 -68
  188. package/esm2015/public_api.js +0 -8
  189. package/esm2015/routerless.js +0 -10
  190. package/esm5/angular-router.js +0 -39
  191. package/esm5/angulartics2-config.js +0 -21
  192. package/esm5/angulartics2-core.js +0 -110
  193. package/esm5/angulartics2-interfaces.js +0 -1
  194. package/esm5/angulartics2-token.js +0 -3
  195. package/esm5/angulartics2.js +0 -5
  196. package/esm5/angulartics2.module.js +0 -33
  197. package/esm5/angulartics2On.js +0 -73
  198. package/esm5/public_api.js +0 -8
  199. package/esm5/routerless.js +0 -14
  200. package/facebook/angulartics2-facebook.d.ts +0 -4
  201. package/facebook/angulartics2-facebook.metadata.json +0 -1
  202. package/facebook/bundles/angulartics2-facebook.umd.js +0 -272
  203. package/facebook/bundles/angulartics2-facebook.umd.js.map +0 -1
  204. package/facebook/bundles/angulartics2-facebook.umd.min.js +0 -16
  205. package/facebook/bundles/angulartics2-facebook.umd.min.js.map +0 -1
  206. package/facebook/esm2015/angulartics2-facebook.js +0 -5
  207. package/facebook/esm2015/facebook.js +0 -49
  208. package/facebook/esm5/angulartics2-facebook.js +0 -5
  209. package/facebook/esm5/facebook.js +0 -52
  210. package/facebook/fesm2015/angulartics2-facebook.js +0 -53
  211. package/facebook/fesm2015/angulartics2-facebook.js.map +0 -1
  212. package/facebook/fesm5/angulartics2-facebook.js +0 -56
  213. package/facebook/fesm5/angulartics2-facebook.js.map +0 -1
  214. package/facebook/package.json +0 -22
  215. package/fesm2015/angulartics2.js +0 -237
  216. package/fesm2015/angulartics2.js.map +0 -1
  217. package/fesm5/angulartics2.js +0 -269
  218. package/fesm5/angulartics2.js.map +0 -1
  219. package/ga/angulartics2-ga.d.ts +0 -4
  220. package/ga/angulartics2-ga.metadata.json +0 -1
  221. package/ga/bundles/angulartics2-ga.umd.js +0 -509
  222. package/ga/bundles/angulartics2-ga.umd.js.map +0 -1
  223. package/ga/bundles/angulartics2-ga.umd.min.js +0 -16
  224. package/ga/bundles/angulartics2-ga.umd.min.js.map +0 -1
  225. package/ga/esm2015/angulartics2-ga.js +0 -5
  226. package/ga/esm2015/ga.js +0 -209
  227. package/ga/esm5/angulartics2-ga.js +0 -5
  228. package/ga/esm5/ga.js +0 -289
  229. package/ga/fesm2015/angulartics2-ga.js +0 -213
  230. package/ga/fesm2015/angulartics2-ga.js.map +0 -1
  231. package/ga/fesm5/angulartics2-ga.js +0 -292
  232. package/ga/fesm5/angulartics2-ga.js.map +0 -1
  233. package/ga/package.json +0 -22
  234. package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.d.ts +0 -4
  235. package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.metadata.json +0 -1
  236. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js +0 -257
  237. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js.map +0 -1
  238. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js +0 -16
  239. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js.map +0 -1
  240. package/ga-enhanced-ecom/esm2015/angulartics2-ga-enhanced-ecom.js +0 -5
  241. package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom-options.js +0 -6
  242. package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom.js +0 -32
  243. package/ga-enhanced-ecom/esm5/angulartics2-ga-enhanced-ecom.js +0 -5
  244. package/ga-enhanced-ecom/esm5/ga-enhanced-ecom-options.js +0 -6
  245. package/ga-enhanced-ecom/esm5/ga-enhanced-ecom.js +0 -35
  246. package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js +0 -37
  247. package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js.map +0 -1
  248. package/ga-enhanced-ecom/fesm5/angulartics2-ga-enhanced-ecom.js +0 -40
  249. package/ga-enhanced-ecom/fesm5/angulartics2-ga-enhanced-ecom.js.map +0 -1
  250. package/ga-enhanced-ecom/package.json +0 -22
  251. package/gosquared/angulartics2-gosquared.d.ts +0 -4
  252. package/gosquared/angulartics2-gosquared.metadata.json +0 -1
  253. package/gosquared/bundles/angulartics2-gosquared.umd.js +0 -286
  254. package/gosquared/bundles/angulartics2-gosquared.umd.js.map +0 -1
  255. package/gosquared/bundles/angulartics2-gosquared.umd.min.js +0 -16
  256. package/gosquared/bundles/angulartics2-gosquared.umd.min.js.map +0 -1
  257. package/gosquared/esm2015/angulartics2-gosquared.js +0 -5
  258. package/gosquared/esm2015/gosquared.js +0 -59
  259. package/gosquared/esm5/angulartics2-gosquared.js +0 -5
  260. package/gosquared/esm5/gosquared.js +0 -66
  261. package/gosquared/fesm2015/angulartics2-gosquared.js +0 -63
  262. package/gosquared/fesm2015/angulartics2-gosquared.js.map +0 -1
  263. package/gosquared/fesm5/angulartics2-gosquared.js +0 -70
  264. package/gosquared/fesm5/angulartics2-gosquared.js.map +0 -1
  265. package/gosquared/package.json +0 -22
  266. package/gst/angulartics2-gst.d.ts +0 -4
  267. package/gst/angulartics2-gst.metadata.json +0 -1
  268. package/gst/bundles/angulartics2-gst.umd.js +0 -423
  269. package/gst/bundles/angulartics2-gst.umd.js.map +0 -1
  270. package/gst/bundles/angulartics2-gst.umd.min.js +0 -16
  271. package/gst/bundles/angulartics2-gst.umd.min.js.map +0 -1
  272. package/gst/esm2015/angulartics2-gst.js +0 -5
  273. package/gst/esm2015/gst-interfaces.js +0 -1
  274. package/gst/esm2015/gst.js +0 -184
  275. package/gst/esm5/angulartics2-gst.js +0 -5
  276. package/gst/esm5/gst-interfaces.js +0 -1
  277. package/gst/esm5/gst.js +0 -203
  278. package/gst/fesm2015/angulartics2-gst.js +0 -188
  279. package/gst/fesm2015/angulartics2-gst.js.map +0 -1
  280. package/gst/fesm5/angulartics2-gst.js +0 -206
  281. package/gst/fesm5/angulartics2-gst.js.map +0 -1
  282. package/gst/package.json +0 -22
  283. package/gtm/angulartics2-gtm.d.ts +0 -4
  284. package/gtm/angulartics2-gtm.metadata.json +0 -1
  285. package/gtm/bundles/angulartics2-gtm.umd.js +0 -335
  286. package/gtm/bundles/angulartics2-gtm.umd.js.map +0 -1
  287. package/gtm/bundles/angulartics2-gtm.umd.min.js +0 -16
  288. package/gtm/bundles/angulartics2-gtm.umd.min.js.map +0 -1
  289. package/gtm/esm2015/angulartics2-gtm.js +0 -5
  290. package/gtm/esm2015/gtm.js +0 -110
  291. package/gtm/esm5/angulartics2-gtm.js +0 -5
  292. package/gtm/esm5/gtm.js +0 -115
  293. package/gtm/fesm2015/angulartics2-gtm.js +0 -114
  294. package/gtm/fesm2015/angulartics2-gtm.js.map +0 -1
  295. package/gtm/fesm5/angulartics2-gtm.js +0 -118
  296. package/gtm/fesm5/angulartics2-gtm.js.map +0 -1
  297. package/gtm/package.json +0 -22
  298. package/hubspot/angulartics2-hubspot.d.ts +0 -4
  299. package/hubspot/angulartics2-hubspot.metadata.json +0 -1
  300. package/hubspot/bundles/angulartics2-hubspot.umd.js +0 -268
  301. package/hubspot/bundles/angulartics2-hubspot.umd.js.map +0 -1
  302. package/hubspot/bundles/angulartics2-hubspot.umd.min.js +0 -16
  303. package/hubspot/bundles/angulartics2-hubspot.umd.min.js.map +0 -1
  304. package/hubspot/esm2015/angulartics2-hubspot.js +0 -5
  305. package/hubspot/esm2015/hubspot.js +0 -45
  306. package/hubspot/esm5/angulartics2-hubspot.js +0 -5
  307. package/hubspot/esm5/hubspot.js +0 -48
  308. package/hubspot/fesm2015/angulartics2-hubspot.js +0 -49
  309. package/hubspot/fesm2015/angulartics2-hubspot.js.map +0 -1
  310. package/hubspot/fesm5/angulartics2-hubspot.js +0 -52
  311. package/hubspot/fesm5/angulartics2-hubspot.js.map +0 -1
  312. package/hubspot/package.json +0 -22
  313. package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.d.ts +0 -4
  314. package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.metadata.json +0 -1
  315. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js +0 -352
  316. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js.map +0 -1
  317. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js +0 -16
  318. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js.map +0 -1
  319. package/ibm-digital-analytics/esm2015/angulartics2-ibm-digital-analytics.js +0 -5
  320. package/ibm-digital-analytics/esm2015/ibm-digital-analytics.js +0 -129
  321. package/ibm-digital-analytics/esm5/angulartics2-ibm-digital-analytics.js +0 -5
  322. package/ibm-digital-analytics/esm5/ibm-digital-analytics.js +0 -132
  323. package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js +0 -133
  324. package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js.map +0 -1
  325. package/ibm-digital-analytics/fesm5/angulartics2-ibm-digital-analytics.js +0 -136
  326. package/ibm-digital-analytics/fesm5/angulartics2-ibm-digital-analytics.js.map +0 -1
  327. package/ibm-digital-analytics/package.json +0 -22
  328. package/intercom/angulartics2-intercom.d.ts +0 -4
  329. package/intercom/angulartics2-intercom.metadata.json +0 -1
  330. package/intercom/bundles/angulartics2-intercom.umd.js +0 -289
  331. package/intercom/bundles/angulartics2-intercom.umd.js.map +0 -1
  332. package/intercom/bundles/angulartics2-intercom.umd.min.js +0 -16
  333. package/intercom/bundles/angulartics2-intercom.umd.min.js.map +0 -1
  334. package/intercom/esm2015/angulartics2-intercom.js +0 -5
  335. package/intercom/esm2015/intercom.js +0 -66
  336. package/intercom/esm5/angulartics2-intercom.js +0 -5
  337. package/intercom/esm5/intercom.js +0 -69
  338. package/intercom/fesm2015/angulartics2-intercom.js +0 -70
  339. package/intercom/fesm2015/angulartics2-intercom.js.map +0 -1
  340. package/intercom/fesm5/angulartics2-intercom.js +0 -73
  341. package/intercom/fesm5/angulartics2-intercom.js.map +0 -1
  342. package/intercom/package.json +0 -22
  343. package/kissmetrics/angulartics2-kissmetrics.d.ts +0 -4
  344. package/kissmetrics/angulartics2-kissmetrics.metadata.json +0 -1
  345. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js +0 -269
  346. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js.map +0 -1
  347. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js +0 -16
  348. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js.map +0 -1
  349. package/kissmetrics/esm2015/angulartics2-kissmetrics.js +0 -5
  350. package/kissmetrics/esm2015/kissmetrics.js +0 -46
  351. package/kissmetrics/esm5/angulartics2-kissmetrics.js +0 -5
  352. package/kissmetrics/esm5/kissmetrics.js +0 -49
  353. package/kissmetrics/fesm2015/angulartics2-kissmetrics.js +0 -50
  354. package/kissmetrics/fesm2015/angulartics2-kissmetrics.js.map +0 -1
  355. package/kissmetrics/fesm5/angulartics2-kissmetrics.js +0 -53
  356. package/kissmetrics/fesm5/angulartics2-kissmetrics.js.map +0 -1
  357. package/kissmetrics/package.json +0 -25
  358. package/launch/angulartics2-launch.d.ts +0 -4
  359. package/launch/angulartics2-launch.metadata.json +0 -1
  360. package/launch/bundles/angulartics2-launch.umd.js +0 -288
  361. package/launch/bundles/angulartics2-launch.umd.js.map +0 -1
  362. package/launch/bundles/angulartics2-launch.umd.min.js +0 -16
  363. package/launch/bundles/angulartics2-launch.umd.min.js.map +0 -1
  364. package/launch/esm2015/angulartics2-launch.js +0 -5
  365. package/launch/esm2015/launch.js +0 -65
  366. package/launch/esm5/angulartics2-launch.js +0 -5
  367. package/launch/esm5/launch.js +0 -68
  368. package/launch/fesm2015/angulartics2-launch.js +0 -69
  369. package/launch/fesm2015/angulartics2-launch.js.map +0 -1
  370. package/launch/fesm5/angulartics2-launch.js +0 -72
  371. package/launch/fesm5/angulartics2-launch.js.map +0 -1
  372. package/launch/package.json +0 -22
  373. package/mixpanel/angulartics2-mixpanel.d.ts +0 -4
  374. package/mixpanel/angulartics2-mixpanel.metadata.json +0 -1
  375. package/mixpanel/bundles/angulartics2-mixpanel.umd.js +0 -342
  376. package/mixpanel/bundles/angulartics2-mixpanel.umd.js.map +0 -1
  377. package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js +0 -16
  378. package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js.map +0 -1
  379. package/mixpanel/esm2015/angulartics2-mixpanel.js +0 -5
  380. package/mixpanel/esm2015/mixpanel.js +0 -119
  381. package/mixpanel/esm5/angulartics2-mixpanel.js +0 -5
  382. package/mixpanel/esm5/mixpanel.js +0 -122
  383. package/mixpanel/fesm2015/angulartics2-mixpanel.js +0 -123
  384. package/mixpanel/fesm2015/angulartics2-mixpanel.js.map +0 -1
  385. package/mixpanel/fesm5/angulartics2-mixpanel.js +0 -126
  386. package/mixpanel/fesm5/angulartics2-mixpanel.js.map +0 -1
  387. package/mixpanel/package.json +0 -22
  388. package/piwik/angulartics2-piwik.d.ts +0 -4
  389. package/piwik/angulartics2-piwik.metadata.json +0 -1
  390. package/piwik/bundles/angulartics2-piwik.umd.js +0 -478
  391. package/piwik/bundles/angulartics2-piwik.umd.js.map +0 -1
  392. package/piwik/bundles/angulartics2-piwik.umd.min.js +0 -16
  393. package/piwik/bundles/angulartics2-piwik.umd.min.js.map +0 -1
  394. package/piwik/esm2015/angulartics2-piwik.js +0 -5
  395. package/piwik/esm2015/piwik.js +0 -254
  396. package/piwik/esm5/angulartics2-piwik.js +0 -5
  397. package/piwik/esm5/piwik.js +0 -258
  398. package/piwik/fesm2015/angulartics2-piwik.js +0 -258
  399. package/piwik/fesm2015/angulartics2-piwik.js.map +0 -1
  400. package/piwik/fesm5/angulartics2-piwik.js +0 -262
  401. package/piwik/fesm5/angulartics2-piwik.js.map +0 -1
  402. package/piwik/package.json +0 -22
  403. package/piwik/piwik.d.ts +0 -27
  404. package/pyze/angulartics2-pyze.d.ts +0 -4
  405. package/pyze/angulartics2-pyze.metadata.json +0 -1
  406. package/pyze/bundles/angulartics2-pyze.umd.js +0 -292
  407. package/pyze/bundles/angulartics2-pyze.umd.js.map +0 -1
  408. package/pyze/bundles/angulartics2-pyze.umd.min.js +0 -16
  409. package/pyze/bundles/angulartics2-pyze.umd.min.js.map +0 -1
  410. package/pyze/esm2015/angulartics2-pyze.js +0 -5
  411. package/pyze/esm2015/pyze.js +0 -69
  412. package/pyze/esm5/angulartics2-pyze.js +0 -5
  413. package/pyze/esm5/pyze.js +0 -72
  414. package/pyze/fesm2015/angulartics2-pyze.js +0 -73
  415. package/pyze/fesm2015/angulartics2-pyze.js.map +0 -1
  416. package/pyze/fesm5/angulartics2-pyze.js +0 -76
  417. package/pyze/fesm5/angulartics2-pyze.js.map +0 -1
  418. package/pyze/package.json +0 -22
  419. package/routerlessmodule/angulartics2-routerlessmodule.d.ts +0 -4
  420. package/routerlessmodule/angulartics2-routerlessmodule.metadata.json +0 -1
  421. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js +0 -250
  422. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js.map +0 -1
  423. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js +0 -16
  424. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js.map +0 -1
  425. package/routerlessmodule/esm2015/angulartics2-routerlessmodule.js +0 -5
  426. package/routerlessmodule/esm2015/routerless.module.js +0 -23
  427. package/routerlessmodule/esm5/angulartics2-routerlessmodule.js +0 -5
  428. package/routerlessmodule/esm5/routerless.module.js +0 -28
  429. package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js +0 -29
  430. package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js.map +0 -1
  431. package/routerlessmodule/fesm5/angulartics2-routerlessmodule.js +0 -34
  432. package/routerlessmodule/fesm5/angulartics2-routerlessmodule.js.map +0 -1
  433. package/routerlessmodule/package.json +0 -22
  434. package/routerlessmodule/routerless.module.d.ts +0 -5
  435. package/segment/angulartics2-segment.d.ts +0 -4
  436. package/segment/angulartics2-segment.metadata.json +0 -1
  437. package/segment/bundles/angulartics2-segment.umd.js +0 -330
  438. package/segment/bundles/angulartics2-segment.umd.js.map +0 -1
  439. package/segment/bundles/angulartics2-segment.umd.min.js +0 -16
  440. package/segment/bundles/angulartics2-segment.umd.min.js.map +0 -1
  441. package/segment/esm2015/angulartics2-segment.js +0 -5
  442. package/segment/esm2015/segment.js +0 -107
  443. package/segment/esm5/angulartics2-segment.js +0 -5
  444. package/segment/esm5/segment.js +0 -110
  445. package/segment/fesm2015/angulartics2-segment.js +0 -111
  446. package/segment/fesm2015/angulartics2-segment.js.map +0 -1
  447. package/segment/fesm5/angulartics2-segment.js +0 -114
  448. package/segment/fesm5/angulartics2-segment.js.map +0 -1
  449. package/segment/package.json +0 -22
  450. package/splunk/angulartics2-splunk.d.ts +0 -4
  451. package/splunk/angulartics2-splunk.metadata.json +0 -1
  452. package/splunk/bundles/angulartics2-splunk.umd.js +0 -272
  453. package/splunk/bundles/angulartics2-splunk.umd.js.map +0 -1
  454. package/splunk/bundles/angulartics2-splunk.umd.min.js +0 -16
  455. package/splunk/bundles/angulartics2-splunk.umd.min.js.map +0 -1
  456. package/splunk/esm2015/angulartics2-splunk.js +0 -5
  457. package/splunk/esm2015/splunk.js +0 -50
  458. package/splunk/esm5/angulartics2-splunk.js +0 -5
  459. package/splunk/esm5/splunk.js +0 -52
  460. package/splunk/fesm2015/angulartics2-splunk.js +0 -54
  461. package/splunk/fesm2015/angulartics2-splunk.js.map +0 -1
  462. package/splunk/fesm5/angulartics2-splunk.js +0 -56
  463. package/splunk/fesm5/angulartics2-splunk.js.map +0 -1
  464. package/splunk/package.json +0 -22
  465. package/splunk/splunk.d.ts +0 -8
  466. package/uiroutermodule/angulartics2-uiroutermodule.d.ts +0 -4
  467. package/uiroutermodule/angulartics2-uiroutermodule.metadata.json +0 -1
  468. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js +0 -288
  469. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js.map +0 -1
  470. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js +0 -16
  471. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js.map +0 -1
  472. package/uiroutermodule/esm2015/angulartics2-uiroutermodule.js +0 -5
  473. package/uiroutermodule/esm2015/public_api.js +0 -3
  474. package/uiroutermodule/esm2015/uirouter.js +0 -42
  475. package/uiroutermodule/esm2015/uirouter.module.js +0 -24
  476. package/uiroutermodule/esm5/angulartics2-uiroutermodule.js +0 -5
  477. package/uiroutermodule/esm5/public_api.js +0 -3
  478. package/uiroutermodule/esm5/uirouter.js +0 -44
  479. package/uiroutermodule/esm5/uirouter.module.js +0 -29
  480. package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js +0 -66
  481. package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js.map +0 -1
  482. package/uiroutermodule/fesm5/angulartics2-uiroutermodule.js +0 -73
  483. package/uiroutermodule/fesm5/angulartics2-uiroutermodule.js.map +0 -1
  484. package/uiroutermodule/package.json +0 -22
  485. package/uiroutermodule/public_api.d.ts +0 -2
  486. package/uiroutermodule/uirouter.d.ts +0 -17
  487. package/uiroutermodule/uirouter.module.d.ts +0 -5
  488. package/woopra/angulartics2-woopra.d.ts +0 -4
  489. package/woopra/angulartics2-woopra.metadata.json +0 -1
  490. package/woopra/bundles/angulartics2-woopra.umd.js +0 -289
  491. package/woopra/bundles/angulartics2-woopra.umd.js.map +0 -1
  492. package/woopra/bundles/angulartics2-woopra.umd.min.js +0 -16
  493. package/woopra/bundles/angulartics2-woopra.umd.min.js.map +0 -1
  494. package/woopra/esm2015/angulartics2-woopra.js +0 -5
  495. package/woopra/esm2015/woopra.js +0 -66
  496. package/woopra/esm5/angulartics2-woopra.js +0 -5
  497. package/woopra/esm5/woopra.js +0 -69
  498. package/woopra/fesm2015/angulartics2-woopra.js +0 -70
  499. package/woopra/fesm2015/angulartics2-woopra.js.map +0 -1
  500. package/woopra/fesm5/angulartics2-woopra.js +0 -73
  501. package/woopra/fesm5/angulartics2-woopra.js.map +0 -1
  502. package/woopra/package.json +0 -22
@@ -0,0 +1,2248 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, Injectable, Inject, Directive, Input, NgModule } from '@angular/core';
3
+ import { BehaviorSubject, ReplaySubject } from 'rxjs';
4
+ import { filter, map, delay } from 'rxjs/operators';
5
+ import * as i1 from '@angular/router';
6
+ import { NavigationEnd, NavigationStart, NavigationError } from '@angular/router';
7
+ import * as i2 from '@angular/common';
8
+ import * as i2$1 from '@angular/platform-browser';
9
+
10
+ class DefaultConfig {
11
+ constructor() {
12
+ this.pageTracking = {
13
+ autoTrackVirtualPages: true,
14
+ basePath: '',
15
+ excludedRoutes: [],
16
+ clearIds: false,
17
+ clearHash: false,
18
+ clearQueryParams: false,
19
+ idsRegExp: /^\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}$/,
20
+ };
21
+ this.developerMode = false;
22
+ this.ga = {};
23
+ this.appInsights = {};
24
+ this.gtm = {};
25
+ this.gst = {};
26
+ }
27
+ }
28
+
29
+ const ANGULARTICS2_TOKEN = new InjectionToken('ANGULARTICS2');
30
+
31
+ class RouterlessTracking {
32
+ trackLocation(settings) {
33
+ return new BehaviorSubject({ url: '/' });
34
+ }
35
+ prepareExternalUrl(url) {
36
+ return url;
37
+ }
38
+ }
39
+
40
+ class Angulartics2 {
41
+ constructor(tracker, setup) {
42
+ this.tracker = tracker;
43
+ this.pageTrack = new ReplaySubject(10);
44
+ this.eventTrack = new ReplaySubject(10);
45
+ this.exceptionTrack = new ReplaySubject(10);
46
+ this.setAlias = new ReplaySubject(10);
47
+ this.setUsername = new ReplaySubject(10);
48
+ this.setUserProperties = new ReplaySubject(10);
49
+ this.setUserPropertiesOnce = new ReplaySubject(10);
50
+ this.setSuperProperties = new ReplaySubject(10);
51
+ this.setSuperPropertiesOnce = new ReplaySubject(10);
52
+ this.userTimings = new ReplaySubject(10);
53
+ const defaultConfig = new DefaultConfig();
54
+ this.settings = Object.assign(Object.assign({}, defaultConfig), setup.settings);
55
+ this.settings.pageTracking = Object.assign(Object.assign({}, defaultConfig.pageTracking), setup.settings.pageTracking);
56
+ this.tracker
57
+ .trackLocation(this.settings)
58
+ .subscribe((event) => this.trackUrlChange(event.url));
59
+ }
60
+ /** filters all events when developer mode is true */
61
+ filterDeveloperMode() {
62
+ return filter((value, index) => !this.settings.developerMode);
63
+ }
64
+ trackUrlChange(url) {
65
+ if (this.settings.pageTracking.autoTrackVirtualPages && !this.matchesExcludedRoute(url)) {
66
+ const clearedUrl = this.clearUrl(url);
67
+ let path;
68
+ if (this.settings.pageTracking.basePath.length) {
69
+ path = this.settings.pageTracking.basePath + clearedUrl;
70
+ }
71
+ else {
72
+ path = this.tracker.prepareExternalUrl(clearedUrl);
73
+ }
74
+ this.pageTrack.next({ path });
75
+ }
76
+ }
77
+ /**
78
+ * Use string literals or regular expressions to exclude routes
79
+ * from automatic pageview tracking.
80
+ *
81
+ * @param url location
82
+ */
83
+ matchesExcludedRoute(url) {
84
+ for (const excludedRoute of this.settings.pageTracking.excludedRoutes) {
85
+ const matchesRegex = excludedRoute instanceof RegExp && excludedRoute.test(url);
86
+ if (matchesRegex || url.indexOf(excludedRoute) !== -1) {
87
+ return true;
88
+ }
89
+ }
90
+ return false;
91
+ }
92
+ /**
93
+ * Removes id's from tracked route.
94
+ * EX: `/project/12981/feature` becomes `/project/feature`
95
+ *
96
+ * @param url current page path
97
+ */
98
+ clearUrl(url) {
99
+ if (this.settings.pageTracking.clearIds ||
100
+ this.settings.pageTracking.clearQueryParams ||
101
+ this.settings.pageTracking.clearHash) {
102
+ return url
103
+ .split('/')
104
+ .map(part => (this.settings.pageTracking.clearQueryParams ? part.split('?')[0] : part))
105
+ .map(part => (this.settings.pageTracking.clearHash ? part.split('#')[0] : part))
106
+ .filter(part => !this.settings.pageTracking.clearIds ||
107
+ !part.match(this.settings.pageTracking.idsRegExp))
108
+ .join('/');
109
+ }
110
+ return url;
111
+ }
112
+ }
113
+ Angulartics2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, deps: [{ token: RouterlessTracking }, { token: ANGULARTICS2_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
114
+ Angulartics2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, providedIn: 'root' });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2, decorators: [{
116
+ type: Injectable,
117
+ args: [{ providedIn: 'root' }]
118
+ }], ctorParameters: function () {
119
+ return [{ type: RouterlessTracking }, { type: undefined, decorators: [{
120
+ type: Inject,
121
+ args: [ANGULARTICS2_TOKEN]
122
+ }] }];
123
+ } });
124
+
125
+ /**
126
+ * Track Route changes for applications using Angular's
127
+ * default router
128
+ *
129
+ * @link https://angular.io/api/router/Router
130
+ */
131
+ class AngularRouterTracking {
132
+ constructor(router, location) {
133
+ this.router = router;
134
+ this.location = location;
135
+ }
136
+ trackLocation(settings) {
137
+ return this.router.events.pipe(filter(e => e instanceof NavigationEnd), filter(() => !settings.developerMode), map((e) => {
138
+ return { url: e.urlAfterRedirects };
139
+ }), delay(0));
140
+ }
141
+ prepareExternalUrl(url) {
142
+ return this.location.prepareExternalUrl(url);
143
+ }
144
+ }
145
+ AngularRouterTracking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
146
+ AngularRouterTracking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, providedIn: 'root' });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AngularRouterTracking, decorators: [{
148
+ type: Injectable,
149
+ args: [{ providedIn: 'root' }]
150
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }]; } });
151
+
152
+ class Angulartics2On {
153
+ constructor(elRef, angulartics2, renderer) {
154
+ this.elRef = elRef;
155
+ this.angulartics2 = angulartics2;
156
+ this.renderer = renderer;
157
+ this.angularticsProperties = {};
158
+ }
159
+ ngAfterContentInit() {
160
+ this.renderer.listen(this.elRef.nativeElement, this.angulartics2On || 'click', (event) => this.eventTrack(event));
161
+ }
162
+ eventTrack(event) {
163
+ const action = this.angularticsAction; // || this.inferEventName();
164
+ const properties = Object.assign(Object.assign({}, this.angularticsProperties), { eventType: event.type });
165
+ if (this.angularticsCategory) {
166
+ properties.category = this.angularticsCategory;
167
+ }
168
+ if (this.angularticsLabel) {
169
+ properties.label = this.angularticsLabel;
170
+ }
171
+ if (this.angularticsValue) {
172
+ properties.value = this.angularticsValue;
173
+ }
174
+ this.angulartics2.eventTrack.next({
175
+ action,
176
+ properties,
177
+ });
178
+ }
179
+ }
180
+ Angulartics2On.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2On, deps: [{ token: i0.ElementRef }, { token: Angulartics2 }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
181
+ Angulartics2On.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: Angulartics2On, selector: "[angulartics2On]", inputs: { angulartics2On: "angulartics2On", angularticsAction: "angularticsAction", angularticsCategory: "angularticsCategory", angularticsLabel: "angularticsLabel", angularticsValue: "angularticsValue", angularticsProperties: "angularticsProperties" }, ngImport: i0 });
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2On, decorators: [{
183
+ type: Directive,
184
+ args: [{ selector: '[angulartics2On]' }]
185
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Angulartics2 }, { type: i0.Renderer2 }]; }, propDecorators: { angulartics2On: [{
186
+ type: Input,
187
+ args: ['angulartics2On']
188
+ }], angularticsAction: [{
189
+ type: Input
190
+ }], angularticsCategory: [{
191
+ type: Input
192
+ }], angularticsLabel: [{
193
+ type: Input
194
+ }], angularticsValue: [{
195
+ type: Input
196
+ }], angularticsProperties: [{
197
+ type: Input
198
+ }] } });
199
+ class Angulartics2OnModule {
200
+ }
201
+ Angulartics2OnModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
202
+ Angulartics2OnModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, declarations: [Angulartics2On], exports: [Angulartics2On] });
203
+ Angulartics2OnModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule });
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2OnModule, decorators: [{
205
+ type: NgModule,
206
+ args: [{
207
+ declarations: [Angulartics2On],
208
+ exports: [Angulartics2On],
209
+ }]
210
+ }] });
211
+
212
+ class Angulartics2Module {
213
+ static forRoot(settings = {}) {
214
+ return {
215
+ ngModule: Angulartics2Module,
216
+ providers: [
217
+ { provide: ANGULARTICS2_TOKEN, useValue: { settings } },
218
+ { provide: RouterlessTracking, useClass: AngularRouterTracking },
219
+ Angulartics2,
220
+ ],
221
+ };
222
+ }
223
+ }
224
+ Angulartics2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
225
+ Angulartics2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, imports: [Angulartics2OnModule], exports: [Angulartics2On] });
226
+ Angulartics2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, imports: [[Angulartics2OnModule]] });
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Module, decorators: [{
228
+ type: NgModule,
229
+ args: [{
230
+ imports: [Angulartics2OnModule],
231
+ exports: [Angulartics2On],
232
+ }]
233
+ }] });
234
+
235
+ class Angulartics2RouterlessModule {
236
+ static forRoot(settings = {}) {
237
+ return {
238
+ ngModule: Angulartics2RouterlessModule,
239
+ providers: [
240
+ { provide: ANGULARTICS2_TOKEN, useValue: { settings } },
241
+ RouterlessTracking,
242
+ Angulartics2,
243
+ ],
244
+ };
245
+ }
246
+ }
247
+ Angulartics2RouterlessModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2RouterlessModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
248
+ Angulartics2RouterlessModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2RouterlessModule, imports: [Angulartics2OnModule] });
249
+ Angulartics2RouterlessModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2RouterlessModule, imports: [[Angulartics2OnModule]] });
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2RouterlessModule, decorators: [{
251
+ type: NgModule,
252
+ args: [{
253
+ imports: [Angulartics2OnModule],
254
+ }]
255
+ }] });
256
+
257
+ class Angulartics2AdobeAnalytics {
258
+ constructor(angulartics2, location) {
259
+ this.angulartics2 = angulartics2;
260
+ this.location = location;
261
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
262
+ }
263
+ startTracking() {
264
+ this.angulartics2.pageTrack
265
+ .pipe(this.angulartics2.filterDeveloperMode())
266
+ .subscribe(x => this.pageTrack(x.path));
267
+ this.angulartics2.eventTrack
268
+ .pipe(this.angulartics2.filterDeveloperMode())
269
+ .subscribe(x => this.eventTrack(x.action, x.properties));
270
+ }
271
+ pageTrack(path) {
272
+ if (typeof s !== 'undefined' && s) {
273
+ s.clearVars();
274
+ s.t({ pageName: path });
275
+ }
276
+ }
277
+ /**
278
+ * Track Event in Adobe Analytics
279
+ *
280
+ * @param action associated with the event
281
+ * @param properties action detials
282
+ *
283
+ * @link https://marketing.adobe.com/resources/help/en_US/sc/implement/js_implementation.html
284
+ */
285
+ eventTrack(action, properties) {
286
+ // TODO: make interface
287
+ // @property {string} properties.category
288
+ // @property {string} properties.label
289
+ // @property {number} properties.value
290
+ // @property {boolean} properties.noninteraction
291
+ if (!properties) {
292
+ properties = properties || {};
293
+ }
294
+ if (typeof s !== 'undefined' && s) {
295
+ if (typeof properties === 'object') {
296
+ this.setUserProperties(properties);
297
+ }
298
+ if (action) {
299
+ // if linkName property is passed, use that; otherwise, the action is the linkName
300
+ const linkName = properties['linkName'] ? properties['linkName'] : action;
301
+ // note that 'this' should refer the link element, but we can't get that in this function. example:
302
+ // <a href="http://anothersite.com" onclick="s.tl(this,'e','AnotherSite',null)">
303
+ // if disableDelay property is passed, use that to turn off/on the 500ms delay; otherwise, it uses this
304
+ const disableDelay = !!properties['disableDelay'] ? true : this;
305
+ // if action property is passed, use that; otherwise, the action remains unchanged
306
+ if (properties['action']) {
307
+ action = properties['action'];
308
+ }
309
+ this.setPageName();
310
+ if (action.toUpperCase() === 'DOWNLOAD') {
311
+ s.tl(disableDelay, 'd', linkName);
312
+ }
313
+ else if (action.toUpperCase() === 'EXIT') {
314
+ s.tl(disableDelay, 'e', linkName);
315
+ }
316
+ else {
317
+ s.tl(disableDelay, 'o', linkName);
318
+ }
319
+ }
320
+ }
321
+ }
322
+ setPageName() {
323
+ const path = this.location.path(true);
324
+ const hashNdx = path.indexOf('#');
325
+ if (hashNdx > 0 && hashNdx < path.length) {
326
+ s.pageName = path.substring(hashNdx + 1);
327
+ }
328
+ else {
329
+ s.pageName = path;
330
+ }
331
+ }
332
+ setUserProperties(properties) {
333
+ if (typeof s !== 'undefined' && s) {
334
+ if (typeof properties === 'object') {
335
+ for (const key in properties) {
336
+ if (properties.hasOwnProperty(key)) {
337
+ s[key] = properties[key];
338
+ }
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }
344
+ Angulartics2AdobeAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, deps: [{ token: Angulartics2 }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable });
345
+ Angulartics2AdobeAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, providedIn: 'root' });
346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AdobeAnalytics, decorators: [{
347
+ type: Injectable,
348
+ args: [{ providedIn: 'root' }]
349
+ }], ctorParameters: function () { return [{ type: Angulartics2 }, { type: i2.Location }]; } });
350
+
351
+ class AppInsightsDefaults {
352
+ constructor() {
353
+ this.userId = null;
354
+ }
355
+ }
356
+ class Angulartics2AppInsights {
357
+ constructor(angulartics2, title, router) {
358
+ this.angulartics2 = angulartics2;
359
+ this.title = title;
360
+ this.router = router;
361
+ this.loadStartTime = null;
362
+ this.loadTime = null;
363
+ this.metrics = null;
364
+ this.dimensions = null;
365
+ this.measurements = null;
366
+ if (typeof appInsights === 'undefined') {
367
+ console.warn('appInsights not found');
368
+ }
369
+ const defaults = new AppInsightsDefaults();
370
+ // Set the default settings for this module
371
+ this.angulartics2.settings.appInsights = Object.assign(Object.assign({}, defaults), this.angulartics2.settings.appInsights);
372
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
373
+ this.angulartics2.setUserProperties.subscribe((x) => this.setUserProperties(x));
374
+ }
375
+ startTracking() {
376
+ this.angulartics2.pageTrack
377
+ .pipe(this.angulartics2.filterDeveloperMode())
378
+ .subscribe((x) => this.pageTrack(x.path));
379
+ this.angulartics2.eventTrack
380
+ .pipe(this.angulartics2.filterDeveloperMode())
381
+ .subscribe((x) => this.eventTrack(x.action, x.properties));
382
+ this.angulartics2.exceptionTrack
383
+ .pipe(this.angulartics2.filterDeveloperMode())
384
+ .subscribe((x) => this.exceptionTrack(x));
385
+ this.router.events
386
+ .pipe(this.angulartics2.filterDeveloperMode(), filter((event) => event instanceof NavigationStart))
387
+ .subscribe((event) => this.startTimer());
388
+ this.router.events
389
+ .pipe(filter((event) => event instanceof NavigationError || event instanceof NavigationEnd))
390
+ .subscribe((error) => this.stopTimer());
391
+ }
392
+ startTimer() {
393
+ this.loadStartTime = Date.now();
394
+ this.loadTime = null;
395
+ }
396
+ stopTimer() {
397
+ this.loadTime = Date.now() - this.loadStartTime;
398
+ this.loadStartTime = null;
399
+ }
400
+ /**
401
+ * Page Track in Baidu Analytics
402
+ *
403
+ * @param path - Location 'path'
404
+ *
405
+ * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackpageview
406
+ */
407
+ pageTrack(path) {
408
+ appInsights.trackPageView(this.title.getTitle(), path, this.dimensions, this.metrics, this.loadTime);
409
+ }
410
+ /**
411
+ * Log a user action or other occurrence.
412
+ *
413
+ * @param name Name to identify this event in the portal.
414
+ * @param properties Additional data used to filter events and metrics in the portal. Defaults to empty.
415
+ *
416
+ * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackevent
417
+ */
418
+ eventTrack(name, properties) {
419
+ appInsights.trackEvent(name, properties, this.measurements);
420
+ }
421
+ /**
422
+ * Exception Track Event in GA
423
+ *
424
+ * @param properties - Comprised of the mandatory fields 'appId' (string), 'appName' (string) and 'appVersion' (string) and
425
+ * optional fields 'fatal' (boolean) and 'description' (string), error
426
+ *
427
+ * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#trackexception
428
+ */
429
+ exceptionTrack(properties) {
430
+ const description = properties.event || properties.description || properties;
431
+ appInsights.trackException(description);
432
+ }
433
+ /**
434
+ * @link https://github.com/Microsoft/ApplicationInsights-JS/blob/master/API-reference.md#setauthenticatedusercontext
435
+ */
436
+ setUsername(userId) {
437
+ this.angulartics2.settings.appInsights.userId = userId;
438
+ appInsights.setAuthenticatedUserContext(userId);
439
+ }
440
+ setUserProperties(properties) {
441
+ if (properties.userId) {
442
+ this.angulartics2.settings.appInsights.userId = properties.userId;
443
+ }
444
+ if (properties.accountId) {
445
+ appInsights.setAuthenticatedUserContext(this.angulartics2.settings.appInsights.userId, properties.accountId);
446
+ }
447
+ else {
448
+ appInsights.setAuthenticatedUserContext(this.angulartics2.settings.appInsights.userId);
449
+ }
450
+ }
451
+ }
452
+ Angulartics2AppInsights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AppInsights, deps: [{ token: Angulartics2 }, { token: i2$1.Title }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
453
+ Angulartics2AppInsights.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AppInsights, providedIn: 'root' });
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2AppInsights, decorators: [{
455
+ type: Injectable,
456
+ args: [{ providedIn: 'root' }]
457
+ }], ctorParameters: function () { return [{ type: Angulartics2 }, { type: i2$1.Title }, { type: i1.Router }]; } });
458
+
459
+ class Angulartics2BaiduAnalytics {
460
+ constructor(angulartics2) {
461
+ this.angulartics2 = angulartics2;
462
+ if (typeof _hmt === 'undefined') {
463
+ _hmt = [];
464
+ }
465
+ else {
466
+ _hmt.push(['_setAutoPageview', false]);
467
+ }
468
+ this.angulartics2.setUsername
469
+ .subscribe((x) => this.setUsername(x));
470
+ this.angulartics2.setUserProperties
471
+ .subscribe((x) => this.setUserProperties(x));
472
+ }
473
+ startTracking() {
474
+ this.angulartics2.pageTrack
475
+ .pipe(this.angulartics2.filterDeveloperMode())
476
+ .subscribe((x) => this.pageTrack(x.path));
477
+ this.angulartics2.eventTrack
478
+ .pipe(this.angulartics2.filterDeveloperMode())
479
+ .subscribe((x) => this.eventTrack(x.action, x.properties));
480
+ }
481
+ /**
482
+ * Page Track in Baidu Analytics
483
+ *
484
+ * @param path Required url 'path'
485
+ *
486
+ * @link http://tongji.baidu.com/open/api/more?p=ref_trackPageview
487
+ */
488
+ pageTrack(path) {
489
+ if (typeof _hmt !== 'undefined' && _hmt) {
490
+ _hmt.push(['_trackPageview', path]);
491
+ }
492
+ }
493
+ /**
494
+ * Track Event in Baidu Analytics
495
+ *
496
+ * @param action Name associated with the event
497
+ * @param properties Comprised of:
498
+ * - 'category' (string)
499
+ * - 'opt_label' (string)
500
+ * - 'opt_value' (string)
501
+ *
502
+ * @link http://tongji.baidu.com/open/api/more?p=ref_trackEvent
503
+ */
504
+ eventTrack(action, properties) {
505
+ // baidu analytics requires category
506
+ if (!properties || !properties.category) {
507
+ properties = properties || {};
508
+ properties.category = 'Event';
509
+ properties.opt_label = 'default';
510
+ properties.opt_value = 'default';
511
+ }
512
+ if (typeof _hmt !== 'undefined' && _hmt) {
513
+ _hmt.push([
514
+ '_trackEvent',
515
+ properties.category,
516
+ action,
517
+ properties.opt_label,
518
+ properties.opt_value,
519
+ ]);
520
+ }
521
+ }
522
+ setUsername(userId) {
523
+ // set default custom variables name to 'identity' and 'value'
524
+ _hmt.push(['_setCustomVar', 1, 'identity', userId]);
525
+ }
526
+ setUserProperties(properties) {
527
+ _hmt.push(['_setCustomVar', 2, 'user', JSON.stringify(properties)]);
528
+ }
529
+ }
530
+ Angulartics2BaiduAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2BaiduAnalytics, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
531
+ Angulartics2BaiduAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2BaiduAnalytics, providedIn: 'root' });
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2BaiduAnalytics, decorators: [{
533
+ type: Injectable,
534
+ args: [{ providedIn: 'root' }]
535
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
536
+
537
+ const facebookEventList = [
538
+ 'ViewContent',
539
+ 'Search',
540
+ 'AddToCart',
541
+ 'AddToWishlist',
542
+ 'InitiateCheckout',
543
+ 'AddPaymentInfo',
544
+ 'Purchase',
545
+ 'Lead',
546
+ 'CompleteRegistration',
547
+ ];
548
+ class Angulartics2Facebook {
549
+ constructor(angulartics2) {
550
+ this.angulartics2 = angulartics2;
551
+ }
552
+ startTracking() {
553
+ this.angulartics2.eventTrack
554
+ .pipe(this.angulartics2.filterDeveloperMode())
555
+ .subscribe(x => this.eventTrack(x.action, x.properties));
556
+ }
557
+ /**
558
+ * Send interactions to the Pixel, i.e. for event tracking in Pixel
559
+ *
560
+ * @param action action associated with the event
561
+ */
562
+ eventTrack(action, properties = {}) {
563
+ if (typeof fbq === 'undefined') {
564
+ return;
565
+ }
566
+ if (facebookEventList.indexOf(action) === -1) {
567
+ return fbq('trackCustom', action, properties);
568
+ }
569
+ return fbq('track', action, properties);
570
+ }
571
+ }
572
+ Angulartics2Facebook.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Facebook, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
573
+ Angulartics2Facebook.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Facebook, providedIn: 'root' });
574
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Facebook, decorators: [{
575
+ type: Injectable,
576
+ args: [{ providedIn: 'root' }]
577
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
578
+
579
+ class GoogleAnalyticsDefaults {
580
+ constructor() {
581
+ this.additionalAccountNames = [];
582
+ this.userId = null;
583
+ this.transport = '';
584
+ this.anonymizeIp = false;
585
+ }
586
+ }
587
+ class Angulartics2GoogleAnalytics {
588
+ constructor(angulartics2) {
589
+ this.angulartics2 = angulartics2;
590
+ this.dimensionsAndMetrics = [];
591
+ const defaults = new GoogleAnalyticsDefaults();
592
+ // Set the default settings for this module
593
+ this.angulartics2.settings.ga = Object.assign(Object.assign({}, defaults), this.angulartics2.settings.ga);
594
+ this.settings = this.angulartics2.settings.ga;
595
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
596
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
597
+ }
598
+ startTracking() {
599
+ this.angulartics2.pageTrack
600
+ .pipe(this.angulartics2.filterDeveloperMode())
601
+ .subscribe(x => this.pageTrack(x.path));
602
+ this.angulartics2.eventTrack
603
+ .pipe(this.angulartics2.filterDeveloperMode())
604
+ .subscribe(x => this.eventTrack(x.action, x.properties));
605
+ this.angulartics2.exceptionTrack
606
+ .pipe(this.angulartics2.filterDeveloperMode())
607
+ .subscribe(x => this.exceptionTrack(x));
608
+ this.angulartics2.userTimings
609
+ .pipe(this.angulartics2.filterDeveloperMode())
610
+ .subscribe(x => this.userTimings(x));
611
+ }
612
+ pageTrack(path) {
613
+ if (typeof _gaq !== 'undefined' && _gaq) {
614
+ _gaq.push(['_trackPageview', path]);
615
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
616
+ _gaq.push([accountName + '._trackPageview', path]);
617
+ }
618
+ }
619
+ if (typeof ga !== 'undefined' && ga) {
620
+ if (this.angulartics2.settings.ga.userId) {
621
+ ga('set', '&uid', this.angulartics2.settings.ga.userId);
622
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
623
+ ga(accountName + '.set', '&uid', this.angulartics2.settings.ga.userId);
624
+ }
625
+ }
626
+ if (this.angulartics2.settings.ga.anonymizeIp) {
627
+ ga('set', 'anonymizeIp', true);
628
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
629
+ ga(accountName + '.set', 'anonymizeIp', true);
630
+ }
631
+ }
632
+ ga('send', 'pageview', path);
633
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
634
+ ga(accountName + '.send', 'pageview', path);
635
+ }
636
+ }
637
+ }
638
+ /**
639
+ * Track Event in GA
640
+ *
641
+ * @param action Associated with the event
642
+ * @param properties Comprised of:
643
+ * - category (string) and optional
644
+ * - label (string)
645
+ * - value (integer)
646
+ * - noninteraction (boolean)
647
+ *
648
+ * @link https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#SettingUpEventTracking
649
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events
650
+ */
651
+ eventTrack(action, properties) {
652
+ // Google Analytics requires an Event Category
653
+ if (!properties || !properties.category) {
654
+ properties = properties || {};
655
+ properties.category = 'Event';
656
+ }
657
+ // GA requires that eventValue be an integer, see:
658
+ // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue
659
+ // https://github.com/luisfarzati/angulartics/issues/81
660
+ if (properties.value) {
661
+ const parsed = parseInt(properties.value, 10);
662
+ properties.value = isNaN(parsed) ? 0 : parsed;
663
+ }
664
+ if (typeof ga !== 'undefined') {
665
+ const eventOptions = Object.assign({ eventCategory: properties.category, eventAction: action, eventLabel: properties.label, eventValue: properties.value, nonInteraction: properties.noninteraction, page: properties.page || location.hash.substring(1) || location.pathname, userId: this.angulartics2.settings.ga.userId, hitCallback: properties.hitCallback }, (this.angulartics2.settings.ga.transport && {
666
+ transport: this.angulartics2.settings.ga.transport,
667
+ }));
668
+ // add custom dimensions and metrics
669
+ this.setDimensionsAndMetrics(properties);
670
+ ga('send', 'event', eventOptions);
671
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
672
+ ga(accountName + '.send', 'event', eventOptions);
673
+ }
674
+ }
675
+ else if (typeof _gaq !== 'undefined') {
676
+ _gaq.push([
677
+ '_trackEvent',
678
+ properties.category,
679
+ action,
680
+ properties.label,
681
+ properties.value,
682
+ properties.noninteraction,
683
+ ]);
684
+ }
685
+ }
686
+ /**
687
+ * Exception Track Event in GA
688
+ *
689
+ * @param properties Comprised of the optional fields:
690
+ * - fatal (string)
691
+ * - description (string)
692
+ *
693
+ * @https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions
694
+ *
695
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events
696
+ */
697
+ exceptionTrack(properties) {
698
+ if (properties.fatal === undefined) {
699
+ console.log('No "fatal" provided, sending with fatal=true');
700
+ properties.fatal = true;
701
+ }
702
+ properties.exDescription = properties.description;
703
+ const eventOptions = {
704
+ exFatal: properties.fatal,
705
+ exDescription: properties.description,
706
+ };
707
+ ga('send', 'exception', eventOptions);
708
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
709
+ ga(accountName + '.send', 'exception', eventOptions);
710
+ }
711
+ }
712
+ /**
713
+ * User Timings Event in GA
714
+ *
715
+ * @param properties Comprised of the mandatory fields:
716
+ * - timingCategory (string)
717
+ * - timingVar (string)
718
+ * - timingValue (number)
719
+ * Properties can also have the optional fields:
720
+ * - timingLabel (string)
721
+ *
722
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings
723
+ */
724
+ userTimings(properties) {
725
+ if (!properties ||
726
+ !properties.timingCategory ||
727
+ !properties.timingVar ||
728
+ !properties.timingValue) {
729
+ console.error('Properties timingCategory, timingVar, and timingValue are required to be set.');
730
+ return;
731
+ }
732
+ if (typeof ga !== 'undefined') {
733
+ ga('send', 'timing', properties);
734
+ for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
735
+ ga(accountName + '.send', 'timing', properties);
736
+ }
737
+ }
738
+ }
739
+ setUsername(userId) {
740
+ this.angulartics2.settings.ga.userId = userId;
741
+ if (typeof ga === 'undefined') {
742
+ return;
743
+ }
744
+ ga('set', 'userId', userId);
745
+ }
746
+ setUserProperties(properties) {
747
+ this.setDimensionsAndMetrics(properties);
748
+ }
749
+ setDimensionsAndMetrics(properties) {
750
+ if (typeof ga === 'undefined') {
751
+ return;
752
+ }
753
+ // clean previously used dimensions and metrics that will not be overriden
754
+ this.dimensionsAndMetrics.forEach(elem => {
755
+ if (!properties.hasOwnProperty(elem)) {
756
+ ga('set', elem, undefined);
757
+ this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName) => {
758
+ ga(`${accountName}.set`, elem, undefined);
759
+ });
760
+ }
761
+ });
762
+ this.dimensionsAndMetrics = [];
763
+ // add custom dimensions and metrics
764
+ Object.keys(properties).forEach(key => {
765
+ if (key.lastIndexOf('dimension', 0) === 0 || key.lastIndexOf('metric', 0) === 0) {
766
+ ga('set', key, properties[key]);
767
+ this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName) => {
768
+ ga(`${accountName}.set`, key, properties[key]);
769
+ });
770
+ this.dimensionsAndMetrics.push(key);
771
+ }
772
+ });
773
+ }
774
+ }
775
+ Angulartics2GoogleAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalytics, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
776
+ Angulartics2GoogleAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalytics, providedIn: 'root' });
777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalytics, decorators: [{
778
+ type: Injectable,
779
+ args: [{ providedIn: 'root' }]
780
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
781
+
782
+ class Angulartics2GoogleAnalyticsEnhancedEcommerce {
783
+ /**
784
+ * Add impression in GA enhanced ecommerce tracking
785
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#measuring-activities
786
+ */
787
+ ecAddImpression(properties) {
788
+ ga('ec:addImpression', properties);
789
+ }
790
+ /**
791
+ * Add product in GA enhanced ecommerce tracking
792
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce
793
+ */
794
+ ecAddProduct(product) {
795
+ ga('ec:addProduct', product);
796
+ }
797
+ /**
798
+ * Set action in GA enhanced ecommerce tracking
799
+ * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce
800
+ */
801
+ ecSetAction(action, properties) {
802
+ ga('ec:setAction', action, properties);
803
+ }
804
+ }
805
+ Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
806
+ Angulartics2GoogleAnalyticsEnhancedEcommerce.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, providedIn: 'root' });
807
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleAnalyticsEnhancedEcommerce, decorators: [{
808
+ type: Injectable,
809
+ args: [{ providedIn: 'root' }]
810
+ }] });
811
+
812
+ class GoogleTagManagerDefaults {
813
+ constructor() {
814
+ this.userId = null;
815
+ }
816
+ }
817
+ class Angulartics2GoogleTagManager {
818
+ constructor(angulartics2) {
819
+ this.angulartics2 = angulartics2;
820
+ // The dataLayer needs to be initialized
821
+ if (typeof dataLayer !== 'undefined' && dataLayer) {
822
+ dataLayer = window.dataLayer = window.dataLayer || [];
823
+ }
824
+ const defaults = new GoogleTagManagerDefaults();
825
+ // Set the default settings for this module
826
+ this.angulartics2.settings.gtm = Object.assign(Object.assign({}, defaults), this.angulartics2.settings.gtm);
827
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
828
+ }
829
+ startTracking() {
830
+ this.angulartics2.pageTrack
831
+ .pipe(this.angulartics2.filterDeveloperMode())
832
+ .subscribe(x => this.pageTrack(x.path));
833
+ this.angulartics2.eventTrack
834
+ .pipe(this.angulartics2.filterDeveloperMode())
835
+ .subscribe(x => this.eventTrack(x.action, x.properties));
836
+ this.angulartics2.exceptionTrack
837
+ .pipe(this.angulartics2.filterDeveloperMode())
838
+ .subscribe((x) => this.exceptionTrack(x));
839
+ }
840
+ pageTrack(path) {
841
+ this.pushLayer({
842
+ event: 'Page View',
843
+ 'content-name': path,
844
+ userId: this.angulartics2.settings.gtm.userId,
845
+ });
846
+ }
847
+ /**
848
+ * Send Data Layer
849
+ *
850
+ * @layer data layer object
851
+ */
852
+ pushLayer(layer) {
853
+ if (typeof dataLayer !== 'undefined' && dataLayer) {
854
+ dataLayer.push(layer);
855
+ }
856
+ }
857
+ /**
858
+ * Send interactions to the dataLayer, i.e. for event tracking in Google Analytics
859
+ *
860
+ * @param action associated with the event
861
+ */
862
+ eventTrack(action, properties) {
863
+ // TODO: make interface
864
+ // @param {string} properties.category
865
+ // @param {string} [properties.label]
866
+ // @param {number} [properties.value]
867
+ // @param {boolean} [properties.noninteraction]
868
+ // Set a default GTM category
869
+ properties = properties || {};
870
+ this.pushLayer(Object.assign({ event: properties.event || 'interaction', target: properties.category || 'Event', action, label: properties.label, value: properties.value, interactionType: properties.noninteraction, userId: this.angulartics2.settings.gtm.userId }, properties.gtmCustom));
871
+ }
872
+ /**
873
+ * Exception Track Event in GTM
874
+ *
875
+ */
876
+ exceptionTrack(properties) {
877
+ // TODO: make interface
878
+ // @param {Object} properties
879
+ // @param {string} properties.appId
880
+ // @param {string} properties.appName
881
+ // @param {string} properties.appVersion
882
+ // @param {string} [properties.description]
883
+ // @param {boolean} [properties.fatal]
884
+ if (!properties || !properties.appId || !properties.appName || !properties.appVersion) {
885
+ console.error('Must be setted appId, appName and appVersion.');
886
+ return;
887
+ }
888
+ if (properties.fatal === undefined) {
889
+ console.log('No "fatal" provided, sending with fatal=true');
890
+ properties.exFatal = true;
891
+ }
892
+ properties.exDescription = properties.event ? properties.event.stack : properties.description;
893
+ this.eventTrack(`Exception thrown for ${properties.appName} <${properties.appId}@${properties.appVersion}>`, {
894
+ category: 'Exception',
895
+ label: properties.exDescription,
896
+ });
897
+ }
898
+ /**
899
+ * Set userId for use with Universal Analytics User ID feature
900
+ *
901
+ * @param userId used to identify user cross-device in Google Analytics
902
+ */
903
+ setUsername(userId) {
904
+ this.angulartics2.settings.gtm.userId = userId;
905
+ }
906
+ }
907
+ Angulartics2GoogleTagManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleTagManager, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
908
+ Angulartics2GoogleTagManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleTagManager, providedIn: 'root' });
909
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleTagManager, decorators: [{
910
+ type: Injectable,
911
+ args: [{ providedIn: 'root' }]
912
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
913
+
914
+ class GoogleGlobalSiteTagDefaults {
915
+ constructor() {
916
+ this.trackingIds = [];
917
+ if (typeof ga !== 'undefined' && ga) {
918
+ // See: https://developers.google.com/analytics/devguides/collection/analyticsjs/ga-object-methods-reference
919
+ ga(() => {
920
+ ga.getAll().forEach((tracker) => {
921
+ const id = tracker.get('trackingId');
922
+ // If set both in forRoot and HTML page, we want to avoid duplicates
923
+ if (id !== undefined && this.trackingIds.indexOf(id) === -1) {
924
+ this.trackingIds.push(id);
925
+ }
926
+ });
927
+ });
928
+ }
929
+ }
930
+ }
931
+ class Angulartics2GoogleGlobalSiteTag {
932
+ constructor(angulartics2) {
933
+ this.angulartics2 = angulartics2;
934
+ this.dimensionsAndMetrics = {};
935
+ const defaults = new GoogleGlobalSiteTagDefaults();
936
+ // Set the default settings for this module
937
+ this.angulartics2.settings.gst = Object.assign(Object.assign({}, defaults), this.angulartics2.settings.gst);
938
+ }
939
+ startTracking() {
940
+ this.angulartics2.pageTrack
941
+ .pipe(this.angulartics2.filterDeveloperMode())
942
+ .subscribe(x => this.pageTrack(x.path));
943
+ this.angulartics2.eventTrack
944
+ .pipe(this.angulartics2.filterDeveloperMode())
945
+ .subscribe(x => this.eventTrack(x.action, x.properties));
946
+ this.angulartics2.exceptionTrack
947
+ .pipe(this.angulartics2.filterDeveloperMode())
948
+ .subscribe((x) => this.exceptionTrack(x));
949
+ this.angulartics2.userTimings
950
+ .pipe(this.angulartics2.filterDeveloperMode())
951
+ .subscribe(x => this.userTimings(this.convertTimings(x)));
952
+ this.angulartics2.setUsername
953
+ .pipe(this.angulartics2.filterDeveloperMode())
954
+ .subscribe((x) => this.setUsername(x));
955
+ this.angulartics2.setUserProperties
956
+ .pipe(this.angulartics2.filterDeveloperMode())
957
+ .subscribe((x) => this.setUserProperties(x));
958
+ }
959
+ /**
960
+ * Manually track page view, see:
961
+ *
962
+ * https://developers.google.com/analytics/devguides/collection/gtagjs/single-page-applications#tracking_virtual_pageviews
963
+ *
964
+ * @param path relative url
965
+ */
966
+ pageTrack(path) {
967
+ if (typeof gtag !== 'undefined' && gtag) {
968
+ const params = Object.assign({ page_path: path, page_location: window.location.protocol + '//' + window.location.host + path }, this.dimensionsAndMetrics);
969
+ // Custom map must be reset with all config to stay valid.
970
+ if (this.angulartics2.settings.gst.customMap) {
971
+ params.custom_map = this.angulartics2.settings.gst.customMap;
972
+ }
973
+ if (this.angulartics2.settings.gst.userId) {
974
+ params.user_id = this.angulartics2.settings.gst.userId;
975
+ }
976
+ if (this.angulartics2.settings.gst.anonymizeIp) {
977
+ params.anonymize_ip = this.angulartics2.settings.gst.anonymizeIp;
978
+ }
979
+ for (const id of this.angulartics2.settings.gst.trackingIds) {
980
+ gtag('config', id, params);
981
+ }
982
+ }
983
+ }
984
+ /**
985
+ * Send interactions to gtag, i.e. for event tracking in Google Analytics. See:
986
+ *
987
+ * https://developers.google.com/analytics/devguides/collection/gtagjs/events
988
+ *
989
+ * @param action associated with the event
990
+ */
991
+ eventTrack(action, properties = {}) {
992
+ this.eventTrackInternal(action, Object.assign({ event_category: properties.category || 'interaction', event_label: properties.label, value: properties.value, non_interaction: properties.noninteraction }, properties.gstCustom));
993
+ }
994
+ /**
995
+ * Exception Track Event in GST. See:
996
+ *
997
+ * https://developers.google.com/analytics/devguides/collection/gtagjs/exceptions
998
+ *
999
+ */
1000
+ exceptionTrack(properties) {
1001
+ // TODO: make interface
1002
+ // @param {Object} properties
1003
+ // @param {string} [properties.description]
1004
+ // @param {boolean} [properties.fatal]
1005
+ if (properties.fatal === undefined) {
1006
+ console.log('No "fatal" provided, sending with fatal=true');
1007
+ properties.fatal = true;
1008
+ }
1009
+ properties.exDescription = properties.event ? properties.event.stack : properties.description;
1010
+ this.eventTrack('exception', {
1011
+ gstCustom: Object.assign({ description: properties.exDescription, fatal: properties.fatal }, properties.gstCustom),
1012
+ });
1013
+ }
1014
+ /**
1015
+ * User Timings Event in GST.
1016
+ *
1017
+ * @param properties Comprised of the mandatory fields:
1018
+ * - name (string)
1019
+ * - value (number - integer)
1020
+ * Properties can also have the optional fields:
1021
+ * - category (string)
1022
+ * - label (string)
1023
+ *
1024
+ * @link https://developers.google.com/analytics/devguides/collection/gtagjs/user-timings
1025
+ */
1026
+ userTimings(properties) {
1027
+ if (!properties) {
1028
+ console.error('User timings - "properties" parameter is required to be set.');
1029
+ return;
1030
+ }
1031
+ this.eventTrackInternal('timing_complete', {
1032
+ name: properties.name,
1033
+ value: properties.value,
1034
+ event_category: properties.category,
1035
+ event_label: properties.label,
1036
+ });
1037
+ }
1038
+ convertTimings(properties) {
1039
+ return {
1040
+ name: properties.timingVar,
1041
+ value: properties.timingValue,
1042
+ category: properties.timingCategory,
1043
+ label: properties.timingLabel,
1044
+ };
1045
+ }
1046
+ setUsername(userId) {
1047
+ this.angulartics2.settings.gst.userId = userId;
1048
+ if (typeof gtag !== 'undefined' && gtag) {
1049
+ gtag('set', { user_id: typeof userId === 'string' || !userId ? userId : userId.userId });
1050
+ }
1051
+ }
1052
+ setUserProperties(properties) {
1053
+ this.setDimensionsAndMetrics(properties);
1054
+ }
1055
+ setDimensionsAndMetrics(properties) {
1056
+ // We want the dimensions and metrics to accumulate, so we merge with previous value
1057
+ this.dimensionsAndMetrics = Object.assign(Object.assign({}, this.dimensionsAndMetrics), properties);
1058
+ // Remove properties that are null or undefined
1059
+ Object.keys(this.dimensionsAndMetrics).forEach(key => {
1060
+ const val = this.dimensionsAndMetrics[key];
1061
+ if (val === undefined || val === null) {
1062
+ delete this.dimensionsAndMetrics[key];
1063
+ }
1064
+ });
1065
+ if (typeof gtag !== 'undefined' && gtag) {
1066
+ gtag('set', this.dimensionsAndMetrics);
1067
+ }
1068
+ }
1069
+ eventTrackInternal(action, properties = {}) {
1070
+ this.cleanProperties(properties);
1071
+ if (typeof gtag !== 'undefined' && gtag) {
1072
+ gtag('event', action, properties);
1073
+ }
1074
+ }
1075
+ cleanProperties(properties) {
1076
+ // GA requires that eventValue be an non-negative integer, see:
1077
+ // https://developers.google.com/analytics/devguides/collection/gtagjs/events
1078
+ if (properties.value) {
1079
+ const parsed = parseInt(properties.value, 10);
1080
+ properties.value = isNaN(parsed) ? 0 : parsed;
1081
+ }
1082
+ }
1083
+ }
1084
+ Angulartics2GoogleGlobalSiteTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1085
+ Angulartics2GoogleGlobalSiteTag.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, providedIn: 'root' });
1086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoogleGlobalSiteTag, decorators: [{
1087
+ type: Injectable,
1088
+ args: [{ providedIn: 'root' }]
1089
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1090
+
1091
+ class Angulartics2Hubspot {
1092
+ constructor(angulartics2) {
1093
+ this.angulartics2 = angulartics2;
1094
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1095
+ }
1096
+ startTracking() {
1097
+ this.angulartics2.pageTrack
1098
+ .pipe(this.angulartics2.filterDeveloperMode())
1099
+ .subscribe(x => this.pageTrack(x.path));
1100
+ this.angulartics2.eventTrack
1101
+ .pipe(this.angulartics2.filterDeveloperMode())
1102
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1103
+ }
1104
+ pageTrack(path) {
1105
+ if (typeof _hsq !== 'undefined') {
1106
+ _hsq.push(['setPath', path]);
1107
+ _hsq.push(['trackPageView']);
1108
+ }
1109
+ }
1110
+ eventTrack(action, properties) {
1111
+ if (typeof _hsq !== 'undefined') {
1112
+ _hsq.push(['trackEvent', properties]);
1113
+ }
1114
+ }
1115
+ setUserProperties(properties) {
1116
+ if (typeof _hsq !== 'undefined') {
1117
+ _hsq.push(['identify', properties]);
1118
+ }
1119
+ }
1120
+ }
1121
+ Angulartics2Hubspot.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Hubspot, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1122
+ Angulartics2Hubspot.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Hubspot, providedIn: 'root' });
1123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Hubspot, decorators: [{
1124
+ type: Injectable,
1125
+ args: [{ providedIn: 'root' }]
1126
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1127
+
1128
+ class Angulartics2Kissmetrics {
1129
+ constructor(angulartics2) {
1130
+ this.angulartics2 = angulartics2;
1131
+ if (typeof _kmq === 'undefined') {
1132
+ _kmq = [];
1133
+ }
1134
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
1135
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1136
+ }
1137
+ startTracking() {
1138
+ this.angulartics2.pageTrack
1139
+ .pipe(this.angulartics2.filterDeveloperMode())
1140
+ .subscribe(x => this.pageTrack(x.path));
1141
+ this.angulartics2.eventTrack
1142
+ .pipe(this.angulartics2.filterDeveloperMode())
1143
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1144
+ }
1145
+ pageTrack(path) {
1146
+ _kmq.push(['record', 'Pageview', { Page: path }]);
1147
+ }
1148
+ eventTrack(action, properties) {
1149
+ _kmq.push(['record', action, properties]);
1150
+ }
1151
+ setUsername(userId) {
1152
+ _kmq.push(['identify', userId]);
1153
+ }
1154
+ setUserProperties(properties) {
1155
+ _kmq.push(['set', properties]);
1156
+ }
1157
+ }
1158
+ Angulartics2Kissmetrics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Kissmetrics, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1159
+ Angulartics2Kissmetrics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Kissmetrics, providedIn: 'root' });
1160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Kissmetrics, decorators: [{
1161
+ type: Injectable,
1162
+ args: [{ providedIn: 'root' }]
1163
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1164
+
1165
+ class Angulartics2LaunchByAdobe {
1166
+ constructor(angulartics2) {
1167
+ this.angulartics2 = angulartics2;
1168
+ this.payload = {};
1169
+ if ('undefined' === typeof _satellite) {
1170
+ console.warn('Launch not found!');
1171
+ }
1172
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
1173
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1174
+ }
1175
+ setUsername(userId) {
1176
+ if ('undefined' !== typeof userId && userId) {
1177
+ this.payload.userId = userId;
1178
+ }
1179
+ }
1180
+ setUserProperties(properties) {
1181
+ if ('undefined' !== typeof properties && properties) {
1182
+ this.payload.properties = properties;
1183
+ }
1184
+ }
1185
+ startTracking() {
1186
+ this.angulartics2.pageTrack
1187
+ .pipe(this.angulartics2.filterDeveloperMode())
1188
+ .subscribe(x => this.pageTrack(x.path));
1189
+ this.angulartics2.eventTrack
1190
+ .pipe(this.angulartics2.filterDeveloperMode())
1191
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1192
+ }
1193
+ pageTrack(path) {
1194
+ this.payload = this.payload || {};
1195
+ this.payload.path = path;
1196
+ if ('undefined' !== typeof _satellite && _satellite) {
1197
+ _satellite.track('pageTrack', this.payload);
1198
+ }
1199
+ }
1200
+ /**
1201
+ * @param action associated with the event
1202
+ * @param properties associated with the event
1203
+ */
1204
+ eventTrack(action, properties) {
1205
+ properties = properties || {};
1206
+ // add properties to payload
1207
+ this.payload.action = action;
1208
+ this.payload.eventProperties = properties;
1209
+ if ('undefined' !== typeof _satellite && _satellite) {
1210
+ _satellite.track('eventTrack', this.payload);
1211
+ }
1212
+ }
1213
+ }
1214
+ Angulartics2LaunchByAdobe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2LaunchByAdobe, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1215
+ Angulartics2LaunchByAdobe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2LaunchByAdobe, providedIn: 'root' });
1216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2LaunchByAdobe, decorators: [{
1217
+ type: Injectable,
1218
+ args: [{ providedIn: 'root' }]
1219
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1220
+
1221
+ class Angulartics2Mixpanel {
1222
+ constructor(angulartics2) {
1223
+ this.angulartics2 = angulartics2;
1224
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
1225
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1226
+ this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));
1227
+ this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));
1228
+ this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));
1229
+ this.angulartics2.setAlias.subscribe(x => this.setAlias(x));
1230
+ }
1231
+ startTracking() {
1232
+ this.angulartics2.pageTrack
1233
+ .pipe(this.angulartics2.filterDeveloperMode())
1234
+ .subscribe(x => this.pageTrack(x.path));
1235
+ this.angulartics2.eventTrack
1236
+ .pipe(this.angulartics2.filterDeveloperMode())
1237
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1238
+ }
1239
+ pageTrack(path) {
1240
+ try {
1241
+ mixpanel.track('Page Viewed', { page: path });
1242
+ }
1243
+ catch (e) {
1244
+ if (!(e instanceof ReferenceError)) {
1245
+ throw e;
1246
+ }
1247
+ }
1248
+ }
1249
+ eventTrack(action, properties) {
1250
+ try {
1251
+ mixpanel.track(action, properties);
1252
+ }
1253
+ catch (e) {
1254
+ if (!(e instanceof ReferenceError)) {
1255
+ throw e;
1256
+ }
1257
+ }
1258
+ }
1259
+ setUsername(userId) {
1260
+ try {
1261
+ mixpanel.identify(userId);
1262
+ }
1263
+ catch (e) {
1264
+ if (!(e instanceof ReferenceError)) {
1265
+ throw e;
1266
+ }
1267
+ }
1268
+ }
1269
+ setUserProperties(properties) {
1270
+ try {
1271
+ mixpanel.people.set(properties);
1272
+ }
1273
+ catch (e) {
1274
+ if (!(e instanceof ReferenceError)) {
1275
+ throw e;
1276
+ }
1277
+ }
1278
+ }
1279
+ setUserPropertiesOnce(properties) {
1280
+ try {
1281
+ mixpanel.people.set_once(properties);
1282
+ }
1283
+ catch (e) {
1284
+ if (!(e instanceof ReferenceError)) {
1285
+ throw e;
1286
+ }
1287
+ }
1288
+ }
1289
+ setSuperProperties(properties) {
1290
+ try {
1291
+ mixpanel.register(properties);
1292
+ }
1293
+ catch (e) {
1294
+ if (!(e instanceof ReferenceError)) {
1295
+ throw e;
1296
+ }
1297
+ }
1298
+ }
1299
+ setSuperPropertiesOnce(properties) {
1300
+ try {
1301
+ mixpanel.register_once(properties);
1302
+ }
1303
+ catch (e) {
1304
+ if (!(e instanceof ReferenceError)) {
1305
+ throw e;
1306
+ }
1307
+ }
1308
+ }
1309
+ setAlias(alias) {
1310
+ try {
1311
+ mixpanel.alias(alias);
1312
+ }
1313
+ catch (e) {
1314
+ if (!(e instanceof ReferenceError)) {
1315
+ throw e;
1316
+ }
1317
+ }
1318
+ }
1319
+ }
1320
+ Angulartics2Mixpanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1321
+ Angulartics2Mixpanel.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, providedIn: 'root' });
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, decorators: [{
1323
+ type: Injectable,
1324
+ args: [{ providedIn: 'root' }]
1325
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1326
+
1327
+ class Angulartics2Pyze {
1328
+ constructor(angulartics2) {
1329
+ this.angulartics2 = angulartics2;
1330
+ this.angulartics2.setUsername.subscribe((x) => this.setUserId(x));
1331
+ this.angulartics2.setUserProperties.subscribe(x => this.postTraits(x));
1332
+ }
1333
+ startTracking() {
1334
+ this.angulartics2.pageTrack
1335
+ .pipe(this.angulartics2.filterDeveloperMode())
1336
+ .subscribe(x => this.pageTrack(x.path));
1337
+ this.angulartics2.eventTrack
1338
+ .pipe(this.angulartics2.filterDeveloperMode())
1339
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1340
+ }
1341
+ pageTrack(path) {
1342
+ try {
1343
+ Pyze.postPageView('Page Viewed', { page: path });
1344
+ }
1345
+ catch (e) {
1346
+ if (!(e instanceof ReferenceError)) {
1347
+ throw e;
1348
+ }
1349
+ }
1350
+ }
1351
+ eventTrack(action, properties) {
1352
+ try {
1353
+ PyzeEvents.postCustomEventWithAttributes(action, properties);
1354
+ }
1355
+ catch (e) {
1356
+ if (!(e instanceof ReferenceError)) {
1357
+ throw e;
1358
+ }
1359
+ }
1360
+ }
1361
+ setUserId(userId) {
1362
+ try {
1363
+ PyzeIdentity.setUserIdentifier(userId);
1364
+ }
1365
+ catch (e) {
1366
+ if (!(e instanceof ReferenceError)) {
1367
+ throw e;
1368
+ }
1369
+ }
1370
+ }
1371
+ postTraits(properties) {
1372
+ try {
1373
+ PyzeIdentity.postTraits(properties);
1374
+ }
1375
+ catch (e) {
1376
+ if (!(e instanceof ReferenceError)) {
1377
+ throw e;
1378
+ }
1379
+ }
1380
+ }
1381
+ }
1382
+ Angulartics2Pyze.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1383
+ Angulartics2Pyze.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, providedIn: 'root' });
1384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, decorators: [{
1385
+ type: Injectable,
1386
+ args: [{ providedIn: 'root' }]
1387
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1388
+
1389
+ class Angulartics2Matomo {
1390
+ constructor(angulartics2) {
1391
+ this.angulartics2 = angulartics2;
1392
+ if (typeof _paq === 'undefined') {
1393
+ console.warn('Matomo not found');
1394
+ }
1395
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
1396
+ this.angulartics2.setUserProperties.subscribe((x) => this.setUserProperties(x));
1397
+ }
1398
+ startTracking() {
1399
+ this.angulartics2.pageTrack
1400
+ .pipe(this.angulartics2.filterDeveloperMode())
1401
+ .subscribe(x => this.pageTrack(x.path));
1402
+ this.angulartics2.eventTrack
1403
+ .pipe(this.angulartics2.filterDeveloperMode())
1404
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1405
+ }
1406
+ pageTrack(path, title) {
1407
+ try {
1408
+ if (!window.location.origin) {
1409
+ window.location.origin =
1410
+ window.location.protocol +
1411
+ '//' +
1412
+ window.location.hostname +
1413
+ (window.location.port ? ':' + window.location.port : '');
1414
+ }
1415
+ _paq.push(['setDocumentTitle', title || window.document.title]);
1416
+ _paq.push(['setCustomUrl', window.location.origin + path]);
1417
+ _paq.push(['trackPageView']);
1418
+ }
1419
+ catch (e) {
1420
+ if (!(e instanceof ReferenceError)) {
1421
+ throw e;
1422
+ }
1423
+ }
1424
+ }
1425
+ resetUser() {
1426
+ try {
1427
+ _paq.push(['appendToTrackingUrl', 'new_visit=1']); // (1) forces a new visit
1428
+ _paq.push(['deleteCookies']); // (2) deletes existing tracking cookies to start the new visit
1429
+ }
1430
+ catch (e) {
1431
+ if (!(e instanceof ReferenceError)) {
1432
+ throw e;
1433
+ }
1434
+ }
1435
+ }
1436
+ /**
1437
+ * Track a basic event in Matomo, or send an ecommerce event.
1438
+ *
1439
+ * @param action A string corresponding to the type of event that needs to be tracked.
1440
+ * @param properties The properties that need to be logged with the event.
1441
+ */
1442
+ eventTrack(action, properties) {
1443
+ let params = [];
1444
+ switch (action) {
1445
+ /**
1446
+ * @description Sets the current page view as a product or category page view. When you call
1447
+ * setEcommerceView it must be followed by a call to trackPageView to record the product or
1448
+ * category page view.
1449
+ *
1450
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-product-page-views-category-page-views-optional
1451
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
1452
+ *
1453
+ * @property productSKU (required) SKU: Product unique identifier
1454
+ * @property productName (optional) Product name
1455
+ * @property categoryName (optional) Product category, or array of up to 5 categories
1456
+ * @property price (optional) Product Price as displayed on the page
1457
+ */
1458
+ case 'setEcommerceView':
1459
+ params = [
1460
+ 'setEcommerceView',
1461
+ properties.productSKU,
1462
+ properties.productName,
1463
+ properties.categoryName,
1464
+ properties.price,
1465
+ ];
1466
+ break;
1467
+ /**
1468
+ * @description Adds a product into the ecommerce order. Must be called for each product in
1469
+ * the order.
1470
+ *
1471
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required
1472
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
1473
+ *
1474
+ * @property productSKU (required) SKU: Product unique identifier
1475
+ * @property productName (optional) Product name
1476
+ * @property categoryName (optional) Product category, or array of up to 5 categories
1477
+ * @property price (recommended) Product price
1478
+ * @property quantity (optional, default to 1) Product quantity
1479
+ */
1480
+ case 'addEcommerceItem':
1481
+ params = [
1482
+ 'addEcommerceItem',
1483
+ properties.productSKU,
1484
+ properties.productName,
1485
+ properties.productCategory,
1486
+ properties.price,
1487
+ properties.quantity,
1488
+ ];
1489
+ break;
1490
+ /**
1491
+ * @description Tracks a shopping cart. Call this javascript function every time a user is
1492
+ * adding, updating or deleting a product from the cart.
1493
+ *
1494
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-add-to-cart-items-added-to-the-cart-optional
1495
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
1496
+ *
1497
+ * @property grandTotal (required) Cart amount
1498
+ */
1499
+ case 'trackEcommerceCartUpdate':
1500
+ params = [
1501
+ 'trackEcommerceCartUpdate',
1502
+ properties.grandTotal,
1503
+ ];
1504
+ break;
1505
+ /**
1506
+ * @description Tracks an Ecommerce order, including any ecommerce item previously added to
1507
+ * the order. orderId and grandTotal (ie. revenue) are required parameters.
1508
+ *
1509
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required
1510
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
1511
+ *
1512
+ * @property orderId (required) Unique Order ID
1513
+ * @property grandTotal (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)
1514
+ * @property subTotal (optional) Order sub total (excludes shipping)
1515
+ * @property tax (optional) Tax amount
1516
+ * @property shipping (optional) Shipping amount
1517
+ * @property discount (optional) Discount offered (set to false for unspecified parameter)
1518
+ */
1519
+ case 'trackEcommerceOrder':
1520
+ params = [
1521
+ 'trackEcommerceOrder',
1522
+ properties.orderId,
1523
+ properties.grandTotal,
1524
+ properties.subTotal,
1525
+ properties.tax,
1526
+ properties.shipping,
1527
+ properties.discount,
1528
+ ];
1529
+ break;
1530
+ /**
1531
+ * @description To manually trigger an outlink
1532
+ *
1533
+ * @link https://matomo.org/docs/tracking-goals-web-analytics/
1534
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#tracking-a-click-as-an-outlink-via-css-or-javascript
1535
+ *
1536
+ * @property url (required) link url
1537
+ * @property linkType (optional) type of link
1538
+ */
1539
+ case 'trackLink':
1540
+ params = [
1541
+ 'trackLink',
1542
+ properties.url,
1543
+ properties.linkType,
1544
+ ];
1545
+ break;
1546
+ /**
1547
+ * @description Tracks an Ecommerce goal
1548
+ *
1549
+ * @link https://matomo.org/docs/tracking-goals-web-analytics/
1550
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions
1551
+ *
1552
+ * @property goalId (required) Unique Goal ID
1553
+ * @property value (optional) passed to goal tracking
1554
+ */
1555
+ case 'trackGoal':
1556
+ params = [
1557
+ 'trackGoal',
1558
+ properties.goalId,
1559
+ properties.value,
1560
+ ];
1561
+ break;
1562
+ /**
1563
+ * @description Tracks a site search
1564
+ *
1565
+ * @link https://matomo.org/docs/site-search/
1566
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking
1567
+ *
1568
+ * @property keyword (required) Keyword searched for
1569
+ * @property category (optional) Search category
1570
+ * @property searchCount (optional) Number of results
1571
+ */
1572
+ case 'trackSiteSearch':
1573
+ params = [
1574
+ 'trackSiteSearch',
1575
+ properties.keyword,
1576
+ properties.category,
1577
+ properties.searchCount,
1578
+ ];
1579
+ break;
1580
+ /**
1581
+ * @description Logs an event with an event category (Videos, Music, Games...), an event
1582
+ * action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...), and an optional
1583
+ * event name and optional numeric value.
1584
+ *
1585
+ * @link https://matomo.org/docs/event-tracking/
1586
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#using-the-tracker-object
1587
+ *
1588
+ * @property category
1589
+ * @property action
1590
+ * @property name (optional, recommended)
1591
+ * @property value (optional)
1592
+ */
1593
+ default:
1594
+ // PAQ requires that eventValue be an integer, see: http://matomo.org/docs/event-tracking
1595
+ if (properties.value) {
1596
+ const parsed = parseInt(properties.value, 10);
1597
+ properties.value = isNaN(parsed) ? 0 : parsed;
1598
+ }
1599
+ params = [
1600
+ 'trackEvent',
1601
+ properties.category,
1602
+ action,
1603
+ properties.name ||
1604
+ properties.label,
1605
+ properties.value,
1606
+ ];
1607
+ }
1608
+ try {
1609
+ _paq.push(params);
1610
+ }
1611
+ catch (e) {
1612
+ if (!(e instanceof ReferenceError)) {
1613
+ throw e;
1614
+ }
1615
+ }
1616
+ }
1617
+ setUsername(userId) {
1618
+ try {
1619
+ _paq.push(['setUserId', userId]);
1620
+ }
1621
+ catch (e) {
1622
+ if (!(e instanceof ReferenceError)) {
1623
+ throw e;
1624
+ }
1625
+ }
1626
+ }
1627
+ /**
1628
+ * Sets custom dimensions if at least one property has the key "dimension<n>",
1629
+ * e.g. dimension10. If there are custom dimensions, any other property is ignored.
1630
+ *
1631
+ * If there are no custom dimensions in the given properties object, the properties
1632
+ * object is saved as a custom variable.
1633
+ *
1634
+ * If in doubt, prefer custom dimensions.
1635
+ * @link https://matomo.org/docs/custom-variables/
1636
+ */
1637
+ setUserProperties(properties) {
1638
+ const dimensions = this.setCustomDimensions(properties);
1639
+ try {
1640
+ if (dimensions.length === 0) {
1641
+ _paq.push([
1642
+ 'setCustomVariable',
1643
+ properties.index,
1644
+ properties.name,
1645
+ properties.value,
1646
+ properties.scope,
1647
+ ]);
1648
+ }
1649
+ }
1650
+ catch (e) {
1651
+ if (!(e instanceof ReferenceError)) {
1652
+ throw e;
1653
+ }
1654
+ }
1655
+ }
1656
+ /**
1657
+ * If you created a custom variable and then decide to remove this variable from
1658
+ * a visit or page view, you can use deleteCustomVariable.
1659
+ *
1660
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#deleting-a-custom-variable
1661
+ */
1662
+ deletedUserProperties(properties) {
1663
+ try {
1664
+ _paq.push(['deleteCustomVariable', properties.index, properties.scope]);
1665
+ }
1666
+ catch (e) {
1667
+ if (!(e instanceof ReferenceError)) {
1668
+ throw e;
1669
+ }
1670
+ }
1671
+ }
1672
+ setCustomDimensions(properties) {
1673
+ const dimensionRegex = /dimension[1-9]\d*/;
1674
+ const dimensions = Object.keys(properties).filter(key => dimensionRegex.exec(key));
1675
+ dimensions.forEach(dimension => {
1676
+ const number = Number(dimension.substr(9));
1677
+ _paq.push(['setCustomDimension', number, properties[dimension]]);
1678
+ });
1679
+ return dimensions;
1680
+ }
1681
+ }
1682
+ Angulartics2Matomo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1683
+ Angulartics2Matomo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, providedIn: 'root' });
1684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, decorators: [{
1685
+ type: Injectable,
1686
+ args: [{ providedIn: 'root' }]
1687
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1688
+
1689
+ class Angulartics2Segment {
1690
+ constructor(angulartics2) {
1691
+ this.angulartics2 = angulartics2;
1692
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1693
+ this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));
1694
+ this.angulartics2.setAlias.subscribe(x => this.setAlias(x));
1695
+ }
1696
+ startTracking() {
1697
+ this.angulartics2.pageTrack
1698
+ .pipe(this.angulartics2.filterDeveloperMode())
1699
+ .subscribe(x => this.pageTrack(x.path));
1700
+ this.angulartics2.eventTrack
1701
+ .pipe(this.angulartics2.filterDeveloperMode())
1702
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1703
+ }
1704
+ /**
1705
+ * https://segment.com/docs/libraries/analytics.js/#page
1706
+ *
1707
+ * analytics.page([category], [name], [properties], [options], [callback]);
1708
+ */
1709
+ pageTrack(path) {
1710
+ // TODO : Support optional parameters where the parameter order and type changes their meaning
1711
+ try {
1712
+ analytics.page(path);
1713
+ }
1714
+ catch (e) {
1715
+ if (!(e instanceof ReferenceError)) {
1716
+ throw e;
1717
+ }
1718
+ }
1719
+ }
1720
+ /**
1721
+ * https://segment.com/docs/libraries/analytics.js/#track
1722
+ *
1723
+ * analytics.track(event, [properties], [options], [callback]);
1724
+ */
1725
+ eventTrack(action, properties) {
1726
+ try {
1727
+ analytics.track(action, properties);
1728
+ }
1729
+ catch (e) {
1730
+ if (!(e instanceof ReferenceError)) {
1731
+ throw e;
1732
+ }
1733
+ }
1734
+ }
1735
+ /**
1736
+ * https://segment.com/docs/libraries/analytics.js/#identify
1737
+ *
1738
+ * analytics.identify([userId], [traits], [options], [callback]);
1739
+ */
1740
+ setUserProperties(properties) {
1741
+ try {
1742
+ if (properties.userId) {
1743
+ analytics.identify(properties.userId, properties);
1744
+ }
1745
+ else {
1746
+ analytics.identify(properties);
1747
+ }
1748
+ }
1749
+ catch (e) {
1750
+ if (!(e instanceof ReferenceError)) {
1751
+ throw e;
1752
+ }
1753
+ }
1754
+ }
1755
+ /**
1756
+ * https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#reset--logout
1757
+ *
1758
+ * analytics.reset();
1759
+ */
1760
+ unsetUserProperties() {
1761
+ analytics.reset();
1762
+ }
1763
+ /**
1764
+ * https://segment.com/docs/libraries/analytics.js/#alias
1765
+ *
1766
+ * analytics.alias(userId, previousId, options, callback);
1767
+ */
1768
+ setAlias(alias) {
1769
+ try {
1770
+ analytics.alias(alias);
1771
+ }
1772
+ catch (e) {
1773
+ if (!(e instanceof ReferenceError)) {
1774
+ throw e;
1775
+ }
1776
+ }
1777
+ }
1778
+ }
1779
+ Angulartics2Segment.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Segment, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1780
+ Angulartics2Segment.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Segment, providedIn: 'root' });
1781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Segment, decorators: [{
1782
+ type: Injectable,
1783
+ args: [{ providedIn: 'root' }]
1784
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1785
+
1786
+ class Angulartics2Intercom {
1787
+ constructor(angulartics2) {
1788
+ this.angulartics2 = angulartics2;
1789
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1790
+ this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));
1791
+ }
1792
+ startTracking() {
1793
+ this.angulartics2.pageTrack
1794
+ .pipe(this.angulartics2.filterDeveloperMode())
1795
+ .subscribe(x => this.pageTrack(x.path));
1796
+ this.angulartics2.eventTrack
1797
+ .pipe(this.angulartics2.filterDeveloperMode())
1798
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1799
+ }
1800
+ pageTrack(path) {
1801
+ try {
1802
+ this.eventTrack('Pageview', {
1803
+ url: path,
1804
+ });
1805
+ }
1806
+ catch (e) {
1807
+ if (!(e instanceof ReferenceError)) {
1808
+ throw e;
1809
+ }
1810
+ }
1811
+ }
1812
+ eventTrack(action, properties) {
1813
+ try {
1814
+ Intercom('trackEvent', action, properties);
1815
+ }
1816
+ catch (e) {
1817
+ if (!(e instanceof ReferenceError)) {
1818
+ throw e;
1819
+ }
1820
+ }
1821
+ }
1822
+ setUserProperties(properties) {
1823
+ try {
1824
+ if (properties.userId && !properties.user_id) {
1825
+ properties.user_id = properties.userId;
1826
+ }
1827
+ Intercom('boot', properties);
1828
+ }
1829
+ catch (e) {
1830
+ if (!(e instanceof ReferenceError)) {
1831
+ throw e;
1832
+ }
1833
+ }
1834
+ }
1835
+ }
1836
+ Angulartics2Intercom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Intercom, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1837
+ Angulartics2Intercom.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Intercom, providedIn: 'root' });
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Intercom, decorators: [{
1839
+ type: Injectable,
1840
+ args: [{ providedIn: 'root' }]
1841
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1842
+
1843
+ class Angulartics2Woopra {
1844
+ constructor(angulartics2) {
1845
+ this.angulartics2 = angulartics2;
1846
+ if (typeof woopra === 'undefined') {
1847
+ console.warn('Woopra not found');
1848
+ }
1849
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
1850
+ }
1851
+ startTracking() {
1852
+ this.angulartics2.pageTrack
1853
+ .pipe(this.angulartics2.filterDeveloperMode())
1854
+ .subscribe(x => this.pageTrack(x.path));
1855
+ this.angulartics2.eventTrack
1856
+ .pipe(this.angulartics2.filterDeveloperMode())
1857
+ .subscribe(x => this.eventTrack(x.action, x.properties));
1858
+ }
1859
+ pageTrack(path) {
1860
+ try {
1861
+ woopra.track('pv', {
1862
+ url: path,
1863
+ });
1864
+ }
1865
+ catch (e) {
1866
+ if (!(e instanceof ReferenceError)) {
1867
+ throw e;
1868
+ }
1869
+ }
1870
+ }
1871
+ eventTrack(action, properties) {
1872
+ try {
1873
+ woopra.track(action, properties);
1874
+ }
1875
+ catch (e) {
1876
+ if (!(e instanceof ReferenceError)) {
1877
+ throw e;
1878
+ }
1879
+ }
1880
+ }
1881
+ setUserProperties(properties) {
1882
+ try {
1883
+ if (properties.email) {
1884
+ woopra.identify(properties);
1885
+ }
1886
+ }
1887
+ catch (e) {
1888
+ if (!(e instanceof ReferenceError)) {
1889
+ throw e;
1890
+ }
1891
+ }
1892
+ }
1893
+ }
1894
+ Angulartics2Woopra.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Woopra, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
1895
+ Angulartics2Woopra.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Woopra, providedIn: 'root' });
1896
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Woopra, decorators: [{
1897
+ type: Injectable,
1898
+ args: [{ providedIn: 'root' }]
1899
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
1900
+
1901
+ class Angulartics2Clicky {
1902
+ constructor(angulartics2, titleService) {
1903
+ this.angulartics2 = angulartics2;
1904
+ this.titleService = titleService;
1905
+ if (typeof clicky === 'undefined') {
1906
+ console.warn('Angulartics 2 Clicky Plugin: clicky global not found');
1907
+ }
1908
+ }
1909
+ startTracking() {
1910
+ this.angulartics2.pageTrack
1911
+ .pipe(this.angulartics2.filterDeveloperMode())
1912
+ .subscribe(x => this.pageTrack(x.path));
1913
+ this.angulartics2.eventTrack
1914
+ .pipe(this.angulartics2.filterDeveloperMode())
1915
+ .subscribe(x => this.eventOrGoalTrack(x.action, x.properties));
1916
+ }
1917
+ /**
1918
+ * Track Page in Clicky
1919
+ *
1920
+ * @param path location
1921
+ *
1922
+ * @link https://clicky.com/help/custom/manual#log
1923
+ */
1924
+ pageTrack(path) {
1925
+ const title = this.titleService.getTitle();
1926
+ clicky.log(path, title, 'pageview');
1927
+ }
1928
+ /**
1929
+ * Track Event Or Goal in Clicky
1930
+ *
1931
+ * @param action Action name
1932
+ * @param properties Definition of 'properties.goal' determines goal vs event tracking
1933
+ *
1934
+ * @link https://clicky.com/help/custom/manual#log
1935
+ * @link https://clicky.com/help/custom/manual#goal
1936
+ */
1937
+ eventOrGoalTrack(action, properties) {
1938
+ if (typeof properties.goal === 'undefined') {
1939
+ const title = properties.title || null;
1940
+ const type = properties.type != null ? this.validateType(properties.type) : null;
1941
+ clicky.log(action, title, type);
1942
+ }
1943
+ else {
1944
+ const goalId = properties.goal;
1945
+ const revenue = properties.revenue;
1946
+ clicky.goal(goalId, revenue, !!properties.noQueue);
1947
+ }
1948
+ }
1949
+ validateType(type) {
1950
+ const EventType = ['pageview', 'click', 'download', 'outbound'];
1951
+ return EventType.indexOf(type) > -1 ? type : 'pageview';
1952
+ }
1953
+ }
1954
+ Angulartics2Clicky.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Clicky, deps: [{ token: Angulartics2 }, { token: i2$1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
1955
+ Angulartics2Clicky.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Clicky, providedIn: 'root' });
1956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Clicky, decorators: [{
1957
+ type: Injectable,
1958
+ args: [{ providedIn: 'root' }]
1959
+ }], ctorParameters: function () { return [{ type: Angulartics2 }, { type: i2$1.Title }]; } });
1960
+
1961
+ class Angulartics2Amplitude {
1962
+ constructor(angulartics2) {
1963
+ this.angulartics2 = angulartics2;
1964
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
1965
+ this.angulartics2.setUserProperties.subscribe((x) => this.setUserProperties(x));
1966
+ this.angulartics2.setUserPropertiesOnce.subscribe((x) => this.setUserProperties(x));
1967
+ }
1968
+ startTracking() {
1969
+ this.angulartics2.pageTrack
1970
+ .pipe(this.angulartics2.filterDeveloperMode())
1971
+ .subscribe((x) => this.pageTrack(x.path));
1972
+ this.angulartics2.eventTrack
1973
+ .pipe(this.angulartics2.filterDeveloperMode())
1974
+ .subscribe((x) => this.eventTrack(x.action, x.properties));
1975
+ }
1976
+ pageTrack(path) {
1977
+ try {
1978
+ this.eventTrack('Pageview', {
1979
+ url: path,
1980
+ });
1981
+ }
1982
+ catch (e) {
1983
+ if (!(e instanceof ReferenceError)) {
1984
+ throw e;
1985
+ }
1986
+ }
1987
+ }
1988
+ eventTrack(action, properties) {
1989
+ try {
1990
+ amplitude.getInstance().logEvent(action, properties);
1991
+ }
1992
+ catch (e) {
1993
+ if (!(e instanceof ReferenceError)) {
1994
+ throw e;
1995
+ }
1996
+ }
1997
+ }
1998
+ setUsername(userId) {
1999
+ try {
2000
+ amplitude.getInstance().setUserId(userId);
2001
+ }
2002
+ catch (e) {
2003
+ if (!(e instanceof ReferenceError)) {
2004
+ throw e;
2005
+ }
2006
+ }
2007
+ }
2008
+ setUserProperties(properties) {
2009
+ try {
2010
+ amplitude.getInstance().setUserProperties(properties);
2011
+ }
2012
+ catch (e) {
2013
+ if (!(e instanceof ReferenceError)) {
2014
+ throw e;
2015
+ }
2016
+ }
2017
+ }
2018
+ }
2019
+ Angulartics2Amplitude.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
2020
+ Angulartics2Amplitude.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, providedIn: 'root' });
2021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Amplitude, decorators: [{
2022
+ type: Injectable,
2023
+ args: [{ providedIn: 'root' }]
2024
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
2025
+
2026
+ class Angulartics2Splunk {
2027
+ constructor(angulartics2) {
2028
+ this.angulartics2 = angulartics2;
2029
+ if (typeof sp === 'undefined') {
2030
+ console.warn('Splunk not found');
2031
+ }
2032
+ }
2033
+ startTracking() {
2034
+ this.angulartics2.pageTrack
2035
+ .pipe(this.angulartics2.filterDeveloperMode())
2036
+ .subscribe(x => this.pageTrack(x.path));
2037
+ this.angulartics2.eventTrack
2038
+ .pipe(this.angulartics2.filterDeveloperMode())
2039
+ .subscribe(x => this.eventTrack(x.action, x.properties));
2040
+ }
2041
+ pageTrack(path) {
2042
+ try {
2043
+ sp.pageview(path);
2044
+ }
2045
+ catch (e) {
2046
+ if (!(e instanceof ReferenceError)) {
2047
+ throw e;
2048
+ }
2049
+ }
2050
+ }
2051
+ eventTrack(action, properties) {
2052
+ try {
2053
+ sp.track(action, properties);
2054
+ }
2055
+ catch (e) {
2056
+ if (!(e instanceof ReferenceError)) {
2057
+ throw e;
2058
+ }
2059
+ }
2060
+ }
2061
+ }
2062
+ Angulartics2Splunk.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Splunk, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
2063
+ Angulartics2Splunk.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Splunk, providedIn: 'root' });
2064
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Splunk, decorators: [{
2065
+ type: Injectable,
2066
+ args: [{ providedIn: 'root' }]
2067
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
2068
+
2069
+ class Angulartics2IBMDigitalAnalytics {
2070
+ constructor(angulartics2) {
2071
+ this.angulartics2 = angulartics2;
2072
+ if (typeof window['cmCreatePageviewTag'] !== 'function') {
2073
+ console.warn('Angulartics 2 IBM Digital Analytics Plugin: eluminate.js is not loaded');
2074
+ }
2075
+ }
2076
+ startTracking() {
2077
+ this.angulartics2.pageTrack
2078
+ .pipe(this.angulartics2.filterDeveloperMode())
2079
+ .subscribe(x => this.pageTrack(x.path));
2080
+ this.angulartics2.eventTrack
2081
+ .pipe(this.angulartics2.filterDeveloperMode())
2082
+ .subscribe(x => this.eventTrack(x.action, x.properties));
2083
+ }
2084
+ /**
2085
+ * Track Page in IBM Digital Analytics
2086
+ *
2087
+ * @param path location
2088
+ *
2089
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_pageviewtag.html
2090
+ */
2091
+ pageTrack(path) {
2092
+ const cmCreatePageviewTag = window['cmCreatePageviewTag'];
2093
+ cmCreatePageviewTag(path, null, null, null);
2094
+ }
2095
+ /**
2096
+ * Track an event in IBM Digital Analytics
2097
+ *
2098
+ * @param action A string corresponding to the type of event that needs to be tracked.
2099
+ * @param properties The properties that need to be logged with the event.
2100
+ */
2101
+ eventTrack(action, properties = {}) {
2102
+ const cmDisplayShops = window['cmDisplayShops'];
2103
+ switch (action) {
2104
+ /**
2105
+ * @description The Product View tag captures information about vdigitalDataiews of product detail pages.
2106
+ * The Product View tag should be called on the lowest level detail page for products, which is typically
2107
+ * the Product Details page. You can view example Product View tags below.
2108
+ *
2109
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_prodviewtag.html
2110
+ */
2111
+ case 'cmCreateProductviewTag':
2112
+ const cmCreateProductviewTag = window['cmCreateProductviewTag'];
2113
+ cmCreateProductviewTag(properties.productId, properties.productName, properties.categoryId, properties.attrbute, properties.virtualCategory);
2114
+ break;
2115
+ /**
2116
+ * @description The Shop Action 5 tag captures data about selected products and which products are present in a shopping cart,
2117
+ * if any, when the cart is viewed.
2118
+ *
2119
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact5tag.html
2120
+ */
2121
+ case 'cmCreateShopAction5Tag':
2122
+ const cmCreateShopAction5Tag = window['cmCreateShopAction5Tag'];
2123
+ cmCreateShopAction5Tag(properties.productId, properties.productName, properties.quantity, properties.unitPrice, properties.categoryId, properties.attrbute, properties.extraFields, properties.virtualCategory);
2124
+ cmDisplayShops();
2125
+ break;
2126
+ /**
2127
+ * @description The Shop Action 9 tag captures data about what products were purchased by a customer.
2128
+ * Like the Shop Action 5 tag, one tag should be sent for each product line item purchased. These tags should be sent
2129
+ * on the receipt or other completion page confirming a successful order.
2130
+ *
2131
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_shopact9tag.html
2132
+ */
2133
+ case 'cmCreateShopAction9Tag':
2134
+ const cmCreateShopAction9Tag = window['cmCreateShopAction9Tag'];
2135
+ cmCreateShopAction9Tag(properties.productId, properties.productName, properties.quantity, properties.unitPrice, properties.registrationId, properties.orderId, properties.orderSubtotal, properties.categoryId, properties.attrbute, properties.extraFields);
2136
+ cmDisplayShops();
2137
+ break;
2138
+ /**
2139
+ * @description The Order tag captures order header information such as Registration ID, order ID, order subtotal,
2140
+ * and shipping and handling. The Order tag should be sent on the receipt page confirming order completion.
2141
+ *
2142
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_ordertag.html
2143
+ */
2144
+ case 'cmCreateOrderTag':
2145
+ const cmCreateOrderTag = window['cmCreateOrderTag'];
2146
+ cmCreateOrderTag(properties.orderId, properties.orderSubtotal, properties.orderShipping, properties.registrationId, properties.registrantCity, properties.registrantState, properties.registrantPostalCode, properties.attrbute, properties.extraFields);
2147
+ break;
2148
+ /**
2149
+ * @description The Registration tag creates a Lifetime Visitor Experience Profile (LIVE Profile) by associating a single
2150
+ * common Registration ID with the IBM® Digital Analytics permanent cookie set in every browser visiting the tagged site.
2151
+ *
2152
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_registrationtag.html
2153
+ */
2154
+ case 'cmCreateRegistrationTag':
2155
+ const cmCreateRegistrationTag = window['cmCreateRegistrationTag'];
2156
+ cmCreateRegistrationTag(properties.registrationId, properties.registrantEmail, properties.registrantCity, properties.registrantState, properties.registrantPostalCode, properties.registrantCountry, properties.attrbute);
2157
+ break;
2158
+ /**
2159
+ * @description The Element tag is used to track intra-page content in IBM® Digital Analytics. Data collected by
2160
+ * the Element tag is used to populate values in the Element Categories and Top Viewed Elements reports.
2161
+ *
2162
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_elementtag.html
2163
+ */
2164
+ case 'cmCreateElementTag':
2165
+ const cmCreateElementTag = window['cmCreateElementTag'];
2166
+ cmCreateElementTag(properties.elementId, properties.elementCategory, properties.attrbute);
2167
+ break;
2168
+ /**
2169
+ * @description The Conversion Event tag is employed for tracking of general non-commerce conversion events.
2170
+ * The Conversion Event tag is used to populate values in the Conversion Events Reports and to create Key Segments.
2171
+ * This tag and the reports it populates enable analysis of a wide variety of site activities.
2172
+ *
2173
+ * @link https://www.ibm.com/support/knowledgecenter/SSPG9M/Implementation/impl_conversioneventtag.html
2174
+ */
2175
+ case 'cmCreateConversionEventTag':
2176
+ const cmCreateConversionEventTag = window['cmCreateConversionEventTag'];
2177
+ cmCreateConversionEventTag(properties.eventId, properties.actionType, properties.eventCategoryId, properties.points, properties.attrbute, properties.extraFields);
2178
+ break;
2179
+ default:
2180
+ console.warn('Unsupported Event Action');
2181
+ }
2182
+ }
2183
+ }
2184
+ Angulartics2IBMDigitalAnalytics.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
2185
+ Angulartics2IBMDigitalAnalytics.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, providedIn: 'root' });
2186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2IBMDigitalAnalytics, decorators: [{
2187
+ type: Injectable,
2188
+ args: [{ providedIn: 'root' }]
2189
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
2190
+
2191
+ class Angulartics2GoSquared {
2192
+ constructor(angulartics2) {
2193
+ this.angulartics2 = angulartics2;
2194
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
2195
+ this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserProperties(x));
2196
+ }
2197
+ startTracking() {
2198
+ this.angulartics2.pageTrack
2199
+ .pipe(this.angulartics2.filterDeveloperMode())
2200
+ .subscribe(x => this.pageTrack(x.path));
2201
+ this.angulartics2.eventTrack
2202
+ .pipe(this.angulartics2.filterDeveloperMode())
2203
+ .subscribe(x => this.eventTrack(x.action, x.properties));
2204
+ }
2205
+ pageTrack(path) {
2206
+ try {
2207
+ _gs('track', path);
2208
+ }
2209
+ catch (e) {
2210
+ if (!(e instanceof ReferenceError)) {
2211
+ throw e;
2212
+ }
2213
+ }
2214
+ }
2215
+ eventTrack(action, properties) {
2216
+ try {
2217
+ _gs('event', action, properties);
2218
+ }
2219
+ catch (e) {
2220
+ if (!(e instanceof ReferenceError)) {
2221
+ throw e;
2222
+ }
2223
+ }
2224
+ }
2225
+ setUserProperties(properties) {
2226
+ try {
2227
+ _gs('identify', properties);
2228
+ }
2229
+ catch (e) {
2230
+ if (!(e instanceof ReferenceError)) {
2231
+ throw e;
2232
+ }
2233
+ }
2234
+ }
2235
+ }
2236
+ Angulartics2GoSquared.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoSquared, deps: [{ token: Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
2237
+ Angulartics2GoSquared.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoSquared, providedIn: 'root' });
2238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2GoSquared, decorators: [{
2239
+ type: Injectable,
2240
+ args: [{ providedIn: 'root' }]
2241
+ }], ctorParameters: function () { return [{ type: Angulartics2 }]; } });
2242
+
2243
+ /**
2244
+ * Generated bundle index. Do not edit.
2245
+ */
2246
+
2247
+ export { ANGULARTICS2_TOKEN, AngularRouterTracking, Angulartics2, Angulartics2AdobeAnalytics, Angulartics2Amplitude, Angulartics2AppInsights, Angulartics2BaiduAnalytics, Angulartics2Clicky, Angulartics2Facebook, Angulartics2GoSquared, Angulartics2GoogleAnalytics, Angulartics2GoogleAnalyticsEnhancedEcommerce, Angulartics2GoogleGlobalSiteTag, Angulartics2GoogleTagManager, Angulartics2Hubspot, Angulartics2IBMDigitalAnalytics, Angulartics2Intercom, Angulartics2Kissmetrics, Angulartics2LaunchByAdobe, Angulartics2Matomo, Angulartics2Mixpanel, Angulartics2Module, Angulartics2On, Angulartics2OnModule, Angulartics2Pyze, Angulartics2RouterlessModule, Angulartics2Segment, Angulartics2Splunk, Angulartics2Woopra, AppInsightsDefaults, DefaultConfig, GoogleAnalyticsDefaults, GoogleGlobalSiteTagDefaults, GoogleTagManagerDefaults, RouterlessTracking };
2248
+ //# sourceMappingURL=angulartics2.mjs.map