(function () {
'use strict';
var PIDJ_URL = "https:\/\/gopidj.com\/webtext\/pc:177d7271-7275-5995-a46c-8d4b883b9682";
var LAUNCHER_IMG_SRC = "https:\/\/gopidj.com\/ui-imgs\/webtext\/chat.svg";
var tmpl = document.createElement('template');
tmpl.innerHTML = `
`;
class PidjEmbedWidget extends HTMLElement {
connectedCallback() {
if (this.shadowRoot) {
return;
}
var self = this;
var shadow = this.attachShadow({ mode: 'open' });
shadow.appendChild(tmpl.content.cloneNode(true));
var panel = shadow.querySelector('.panel');
var mobileLauncher = shadow.querySelector('.mobile-launcher');
var desktopLauncher = shadow.querySelector('.desktop-launcher');
var closeBtn = shadow.querySelector('.close');
var iframe = shadow.querySelector('iframe');
var mobileLauncherImg = mobileLauncher.querySelector('img');
var desktopLauncherImg = desktopLauncher.querySelector('img');
mobileLauncherImg.src = LAUNCHER_IMG_SRC;
mobileLauncherImg.alt = 'Open chat';
desktopLauncherImg.src = LAUNCHER_IMG_SRC;
desktopLauncherImg.alt = 'Open chat';
function onKeydown(e) {
if (e.key === 'Escape') {
self.close();
}
}
this.open = function () {
if (panel.classList.contains('open')) {
return;
}
if (!iframe.getAttribute('src') || iframe.getAttribute('src') === 'about:blank') {
iframe.src = PIDJ_URL;
}
panel.hidden = false;
requestAnimationFrame(function () {
panel.classList.add('open');
document.addEventListener('keydown', onKeydown);
});
};
this.close = function () {
if (!panel.classList.contains('open')) {
return;
}
panel.classList.remove('open');
document.removeEventListener('keydown', onKeydown);
var settled = false;
function finish() {
if (settled) {
return;
}
settled = true;
panel.removeEventListener('transitionend', onTransEnd);
clearTimeout(fallback);
if (!panel.classList.contains('open')) {
panel.hidden = true;
}
}
function onTransEnd(e) {
if (e.target === panel && e.propertyName === 'opacity') {
finish();
}
}
var fallback = setTimeout(finish, 400);
panel.addEventListener('transitionend', onTransEnd);
};
mobileLauncher.addEventListener('click', function () {
if (!panel.classList.contains('open')) {
self.open();
} else {
self.close();
}
});
desktopLauncher.addEventListener('click', function () {
if (!panel.classList.contains('open')) {
self.open();
} else {
self.close();
}
});
closeBtn.addEventListener('click', function () {
self.close();
});
setTimeout(function () {
mobileLauncher.classList.add('visible');
desktopLauncher.classList.add('visible');
}, 250);
}
}
var tag = 'pidj-embed-widget';
if (!customElements.get(tag)) {
customElements.define(tag, PidjEmbedWidget);
}
if (document.body) {
document.body.appendChild(document.createElement(tag));
} else {
document.appendChild(document.createElement(tag));
}
})();