UNPKG

@braze/web-sdk

Version:

Braze SDK for web sites and other JS platforms.

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