(()=>{(function(){let o=new Map,n=null;function b(t,e){document.querySelectorAll(`[data-modal-trigger="${t}"]`).forEach(a=>{a.setAttribute("data-open",e)})}function g(t){if(!t||t.hasAttribute("data-initialized"))return null;t.setAttribute("data-initialized","true");let e=t.id,a=t.querySelector("[data-modal-content]"),u=t.hasAttribute("data-initial-open");if(!a||!e)return null;let c=u;function l(i){c=i,t.style.display=i?"flex":"none",t.setAttribute("data-open",i),b(e,i),i?(n=e,document.body.style.overflow="hidden",t.classList.remove("opacity-0"),t.classList.add("opacity-100"),a.classList.remove("scale-95","opacity-0"),a.classList.add("scale-100","opacity-100"),setTimeout(()=>{a.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')?.focus()},50)):(n===e&&(n=null,document.body.style.overflow=""),t.classList.remove("opacity-100"),t.classList.add("opacity-0"),a.classList.remove("scale-100","opacity-100"),a.classList.add("scale-95","opacity-0"))}function f(){n&&n!==e&&o.get(n)?.close(!0),t.style.display="flex",t.offsetHeight,l(!0),document.addEventListener("keydown",y),document.addEventListener("click",p)}function s(i=!1){l(!1),document.removeEventListener("keydown",y),document.removeEventListener("click",p),i||setTimeout(()=>{c||(t.style.display="none")},300)}function L(){c?s():f()}function y(i){i.key==="Escape"&&c&&t.getAttribute("data-disable-esc")!=="true"&&s()}function p(i){t.getAttribute("data-disable-click-away")!=="true"&&!a.contains(i.target)&&!v(i.target)&&s()}function v(i){let d=i.closest("[data-modal-trigger]");return d&&d.getAttribute("data-modal-trigger")===e}return t.querySelectorAll("[data-modal-close]").forEach(i=>{i.addEventListener("click",s)}),l(u),{open:f,close:s,toggle:L}}function r(t=document){t.querySelectorAll("[data-modal]:not([data-initialized])").forEach(e=>{let a=g(e);a&&e.id&&o.set(e.id,a)}),t.querySelectorAll("[data-modal-trigger]").forEach(e=>{if(e.dataset.initialized)return;e.dataset.initialized="true";let a=e.getAttribute("data-modal-trigger");e.addEventListener("click",()=>{!e.hasAttribute("disabled")&&!e.classList.contains("opacity-50")&&o.get(a)?.toggle()})})}window.templUI=window.templUI||{},window.templUI.modal={init:r},document.addEventListener("DOMContentLoaded",()=>r())})();})();