@zaplier/sdk 1.3.0 → 1.3.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.
- package/dist/index.cjs +3971 -335
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +3971 -335
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk.js +3971 -335
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.min.js +1 -1
- package/dist/src/modules/session-replay.d.ts +8 -75
- package/dist/src/modules/session-replay.d.ts.map +1 -1
- package/package.json +5 -2
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Session Replay Engine
|
|
3
|
-
*
|
|
4
|
-
* for comprehensive session recording
|
|
3
|
+
* Uses rrweb to capture DOM snapshots and events for session replay
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
timestamp: number;
|
|
9
|
-
data: any;
|
|
10
|
-
sequence: number;
|
|
11
|
-
}
|
|
5
|
+
import type { eventWithTime } from "@rrweb/types";
|
|
6
|
+
export type ReplayEvent = eventWithTime;
|
|
12
7
|
export interface ReplayConfig {
|
|
13
8
|
enabled: boolean;
|
|
14
9
|
sampleRate: number;
|
|
@@ -24,17 +19,15 @@ export interface ReplayConfig {
|
|
|
24
19
|
export declare class SessionReplayEngine {
|
|
25
20
|
private config;
|
|
26
21
|
private events;
|
|
27
|
-
private observer?;
|
|
28
|
-
private sequence;
|
|
29
22
|
private batchTimer?;
|
|
30
23
|
private isActive;
|
|
31
24
|
private sessionId;
|
|
32
|
-
private lastMouseMove;
|
|
33
|
-
private mouseMoveThrottle;
|
|
34
25
|
private sdkInstance?;
|
|
26
|
+
private rrwebStopRecord?;
|
|
27
|
+
private hasFullSnapshot;
|
|
35
28
|
constructor(sessionId: string, config?: Partial<ReplayConfig>);
|
|
36
29
|
/**
|
|
37
|
-
* Start session replay recording
|
|
30
|
+
* Start session replay recording using rrweb
|
|
38
31
|
*/
|
|
39
32
|
start(): boolean;
|
|
40
33
|
/**
|
|
@@ -42,69 +35,9 @@ export declare class SessionReplayEngine {
|
|
|
42
35
|
*/
|
|
43
36
|
stop(): void;
|
|
44
37
|
/**
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
|
-
private setupDOMObserver;
|
|
48
|
-
/**
|
|
49
|
-
* Setup event listeners
|
|
50
|
-
*/
|
|
51
|
-
private setupEventListeners;
|
|
52
|
-
/**
|
|
53
|
-
* Remove event listeners
|
|
54
|
-
*/
|
|
55
|
-
private removeEventListeners;
|
|
56
|
-
/**
|
|
57
|
-
* Record initial DOM state
|
|
58
|
-
*/
|
|
59
|
-
private recordInitialState;
|
|
60
|
-
/**
|
|
61
|
-
* Handle click events
|
|
62
|
-
*/
|
|
63
|
-
private handleClick;
|
|
64
|
-
/**
|
|
65
|
-
* Handle scroll events
|
|
66
|
-
*/
|
|
67
|
-
private handleScroll;
|
|
68
|
-
/**
|
|
69
|
-
* Handle input events
|
|
70
|
-
*/
|
|
71
|
-
private handleInput;
|
|
72
|
-
/**
|
|
73
|
-
* Handle change events
|
|
74
|
-
*/
|
|
75
|
-
private handleChange;
|
|
76
|
-
/**
|
|
77
|
-
* Handle mouse move events (throttled)
|
|
78
|
-
*/
|
|
79
|
-
private handleMouseMove;
|
|
80
|
-
/**
|
|
81
|
-
* Handle viewport changes
|
|
82
|
-
*/
|
|
83
|
-
private handleViewportChange;
|
|
84
|
-
/**
|
|
85
|
-
* Handle navigation events
|
|
86
|
-
*/
|
|
87
|
-
private handleNavigation;
|
|
88
|
-
/**
|
|
89
|
-
* Serialize DOM mutation
|
|
90
|
-
*/
|
|
91
|
-
private serializeMutation;
|
|
92
|
-
/**
|
|
93
|
-
* Serialize DOM element
|
|
94
|
-
*/
|
|
95
|
-
private serializeElement;
|
|
96
|
-
/**
|
|
97
|
-
* Get element path for targeting
|
|
98
|
-
*/
|
|
99
|
-
private getElementPath;
|
|
100
|
-
/**
|
|
101
|
-
* Check if field should be masked
|
|
102
|
-
*/
|
|
103
|
-
private isSensitiveField;
|
|
104
|
-
/**
|
|
105
|
-
* Check if attribute should be masked
|
|
38
|
+
* Handle events from rrweb
|
|
106
39
|
*/
|
|
107
|
-
private
|
|
40
|
+
private handleRRWebEvent;
|
|
108
41
|
/**
|
|
109
42
|
* Add event to buffer
|
|
110
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/modules/session-replay.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-replay.d.ts","sourceRoot":"","sources":["../../../src/modules/session-replay.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAM;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAS;gBAEpB,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAiBjE;;OAEG;IACH,KAAK,IAAI,OAAO;IAuChB;;OAEG;IACH,IAAI,IAAI,IAAI;IAoBZ;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAyCjB;;OAEG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAI9B;;OAEG;YACW,aAAa;IAuC3B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,WAAW,IAAI,OAAO;CAGvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zaplier/sdk",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Advanced privacy-first tracking SDK with session replay, heatmaps, and anti-adblock technology",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -79,5 +79,8 @@
|
|
|
79
79
|
"not dead",
|
|
80
80
|
"not ie 11"
|
|
81
81
|
],
|
|
82
|
-
"dependencies": {
|
|
82
|
+
"dependencies": {
|
|
83
|
+
"rrweb": "^2.0.0-alpha.4",
|
|
84
|
+
"@rrweb/types": "^2.0.0-alpha.4"
|
|
85
|
+
}
|
|
83
86
|
}
|