expose blockSelector as a public option

This commit is contained in:
Yanzhen Yu
2026-04-01 12:00:00 +08:00
parent 528b8373a0
commit e9a5aeed06
4 changed files with 12 additions and 1 deletions

View File

@@ -33,6 +33,7 @@ function record<T = eventWithTime>(
checkoutEveryNms, checkoutEveryNms,
checkoutEveryNth, checkoutEveryNth,
blockClass = 'rr-block', blockClass = 'rr-block',
blockSelector = null,
ignoreClass = 'rr-ignore', ignoreClass = 'rr-ignore',
inlineStylesheet = true, inlineStylesheet = true,
maskAllInputs, maskAllInputs,
@@ -130,6 +131,7 @@ function record<T = eventWithTime>(
mutationBuffer.freeze(); // don't allow any mirror modifications during snapshotting mutationBuffer.freeze(); // don't allow any mirror modifications during snapshotting
const [node, idNodeMap] = snapshot(document, { const [node, idNodeMap] = snapshot(document, {
blockClass, blockClass,
blockSelector,
inlineStylesheet, inlineStylesheet,
maskAllInputs: maskInputOptions, maskAllInputs: maskInputOptions,
recordCanvas, recordCanvas,
@@ -289,6 +291,7 @@ function record<T = eventWithTime>(
}), }),
), ),
blockClass, blockClass,
blockSelector,
ignoreClass, ignoreClass,
maskInputOptions, maskInputOptions,
maskInputFn, maskInputFn,

View File

@@ -141,6 +141,7 @@ export default class MutationBuffer {
private emissionCallback: mutationCallBack; private emissionCallback: mutationCallBack;
private blockClass: blockClass; private blockClass: blockClass;
private blockSelector: string | null;
private inlineStylesheet: boolean; private inlineStylesheet: boolean;
private maskInputOptions: MaskInputOptions; private maskInputOptions: MaskInputOptions;
private recordCanvas: boolean; private recordCanvas: boolean;
@@ -148,11 +149,13 @@ export default class MutationBuffer {
public init( public init(
cb: mutationCallBack, cb: mutationCallBack,
blockClass: blockClass, blockClass: blockClass,
blockSelector: string | null,
inlineStylesheet: boolean, inlineStylesheet: boolean,
maskInputOptions: MaskInputOptions, maskInputOptions: MaskInputOptions,
recordCanvas: boolean, recordCanvas: boolean,
) { ) {
this.blockClass = blockClass; this.blockClass = blockClass;
this.blockSelector = blockSelector;
this.inlineStylesheet = inlineStylesheet; this.inlineStylesheet = inlineStylesheet;
this.maskInputOptions = maskInputOptions; this.maskInputOptions = maskInputOptions;
this.recordCanvas = recordCanvas; this.recordCanvas = recordCanvas;
@@ -213,7 +216,7 @@ export default class MutationBuffer {
doc: document, doc: document,
map: mirror.map, map: mirror.map,
blockClass: this.blockClass, blockClass: this.blockClass,
blockSelector: null, blockSelector: this.blockSelector,
skipChild: true, skipChild: true,
inlineStylesheet: this.inlineStylesheet, inlineStylesheet: this.inlineStylesheet,
maskInputOptions: this.maskInputOptions, maskInputOptions: this.maskInputOptions,

View File

@@ -44,6 +44,7 @@ export const mutationBuffer = new MutationBuffer();
function initMutationObserver( function initMutationObserver(
cb: mutationCallBack, cb: mutationCallBack,
blockClass: blockClass, blockClass: blockClass,
blockSelector: string | null,
inlineStylesheet: boolean, inlineStylesheet: boolean,
maskInputOptions: MaskInputOptions, maskInputOptions: MaskInputOptions,
recordCanvas: boolean, recordCanvas: boolean,
@@ -52,6 +53,7 @@ function initMutationObserver(
mutationBuffer.init( mutationBuffer.init(
cb, cb,
blockClass, blockClass,
blockSelector,
inlineStylesheet, inlineStylesheet,
maskInputOptions, maskInputOptions,
recordCanvas, recordCanvas,
@@ -578,6 +580,7 @@ export function initObservers(
const mutationObserver = initMutationObserver( const mutationObserver = initMutationObserver(
o.mutationCb, o.mutationCb,
o.blockClass, o.blockClass,
o.blockSelector,
o.inlineStylesheet, o.inlineStylesheet,
o.maskInputOptions, o.maskInputOptions,
o.recordCanvas, o.recordCanvas,

View File

@@ -171,6 +171,7 @@ export type recordOptions<T> = {
checkoutEveryNth?: number; checkoutEveryNth?: number;
checkoutEveryNms?: number; checkoutEveryNms?: number;
blockClass?: blockClass; blockClass?: blockClass;
blockSelector?: string;
ignoreClass?: string; ignoreClass?: string;
maskAllInputs?: boolean; maskAllInputs?: boolean;
maskInputOptions?: MaskInputOptions; maskInputOptions?: MaskInputOptions;
@@ -194,6 +195,7 @@ export type observerParam = {
inputCb: inputCallback; inputCb: inputCallback;
mediaInteractionCb: mediaInteractionCallback; mediaInteractionCb: mediaInteractionCallback;
blockClass: blockClass; blockClass: blockClass;
blockSelector: string | null;
ignoreClass: string; ignoreClass: string;
maskInputOptions: MaskInputOptions; maskInputOptions: MaskInputOptions;
maskInputFn?: MaskInputFn; maskInputFn?: MaskInputFn;