(()=>{const e=document.body,t=document.getElementById("essence-id"),n=t.dataset.headerHeight||"70px",o=t.dataset.modalPositionRight||"5px",a=t.dataset.modalPositionTop||"15px",i=t.dataset.modalPointerShow||!1,s=t.dataset.autoOpenLogin||!1,d=t.dataset.signInMessage||"Please enter and confirm your email",r=t.dataset.logo||"/images/oneid-logo.svg",p=document.createElement("div");t.appendChild(p);const l="https://id.essence.com/",c=document.createElement("iframe");c.id="one-id-frame",c.style.position="fixed",c.style.border="none",c.style.top=n,c.style.right="0px",c.style.zIndex="999999",c.style.height="0px",c.style.width="0px",c.src=l,e.appendChild(c),window.addEventListener("message",(async t=>{if("essence-id"===t.data.from){if("post-message-enter-fullscreen"===t.data.action){c.style.position="fixed",c.style.height="100%",c.style.width="100vw",c.style.top=n,e.style="overflow: hidden;";const o=document.getElementById("avatarPadding");o&&(o.style.borderColor=t.data.envColor)}if("post-message-exit-fullscreen"===t.data.action&&setTimeout((()=>{c.style.height="0px",c.style.width="0px",e.style="overflow: auto;";const t=document.getElementById("avatarPadding");t&&(t.style.borderColor="transparent")}),300),"user-avatar"===t.data.action&&t.data.avatar&&(p.innerHTML=t.data.avatar),"url-redirection"===t.data.action&&(window.location=t.data.url),"sso-transient-token-exchange"===t.data.action){const e=new Headers;e.append("Content-Type","application/json");let n={transient_token:t.data.transientToken,app_token:t.data.appToken};n=JSON.stringify(n);const o={method:"POST",headers:e,body:n,credentials:"include"};200===(await fetch(t.data.apiUrl,o)).status&&c.contentWindow.postMessage({to:"essence-id",from:"property",action:"sso-status"},l)}if("app-loaded"===t.data.action){c.contentWindow.postMessage({to:"essence-id",from:"property",action:"app-props",headerHeight:n,modalPointerShow:i,modalPositionTop:a,modalPositionRight:o,autoOpenLogin:s,signInMessage:d,parentUrl:window.location.href,logo:r},l);const e=h(window.location.href);let t,p;e?.find((e=>"transientToken"===e.key))&&(t=e?.find((e=>"transientToken"===e.key)).value),e?.find((e=>"appToken"===e.key))&&(p=e?.find((e=>"appToken"===e.key)).value);let m=l+"api/v1/sso/transient-token/exchange";t&&p&&m&&(c.contentWindow.postMessage({to:"essence-id",from:"property",action:"transient-call-token-in-progress"},l),await g(t,p,m))}}}),!1);const g=async(e,t,n)=>{const o=new Headers;o.append("Content-Type","application/json");let a={transient_token:e.replace(/%20/g,""),app_token:t.replace(/%20/g,"")};a=JSON.stringify(a);const i={method:"POST",headers:o,body:a,credentials:"include"};200===(await fetch(n,i)).status&&c.contentWindow.postMessage({to:"essence-id",from:"property",action:"sso-status"},l)},h=e=>{const t=e.split("?")[1];if(t){const e=t.split("&"),n=[];for(let t of e){const[e,o]=t.split("=");n.push({key:e,value:o})}return n}return null};document.addEventListener("click",(e=>{c.contentWindow.postMessage({to:"essence-id",from:"property",click:JSON.stringify(e.target.nodeName+e.target.id)},l)})),p.addEventListener("click",(e=>{c.contentWindow.postMessage({to:"essence-id",from:"property",action:"avatar-click"},l)}));let m=document.createElement("style"),y=document.createTextNode("\n            section.dashboard {\n                align-items: center;\n                display: flex;\n                gap: 5px;\n                justify-content: flex-end\n            }\n\n            #idAvatar {\n                font-size: 16px;\n                letter-spacing: 1px;\n                clip-path: border-box;\n            }\n\n            #avatarPadding {\n                border: 3px solid transparent;\n                border-radius: 30px;\n                padding: 2px;\n                position: relative;\n                transition: all 0.3s ease;\n            }\n\n            #avatarPlaceholder {\n                height: 26px; \n                width: 26px; \n                position: absolute; \n                bottom: 2px\n            }\n\n            .one-id-auth-sign-in-btn {\n                font-size: 14px;\n                border-radius: 16px;\n                border: 1px solid;\n                padding: 12px 16px 12px 16px;\n                height: 0px;\n                background-color: #FFF;\n            }\n\n            .one-id-auth-icon, .one-id-auth-sign-in-btn {\n                font-family: Gotham, Gotham-Black, Figtree, sans-serif;;\n                align-items: center;\n                cursor: pointer;\n                display: flex;\n                font-size: 14px;\n                justify-content: center;\n                opacity: 1;\n            }\n\n            .one-id-auth-icon {\n                border-radius: 50%;\n                height: 32px;\n                width: 32px;\n                color: #FFF;\n                text-transform: uppercase;\n                transition: all 0.3s ease;\n            }\n        ");m.appendChild(y),document.head.appendChild(m)})();