UNPKG

clarity-js

Version:

An analytics library that uses web page interactions to generate aggregated insights

43 lines (39 loc) 1.37 kB
import { start as discStart } from "@src/layout/discover"; import { start as docStart, stop as docStop } from "@src/layout/document"; import { start as domStart, stop as domStop } from "@src/layout/dom"; import { start as mutStart, stop as mutStop } from "@src/layout/mutation"; import { start as regStart, stop as regStop } from "@src/layout/region"; import { start as styStart, stop as styStop } from "@src/layout/style"; import { start as animStart, stop as animStop } from "@src/layout/animation"; import { start as custStart, stop as custStop } from "@src/layout/custom"; import { bind } from "@src/core/event"; import config from "@src/core/config"; export { hashText } from "@src/layout/dom"; export function start(): void { // The order below is important and is determined by interdependencies of modules docStart(); regStart(); domStart(); if (config.delayDom) { bind(window, 'load', () => { mutStart(); }); } else { mutStart(); } // IMPORTANT: Start custom element detection BEFORE discover // This ensures pre-existing custom elements are registered before DOM traversal custStart(); discStart(); styStart(); animStart(); } export function stop(): void { regStop(); domStop(); mutStop(); docStop(); styStop(); animStop(); custStop(); }