@amplifyup/sdk 0.1.20 → 0.1.22
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/AmplifyRenderer.js +33 -3
- package/dist/AmplifyRenderer.js.map +1 -1
- package/dist/AmplifyRenderer.mjs +33 -3
- package/dist/AmplifyRenderer.mjs.map +1 -1
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +34 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -4
- package/dist/index.mjs.map +1 -1
- package/dist/react.js +33 -3
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +33 -3
- package/dist/react.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -300,6 +300,7 @@ function isComposerPreview() {
|
|
|
300
300
|
}
|
|
301
301
|
|
|
302
302
|
// src/index.ts
|
|
303
|
+
var SESSION_IDLE_GAP_MS = 30 * 60 * 1e3;
|
|
303
304
|
function readPreviewQueryOverrides() {
|
|
304
305
|
if (typeof window === "undefined") return {};
|
|
305
306
|
const params = new URLSearchParams(window.location.search);
|
|
@@ -366,7 +367,9 @@ var AmplifyUpSDK = class {
|
|
|
366
367
|
reached: /* @__PURE__ */ new Set(),
|
|
367
368
|
visibleMs: 0,
|
|
368
369
|
visibleSince: null,
|
|
369
|
-
lastDwellSecondsSent: 0
|
|
370
|
+
lastDwellSecondsSent: 0,
|
|
371
|
+
/** When the tab last became hidden — used for idle-resume re-page. */
|
|
372
|
+
hiddenAt: null
|
|
370
373
|
};
|
|
371
374
|
this.adapter = adapter || new AWSAdapter();
|
|
372
375
|
if (typeof window !== "undefined") {
|
|
@@ -597,6 +600,7 @@ var AmplifyUpSDK = class {
|
|
|
597
600
|
state.visibleMs = 0;
|
|
598
601
|
state.visibleSince = document.visibilityState === "visible" ? Date.now() : null;
|
|
599
602
|
state.lastDwellSecondsSent = 0;
|
|
603
|
+
state.hiddenAt = document.visibilityState === "hidden" ? Date.now() : null;
|
|
600
604
|
let scrollRaf = null;
|
|
601
605
|
const path = () => this.currentPath();
|
|
602
606
|
const measureScrollPercent = () => {
|
|
@@ -639,12 +643,12 @@ var AmplifyUpSDK = class {
|
|
|
639
643
|
state.visibleMs += Date.now() - state.visibleSince;
|
|
640
644
|
state.visibleSince = Date.now();
|
|
641
645
|
};
|
|
642
|
-
const emitDwell = (
|
|
646
|
+
const emitDwell = (_force = false) => {
|
|
643
647
|
if (this.isPreviewMode()) return;
|
|
644
648
|
accumulateVisible();
|
|
645
649
|
const seconds = Math.floor(state.visibleMs / 1e3);
|
|
646
650
|
if (seconds <= 0) return;
|
|
647
|
-
if (
|
|
651
|
+
if (seconds <= state.lastDwellSecondsSent) return;
|
|
648
652
|
state.lastDwellSecondsSent = seconds;
|
|
649
653
|
this.track("Time on Page", {
|
|
650
654
|
seconds,
|
|
@@ -654,14 +658,34 @@ var AmplifyUpSDK = class {
|
|
|
654
658
|
this._emitPageDwell = emitDwell;
|
|
655
659
|
const onVisibility = () => {
|
|
656
660
|
if (document.visibilityState === "visible") {
|
|
661
|
+
const idleMs = state.hiddenAt != null ? Date.now() - state.hiddenAt : 0;
|
|
662
|
+
state.hiddenAt = null;
|
|
663
|
+
if (idleMs >= SESSION_IDLE_GAP_MS) {
|
|
664
|
+
this.resetEngagementQuiet();
|
|
665
|
+
const resumePath = path();
|
|
666
|
+
this.page(resumePath, { resumed: true });
|
|
667
|
+
this.lastTrackedPath = resumePath;
|
|
668
|
+
if (this.config?.debug) {
|
|
669
|
+
console.log(
|
|
670
|
+
"[AmplifyUp SDK] Idle resume page view",
|
|
671
|
+
resumePath,
|
|
672
|
+
`(hidden ${Math.round(idleMs / 6e4)}m)`
|
|
673
|
+
);
|
|
674
|
+
}
|
|
675
|
+
}
|
|
657
676
|
state.visibleSince = Date.now();
|
|
658
677
|
} else {
|
|
659
678
|
emitDwell(true);
|
|
679
|
+
state.hiddenAt = Date.now();
|
|
660
680
|
state.visibleSince = null;
|
|
661
681
|
}
|
|
662
682
|
};
|
|
663
683
|
const onPageHide = () => {
|
|
664
684
|
emitDwell(true);
|
|
685
|
+
if (state.hiddenAt == null) {
|
|
686
|
+
state.hiddenAt = Date.now();
|
|
687
|
+
}
|
|
688
|
+
state.visibleSince = null;
|
|
665
689
|
};
|
|
666
690
|
window.addEventListener("scroll", onScroll, { passive: true });
|
|
667
691
|
document.addEventListener("visibilitychange", onVisibility);
|
|
@@ -690,13 +714,19 @@ var AmplifyUpSDK = class {
|
|
|
690
714
|
console.log("[AmplifyUp SDK] Page engagement tracking enabled");
|
|
691
715
|
}
|
|
692
716
|
}
|
|
717
|
+
/** Flush dwell then reset — used on SPA route changes. */
|
|
693
718
|
resetEngagementForNewPage() {
|
|
694
719
|
const emit = this._emitPageDwell;
|
|
695
720
|
emit?.(true);
|
|
721
|
+
this.resetEngagementQuiet();
|
|
722
|
+
}
|
|
723
|
+
/** Reset dwell/scroll state without emitting (idle resume already flushed on hide). */
|
|
724
|
+
resetEngagementQuiet() {
|
|
696
725
|
const state = this.pageEngagementState;
|
|
697
726
|
state.reached = /* @__PURE__ */ new Set();
|
|
698
727
|
state.visibleMs = 0;
|
|
699
728
|
state.lastDwellSecondsSent = 0;
|
|
729
|
+
state.hiddenAt = null;
|
|
700
730
|
state.visibleSince = typeof document !== "undefined" && document.visibilityState === "visible" ? Date.now() : null;
|
|
701
731
|
this.componentViewSeen.clear();
|
|
702
732
|
}
|
|
@@ -2393,6 +2423,6 @@ var verifyAWSConnection = () => {
|
|
|
2393
2423
|
};
|
|
2394
2424
|
var index_default = getSDK();
|
|
2395
2425
|
|
|
2396
|
-
export { AmplifyUpSDK, buildLayoutProviderUrl, buildPageRenderUrl, cleanupEventTracking, index_default as default, fetchPageConfig, getDiagnostics, getInstanceId2 as getInstanceId, getOrchestratorUrl, getSDK, getStatus, getTarget, getTrackingId, getUserId2 as getUserId, identify, init, isAmplifyUpTarget, isComposerPreview, isPreviewRequest, normalizeAmplifyUpTarget, page, refreshEventTracking, reset, resolveAmplifyUpTarget, resolveAmplifyUpUrls, routeChange, setupComponentViewTracking, setupEventTracking, testTracking, track, trackClick, trackContentEngagement, trackContentView, trackFormFieldInteraction, trackFormSubmit, verifyAWSConnection };
|
|
2426
|
+
export { AmplifyUpSDK, SESSION_IDLE_GAP_MS, buildLayoutProviderUrl, buildPageRenderUrl, cleanupEventTracking, index_default as default, fetchPageConfig, getDiagnostics, getInstanceId2 as getInstanceId, getOrchestratorUrl, getSDK, getStatus, getTarget, getTrackingId, getUserId2 as getUserId, identify, init, isAmplifyUpTarget, isComposerPreview, isPreviewRequest, normalizeAmplifyUpTarget, page, refreshEventTracking, reset, resolveAmplifyUpTarget, resolveAmplifyUpUrls, routeChange, setupComponentViewTracking, setupEventTracking, testTracking, track, trackClick, trackContentEngagement, trackContentView, trackFormFieldInteraction, trackFormSubmit, verifyAWSConnection };
|
|
2397
2427
|
//# sourceMappingURL=index.mjs.map
|
|
2398
2428
|
//# sourceMappingURL=index.mjs.map
|