@highlight-run/rrweb 1.2.0 → 2.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 (185) hide show
  1. package/dist/plugins/console-record.js +655 -0
  2. package/dist/plugins/console-record.min.js +1 -1
  3. package/dist/plugins/console-record.min.js.map +1 -1
  4. package/dist/plugins/console-replay.js +293 -0
  5. package/dist/plugins/console-replay.min.js +16 -0
  6. package/dist/plugins/console-replay.min.js.map +1 -0
  7. package/dist/plugins/sequential-id-record.js +33 -0
  8. package/dist/plugins/sequential-id-record.min.js +2 -0
  9. package/dist/plugins/sequential-id-record.min.js.map +1 -0
  10. package/dist/plugins/sequential-id-replay.js +37 -0
  11. package/dist/plugins/sequential-id-replay.min.js +2 -0
  12. package/dist/plugins/sequential-id-replay.min.js.map +1 -0
  13. package/dist/record/rrweb-record-pack.js +747 -0
  14. package/dist/record/rrweb-record-pack.min.js +16 -0
  15. package/dist/record/rrweb-record-pack.min.js.map +1 -0
  16. package/dist/record/rrweb-record.js +3318 -0
  17. package/dist/record/rrweb-record.min.js +16 -0
  18. package/dist/record/rrweb-record.min.js.map +1 -0
  19. package/dist/replay/rrweb-replay-unpack.js +4626 -0
  20. package/dist/replay/rrweb-replay-unpack.min.css +2 -0
  21. package/dist/replay/rrweb-replay-unpack.min.css.map +1 -0
  22. package/dist/replay/rrweb-replay-unpack.min.js +30 -0
  23. package/dist/replay/rrweb-replay-unpack.min.js.map +1 -0
  24. package/dist/replay/rrweb-replay.js +4216 -0
  25. package/dist/replay/rrweb-replay.min.css +2 -0
  26. package/dist/replay/rrweb-replay.min.css.map +1 -0
  27. package/dist/replay/rrweb-replay.min.js +30 -0
  28. package/dist/replay/rrweb-replay.min.js.map +1 -0
  29. package/dist/rrweb-all.js +8708 -0
  30. package/dist/rrweb-all.min.css +2 -0
  31. package/dist/rrweb-all.min.css.map +1 -0
  32. package/dist/rrweb-all.min.js +30 -0
  33. package/dist/rrweb-all.min.js.map +1 -0
  34. package/dist/rrweb.js +7294 -0
  35. package/dist/rrweb.min.css +2 -0
  36. package/dist/rrweb.min.css.map +1 -0
  37. package/dist/rrweb.min.js +2 -2
  38. package/dist/rrweb.min.js.map +1 -1
  39. package/es/rrweb/ext/@xstate/fsm/es/index.js +17 -0
  40. package/es/rrweb/ext/base64-arraybuffer/dist/base64-arraybuffer.es5.js +49 -0
  41. package/es/rrweb/ext/fflate/esm/browser.js +777 -0
  42. package/es/rrweb/ext/mitt/dist/mitt.es.js +63 -0
  43. package/es/rrweb/packages/rrweb/ext/tslib/tslib.es6.js +78 -0
  44. package/es/rrweb/packages/rrweb/src/entries/all.js +13 -0
  45. package/es/rrweb/packages/rrweb/src/index.js +12 -0
  46. package/es/rrweb/packages/rrweb/src/packer/base.js +3 -0
  47. package/es/rrweb/packages/rrweb/src/packer/pack.js +10 -0
  48. package/es/rrweb/packages/rrweb/src/packer/unpack.js +29 -0
  49. package/es/rrweb/packages/rrweb/src/plugins/console/record/error-stack-parser.js +179 -0
  50. package/es/rrweb/packages/rrweb/src/plugins/console/record/index.js +134 -0
  51. package/es/rrweb/packages/rrweb/src/plugins/console/record/stringify.js +141 -0
  52. package/es/rrweb/packages/rrweb/src/plugins/console/replay/index.js +111 -0
  53. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/record/index.js +23 -0
  54. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/replay/index.js +28 -0
  55. package/es/rrweb/packages/rrweb/src/record/iframe-manager.js +32 -0
  56. package/es/rrweb/packages/rrweb/src/record/index.js +381 -0
  57. package/es/rrweb/packages/rrweb/src/record/mutation.js +532 -0
  58. package/es/rrweb/packages/rrweb/src/record/observer.js +665 -0
  59. package/es/rrweb/packages/rrweb/src/record/observers/canvas/2d.js +78 -0
  60. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas-manager.js +93 -0
  61. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas.js +30 -0
  62. package/es/rrweb/packages/rrweb/src/record/observers/canvas/serialize-args.js +116 -0
  63. package/es/rrweb/packages/rrweb/src/record/observers/canvas/webgl.js +78 -0
  64. package/es/rrweb/packages/rrweb/src/record/shadow-dom-manager.js +45 -0
  65. package/es/rrweb/packages/rrweb/src/replay/canvas/2d.js +25 -0
  66. package/es/rrweb/packages/rrweb/src/replay/canvas/index.js +35 -0
  67. package/es/rrweb/packages/rrweb/src/replay/canvas/webgl.js +124 -0
  68. package/es/rrweb/packages/rrweb/src/replay/index.js +1864 -0
  69. package/es/rrweb/packages/rrweb/src/replay/machine.js +321 -0
  70. package/es/rrweb/packages/rrweb/src/replay/smoothscroll.js +221 -0
  71. package/es/rrweb/packages/rrweb/src/replay/styles/inject-style.js +8 -0
  72. package/es/rrweb/packages/rrweb/src/replay/timer.js +96 -0
  73. package/es/rrweb/packages/rrweb/src/replay/virtual-styles.js +121 -0
  74. package/es/rrweb/packages/rrweb/src/types.js +75 -0
  75. package/es/rrweb/packages/rrweb/src/utils.js +509 -0
  76. package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +1697 -0
  77. package/lib/plugins/console-record.js +650 -0
  78. package/lib/plugins/console-replay.js +288 -0
  79. package/lib/plugins/sequential-id-record.js +28 -0
  80. package/lib/plugins/sequential-id-replay.js +32 -0
  81. package/lib/record/rrweb-record-pack.js +742 -0
  82. package/lib/record/rrweb-record.js +3315 -0
  83. package/lib/replay/rrweb-replay-unpack.js +4621 -0
  84. package/lib/replay/rrweb-replay.js +4211 -0
  85. package/lib/rrweb-all.js +8703 -0
  86. package/lib/rrweb.js +7289 -0
  87. package/package.json +41 -43
  88. package/typings/entries/all.d.ts +6 -0
  89. package/{dist → typings}/entries/record-pack.d.ts +0 -0
  90. package/{dist → typings}/entries/replay-unpack.d.ts +0 -0
  91. package/{dist → typings}/index.d.ts +1 -2
  92. package/{dist → typings}/packer/base.d.ts +0 -0
  93. package/{dist → typings}/packer/index.d.ts +0 -0
  94. package/{dist → typings}/packer/pack.d.ts +0 -0
  95. package/{dist → typings}/packer/unpack.d.ts +0 -0
  96. package/{dist → typings}/plugins/console/record/error-stack-parser.d.ts +0 -0
  97. package/{dist → typings}/plugins/console/record/index.d.ts +3 -2
  98. package/{dist → typings}/plugins/console/record/stringify.d.ts +0 -0
  99. package/{dist → typings}/plugins/console/replay/index.d.ts +2 -2
  100. package/{dist → typings}/plugins/sequential-id/record/index.d.ts +0 -0
  101. package/{dist → typings}/plugins/sequential-id/replay/index.d.ts +0 -0
  102. package/{dist → typings}/record/iframe-manager.d.ts +1 -1
  103. package/{dist → typings}/record/index.d.ts +0 -0
  104. package/{dist → typings}/record/mutation.d.ts +5 -8
  105. package/typings/record/observer.d.ts +7 -0
  106. package/{dist → typings}/record/observers/canvas/2d.d.ts +0 -0
  107. package/{dist → typings}/record/observers/canvas/canvas-manager.d.ts +0 -0
  108. package/{dist → typings}/record/observers/canvas/canvas.d.ts +0 -0
  109. package/{dist → typings}/record/observers/canvas/serialize-args.d.ts +1 -1
  110. package/{dist → typings}/record/observers/canvas/webgl.d.ts +0 -0
  111. package/typings/record/observers/canvas/webgl2.d.ts +2 -0
  112. package/typings/record/shadow-dom-manager.d.ts +21 -0
  113. package/{dist → typings}/replay/canvas/2d.d.ts +0 -0
  114. package/{dist → typings}/replay/canvas/index.d.ts +0 -0
  115. package/{dist → typings}/replay/canvas/webgl.d.ts +0 -0
  116. package/{dist → typings}/replay/index.d.ts +1 -0
  117. package/{dist → typings}/replay/machine.d.ts +0 -0
  118. package/{dist → typings}/replay/smoothscroll.d.ts +0 -0
  119. package/{dist → typings}/replay/styles/inject-style.d.ts +0 -0
  120. package/{dist → typings}/replay/timer.d.ts +0 -0
  121. package/{dist → typings}/replay/virtual-styles.d.ts +1 -1
  122. package/{dist → typings}/rrdom/index.d.ts +0 -0
  123. package/{dist → typings}/rrdom/tree-node.d.ts +0 -0
  124. package/{dist → typings}/types.d.ts +7 -8
  125. package/{dist → typings}/utils.d.ts +3 -4
  126. package/CHANGELOG.md +0 -26
  127. package/README.md +0 -124
  128. package/README.zh_CN.md +0 -122
  129. package/dist/entries/all.d.ts +0 -4
  130. package/dist/index.css +0 -82
  131. package/dist/index.css.map +0 -1
  132. package/dist/index.js +0 -3
  133. package/dist/index.js.LICENSE.txt +0 -14
  134. package/dist/index.js.map +0 -1
  135. package/dist/plugins/entries/all.d.ts +0 -4
  136. package/dist/plugins/entries/record-pack.d.ts +0 -2
  137. package/dist/plugins/entries/replay-unpack.d.ts +0 -2
  138. package/dist/plugins/index.d.ts +0 -9
  139. package/dist/plugins/packer/base.d.ts +0 -7
  140. package/dist/plugins/packer/index.d.ts +0 -2
  141. package/dist/plugins/packer/pack.d.ts +0 -2
  142. package/dist/plugins/packer/unpack.d.ts +0 -2
  143. package/dist/plugins/plugins/console/record/error-stack-parser.d.ts +0 -37
  144. package/dist/plugins/plugins/console/record/index.d.ts +0 -41
  145. package/dist/plugins/plugins/console/record/stringify.d.ts +0 -2
  146. package/dist/plugins/plugins/console/replay/index.d.ts +0 -9
  147. package/dist/plugins/plugins/sequential-id/record/index.d.ts +0 -6
  148. package/dist/plugins/plugins/sequential-id/replay/index.d.ts +0 -7
  149. package/dist/plugins/record/iframe-manager.d.ts +0 -13
  150. package/dist/plugins/record/index.d.ts +0 -9
  151. package/dist/plugins/record/mutation.d.ts +0 -45
  152. package/dist/plugins/record/observer.d.ts +0 -11
  153. package/dist/plugins/record/observers/canvas/2d.d.ts +0 -2
  154. package/dist/plugins/record/observers/canvas/canvas-manager.d.ts +0 -32
  155. package/dist/plugins/record/observers/canvas/canvas.d.ts +0 -2
  156. package/dist/plugins/record/observers/canvas/serialize-args.d.ts +0 -6
  157. package/dist/plugins/record/observers/canvas/webgl.d.ts +0 -2
  158. package/dist/plugins/record/shadow-dom-manager.d.ts +0 -34
  159. package/dist/plugins/replay/canvas/2d.d.ts +0 -9
  160. package/dist/plugins/replay/canvas/index.d.ts +0 -9
  161. package/dist/plugins/replay/canvas/webgl.d.ts +0 -11
  162. package/dist/plugins/replay/index.d.ts +0 -82
  163. package/dist/plugins/replay/machine.d.ts +0 -85
  164. package/dist/plugins/replay/smoothscroll.d.ts +0 -1
  165. package/dist/plugins/replay/styles/inject-style.d.ts +0 -2
  166. package/dist/plugins/replay/timer.d.ts +0 -19
  167. package/dist/plugins/replay/virtual-styles.d.ts +0 -43
  168. package/dist/plugins/rrdom/index.d.ts +0 -1
  169. package/dist/plugins/rrdom/tree-node.d.ts +0 -20
  170. package/dist/plugins/snapshot/css.d.ts +0 -92
  171. package/dist/plugins/snapshot/index.d.ts +0 -5
  172. package/dist/plugins/snapshot/rebuild.d.ts +0 -19
  173. package/dist/plugins/snapshot/snapshot.d.ts +0 -49
  174. package/dist/plugins/snapshot/types.d.ts +0 -99
  175. package/dist/plugins/snapshot/utils.d.ts +0 -11
  176. package/dist/plugins/types.d.ts +0 -509
  177. package/dist/plugins/utils.d.ts +0 -71
  178. package/dist/record/observer.d.ts +0 -11
  179. package/dist/record/shadow-dom-manager.d.ts +0 -34
  180. package/dist/snapshot/css.d.ts +0 -92
  181. package/dist/snapshot/index.d.ts +0 -5
  182. package/dist/snapshot/rebuild.d.ts +0 -19
  183. package/dist/snapshot/snapshot.d.ts +0 -49
  184. package/dist/snapshot/types.d.ts +0 -99
  185. package/dist/snapshot/utils.d.ts +0 -11
