UNPKG

posthog-js

Version:

Posthog-js allows you to automatically capture usage and send events to PostHog.

100 lines (99 loc) • 3.11 kB
import type { blockClass, eventWithTime, hooksParam, KeepIframeSrcFn, maskTextClass, PackFn, RecordPlugin, SamplingStrategy } from './rrweb-types'; type MaskInputOptions = Partial<{ color: boolean; date: boolean; 'datetime-local': boolean; email: boolean; month: boolean; number: boolean; range: boolean; search: boolean; tel: boolean; text: boolean; time: boolean; url: boolean; week: boolean; textarea: boolean; select: boolean; password: boolean; }>; type MaskInputFn = (text: string, element: HTMLElement) => string; type MaskTextFn = (text: string, element: HTMLElement | null) => string; type MaskAttributeFn = (name: string, value: string, element: Element) => string; type CanvasMasking = { regionsFn?: (canvas: HTMLCanvasElement) => Array<{ x: number; y: number; width: number; height: number; }> | null | undefined; configured?: () => boolean; }; type SlimDOMOptions = Partial<{ script: boolean; comment: boolean; headFavicon: boolean; headWhitespace: boolean; headMetaDescKeywords: boolean; headMetaSocial: boolean; headMetaRobots: boolean; headMetaHttpEquiv: boolean; headMetaAuthorship: boolean; headMetaVerification: boolean; headTitleMutations: boolean; }>; type DataURLOptions = Partial<{ type: string; quality: number; }>; type ErrorHandler = (error: unknown, context?: 'rrweb' | 'host') => void | boolean; export type recordOptions = { emit?: (e: eventWithTime, isCheckout?: boolean) => void; checkoutEveryNth?: number; checkoutEveryNms?: number; blockClass?: blockClass; blockSelector?: string; ignoreClass?: string; ignoreSelector?: string; maskTextClass?: maskTextClass; maskTextSelector?: string; maskAllInputs?: boolean; maskInputOptions?: MaskInputOptions; maskInputFn?: MaskInputFn; maskTextFn?: MaskTextFn; maskAllElementAttributes?: boolean; maskAttributeFn?: MaskAttributeFn; slimDOMOptions?: SlimDOMOptions | 'all' | true; ignoreCSSAttributes?: Set<string>; attributeFilter?: string[]; inlineStylesheet?: boolean; inlineStylesheetBudgetRules?: number; hooks?: hooksParam; packFn?: PackFn; sampling?: SamplingStrategy; dataURLOptions?: DataURLOptions; canvasResolutionScale?: number; canvasMasking?: CanvasMasking; recordDOM?: boolean; recordCanvas?: boolean; recordCrossOriginIframes?: boolean; recordAfter?: 'DOMContentLoaded' | 'load'; userTriggeredOnInput?: boolean; collectFonts?: boolean; inlineImages?: boolean; plugins?: RecordPlugin[]; mousemoveWait?: number; keepIframeSrcFn?: KeepIframeSrcFn; errorHandler?: ErrorHandler; }; export type rrwebRecord = { (options: recordOptions): (() => void) | undefined; addCustomEvent: (tag: string, payload: any) => void; takeFullSnapshot: () => void; isRecording?: () => boolean; mirror: { getId(n: Node | undefined | null): number; getNode(id: number): Node | null; }; }; export {};