@absmartly/sdk-plugins 1.0.1

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 (177) hide show
  1. package/README.md +1101 -0
  2. package/dist/absmartly-cookie.min.js +1 -0
  3. package/dist/absmartly-dom-changes-core.min.js +1 -0
  4. package/dist/absmartly-dom-changes-lite.min.js +1 -0
  5. package/dist/absmartly-overrides-full.min.js +1 -0
  6. package/dist/absmartly-overrides-lite.min.js +1 -0
  7. package/dist/absmartly-sdk-plugins.min.js +1 -0
  8. package/dist/absmartly-vitals.min.js +1 -0
  9. package/es/cookies/CookiePlugin.js +410 -0
  10. package/es/cookies/CookiePlugin.js.map +1 -0
  11. package/es/cookies/index.js +2 -0
  12. package/es/cookies/index.js.map +1 -0
  13. package/es/core/DOMChangesPluginLite.js +1124 -0
  14. package/es/core/DOMChangesPluginLite.js.map +1 -0
  15. package/es/core/DOMManipulatorLite.js +410 -0
  16. package/es/core/DOMManipulatorLite.js.map +1 -0
  17. package/es/core/ExposureTracker.js +501 -0
  18. package/es/core/ExposureTracker.js.map +1 -0
  19. package/es/core/HTMLInjector.js +333 -0
  20. package/es/core/HTMLInjector.js.map +1 -0
  21. package/es/core/PendingChangeManager.js +440 -0
  22. package/es/core/PendingChangeManager.js.map +1 -0
  23. package/es/core/StyleSheetManager.js +78 -0
  24. package/es/core/StyleSheetManager.js.map +1 -0
  25. package/es/entries/cookie-only.js +10 -0
  26. package/es/entries/cookie-only.js.map +1 -0
  27. package/es/entries/dom-only.js +13 -0
  28. package/es/entries/dom-only.js.map +1 -0
  29. package/es/entries/dom-with-overrides-full.js +19 -0
  30. package/es/entries/dom-with-overrides-full.js.map +1 -0
  31. package/es/entries/dom-with-overrides-lite.js +15 -0
  32. package/es/entries/dom-with-overrides-lite.js.map +1 -0
  33. package/es/entries/overrides-full-only.js +15 -0
  34. package/es/entries/overrides-full-only.js.map +1 -0
  35. package/es/entries/overrides-lite-only.js +12 -0
  36. package/es/entries/overrides-lite-only.js.map +1 -0
  37. package/es/entries/vitals-only.js +10 -0
  38. package/es/entries/vitals-only.js.map +1 -0
  39. package/es/index.js +17 -0
  40. package/es/index.js.map +1 -0
  41. package/es/overrides/BrowserCookieAdapter.js +76 -0
  42. package/es/overrides/BrowserCookieAdapter.js.map +1 -0
  43. package/es/overrides/OverridesPlugin.js +903 -0
  44. package/es/overrides/OverridesPlugin.js.map +1 -0
  45. package/es/overrides/OverridesPluginFull.js +32 -0
  46. package/es/overrides/OverridesPluginFull.js.map +1 -0
  47. package/es/overrides/OverridesPluginLite.js +352 -0
  48. package/es/overrides/OverridesPluginLite.js.map +1 -0
  49. package/es/overrides/index.js +4 -0
  50. package/es/overrides/index.js.map +1 -0
  51. package/es/overrides/types.js +2 -0
  52. package/es/overrides/types.js.map +1 -0
  53. package/es/parsers/VariantExtractor.js +570 -0
  54. package/es/parsers/VariantExtractor.js.map +1 -0
  55. package/es/types/index.js +2 -0
  56. package/es/types/index.js.map +1 -0
  57. package/es/utils/URLMatcher.js +114 -0
  58. package/es/utils/URLMatcher.js.map +1 -0
  59. package/es/utils/debug.js +184 -0
  60. package/es/utils/debug.js.map +1 -0
  61. package/es/vitals/WebVitalsPlugin.js +379 -0
  62. package/es/vitals/WebVitalsPlugin.js.map +1 -0
  63. package/es/vitals/index.js +2 -0
  64. package/es/vitals/index.js.map +1 -0
  65. package/lib/cookies/CookiePlugin.d.ts +55 -0
  66. package/lib/cookies/CookiePlugin.js +413 -0
  67. package/lib/cookies/CookiePlugin.js.map +1 -0
  68. package/lib/cookies/index.d.ts +2 -0
  69. package/lib/cookies/index.js +6 -0
  70. package/lib/cookies/index.js.map +1 -0
  71. package/lib/core/DOMChangesPluginLite.d.ts +89 -0
  72. package/lib/core/DOMChangesPluginLite.js +1127 -0
  73. package/lib/core/DOMChangesPluginLite.js.map +1 -0
  74. package/lib/core/DOMManipulatorLite.d.ts +21 -0
  75. package/lib/core/DOMManipulatorLite.js +413 -0
  76. package/lib/core/DOMManipulatorLite.js.map +1 -0
  77. package/lib/core/ExposureTracker.d.ts +81 -0
  78. package/lib/core/ExposureTracker.js +504 -0
  79. package/lib/core/ExposureTracker.js.map +1 -0
  80. package/lib/core/HTMLInjector.d.ts +19 -0
  81. package/lib/core/HTMLInjector.js +336 -0
  82. package/lib/core/HTMLInjector.js.map +1 -0
  83. package/lib/core/PendingChangeManager.d.ts +31 -0
  84. package/lib/core/PendingChangeManager.js +443 -0
  85. package/lib/core/PendingChangeManager.js.map +1 -0
  86. package/lib/core/StyleSheetManager.d.ts +16 -0
  87. package/lib/core/StyleSheetManager.js +81 -0
  88. package/lib/core/StyleSheetManager.js.map +1 -0
  89. package/lib/entries/cookie-only.d.ts +8 -0
  90. package/lib/entries/cookie-only.js +12 -0
  91. package/lib/entries/cookie-only.js.map +1 -0
  92. package/lib/entries/dom-only.d.ts +9 -0
  93. package/lib/entries/dom-only.js +29 -0
  94. package/lib/entries/dom-only.js.map +1 -0
  95. package/lib/entries/dom-with-overrides-full.d.ts +15 -0
  96. package/lib/entries/dom-with-overrides-full.js +39 -0
  97. package/lib/entries/dom-with-overrides-full.js.map +1 -0
  98. package/lib/entries/dom-with-overrides-lite.d.ts +11 -0
  99. package/lib/entries/dom-with-overrides-lite.js +32 -0
  100. package/lib/entries/dom-with-overrides-lite.js.map +1 -0
  101. package/lib/entries/overrides-full-only.d.ts +11 -0
  102. package/lib/entries/overrides-full-only.js +33 -0
  103. package/lib/entries/overrides-full-only.js.map +1 -0
  104. package/lib/entries/overrides-lite-only.d.ts +8 -0
  105. package/lib/entries/overrides-lite-only.js +28 -0
  106. package/lib/entries/overrides-lite-only.js.map +1 -0
  107. package/lib/entries/vitals-only.d.ts +8 -0
  108. package/lib/entries/vitals-only.js +12 -0
  109. package/lib/entries/vitals-only.js.map +1 -0
  110. package/lib/index.d.ts +13 -0
  111. package/lib/index.js +34 -0
  112. package/lib/index.js.map +1 -0
  113. package/lib/overrides/BrowserCookieAdapter.d.ts +6 -0
  114. package/lib/overrides/BrowserCookieAdapter.js +79 -0
  115. package/lib/overrides/BrowserCookieAdapter.js.map +1 -0
  116. package/lib/overrides/OverridesPlugin.d.ts +33 -0
  117. package/lib/overrides/OverridesPlugin.js +906 -0
  118. package/lib/overrides/OverridesPlugin.js.map +1 -0
  119. package/lib/overrides/OverridesPluginFull.d.ts +9 -0
  120. package/lib/overrides/OverridesPluginFull.js +35 -0
  121. package/lib/overrides/OverridesPluginFull.js.map +1 -0
  122. package/lib/overrides/OverridesPluginLite.d.ts +27 -0
  123. package/lib/overrides/OverridesPluginLite.js +355 -0
  124. package/lib/overrides/OverridesPluginLite.js.map +1 -0
  125. package/lib/overrides/index.d.ts +3 -0
  126. package/lib/overrides/index.js +23 -0
  127. package/lib/overrides/index.js.map +1 -0
  128. package/lib/overrides/types.d.ts +43 -0
  129. package/lib/overrides/types.js +3 -0
  130. package/lib/overrides/types.js.map +1 -0
  131. package/lib/parsers/VariantExtractor.d.ts +49 -0
  132. package/lib/parsers/VariantExtractor.js +573 -0
  133. package/lib/parsers/VariantExtractor.js.map +1 -0
  134. package/lib/types/index.d.ts +177 -0
  135. package/lib/types/index.js +3 -0
  136. package/lib/types/index.js.map +1 -0
  137. package/lib/utils/URLMatcher.d.ts +20 -0
  138. package/lib/utils/URLMatcher.js +117 -0
  139. package/lib/utils/URLMatcher.js.map +1 -0
  140. package/lib/utils/debug.d.ts +41 -0
  141. package/lib/utils/debug.js +195 -0
  142. package/lib/utils/debug.js.map +1 -0
  143. package/lib/vitals/WebVitalsPlugin.d.ts +37 -0
  144. package/lib/vitals/WebVitalsPlugin.js +382 -0
  145. package/lib/vitals/WebVitalsPlugin.js.map +1 -0
  146. package/lib/vitals/index.d.ts +2 -0
  147. package/lib/vitals/index.js +6 -0
  148. package/lib/vitals/index.js.map +1 -0
  149. package/package.json +94 -0
  150. package/types/cookies/CookiePlugin.d.ts +55 -0
  151. package/types/cookies/index.d.ts +2 -0
  152. package/types/core/DOMChangesPluginLite.d.ts +89 -0
  153. package/types/core/DOMManipulatorLite.d.ts +21 -0
  154. package/types/core/ExposureTracker.d.ts +81 -0
  155. package/types/core/HTMLInjector.d.ts +19 -0
  156. package/types/core/PendingChangeManager.d.ts +31 -0
  157. package/types/core/StyleSheetManager.d.ts +16 -0
  158. package/types/entries/cookie-only.d.ts +8 -0
  159. package/types/entries/dom-only.d.ts +9 -0
  160. package/types/entries/dom-with-overrides-full.d.ts +15 -0
  161. package/types/entries/dom-with-overrides-lite.d.ts +11 -0
  162. package/types/entries/overrides-full-only.d.ts +11 -0
  163. package/types/entries/overrides-lite-only.d.ts +8 -0
  164. package/types/entries/vitals-only.d.ts +8 -0
  165. package/types/index.d.ts +13 -0
  166. package/types/overrides/BrowserCookieAdapter.d.ts +6 -0
  167. package/types/overrides/OverridesPlugin.d.ts +33 -0
  168. package/types/overrides/OverridesPluginFull.d.ts +9 -0
  169. package/types/overrides/OverridesPluginLite.d.ts +27 -0
  170. package/types/overrides/index.d.ts +3 -0
  171. package/types/overrides/types.d.ts +43 -0
  172. package/types/parsers/VariantExtractor.d.ts +49 -0
  173. package/types/types/index.d.ts +177 -0
  174. package/types/utils/URLMatcher.d.ts +20 -0
  175. package/types/utils/debug.d.ts +41 -0
  176. package/types/vitals/WebVitalsPlugin.d.ts +37 -0
  177. package/types/vitals/index.d.ts +2 -0