@@ -1,4 +0,0 @@
1
- export * from '../index';
2
- export * from '../packer';
3
- export * from '../plugins/console/record';
4
- export * from '../plugins/console/replay';
@@ -1,2 +0,0 @@
1
- export * from '../record/index';
2
- export * from '../packer/pack';
@@ -1,2 +0,0 @@
1
- export * from '../replay';
2
- export * from '../packer/unpack';
@@ -1,9 +0,0 @@
1
- import record from './record';
2
- import { Replayer } from './replay';
3
- import { _mirror } from './utils';
4
- import * as utils from './utils';
5
- export { EventType, IncrementalSource, MouseInteractions, ReplayerEvents, HighlightConfiguration, } from './types';
6
- declare const addCustomEvent: <T>(tag: string, payload: T) => void;
7
- declare const freezePage: () => void;
8
- export { record, addCustomEvent, freezePage, Replayer, _mirror as mirror, utils, };
9
- export { getRecordSequentialIdPlugin } from './plugins/sequential-id/record';
@@ -1,7 +0,0 @@
1
- import { eventWithTime } from '../types';
2
- export declare type PackFn = (event: eventWithTime) => string;
3
- export declare type UnpackFn = (raw: string) => eventWithTime;
4
- export declare type eventWithTimeAndPacker = eventWithTime & {
5
- v: string;
6
- };
7
- export declare const MARK = "v1";
@@ -1,2 +0,0 @@
1
- export { pack } from './pack';
2
- export { unpack } from './unpack';
@@ -1,2 +0,0 @@
1
- import { PackFn } from './base';
2
- export declare const pack: PackFn;
@@ -1,2 +0,0 @@
1
- import { UnpackFn } from './base';
2
- export declare const unpack: UnpackFn;
@@ -1,37 +0,0 @@
1
- export declare class StackFrame {
2
- private fileName;
3
- private functionName;
4
- private lineNumber?;
5
- private columnNumber?;
6
- constructor(obj: {
7
- fileName?: string;
8
- functionName?: string;
9
- lineNumber?: number;
10
- columnNumber?: number;
11
- });
12
- toString(): string;
13
- }
14
- export declare const ErrorStackParser: {
15
- parse: (error: Error) => StackFrame[];
16
- extractLocation: (urlLike: string) => (string | undefined)[];
17
- parseV8OrIE: (error: {
18
- stack: string;
19
- }) => StackFrame[];
20
- parseFFOrSafari: (error: {
21
- stack: string;
22
- }) => StackFrame[];
23
- parseOpera: (e: {
24
- stacktrace?: string;
25
- message: string;
26
- stack?: string;
27
- }) => StackFrame[];
28
- parseOpera9: (e: {
29
- message: string;
30
- }) => StackFrame[];
31
- parseOpera10: (e: {
32
- stacktrace: string;
33
- }) => StackFrame[];
34
- parseOpera11: (error: {
35
- stack: string;
36
- }) => StackFrame[];
37
- };
@@ -1,41 +0,0 @@
1
- import { RecordPlugin } from '../../../types';
2
- export declare type StringifyOptions = {
3
- stringLengthLimit?: number;
4
- numOfKeysLimit: number;
5
- };
6
- declare type LogRecordOptions = {
7
- level?: LogLevel[] | undefined;
8
- lengthThreshold?: number;
9
- stringifyOptions?: StringifyOptions;
10
- logger?: Logger | string;
11
- };
12
- export declare type LogData = {
13
- level: LogLevel;
14
- trace: string[];
15
- payload: string[];
16
- };
17
- export declare type LogLevel = 'assert' | 'clear' | 'count' | 'countReset' | 'debug' | 'dir' | 'dirxml' | 'error' | 'group' | 'groupCollapsed' | 'groupEnd' | 'info' | 'log' | 'table' | 'time' | 'timeEnd' | 'timeLog' | 'trace' | 'warn';
18
- export declare type Logger = {
19
- assert?: typeof console.assert;
20
- clear?: typeof console.clear;
21
- count?: typeof console.count;
22
- countReset?: typeof console.countReset;
23
- debug?: typeof console.debug;
24
- dir?: typeof console.dir;
25
- dirxml?: typeof console.dirxml;
26
- error?: typeof console.error;
27
- group?: typeof console.group;
28
- groupCollapsed?: typeof console.groupCollapsed;
29
- groupEnd?: () => void;
30
- info?: typeof console.info;
31
- log?: typeof console.log;
32
- table?: typeof console.table;
33
- time?: typeof console.time;
34
- timeEnd?: typeof console.timeEnd;
35
- timeLog?: typeof console.timeLog;
36
- trace?: typeof console.trace;
37
- warn?: typeof console.warn;
38
- };
39
- export declare const PLUGIN_NAME = "rrweb/console@1";
40
- export declare const getRecordConsolePlugin: (options?: LogRecordOptions) => RecordPlugin;
41
- export {};
@@ -1,2 +0,0 @@
1
- import { StringifyOptions } from './index';
2
- export declare function stringify(obj: any, stringifyOptions?: StringifyOptions): string;
@@ -1,9 +0,0 @@
1
- import { LogLevel, LogData } from '../record';
2
- import { ReplayPlugin } from '../../../types';
3
- declare type ReplayLogger = Partial<Record<LogLevel, (data: LogData) => void>>;
4
- declare type LogReplayConfig = {
5
- level?: LogLevel[] | undefined;
6
- replayLogger: ReplayLogger | undefined;
7
- };
8
- export declare const getReplayConsolePlugin: (options?: LogReplayConfig) => ReplayPlugin;
9
- export {};
@@ -1,6 +0,0 @@
1
- import { RecordPlugin } from '../../../types';
2
- export declare type SequentialIdOptions = {
3
- key: string;
4
- };
5
- export declare const PLUGIN_NAME = "rrweb/sequential-id@1";
6
- export declare const getRecordSequentialIdPlugin: (options?: Partial<SequentialIdOptions>) => RecordPlugin;
@@ -1,7 +0,0 @@
1
- import type { SequentialIdOptions } from '../record';
2
- import { ReplayPlugin } from '../../../types';
3
- declare type Options = SequentialIdOptions & {
4
- warnOnMissingId: boolean;
5
- };
6
- export declare const getReplaySequentialIdPlugin: (options?: Partial<Options>) => ReplayPlugin;
7
- export {};
@@ -1,13 +0,0 @@
1
- import { serializedNodeWithId, INode } from '../snapshot';
2
- import { mutationCallBack } from '../types';
3
- export declare class IframeManager {
4
- private iframes;
5
- private mutationCb;
6
- private loadListener?;
7
- constructor(options: {
8
- mutationCb: mutationCallBack;
9
- });
10
- addIframe(iframeEl: HTMLIFrameElement): void;
11
- addLoadListener(cb: (iframeEl: HTMLIFrameElement) => unknown): void;
12
- attachIframe(iframeEl: INode, childSn: serializedNodeWithId): void;
13
- }
@@ -1,9 +0,0 @@
1
- import { eventWithTime, recordOptions, listenerHandler } from '../types';
2
- declare function record<T = eventWithTime>(options?: recordOptions<T>): listenerHandler | undefined;
3
- declare namespace record {
4
- var addCustomEvent: <T>(tag: string, payload: T) => void;
5
- var freezePage: () => void;
6
- var takeFullSnapshot: (isCheckout?: boolean | undefined) => void;
7
- var mirror: import("../types").Mirror;
8
- }
9
- export default record;
@@ -1,45 +0,0 @@
1
- import { MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn } from '../snapshot';
2
- import { mutationRecord, blockClass, maskTextClass, mutationCallBack, Mirror } from '../types';
3
- import { IframeManager } from './iframe-manager';
4
- import { CanvasManager } from './observers/canvas/canvas-manager';
5
- import { ShadowDomManager } from './shadow-dom-manager';
6
- export default class MutationBuffer {
7
- private frozen;
8
- private locked;
9
- private texts;
10
- private attributes;
11
- private removes;
12
- private mapRemoves;
13
- private movedMap;
14
- private addedSet;
15
- private movedSet;
16
- private droppedSet;
17
- private emissionCallback;
18
- private blockClass;
19
- private blockSelector;
20
- private maskTextClass;
21
- private maskTextSelector;
22
- private inlineStylesheet;
23
- private maskInputOptions;
24
- private maskTextFn;
25
- private maskInputFn;
26
- private recordCanvas;
27
- private enableStrictPrivacy;
28
- private slimDOMOptions;
29
- private doc;
30
- private mirror;
31
- private iframeManager;
32
- private shadowDomManager;
33
- private canvasManager;
34
- init(cb: mutationCallBack, blockClass: blockClass, blockSelector: string | null, maskTextClass: maskTextClass, maskTextSelector: string | null, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, maskTextFn: MaskTextFn | undefined, maskInputFn: MaskInputFn | undefined, recordCanvas: boolean, slimDOMOptions: SlimDOMOptions, doc: Document, mirror: Mirror, iframeManager: IframeManager, shadowDomManager: ShadowDomManager, canvasManager: CanvasManager, enableStrictPrivacy: boolean): void;
35
- freeze(): void;
36
- unfreeze(): void;
37
- isFrozen(): boolean;
38
- lock(): void;
39
- unlock(): void;
40
- reset(): void;
41
- processMutations: (mutations: mutationRecord[]) => void;
42
- emit: () => void;
43
- private processMutation;
44
- private genAdds;
45
- }
@@ -1,11 +0,0 @@
1
- import { MaskInputOptions, SlimDOMOptions, MaskInputFn, MaskTextFn } from '../snapshot';
2
- import { mutationCallBack, observerParam, listenerHandler, scrollCallback, blockClass, maskTextClass, hooksParam, SamplingStrategy, Mirror } from '../types';
3
- import MutationBuffer from './mutation';
4
- import { IframeManager } from './iframe-manager';
5
- import { ShadowDomManager } from './shadow-dom-manager';
6
- import { CanvasManager } from './observers/canvas/canvas-manager';
7
- export declare const mutationBuffers: MutationBuffer[];
8
- export declare function initMutationObserver(cb: mutationCallBack, doc: Document, blockClass: blockClass, blockSelector: string | null, maskTextClass: maskTextClass, maskTextSelector: string | null, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, maskTextFn: MaskTextFn | undefined, maskInputFn: MaskInputFn | undefined, recordCanvas: boolean, slimDOMOptions: SlimDOMOptions, mirror: Mirror, iframeManager: IframeManager, shadowDomManager: ShadowDomManager, canvasManager: CanvasManager, rootEl: Node, enableStrictPrivacy: boolean): MutationObserver;
9
- export declare function initScrollObserver(cb: scrollCallback, doc: Document, mirror: Mirror, blockClass: blockClass, sampling: SamplingStrategy): listenerHandler;
10
- export declare const INPUT_TAGS: string[];
11
- export declare function initObservers(o: observerParam, hooks?: hooksParam): listenerHandler;
@@ -1,2 +0,0 @@
1
- import { blockClass, canvasManagerMutationCallback, IWindow, listenerHandler, Mirror } from '../../../types';
2
- export default function initCanvas2DMutationObserver(cb: canvasManagerMutationCallback, win: IWindow, blockClass: blockClass, mirror: Mirror): listenerHandler;
@@ -1,32 +0,0 @@
1
- import { blockClass, canvasMutationCallback, IWindow, Mirror } from '../../../types';
2
- export declare type RafStamps = {
3
- latestId: number;
4
- invokeId: number | null;
5
- };
6
- export declare class CanvasManager {
7
- private pendingCanvasMutations;
8
- private rafStamps;
9
- private mirror;
10
- private mutationCb;
11
- private resetObservers?;
12
- private frozen;
13
- private locked;
14
- reset(): void;
15
- freeze(): void;
16
- unfreeze(): void;
17
- lock(): void;
18
- unlock(): void;
19
- constructor(options: {
20
- recordCanvas: boolean | number;
21
- mutationCb: canvasMutationCallback;
22
- win: IWindow;
23
- blockClass: blockClass;
24
- mirror: Mirror;
25
- });
26
- private processMutation;
27
- private initCanvasMutationObserver;
28
- private startPendingCanvasMutationFlusher;
29
- private startRAFTimestamping;
30
- flushPendingCanvasMutations(): void;
31
- flushPendingCanvasMutationFor(canvas: HTMLCanvasElement, id: number): void;
32
- }
@@ -1,2 +0,0 @@
1
- import { blockClass, IWindow, listenerHandler } from '../../../types';
2
- export default function initCanvasContextObserver(win: IWindow, blockClass: blockClass): listenerHandler;
@@ -1,6 +0,0 @@
1
- import { IWindow, SerializedWebGlArg } from '../../../types';
2
- export declare function variableListFor(ctx: WebGLRenderingContext | WebGL2RenderingContext, ctor: string): any[];
3
- export declare const saveWebGLVar: (value: any, win: IWindow, ctx: WebGL2RenderingContext | WebGLRenderingContext) => number | void;
4
- export declare function serializeArg(value: any, win: IWindow, ctx: WebGL2RenderingContext | WebGLRenderingContext): SerializedWebGlArg;
5
- export declare const serializeArgs: (args: Array<any>, win: IWindow, ctx: WebGLRenderingContext | WebGL2RenderingContext) => SerializedWebGlArg[];
6
- export declare const isInstanceOfWebGLObject: (value: any, win: IWindow) => value is WebGLActiveInfo | WebGLBuffer | WebGLFramebuffer | WebGLProgram | WebGLRenderbuffer | WebGLShader | WebGLShaderPrecisionFormat | WebGLTexture | WebGLUniformLocation | WebGLVertexArrayObject;
@@ -1,2 +0,0 @@
1
- import { blockClass, canvasManagerMutationCallback, IWindow, listenerHandler, Mirror } from '../../../types';
2
- export default function initCanvasWebGLMutationObserver(cb: canvasManagerMutationCallback, win: IWindow, blockClass: blockClass, mirror: Mirror): listenerHandler;
@@ -1,34 +0,0 @@
1
- import { mutationCallBack, blockClass, maskTextClass, Mirror, scrollCallback, SamplingStrategy } from '../types';
2
- import { MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn } from '../snapshot';
3
- import { IframeManager } from './iframe-manager';
4
- import { CanvasManager } from './observers/canvas/canvas-manager';
5
- declare type BypassOptions = {
6
- blockClass: blockClass;
7
- blockSelector: string | null;
8
- maskTextClass: maskTextClass;
9
- maskTextSelector: string | null;
10
- inlineStylesheet: boolean;
11
- maskInputOptions: MaskInputOptions;
12
- maskTextFn: MaskTextFn | undefined;
13
- maskInputFn: MaskInputFn | undefined;
14
- recordCanvas: boolean;
15
- sampling: SamplingStrategy;
16
- slimDOMOptions: SlimDOMOptions;
17
- iframeManager: IframeManager;
18
- canvasManager: CanvasManager;
19
- enableStrictPrivacy: boolean;
20
- };
21
- export declare class ShadowDomManager {
22
- private mutationCb;
23
- private scrollCb;
24
- private bypassOptions;
25
- private mirror;
26
- constructor(options: {
27
- mutationCb: mutationCallBack;
28
- scrollCb: scrollCallback;
29
- bypassOptions: BypassOptions;
30
- mirror: Mirror;
31
- });
32
- addShadowRoot(shadowRoot: ShadowRoot, doc: Document): void;
33
- }
34
- export {};
@@ -1,9 +0,0 @@
1
- import { Replayer } from '../';
2
- import { canvasMutationCommand } from '../../types';
3
- export default function canvasMutation({ event, mutation, target, imageMap, errorHandler, }: {
4
- event: Parameters<Replayer['applyIncremental']>[0];
5
- mutation: canvasMutationCommand;
6
- target: HTMLCanvasElement;
7
- imageMap: Replayer['imageMap'];
8
- errorHandler: Replayer['warnCanvasMutationFailed'];
9
- }): void;
@@ -1,9 +0,0 @@
1
- import { Replayer } from '..';
2
- import { canvasMutationData } from '../../types';
3
- export default function canvasMutation({ event, mutation, target, imageMap, errorHandler, }: {
4
- event: Parameters<Replayer['applyIncremental']>[0];
5
- mutation: canvasMutationData;
6
- target: HTMLCanvasElement;
7
- imageMap: Replayer['imageMap'];
8
- errorHandler: Replayer['warnCanvasMutationFailed'];
9
- }): void;
@@ -1,11 +0,0 @@
1
- import { Replayer } from '../';
2
- import { CanvasContext, canvasMutationCommand, SerializedWebGlArg } from '../../types';
3
- export declare function variableListFor(ctx: WebGLRenderingContext | WebGL2RenderingContext, ctor: string): any[];
4
- export declare function deserializeArg(imageMap: Replayer['imageMap'], ctx: WebGLRenderingContext | WebGL2RenderingContext): (arg: SerializedWebGlArg) => any;
5
- export default function webglMutation({ mutation, target, type, imageMap, errorHandler, }: {
6
- mutation: canvasMutationCommand;
7
- target: HTMLCanvasElement;
8
- type: CanvasContext;
9
- imageMap: Replayer['imageMap'];
10
- errorHandler: Replayer['warnCanvasMutationFailed'];
11
- }): void;
@@ -1,82 +0,0 @@
1
- import { Timer } from './timer';
2
- import { createPlayerService, createSpeedService } from './machine';
3
- import { eventWithTime, playerConfig, playerMetaData, Handler, Mirror, SessionInterval } from '../types';
4
- import './styles/style.css';
5
- export declare class Replayer {
6
- wrapper: HTMLDivElement;
7
- iframe: HTMLIFrameElement;
8
- service: ReturnType<typeof createPlayerService>;
9
- speedService: ReturnType<typeof createSpeedService>;
10
- get timer(): Timer;
11
- config: playerConfig;
12
- private mouse;
13
- private mouseTail;
14
- private tailPositions;
15
- private emitter;
16
- private nextUserInteractionEvent;
17
- private activityIntervals;
18
- private inactiveEndTimestamp;
19
- private legacy_missingNodeRetryMap;
20
- private treeIndex;
21
- private fragmentParentMap;
22
- private elementStateMap;
23
- private virtualStyleRulesMap;
24
- private cache;
25
- private imageMap;
26
- private mirror;
27
- private firstFullSnapshot;
28
- private newDocumentQueue;
29
- private mousePos;
30
- private touchActive;
31
- constructor(events: Array<eventWithTime | string>, config?: Partial<playerConfig>);
32
- on(event: string, handler: Handler): this;
33
- off(event: string, handler: Handler): this;
34
- setConfig(config: Partial<playerConfig>): void;
35
- getActivityIntervals(): Array<SessionInterval>;
36
- getMetaData(): playerMetaData;
37
- getCurrentTime(): number;
38
- getTimeOffset(): number;
39
- getMirror(): Mirror;
40
- play(timeOffset?: number): void;
41
- pause(timeOffset?: number): void;
42
- resume(timeOffset?: number): void;
43
- startLive(baselineTime?: number): void;
44
- addEvent(rawEvent: eventWithTime | string): void;
45
- replaceEvents(events: eventWithTime[]): void;
46
- enableInteract(): void;
47
- disableInteract(): void;
48
- resetCache(): void;
49
- private setupDom;
50
- private handleResize;
51
- private applyEventsSynchronously;
52
- private getCastFn;
53
- private handleInactivity;
54
- private rebuildFullSnapshot;
55
- private insertStyleRules;
56
- private attachDocumentToIframe;
57
- private collectIframeAndAttachDocument;
58
- private waitForStylesheetLoad;
59
- private hasImageArg;
60
- private getImageArgs;
61
- private preloadAllImages;
62
- private preloadImages;
63
- private applyIncremental;
64
- private applyMutation;
65
- private applyScroll;
66
- private applyInput;
67
- private legacy_resolveMissingNode;
68
- private moveAndHover;
69
- private drawMouseTail;
70
- private hoverElements;
71
- private isUserInteraction;
72
- private backToNormal;
73
- private restoreRealParent;
74
- private storeState;
75
- private restoreState;
76
- private restoreNodeSheet;
77
- private warnNodeNotFound;
78
- private warnCanvasMutationFailed;
79
- private debugNodeNotFound;
80
- private warn;
81
- private debug;
82
- }
@@ -1,85 +0,0 @@
1
- import { StateMachine } from '@xstate/fsm';
2
- import { playerConfig, eventWithTime, Emitter } from '../types';
3
- import { Timer } from './timer';
4
- export declare type PlayerContext = {
5
- events: eventWithTime[];
6
- timer: Timer;
7
- timeOffset: number;
8
- baselineTime: number;
9
- lastPlayedEvent: eventWithTime | null;
10
- };
11
- export declare type PlayerEvent = {
12
- type: 'PLAY';
13
- payload: {
14
- timeOffset: number;
15
- };
16
- } | {
17
- type: 'CAST_EVENT';
18
- payload: {
19
- event: eventWithTime;
20
- };
21
- } | {
22
- type: 'PAUSE';
23
- } | {
24
- type: 'TO_LIVE';
25
- payload: {
26
- baselineTime?: number;
27
- };
28
- } | {
29
- type: 'ADD_EVENT';
30
- payload: {
31
- event: eventWithTime;
32
- };
33
- } | {
34
- type: 'REPLACE_EVENTS';
35
- payload: {
36
- events: eventWithTime[];
37
- };
38
- } | {
39
- type: 'END';
40
- };
41
- export declare type PlayerState = {
42
- value: 'playing';
43
- context: PlayerContext;
44
- } | {
45
- value: 'paused';
46
- context: PlayerContext;
47
- } | {
48
- value: 'live';
49
- context: PlayerContext;
50
- };
51
- export declare function discardPriorSnapshots(events: eventWithTime[], baselineTime: number): eventWithTime[];
52
- declare type PlayerAssets = {
53
- emitter: Emitter;
54
- applyEventsSynchronously(events: Array<eventWithTime>): void;
55
- getCastFn(event: eventWithTime, isSync: boolean): () => void;
56
- };
57
- export declare function createPlayerService(context: PlayerContext, { getCastFn, applyEventsSynchronously, emitter }: PlayerAssets): StateMachine.Service<PlayerContext, PlayerEvent, PlayerState>;
58
- export declare type SpeedContext = {
59
- normalSpeed: playerConfig['speed'];
60
- timer: Timer;
61
- };
62
- export declare type SpeedEvent = {
63
- type: 'FAST_FORWARD';
64
- payload: {
65
- speed: playerConfig['speed'];
66
- };
67
- } | {
68
- type: 'BACK_TO_NORMAL';
69
- } | {
70
- type: 'SET_SPEED';
71
- payload: {
72
- speed: playerConfig['speed'];
73
- };
74
- };
75
- export declare type SpeedState = {
76
- value: 'normal';
77
- context: SpeedContext;
78
- } | {
79
- value: 'skipping';
80
- context: SpeedContext;
81
- };
82
- export declare function createSpeedService(context: SpeedContext): StateMachine.Service<SpeedContext, SpeedEvent, SpeedState>;
83
- export declare type PlayerMachineState = StateMachine.State<PlayerContext, PlayerEvent, PlayerState>;
84
- export declare type SpeedMachineState = StateMachine.State<SpeedContext, SpeedEvent, SpeedState>;
85
- export {};
@@ -1 +0,0 @@
1
- export declare function polyfill(w?: Window, d?: Document): void;
@@ -1,2 +0,0 @@
1
- declare const rules: (blockClass: string) => string[];
2
- export default rules;
@@ -1,19 +0,0 @@
1
- import { actionWithDelay, eventWithTime } from '../types';
2
- export declare class Timer {
3
- timeOffset: number;
4
- speed: number;
5
- private actions;
6
- private raf;
7
- private liveMode;
8
- constructor(actions: actionWithDelay[] | undefined, speed: number);
9
- addAction(action: actionWithDelay): void;
10
- addActions(actions: actionWithDelay[]): void;
11
- replaceActions(actions: actionWithDelay[]): void;
12
- start(): void;
13
- clear(): void;
14
- setSpeed(speed: number): void;
15
- toggleLiveMode(mode: boolean): void;
16
- isActive(): boolean;
17
- private findActionIndex;
18
- }
19
- export declare function addDelay(event: eventWithTime, baselineTime: number): number;
@@ -1,43 +0,0 @@
1
- import { INode } from '../snapshot';
2
- export declare enum StyleRuleType {
3
- Insert = 0,
4
- Remove = 1,
5
- Snapshot = 2,
6
- SetProperty = 3,
7
- RemoveProperty = 4
8
- }
9
- declare type InsertRule = {
10
- cssText: string;
11
- type: StyleRuleType.Insert;
12
- index?: number | number[];
13
- };
14
- declare type RemoveRule = {
15
- type: StyleRuleType.Remove;
16
- index: number | number[];
17
- };
18
- declare type SnapshotRule = {
19
- type: StyleRuleType.Snapshot;
20
- cssTexts: string[];
21
- };
22
- declare type SetPropertyRule = {
23
- type: StyleRuleType.SetProperty;
24
- index: number[];
25
- property: string;
26
- value: string | null;
27
- priority: string | undefined;
28
- };
29
- declare type RemovePropertyRule = {
30
- type: StyleRuleType.RemoveProperty;
31
- index: number[];
32
- property: string;
33
- };
34
- export declare type VirtualStyleRules = Array<InsertRule | RemoveRule | SnapshotRule | SetPropertyRule | RemovePropertyRule>;
35
- export declare type VirtualStyleRulesMap = Map<INode, VirtualStyleRules>;
36
- export declare function getNestedRule(rules: CSSRuleList, position: number[]): CSSGroupingRule;
37
- export declare function getPositionsAndIndex(nestedIndex: number[]): {
38
- positions: number[];
39
- index: number | undefined;
40
- };
41
- export declare function applyVirtualStyleRulesToNode(storedRules: VirtualStyleRules, styleNode: HTMLStyleElement): void;
42
- export declare function storeCSSRules(parentElement: HTMLStyleElement, virtualStyleRulesMap: VirtualStyleRulesMap): void;
43
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,20 +0,0 @@
1
- export declare type AnyObject = {
2
- [key: string]: any;
3
- __rrdom__?: RRdomTreeNode;
4
- };
5
- export declare class RRdomTreeNode implements AnyObject {
6
- parent: AnyObject | null;
7
- previousSibling: AnyObject | null;
8
- nextSibling: AnyObject | null;
9
- firstChild: AnyObject | null;
10
- lastChild: AnyObject | null;
11
- childrenVersion: number;
12
- childIndexCachedUpTo: AnyObject | null;
13
- cachedIndex: number;
14
- cachedIndexVersion: number;
15
- get isAttached(): boolean;
16
- get hasChildren(): boolean;
17
- childrenChanged(): void;
18
- getCachedIndex(parentNode: AnyObject): number;
19
- setCachedIndex(parentNode: AnyObject, index: number): void;
20
- }