UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

29 lines (28 loc) 845 B
import { impressOnBottom as $, impressOnTop as B, detectImpression as I, } from "../../common/detect-impression.js"; import { topIsInView as k, bottomIsInView as q } from "../../util/dom-utils.js"; import { logBannerImpressions } from "../log-banner-impressions.js"; import { BANNER_HTML_CLASS as w, BANNER_PLACEMENT_ID as y, CONTROL_BANNER_HTML_CLASS as z, } from "./banner-to-html.js"; export function detectBannerImpressions() { const o = document.querySelectorAll(`.${w}, .${z}`), t = []; for (let n = 0; n < o.length; n++) { const s = o[n], i = s.getAttribute(y); if (!i) continue; const m = I.oo(s), r = I.no(s); if (m && r) continue; const e = k(s), c = q(s); e && !m && B(s), c && !r && $(s), I.oo(s) && I.no(s) && t.push(i); } t.length > 0 && logBannerImpressions(t); }