// chatbot-controller.js function adjustIframeSize(height, width) { const iframe = document.getElementById('chatbot-iframe'); if (iframe) { const pageWidth = document.documentElement.clientWidth; const pageHeight = document.documentElement.clientHeight; let adjustedWidth = width; let adjustedHeight = height; if (width === '100%') { adjustedWidth = pageWidth; } else if (width.endsWith('px')) { const widthInPixels = parseInt(width, 10); adjustedWidth = Math.min(widthInPixels, pageWidth); } if (height === '100%') { adjustedHeight = pageHeight; } else if (height.endsWith('px')) { const heightInPixels = parseInt(height, 10); adjustedHeight = Math.min(heightInPixels, pageHeight); } iframe.style.width = `${adjustedWidth}px`; iframe.style.height = `${adjustedHeight}px`; } } window.addEventListener('message', (event) => { if (event.data.action === 'adjustSize') { const currentHeight = document.getElementById('chatbot-iframe').style.height; const currentWidth = document.getElementById('chatbot-iframe').style.width; // Only resize the chatbot when requested by the user if (currentHeight === '100vh' && currentWidth === '100%') { if (!('cta' in event.data)) { adjustIframeSize(event.data.height, event.data.width); } } else { adjustIframeSize(event.data.height, event.data.width); } } }); window.addEventListener('message', (event) => { if (event.data === "requestParentUrl") { event.source.postMessage({ action: 'responseParentUrl', url: window.location.href }, event.origin); } });