@zaplier/sdk 1.6.8 → 1.6.9
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.
- package/dist/index.cjs +54 -63
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +54 -63
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk.js +54 -63
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.min.js +1 -1
- package/dist/src/modules/auto-tracker.d.ts +1 -8
- package/dist/src/modules/auto-tracker.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -19276,7 +19276,10 @@ class AutoTracker {
|
|
|
19276
19276
|
this.scrollThrottle = now;
|
|
19277
19277
|
const scrollElements = document.querySelectorAll('[data-track-scroll]');
|
|
19278
19278
|
if (this.config.debug && scrollElements.length > 0) {
|
|
19279
|
-
console.log(`[AutoTracker] Checking ${scrollElements.length} scroll elements
|
|
19279
|
+
console.log(`[AutoTracker] Checking ${scrollElements.length} scroll elements`, {
|
|
19280
|
+
scrollY: window.scrollY,
|
|
19281
|
+
innerHeight: window.innerHeight
|
|
19282
|
+
});
|
|
19280
19283
|
}
|
|
19281
19284
|
scrollElements.forEach((element) => {
|
|
19282
19285
|
let hasTriggered = element.getAttribute('data-scroll-triggered') === 'true';
|
|
@@ -19320,6 +19323,28 @@ class AutoTracker {
|
|
|
19320
19323
|
}
|
|
19321
19324
|
});
|
|
19322
19325
|
};
|
|
19326
|
+
this.handleClick = (event) => {
|
|
19327
|
+
if (!this.config.trackClicks)
|
|
19328
|
+
return;
|
|
19329
|
+
const target = event.target;
|
|
19330
|
+
if (!target || !target.hasAttribute("data-track-click"))
|
|
19331
|
+
return;
|
|
19332
|
+
const eventName = target.getAttribute("data-track-click");
|
|
19333
|
+
if (!eventName)
|
|
19334
|
+
return;
|
|
19335
|
+
const metadata = this.extractMetadata(target);
|
|
19336
|
+
this.trackEvent(eventName, {
|
|
19337
|
+
type: "click",
|
|
19338
|
+
element: target.tagName.toLowerCase(),
|
|
19339
|
+
...metadata,
|
|
19340
|
+
});
|
|
19341
|
+
if (this.config.debug) {
|
|
19342
|
+
console.log(`[AutoTracker] Click tracked: ${eventName}`, {
|
|
19343
|
+
element: target.tagName.toLowerCase(),
|
|
19344
|
+
...metadata
|
|
19345
|
+
});
|
|
19346
|
+
}
|
|
19347
|
+
};
|
|
19323
19348
|
this.sdkInstance = sdkInstance;
|
|
19324
19349
|
this.config = {
|
|
19325
19350
|
enabled: true,
|
|
@@ -19347,6 +19372,28 @@ class AutoTracker {
|
|
|
19347
19372
|
trackHovers: this.config.trackHovers,
|
|
19348
19373
|
trackForms: this.config.trackForms
|
|
19349
19374
|
});
|
|
19375
|
+
// Log elementos existentes encontrados
|
|
19376
|
+
setTimeout(() => {
|
|
19377
|
+
const clickElements = document.querySelectorAll('[data-track-click]');
|
|
19378
|
+
const scrollElements = document.querySelectorAll('[data-track-scroll]');
|
|
19379
|
+
const viewElements = document.querySelectorAll('[data-track-view]');
|
|
19380
|
+
const hoverElements = document.querySelectorAll('[data-track-hover]');
|
|
19381
|
+
const formElements = document.querySelectorAll('[data-track-form]');
|
|
19382
|
+
console.log("[Zaplier AutoTracker] Elementos encontrados:", {
|
|
19383
|
+
clickElements: clickElements.length,
|
|
19384
|
+
scrollElements: scrollElements.length,
|
|
19385
|
+
viewElements: viewElements.length,
|
|
19386
|
+
hoverElements: hoverElements.length,
|
|
19387
|
+
formElements: formElements.length
|
|
19388
|
+
});
|
|
19389
|
+
if (scrollElements.length > 0) {
|
|
19390
|
+
console.log("[Zaplier AutoTracker] Elementos de scroll:", Array.from(scrollElements).map(el => ({
|
|
19391
|
+
tagName: el.tagName,
|
|
19392
|
+
trackEvent: el.getAttribute('data-track-scroll'),
|
|
19393
|
+
threshold: el.getAttribute('data-scroll-threshold') || '0.5'
|
|
19394
|
+
})));
|
|
19395
|
+
}
|
|
19396
|
+
}, 100);
|
|
19350
19397
|
}
|
|
19351
19398
|
// Observer para novos elementos no DOM
|
|
19352
19399
|
this.observeDOM();
|
|
@@ -19357,6 +19404,9 @@ class AutoTracker {
|
|
|
19357
19404
|
this.setupViewTracking();
|
|
19358
19405
|
}
|
|
19359
19406
|
// Setup global event listeners
|
|
19407
|
+
if (this.config.trackClicks) {
|
|
19408
|
+
document.addEventListener("click", this.handleClick, { passive: true });
|
|
19409
|
+
}
|
|
19360
19410
|
if (this.config.trackScrolls) {
|
|
19361
19411
|
document.addEventListener("scroll", this.handleScroll, { passive: true });
|
|
19362
19412
|
}
|
|
@@ -19365,6 +19415,7 @@ class AutoTracker {
|
|
|
19365
19415
|
* Parar auto tracking
|
|
19366
19416
|
*/
|
|
19367
19417
|
stop() {
|
|
19418
|
+
document.removeEventListener("click", this.handleClick);
|
|
19368
19419
|
document.removeEventListener("scroll", this.handleScroll);
|
|
19369
19420
|
if (this.intersectionObserver) {
|
|
19370
19421
|
this.intersectionObserver.disconnect();
|
|
@@ -19403,14 +19454,8 @@ class AutoTracker {
|
|
|
19403
19454
|
* Processar um elemento específico
|
|
19404
19455
|
*/
|
|
19405
19456
|
processElement(element) {
|
|
19406
|
-
// Click tracking
|
|
19407
|
-
|
|
19408
|
-
this.setupClickTracking(element);
|
|
19409
|
-
}
|
|
19410
|
-
// Scroll tracking
|
|
19411
|
-
if (this.config.trackScrolls && element.hasAttribute("data-track-scroll")) {
|
|
19412
|
-
this.setupScrollTracking(element);
|
|
19413
|
-
}
|
|
19457
|
+
// Click tracking - handled by global listener
|
|
19458
|
+
// Scroll tracking - handled by global listener
|
|
19414
19459
|
// View tracking
|
|
19415
19460
|
if (this.config.trackViews && element.hasAttribute("data-track-view")) {
|
|
19416
19461
|
this.setupElementViewTracking(element);
|
|
@@ -19424,60 +19469,6 @@ class AutoTracker {
|
|
|
19424
19469
|
this.setupFormTracking(element);
|
|
19425
19470
|
}
|
|
19426
19471
|
}
|
|
19427
|
-
/**
|
|
19428
|
-
* Setup click tracking
|
|
19429
|
-
*/
|
|
19430
|
-
setupClickTracking(element) {
|
|
19431
|
-
element.addEventListener("click", (event) => {
|
|
19432
|
-
const eventName = element.getAttribute("data-track-click");
|
|
19433
|
-
if (!eventName)
|
|
19434
|
-
return;
|
|
19435
|
-
const metadata = this.extractMetadata(element);
|
|
19436
|
-
this.trackEvent(eventName, {
|
|
19437
|
-
type: "click",
|
|
19438
|
-
element: element.tagName.toLowerCase(),
|
|
19439
|
-
...metadata,
|
|
19440
|
-
});
|
|
19441
|
-
if (this.config.debug) {
|
|
19442
|
-
console.log(`[AutoTracker] Click tracked: ${eventName}`, metadata);
|
|
19443
|
-
}
|
|
19444
|
-
});
|
|
19445
|
-
}
|
|
19446
|
-
/**
|
|
19447
|
-
* Setup scroll tracking
|
|
19448
|
-
*/
|
|
19449
|
-
setupScrollTracking(element) {
|
|
19450
|
-
let hasTriggered = false;
|
|
19451
|
-
const threshold = parseFloat(element.getAttribute("data-scroll-threshold") || "0.5");
|
|
19452
|
-
const handleScroll = () => {
|
|
19453
|
-
if (hasTriggered)
|
|
19454
|
-
return;
|
|
19455
|
-
const rect = element.getBoundingClientRect();
|
|
19456
|
-
const elementHeight = rect.height;
|
|
19457
|
-
const visibleHeight = Math.min(rect.bottom, window.innerHeight) - Math.max(rect.top, 0);
|
|
19458
|
-
const visibilityRatio = Math.max(0, visibleHeight) / elementHeight;
|
|
19459
|
-
if (visibilityRatio >= threshold) {
|
|
19460
|
-
hasTriggered = true;
|
|
19461
|
-
const eventName = element.getAttribute("data-track-scroll");
|
|
19462
|
-
if (!eventName)
|
|
19463
|
-
return;
|
|
19464
|
-
const metadata = this.extractMetadata(element);
|
|
19465
|
-
this.trackEvent(eventName, {
|
|
19466
|
-
type: "scroll",
|
|
19467
|
-
element: element.tagName.toLowerCase(),
|
|
19468
|
-
threshold,
|
|
19469
|
-
scrollDepth: window.scrollY,
|
|
19470
|
-
...metadata,
|
|
19471
|
-
});
|
|
19472
|
-
if (this.config.debug) {
|
|
19473
|
-
console.log(`[AutoTracker] Scroll tracked: ${eventName}`, metadata);
|
|
19474
|
-
}
|
|
19475
|
-
}
|
|
19476
|
-
};
|
|
19477
|
-
document.addEventListener("scroll", handleScroll, { passive: true });
|
|
19478
|
-
// Check immediately in case element is already in view
|
|
19479
|
-
setTimeout(handleScroll, 100);
|
|
19480
|
-
}
|
|
19481
19472
|
/**
|
|
19482
19473
|
* Setup view tracking usando Intersection Observer
|
|
19483
19474
|
*/
|