""" Widget JS generator. Produces a self-contained, framework-agnostic JavaScript bundle served at GET /widget.js. Embed on any page with: Works on vanilla HTML, WordPress, Webflow, Shopify, Next.js (_document), and any framework where you control the HTML shell. For React/Vue projects that want a native component, host-side devs can call window.Contexta.open() / .close() / .toggle() from their own button, or await the dedicated npm package (@contexta/widget). Design decisions ---------------- - All CSS is ID-scoped (#ctxa-*) to avoid colliding with host-page styles. - The iframe src is set lazily on first open — zero network cost until use. - document.currentScript is captured synchronously (before any async code) so it works even when the host page has many script tags. - z-index 2147483647 is the highest a browser will honour. - sandbox attribute restricts the iframe while still allowing forms/popups. """ _TEMPLATE = r"""(function () { 'use strict'; /* ── Double-init guard ─────────────────────────────────────────────── */ if (window.__ctxa) return; /* ── Read chatbot ID from