@@ -0,0 +1,379 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __read = (this && this.__read) || function (o, n) {
49
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
50
+ if (!m) return o;
51
+ var i = m.call(o), r, ar = [], e;
52
+ try {
53
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
54
+ }
55
+ catch (error) { e = { error: error }; }
56
+ finally {
57
+ try {
58
+ if (r && !r.done && (m = i["return"])) m.call(i);
59
+ }
60
+ finally { if (e) throw e.error; }
61
+ }
62
+ return ar;
63
+ };
64
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
65
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
66
+ if (ar || !(i in from)) {
67
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
68
+ ar[i] = from[i];
69
+ }
70
+ }
71
+ return to.concat(ar || Array.prototype.slice.call(from));
72
+ };
73
+ var __values = (this && this.__values) || function(o) {
74
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
75
+ if (m) return m.call(o);
76
+ if (o && typeof o.length === "number") return {
77
+ next: function () {
78
+ if (o && i >= o.length) o = void 0;
79
+ return { value: o && o[i++], done: !o };
80
+ }
81
+ };
82
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
83
+ };
84
+ import { logDebug } from '../utils/debug';
85
+ var WebVitalsPlugin = /** @class */ (function () {
86
+ function WebVitalsPlugin(options) {
87
+ if (options === void 0) { options = {}; }
88
+ this.webVitalsLoaded = false;
89
+ this.metricsTracked = false;
90
+ this.context = options.context;
91
+ this.debug = options.debug || false;
92
+ this.trackWebVitals = options.trackWebVitals !== false;
93
+ this.trackPageMetrics = options.trackPageMetrics !== false;
94
+ this.webVitalsUrl =
95
+ options.webVitalsUrl || 'https://unpkg.com/web-vitals@4/dist/web-vitals.iife.js';
96
+ this.autoTrack = options.autoTrack !== false;
97
+ }
98
+ WebVitalsPlugin.prototype.debugLog = function () {
99
+ var args = [];
100
+ for (var _i = 0; _i < arguments.length; _i++) {
101
+ args[_i] = arguments[_i];
102
+ }
103
+ if (this.debug) {
104
+ logDebug.apply(void 0, __spreadArray(['[WebVitalsPlugin]'], __read(args), false));
105
+ }
106
+ };
107
+ WebVitalsPlugin.prototype.setContext = function (context) {
108
+ this.context = context;
109
+ this.debugLog('Context set for WebVitalsPlugin');
110
+ };
111
+ WebVitalsPlugin.prototype.loadWebVitalsLibrary = function () {
112
+ return __awaiter(this, void 0, void 0, function () {
113
+ var _this = this;
114
+ return __generator(this, function (_a) {
115
+ if (this.webVitalsLoaded || typeof window === 'undefined') {
116
+ return [2 /*return*/];
117
+ }
118
+ return [2 /*return*/, new Promise(function (resolve, reject) {
119
+ var script = document.createElement('script');
120
+ script.src = _this.webVitalsUrl;
121
+ script.onload = function () {
122
+ _this.webVitalsLoaded = true;
123
+ _this.debugLog('Web Vitals library loaded');
124
+ resolve();
125
+ };
126
+ script.onerror = function (error) {
127
+ logDebug('[WebVitalsPlugin] Failed to load Web Vitals library:', error);
128
+ reject(error);
129
+ };
130
+ document.head.appendChild(script);
131
+ })];
132
+ });
133
+ });
134
+ };
135
+ WebVitalsPlugin.prototype.trackWebVitalsMetrics = function (context) {
136
+ return __awaiter(this, void 0, void 0, function () {
137
+ var ctx, webVitals, error_1;
138
+ var _this = this;
139
+ return __generator(this, function (_a) {
140
+ switch (_a.label) {
141
+ case 0:
142
+ ctx = context || this.context;
143
+ if (!ctx) {
144
+ logDebug('[WebVitalsPlugin] No context available for tracking web vitals');
145
+ return [2 /*return*/];
146
+ }
147
+ if (!this.trackWebVitals) {
148
+ return [2 /*return*/];
149
+ }
150
+ _a.label = 1;
151
+ case 1:
152
+ _a.trys.push([1, 3, , 4]);
153
+ return [4 /*yield*/, this.loadWebVitalsLibrary()];
154
+ case 2:
155
+ _a.sent();
156
+ webVitals = window.webVitals;
157
+ if (!webVitals) {
158
+ logDebug('[WebVitalsPlugin] Web Vitals library not available');
159
+ return [2 /*return*/];
160
+ }
161
+ // Track Core Web Vitals
162
+ webVitals.onCLS(function (metric) {
163
+ _this.debugLog('CLS:', metric);
164
+ ctx.track('cls_score', __assign({}, metric));
165
+ });
166
+ webVitals.onLCP(function (metric) {
167
+ _this.debugLog('LCP:', metric);
168
+ ctx.track('lcp_score', __assign({}, metric));
169
+ });
170
+ webVitals.onFCP(function (metric) {
171
+ _this.debugLog('FCP:', metric);
172
+ ctx.track('fcp_score', __assign({}, metric));
173
+ });
174
+ webVitals.onINP(function (metric) {
175
+ _this.debugLog('INP:', metric);
176
+ ctx.track('inp_score', __assign({}, metric));
177
+ });
178
+ webVitals.onTTFB(function (metric) {
179
+ _this.debugLog('TTFB:', metric);
180
+ ctx.track('ttfb_score', __assign({}, metric));
181
+ });
182
+ this.debugLog('Web Vitals tracking initialized');
183
+ return [3 /*break*/, 4];
184
+ case 3:
185
+ error_1 = _a.sent();
186
+ logDebug('[WebVitalsPlugin] Error tracking web vitals:', error_1);
187
+ ctx.track('vitals_tracking_error', {
188
+ error: error_1.message,
189
+ type: error_1.name,
190
+ });
191
+ return [3 /*break*/, 4];
192
+ case 4: return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ WebVitalsPlugin.prototype.trackPageMetricsData = function (context) {
198
+ var _this = this;
199
+ var ctx = context || this.context;
200
+ if (!ctx) {
201
+ logDebug('[WebVitalsPlugin] No context available for tracking page metrics');
202
+ return;
203
+ }
204
+ if (!this.trackPageMetrics || this.metricsTracked) {
205
+ return;
206
+ }
207
+ try {
208
+ // Track immediate metrics
209
+ this.trackImmediateMetrics(ctx);
210
+ // Track load-dependent metrics
211
+ if (document.readyState === 'complete') {
212
+ this.trackLoadMetrics(ctx);
213
+ }
214
+ else {
215
+ window.addEventListener('load', function () { return _this.trackLoadMetrics(ctx); });
216
+ }
217
+ this.metricsTracked = true;
218
+ }
219
+ catch (error) {
220
+ logDebug('[WebVitalsPlugin] Error tracking page metrics:', error);
221
+ ctx.track('metrics_tracking_error', {
222
+ error: error.message,
223
+ type: error.name,
224
+ });
225
+ }
226
+ };
227
+ WebVitalsPlugin.prototype.trackImmediateMetrics = function (context) {
228
+ var e_1, _a, e_2, _b;
229
+ var navigation = performance.getEntriesByType('navigation')[0];
230
+ if (!navigation) {
231
+ this.debugLog('Navigation timing not available');
232
+ return;
233
+ }
234
+ // Network timing metrics
235
+ var timingMetrics = {
236
+ dns: navigation.domainLookupEnd - navigation.domainLookupStart,
237
+ tcp: navigation.connectEnd - navigation.connectStart,
238
+ ttfb: navigation.responseStart - navigation.requestStart,
239
+ download: navigation.responseEnd - navigation.responseStart,
240
+ total_fetch: navigation.responseEnd - navigation.requestStart,
241
+ };
242
+ try {
243
+ for (var _c = __values(Object.entries(timingMetrics)), _d = _c.next(); !_d.done; _d = _c.next()) {
244
+ var _e = __read(_d.value, 2), metric = _e[0], value = _e[1];
245
+ context.track("page_timing_".concat(metric), {
246
+ value: value,
247
+ unit: 'ms',
248
+ });
249
+ this.debugLog("Page timing ".concat(metric, ":"), value);
250
+ }
251
+ }
252
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
253
+ finally {
254
+ try {
255
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
256
+ }
257
+ finally { if (e_1) throw e_1.error; }
258
+ }
259
+ // Size metrics
260
+ var sizeMetrics = {
261
+ total_size: navigation.transferSize,
262
+ header_size: navigation.transferSize - navigation.encodedBodySize,
263
+ html_size: navigation.decodedBodySize,
264
+ compressed_html_size: navigation.encodedBodySize,
265
+ };
266
+ try {
267
+ for (var _f = __values(Object.entries(sizeMetrics)), _g = _f.next(); !_g.done; _g = _f.next()) {
268
+ var _h = __read(_g.value, 2), metric = _h[0], value = _h[1];
269
+ context.track("page_".concat(metric), {
270
+ value: value,
271
+ unit: 'bytes',
272
+ });
273
+ this.debugLog("Page ".concat(metric, ":"), value);
274
+ }
275
+ }
276
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
277
+ finally {
278
+ try {
279
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
280
+ }
281
+ finally { if (e_2) throw e_2.error; }
282
+ }
283
+ // Compression ratio
284
+ if (navigation.encodedBodySize > 0) {
285
+ var compressionRatio = navigation.decodedBodySize / navigation.encodedBodySize;
286
+ context.track('page_compression_ratio', {
287
+ value: compressionRatio,
288
+ });
289
+ this.debugLog('Compression ratio:', compressionRatio);
290
+ }
291
+ };
292
+ WebVitalsPlugin.prototype.trackLoadMetrics = function (context) {
293
+ var e_3, _a;
294
+ var navigation = performance.getEntriesByType('navigation')[0];
295
+ if (!navigation) {
296
+ return;
297
+ }
298
+ // DOM processing and total load time
299
+ var domProcessing = navigation.domComplete - navigation.responseEnd;
300
+ context.track('page_timing_dom_processing', {
301
+ value: domProcessing,
302
+ metric: 'DOM Processing',
303
+ unit: 'ms',
304
+ rating: domProcessing <= 500 ? 'good' : domProcessing <= 1000 ? 'needs-improvement' : 'poor',
305
+ });
306
+ this.debugLog('DOM processing:', domProcessing);
307
+ var totalLoad = navigation.loadEventEnd - navigation.fetchStart;
308
+ context.track('page_timing_total_load', {
309
+ value: totalLoad,
310
+ metric: 'Total Load',
311
+ unit: 'ms',
312
+ rating: totalLoad <= 2000 ? 'good' : totalLoad <= 4000 ? 'needs-improvement' : 'poor',
313
+ });
314
+ this.debugLog('Total load:', totalLoad);
315
+ // DOM element counts
316
+ var domMetrics = {
317
+ elements: document.getElementsByTagName('*').length,
318
+ imageCount: document.getElementsByTagName('img').length,
319
+ scriptCount: document.getElementsByTagName('script').length,
320
+ styleCount: document.getElementsByTagName('style').length,
321
+ linkCount: document.getElementsByTagName('link').length,
322
+ };
323
+ try {
324
+ for (var _b = __values(Object.entries(domMetrics)), _c = _b.next(); !_c.done; _c = _b.next()) {
325
+ var _d = __read(_c.value, 2), metric = _d[0], value = _d[1];
326
+ context.track("dom_".concat(metric), {
327
+ value: value,
328
+ metric: metric,
329
+ unit: 'count',
330
+ rating: value <= 1000 ? 'good' : value <= 2000 ? 'needs-improvement' : 'poor',
331
+ });
332
+ this.debugLog("DOM ".concat(metric, ":"), value);
333
+ }
334
+ }
335
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
336
+ finally {
337
+ try {
338
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
339
+ }
340
+ finally { if (e_3) throw e_3.error; }
341
+ }
342
+ };
343
+ WebVitalsPlugin.prototype.initialize = function () {
344
+ return __awaiter(this, void 0, void 0, function () {
345
+ return __generator(this, function (_a) {
346
+ switch (_a.label) {
347
+ case 0:
348
+ this.debugLog('Initializing WebVitalsPlugin');
349
+ if (!this.context) {
350
+ this.debugLog('No context available during initialization');
351
+ return [2 /*return*/];
352
+ }
353
+ if (!this.autoTrack) return [3 /*break*/, 3];
354
+ if (!this.trackWebVitals) return [3 /*break*/, 2];
355
+ return [4 /*yield*/, this.trackWebVitalsMetrics()];
356
+ case 1:
357
+ _a.sent();
358
+ _a.label = 2;
359
+ case 2:
360
+ // Start tracking page metrics
361
+ if (this.trackPageMetrics) {
362
+ this.trackPageMetricsData();
363
+ }
364
+ _a.label = 3;
365
+ case 3:
366
+ this.debugLog('WebVitalsPlugin initialized successfully');
367
+ return [2 /*return*/];
368
+ }
369
+ });
370
+ });
371
+ };
372
+ WebVitalsPlugin.prototype.reset = function () {
373
+ this.metricsTracked = false;
374
+ this.debugLog('WebVitalsPlugin reset');
375
+ };
376
+ return WebVitalsPlugin;
377
+ }());
378
+ export { WebVitalsPlugin };
379
+ //# sourceMappingURL=WebVitalsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebVitalsPlugin.js","sourceRoot":"","sources":["../../src/vitals/WebVitalsPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { WebVitalsPlugin } from './WebVitalsPlugin';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vitals/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { Context } from '@absmartly/javascript-sdk';
2
+ export interface CookiePluginOptions {
3
+ context?: Context;
4
+ debug?: boolean;
5
+ cookieDomain?: string;
6
+ cookiePath?: string;
7
+ sameSite?: 'Strict' | 'Lax' | 'None';
8
+ secure?: boolean;
9
+ cookieExpiryDays?: number;
10
+ unitIdCookieName?: string;
11
+ publicIdCookieName?: string;
12
+ expiryCookieName?: string;
13
+ utmCookieName?: string;
14
+ utmParamsList?: string[];
15
+ autoUpdateExpiry?: boolean;
16
+ expiryCheckInterval?: number;
17
+ }
18
+ export declare class CookiePlugin {
19
+ private context?;
20
+ private debug;
21
+ private cookieDomain;
22
+ private cookiePath;
23
+ private sameSite;
24
+ private secure;
25
+ private cookieExpiryDays;
26
+ private unitIdCookieName;
27
+ private publicIdCookieName;
28
+ private expiryCookieName;
29
+ private utmCookieName;
30
+ private utmParams;
31
+ private autoUpdateExpiry;
32
+ private expiryCheckInterval;
33
+ private unitId?;
34
+ constructor(options?: CookiePluginOptions);
35
+ private debugLog;
36
+ private getCookie;
37
+ private setCookie;
38
+ private deleteCookie;
39
+ private isLocalStorageAvailable;
40
+ private generateFastUniqueID;
41
+ getUnitId(): string | null;
42
+ setUnitId(unitId: string): void;
43
+ generateAndSetUnitId(): string;
44
+ updateExpiryTimestamp(): void;
45
+ isExpiryFresh(): boolean;
46
+ getUtmParams(): Record<string, string>;
47
+ storeUtmParams(params: Record<string, string>): void;
48
+ getStoredUtmParams(): Record<string, string> | null;
49
+ applyUtmAttributesToContext(context?: Context): void;
50
+ clearAllCookies(): void;
51
+ initialize(): Promise<void>;
52
+ setContext(context: Context): void;
53
+ needsWorkerCall(searchParams?: URLSearchParams): boolean;
54
+ trackLanding(context?: Context): void;
55
+ }