{"version":3,"file":"embed.21b46435.js","sources":["../../../frontend/features/common/utils/embed.js"],"sourcesContent":["import { featureFlagEnabled } from 'common/utils/helpers';\n\nfunction setStorageVariables() {\n const params = new URLSearchParams(window.location.search);\n if (!params.has('embed')) return;\n\n sessionStorage.setItem('embed', '1');\n\n if (params.has('origin') && params.has('iframe')) {\n sessionStorage.setItem('embedOrigin', params.get('origin'));\n sessionStorage.setItem('embedIframe', params.get('iframe'));\n }\n}\n\nfunction setDocumentClass() {\n if (sessionStorage.getItem('embed') === null) return;\n document.documentElement.classList.add('embed');\n}\n\n/**\n * @param {boolean} once\n */\nfunction setupHeightUpdates(once) {\n const origin = sessionStorage.getItem('embedOrigin');\n const iframe = sessionStorage.getItem('embedIframe');\n if (origin === null || iframe === null) return;\n\n const defaultData = {\n name: 'documentHeightChange',\n documentHeight: 400,\n iframe,\n };\n\n const sendHeight = () => {\n const data = {\n ...defaultData,\n documentHeight: document.documentElement.getBoundingClientRect().height,\n };\n\n window.parent.postMessage(data, origin);\n };\n\n const observer = new ResizeObserver(sendHeight);\n\n window.addEventListener('beforeunload', () => {\n observer.disconnect();\n window.parent.postMessage(defaultData, origin);\n });\n\n if (once) sendHeight();\n else observer.observe(document.documentElement);\n}\n\n/**\n * @param {boolean} once\n */\nexport function setupEmbeddedContent(once) {\n setStorageVariables();\n setDocumentClass();\n setupHeightUpdates(once);\n}\n\n/**\n * @param {string} url\n */\nexport function getEmbedSnippet(url) {\n return `
\n`;\n}\n\n/**\n * Get the widget snippet\n * @param {string} dataName\n * @param {string | number} id\n * @param {object} data\n * @returns\n */\nexport function getWidgetSnippet(dataName, id, language = 'en', data = {}) {\n const dataStr = Object.entries(data)\n .map(([key, value]) => `data-${key}=\"${value}\"`)\n .join(' ');\n\n return `\n\n`;\n}\n\n/**\n * Get the engagement widget snippet\n * @param {string | number} engagementId\n * @param {string} language\n * @param {object} data\n * @returns string\n */\nexport function getEngagementWidgetSnippet(engagementId, language, data) {\n return getWidgetSnippet('data-engagement-id', engagementId, language, data);\n}\n"],"names":["setStorageVariables","params","setDocumentClass","setupHeightUpdates","once","origin","iframe","defaultData","sendHeight","data","observer","setupEmbeddedContent","getEmbedSnippet","url","getWidgetSnippet","dataName","id","language","dataStr","key","value","featureFlagEnabled","getEngagementWidgetSnippet","engagementId"],"mappings":"sZAEA,SAASA,GAAsB,CAC7B,MAAMC,EAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACrD,CAACA,EAAO,IAAI,OAAO,IAER,eAAA,QAAQ,QAAS,GAAG,EAE/BA,EAAO,IAAI,QAAQ,GAAKA,EAAO,IAAI,QAAQ,IAC7C,eAAe,QAAQ,cAAeA,EAAO,IAAI,QAAQ,CAAC,EAC1D,eAAe,QAAQ,cAAeA,EAAO,IAAI,QAAQ,CAAC,GAE9D,CAEA,SAASC,GAAmB,CACtB,eAAe,QAAQ,OAAO,IAAM,MAC/B,SAAA,gBAAgB,UAAU,IAAI,OAAO,CAChD,CAKA,SAASC,EAAmBC,EAAM,CAC1B,MAAAC,EAAS,eAAe,QAAQ,aAAa,EAC7CC,EAAS,eAAe,QAAQ,aAAa,EAC/C,GAAAD,IAAW,MAAQC,IAAW,KAAM,OAExC,MAAMC,EAAc,CAClB,KAAM,uBACN,eAAgB,IAChB,OAAAD,CAAA,EAGIE,EAAa,IAAM,CACvB,MAAMC,EAAO,CACX,GAAGF,EACH,eAAgB,SAAS,gBAAgB,sBAAwB,EAAA,MAAA,EAG5D,OAAA,OAAO,YAAYE,EAAMJ,CAAM,CAAA,EAGlCK,EAAW,IAAI,eAAeF,CAAU,EAEvC,OAAA,iBAAiB,eAAgB,IAAM,CAC5CE,EAAS,WAAW,EACb,OAAA,OAAO,YAAYH,EAAaF,CAAM,CAAA,CAC9C,EAEGD,EAAiBI,IACPE,EAAA,QAAQ,SAAS,eAAe,CAChD,CAKO,SAASC,EAAqBP,EAAM,CACrBJ,IACHE,IACjBC,EAAmBC,CAAI,CACzB,CAKO,SAASQ,EAAgBC,EAAK,CACnC,MAAO,qDAAqDA;AAAA;AAAA;AAAA,WAGnD,OAAO,SAAS;AAAA;AAAA;AAAA,WAI3B,CASO,SAASC,EAAiBC,EAAUC,EAAIC,EAAW,KAAMR,EAAO,GAAI,CACzE,MAAMS,EAAU,OAAO,QAAQT,CAAI,EAChC,IAAI,CAAC,CAACU,EAAKC,CAAK,IAAM,QAAQD,MAAQC,IAAQ,EAC9C,KAAK,GAAG,EAEJ,MAAA,yCAAyCL,MAAaC,qBAAsBC,MAAaC;AAAA;AAAA,kCAEhEG,EAAmB,eAAe;AAAA;AAAA;AAAA;AAAA,WAIzD,OAAO,SAAS;AAAA;AAAA;AAAA,WAI3B,CASgB,SAAAC,EAA2BC,EAAcN,EAAUR,EAAM,CACvE,OAAOK,EAAiB,qBAAsBS,EAAcN,EAAUR,CAAI,CAC5E"}