@guardian/ophan-tracker-js 4.0.2 → 5.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 (210) hide show
  1. package/NPM-dist/adblock-detection.js +17 -11
  2. package/NPM-dist/adblock-detection.js.map +1 -0
  3. package/NPM-dist/attention.js +32 -19
  4. package/NPM-dist/attention.js.map +1 -0
  5. package/NPM-dist/campaign.js +6 -2
  6. package/NPM-dist/campaign.js.map +1 -0
  7. package/NPM-dist/click-path-capture.js +5 -2
  8. package/NPM-dist/click-path-capture.js.map +1 -0
  9. package/NPM-dist/components.js +1 -0
  10. package/NPM-dist/components.js.map +1 -0
  11. package/NPM-dist/contribution.js +1 -0
  12. package/NPM-dist/contribution.js.map +1 -0
  13. package/NPM-dist/core.js +40 -10
  14. package/NPM-dist/core.js.map +1 -0
  15. package/NPM-dist/embed.js +1 -0
  16. package/NPM-dist/embed.js.map +1 -0
  17. package/NPM-dist/fb-instant.js +1 -0
  18. package/NPM-dist/fb-instant.js.map +1 -0
  19. package/NPM-dist/heatmap.js +4 -0
  20. package/NPM-dist/heatmap.js.map +1 -0
  21. package/NPM-dist/holidays.js +1 -0
  22. package/NPM-dist/holidays.js.map +1 -0
  23. package/NPM-dist/http-status.js +1 -0
  24. package/NPM-dist/http-status.js.map +1 -0
  25. package/NPM-dist/iframe-tracking.js +16 -3
  26. package/NPM-dist/iframe-tracking.js.map +1 -0
  27. package/NPM-dist/index.js +285 -0
  28. package/NPM-dist/index.js.map +1 -0
  29. package/NPM-dist/interactive.js +1 -0
  30. package/NPM-dist/interactive.js.map +1 -0
  31. package/NPM-dist/jobs-courses.js +1 -0
  32. package/NPM-dist/jobs-courses.js.map +1 -0
  33. package/NPM-dist/jobs.js +1 -0
  34. package/NPM-dist/jobs.js.map +1 -0
  35. package/NPM-dist/membership.js +1 -0
  36. package/NPM-dist/membership.js.map +1 -0
  37. package/NPM-dist/ng.js +10 -33
  38. package/NPM-dist/ng.js.map +1 -0
  39. package/NPM-dist/perf.js +3 -2
  40. package/NPM-dist/perf.js.map +1 -0
  41. package/NPM-dist/privatebrowsing.js +1 -0
  42. package/NPM-dist/privatebrowsing.js.map +1 -0
  43. package/NPM-dist/r2.js +8 -4
  44. package/NPM-dist/r2.js.map +1 -0
  45. package/NPM-dist/smart-news.js +10 -3
  46. package/NPM-dist/smart-news.js.map +1 -0
  47. package/NPM-dist/tests/attention.test.js +1 -0
  48. package/NPM-dist/tests/attention.test.js.map +1 -0
  49. package/NPM-dist/tests/click-path-capture.test.js +1 -0
  50. package/NPM-dist/tests/click-path-capture.test.js.map +1 -0
  51. package/NPM-dist/tests/components.test.js +1 -0
  52. package/NPM-dist/tests/components.test.js.map +1 -0
  53. package/NPM-dist/tests/core.test.js +1 -0
  54. package/NPM-dist/tests/core.test.js.map +1 -0
  55. package/NPM-dist/tests/heatmap.test.js +1 -0
  56. package/NPM-dist/tests/heatmap.test.js.map +1 -0
  57. package/NPM-dist/tests/index.test.js +18 -0
  58. package/NPM-dist/tests/index.test.js.map +1 -0
  59. package/NPM-dist/tests/transmit.test.js +1 -0
  60. package/NPM-dist/tests/transmit.test.js.map +1 -0
  61. package/NPM-dist/transmit.js +23 -5
  62. package/NPM-dist/transmit.js.map +1 -0
  63. package/NPM-dist/types/abtest.js +1 -0
  64. package/NPM-dist/types/abtest.js.map +1 -0
  65. package/NPM-dist/types/adblock-detection.d.ts +1 -0
  66. package/NPM-dist/types/adblock-detection.d.ts.map +1 -0
  67. package/NPM-dist/types/attention.d.ts +1 -0
  68. package/NPM-dist/types/attention.d.ts.map +1 -0
  69. package/NPM-dist/types/campaign.d.ts +1 -0
  70. package/NPM-dist/types/campaign.d.ts.map +1 -0
  71. package/NPM-dist/types/click-path-capture.d.ts +1 -0
  72. package/NPM-dist/types/click-path-capture.d.ts.map +1 -0
  73. package/NPM-dist/types/component-event.js +1 -0
  74. package/NPM-dist/types/component-event.js.map +1 -0
  75. package/NPM-dist/types/component-type.js +1 -0
  76. package/NPM-dist/types/component-type.js.map +1 -0
  77. package/NPM-dist/types/components.d.ts +1 -0
  78. package/NPM-dist/types/components.d.ts.map +1 -0
  79. package/NPM-dist/types/consent.js +1 -0
  80. package/NPM-dist/types/consent.js.map +1 -0
  81. package/NPM-dist/types/contribution.d.ts +2 -1
  82. package/NPM-dist/types/contribution.d.ts.map +1 -0
  83. package/NPM-dist/types/core.d.ts +1 -0
  84. package/NPM-dist/types/core.d.ts.map +1 -0
  85. package/NPM-dist/types/embed.d.ts +2 -1
  86. package/NPM-dist/types/embed.d.ts.map +1 -0
  87. package/NPM-dist/types/event.js +1 -0
  88. package/NPM-dist/types/event.js.map +1 -0
  89. package/NPM-dist/types/fb-instant.d.ts +1 -0
  90. package/NPM-dist/types/fb-instant.d.ts.map +1 -0
  91. package/NPM-dist/types/heatmap.d.ts +1 -0
  92. package/NPM-dist/types/heatmap.d.ts.map +1 -0
  93. package/NPM-dist/types/holidays.d.ts +2 -1
  94. package/NPM-dist/types/holidays.d.ts.map +1 -0
  95. package/NPM-dist/types/http-status.d.ts +1 -0
  96. package/NPM-dist/types/http-status.d.ts.map +1 -0
  97. package/NPM-dist/types/iframe-tracking.d.ts +1 -0
  98. package/NPM-dist/types/iframe-tracking.d.ts.map +1 -0
  99. package/NPM-dist/types/index.d.ts +199 -0
  100. package/NPM-dist/types/index.d.ts.map +1 -0
  101. package/NPM-dist/types/inpageclick.js +1 -0
  102. package/NPM-dist/types/inpageclick.js.map +1 -0
  103. package/NPM-dist/types/interaction.js +1 -0
  104. package/NPM-dist/types/interaction.js.map +1 -0
  105. package/NPM-dist/types/interactive.d.ts +1 -0
  106. package/NPM-dist/types/interactive.d.ts.map +1 -0
  107. package/NPM-dist/types/jobs-courses.d.ts +2 -1
  108. package/NPM-dist/types/jobs-courses.d.ts.map +1 -0
  109. package/NPM-dist/types/jobs.d.ts +2 -1
  110. package/NPM-dist/types/jobs.d.ts.map +1 -0
  111. package/NPM-dist/types/link.js +1 -0
  112. package/NPM-dist/types/link.js.map +1 -0
  113. package/NPM-dist/types/media.js +1 -0
  114. package/NPM-dist/types/media.js.map +1 -0
  115. package/NPM-dist/types/membership.d.ts +2 -1
  116. package/NPM-dist/types/membership.d.ts.map +1 -0
  117. package/NPM-dist/types/ng.d.ts +2 -13
  118. package/NPM-dist/types/ng.d.ts.map +1 -0
  119. package/NPM-dist/types/perf.d.ts +2 -1
  120. package/NPM-dist/types/perf.d.ts.map +1 -0
  121. package/NPM-dist/types/platform.js +1 -0
  122. package/NPM-dist/types/platform.js.map +1 -0
  123. package/NPM-dist/types/printproduct.js +1 -0
  124. package/NPM-dist/types/printproduct.js.map +1 -0
  125. package/NPM-dist/types/privatebrowsing.d.ts +1 -0
  126. package/NPM-dist/types/privatebrowsing.d.ts.map +1 -0
  127. package/NPM-dist/types/product.js +1 -0
  128. package/NPM-dist/types/product.js.map +1 -0
  129. package/NPM-dist/types/r2.d.ts +1 -0
  130. package/NPM-dist/types/r2.d.ts.map +1 -0
  131. package/NPM-dist/types/smart-news.d.ts +2 -1
  132. package/NPM-dist/types/smart-news.d.ts.map +1 -0
  133. package/NPM-dist/types/subscription.js +1 -0
  134. package/NPM-dist/types/subscription.js.map +1 -0
  135. package/NPM-dist/types/tests/attention.test.d.ts +1 -0
  136. package/NPM-dist/types/tests/attention.test.d.ts.map +1 -0
  137. package/NPM-dist/types/tests/click-path-capture.test.d.ts +1 -0
  138. package/NPM-dist/types/tests/click-path-capture.test.d.ts.map +1 -0
  139. package/NPM-dist/types/tests/components.test.d.ts +1 -0
  140. package/NPM-dist/types/tests/components.test.d.ts.map +1 -0
  141. package/NPM-dist/types/tests/core.test.d.ts +1 -0
  142. package/NPM-dist/types/tests/core.test.d.ts.map +1 -0
  143. package/NPM-dist/types/tests/heatmap.test.d.ts +1 -0
  144. package/NPM-dist/types/tests/heatmap.test.d.ts.map +1 -0
  145. package/NPM-dist/types/tests/index.test.d.ts +2 -0
  146. package/NPM-dist/types/tests/index.test.d.ts.map +1 -0
  147. package/NPM-dist/types/tests/transmit.test.d.ts +1 -0
  148. package/NPM-dist/types/tests/transmit.test.d.ts.map +1 -0
  149. package/NPM-dist/types/transmit.d.ts +1 -0
  150. package/NPM-dist/types/transmit.d.ts.map +1 -0
  151. package/NPM-dist/types/types/abtest.d.ts +1 -0
  152. package/NPM-dist/types/types/abtest.d.ts.map +1 -0
  153. package/NPM-dist/types/types/component-event.d.ts +15 -0
  154. package/NPM-dist/types/types/component-event.d.ts.map +1 -0
  155. package/NPM-dist/types/types/component-type.d.ts +7 -0
  156. package/NPM-dist/types/types/component-type.d.ts.map +1 -0
  157. package/NPM-dist/types/types/consent.d.ts +1 -0
  158. package/NPM-dist/types/types/consent.d.ts.map +1 -0
  159. package/NPM-dist/types/types/event.d.ts +11 -0
  160. package/NPM-dist/types/types/event.d.ts.map +1 -0
  161. package/NPM-dist/types/types/inpageclick.d.ts +1 -0
  162. package/NPM-dist/types/types/inpageclick.d.ts.map +1 -0
  163. package/NPM-dist/types/types/interaction.d.ts +1 -0
  164. package/NPM-dist/types/types/interaction.d.ts.map +1 -0
  165. package/NPM-dist/types/types/link.d.ts +1 -0
  166. package/NPM-dist/types/types/link.d.ts.map +1 -0
  167. package/NPM-dist/types/types/media.d.ts +1 -0
  168. package/NPM-dist/types/types/media.d.ts.map +1 -0
  169. package/NPM-dist/types/types/platform.d.ts +1 -0
  170. package/NPM-dist/types/types/platform.d.ts.map +1 -0
  171. package/NPM-dist/types/types/printproduct.d.ts +1 -0
  172. package/NPM-dist/types/types/printproduct.d.ts.map +1 -0
  173. package/NPM-dist/types/types/product.d.ts +7 -0
  174. package/NPM-dist/types/types/product.d.ts.map +1 -0
  175. package/NPM-dist/types/types/subscription.d.ts +1 -0
  176. package/NPM-dist/types/types/subscription.d.ts.map +1 -0
  177. package/NPM-dist/types/vendor/adBlockDetectionLib.d.ts +3 -1
  178. package/NPM-dist/types/vendor/adBlockDetectionLib.d.ts.map +1 -0
  179. package/NPM-dist/types/visibility.d.ts +2 -1
  180. package/NPM-dist/types/visibility.d.ts.map +1 -0
  181. package/NPM-dist/types/witness.d.ts +2 -1
  182. package/NPM-dist/types/witness.d.ts.map +1 -0
  183. package/NPM-dist/vendor/adBlockDetectionLib.js +19 -6
  184. package/NPM-dist/vendor/adBlockDetectionLib.js.map +1 -0
  185. package/NPM-dist/visibility.js +14 -5
  186. package/NPM-dist/visibility.js.map +1 -0
  187. package/NPM-dist/witness.js +1 -0
  188. package/NPM-dist/witness.js.map +1 -0
  189. package/package.json +12 -26
  190. package/readme.md +112 -53
  191. package/src/index.ts +360 -0
  192. package/src/ng.ts +33 -0
  193. package/src/transmit.ts +176 -0
  194. package/src/types/abtest.ts +45 -0
  195. package/src/types/component-event.ts +121 -0
  196. package/src/types/component-type.ts +70 -0
  197. package/src/types/consent.ts +49 -0
  198. package/src/types/event.ts +116 -0
  199. package/src/types/inpageclick.ts +13 -0
  200. package/src/types/interaction.ts +19 -0
  201. package/src/types/link.ts +14 -0
  202. package/src/types/media.ts +184 -0
  203. package/src/types/platform.ts +32 -0
  204. package/src/types/printproduct.ts +53 -0
  205. package/src/types/product.ts +72 -0
  206. package/src/types/subscription.ts +70 -0
  207. package/NPM-dist/manage-my-account.js +0 -46
  208. package/NPM-dist/support.js +0 -45
  209. package/NPM-dist/types/manage-my-account.d.ts +0 -28
  210. package/NPM-dist/types/support.d.ts +0 -28
