var M = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function ai(x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x.default : x; } var yt = { exports: {} }; /*! * sweetalert2 v11.4.4 * Released under the MIT License. */ (function(x, T) { (function(K, O) { x.exports = O(); })(M, function() { const K = "SweetAlert2:", O = (e) => { const t = []; for (let n = 0; n < e.length; n++) t.indexOf(e[n]) === -1 && t.push(e[n]); return t; }, B = (e) => e.charAt(0).toUpperCase() + e.slice(1), g = (e) => Array.prototype.slice.call(e), d = (e) => { console.warn("".concat(K, " ").concat(typeof e == "object" ? e.join(" ") : e)); }, H = (e) => { console.error("".concat(K, " ").concat(e)); }, Ie = [], wt = (e) => { Ie.includes(e) || (Ie.push(e), d(e)); }, Ct = (e, t) => { wt('"'.concat(e, '" is deprecated and will be removed in the next major release. Please use "').concat(t, '" instead.')); }, ne = (e) => typeof e == "function" ? e() : e, fe = (e) => e && typeof e.toPromise == "function", _ = (e) => fe(e) ? e.toPromise() : Promise.resolve(e), pe = (e) => e && Promise.resolve(e) === e, q = { title: "", titleText: "", text: "", html: "", footer: "", icon: void 0, iconColor: void 0, iconHtml: void 0, template: void 0, toast: !1, showClass: { popup: "swal2-show", backdrop: "swal2-backdrop-show", icon: "swal2-icon-show" }, hideClass: { popup: "swal2-hide", backdrop: "swal2-backdrop-hide", icon: "swal2-icon-hide" }, customClass: {}, target: "body", color: void 0, backdrop: !0, heightAuto: !0, allowOutsideClick: !0, allowEscapeKey: !0, allowEnterKey: !0, stopKeydownPropagation: !0, keydownListenerCapture: !1, showConfirmButton: !0, showDenyButton: !1, showCancelButton: !1, preConfirm: void 0, preDeny: void 0, confirmButtonText: "OK", confirmButtonAriaLabel: "", confirmButtonColor: void 0, denyButtonText: "No", denyButtonAriaLabel: "", denyButtonColor: void 0, cancelButtonText: "Cancel", cancelButtonAriaLabel: "", cancelButtonColor: void 0, buttonsStyling: !0, reverseButtons: !1, focusConfirm: !0, focusDeny: !1, focusCancel: !1, returnFocus: !0, showCloseButton: !1, closeButtonHtml: "×", closeButtonAriaLabel: "Close this dialog", loaderHtml: "", showLoaderOnConfirm: !1, showLoaderOnDeny: !1, imageUrl: void 0, imageWidth: void 0, imageHeight: void 0, imageAlt: "", timer: void 0, timerProgressBar: !1, width: void 0, padding: void 0, background: void 0, input: void 0, inputPlaceholder: "", inputLabel: "", inputValue: "", inputOptions: {}, inputAutoTrim: !0, inputAttributes: {}, inputValidator: void 0, returnInputValueOnDeny: !1, validationMessage: void 0, grow: !1, position: "center", progressSteps: [], currentProgressStep: void 0, progressStepsDistance: void 0, willOpen: void 0, didOpen: void 0, didRender: void 0, willClose: void 0, didClose: void 0, didDestroy: void 0, scrollbarPadding: !0 }, vt = ["allowEscapeKey", "allowOutsideClick", "background", "buttonsStyling", "cancelButtonAriaLabel", "cancelButtonColor", "cancelButtonText", "closeButtonAriaLabel", "closeButtonHtml", "color", "confirmButtonAriaLabel", "confirmButtonColor", "confirmButtonText", "currentProgressStep", "customClass", "denyButtonAriaLabel", "denyButtonColor", "denyButtonText", "didClose", "didDestroy", "footer", "hideClass", "html", "icon", "iconColor", "iconHtml", "imageAlt", "imageHeight", "imageUrl", "imageWidth", "preConfirm", "preDeny", "progressSteps", "returnFocus", "reverseButtons", "showCancelButton", "showCloseButton", "showConfirmButton", "showDenyButton", "text", "title", "titleText", "willClose"], Pt = {}, At = ["allowOutsideClick", "allowEnterKey", "backdrop", "focusConfirm", "focusDeny", "focusCancel", "returnFocus", "heightAuto", "keydownListenerCapture"], Le = (e) => Object.prototype.hasOwnProperty.call(q, e), Me = (e) => vt.indexOf(e) !== -1, ge = (e) => Pt[e], kt = (e) => { Le(e) || d('Unknown parameter "'.concat(e, '"')); }, Bt = (e) => { At.includes(e) && d('The parameter "'.concat(e, '" is incompatible with toasts')); }, Et = (e) => { ge(e) && Ct(e, ge(e)); }, St = (e) => { !e.backdrop && e.allowOutsideClick && d('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'); for (const t in e) kt(t), e.toast && Bt(t), Et(t); }, xt = "swal2-", He = (e) => { const t = {}; for (const n in e) t[e[n]] = xt + e[n]; return t; }, i = He(["container", "shown", "height-auto", "iosfix", "popup", "modal", "no-backdrop", "no-transition", "toast", "toast-shown", "show", "hide", "close", "title", "html-container", "actions", "confirm", "deny", "cancel", "default-outline", "footer", "icon", "icon-content", "image", "input", "file", "range", "select", "radio", "checkbox", "label", "textarea", "inputerror", "input-label", "validation-message", "progress-steps", "active-progress-step", "progress-step", "progress-step-line", "loader", "loading", "styled", "top", "top-start", "top-end", "top-left", "top-right", "center", "center-start", "center-end", "center-left", "center-right", "bottom", "bottom-start", "bottom-end", "bottom-left", "bottom-right", "grow-row", "grow-column", "grow-fullscreen", "rtl", "timer-progress-bar", "timer-progress-bar-container", "scrollbar-measure", "icon-success", "icon-warning", "icon-info", "icon-question", "icon-error"]), Y = He(["success", "warning", "info", "question", "error"]), h = () => document.body.querySelector(".".concat(i.container)), Z = (e) => { const t = h(); return t ? t.querySelector(e) : null; }, P = (e) => Z(".".concat(e)), u = () => P(i.popup), $ = () => P(i.icon), je = () => P(i.title), oe = () => P(i["html-container"]), De = () => P(i.image), Ve = () => P(i["progress-steps"]), ie = () => P(i["validation-message"]), k = () => Z(".".concat(i.actions, " .").concat(i.confirm)), I = () => Z(".".concat(i.actions, " .").concat(i.deny)), Tt = () => P(i["input-label"]), F = () => Z(".".concat(i.loader)), j = () => Z(".".concat(i.actions, " .").concat(i.cancel)), J = () => P(i.actions), qe = () => P(i.footer), se = () => P(i["timer-progress-bar"]), he = () => P(i.close), Ot = ` a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable], audio[controls], video[controls], summary `, me = () => { const e = g(u().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort((n, o) => { const s = parseInt(n.getAttribute("tabindex")), r = parseInt(o.getAttribute("tabindex")); return s > r ? 1 : s < r ? -1 : 0; }), t = g(u().querySelectorAll(Ot)).filter((n) => n.getAttribute("tabindex") !== "-1"); return O(e.concat(t)).filter((n) => C(n)); }, be = () => S(document.body, i.shown) && !S(document.body, i["toast-shown"]) && !S(document.body, i["no-backdrop"]), re = () => u() && S(u(), i.toast), It = () => u().hasAttribute("data-loading"), W = { previousBodyPadding: null }, m = (e, t) => { if (e.textContent = "", t) { const o = new DOMParser().parseFromString(t, "text/html"); g(o.querySelector("head").childNodes).forEach((s) => { e.appendChild(s); }), g(o.querySelector("body").childNodes).forEach((s) => { e.appendChild(s); }); } }, S = (e, t) => { if (!t) return !1; const n = t.split(/\s+/); for (let o = 0; o < n.length; o++) if (!e.classList.contains(n[o])) return !1; return !0; }, Lt = (e, t) => { g(e.classList).forEach((n) => { !Object.values(i).includes(n) && !Object.values(Y).includes(n) && !Object.values(t.showClass).includes(n) && e.classList.remove(n); }); }, A = (e, t, n) => { if (Lt(e, t), t.customClass && t.customClass[n]) { if (typeof t.customClass[n] != "string" && !t.customClass[n].forEach) return d("Invalid type of customClass.".concat(n, '! Expected string or iterable object, got "').concat(typeof t.customClass[n], '"')); a(e, t.customClass[n]); } }, ye = (e, t) => { if (!t) return null; switch (t) { case "select": case "textarea": case "file": return e.querySelector(".".concat(i.popup, " > .").concat(i[t])); case "checkbox": return e.querySelector(".".concat(i.popup, " > .").concat(i.checkbox, " input")); case "radio": return e.querySelector(".".concat(i.popup, " > .").concat(i.radio, " input:checked")) || e.querySelector(".".concat(i.popup, " > .").concat(i.radio, " input:first-child")); case "range": return e.querySelector(".".concat(i.popup, " > .").concat(i.range, " input")); default: return e.querySelector(".".concat(i.popup, " > .").concat(i.input)); } }, Fe = (e) => { if (e.focus(), e.type !== "file") { const t = e.value; e.value = "", e.value = t; } }, We = (e, t, n) => { !e || !t || (typeof t == "string" && (t = t.split(/\s+/).filter(Boolean)), t.forEach((o) => { Array.isArray(e) ? e.forEach((s) => { n ? s.classList.add(o) : s.classList.remove(o); }) : n ? e.classList.add(o) : e.classList.remove(o); })); }, a = (e, t) => { We(e, t, !0); }, E = (e, t) => { We(e, t, !1); }, L = (e, t) => { const n = g(e.childNodes); for (let o = 0; o < n.length; o++) if (S(n[o], t)) return n[o]; }, G = (e, t, n) => { n === "".concat(parseInt(n)) && (n = parseInt(n)), n || parseInt(n) === 0 ? e.style[t] = typeof n == "number" ? "".concat(n, "px") : n : e.style.removeProperty(t); }, p = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "flex"; e.style.display = t; }, b = (e) => { e.style.display = "none"; }, Re = (e, t, n, o) => { const s = e.querySelector(t); s && (s.style[n] = o); }, ce = (e, t, n) => { t ? p(e, n) : b(e); }, C = (e) => !!(e && (e.offsetWidth || e.offsetHeight || e.getClientRects().length)), Mt = () => !C(k()) && !C(I()) && !C(j()), Ue = (e) => e.scrollHeight > e.clientHeight, Ne = (e) => { const t = window.getComputedStyle(e), n = parseFloat(t.getPropertyValue("animation-duration") || "0"), o = parseFloat(t.getPropertyValue("transition-duration") || "0"); return n > 0 || o > 0; }, we = function(e) { let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1; const n = se(); C(n) && (t && (n.style.transition = "none", n.style.width = "100%"), setTimeout(() => { n.style.transition = "width ".concat(e / 1e3, "s linear"), n.style.width = "0%"; }, 10)); }, Ht = () => { const e = se(), t = parseInt(window.getComputedStyle(e).width); e.style.removeProperty("transition"), e.style.width = "100%"; const n = parseInt(window.getComputedStyle(e).width), o = t / n * 100; e.style.removeProperty("transition"), e.style.width = "".concat(o, "%"); }, ze = () => typeof window > "u" || typeof document > "u", jt = 100, c = {}, Dt = () => { c.previousActiveElement && c.previousActiveElement.focus ? (c.previousActiveElement.focus(), c.previousActiveElement = null) : document.body && document.body.focus(); }, Vt = (e) => new Promise((t) => { if (!e) return t(); const n = window.scrollX, o = window.scrollY; c.restoreFocusTimeout = setTimeout(() => { Dt(), t(); }, jt), window.scrollTo(n, o); }), qt = `

`).replace(/(^|\n)\s*/g, ""), Ft = () => { const e = h(); return e ? (e.remove(), E([document.documentElement, document.body], [i["no-backdrop"], i["toast-shown"], i["has-column"]]), !0) : !1; }, D = () => { c.currentInstance.resetValidationMessage(); }, Wt = () => { const e = u(), t = L(e, i.input), n = L(e, i.file), o = e.querySelector(".".concat(i.range, " input")), s = e.querySelector(".".concat(i.range, " output")), r = L(e, i.select), f = e.querySelector(".".concat(i.checkbox, " input")), v = L(e, i.textarea); t.oninput = D, n.onchange = D, r.onchange = D, f.onchange = D, v.oninput = D, o.oninput = () => { D(), s.value = o.value; }, o.onchange = () => { D(), o.nextSibling.value = o.value; }; }, Rt = (e) => typeof e == "string" ? document.querySelector(e) : e, Ut = (e) => { const t = u(); t.setAttribute("role", e.toast ? "alert" : "dialog"), t.setAttribute("aria-live", e.toast ? "polite" : "assertive"), e.toast || t.setAttribute("aria-modal", "true"); }, Nt = (e) => { window.getComputedStyle(e).direction === "rtl" && a(h(), i.rtl); }, zt = (e) => { const t = Ft(); if (ze()) { H("SweetAlert2 requires document to initialize"); return; } const n = document.createElement("div"); n.className = i.container, t && a(n, i["no-transition"]), m(n, qt); const o = Rt(e.target); o.appendChild(n), Ut(e), Nt(o), Wt(); }, Ce = (e, t) => { e instanceof HTMLElement ? t.appendChild(e) : typeof e == "object" ? Kt(e, t) : e && m(t, e); }, Kt = (e, t) => { e.jquery ? _t(t, e) : m(t, e.toString()); }, _t = (e, t) => { if (e.textContent = "", 0 in t) for (let n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0)); else e.appendChild(t.cloneNode(!0)); }, X = (() => { if (ze()) return !1; const e = document.createElement("div"), t = { WebkitAnimation: "webkitAnimationEnd", // Chrome, Safari and Opera animation: "animationend" // Standard syntax }; for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n) && typeof e.style[n] < "u") return t[n]; return !1; })(), Yt = () => { const e = document.createElement("div"); e.className = i["scrollbar-measure"], document.body.appendChild(e); const t = e.getBoundingClientRect().width - e.clientWidth; return document.body.removeChild(e), t; }, Zt = (e, t) => { const n = J(), o = F(); !t.showConfirmButton && !t.showDenyButton && !t.showCancelButton ? b(n) : p(n), A(n, t, "actions"), $t(n, o, t), m(o, t.loaderHtml), A(o, t, "loader"); }; function $t(e, t, n) { const o = k(), s = I(), r = j(); ve(o, "confirm", n), ve(s, "deny", n), ve(r, "cancel", n), Jt(o, s, r, n), n.reverseButtons && (n.toast ? (e.insertBefore(r, o), e.insertBefore(s, o)) : (e.insertBefore(r, t), e.insertBefore(s, t), e.insertBefore(o, t))); } function Jt(e, t, n, o) { if (!o.buttonsStyling) return E([e, t, n], i.styled); a([e, t, n], i.styled), o.confirmButtonColor && (e.style.backgroundColor = o.confirmButtonColor, a(e, i["default-outline"])), o.denyButtonColor && (t.style.backgroundColor = o.denyButtonColor, a(t, i["default-outline"])), o.cancelButtonColor && (n.style.backgroundColor = o.cancelButtonColor, a(n, i["default-outline"])); } function ve(e, t, n) { ce(e, n["show".concat(B(t), "Button")], "inline-block"), m(e, n["".concat(t, "ButtonText")]), e.setAttribute("aria-label", n["".concat(t, "ButtonAriaLabel")]), e.className = i[t], A(e, n, "".concat(t, "Button")), a(e, n["".concat(t, "ButtonClass")]); } function Gt(e, t) { typeof t == "string" ? e.style.background = t : t || a([document.documentElement, document.body], i["no-backdrop"]); } function Xt(e, t) { t in i ? a(e, i[t]) : (d('The "position" parameter is not valid, defaulting to "center"'), a(e, i.center)); } function Qt(e, t) { if (t && typeof t == "string") { const n = "grow-".concat(t); n in i && a(e, i[n]); } } const en = (e, t) => { const n = h(); n && (Gt(n, t.backdrop), Xt(n, t.position), Qt(n, t.grow), A(n, t, "container")); }; var l = { awaitingPromise: /* @__PURE__ */ new WeakMap(), promise: /* @__PURE__ */ new WeakMap(), innerParams: /* @__PURE__ */ new WeakMap(), domCache: /* @__PURE__ */ new WeakMap() }; const tn = ["input", "file", "range", "select", "radio", "checkbox", "textarea"], nn = (e, t) => { const n = u(), o = l.innerParams.get(e), s = !o || t.input !== o.input; tn.forEach((r) => { const f = i[r], v = L(n, f); rn(r, t.inputAttributes), v.className = f, s && b(v); }), t.input && (s && on(t), cn(t)); }, on = (e) => { if (!w[e.input]) return H('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(e.input, '"')); const t = Ke(e.input), n = w[e.input](t, e); p(n), setTimeout(() => { Fe(n); }); }, sn = (e) => { for (let t = 0; t < e.attributes.length; t++) { const n = e.attributes[t].name; ["type", "value", "style"].includes(n) || e.removeAttribute(n); } }, rn = (e, t) => { const n = ye(u(), e); if (n) { sn(n); for (const o in t) n.setAttribute(o, t[o]); } }, cn = (e) => { const t = Ke(e.input); e.customClass && a(t, e.customClass.input); }, Pe = (e, t) => { (!e.placeholder || t.inputPlaceholder) && (e.placeholder = t.inputPlaceholder); }, Q = (e, t, n) => { if (n.inputLabel) { e.id = i.input; const o = document.createElement("label"), s = i["input-label"]; o.setAttribute("for", e.id), o.className = s, a(o, n.customClass.inputLabel), o.innerText = n.inputLabel, t.insertAdjacentElement("beforebegin", o); } }, Ke = (e) => { const t = i[e] ? i[e] : i.input; return L(u(), t); }, w = {}; w.text = w.email = w.password = w.number = w.tel = w.url = (e, t) => (typeof t.inputValue == "string" || typeof t.inputValue == "number" ? e.value = t.inputValue : pe(t.inputValue) || d('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(typeof t.inputValue, '"')), Q(e, e, t), Pe(e, t), e.type = t.input, e), w.file = (e, t) => (Q(e, e, t), Pe(e, t), e), w.range = (e, t) => { const n = e.querySelector("input"), o = e.querySelector("output"); return n.value = t.inputValue, n.type = t.input, o.value = t.inputValue, Q(n, e, t), e; }, w.select = (e, t) => { if (e.textContent = "", t.inputPlaceholder) { const n = document.createElement("option"); m(n, t.inputPlaceholder), n.value = "", n.disabled = !0, n.selected = !0, e.appendChild(n); } return Q(e, e, t), e; }, w.radio = (e) => (e.textContent = "", e), w.checkbox = (e, t) => { const n = ye(u(), "checkbox"); n.value = "1", n.id = i.checkbox, n.checked = !!t.inputValue; const o = e.querySelector("span"); return m(o, t.inputPlaceholder), e; }, w.textarea = (e, t) => { e.value = t.inputValue, Pe(e, t), Q(e, e, t); const n = (o) => parseInt(window.getComputedStyle(o).marginLeft) + parseInt(window.getComputedStyle(o).marginRight); return setTimeout(() => { if ("MutationObserver" in window) { const o = parseInt(window.getComputedStyle(u()).width), s = () => { const r = e.offsetWidth + n(e); r > o ? u().style.width = "".concat(r, "px") : u().style.width = null; }; new MutationObserver(s).observe(e, { attributes: !0, attributeFilter: ["style"] }); } }), e; }; const ln = (e, t) => { const n = oe(); A(n, t, "htmlContainer"), t.html ? (Ce(t.html, n), p(n, "block")) : t.text ? (n.textContent = t.text, p(n, "block")) : b(n), nn(e, t); }, an = (e, t) => { const n = qe(); ce(n, t.footer), t.footer && Ce(t.footer, n), A(n, t, "footer"); }, un = (e, t) => { const n = he(); m(n, t.closeButtonHtml), A(n, t, "closeButton"), ce(n, t.showCloseButton), n.setAttribute("aria-label", t.closeButtonAriaLabel); }, dn = (e, t) => { const n = l.innerParams.get(e), o = $(); if (n && t.icon === n.icon) { Ye(o, t), _e(o, t); return; } if (!t.icon && !t.iconHtml) return b(o); if (t.icon && Object.keys(Y).indexOf(t.icon) === -1) return H('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(t.icon, '"')), b(o); p(o), Ye(o, t), _e(o, t), a(o, t.showClass.icon); }, _e = (e, t) => { for (const n in Y) t.icon !== n && E(e, Y[n]); a(e, Y[t.icon]), hn(e, t), fn(), A(e, t, "icon"); }, fn = () => { const e = u(), t = window.getComputedStyle(e).getPropertyValue("background-color"), n = e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"); for (let o = 0; o < n.length; o++) n[o].style.backgroundColor = t; }, pn = `
`, gn = ` `, Ye = (e, t) => { e.textContent = "", t.iconHtml ? m(e, Ze(t.iconHtml)) : t.icon === "success" ? m(e, pn) : t.icon === "error" ? m(e, gn) : m(e, Ze({ question: "?", warning: "!", info: "i" }[t.icon])); }, hn = (e, t) => { if (t.iconColor) { e.style.color = t.iconColor, e.style.borderColor = t.iconColor; for (const n of [".swal2-success-line-tip", ".swal2-success-line-long", ".swal2-x-mark-line-left", ".swal2-x-mark-line-right"]) Re(e, n, "backgroundColor", t.iconColor); Re(e, ".swal2-success-ring", "borderColor", t.iconColor); } }, Ze = (e) => '
').concat(e, "
"), mn = (e, t) => { const n = De(); if (!t.imageUrl) return b(n); p(n, ""), n.setAttribute("src", t.imageUrl), n.setAttribute("alt", t.imageAlt), G(n, "width", t.imageWidth), G(n, "height", t.imageHeight), n.className = i.image, A(n, t, "image"); }, bn = (e) => { const t = document.createElement("li"); return a(t, i["progress-step"]), m(t, e), t; }, yn = (e) => { const t = document.createElement("li"); return a(t, i["progress-step-line"]), e.progressStepsDistance && (t.style.width = e.progressStepsDistance), t; }, wn = (e, t) => { const n = Ve(); if (!t.progressSteps || t.progressSteps.length === 0) return b(n); p(n), n.textContent = "", t.currentProgressStep >= t.progressSteps.length && d("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"), t.progressSteps.forEach((o, s) => { const r = bn(o); if (n.appendChild(r), s === t.currentProgressStep && a(r, i["active-progress-step"]), s !== t.progressSteps.length - 1) { const f = yn(t); n.appendChild(f); } }); }, Cn = (e, t) => { const n = je(); ce(n, t.title || t.titleText, "block"), t.title && Ce(t.title, n), t.titleText && (n.innerText = t.titleText), A(n, t, "title"); }, vn = (e, t) => { const n = h(), o = u(); t.toast ? (G(n, "width", t.width), o.style.width = "100%", o.insertBefore(F(), $())) : G(o, "width", t.width), G(o, "padding", t.padding), t.color && (o.style.color = t.color), t.background && (o.style.background = t.background), b(ie()), Pn(o, t); }, Pn = (e, t) => { e.className = "".concat(i.popup, " ").concat(C(e) ? t.showClass.popup : ""), t.toast ? (a([document.documentElement, document.body], i["toast-shown"]), a(e, i.toast)) : a(e, i.modal), A(e, t, "popup"), typeof t.customClass == "string" && a(e, t.customClass), t.icon && a(e, i["icon-".concat(t.icon)]); }, $e = (e, t) => { vn(e, t), en(e, t), wn(e, t), dn(e, t), mn(e, t), Cn(e, t), un(e, t), ln(e, t), Zt(e, t), an(e, t), typeof t.didRender == "function" && t.didRender(u()); }, R = Object.freeze({ cancel: "cancel", backdrop: "backdrop", close: "close", esc: "esc", timer: "timer" }), An = () => { g(document.body.children).forEach((t) => { t === h() || t.contains(h()) || (t.hasAttribute("aria-hidden") && t.setAttribute("data-previous-aria-hidden", t.getAttribute("aria-hidden")), t.setAttribute("aria-hidden", "true")); }); }, Je = () => { g(document.body.children).forEach((t) => { t.hasAttribute("data-previous-aria-hidden") ? (t.setAttribute("aria-hidden", t.getAttribute("data-previous-aria-hidden")), t.removeAttribute("data-previous-aria-hidden")) : t.removeAttribute("aria-hidden"); }); }, Ge = ["swal-title", "swal-html", "swal-footer"], kn = (e) => { const t = typeof e.template == "string" ? document.querySelector(e.template) : e.template; if (!t) return {}; const n = t.content; return In(n), Object.assign(Bn(n), En(n), Sn(n), xn(n), Tn(n), On(n, Ge)); }, Bn = (e) => { const t = {}; return g(e.querySelectorAll("swal-param")).forEach((n) => { V(n, ["name", "value"]); const o = n.getAttribute("name"), s = n.getAttribute("value"); typeof q[o] == "boolean" && s === "false" && (t[o] = !1), typeof q[o] == "object" && (t[o] = JSON.parse(s)); }), t; }, En = (e) => { const t = {}; return g(e.querySelectorAll("swal-button")).forEach((n) => { V(n, ["type", "color", "aria-label"]); const o = n.getAttribute("type"); t["".concat(o, "ButtonText")] = n.innerHTML, t["show".concat(B(o), "Button")] = !0, n.hasAttribute("color") && (t["".concat(o, "ButtonColor")] = n.getAttribute("color")), n.hasAttribute("aria-label") && (t["".concat(o, "ButtonAriaLabel")] = n.getAttribute("aria-label")); }), t; }, Sn = (e) => { const t = {}, n = e.querySelector("swal-image"); return n && (V(n, ["src", "width", "height", "alt"]), n.hasAttribute("src") && (t.imageUrl = n.getAttribute("src")), n.hasAttribute("width") && (t.imageWidth = n.getAttribute("width")), n.hasAttribute("height") && (t.imageHeight = n.getAttribute("height")), n.hasAttribute("alt") && (t.imageAlt = n.getAttribute("alt"))), t; }, xn = (e) => { const t = {}, n = e.querySelector("swal-icon"); return n && (V(n, ["type", "color"]), n.hasAttribute("type") && (t.icon = n.getAttribute("type")), n.hasAttribute("color") && (t.iconColor = n.getAttribute("color")), t.iconHtml = n.innerHTML), t; }, Tn = (e) => { const t = {}, n = e.querySelector("swal-input"); n && (V(n, ["type", "label", "placeholder", "value"]), t.input = n.getAttribute("type") || "text", n.hasAttribute("label") && (t.inputLabel = n.getAttribute("label")), n.hasAttribute("placeholder") && (t.inputPlaceholder = n.getAttribute("placeholder")), n.hasAttribute("value") && (t.inputValue = n.getAttribute("value"))); const o = e.querySelectorAll("swal-input-option"); return o.length && (t.inputOptions = {}, g(o).forEach((s) => { V(s, ["value"]); const r = s.getAttribute("value"), f = s.innerHTML; t.inputOptions[r] = f; })), t; }, On = (e, t) => { const n = {}; for (const o in t) { const s = t[o], r = e.querySelector(s); r && (V(r, []), n[s.replace(/^swal-/, "")] = r.innerHTML.trim()); } return n; }, In = (e) => { const t = Ge.concat(["swal-param", "swal-button", "swal-image", "swal-icon", "swal-input", "swal-input-option"]); g(e.children).forEach((n) => { const o = n.tagName.toLowerCase(); t.indexOf(o) === -1 && d("Unrecognized element <".concat(o, ">")); }); }, V = (e, t) => { g(e.attributes).forEach((n) => { t.indexOf(n.name) === -1 && d(['Unrecognized attribute "'.concat(n.name, '" on <').concat(e.tagName.toLowerCase(), ">."), "".concat(t.length ? "Allowed attributes are: ".concat(t.join(", ")) : "To set the value, use HTML within the element.")]); }); }; var Xe = { email: (e, t) => /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid email address"), url: (e, t) => /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid URL") }; function Ln(e) { e.inputValidator || Object.keys(Xe).forEach((t) => { e.input === t && (e.inputValidator = Xe[t]); }); } function Mn(e) { (!e.target || typeof e.target == "string" && !document.querySelector(e.target) || typeof e.target != "string" && !e.target.appendChild) && (d('Target parameter is not valid, defaulting to "body"'), e.target = "body"); } function Hn(e) { Ln(e), e.showLoaderOnConfirm && !e.preConfirm && d(`showLoaderOnConfirm is set to true, but preConfirm is not defined. showLoaderOnConfirm should be used together with preConfirm, see usage example: https://sweetalert2.github.io/#ajax-request`), Mn(e), typeof e.title == "string" && (e.title = e.title.split(` `).join("
")), zt(e); } class jn { constructor(t, n) { this.callback = t, this.remaining = n, this.running = !1, this.start(); } start() { return this.running || (this.running = !0, this.started = /* @__PURE__ */ new Date(), this.id = setTimeout(this.callback, this.remaining)), this.remaining; } stop() { return this.running && (this.running = !1, clearTimeout(this.id), this.remaining -= (/* @__PURE__ */ new Date()).getTime() - this.started.getTime()), this.remaining; } increase(t) { const n = this.running; return n && this.stop(), this.remaining += t, n && this.start(), this.remaining; } getTimerLeft() { return this.running && (this.stop(), this.start()), this.remaining; } isRunning() { return this.running; } } const Dn = () => { W.previousBodyPadding === null && document.body.scrollHeight > window.innerHeight && (W.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")), document.body.style.paddingRight = "".concat(W.previousBodyPadding + Yt(), "px")); }, Vn = () => { W.previousBodyPadding !== null && (document.body.style.paddingRight = "".concat(W.previousBodyPadding, "px"), W.previousBodyPadding = null); }, qn = () => { if (// @ts-ignore (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !S(document.body, i.iosfix)) { const t = document.body.scrollTop; document.body.style.top = "".concat(t * -1, "px"), a(document.body, i.iosfix), Wn(), Fn(); } }, Fn = () => { const e = navigator.userAgent, t = !!e.match(/iPad/i) || !!e.match(/iPhone/i), n = !!e.match(/WebKit/i); t && n && !e.match(/CriOS/i) && u().scrollHeight > window.innerHeight - 44 && (h().style.paddingBottom = "".concat(44, "px")); }, Wn = () => { const e = h(); let t; e.ontouchstart = (n) => { t = Rn(n); }, e.ontouchmove = (n) => { t && (n.preventDefault(), n.stopPropagation()); }; }, Rn = (e) => { const t = e.target, n = h(); return Un(e) || Nn(e) ? !1 : t === n || !Ue(n) && t.tagName !== "INPUT" && // #1603 t.tagName !== "TEXTAREA" && // #2266 !(Ue(oe()) && // #1944 oe().contains(t)); }, Un = (e) => e.touches && e.touches.length && e.touches[0].touchType === "stylus", Nn = (e) => e.touches && e.touches.length > 1, zn = () => { if (S(document.body, i.iosfix)) { const e = parseInt(document.body.style.top, 10); E(document.body, i.iosfix), document.body.style.top = "", document.body.scrollTop = e * -1; } }, Qe = 10, Kn = (e) => { const t = h(), n = u(); typeof e.willOpen == "function" && e.willOpen(n); const s = window.getComputedStyle(document.body).overflowY; Zn(t, n, e), setTimeout(() => { _n(t, n); }, Qe), be() && (Yn(t, e.scrollbarPadding, s), An()), !re() && !c.previousActiveElement && (c.previousActiveElement = document.activeElement), typeof e.didOpen == "function" && setTimeout(() => e.didOpen(n)), E(t, i["no-transition"]); }, et = (e) => { const t = u(); if (e.target !== t) return; const n = h(); t.removeEventListener(X, et), n.style.overflowY = "auto"; }, _n = (e, t) => { X && Ne(t) ? (e.style.overflowY = "hidden", t.addEventListener(X, et)) : e.style.overflowY = "auto"; }, Yn = (e, t, n) => { qn(), t && n !== "hidden" && Dn(), setTimeout(() => { e.scrollTop = 0; }); }, Zn = (e, t, n) => { a(e, n.showClass.backdrop), t.style.setProperty("opacity", "0", "important"), p(t, "grid"), setTimeout(() => { a(t, n.showClass.popup), t.style.removeProperty("opacity"); }, Qe), a([document.documentElement, document.body], i.shown), n.heightAuto && n.backdrop && !n.toast && a([document.documentElement, document.body], i["height-auto"]); }, U = (e) => { let t = u(); t || new ue(), t = u(); const n = F(); re() ? b($()) : $n(t, e), p(n), t.setAttribute("data-loading", !0), t.setAttribute("aria-busy", !0), t.focus(); }, $n = (e, t) => { const n = J(), o = F(); !t && C(k()) && (t = k()), p(n), t && (b(t), o.setAttribute("data-button-to-replace", t.className)), o.parentNode.insertBefore(o, t), a([e, n], i.loading); }, Jn = (e, t) => { t.input === "select" || t.input === "radio" ? to(e, t) : ["text", "email", "number", "tel", "textarea"].includes(t.input) && (fe(t.inputValue) || pe(t.inputValue)) && (U(k()), no(e, t)); }, Gn = (e, t) => { const n = e.getInput(); if (!n) return null; switch (t.input) { case "checkbox": return Xn(n); case "radio": return Qn(n); case "file": return eo(n); default: return t.inputAutoTrim ? n.value.trim() : n.value; } }, Xn = (e) => e.checked ? 1 : 0, Qn = (e) => e.checked ? e.value : null, eo = (e) => e.files.length ? e.getAttribute("multiple") !== null ? e.files : e.files[0] : null, to = (e, t) => { const n = u(), o = (s) => oo[t.input](n, Ae(s), t); fe(t.inputOptions) || pe(t.inputOptions) ? (U(k()), _(t.inputOptions).then((s) => { e.hideLoading(), o(s); })) : typeof t.inputOptions == "object" ? o(t.inputOptions) : H("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(typeof t.inputOptions)); }, no = (e, t) => { const n = e.getInput(); b(n), _(t.inputValue).then((o) => { n.value = t.input === "number" ? parseFloat(o) || 0 : "".concat(o), p(n), n.focus(), e.hideLoading(); }).catch((o) => { H("Error in inputValue promise: ".concat(o)), n.value = "", p(n), n.focus(), e.hideLoading(); }); }, oo = { select: (e, t, n) => { const o = L(e, i.select), s = (r, f, v) => { const y = document.createElement("option"); y.value = v, m(y, f), y.selected = tt(v, n.inputValue), r.appendChild(y); }; t.forEach((r) => { const f = r[0], v = r[1]; if (Array.isArray(v)) { const y = document.createElement("optgroup"); y.label = f, y.disabled = !1, o.appendChild(y), v.forEach((z) => s(y, z[1], z[0])); } else s(o, v, f); }), o.focus(); }, radio: (e, t, n) => { const o = L(e, i.radio); t.forEach((r) => { const f = r[0], v = r[1], y = document.createElement("input"), z = document.createElement("label"); y.type = "radio", y.name = i.radio, y.value = f, tt(f, n.inputValue) && (y.checked = !0); const Oe = document.createElement("span"); m(Oe, v), Oe.className = i.label, z.appendChild(y), z.appendChild(Oe), o.appendChild(z); }); const s = o.querySelectorAll("input"); s.length && s[0].focus(); } }, Ae = (e) => { const t = []; return typeof Map < "u" && e instanceof Map ? e.forEach((n, o) => { let s = n; typeof s == "object" && (s = Ae(s)), t.push([o, s]); }) : Object.keys(e).forEach((n) => { let o = e[n]; typeof o == "object" && (o = Ae(o)), t.push([n, o]); }), t; }, tt = (e, t) => t && t.toString() === e.toString(); function nt() { const e = l.innerParams.get(this); if (!e) return; const t = l.domCache.get(this); b(t.loader), re() ? e.icon && p($()) : io(t), E([t.popup, t.actions], i.loading), t.popup.removeAttribute("aria-busy"), t.popup.removeAttribute("data-loading"), t.confirmButton.disabled = !1, t.denyButton.disabled = !1, t.cancelButton.disabled = !1; } const io = (e) => { const t = e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace")); t.length ? p(t[0], "inline-block") : Mt() && b(e.actions); }; function so(e) { const t = l.innerParams.get(e || this), n = l.domCache.get(e || this); return n ? ye(n.popup, t.input) : null; } var ee = { swalPromiseResolve: /* @__PURE__ */ new WeakMap(), swalPromiseReject: /* @__PURE__ */ new WeakMap() }; function ot(e, t, n, o) { re() ? it(e, o) : (Vt(n).then(() => it(e, o)), c.keydownTarget.removeEventListener("keydown", c.keydownHandler, { capture: c.keydownListenerCapture }), c.keydownHandlerAdded = !1), /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? (t.setAttribute("style", "display:none !important"), t.removeAttribute("class"), t.innerHTML = "") : t.remove(), be() && (Vn(), zn(), Je()), ro(); } function ro() { E([document.documentElement, document.body], [i.shown, i["height-auto"], i["no-backdrop"], i["toast-shown"]]); } function le(e) { e = uo(e); const t = ee.swalPromiseResolve.get(this), n = lo(this); this.isAwaitingPromise() ? e.isDismissed || (te(this), t(e)) : n && t(e); } function co() { return !!l.awaitingPromise.get(this); } const lo = (e) => { const t = u(); if (!t) return !1; const n = l.innerParams.get(e); if (!n || S(t, n.hideClass.popup)) return !1; E(t, n.showClass.popup), a(t, n.hideClass.popup); const o = h(); return E(o, n.showClass.backdrop), a(o, n.hideClass.backdrop), fo(e, t, n), !0; }; function ao(e) { const t = ee.swalPromiseReject.get(this); te(this), t && t(e); } const te = (e) => { e.isAwaitingPromise() && (l.awaitingPromise.delete(e), l.innerParams.get(e) || e._destroy()); }, uo = (e) => typeof e > "u" ? { isConfirmed: !1, isDenied: !1, isDismissed: !0 } : Object.assign({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e), fo = (e, t, n) => { const o = h(), s = X && Ne(t); typeof n.willClose == "function" && n.willClose(t), s ? po(e, t, o, n.returnFocus, n.didClose) : ot(e, o, n.returnFocus, n.didClose); }, po = (e, t, n, o, s) => { c.swalCloseEventFinishedCallback = ot.bind(null, e, n, o, s), t.addEventListener(X, function(r) { r.target === t && (c.swalCloseEventFinishedCallback(), delete c.swalCloseEventFinishedCallback); }); }, it = (e, t) => { setTimeout(() => { typeof t == "function" && t.bind(e.params)(), e._destroy(); }); }; function st(e, t, n) { const o = l.domCache.get(e); t.forEach((s) => { o[s].disabled = n; }); } function rt(e, t) { if (!e) return !1; if (e.type === "radio") { const o = e.parentNode.parentNode.querySelectorAll("input"); for (let s = 0; s < o.length; s++) o[s].disabled = t; } else e.disabled = t; } function go() { st(this, ["confirmButton", "denyButton", "cancelButton"], !1); } function ho() { st(this, ["confirmButton", "denyButton", "cancelButton"], !0); } function mo() { return rt(this.getInput(), !1); } function bo() { return rt(this.getInput(), !0); } function yo(e) { const t = l.domCache.get(this), n = l.innerParams.get(this); m(t.validationMessage, e), t.validationMessage.className = i["validation-message"], n.customClass && n.customClass.validationMessage && a(t.validationMessage, n.customClass.validationMessage), p(t.validationMessage); const o = this.getInput(); o && (o.setAttribute("aria-invalid", !0), o.setAttribute("aria-describedby", i["validation-message"]), Fe(o), a(o, i.inputerror)); } function wo() { const e = l.domCache.get(this); e.validationMessage && b(e.validationMessage); const t = this.getInput(); t && (t.removeAttribute("aria-invalid"), t.removeAttribute("aria-describedby"), E(t, i.inputerror)); } function Co() { return l.domCache.get(this).progressSteps; } function vo(e) { const t = u(), n = l.innerParams.get(this); if (!t || S(t, n.hideClass.popup)) return d("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup."); const o = Po(e), s = Object.assign({}, n, o); $e(this, s), l.innerParams.set(this, s), Object.defineProperties(this, { params: { value: Object.assign({}, this.params, e), writable: !1, enumerable: !0 } }); } const Po = (e) => { const t = {}; return Object.keys(e).forEach((n) => { Me(n) ? t[n] = e[n] : d('Invalid parameter to update: "'.concat(n, `". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js If you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md`)); }), t; }; function Ao() { const e = l.domCache.get(this), t = l.innerParams.get(this); if (!t) { ct(this); return; } e.popup && c.swalCloseEventFinishedCallback && (c.swalCloseEventFinishedCallback(), delete c.swalCloseEventFinishedCallback), c.deferDisposalTimer && (clearTimeout(c.deferDisposalTimer), delete c.deferDisposalTimer), typeof t.didDestroy == "function" && t.didDestroy(), ko(this); } const ko = (e) => { ct(e), delete e.params, delete c.keydownHandler, delete c.keydownTarget, delete c.currentInstance; }, ct = (e) => { e.isAwaitingPromise() ? (ke(l, e), l.awaitingPromise.set(e, !0)) : (ke(ee, e), ke(l, e)); }, ke = (e, t) => { for (const n in e) e[n].delete(t); }; var lt = /* @__PURE__ */ Object.freeze({ hideLoading: nt, disableLoading: nt, getInput: so, close: le, isAwaitingPromise: co, rejectPromise: ao, handleAwaitingPromise: te, closePopup: le, closeModal: le, closeToast: le, enableButtons: go, disableButtons: ho, enableInput: mo, disableInput: bo, showValidationMessage: yo, resetValidationMessage: wo, getProgressSteps: Co, update: vo, _destroy: Ao }); const Bo = (e) => { const t = l.innerParams.get(e); e.disableButtons(), t.input ? at(e, "confirm") : Ee(e, !0); }, Eo = (e) => { const t = l.innerParams.get(e); e.disableButtons(), t.returnInputValueOnDeny ? at(e, "deny") : Be(e, !1); }, So = (e, t) => { e.disableButtons(), t(R.cancel); }, at = (e, t) => { const n = l.innerParams.get(e); if (!n.input) return H('The "input" parameter is needed to be set when using returnInputValueOn'.concat(B(t))); const o = Gn(e, n); n.inputValidator ? xo(e, o, t) : e.getInput().checkValidity() ? t === "deny" ? Be(e, o) : Ee(e, o) : (e.enableButtons(), e.showValidationMessage(n.validationMessage)); }, xo = (e, t, n) => { const o = l.innerParams.get(e); e.disableInput(), Promise.resolve().then(() => _(o.inputValidator(t, o.validationMessage))).then((r) => { e.enableButtons(), e.enableInput(), r ? e.showValidationMessage(r) : n === "deny" ? Be(e, t) : Ee(e, t); }); }, Be = (e, t) => { const n = l.innerParams.get(e || void 0); n.showLoaderOnDeny && U(I()), n.preDeny ? (l.awaitingPromise.set(e || void 0, !0), Promise.resolve().then(() => _(n.preDeny(t, n.validationMessage))).then((s) => { s === !1 ? (e.hideLoading(), te(e)) : e.closePopup({ isDenied: !0, value: typeof s > "u" ? t : s }); }).catch((s) => dt(e || void 0, s))) : e.closePopup({ isDenied: !0, value: t }); }, ut = (e, t) => { e.closePopup({ isConfirmed: !0, value: t }); }, dt = (e, t) => { e.rejectPromise(t); }, Ee = (e, t) => { const n = l.innerParams.get(e || void 0); n.showLoaderOnConfirm && U(), n.preConfirm ? (e.resetValidationMessage(), l.awaitingPromise.set(e || void 0, !0), Promise.resolve().then(() => _(n.preConfirm(t, n.validationMessage))).then((s) => { C(ie()) || s === !1 ? (e.hideLoading(), te(e)) : ut(e, typeof s > "u" ? t : s); }).catch((s) => dt(e || void 0, s))) : ut(e, t); }, To = (e, t, n) => { l.innerParams.get(e).toast ? Oo(e, t, n) : (Lo(t), Mo(t), Ho(e, t, n)); }, Oo = (e, t, n) => { t.popup.onclick = () => { const o = l.innerParams.get(e); o && (Io(o) || o.timer || o.input) || n(R.close); }; }, Io = (e) => e.showConfirmButton || e.showDenyButton || e.showCancelButton || e.showCloseButton; let ae = !1; const Lo = (e) => { e.popup.onmousedown = () => { e.container.onmouseup = function(t) { e.container.onmouseup = void 0, t.target === e.container && (ae = !0); }; }; }, Mo = (e) => { e.container.onmousedown = () => { e.popup.onmouseup = function(t) { e.popup.onmouseup = void 0, (t.target === e.popup || e.popup.contains(t.target)) && (ae = !0); }; }; }, Ho = (e, t, n) => { t.container.onclick = (o) => { const s = l.innerParams.get(e); if (ae) { ae = !1; return; } o.target === t.container && ne(s.allowOutsideClick) && n(R.backdrop); }; }, jo = () => C(u()), ft = () => k() && k().click(), Do = () => I() && I().click(), Vo = () => j() && j().click(), qo = (e, t, n, o) => { t.keydownTarget && t.keydownHandlerAdded && (t.keydownTarget.removeEventListener("keydown", t.keydownHandler, { capture: t.keydownListenerCapture }), t.keydownHandlerAdded = !1), n.toast || (t.keydownHandler = (s) => Wo(e, s, o), t.keydownTarget = n.keydownListenerCapture ? window : u(), t.keydownListenerCapture = n.keydownListenerCapture, t.keydownTarget.addEventListener("keydown", t.keydownHandler, { capture: t.keydownListenerCapture }), t.keydownHandlerAdded = !0); }, Se = (e, t, n) => { const o = me(); if (o.length) return t = t + n, t === o.length ? t = 0 : t === -1 && (t = o.length - 1), o[t].focus(); u().focus(); }, pt = ["ArrowRight", "ArrowDown"], Fo = ["ArrowLeft", "ArrowUp"], Wo = (e, t, n) => { const o = l.innerParams.get(e); o && (t.isComposing || t.keyCode === 229 || (o.stopKeydownPropagation && t.stopPropagation(), t.key === "Enter" ? Ro(e, t, o) : t.key === "Tab" ? Uo(t, o) : [...pt, ...Fo].includes(t.key) ? No(t.key) : t.key === "Escape" && zo(t, o, n))); }, Ro = (e, t, n) => { if (ne(n.allowEnterKey) && t.target && e.getInput() && t.target.outerHTML === e.getInput().outerHTML) { if (["textarea", "file"].includes(n.input)) return; ft(), t.preventDefault(); } }, Uo = (e, t) => { const n = e.target, o = me(); let s = -1; for (let r = 0; r < o.length; r++) if (n === o[r]) { s = r; break; } e.shiftKey ? Se(t, s, -1) : Se(t, s, 1), e.stopPropagation(), e.preventDefault(); }, No = (e) => { const t = k(), n = I(), o = j(); if (![t, n, o].includes(document.activeElement)) return; const s = pt.includes(e) ? "nextElementSibling" : "previousElementSibling"; let r = document.activeElement; for (let f = 0; f < J().children.length; f++) { if (r = r[s], !r) return; if (C(r) && r instanceof HTMLButtonElement) break; } r instanceof HTMLButtonElement && r.focus(); }, zo = (e, t, n) => { ne(t.allowEscapeKey) && (e.preventDefault(), n(R.esc)); }, Ko = (e) => typeof e == "object" && e.jquery, gt = (e) => e instanceof Element || Ko(e), _o = (e) => { const t = {}; return typeof e[0] == "object" && !gt(e[0]) ? Object.assign(t, e[0]) : ["title", "html", "icon"].forEach((n, o) => { const s = e[o]; typeof s == "string" || gt(s) ? t[n] = s : s !== void 0 && H("Unexpected type of ".concat(n, '! Expected "string" or "Element", got ').concat(typeof s)); }), t; }; function Yo() { const e = this; for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]; return new e(...n); } function Zo(e) { class t extends this { _main(o, s) { return super._main(o, Object.assign({}, e, s)); } } return t; } const $o = () => c.timeout && c.timeout.getTimerLeft(), ht = () => { if (c.timeout) return Ht(), c.timeout.stop(); }, mt = () => { if (c.timeout) { const e = c.timeout.start(); return we(e), e; } }, Jo = () => { const e = c.timeout; return e && (e.running ? ht() : mt()); }, Go = (e) => { if (c.timeout) { const t = c.timeout.increase(e); return we(t, !0), t; } }, Xo = () => c.timeout && c.timeout.isRunning(); let bt = !1; const xe = {}; function Qo() { let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "data-swal-template"; xe[e] = this, bt || (document.body.addEventListener("click", ei), bt = !0); } const ei = (e) => { for (let t = e.target; t && t !== document; t = t.parentNode) for (const n in xe) { const o = t.getAttribute(n); if (o) { xe[n].fire({ template: o }); return; } } }; var ti = /* @__PURE__ */ Object.freeze({ isValidParameter: Le, isUpdatableParameter: Me, isDeprecatedParameter: ge, argsToParams: _o, isVisible: jo, clickConfirm: ft, clickDeny: Do, clickCancel: Vo, getContainer: h, getPopup: u, getTitle: je, getHtmlContainer: oe, getImage: De, getIcon: $, getInputLabel: Tt, getCloseButton: he, getActions: J, getConfirmButton: k, getDenyButton: I, getCancelButton: j, getLoader: F, getFooter: qe, getTimerProgressBar: se, getFocusableElements: me, getValidationMessage: ie, isLoading: It, fire: Yo, mixin: Zo, showLoading: U, enableLoading: U, getTimerLeft: $o, stopTimer: ht, resumeTimer: mt, toggleTimer: Jo, increaseTimer: Go, isTimerRunning: Xo, bindClickHandler: Qo }); let Te; class N { constructor() { if (typeof window > "u") return; Te = this; for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]; const s = Object.freeze(this.constructor.argsToParams(n)); Object.defineProperties(this, { params: { value: s, writable: !1, enumerable: !0, configurable: !0 } }); const r = this._main(this.params); l.promise.set(this, r); } _main(t) { let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; St(Object.assign({}, n, t)), c.currentInstance && (c.currentInstance._destroy(), be() && Je()), c.currentInstance = this; const o = oi(t, n); Hn(o), Object.freeze(o), c.timeout && (c.timeout.stop(), delete c.timeout), clearTimeout(c.restoreFocusTimeout); const s = ii(this); return $e(this, o), l.innerParams.set(this, o), ni(this, s, o); } // `catch` cannot be the name of a module export, so we define our thenable methods here instead then(t) { return l.promise.get(this).then(t); } finally(t) { return l.promise.get(this).finally(t); } } const ni = (e, t, n) => new Promise((o, s) => { const r = (f) => { e.closePopup({ isDismissed: !0, dismiss: f }); }; ee.swalPromiseResolve.set(e, o), ee.swalPromiseReject.set(e, s), t.confirmButton.onclick = () => Bo(e), t.denyButton.onclick = () => Eo(e), t.cancelButton.onclick = () => So(e, r), t.closeButton.onclick = () => r(R.close), To(e, t, r), qo(e, c, n, r), Jn(e, n), Kn(n), si(c, n, r), ri(t, n), setTimeout(() => { t.container.scrollTop = 0; }); }), oi = (e, t) => { const n = kn(e), o = Object.assign({}, q, t, n, e); return o.showClass = Object.assign({}, q.showClass, o.showClass), o.hideClass = Object.assign({}, q.hideClass, o.hideClass), o; }, ii = (e) => { const t = { popup: u(), container: h(), actions: J(), confirmButton: k(), denyButton: I(), cancelButton: j(), loader: F(), closeButton: he(), validationMessage: ie(), progressSteps: Ve() }; return l.domCache.set(e, t), t; }, si = (e, t, n) => { const o = se(); b(o), t.timer && (e.timeout = new jn(() => { n("timer"), delete e.timeout; }, t.timer), t.timerProgressBar && (p(o), A(o, t, "timerProgressBar"), setTimeout(() => { e.timeout && e.timeout.running && we(t.timer); }))); }, ri = (e, t) => { if (!t.toast) { if (!ne(t.allowEnterKey)) return li(); ci(e, t) || Se(t, -1, 1); } }, ci = (e, t) => t.focusDeny && C(e.denyButton) ? (e.denyButton.focus(), !0) : t.focusCancel && C(e.cancelButton) ? (e.cancelButton.focus(), !0) : t.focusConfirm && C(e.confirmButton) ? (e.confirmButton.focus(), !0) : !1, li = () => { document.activeElement instanceof HTMLElement && typeof document.activeElement.blur == "function" && document.activeElement.blur(); }; Object.assign(N.prototype, lt), Object.assign(N, ti), Object.keys(lt).forEach((e) => { N[e] = function() { if (Te) return Te[e](...arguments); }; }), N.DismissReason = R, N.version = "11.4.4"; const ue = N; return ue.default = ue, ue; }), typeof M < "u" && M.Sweetalert2 && (M.swal = M.sweetAlert = M.Swal = M.SweetAlert = M.Sweetalert2); })(yt); var ui = yt.exports; const de = /* @__PURE__ */ ai(ui); class di { static install(T, K = {}) { var g; const O = de.mixin(K), B = function(...d) { return O.fire.call(O, ...d); }; Object.assign(B, de), Object.keys(de).filter((d) => typeof de[d] == "function").forEach((d) => { B[d] = O[d].bind(O); }), (g = T.config) != null && g.globalProperties && !T.config.globalProperties.$swal ? (T.config.globalProperties.$swal = B, T.provide("$swal", B)) : Object.prototype.hasOwnProperty.call(T, "$swal") || (T.prototype.$swal = B, T.swal = B); } } export { di as default };