(function(){"use strict";const d="__deftlyWidgetAppLoaded",c="app.js",p=[["pointerdown",{once:!0,passive:!0}],["pointermove",{once:!0,passive:!0}],["keydown",{once:!0}],["touchstart",{once:!0,passive:!0}],["focusin",{once:!0}]];let s=!1;const D=()=>{const e=document.currentScript;return e?.src?e:Array.from(document.querySelectorAll("script[src]")).find(a=>/\/(loader|dist\/loader)\.js(\?|#|$)/.test(a.src))??null},w=e=>{const t=D();if(t?.src)try{return new URL(e,t.src).toString()}catch{}return e};let r=null;const l=()=>{typeof window<"u"&&window.DeftlyWidgetApp?.mount&&window.DeftlyWidgetApp.mount()},o=()=>r||(typeof window<"u"&&window[d]?(l(),r=Promise.resolve()):typeof window>"u"?(r=Promise.resolve(),r):(r=new Promise((t,a)=>{const f=document.querySelector(`script[data-deftly-widget-app="${c}"]`);if(f&&window[d]){l(),t();return}const n=f??document.createElement("script");f?n.src=w(c):(n.async=!0,n.src=w(c),n.setAttribute("data-deftly-widget-app",c),document.head.appendChild(n));const L=()=>{n.removeEventListener("load",h),n.removeEventListener("error",A)},h=()=>{L(),window[d]=!0;try{l()}catch(i){g(),a(i instanceof Error?i:new Error("Failed to mount Deftly widget"));return}m(),t()},A=i=>{L(),g(n),a(i instanceof Event?new Error("Failed to load Deftly widget bundle"):i)};n.addEventListener("load",h,{once:!0}),n.addEventListener("error",A,{once:!0})}),r));function m(){s&&(p.forEach(([e,t])=>{document.removeEventListener(e,u,t)}),window.removeEventListener("scroll",u,{capture:!0}),s=!1)}function u(){m(),o().catch(()=>{})}function y(){typeof document>"u"||typeof window>"u"||s||(p.forEach(([e,t])=>{document.addEventListener(e,u,t)}),window.addEventListener("scroll",u,{once:!0,passive:!0,capture:!0}),s=!0)}function v(){const e=window.requestIdleCallback;e?e(()=>{o().catch(()=>{})},{timeout:4e3}):window.setTimeout(()=>{o().catch(()=>{})},4e3)}function g(e){r=null,e?.parentNode&&e.parentNode.removeChild(e),!(typeof window>"u")&&(window[d]||(y(),v()))}const E=()=>{typeof window>"u"||(window.DeftlyWidgetLoader={load:()=>o(),mount:()=>o()},y(),v())};document.readyState==="interactive"||document.readyState==="complete"?E():document.addEventListener("DOMContentLoaded",E,{once:!0})})();
