@grainql/analytics-web 2.3.0 → 2.5.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 (66) hide show
  1. package/dist/cjs/countries.d.ts +13 -0
  2. package/dist/cjs/countries.d.ts.map +1 -0
  3. package/dist/cjs/countries.js +2907 -0
  4. package/dist/cjs/countries.js.map +1 -0
  5. package/dist/cjs/index.d.ts +29 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/interaction-tracking.d.ts +71 -0
  9. package/dist/cjs/interaction-tracking.d.ts.map +1 -0
  10. package/dist/cjs/interaction-tracking.js +270 -0
  11. package/dist/cjs/interaction-tracking.js.map +1 -0
  12. package/dist/cjs/page-tracking.d.ts.map +1 -1
  13. package/dist/cjs/page-tracking.js +5 -1
  14. package/dist/cjs/page-tracking.js.map +1 -1
  15. package/dist/cjs/section-tracking.d.ts +91 -0
  16. package/dist/cjs/section-tracking.d.ts.map +1 -0
  17. package/dist/cjs/section-tracking.js +373 -0
  18. package/dist/cjs/section-tracking.js.map +1 -0
  19. package/dist/cjs/types/auto-tracking.d.ts +55 -0
  20. package/dist/cjs/types/auto-tracking.d.ts.map +1 -0
  21. package/dist/cjs/types/auto-tracking.js +6 -0
  22. package/dist/cjs/types/auto-tracking.js.map +1 -0
  23. package/dist/countries.d.ts +13 -0
  24. package/dist/countries.d.ts.map +1 -0
  25. package/dist/countries.js +2907 -0
  26. package/dist/esm/countries.d.ts +13 -0
  27. package/dist/esm/countries.d.ts.map +1 -0
  28. package/dist/esm/countries.js +2902 -0
  29. package/dist/esm/countries.js.map +1 -0
  30. package/dist/esm/index.d.ts +29 -1
  31. package/dist/esm/index.d.ts.map +1 -1
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/interaction-tracking.d.ts +71 -0
  34. package/dist/esm/interaction-tracking.d.ts.map +1 -0
  35. package/dist/esm/interaction-tracking.js +266 -0
  36. package/dist/esm/interaction-tracking.js.map +1 -0
  37. package/dist/esm/page-tracking.d.ts.map +1 -1
  38. package/dist/esm/page-tracking.js +5 -1
  39. package/dist/esm/page-tracking.js.map +1 -1
  40. package/dist/esm/section-tracking.d.ts +91 -0
  41. package/dist/esm/section-tracking.d.ts.map +1 -0
  42. package/dist/esm/section-tracking.js +369 -0
  43. package/dist/esm/section-tracking.js.map +1 -0
  44. package/dist/esm/types/auto-tracking.d.ts +55 -0
  45. package/dist/esm/types/auto-tracking.d.ts.map +1 -0
  46. package/dist/esm/types/auto-tracking.js +5 -0
  47. package/dist/esm/types/auto-tracking.js.map +1 -0
  48. package/dist/index.d.ts +29 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.global.dev.js +3609 -2
  51. package/dist/index.global.dev.js.map +4 -4
  52. package/dist/index.global.js +2 -2
  53. package/dist/index.global.js.map +4 -4
  54. package/dist/index.js +130 -1
  55. package/dist/index.mjs +93 -0
  56. package/dist/interaction-tracking.d.ts +71 -0
  57. package/dist/interaction-tracking.d.ts.map +1 -0
  58. package/dist/interaction-tracking.js +270 -0
  59. package/dist/page-tracking.d.ts.map +1 -1
  60. package/dist/page-tracking.js +5 -1
  61. package/dist/section-tracking.d.ts +91 -0
  62. package/dist/section-tracking.d.ts.map +1 -0
  63. package/dist/section-tracking.js +373 -0
  64. package/dist/types/auto-tracking.d.ts +55 -0
  65. package/dist/types/auto-tracking.d.ts.map +1 -0
  66. package/package.json +1 -1
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Interaction Tracking Manager for Grain Analytics
3
+ * Automatically attaches click and focus listeners to detected interactive elements
4
+ */
5
+ export class InteractionTrackingManager {
6
+ constructor(tracker, interactions, config = {}) {
7
+ this.isDestroyed = false;
8
+ this.attachedListeners = new Map();
9
+ this.xpathCache = new Map();
10
+ this.mutationObserver = null;
11
+ this.mutationDebounceTimer = null;
12
+ this.tracker = tracker;
13
+ this.interactions = interactions;
14
+ this.config = {
15
+ debug: config.debug ?? false,
16
+ enableMutationObserver: config.enableMutationObserver ?? true,
17
+ mutationDebounceDelay: config.mutationDebounceDelay ?? 500,
18
+ };
19
+ if (typeof window !== 'undefined' && typeof document !== 'undefined') {
20
+ // Attach listeners after DOM is ready
21
+ if (document.readyState === 'loading') {
22
+ document.addEventListener('DOMContentLoaded', () => this.attachAllListeners());
23
+ }
24
+ else {
25
+ // DOM already loaded
26
+ setTimeout(() => this.attachAllListeners(), 0);
27
+ }
28
+ // Setup mutation observer for dynamic content
29
+ if (this.config.enableMutationObserver) {
30
+ this.setupMutationObserver();
31
+ }
32
+ }
33
+ }
34
+ /**
35
+ * Attach listeners to all configured interactions
36
+ */
37
+ attachAllListeners() {
38
+ if (this.isDestroyed)
39
+ return;
40
+ this.log('Attaching interaction listeners for', this.interactions.length, 'interactions');
41
+ for (const interaction of this.interactions) {
42
+ this.attachInteractionListener(interaction);
43
+ }
44
+ }
45
+ /**
46
+ * Attach listener to a specific interaction
47
+ */
48
+ attachInteractionListener(interaction) {
49
+ if (this.isDestroyed)
50
+ return;
51
+ const element = this.findElementByXPath(interaction.selector);
52
+ if (!element) {
53
+ this.log('Element not found for interaction:', interaction.eventName, 'selector:', interaction.selector);
54
+ return;
55
+ }
56
+ // Check if we already attached listeners to this element for this interaction
57
+ if (this.attachedListeners.has(element)) {
58
+ this.log('Listeners already attached for element:', element);
59
+ return;
60
+ }
61
+ const handlers = [];
62
+ // Click handler
63
+ const clickHandler = (event) => this.handleInteractionClick(interaction, event);
64
+ element.addEventListener('click', clickHandler, { passive: true });
65
+ handlers.push({ event: 'click', handler: clickHandler });
66
+ // Focus handler (for form inputs)
67
+ if (element instanceof HTMLInputElement || element instanceof HTMLTextAreaElement || element instanceof HTMLSelectElement) {
68
+ const focusHandler = (event) => this.handleInteractionFocus(interaction, event);
69
+ element.addEventListener('focus', focusHandler, { passive: true });
70
+ handlers.push({ event: 'focus', handler: focusHandler });
71
+ }
72
+ this.attachedListeners.set(element, handlers);
73
+ this.log('Attached listeners to element for:', interaction.eventName);
74
+ }
75
+ /**
76
+ * Handle click event on interaction
77
+ */
78
+ handleInteractionClick(interaction, event) {
79
+ if (this.isDestroyed)
80
+ return;
81
+ if (!this.tracker.hasConsent('analytics'))
82
+ return;
83
+ const element = event.target;
84
+ this.tracker.track(interaction.eventName, {
85
+ interaction_type: 'click',
86
+ interaction_label: interaction.label,
87
+ interaction_description: interaction.description,
88
+ interaction_priority: interaction.priority,
89
+ element_tag: element.tagName?.toLowerCase(),
90
+ element_text: element.textContent?.trim().substring(0, 100),
91
+ element_id: element.id || undefined,
92
+ element_class: element.className || undefined,
93
+ timestamp: Date.now(),
94
+ });
95
+ this.log('Tracked click interaction:', interaction.eventName);
96
+ }
97
+ /**
98
+ * Handle focus event on interaction (for form fields)
99
+ */
100
+ handleInteractionFocus(interaction, event) {
101
+ if (this.isDestroyed)
102
+ return;
103
+ if (!this.tracker.hasConsent('analytics'))
104
+ return;
105
+ const element = event.target;
106
+ this.tracker.track(interaction.eventName, {
107
+ interaction_type: 'focus',
108
+ interaction_label: interaction.label,
109
+ interaction_description: interaction.description,
110
+ interaction_priority: interaction.priority,
111
+ element_tag: element.tagName?.toLowerCase(),
112
+ element_id: element.id || undefined,
113
+ element_class: element.className || undefined,
114
+ timestamp: Date.now(),
115
+ });
116
+ this.log('Tracked focus interaction:', interaction.eventName);
117
+ }
118
+ /**
119
+ * Find element by XPath selector
120
+ */
121
+ findElementByXPath(xpath) {
122
+ // Check cache first
123
+ if (this.xpathCache.has(xpath)) {
124
+ const cached = this.xpathCache.get(xpath);
125
+ // Verify element is still in DOM
126
+ if (cached && document.contains(cached)) {
127
+ return cached;
128
+ }
129
+ // Clear invalid cache entry
130
+ this.xpathCache.delete(xpath);
131
+ }
132
+ try {
133
+ const result = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
134
+ const element = result.singleNodeValue;
135
+ // Cache the result
136
+ if (element) {
137
+ this.xpathCache.set(xpath, element);
138
+ }
139
+ return element;
140
+ }
141
+ catch (error) {
142
+ this.log('Error evaluating XPath:', xpath, error);
143
+ return null;
144
+ }
145
+ }
146
+ /**
147
+ * Setup mutation observer to handle dynamic content
148
+ */
149
+ setupMutationObserver() {
150
+ if (typeof MutationObserver === 'undefined') {
151
+ this.log('MutationObserver not supported');
152
+ return;
153
+ }
154
+ this.mutationObserver = new MutationObserver((mutations) => {
155
+ // Debounce the re-attachment
156
+ if (this.mutationDebounceTimer !== null) {
157
+ clearTimeout(this.mutationDebounceTimer);
158
+ }
159
+ this.mutationDebounceTimer = window.setTimeout(() => {
160
+ this.handleMutations(mutations);
161
+ this.mutationDebounceTimer = null;
162
+ }, this.config.mutationDebounceDelay);
163
+ });
164
+ this.mutationObserver.observe(document.body, {
165
+ childList: true,
166
+ subtree: true,
167
+ });
168
+ this.log('Mutation observer setup');
169
+ }
170
+ /**
171
+ * Handle DOM mutations
172
+ */
173
+ handleMutations(mutations) {
174
+ if (this.isDestroyed)
175
+ return;
176
+ // Clear XPath cache on mutations
177
+ this.xpathCache.clear();
178
+ // Check if any of our tracked elements were removed
179
+ const removedElements = new Set();
180
+ for (const mutation of mutations) {
181
+ mutation.removedNodes.forEach((node) => {
182
+ if (node instanceof Element) {
183
+ removedElements.add(node);
184
+ // Also check for child elements we were tracking
185
+ this.attachedListeners.forEach((handlers, element) => {
186
+ if (node.contains(element)) {
187
+ removedElements.add(element);
188
+ }
189
+ });
190
+ }
191
+ });
192
+ }
193
+ // Clean up removed elements
194
+ removedElements.forEach((element) => {
195
+ this.detachListeners(element);
196
+ });
197
+ // Try to re-attach listeners for any interactions that might now be available
198
+ this.attachAllListeners();
199
+ }
200
+ /**
201
+ * Detach listeners from an element
202
+ */
203
+ detachListeners(element) {
204
+ const handlers = this.attachedListeners.get(element);
205
+ if (!handlers)
206
+ return;
207
+ handlers.forEach(({ event, handler }) => {
208
+ element.removeEventListener(event, handler);
209
+ });
210
+ this.attachedListeners.delete(element);
211
+ this.log('Detached listeners from element');
212
+ }
213
+ /**
214
+ * Log debug messages
215
+ */
216
+ log(...args) {
217
+ if (this.config.debug) {
218
+ console.log('[InteractionTracking]', ...args);
219
+ }
220
+ }
221
+ /**
222
+ * Update interactions configuration
223
+ */
224
+ updateInteractions(interactions) {
225
+ if (this.isDestroyed)
226
+ return;
227
+ this.log('Updating interactions configuration');
228
+ // Detach all existing listeners
229
+ this.attachedListeners.forEach((handlers, element) => {
230
+ this.detachListeners(element);
231
+ });
232
+ // Clear cache
233
+ this.xpathCache.clear();
234
+ // Update configuration
235
+ this.interactions = interactions;
236
+ // Reattach listeners
237
+ this.attachAllListeners();
238
+ }
239
+ /**
240
+ * Cleanup and destroy
241
+ */
242
+ destroy() {
243
+ if (this.isDestroyed)
244
+ return;
245
+ this.log('Destroying interaction tracking manager');
246
+ this.isDestroyed = true;
247
+ // Clear debounce timer
248
+ if (this.mutationDebounceTimer !== null) {
249
+ clearTimeout(this.mutationDebounceTimer);
250
+ this.mutationDebounceTimer = null;
251
+ }
252
+ // Disconnect mutation observer
253
+ if (this.mutationObserver) {
254
+ this.mutationObserver.disconnect();
255
+ this.mutationObserver = null;
256
+ }
257
+ // Detach all listeners
258
+ this.attachedListeners.forEach((handlers, element) => {
259
+ this.detachListeners(element);
260
+ });
261
+ // Clear caches
262
+ this.attachedListeners.clear();
263
+ this.xpathCache.clear();
264
+ }
265
+ }
266
+ //# sourceMappingURL=interaction-tracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-tracking.js","sourceRoot":"","sources":["../../src/interaction-tracking.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-tracking.d.ts","sourceRoot":"","sources":["../../src/page-tracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,IAAI,MAAM,CAAC;CACxB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB;IAY5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,cAAc,CAGpB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAGtB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2GxB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,KAAK;IAUb;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAyCnE;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAyBhB"}
1
+ {"version":3,"file":"page-tracking.d.ts","sourceRoot":"","sources":["../../src/page-tracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,kBAAkB,IAAI,MAAM,CAAC;IAC7B,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,IAAI,MAAM,CAAC;CACxB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAK;gBAEd,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB;IAY5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,cAAc,CAGpB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAGtB;IAEF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgHxB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,KAAK;IAUb;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAyCnE;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAyBhB"}
@@ -3,6 +3,7 @@
3
3
  * Automatically tracks page views with consent-aware behavior
4
4
  */
5
5
  import { categorizeReferrer, parseUTMParameters, getOrCreateFirstTouchAttribution, getSessionUTMParameters, setSessionUTMParameters, } from './attribution';
6
+ import { getCountryCodeFromTimezone } from './countries';
6
7
  export class PageTrackingManager {
7
8
  constructor(tracker, config) {
8
9
  this.isDestroyed = false;
@@ -146,7 +147,10 @@ export class PageTrackingManager {
146
147
  properties.browser = this.getBrowser();
147
148
  properties.os = this.getOS();
148
149
  properties.language = navigator.language || '';
149
- properties.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
150
+ // Timezone and country (privacy-friendly: derived from timezone, no IP tracking)
151
+ const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
152
+ properties.timezone = timezone;
153
+ properties.country = getCountryCodeFromTimezone();
150
154
  properties.screen_resolution = `${screen.width}x${screen.height}`;
151
155
  properties.viewport = `${window.innerWidth}x${window.innerHeight}`;
152
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-tracking.js","sourceRoot":"","sources":["../../src/page-tracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-tracking.js","sourceRoot":"","sources":["../../src/page-tracking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Section Tracking Manager for Grain Analytics
3
+ * Intelligent scroll tracking with viewport metrics, visible sections, and engagement analysis
4
+ */
5
+ import type { SectionConfig, SectionTrackingOptions } from './types/auto-tracking';
6
+ export interface SectionTracker {
7
+ trackSystemEvent(eventName: string, properties: Record<string, unknown>): void;
8
+ hasConsent(category: 'analytics' | 'marketing' | 'functional'): boolean;
9
+ log(...args: unknown[]): void;
10
+ }
11
+ export declare class SectionTrackingManager {
12
+ private tracker;
13
+ private sections;
14
+ private options;
15
+ private isDestroyed;
16
+ private sectionStates;
17
+ private intersectionObserver;
18
+ private xpathCache;
19
+ private lastScrollPosition;
20
+ private lastScrollTime;
21
+ private scrollVelocity;
22
+ private scrollDebounceTimer;
23
+ private pendingEvents;
24
+ private batchTimer;
25
+ constructor(tracker: SectionTracker, sections: SectionConfig[], options?: Partial<SectionTrackingOptions>);
26
+ /**
27
+ * Initialize section tracking
28
+ */
29
+ private initialize;
30
+ /**
31
+ * Setup IntersectionObserver for section visibility
32
+ */
33
+ private setupIntersectionObserver;
34
+ /**
35
+ * Setup scroll listener for velocity calculation
36
+ */
37
+ private setupScrollListener;
38
+ /**
39
+ * Initialize sections and start observing
40
+ */
41
+ private initializeSections;
42
+ /**
43
+ * Handle intersection observer entry
44
+ */
45
+ private handleIntersection;
46
+ /**
47
+ * Handle section entry (became visible)
48
+ */
49
+ private handleSectionEntry;
50
+ /**
51
+ * Handle section exit (became invisible)
52
+ */
53
+ private handleSectionExit;
54
+ /**
55
+ * Update scroll velocity
56
+ */
57
+ private updateScrollVelocity;
58
+ /**
59
+ * Calculate current scroll depth as percentage
60
+ */
61
+ private calculateScrollDepth;
62
+ /**
63
+ * Determine if section view should be tracked (sanitization)
64
+ */
65
+ private shouldTrackSection;
66
+ /**
67
+ * Queue section view for batching
68
+ */
69
+ private queueSectionView;
70
+ /**
71
+ * Flush pending section view events
72
+ */
73
+ private flushPendingEvents;
74
+ /**
75
+ * Find element by XPath selector
76
+ */
77
+ private findElementByXPath;
78
+ /**
79
+ * Log debug messages
80
+ */
81
+ private log;
82
+ /**
83
+ * Update sections configuration
84
+ */
85
+ updateSections(sections: SectionConfig[]): void;
86
+ /**
87
+ * Cleanup and destroy
88
+ */
89
+ destroy(): void;
90
+ }
91
+ //# sourceMappingURL=section-tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-tracking.d.ts","sourceRoot":"","sources":["../../src/section-tracking.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAmB,sBAAsB,EAAwB,MAAM,uBAAuB,CAAC;AAE1H,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/E,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;IACxE,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAC/B;AAWD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,UAAU,CAA0C;IAG5D,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,mBAAmB,CAAuB;IAGlD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,UAAU,CAAuB;gBAGvC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAgB/C;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqBjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI;IAsB/C;;OAEG;IACH,OAAO,IAAI,IAAI;CAgChB"}