From a517b9dd9085eb561d23b6db733ff12d4616ea7c Mon Sep 17 00:00:00 2001 From: Yanzhen Yu Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] update typing files --- packages/rrweb/typings/replay/index.d.ts | 3 ++ packages/rrweb/typings/replay/machine.d.ts | 3 +- .../rrweb/typings/replay/virtual-styles.d.ts | 22 +++++++++++-- packages/rrweb/typings/types.d.ts | 32 +++++++++++++++++-- packages/rrweb/typings/utils.d.ts | 2 +- 5 files changed, 55 insertions(+), 7 deletions(-) diff --git a/packages/rrweb/typings/replay/index.d.ts b/packages/rrweb/typings/replay/index.d.ts index 0511749f..2c49091b 100644 --- a/packages/rrweb/typings/replay/index.d.ts +++ b/packages/rrweb/typings/replay/index.d.ts @@ -24,6 +24,8 @@ export declare class Replayer { private mirror; private firstFullSnapshot; private newDocumentQueue; + private mousePos; + private touchActive; constructor(events: Array, config?: Partial); on(event: string, handler: Handler): this; off(event: string, handler: Handler): this; @@ -42,6 +44,7 @@ export declare class Replayer { resetCache(): void; private setupDom; private handleResize; + private applyEventsSynchronously; private getCastFn; private rebuildFullSnapshot; private insertStyleRules; diff --git a/packages/rrweb/typings/replay/machine.d.ts b/packages/rrweb/typings/replay/machine.d.ts index 3d82c1ec..5331d009 100644 --- a/packages/rrweb/typings/replay/machine.d.ts +++ b/packages/rrweb/typings/replay/machine.d.ts @@ -46,9 +46,10 @@ export declare type PlayerState = { export declare function discardPriorSnapshots(events: eventWithTime[], baselineTime: number): eventWithTime[]; declare type PlayerAssets = { emitter: Emitter; + applyEventsSynchronously(events: Array): void; getCastFn(event: eventWithTime, isSync: boolean): () => void; }; -export declare function createPlayerService(context: PlayerContext, { getCastFn, emitter }: PlayerAssets): StateMachine.Service; +export declare function createPlayerService(context: PlayerContext, { getCastFn, applyEventsSynchronously, emitter }: PlayerAssets): StateMachine.Service; export declare type SpeedContext = { normalSpeed: playerConfig['speed']; timer: Timer; diff --git a/packages/rrweb/typings/replay/virtual-styles.d.ts b/packages/rrweb/typings/replay/virtual-styles.d.ts index b219f8b9..11ebf52d 100644 --- a/packages/rrweb/typings/replay/virtual-styles.d.ts +++ b/packages/rrweb/typings/replay/virtual-styles.d.ts @@ -2,7 +2,9 @@ import { INode } from 'rrweb-snapshot'; export declare enum StyleRuleType { Insert = 0, Remove = 1, - Snapshot = 2 + Snapshot = 2, + SetProperty = 3, + RemoveProperty = 4 } declare type InsertRule = { cssText: string; @@ -17,9 +19,25 @@ declare type SnapshotRule = { type: StyleRuleType.Snapshot; cssTexts: string[]; }; -export declare type VirtualStyleRules = Array; +declare type SetPropertyRule = { + type: StyleRuleType.SetProperty; + index: number[]; + property: string; + value: string | null; + priority: string | undefined; +}; +declare type RemovePropertyRule = { + type: StyleRuleType.RemoveProperty; + index: number[]; + property: string; +}; +export declare type VirtualStyleRules = Array; export declare type VirtualStyleRulesMap = Map; export declare function getNestedRule(rules: CSSRuleList, position: number[]): CSSGroupingRule; +export declare function getPositionsAndIndex(nestedIndex: number[]): { + positions: number[]; + index: number | undefined; +}; export declare function applyVirtualStyleRulesToNode(storedRules: VirtualStyleRules, styleNode: HTMLStyleElement): void; export declare function storeCSSRules(parentElement: HTMLStyleElement, virtualStyleRulesMap: VirtualStyleRulesMap): void; export {}; diff --git a/packages/rrweb/typings/types.d.ts b/packages/rrweb/typings/types.d.ts index 22aa1020..3becc330 100644 --- a/packages/rrweb/typings/types.d.ts +++ b/packages/rrweb/typings/types.d.ts @@ -71,7 +71,8 @@ export declare enum IncrementalSource { CanvasMutation = 9, Font = 10, Log = 11, - Drag = 12 + Drag = 12, + StyleDeclaration = 13 } export declare type mutationData = { source: IncrementalSource.Mutation; @@ -99,13 +100,16 @@ export declare type mediaInteractionData = { export declare type styleSheetRuleData = { source: IncrementalSource.StyleSheetRule; } & styleSheetRuleParam; +export declare type styleDeclarationData = { + source: IncrementalSource.StyleDeclaration; +} & styleDeclarationParam; export declare type canvasMutationData = { source: IncrementalSource.CanvasMutation; } & canvasMutationParam; export declare type fontData = { source: IncrementalSource.Font; } & fontParam; -export declare type incrementalData = mutationData | mousemoveData | mouseInteractionData | scrollData | viewportResizeData | inputData | mediaInteractionData | styleSheetRuleData | canvasMutationData | fontData; +export declare type incrementalData = mutationData | mousemoveData | mouseInteractionData | scrollData | viewportResizeData | inputData | mediaInteractionData | styleSheetRuleData | canvasMutationData | fontData | styleDeclarationData; export declare type event = domContentLoadedEvent | loadedEvent | fullSnapshotEvent | incrementalSnapshotEvent | metaEvent | customEvent | pluginEvent; export declare type eventWithTime = event & { timestamp: number; @@ -168,6 +172,7 @@ export declare type observerParam = { maskTextFn?: MaskTextFn; inlineStylesheet: boolean; styleSheetRuleCb: styleSheetRuleCallback; + styleDeclarationCb: styleDeclarationCallback; canvasMutationCb: canvasMutationCallback; fontCb: fontCallback; sampling: SamplingStrategy; @@ -194,6 +199,7 @@ export declare type hooksParam = { input?: inputCallback; mediaInteaction?: mediaInteractionCallback; styleSheetRule?: styleSheetRuleCallback; + styleDeclaration?: styleDeclarationCallback; canvasMutation?: canvasMutationCallback; font?: fontCallback; }; @@ -255,6 +261,12 @@ export declare type mousePosition = { id: number; timeOffset: number; }; +export declare type mouseMovePos = { + x: number; + y: number; + id: number; + debugData: incrementalData; +}; export declare enum MouseInteractions { MouseUp = 0, MouseDown = 1, @@ -265,7 +277,8 @@ export declare enum MouseInteractions { Blur = 6, TouchStart = 7, TouchMove_Departed = 8, - TouchEnd = 9 + TouchEnd = 9, + TouchCancel = 10 } declare type mouseInteractionParam = { type: MouseInteractions; @@ -293,6 +306,19 @@ export declare type styleSheetRuleParam = { adds?: styleSheetAddRule[]; }; export declare type styleSheetRuleCallback = (s: styleSheetRuleParam) => void; +export declare type styleDeclarationParam = { + id: number; + index: number[]; + set?: { + property: string; + value: string | null; + priority: string | undefined; + }; + remove?: { + property: string; + }; +}; +export declare type styleDeclarationCallback = (s: styleDeclarationParam) => void; export declare type canvasMutationCallback = (p: canvasMutationParam) => void; export declare type canvasMutationParam = { id: number; diff --git a/packages/rrweb/typings/utils.d.ts b/packages/rrweb/typings/utils.d.ts index a9139a84..a3d02532 100644 --- a/packages/rrweb/typings/utils.d.ts +++ b/packages/rrweb/typings/utils.d.ts @@ -1,4 +1,4 @@ -import { Mirror, throttleOptions, listenerHandler, hookResetter, blockClass, eventWithTime, addedNodeMutation, removedNodeMutation, textMutation, attributeMutation, mutationData, scrollData, inputData, DocumentDimension } from './types'; +import { Mirror, throttleOptions, listenerHandler, hookResetter, blockClass, addedNodeMutation, removedNodeMutation, textMutation, attributeMutation, mutationData, scrollData, inputData, DocumentDimension } from './types'; import { INode, serializedNodeWithId } from 'rrweb-snapshot'; export declare function on(type: string, fn: EventListenerOrEventListenerObject, target?: Document | Window): listenerHandler; export declare function createMirror(): Mirror;