UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

30 lines (29 loc) 1.29 kB
import E from "../../../shared-lib/logger.js"; import { BannerStrings as j } from "../constants.js"; import r, { OPTIONS as U } from "../../managers/braze-instance.js"; import { setupBannerUI as S } from "../../ui/js/banner-css.js"; import { addPassiveEventListener as F } from "../../util/dom-utils.js"; import { bannerToHtml as G } from "../display/banner-to-html.js"; import { destroyBannerHtml as A } from "../display/destroy-banner-html.js"; import { detectBannerImpressions as H } from "../display/detect-banner-impressions.js"; import { subscribeToBannersUpdates } from "../subscribe-to-banners-updates.js"; export function insertBanner(e, n) { if (!r.rr()) return; if (!e) return void E.error("Not inserting banner: banner was not provided."); if (!n) return void E.error("Not inserting banner: parentNode was not provided."); if (!r.er(U.nr)) return void E.error( "Banners are disabled. Use the 'allowUserSuppliedJavascript' option for braze.initialize to enable these messages.", ); S(); const o = G(e, r.er(U.sr)), s = subscribeToBannersUpdates((s) => { const i = s[e.placementId]; i ? n.replaceChildren(G(i, r.er(U.sr))) : A(o); }); s && o.setAttribute(j.ea, s), n.replaceChildren(o), F(window, "scroll", H), H(); }