@@ -1,20 +1,26 @@
1
1
  import abd from './vendor/adBlockDetectionLib.js';
2
+ let detector;
2
3
  export default {
3
4
  run() {
4
5
  return new Promise((resolve, reject) => {
5
- if (abd.init) {
6
- try {
7
- abd.init({
8
- complete: resolve,
9
- });
10
- }
11
- catch (error) {
12
- reject(error);
13
- }
14
- }
15
- else {
6
+ if (!abd.init) {
16
7
  reject(new Error('Failed to initialise adblock detection'));
8
+ return;
9
+ }
10
+ if (typeof window === 'undefined' || typeof document === 'undefined') {
11
+ resolve(false);
12
+ return;
13
+ }
14
+ try {
15
+ detector = detector || abd.init();
16
+ detector({
17
+ complete: resolve,
18
+ });
19
+ }
20
+ catch (error) {
21
+ reject(error);
17
22
  }
18
23
  });
19
24
  },
20
25
  };
26
+ //# sourceMappingURL=adblock-detection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adblock-detection.js","sourceRoot":"","sources":["../src/adblock-detection.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iCAAiC,CAAC;AAElD,IAAI,QAAQ,CAAC;AAEb,eAAe;IACd,GAAG;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACR,CAAC;YAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACtE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACR,CAAC;YAED,IAAI,CAAC;gBACJ,QAAQ,GAAG,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClC,QAAQ,CAAC;oBACR,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC"}
@@ -44,28 +44,32 @@ let decayTimerId = null;
44
44
  let videoPlaying = false;
45
45
  // Helper function to check if any video components are tracking, is that video in view and not playing
46
46
  const shouldBlockVideoComponentTracking = () => {
47
- const isTrackedVideoInView = components.some(component => component.isTrackingVideo && component.visible);
47
+ const isTrackedVideoInView = components.some((component) => component.isTrackingVideo && component.visible);
48
48
  const shouldBlockVideoTracking = isTrackedVideoInView && !videoPlaying;
49
49
  return shouldBlockVideoTracking;
50
50
  };
51
51
  const cancelDecayTimer = () => {
52
- if (decayTimerId != null) {
52
+ if (decayTimerId != null && typeof window !== 'undefined') {
53
53
  window.clearTimeout(decayTimerId);
54
54
  }
55
55
  decayTimerId = null;
56
56
  };
57
57
  const makeActive = () => {
58
58
  // Always update global attention
59
- if (unrecordedAttentionStarted == null) {
59
+ if (unrecordedAttentionStarted == null &&
60
+ typeof window !== 'undefined' &&
61
+ window.performance) {
60
62
  unrecordedAttentionStarted = performance.now();
61
63
  }
62
64
  // reset decay time as the page has been considered "active"
63
65
  cancelDecayTimer();
64
- decayTimerId = window.setTimeout(() => {
65
- if (!videoPlaying) {
66
- makeInactive();
67
- }
68
- }, ATTENTIONDECAY);
66
+ if (typeof window !== 'undefined') {
67
+ decayTimerId = window.setTimeout(() => {
68
+ if (!videoPlaying) {
69
+ makeInactive();
70
+ }
71
+ }, ATTENTIONDECAY);
72
+ }
69
73
  // Only start component monitoring if allowed
70
74
  const blockVideoComponentTracking = shouldBlockVideoComponentTracking();
71
75
  if (blockVideoComponentTracking) {
@@ -76,7 +80,9 @@ const makeActive = () => {
76
80
  }
77
81
  };
78
82
  const incrementTotalAttentionTimeByUnrecordedAmount = () => {
79
- if (unrecordedAttentionStarted != null) {
83
+ if (unrecordedAttentionStarted != null &&
84
+ typeof window !== 'undefined' &&
85
+ window.performance) {
80
86
  const now = performance.now();
81
87
  const unrecordedMs = Math.min(now - unrecordedAttentionStarted, REPORTINGINTERVAL);
82
88
  totalAttentionMs += unrecordedMs;
@@ -107,17 +113,21 @@ const initComponent = (name, el, visibilityThreshold = 0.5, isTrackingVideo = fa
107
113
  componentUtils.registerComponent(name, el, visibilityThreshold, REPORTINGINTERVAL, isTrackingVideo);
108
114
  };
109
115
  const initAttention = (visibility) => {
116
+ if (typeof window === 'undefined' || typeof document === 'undefined')
117
+ return;
110
118
  EVENTS.forEach((event) => {
111
119
  window.addEventListener(event, makeActive, USECAPTURE);
112
120
  });
113
- document.addEventListener(visibility.changeEvent, () => {
114
- if (visibility.state() === 'visible') {
115
- makeActive();
116
- }
117
- else {
118
- makeInactive();
119
- }
120
- }, false);
121
+ if (visibility.changeEvent) {
122
+ document.addEventListener(visibility.changeEvent, () => {
123
+ if (visibility.state() === 'visible') {
124
+ makeActive();
125
+ }
126
+ else {
127
+ makeInactive();
128
+ }
129
+ }, false);
130
+ }
121
131
  document.addEventListener('videoPlaying', () => {
122
132
  videoPlaying = true;
123
133
  makeActive();
@@ -130,8 +140,10 @@ const initAttention = (visibility) => {
130
140
  videoPlaying = false;
131
141
  componentUtils.stopVideoComponentMonitoring();
132
142
  });
133
- window.setTimeout(reporter, 100);
134
- window.setInterval(reporter, REPORTINGINTERVAL);
143
+ if (typeof window !== 'undefined') {
144
+ window.setTimeout(reporter, 100);
145
+ window.setInterval(reporter, REPORTINGINTERVAL);
146
+ }
135
147
  };
136
148
  const setEventEmitter = (emitter) => {
137
149
  componentUtils.setEventEmitter(emitter);
@@ -141,3 +153,4 @@ export default {
141
153
  initComponent: initComponent,
142
154
  setEventEmitter: setEventEmitter,
143
155
  };
156
+ //# sourceMappingURL=attention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attention.js","sourceRoot":"","sources":["../src/attention.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  // Generated by CoffeeScript 2.7.0
2
2
  import transmit from './transmit.js';
3
3
  import perf from './perf.js';
4
- const start = perf?.timing?.domComplete ?? performance.now();
4
+ const now = () => typeof performance !== 'undefined' && typeof performance.now === 'function'
5
+ ? performance.now()
6
+ : Date.now();
7
+ const start = perf?.timing?.domComplete ?? now();
5
8
  // DFP ads
6
9
  if (typeof googletag !== 'undefined' && googletag !== null) {
7
10
  googletag.cmd.push(() => {
@@ -13,7 +16,7 @@ if (typeof googletag !== 'undefined' && googletag !== null) {
13
16
  slot: slotId,
14
17
  campaignId: event.isEmpty ? '__empty__' : event.lineItemId,
15
18
  creativeId: event.creativeId,
16
- timeToRenderEnded: Math.round(performance.now() - start),
19
+ timeToRenderEnded: Math.round(now() - start),
17
20
  adServer: 'DFP',
18
21
  },
19
22
  ],
@@ -21,3 +24,4 @@ if (typeof googletag !== 'undefined' && googletag !== null) {
21
24
  });
22
25
  });
23
26
  }
27
+ //# sourceMappingURL=campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../src/campaign.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,GAAG,GAAG,GAAG,EAAE,CAChB,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU;IAC1E,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;IACnB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAEf,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,IAAI,GAAG,EAAE,CAAC;AAEjD,UAAU;AACV,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;IAC5D,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;QACvB,SAAS,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjD,QAAQ,CAAC,QAAQ,CAAC;gBACjB,GAAG,EAAE;oBACJ;wBACC,IAAI,EAAE,MAAM;wBACZ,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;wBAC1D,UAAU,EAAE,KAAK,CAAC,UAAU;wBAC5B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;wBAC5C,QAAQ,EAAE,KAAK;qBACf;iBACD;aACD,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -32,6 +32,8 @@ export const getContainingComponent = (el) => {
32
32
  * @returns {string[]} Array of `data-link-name` values.
33
33
  */
34
34
  const getDataLinkNames = (el, dataLinkNames = []) => {
35
+ if (typeof document === 'undefined')
36
+ return dataLinkNames;
35
37
  if (!el || el === document.body || el === document)
36
38
  return dataLinkNames;
37
39
  const dataLinkName = el.getAttribute('data-link-name');
@@ -46,7 +48,7 @@ const getDataLinkNames = (el, dataLinkNames = []) => {
46
48
  * @param {Element} element - The element that was clicked.
47
49
  */
48
50
  export const trackClickComponentEvent = (element) => {
49
- if (!element)
51
+ if (!element || typeof window === 'undefined')
50
52
  return;
51
53
  const info = {
52
54
  from: [location.protocol, '//', location.host, location.pathname].join(''),
@@ -68,7 +70,7 @@ export const trackClickComponentEvent = (element) => {
68
70
  ophan.storeDataToSendOnNextEvent(info);
69
71
  }
70
72
  };
71
- if (typeof document.addEventListener === 'function') {
73
+ if (typeof document !== 'undefined' && typeof document.addEventListener === 'function') {
72
74
  document.addEventListener('click', function (e) {
73
75
  let target = e.target;
74
76
  // For anchors, use validAncestorAnchorElement
@@ -97,3 +99,4 @@ export default {
97
99
  getDataLinkNames: getDataLinkNames,
98
100
  trackClickComponentEvent: trackClickComponentEvent,
99
101
  };
102
+ //# sourceMappingURL=click-path-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click-path-capture.js","sourceRoot":"","sources":["../src/click-path-capture.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAC;AAC9B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAE,EAAE,EAAE;IAChD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG;QACvC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,EAAE,EAAE;IAC5C,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,CACN,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,UAAU,CAAC,CAC1E,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,EAAE;IACnD,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,aAAa,CAAC;IAC1D,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC;IAEzE,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,YAAY;QAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEnD,OAAO,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE;IACnD,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAEtD,MAAM,IAAI,GAAG;QACZ,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1E,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;QAC7B,kBAAkB,EAAE,sBAAsB,CAAC,OAAO,CAAC;QACnD,sBAAsB,EAAE,gBAAgB,CAAC,OAAO,CAAC;QACjD,WAAW,EAAE,KAAK,CAAC,eAAe,EAAE;QACpC,SAAS,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;IAEF,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,QAAQ,CAAC,QAAQ,CAAC;YACjB,cAAc,EAAE,IAAI,CAAC,kBAAkB;YACvC,cAAc,EAAE,IAAI,CAAC,sBAAsB;SAC3C,CAAC,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,YAAY,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC;QAClB,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;AACF,CAAC,CAAC;AAEF,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;IACxF,QAAQ,CAAC,gBAAgB,CACxB,OAAO,EACP,UAAU,CAAC;QACV,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAEtB,8CAA8C;QAC9C,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAExD,MAAM,oBAAoB,GAAG;YAC5B,KAAK;YACL,MAAM;YACN,GAAG;YACH,SAAS;YACT,SAAS;YACT,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,KAAK;SACL,CAAC;QAEF,IACC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3D,CAAC,YAAY,EACZ,CAAC;YACF,OAAO;QACR,CAAC;QAED,yEAAyE;QACzE,MAAM,cAAc,GAAG,YAAY,IAAI,MAAM,CAAC;QAE9C,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC,EACD,KAAK,CACL,CAAC;AACH,CAAC;AAED,eAAe;IACd,gBAAgB,EAAE,gBAAgB;IAClC,wBAAwB,EAAE,wBAAwB;CAClD,CAAC"}
@@ -171,3 +171,4 @@ export default {
171
171
  return components.push(new Component(name, el, visibilityThreshold, reportingInterval, isTrackingVideo));
172
172
  },
173
173
  };
174
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.js"],"names":[],"mappings":"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"}
@@ -14,3 +14,4 @@ export default {
14
14
  record: transmit.sendMore,
15
15
  get viewId() { return transmit.viewId; },
16
16
  };
17
+ //# sourceMappingURL=contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contribution.js","sourceRoot":"","sources":["../src/contribution.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,yBAAyB,CAAC;AAEjC,OAAO,WAAW,CAAC;AAEnB,OAAO,eAAe,CAAC;AAEvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAE1B,IAAI,MAAM,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;IACrC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,eAAe;IACd,MAAM,EAAE,QAAQ,CAAC,QAAQ;IACzB,IAAI,MAAM,KAAK,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC,CAAC"}
package/NPM-dist/core.js CHANGED
@@ -3,17 +3,36 @@ import transmit from './transmit.js';
3
3
  import visibility from './visibility.js';
4
4
  import adblockDetection from './adblock-detection.js';
5
5
  const VERSION = 17;
6
- let doc = window.document;
7
- const canStoreEventsInLocalStorage = window.localStorage != null && typeof JSON !== 'undefined' && JSON !== null;
6
+ // Move browser-dependent variables into init function
7
+ let doc = null;
8
+ let canStoreEventsInLocalStorage = false;
8
9
  let platform = null;
9
10
  const MaximumComponentNameLength = 50;
10
11
  init = function (servingPlatform, httpStatus) {
11
12
  platform = servingPlatform;
13
+ if (typeof window !== 'undefined') {
14
+ doc = window.document;
15
+ canStoreEventsInLocalStorage =
16
+ window.localStorage != null &&
17
+ typeof JSON !== 'undefined' &&
18
+ JSON !== null;
19
+ if (window.addEventListener) {
20
+ window.addEventListener('pageshow', function (event) {
21
+ if (event.persisted) {
22
+ transmit.bumpViewId();
23
+ sendInitialEvent(httpStatus, window.location.href, window.document.referrer, 'bfcache');
24
+ }
25
+ }, false);
26
+ }
27
+ }
28
+ else {
29
+ return;
30
+ }
12
31
  if (visibility.state() !== 'prerender') {
13
32
  return sendInitialEvent(httpStatus);
14
33
  }
15
34
  else {
16
- if (visibility.changeEvent) {
35
+ if (visibility.changeEvent && doc) {
17
36
  return doc.addEventListener(visibility.changeEvent, function () {
18
37
  if (visibility.state() === 'visible') {
19
38
  return sendInitialEvent(httpStatus);
@@ -30,6 +49,8 @@ init = function (servingPlatform, httpStatus) {
30
49
  * @returns {string | undefined} The value of the query parameter, or undefined if not found.
31
50
  */
32
51
  const getQueryParameterValue = (paramName) => {
52
+ if (typeof window === 'undefined')
53
+ return;
33
54
  const queryString = window.location.search.substring(1);
34
55
  const queryParams = queryString.split('&');
35
56
  for (const param of queryParams) {
@@ -57,7 +78,7 @@ const getReferrer = (referrer) => {
57
78
  * @returns {string | null} The navigation type (e.g., 'navigate', 'reload', 'back_forward'), or null if not available.
58
79
  */
59
80
  const getNavigationType = () => {
60
- if (window.performance?.getEntriesByType) {
81
+ if (typeof window !== 'undefined' && window.performance?.getEntriesByType) {
61
82
  const entries = window.performance.getEntriesByType('navigation');
62
83
  if (entries.length > 0) {
63
84
  return entries[0].type;
@@ -65,7 +86,7 @@ const getNavigationType = () => {
65
86
  }
66
87
  return null;
67
88
  };
68
- sendInitialEvent = function (httpStatus, url = location.href, referrer = window.document.referrer, loadType = 'normal') {
89
+ sendInitialEvent = function (httpStatus, url = typeof window !== 'undefined' ? location.href : '', referrer = typeof window !== 'undefined' ? window.document.referrer : '', loadType = 'normal') {
69
90
  const navigationType = getNavigationType();
70
91
  // send initial event
71
92
  const event = {
@@ -87,7 +108,7 @@ sendInitialEvent = function (httpStatus, url = location.href, referrer = window.
87
108
  if (loadType !== 'normal') {
88
109
  event.loadType = loadType;
89
110
  }
90
- appendContentType(event, platform, window.guardian);
111
+ appendContentType(event, platform, typeof guardian !== 'undefined' ? guardian : undefined);
91
112
  appendDataFromLocalStorageToEvent(event);
92
113
  transmit.sendInitial(event);
93
114
  return adblockDetection.run().then(function (adBlockerEnabled) {
@@ -108,7 +129,7 @@ const onLoadCaptures = [];
108
129
  * Refer to the `perf.js` file where this function is used for more info.
109
130
  */
110
131
  const onLoadCapture = (dataCapture) => {
111
- if (document.readyState === 'complete') {
132
+ if (typeof document !== 'undefined' && document.readyState === 'complete') {
112
133
  const msg = { ...dataCapture() };
113
134
  transmit.sendMore(msg);
114
135
  }
@@ -135,7 +156,9 @@ const processCaptures = () => {
135
156
  }
136
157
  transmit.sendMore(msg);
137
158
  };
138
- window.addEventListener?.('load', processCaptures, false);
159
+ if (typeof window !== 'undefined') {
160
+ window.addEventListener?.('load', processCaptures, false);
161
+ }
139
162
  /**
140
163
  * Appends data from local storage to a given event object.
141
164
  * Specifically targets data stored under the 'ophan_follow' key in localStorage.
@@ -172,8 +195,12 @@ const trimComponentNamesToUrlSafeLength = (componentNames) => {
172
195
  * @param {Object} event - The event object to which component data will be appended.
173
196
  */
174
197
  const appendComponentDataToEvent = (event) => {
198
+ if (typeof document === 'undefined')
199
+ return;
175
200
  const componentElements = document.querySelectorAll('[data-component]');
176
- const componentNames = Array.prototype.slice.call(componentElements).map((el) => el.getAttribute('data-component'));
201
+ const componentNames = Array.prototype.slice
202
+ .call(componentElements)
203
+ .map((el) => el.getAttribute('data-component'));
177
204
  if (componentNames.length > 0) {
178
205
  const trimmedComponentNames = trimComponentNamesToUrlSafeLength(componentNames);
179
206
  // uniquify
@@ -216,7 +243,9 @@ export default {
216
243
  servingPlatform: function () {
217
244
  return platform;
218
245
  },
219
- get viewId() { return transmit.viewId; },
246
+ get viewId() {
247
+ return transmit.viewId;
248
+ },
220
249
  sendInitialEvent: sendInitialEvent,
221
250
  };
222
251
  /**
@@ -231,3 +260,4 @@ export const _testExports = {
231
260
  processCaptures,
232
261
  appendContentType,
233
262
  };
263
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.js"],"names":[],"mappings":"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"}
package/NPM-dist/embed.js CHANGED
@@ -6,3 +6,4 @@ export default {
6
6
  record: transmit.sendMore,
7
7
  get viewId() { return transmit.viewId; },
8
8
  };
9
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEnB,eAAe;IACd,MAAM,EAAE,QAAQ,CAAC,QAAQ;IACzB,IAAI,MAAM,KAAK,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC,CAAC"}
@@ -5,3 +5,4 @@ core.init('facebook-instant-article');
5
5
  export default {
6
6
  get viewId() { return transmit.viewId; },
7
7
  };
8
+ //# sourceMappingURL=fb-instant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fb-instant.js","sourceRoot":"","sources":["../src/fb-instant.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAEtC,eAAe;IACd,IAAI,MAAM,KAAK,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC,CAAC"}
@@ -1,5 +1,8 @@
1
1
  let heatmapFired = false;
2
2
  const init = () => {
3
+ // Only run in browser environment
4
+ if (typeof window === 'undefined' || typeof document === 'undefined')
5
+ return;
3
6
  const addHeatmap = () => {
4
7
  let heatmapParam;
5
8
  if (typeof localStorage !== 'undefined' &&
@@ -32,3 +35,4 @@ const init = () => {
32
35
  export default {
33
36
  init,
34
37
  };
38
+ //# sourceMappingURL=heatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heatmap.js","sourceRoot":"","sources":["../src/heatmap.js"],"names":[],"mappings":"AAAA,IAAI,YAAY,GAAG,KAAK,CAAC;AAEzB,MAAM,IAAI,GAAG,GAAG,EAAE;IACjB,kCAAkC;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAE7E,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,YAAY,CAAC;QACjB,IACC,OAAO,YAAY,KAAK,WAAW;YACnC,YAAY,KAAK,IAAI;YACrB,CAAC,YAAY,EACZ,CAAC;YACF,YAAY,GAAG,IAAI,CAAC;YACpB,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAC5C,uCAAuC,EACvC,IAAI,CACJ,CAAC;YAEF,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAChC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAChC,CAAC,GAAG,GAAG,2DAA2D,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBACzD,YAAY,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;YAC9C,CAAC;YAED,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBACzE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAChC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAChC,CAAC,GAAG,GAAG,0DAA0D,CAAC,CAAC;YACrE,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,UAAU,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACP,OAAO,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;YACnD,CAAC,CAAC,MAAM,CAAC,gBAAgB,CACvB,MAAM,EACN;gBACC,OAAO,UAAU,EAAE,CAAC;YACrB,CAAC,EACD,KAAK,CACL;YACF,CAAC,CAAC,KAAK,CAAC,CAAC;IACX,CAAC;AACF,CAAC,CAAC;AAEF,eAAe;IACd,IAAI;CACJ,CAAC"}
@@ -6,3 +6,4 @@ export default {
6
6
  record: transmit.sendMore,
7
7
  get viewId() { return transmit.viewId; },
8
8
  };
9
+ //# sourceMappingURL=holidays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holidays.js","sourceRoot":"","sources":["../src/holidays.js"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAEtB,eAAe;IACd,MAAM,EAAE,QAAQ,CAAC,QAAQ;IACzB,IAAI,MAAM,KAAK,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC,CAAC"}
@@ -9,3 +9,4 @@ const reportStatus = (platform, status) => {
9
9
  export default {
10
10
  reportStatus,
11
11
  };
12
+ //# sourceMappingURL=http-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-status.js","sourceRoot":"","sources":["../src/http-status.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,eAAe,CAAC;AACvB,OAAO,yBAAyB,CAAC;AACjC,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AAEvB,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,eAAe;IACd,YAAY;CACZ,CAAC"}
@@ -9,6 +9,8 @@ const validIframeDomains = [
9
9
  * @param {MessageEvent} messageEvent - The message event received from an iframe.
10
10
  */
11
11
  const handleIframeMessage = (messageEvent) => {
12
+ if (typeof document === 'undefined')
13
+ return;
12
14
  const originDomain = retrieveOriginDomain(messageEvent.origin);
13
15
  if (originDomain &&
14
16
  validIframeDomains.some((domain) => originDomain.endsWith(domain))) {
@@ -49,12 +51,16 @@ const retrieveOriginDomain = (eventOrigin) => {
49
51
  * @param {Object} clickEvent - The click event object to record.
50
52
  */
51
53
  const recordIframeClickEvent = (iFrame, clickEvent) => {
54
+ if (typeof window === 'undefined')
55
+ return;
52
56
  if (iFrame) {
53
57
  clickEvent.clickLinkNames =
54
58
  clickCapture.getDataLinkNames(iFrame, clickEvent.clickLinkNames) ||
55
59
  clickEvent.clickLinkNames;
56
60
  }
57
- window.guardian.ophan.record(clickEvent);
61
+ if (window.guardian?.ophan?.record) {
62
+ window.guardian.ophan.record(clickEvent);
63
+ }
58
64
  };
59
65
  /**
60
66
  * Validates if an event object is a valid component event.
@@ -72,9 +78,16 @@ const componentEventIsValid = (eventObject) => {
72
78
  * @param {Object} eventObject - The component event object to record.
73
79
  */
74
80
  const recordIframeComponentEvent = (eventObject) => {
81
+ if (typeof window === 'undefined')
82
+ return;
75
83
  if (!componentEventIsValid(eventObject)) {
76
84
  return;
77
85
  }
78
- window.guardian.ophan.record(eventObject);
86
+ if (window.guardian?.ophan?.record) {
87
+ window.guardian.ophan.record(eventObject);
88
+ }
79
89
  };
80
- window.addEventListener('message', handleIframeMessage, false);
90
+ if (typeof window !== 'undefined') {
91
+ window.addEventListener('message', handleIframeMessage, false);
92
+ }
93
+ //# sourceMappingURL=iframe-tracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe-tracking.js","sourceRoot":"","sources":["../src/iframe-tracking.js"],"names":[],"mappings":"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"}