1/*! 2 * sweetalert2 v11.26.4 3 * Released under the MIT License. 4 */ 5!(function (e, t) { 6 "object" == typeof exports && "undefined" != typeof module 7 ? (module.exports = t()) 8 : "function" == typeof define && define.amd 9 ? define(t) 10 : ((e = 11 "undefined" != typeof globalThis ? globalThis : e || self).Sweetalert2 = 12 t()); 13})(this, function () { 14 "use strict"; 15 function e(e, t, n) { 16 if ("function" == typeof e ? e === t : e.has(t)) 17 return arguments.length < 3 ? t : n; 18 throw new TypeError("Private element is not present on this object"); 19 } 20 function t(t, n) { 21 return t.get(e(t, n)); 22 } 23 function n(e, t, n) { 24 (function (e, t) { 25 if (t.has(e)) 26 throw new TypeError( 27 "Cannot initialize the same private elements twice on an object" 28 ); 29 })(e, t), 30 t.set(e, n); 31 } 32 const o = {}, 33 i = (e) => 34 new Promise((t) => { 35 if (!e) return t(); 36 const n = window.scrollX, 37 i = window.scrollY; 38 (o.restoreFocusTimeout = setTimeout(() => { 39 o.previousActiveElement instanceof HTMLElement 40 ? (o.previousActiveElement.focus(), 41 (o.previousActiveElement = null)) 42 : document.body && document.body.focus(), 43 t(); 44 }, 100)), 45 window.scrollTo(n, i); 46 }), 47 s = "swal2-", 48 r = [ 49 "container", 50 "shown", 51 "height-auto", 52 "iosfix", 53 "popup", 54 "modal", 55 "no-backdrop", 56 "no-transition", 57 "toast", 58 "toast-shown", 59 "show", 60 "hide", 61 "close", 62 "title", 63 "html-container", 64 "actions", 65 "confirm", 66 "deny", 67 "cancel", 68 "footer", 69 "icon", 70 "icon-content", 71 "image", 72 "input", 73 "file", 74 "range", 75 "select", 76 "radio", 77 "checkbox", 78 "label", 79 "textarea", 80 "inputerror", 81 "input-label", 82 "validation-message", 83 "progress-steps", 84 "active-progress-step", 85 "progress-step", 86 "progress-step-line", 87 "loader", 88 "loading", 89 "styled", 90 "top", 91 "top-start", 92 "top-end", 93 "top-left", 94 "top-right", 95 "center", 96 "center-start", 97 "center-end", 98 "center-left", 99 "center-right", 100 "bottom", 101 "bottom-start", 102 "bottom-end", 103 "bottom-left", 104 "bottom-right", 105 "grow-row", 106 "grow-column", 107 "grow-fullscreen", 108 "rtl", 109 "timer-progress-bar", 110 "timer-progress-bar-container", 111 "scrollbar-measure", 112 "icon-success", 113 "icon-warning", 114 "icon-info", 115 "icon-question", 116 "icon-error", 117 "draggable", 118 "dragging", 119 ].reduce((e, t) => ((e[t] = s + t), e), {}), 120 a = ["success", "warning", "info", "question", "error"].reduce( 121 (e, t) => ((e[t] = s + t), e), 122 {} 123 ), 124 l = "SweetAlert2:", 125 c = (e) => e.charAt(0).toUpperCase() + e.slice(1), 126 u = (e) => { 127 console.warn(`${l} ${"object" == typeof e ? e.join(" ") : e}`); 128 }, 129 d = (e) => { 130 console.error(`${l} ${e}`); 131 }, 132 p = [], 133 m = (e, t = null) => { 134 var n; 135 (n = `"${e}" is deprecated and will be removed in the next major release.${ 136 t ? ` Use "${t}" instead.` : "" 137 }`), 138 p.includes(n) || (p.push(n), u(n)); 139 }, 140 h = (e) => ("function" == typeof e ? e() : e), 141 g = (e) => e && "function" == typeof e.toPromise, 142 f = (e) => (g(e) ? e.toPromise() : Promise.resolve(e)), 143 b = (e) => e && Promise.resolve(e) === e, 144 y = () => document.body.querySelector(`.${r.container}`), 145 v = (e) => { 146 const t = y(); 147 return t ? t.querySelector(e) : null; 148 }, 149 w = (e) => v(`.${e}`), 150 C = () => w(r.popup), 151 A = () => w(r.icon), 152 E = () => w(r.title), 153 k = () => w(r["html-container"]), 154 B = () => w(r.image), 155 $ = () => w(r["progress-steps"]), 156 L = () => w(r["validation-message"]), 157 P = () => v(`.${r.actions} .${r.confirm}`), 158 x = () => v(`.${r.actions} .${r.cancel}`), 159 T = () => v(`.${r.actions} .${r.deny}`), 160 S = () => v(`.${r.loader}`), 161 O = () => w(r.actions), 162 M = () => w(r.footer), 163 j = () => w(r["timer-progress-bar"]), 164 H = () => w(r.close), 165 I = () => { 166 const e = C();
167 if (!e) return []; 168 const t = e.querySelectorAll( 169 '[tabindex]:not([tabindex="-1"]):not([tabindex="0"])' 170 ), 171 n = Array.from(t).sort((e, t) => { 172 const n = parseInt(e.getAttribute("tabindex") || "0"), 173 o = parseInt(t.getAttribute("tabindex") || "0"); 174 return n > o ? 1 : n < o ? -1 : 0; 175 }), 176 o = e.querySelectorAll( 177 '\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n' 178 ), 179 i = Array.from(o).filter((e) => "-1" !== e.getAttribute("tabindex")); 180 return [...new Set(n.concat(i))].filter((e) => ee(e)); 181 }, 182 D = () => 183 N(document.body, r.shown) && 184 !N(document.body, r["toast-shown"]) && 185 !N(document.body, r["no-backdrop"]), 186 V = () => { 187 const e = C(); 188 return !!e && N(e, r.toast); 189 }, 190 q = (e, t) => { 191 if (((e.textContent = ""), t)) { 192 const n = new DOMParser().parseFromString(t, "text/html"), 193 o = n.querySelector("head"); 194 o && 195 Array.from(o.childNodes).forEach((t) => { 196 e.appendChild(t); 197 }); 198 const i = n.querySelector("body"); 199 i && 200 Array.from(i.childNodes).forEach((t) => { 201 t instanceof HTMLVideoElement || t instanceof HTMLAudioElement 202 ? e.appendChild(t.cloneNode(!0)) 203 : e.appendChild(t); 204 }); 205 } 206 }, 207 N = (e, t) => { 208 if (!t) return !1; 209 const n = t.split(/\s+/); 210 for (let t = 0; t < n.length; t++) 211 if (!e.classList.contains(n[t])) return !1; 212 return !0; 213 }, 214 _ = (e, t, n) => { 215 if ( 216 (((e, t) => { 217 Array.from(e.classList).forEach((n) => { 218 Object.values(r).includes(n) || 219 Object.values(a).includes(n) || 220 Object.values(t.showClass || {}).includes(n) || 221 e.classList.remove(n); 222 }); 223 })(e, t), 224 !t.customClass) 225 ) 226 return; 227 const o = t.customClass[n]; 228 o && 229 ("string" == typeof o || o.forEach 230 ? z(e, o) 231 : u( 232 `Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"` 233 )); 234 }, 235 R = (e, t) => { 236 if (!t) return null; 237 switch (t) { 238 case "select": 239 case "textarea": 240 case "file": 241 return e.querySelector(`.${r.popup} > .${r[t]}`); 242 case "checkbox": 243 return e.querySelector(`.${r.popup} > .${r.checkbox} input`); 244 case "radio": 245 return ( 246 e.querySelector(`.${r.popup} > .${r.radio} input:checked`) || 247 e.querySelector(`.${r.popup} > .${r.radio} input:first-child`) 248 ); 249 case "range": 250 return e.querySelector(`.${r.popup} > .${r.range} input`); 251 default: 252 return e.querySelector(`.${r.popup} > .${r.input}`); 253 } 254 }, 255 F = (e) => { 256 if ((e.focus(), "file" !== e.type)) { 257 const t = e.value; 258 (e.value = ""), (e.value = t); 259 } 260 }, 261 U = (e, t, n) => { 262 e && 263 t && 264 ("string" == typeof t && (t = t.split(/\s+/).filter(Boolean)), 265 t.forEach((t) => { 266 Array.isArray(e) 267 ? e.forEach((e) => { 268 n ? e.classList.add(t) : e.classList.remove(t); 269 }) 270 : n 271 ? e.classList.add(t) 272 : e.classList.remove(t); 273 })); 274 }, 275 z = (e, t) => { 276 U(e, t, !0); 277 }, 278 W = (e, t) => { 279 U(e, t, !1); 280 }, 281 K = (e, t) => { 282 const n = Array.from(e.children); 283 for (let e = 0; e < n.length; e++) { 284 const o = n[e]; 285 if (o instanceof HTMLElement && N(o, t)) return o; 286 } 287 }, 288 Y = (e, t, n) => { 289 n === `${parseInt(`${n}`)}` && (n = parseInt(n)), 290 n || 0 === parseInt(`${n}`) 291 ? e.style.setProperty(t, "number" == typeof n ? `${n}px` : n) 292 : e.style.removeProperty(t); 293 }, 294 X = (e, t = "flex") => { 295 e && (e.style.display = t); 296 }, 297 Z = (e) => { 298 e && (e.style.display = "none"); 299 }, 300 J = (e, t = "block") => { 301 e && 302 new MutationObserver(() => { 303 Q(e, e.innerHTML, t); 304 }).observe(e, { childList: !0, subtree: !0 }); 305 }, 306 G = (e, t, n, o) => { 307 const i = e.querySelector(t); 308 i && i.style.setProperty(n, o); 309 }, 310 Q = (e, t, n = "flex") => { 311 t ? X(e, n) : Z(e); 312 }, 313 ee = (e) => 314 !(!e || !(e.offsetWidth || e.offsetHeight || e.getClientRects().length)), 315 te = (e) => !!(e.scrollHeight > e.clientHeight), 316 ne = (e) => { 317 const t = window.getComputedStyle(e), 318 n = parseFloat(t.getPropertyValue("animation-duration") || "0"), 319 o = parseFloat(t.getPropertyValue("transition-duration") || "0"); 320 return n > 0 || o > 0;
321 }, 322 oe = (e, t = !1) => { 323 const n = j(); 324 n && 325 ee(n) && 326 (t && ((n.style.transition = "none"), (n.style.width = "100%")), 327 setTimeout(() => { 328 (n.style.transition = `width ${e / 1e3}s linear`), 329 (n.style.width = "0%"); 330 }, 10)); 331 }, 332 ie = 333 `\n <div aria-labelledby="${r.title}" aria-describedby="${r["html-container"]}" class="${r.popup}" tabindex="-1">\n <button type="button" class="${r.close}"></button>\n <ul class="${r["progress-steps"]}"></ul>\n <div class="${r.icon}"></div>\n <img class="${r.image}" />\n <h2 class="${r.title}" id="${r.title}"></h2>\n <div class="${r["html-container"]}" id="${r["html-container"]}"></div>\n <input class="${r.input}" id="${r.input}" />\n <input type="file" class="${r.file}" />\n <div class="${r.range}">\n <input type="range" />\n <output></output>\n </div>\n <select class="${r.select}" id="${r.select}"></select>\n <div class="${r.radio}"></div>\n <label class="${r.checkbox}">\n <input type="checkbox" id="${r.checkbox}" />\n <span class="${r.label}"></span>\n </label>\n <textarea class="${r.textarea}" id="${r.textarea}"></textarea>\n <div class="${r["validation-message"]}" id="${r["validation-message"]}"></div>\n <div class="${r.actions}">\n <div class="${r.loader}"></div>\n <button type="button" class="${r.confirm}"></button>\n <button type="button" class="${r.deny}"></button>\n <button type="button" class="${r.cancel}"></button>\n </div>\n <div class="${r.footer}"></div>\n <div class="${r["timer-progress-bar-container"]}">\n <div class="${r["timer-progress-bar"]}"></div>\n </div>\n </div>\n`.replace( 334 /(^|\n)\s*/g, 335 "" 336 ), 337 se = () => { 338 o.currentInstance.resetValidationMessage(); 339 }, 340 re = (e) => { 341 const t = (() => { 342 const e = y(); 343 return ( 344 !!e && 345 (e.remove(), 346 W( 347 [document.documentElement, document.body], 348 [r["no-backdrop"], r["toast-shown"], r["has-column"]] 349 ), 350 !0) 351 ); 352 })(); 353 if ("undefined" == typeof window || "undefined" == typeof document) 354 return void d("SweetAlert2 requires document to initialize"); 355 const n = document.createElement("div"); 356 (n.className = r.container), 357 t && z(n, r["no-transition"]), 358 q(n, ie), 359 (n.dataset.swal2Theme = e.theme); 360 const i = 361 "string" == typeof (s = e.target) ? document.querySelector(s) : s; 362 var s; 363 i.appendChild(n), 364 e.topLayer && (n.setAttribute("popover", ""), n.showPopover()), 365 ((e) => { 366 const t = C(); 367 t.setAttribute("role", e.toast ? "alert" : "dialog"), 368 t.setAttribute("aria-live", e.toast ? "polite" : "assertive"), 369 e.toast || t.setAttribute("aria-modal", "true"); 370 })(e), 371 ((e) => { 372 "rtl" === window.getComputedStyle(e).direction && 373 (z(y(), r.rtl), (o.isRTL = !0)); 374 })(i), 375 (() => { 376 const e = C(), 377 t = K(e, r.input), 378 n = K(e, r.file), 379 o = e.querySelector(`.${r.range} input`), 380 i = e.querySelector(`.${r.range} output`), 381 s = K(e, r.select), 382 a = e.querySelector(`.${r.checkbox} input`), 383 l = K(e, r.textarea); 384 (t.oninput = se), 385 (n.onchange = se), 386 (s.onchange = se), 387 (a.onchange = se), 388 (l.oninput = se), 389 (o.oninput = () => { 390 se(), (i.value = o.value); 391 }), 392 (o.onchange = () => { 393 se(), (i.value = o.value); 394 }); 395 })(); 396 }, 397 ae = (e, t) => { 398 e instanceof HTMLElement 399 ? t.appendChild(e) 400 : "object" == typeof e 401 ? le(e, t) 402 : e && q(t, e); 403 }, 404 le = (e, t) => { 405 e.jquery ? ce(t, e) : q(t, e.toString()); 406 }, 407 ce = (e, t) => { 408 if (((e.textContent = ""), 0 in t)) 409 for (let n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0)); 410 else e.appendChild(t.cloneNode(!0)); 411 }, 412 ue = (e, t) => { 413 const n = O(), 414 o = S(); 415 n && 416 o && 417 (t.showConfirmButton || t.showDenyButton || t.showCancelButton 418 ? X(n) 419 : Z(n), 420 _(n, t, "actions"), 421 (function (e, t, n) { 422 const o = P(), 423 i = T(), 424 s = x(); 425 if (!o || !i || !s) return; 426 pe(o, "confirm", n), 427 pe(i, "deny", n), 428 pe(s, "cancel", n), 429 (function (e, t, n, o) { 430 if (!o.buttonsStyling) return void W([e, t, n], r.styled); 431 z([e, t, n], r.styled), 432 o.confirmButtonColor && 433 e.style.setProperty( 434 "--swal2-confirm-button-background-color", 435 o.confirmButtonColor 436 ); 437 o.denyButtonColor && 438 t.style.setProperty( 439 "--swal2-deny-button-background-color", 440 o.denyButtonColor 441 ); 442 o.cancelButtonColor && 443 n.style.setProperty( 444 "--swal2-cancel-button-background-color", 445 o.cancelButtonColor 446 ); 447 de(e), de(t), de(n); 448 })(o, i, s, n), 449 n.reverseButtons && 450 (n.toast 451 ? (e.insertBefore(s, o), e.insertBefore(i, o)) 452 : (e.insertBefore(s, t), 453 e.insertBefore(i, t), 454 e.insertBefore(o, t))); 455 })(n, o, t), 456 q(o, t.loaderHtml || ""), 457 _(o, t, "loader")); 458 }; 459 function de(e) { 460 const t = window.getComputedStyle(e);
461 if (t.getPropertyValue("--swal2-action-button-focus-box-shadow")) return; 462 const n = t.backgroundColor.replace( 463 /rgba?\((\d+), (\d+), (\d+).*/, 464 "rgba($1, $2, $3, 0.5)" 465 ); 466 e.style.setProperty( 467 "--swal2-action-button-focus-box-shadow", 468 t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/, ` ${n}`) 469 ); 470 } 471 function pe(e, t, n) { 472 const o = c(t); 473 Q(e, n[`show${o}Button`], "inline-block"), 474 q(e, n[`${t}ButtonText`] || ""), 475 e.setAttribute("aria-label", n[`${t}ButtonAriaLabel`] || ""), 476 (e.className = r[t]), 477 _(e, n, `${t}Button`); 478 } 479 const me = (e, t) => { 480 const n = y(); 481 n && 482 (!(function (e, t) { 483 "string" == typeof t 484 ? (e.style.background = t) 485 : t || z([document.documentElement, document.body], r["no-backdrop"]); 486 })(n, t.backdrop), 487 (function (e, t) { 488 if (!t) return; 489 t in r 490 ? z(e, r[t]) 491 : (u('The "position" parameter is not valid, defaulting to "center"'), 492 z(e, r.center)); 493 })(n, t.position), 494 (function (e, t) { 495 if (!t) return; 496 z(e, r[`grow-${t}`]); 497 })(n, t.grow), 498 _(n, t, "container")); 499 }; 500 var he = { innerParams: new WeakMap(), domCache: new WeakMap() }; 501 const ge = [ 502 "input", 503 "file", 504 "range", 505 "select", 506 "radio", 507 "checkbox", 508 "textarea", 509 ], 510 fe = (e) => { 511 if (!e.input) return; 512 if (!Ee[e.input]) 513 return void d( 514 `Unexpected type of input! Expected ${Object.keys(Ee).join( 515 " | " 516 )}, got "${e.input}"` 517 ); 518 const t = Ce(e.input); 519 if (!t) return; 520 const n = Ee[e.input](t, e); 521 X(t), 522 e.inputAutoFocus && 523 setTimeout(() => { 524 F(n);
525 }); 526 }, 527 be = (e, t) => { 528 const n = C(); 529 if (!n) return; 530 const o = R(n, e); 531 if (o) { 532 ((e) => { 533 for (let t = 0; t < e.attributes.length; t++) { 534 const n = e.attributes[t].name; 535 ["id", "type", "value", "style"].includes(n) || 536 e.removeAttribute(n); 537 } 538 })(o); 539 for (const e in t) o.setAttribute(e, t[e]); 540 } 541 }, 542 ye = (e) => { 543 if (!e.input) return; 544 const t = Ce(e.input); 545 t && _(t, e, "input"); 546 }, 547 ve = (e, t) => { 548 !e.placeholder && 549 t.inputPlaceholder && 550 (e.placeholder = t.inputPlaceholder); 551 }, 552 we = (e, t, n) => { 553 if (n.inputLabel) { 554 const o = document.createElement("label"), 555 i = r["input-label"]; 556 o.setAttribute("for", e.id), 557 (o.className = i), 558 "object" == typeof n.customClass && z(o, n.customClass.inputLabel), 559 (o.innerText = n.inputLabel), 560 t.insertAdjacentElement("beforebegin", o); 561 } 562 }, 563 Ce = (e) => { 564 const t = C(); 565 if (t) return K(t, r[e] || r.input); 566 }, 567 Ae = (e, t) => { 568 ["string", "number"].includes(typeof t) 569 ? (e.value = `${t}`) 570 : b(t) || 571 u( 572 `Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"` 573 ); 574 }, 575 Ee = {}; 576 (Ee.text = 577 Ee.email = 578 Ee.password = 579 Ee.number = 580 Ee.tel = 581 Ee.url = 582 Ee.search = 583 Ee.date = 584 Ee["datetime-local"] = 585 Ee.time = 586 Ee.week = 587 Ee.month = 588 (e, t) => ( 589 Ae(e, t.inputValue), we(e, e, t), ve(e, t), (e.type = t.input), e 590 )), 591 (Ee.file = (e, t) => (we(e, e, t), ve(e, t), e)), 592 (Ee.range = (e, t) => { 593 const n = e.querySelector("input"), 594 o = e.querySelector("output"); 595 return ( 596 Ae(n, t.inputValue), 597 (n.type = t.input), 598 Ae(o, t.inputValue), 599 we(n, e, t), 600 e 601 ); 602 }), 603 (Ee.select = (e, t) => { 604 if (((e.textContent = ""), t.inputPlaceholder)) { 605 const n = document.createElement("option"); 606 q(n, t.inputPlaceholder), 607 (n.value = ""), 608 (n.disabled = !0), 609 (n.selected = !0), 610 e.appendChild(n); 611 } 612 return we(e, e, t), e; 613 }), 614 (Ee.radio = (e) => ((e.textContent = ""), e)), 615 (Ee.checkbox = (e, t) => { 616 const n = R(C(), "checkbox"); 617 (n.value = "1"), (n.checked = Boolean(t.inputValue)); 618 const o = e.querySelector("span"); 619 return q(o, t.inputPlaceholder || t.inputLabel), n; 620 }), 621 (Ee.textarea = (e, t) => { 622 Ae(e, t.inputValue), ve(e, t), we(e, e, t); 623 return ( 624 setTimeout(() => { 625 if ("MutationObserver" in window) { 626 const n = parseInt(window.getComputedStyle(C()).width); 627 new MutationObserver(() => { 628 if (!document.body.contains(e)) return; 629 const o = 630 e.offsetWidth + 631 ((i = e), 632 parseInt(window.getComputedStyle(i).marginLeft) + 633 parseInt(window.getComputedStyle(i).marginRight)); 634 var i; 635 o > n ? (C().style.width = `${o}px`) : Y(C(), "width", t.width); 636 }).observe(e, { attributes: !0, attributeFilter: ["style"] }); 637 } 638 }), 639 e 640 ); 641 }); 642 const ke = (e, t) => { 643 const n = k(); 644 n && 645 (J(n), 646 _(n, t, "htmlContainer"), 647 t.html 648 ? (ae(t.html, n), X(n, "block")) 649 : t.text 650 ? ((n.textContent = t.text), X(n, "block")) 651 : Z(n), 652 ((e, t) => { 653 const n = C(); 654 if (!n) return; 655 const o = he.innerParams.get(e), 656 i = !o || t.input !== o.input; 657 ge.forEach((e) => { 658 const o = K(n, r[e]); 659 o && (be(e, t.inputAttributes), (o.className = r[e]), i && Z(o)); 660 }), 661 t.input && (i && fe(t), ye(t)); 662 })(e, t)); 663 }, 664 Be = (e, t) => { 665 for (const [n, o] of Object.entries(a)) t.icon !== n && W(e, o); 666 z(e, t.icon && a[t.icon]), Pe(e, t), $e(), _(e, t, "icon"); 667 }, 668 $e = () => { 669 const e = C();
670 if (!e) return; 671 const t = window.getComputedStyle(e).getPropertyValue("background-color"), 672 n = e.querySelectorAll( 673 "[class^=swal2-success-circular-line], .swal2-success-fix" 674 ); 675 for (let e = 0; e < n.length; e++) n[e].style.backgroundColor = t; 676 }, 677 Le = (e, t) => { 678 if (!t.icon && !t.iconHtml) return; 679 let n = e.innerHTML, 680 o = ""; 681 if (t.iconHtml) o = xe(t.iconHtml); 682 else if ("success" === t.icon) 683 (o = ((e) => 684 `\n ${ 685 e.animation 686 ? '<div class="swal2-success-circular-line-left"></div>' 687 : "" 688 }\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div>\n ${ 689 e.animation ? '<div class="swal2-success-fix"></div>' : "" 690 }\n ${ 691 e.animation 692 ? '<div class="swal2-success-circular-line-right"></div>' 693 : "" 694 }\n`)(t)), 695 (n = n.replace(/ style=".*?"/g, "")); 696 else if ("error" === t.icon) 697 o = 698 '\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n'; 699 else if (t.icon) { 700 o = xe({ question: "?", warning: "!", info: "i" }[t.icon]); 701 } 702 n.trim() !== o.trim() && q(e, o); 703 }, 704 Pe = (e, t) => { 705 if (t.iconColor) { 706 (e.style.color = t.iconColor), (e.style.borderColor = t.iconColor); 707 for (const n of [ 708 ".swal2-success-line-tip", 709 ".swal2-success-line-long", 710 ".swal2-x-mark-line-left", 711 ".swal2-x-mark-line-right", 712 ]) 713 G(e, n, "background-color", t.iconColor); 714 G(e, ".swal2-success-ring", "border-color", t.iconColor); 715 } 716 }, 717 xe = (e) => `<div class="${r["icon-content"]}">${e}</div>`; 718 let Te = !1, 719 Se = 0, 720 Oe = 0, 721 Me = 0, 722 je = 0; 723 const He = (e) => { 724 const t = C(); 725 if (e.target === t || A().contains(e.target)) { 726 Te = !0; 727 const n = Ve(e); 728 (Se = n.clientX), 729 (Oe = n.clientY), 730 (Me = parseInt(t.style.insetInlineStart) || 0), 731 (je = parseInt(t.style.insetBlockStart) || 0), 732 z(t, "swal2-dragging"); 733 } 734 }, 735 Ie = (e) => { 736 const t = C(); 737 if (Te) { 738 let { clientX: n, clientY: i } = Ve(e); 739 const s = n - Se; 740 (t.style.insetInlineStart = `${Me + (o.isRTL ? -s : s)}px`), 741 (t.style.insetBlockStart = `${je + (i - Oe)}px`); 742 } 743 }, 744 De = () => { 745 const e = C(); 746 (Te = !1), W(e, "swal2-dragging"); 747 }, 748 Ve = (e) => { 749 let t = 0, 750 n = 0; 751 return ( 752 e.type.startsWith("mouse") 753 ? ((t = e.clientX), (n = e.clientY)) 754 : e.type.startsWith("touch") && 755 ((t = e.touches[0].clientX), (n = e.touches[0].clientY)), 756 { clientX: t, clientY: n } 757 ); 758 }, 759 qe = (e, t) => { 760 const n = y(), 761 o = C(); 762 if (n && o) { 763 if (t.toast) { 764 Y(n, "width", t.width), (o.style.width = "100%"); 765 const e = S(); 766 e && o.insertBefore(e, A()); 767 } else Y(o, "width", t.width); 768 Y(o, "padding", t.padding), 769 t.color && (o.style.color = t.color), 770 t.background && (o.style.background = t.background), 771 Z(L()), 772 Ne(o, t), 773 t.draggable && !t.toast 774 ? (z(o, r.draggable), 775 ((e) => { 776 e.addEventListener("mousedown", He), 777 document.body.addEventListener("mousemove", Ie), 778 e.addEventListener("mouseup", De), 779 e.addEventListener("touchstart", He), 780 document.body.addEventListener("touchmove", Ie), 781 e.addEventListener("touchend", De); 782 })(o)) 783 : (W(o, r.draggable), 784 ((e) => { 785 e.removeEventListener("mousedown", He), 786 document.body.removeEventListener("mousemove", Ie), 787 e.removeEventListener("mouseup", De), 788 e.removeEventListener("touchstart", He), 789 document.body.removeEventListener("touchmove", Ie), 790 e.removeEventListener("touchend", De); 791 })(o)); 792 } 793 }, 794 Ne = (e, t) => { 795 const n = t.showClass || {}; 796 (e.className = `${r.popup} ${ee(e) ? n.popup : ""}`), 797 t.toast 798 ? (z([document.documentElement, document.body], r["toast-shown"]), 799 z(e, r.toast)) 800 : z(e, r.modal), 801 _(e, t, "popup"), 802 "string" == typeof t.customClass && z(e, t.customClass), 803 t.icon && z(e, r[`icon-${t.icon}`]); 804 }, 805 _e = (e) => { 806 const t = document.createElement("li"); 807 return z(t, r["progress-step"]), q(t, e), t; 808 }, 809 Re = (e) => { 810 const t = document.createElement("li"); 811 return ( 812 z(t, r["progress-step-line"]), 813 e.progressStepsDistance && Y(t, "width", e.progressStepsDistance), 814 t 815 ); 816 }, 817 Fe = (e, t) => { 818 qe(0, t), 819 me(0, t), 820 ((e, t) => { 821 const n = $(); 822 if (!n) return; 823 const { progressSteps: o, currentProgressStep: i } = t; 824 o && 0 !== o.length && void 0 !== i 825 ? (X(n), 826 (n.textContent = ""), 827 i >= o.length && 828 u( 829 "Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)" 830 ), 831 o.forEach((e, s) => { 832 const a = _e(e); 833 if ( 834 (n.appendChild(a), 835 s === i && z(a, r["active-progress-step"]), 836 s !== o.length - 1) 837 ) { 838 const e = Re(t); 839 n.appendChild(e); 840 } 841 })) 842 : Z(n); 843 })(0, t), 844 ((e, t) => { 845 const n = he.innerParams.get(e), 846 o = A(); 847 if (!o) return; 848 if (n && t.icon === n.icon) return Le(o, t), void Be(o, t); 849 if (!t.icon && !t.iconHtml) return void Z(o); 850 if (t.icon && -1 === Object.keys(a).indexOf(t.icon)) 851 return ( 852 d( 853 `Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"` 854 ), 855 void Z(o) 856 ); 857 X(o), 858 Le(o, t), 859 Be(o, t), 860 z(o, t.showClass && t.showClass.icon), 861 window 862 .matchMedia("(prefers-color-scheme: dark)") 863 .addEventListener("change", $e); 864 })(e, t), 865 ((e, t) => { 866 const n = B(); 867 n && 868 (t.imageUrl 869 ? (X(n, ""), 870 n.setAttribute("src", t.imageUrl), 871 n.setAttribute("alt", t.imageAlt || ""), 872 Y(n, "width", t.imageWidth), 873 Y(n, "height", t.imageHeight), 874 (n.className = r.image), 875 _(n, t, "image")) 876 : Z(n)); 877 })(0, t), 878 ((e, t) => { 879 const n = E(); 880 n && 881 (J(n),
882 Q(n, Boolean(t.title || t.titleText), "block"), 883 t.title && ae(t.title, n), 884 t.titleText && (n.innerText = t.titleText), 885 _(n, t, "title")); 886 })(0, t), 887 ((e, t) => { 888 const n = H(); 889 n && 890 (q(n, t.closeButtonHtml || ""), 891 _(n, t, "closeButton"), 892 Q(n, t.showCloseButton), 893 n.setAttribute("aria-label", t.closeButtonAriaLabel || "")); 894 })(0, t), 895 ke(e, t), 896 ue(0, t), 897 ((e, t) => { 898 const n = M(); 899 n && 900 (J(n), 901 Q(n, Boolean(t.footer), "block"), 902 t.footer && ae(t.footer, n), 903 _(n, t, "footer")); 904 })(0, t); 905 const n = C(); 906 "function" == typeof t.didRender && n && t.didRender(n), 907 o.eventEmitter.emit("didRender", n); 908 }, 909 Ue = () => { 910 var e; 911 return null === (e = P()) || void 0 === e ? void 0 : e.click(); 912 }, 913 ze = Object.freeze({ 914 cancel: "cancel", 915 backdrop: "backdrop", 916 close: "close", 917 esc: "esc", 918 timer: "timer", 919 }), 920 We = (e) => { 921 e.keydownTarget && 922 e.keydownHandlerAdded && 923 (e.keydownTarget.removeEventListener("keydown", e.keydownHandler, { 924 capture: e.keydownListenerCapture, 925 }), 926 (e.keydownHandlerAdded = !1)); 927 }, 928 Ke = (e, t) => { 929 var n; 930 const o = I(); 931 if (o.length) 932 return ( 933 -2 === (e += t) && (e = o.length - 1), 934 e === o.length ? (e = 0) : -1 === e && (e = o.length - 1), 935 void o[e].focus() 936 ); 937 null === (n = C()) || void 0 === n || n.focus(); 938 }, 939 Ye = ["ArrowRight", "ArrowDown"], 940 Xe = ["ArrowLeft", "ArrowUp"], 941 Ze = (e, t, n) => { 942 e && 943 (t.isComposing || 944 229 === t.keyCode || 945 (e.stopKeydownPropagation && t.stopPropagation(), 946 "Enter" === t.key 947 ? Je(t, e) 948 : "Tab" === t.key 949 ? Ge(t) 950 : [...Ye, ...Xe].includes(t.key) 951 ? Qe(t.key) 952 : "Escape" === t.key && et(t, e, n))); 953 }, 954 Je = (e, t) => { 955 if (!h(t.allowEnterKey)) return; 956 const n = R(C(), t.input); 957 if ( 958 e.target && 959 n && 960 e.target instanceof HTMLElement && 961 e.target.outerHTML === n.outerHTML 962 ) { 963 if (["textarea", "file"].includes(t.input)) return; 964 Ue(), e.preventDefault(); 965 } 966 }, 967 Ge = (e) => { 968 const t = e.target, 969 n = I(); 970 let o = -1; 971 for (let e = 0; e < n.length; e++) 972 if (t === n[e]) { 973 o = e; 974 break; 975 } 976 e.shiftKey ? Ke(o, -1) : Ke(o, 1), 977 e.stopPropagation(), 978 e.preventDefault(); 979 }, 980 Qe = (e) => { 981 const t = O(), 982 n = P(), 983 o = T(), 984 i = x(); 985 if (!(t && n && o && i)) return; 986 const s = [n, o, i]; 987 if ( 988 document.activeElement instanceof HTMLElement && 989 !s.includes(document.activeElement) 990 ) 991 return; 992 const r = Ye.includes(e) 993 ? "nextElementSibling" 994 : "previousElementSibling"; 995 let a = document.activeElement; 996 if (a) { 997 for (let e = 0; e < t.children.length; e++) { 998 if (((a = a[r]), !a)) return; 999 if (a instanceof HTMLButtonElement && ee(a)) break; 1000 } 1001 a instanceof HTMLButtonElement && a.focus(); 1002 } 1003 }, 1004 et = (e, t, n) => { 1005 e.preventDefault(), h(t.allowEscapeKey) && n(ze.esc); 1006 }; 1007 var tt = { 1008 swalPromiseResolve: new WeakMap(), 1009 swalPromiseReject: new WeakMap(), 1010 }; 1011 const nt = () => { 1012 Array.from(document.body.children).forEach((e) => { 1013 e.hasAttribute("data-previous-aria-hidden") 1014 ? (e.setAttribute( 1015 "aria-hidden", 1016 e.getAttribute("data-previous-aria-hidden") || "" 1017 ), 1018 e.removeAttribute("data-previous-aria-hidden")) 1019 : e.removeAttribute("aria-hidden"); 1020 }); 1021 }, 1022 ot = "undefined" != typeof window && !!window.GestureEvent, 1023 it = () => { 1024 const e = y(); 1025 if (!e) return; 1026 let t; 1027 (e.ontouchstart = (e) => { 1028 t = st(e); 1029 }), 1030 (e.ontouchmove = (e) => { 1031 t && (e.preventDefault(), e.stopPropagation()); 1032 }); 1033 }, 1034 st = (e) => { 1035 const t = e.target, 1036 n = y(), 1037 o = k();
1038 return ( 1039 !(!n || !o) && 1040 !rt(e) && 1041 !at(e) && 1042 (t === n || 1043 !( 1044 te(n) || 1045 !(t instanceof HTMLElement) || 1046 ((e, t) => { 1047 let n = e; 1048 for (; n && n !== t; ) { 1049 if (te(n)) return !0; 1050 n = n.parentElement; 1051 } 1052 return !1; 1053 })(t, o) || 1054 "INPUT" === t.tagName || 1055 "TEXTAREA" === t.tagName || 1056 (te(o) && o.contains(t)) 1057 )) 1058 ); 1059 }, 1060 rt = (e) => 1061 e.touches && e.touches.length && "stylus" === e.touches[0].touchType, 1062 at = (e) => e.touches && e.touches.length > 1; 1063 let lt = null; 1064 const ct = (e) => { 1065 null === lt && 1066 (document.body.scrollHeight > window.innerHeight || "scroll" === e) && 1067 ((lt = parseInt( 1068 window.getComputedStyle(document.body).getPropertyValue("padding-right") 1069 )), 1070 (document.body.style.paddingRight = `${ 1071 lt + 1072 (() => { 1073 const e = document.createElement("div"); 1074 (e.className = r["scrollbar-measure"]), document.body.appendChild(e); 1075 const t = e.getBoundingClientRect().width - e.clientWidth; 1076 return document.body.removeChild(e), t; 1077 })() 1078 }px`)); 1079 }; 1080 function ut(e, t, n, s) { 1081 V() ? yt(e, s) : (i(n).then(() => yt(e, s)), We(o)), 1082 ot 1083 ? (t.setAttribute("style", "display:none !important"), 1084 t.removeAttribute("class"), 1085 (t.innerHTML = "")) 1086 : t.remove(), 1087 D() && 1088 (null !== lt && 1089 ((document.body.style.paddingRight = `${lt}px`), (lt = null)), 1090 (() => { 1091 if (N(document.body, r.iosfix)) { 1092 const e = parseInt(document.body.style.top, 10); 1093 W(document.body, r.iosfix), 1094 (document.body.style.top = ""), 1095 (document.body.scrollTop = -1 * e); 1096 } 1097 })(), 1098 nt()), 1099 W( 1100 [document.documentElement, document.body], 1101 [r.shown, r["height-auto"], r["no-backdrop"], r["toast-shown"]] 1102 ); 1103 } 1104 function dt(e) { 1105 e = gt(e); 1106 const t = tt.swalPromiseResolve.get(this), 1107 n = pt(this); 1108 this.isAwaitingPromise ? e.isDismissed || (ht(this), t(e)) : n && t(e); 1109 } 1110 const pt = (e) => { 1111 const t = C(); 1112 if (!t) return !1; 1113 const n = he.innerParams.get(e); 1114 if (!n || N(t, n.hideClass.popup)) return !1; 1115 W(t, n.showClass.popup), z(t, n.hideClass.popup); 1116 const o = y(); 1117 return ( 1118 W(o, n.showClass.backdrop), z(o, n.hideClass.backdrop), ft(e, t, n), !0 1119 ); 1120 }; 1121 function mt(e) { 1122 const t = tt.swalPromiseReject.get(this); 1123 ht(this), t && t(e); 1124 } 1125 const ht = (e) => { 1126 e.isAwaitingPromise && 1127 (delete e.isAwaitingPromise, he.innerParams.get(e) || e._destroy()); 1128 }, 1129 gt = (e) => 1130 void 0 === e 1131 ? { isConfirmed: !1, isDenied: !1, isDismissed: !0 } 1132 : Object.assign({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e), 1133 ft = (e, t, n) => { 1134 var i; 1135 const s = y(), 1136 r = ne(t); 1137 "function" == typeof n.willClose && n.willClose(t), 1138 null === (i = o.eventEmitter) || void 0 === i || i.emit("willClose", t), 1139 r 1140 ? bt(e, t, s, n.returnFocus, n.didClose) 1141 : ut(e, s, n.returnFocus, n.didClose); 1142 }, 1143 bt = (e, t, n, i, s) => { 1144 o.swalCloseEventFinishedCallback = ut.bind(null, e, n, i, s); 1145 const r = function (e) { 1146 var n; 1147 e.target === t && 1148 (null === (n = o.swalCloseEventFinishedCallback) || 1149 void 0 === n || 1150 n.call(o), 1151 delete o.swalCloseEventFinishedCallback, 1152 t.removeEventListener("animationend", r), 1153 t.removeEventListener("transitionend", r)); 1154 }; 1155 t.addEventListener("animationend", r), 1156 t.addEventListener("transitionend", r); 1157 }, 1158 yt = (e, t) => { 1159 setTimeout(() => { 1160 var n; 1161 "function" == typeof t && t.bind(e.params)(), 1162 null === (n = o.eventEmitter) || void 0 === n || n.emit("didClose"), 1163 e._destroy && e._destroy(); 1164 }); 1165 }, 1166 vt = (e) => { 1167 let t = C();
1168 if ((t || new Qn(), (t = C()), !t)) return; 1169 const n = S(); 1170 V() ? Z(A()) : wt(t, e), 1171 X(n), 1172 t.setAttribute("data-loading", "true"), 1173 t.setAttribute("aria-busy", "true"), 1174 t.focus(); 1175 }, 1176 wt = (e, t) => { 1177 const n = O(), 1178 o = S(); 1179 n && 1180 o && 1181 (!t && ee(P()) && (t = P()), 1182 X(n), 1183 t && 1184 (Z(t), 1185 o.setAttribute("data-button-to-replace", t.className), 1186 n.insertBefore(o, t)), 1187 z([e, n], r.loading)); 1188 }, 1189 Ct = (e) => (e.checked ? 1 : 0), 1190 At = (e) => (e.checked ? e.value : null), 1191 Et = (e) => 1192 e.files && e.files.length 1193 ? null !== e.getAttribute("multiple") 1194 ? e.files 1195 : e.files[0] 1196 : null, 1197 kt = (e, t) => { 1198 const n = C(); 1199 if (!n) return; 1200 const o = (e) => { 1201 "select" === t.input 1202 ? (function (e, t, n) { 1203 const o = K(e, r.select); 1204 if (!o) return; 1205 const i = (e, t, o) => { 1206 const i = document.createElement("option"); 1207 (i.value = o), 1208 q(i, t), 1209 (i.selected = Lt(o, n.inputValue)), 1210 e.appendChild(i); 1211 }; 1212 t.forEach((e) => { 1213 const t = e[0], 1214 n = e[1]; 1215 if (Array.isArray(n)) { 1216 const e = document.createElement("optgroup"); 1217 (e.label = t), 1218 (e.disabled = !1), 1219 o.appendChild(e), 1220 n.forEach((t) => i(e, t[1], t[0])); 1221 } else i(o, n, t); 1222 }), 1223 o.focus(); 1224 })(n, $t(e), t) 1225 : "radio" === t.input && 1226 (function (e, t, n) { 1227 const o = K(e, r.radio); 1228 if (!o) return; 1229 t.forEach((e) => { 1230 const t = e[0], 1231 i = e[1], 1232 s = document.createElement("input"), 1233 a = document.createElement("label"); 1234 (s.type = "radio"), 1235 (s.name = r.radio), 1236 (s.value = t), 1237 Lt(t, n.inputValue) && (s.checked = !0); 1238 const l = document.createElement("span"); 1239 q(l, i), 1240 (l.className = r.label), 1241 a.appendChild(s), 1242 a.appendChild(l), 1243 o.appendChild(a); 1244 }); 1245 const i = o.querySelectorAll("input"); 1246 i.length && i[0].focus(); 1247 })(n, $t(e), t); 1248 }; 1249 g(t.inputOptions) || b(t.inputOptions) 1250 ? (vt(P()), 1251 f(t.inputOptions).then((t) => { 1252 e.hideLoading(), o(t); 1253 })) 1254 : "object" == typeof t.inputOptions 1255 ? o(t.inputOptions) 1256 : d( 1257 "Unexpected type of inputOptions! Expected object, Map or Promise, got " + 1258 typeof t.inputOptions 1259 ); 1260 }, 1261 Bt = (e, t) => { 1262 const n = e.getInput(); 1263 n && 1264 (Z(n), 1265 f(t.inputValue) 1266 .then((o) => { 1267 (n.value = "number" === t.input ? `${parseFloat(o) || 0}` : `${o}`), 1268 X(n), 1269 n.focus(), 1270 e.hideLoading(); 1271 }) 1272 .catch((t) => { 1273 d(`Error in inputValue promise: ${t}`), 1274 (n.value = ""), 1275 X(n), 1276 n.focus(), 1277 e.hideLoading(); 1278 })); 1279 }; 1280 const $t = (e) => { 1281 const t = []; 1282 return ( 1283 e instanceof Map 1284 ? e.forEach((e, n) => { 1285 let o = e; 1286 "object" == typeof o && (o = $t(o)), t.push([n, o]); 1287 }) 1288 : Object.keys(e).forEach((n) => { 1289 let o = e[n]; 1290 "object" == typeof o && (o = $t(o)), t.push([n, o]); 1291 }), 1292 t 1293 ); 1294 }, 1295 Lt = (e, t) => !!t && t.toString() === e.toString(), 1296 Pt = (e, t) => { 1297 const n = he.innerParams.get(e); 1298 if (!n.input) 1299 return void d( 1300 `The "input" parameter is needed to be set when using returnInputValueOn${c( 1301 t 1302 )}` 1303 );
1304 const o = e.getInput(), 1305 i = ((e, t) => { 1306 const n = e.getInput(); 1307 if (!n) return null; 1308 switch (t.input) { 1309 case "checkbox": 1310 return Ct(n); 1311 case "radio": 1312 return At(n); 1313 case "file": 1314 return Et(n); 1315 default: 1316 return t.inputAutoTrim ? n.value.trim() : n.value; 1317 } 1318 })(e, n); 1319 n.inputValidator 1320 ? xt(e, i, t) 1321 : o && !o.checkValidity() 1322 ? (e.enableButtons(), 1323 e.showValidationMessage(n.validationMessage || o.validationMessage)) 1324 : "deny" === t 1325 ? Tt(e, i) 1326 : Mt(e, i); 1327 }, 1328 xt = (e, t, n) => { 1329 const o = he.innerParams.get(e); 1330 e.disableInput(); 1331 Promise.resolve() 1332 .then(() => f(o.inputValidator(t, o.validationMessage))) 1333 .then((o) => { 1334 e.enableButtons(), 1335 e.enableInput(), 1336 o ? e.showValidationMessage(o) : "deny" === n ? Tt(e, t) : Mt(e, t); 1337 }); 1338 }, 1339 Tt = (e, t) => { 1340 const n = he.innerParams.get(e || void 0); 1341 if ((n.showLoaderOnDeny && vt(T()), n.preDeny)) { 1342 e.isAwaitingPromise = !0; 1343 Promise.resolve() 1344 .then(() => f(n.preDeny(t, n.validationMessage))) 1345 .then((n) => { 1346 !1 === n 1347 ? (e.hideLoading(), ht(e)) 1348 : e.close({ isDenied: !0, value: void 0 === n ? t : n }); 1349 }) 1350 .catch((t) => Ot(e || void 0, t)); 1351 } else e.close({ isDenied: !0, value: t }); 1352 }, 1353 St = (e, t) => { 1354 e.close({ isConfirmed: !0, value: t }); 1355 }, 1356 Ot = (e, t) => { 1357 e.rejectPromise(t); 1358 }, 1359 Mt = (e, t) => { 1360 const n = he.innerParams.get(e || void 0); 1361 if ((n.showLoaderOnConfirm && vt(), n.preConfirm)) { 1362 e.resetValidationMessage(), (e.isAwaitingPromise = !0); 1363 Promise.resolve() 1364 .then(() => f(n.preConfirm(t, n.validationMessage))) 1365 .then((n) => { 1366 ee(L()) || !1 === n 1367 ? (e.hideLoading(), ht(e)) 1368 : St(e, void 0 === n ? t : n); 1369 }) 1370 .catch((t) => Ot(e || void 0, t)); 1371 } else St(e, t); 1372 }; 1373 function jt() { 1374 const e = he.innerParams.get(this); 1375 if (!e) return; 1376 const t = he.domCache.get(this); 1377 Z(t.loader), 1378 V() ? e.icon && X(A()) : Ht(t), 1379 W([t.popup, t.actions], r.loading), 1380 t.popup.removeAttribute("aria-busy"), 1381 t.popup.removeAttribute("data-loading"), 1382 (t.confirmButton.disabled = !1), 1383 (t.denyButton.disabled = !1), 1384 (t.cancelButton.disabled = !1); 1385 } 1386 const Ht = (e) => { 1387 const t = e.popup.getElementsByClassName( 1388 e.loader.getAttribute("data-button-to-replace") 1389 ); 1390 t.length 1391 ? X(t[0], "inline-block") 1392 : ee(P()) || ee(T()) || ee(x()) || Z(e.actions); 1393 }; 1394 function It() { 1395 const e = he.innerParams.get(this), 1396 t = he.domCache.get(this); 1397 return t ? R(t.popup, e.input) : null; 1398 } 1399 function Dt(e, t, n) { 1400 const o = he.domCache.get(e); 1401 t.forEach((e) => { 1402 o[e].disabled = n; 1403 }); 1404 } 1405 function Vt(e, t) { 1406 const n = C(); 1407 if (n && e) 1408 if ("radio" === e.type) { 1409 const e = n.querySelectorAll(`[name="${r.radio}"]`); 1410 for (let n = 0; n < e.length; n++) e[n].disabled = t; 1411 } else e.disabled = t; 1412 } 1413 function qt() { 1414 Dt(this, ["confirmButton", "denyButton", "cancelButton"], !1); 1415 } 1416 function Nt() { 1417 Dt(this, ["confirmButton", "denyButton", "cancelButton"], !0); 1418 } 1419 function _t() { 1420 Vt(this.getInput(), !1); 1421 } 1422 function Rt() { 1423 Vt(this.getInput(), !0); 1424 } 1425 function Ft(e) { 1426 const t = he.domCache.get(this), 1427 n = he.innerParams.get(this); 1428 q(t.validationMessage, e), 1429 (t.validationMessage.className = r["validation-message"]), 1430 n.customClass && 1431 n.customClass.validationMessage && 1432 z(t.validationMessage, n.customClass.validationMessage), 1433 X(t.validationMessage); 1434 const o = this.getInput(); 1435 o && 1436 (o.setAttribute("aria-invalid", "true"), 1437 o.setAttribute("aria-describedby", r["validation-message"]), 1438 F(o), 1439 z(o, r.inputerror)); 1440 } 1441 function Ut() { 1442 const e = he.domCache.get(this); 1443 e.validationMessage && Z(e.validationMessage); 1444 const t = this.getInput(); 1445 t && 1446 (t.removeAttribute("aria-invalid"), 1447 t.removeAttribute("aria-describedby"), 1448 W(t, r.inputerror)); 1449 } 1450 const zt = { 1451 title: "", 1452 titleText: "", 1453 text: "", 1454 html: "", 1455 footer: "", 1456 icon: void 0, 1457 iconColor: void 0, 1458 iconHtml: void 0, 1459 template: void 0, 1460 toast: !1, 1461 draggable: !1, 1462 animation: !0, 1463 theme: "light", 1464 showClass: { 1465 popup: "swal2-show", 1466 backdrop: "swal2-backdrop-show", 1467 icon: "swal2-icon-show", 1468 }, 1469 hideClass: { 1470 popup: "swal2-hide", 1471 backdrop: "swal2-backdrop-hide", 1472 icon: "swal2-icon-hide", 1473 }, 1474 customClass: {}, 1475 target: "body", 1476 color: void 0, 1477 backdrop: !0, 1478 heightAuto: !0, 1479 allowOutsideClick: !0, 1480 allowEscapeKey: !0, 1481 allowEnterKey: !0, 1482 stopKeydownPropagation: !0, 1483 keydownListenerCapture: !1, 1484 showConfirmButton: !0, 1485 showDenyButton: !1, 1486 showCancelButton: !1, 1487 preConfirm: void 0, 1488 preDeny: void 0, 1489 confirmButtonText: "OK", 1490 confirmButtonAriaLabel: "", 1491 confirmButtonColor: void 0, 1492 denyButtonText: "No", 1493 denyButtonAriaLabel: "", 1494 denyButtonColor: void 0, 1495 cancelButtonText: "Cancel", 1496 cancelButtonAriaLabel: "", 1497 cancelButtonColor: void 0, 1498 buttonsStyling: !0, 1499 reverseButtons: !1, 1500 focusConfirm: !0, 1501 focusDeny: !1, 1502 focusCancel: !1, 1503 returnFocus: !0, 1504 showCloseButton: !1, 1505 closeButtonHtml: "×", 1506 closeButtonAriaLabel: "Close this dialog", 1507 loaderHtml: "", 1508 showLoaderOnConfirm: !1, 1509 showLoaderOnDeny: !1, 1510 imageUrl: void 0, 1511 imageWidth: void 0, 1512 imageHeight: void 0, 1513 imageAlt: "", 1514 timer: void 0, 1515 timerProgressBar: !1, 1516 width: void 0, 1517 padding: void 0, 1518 background: void 0, 1519 input: void 0, 1520 inputPlaceholder: "", 1521 inputLabel: "", 1522 inputValue: "", 1523 inputOptions: {}, 1524 inputAutoFocus: !0, 1525 inputAutoTrim: !0, 1526 inputAttributes: {}, 1527 inputValidator: void 0, 1528 returnInputValueOnDeny: !1, 1529 validationMessage: void 0, 1530 grow: !1, 1531 position: "center", 1532 progressSteps: [], 1533 currentProgressStep: void 0, 1534 progressStepsDistance: void 0, 1535 willOpen: void 0, 1536 didOpen: void 0, 1537 didRender: void 0, 1538 willClose: void 0,
1539 didClose: void 0, 1540 didDestroy: void 0, 1541 scrollbarPadding: !0, 1542 topLayer: !1, 1543 }, 1544 Wt = [ 1545 "allowEscapeKey", 1546 "allowOutsideClick", 1547 "background", 1548 "buttonsStyling", 1549 "cancelButtonAriaLabel", 1550 "cancelButtonColor", 1551 "cancelButtonText", 1552 "closeButtonAriaLabel", 1553 "closeButtonHtml", 1554 "color", 1555 "confirmButtonAriaLabel", 1556 "confirmButtonColor", 1557 "confirmButtonText", 1558 "currentProgressStep", 1559 "customClass", 1560 "denyButtonAriaLabel", 1561 "denyButtonColor", 1562 "denyButtonText", 1563 "didClose", 1564 "didDestroy", 1565 "draggable", 1566 "footer", 1567 "hideClass", 1568 "html", 1569 "icon", 1570 "iconColor", 1571 "iconHtml", 1572 "imageAlt", 1573 "imageHeight", 1574 "imageUrl", 1575 "imageWidth", 1576 "preConfirm", 1577 "preDeny", 1578 "progressSteps", 1579 "returnFocus", 1580 "reverseButtons", 1581 "showCancelButton", 1582 "showCloseButton", 1583 "showConfirmButton", 1584 "showDenyButton", 1585 "text", 1586 "title", 1587 "titleText", 1588 "theme", 1589 "willClose", 1590 ], 1591 Kt = { allowEnterKey: void 0 }, 1592 Yt = [ 1593 "allowOutsideClick", 1594 "allowEnterKey", 1595 "backdrop", 1596 "draggable", 1597 "focusConfirm", 1598 "focusDeny", 1599 "focusCancel", 1600 "returnFocus", 1601 "heightAuto", 1602 "keydownListenerCapture", 1603 ], 1604 Xt = (e) => Object.prototype.hasOwnProperty.call(zt, e), 1605 Zt = (e) => -1 !== Wt.indexOf(e), 1606 Jt = (e) => Kt[e], 1607 Gt = (e) => { 1608 Xt(e) || u(`Unknown parameter "${e}"`); 1609 }, 1610 Qt = (e) => { 1611 Yt.includes(e) && u(`The parameter "${e}" is incompatible with toasts`); 1612 }, 1613 en = (e) => { 1614 const t = Jt(e); 1615 t && m(e, t); 1616 }, 1617 tn = (e) => { 1618 !1 === e.backdrop && 1619 e.allowOutsideClick && 1620 u( 1621 '"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`' 1622 ), 1623 e.theme && 1624 ![ 1625 "light", 1626 "dark", 1627 "auto", 1628 "minimal", 1629 "borderless", 1630 "bootstrap-4", 1631 "bootstrap-4-light", 1632 "bootstrap-4-dark", 1633 "bootstrap-5", 1634 "bootstrap-5-light", 1635 "bootstrap-5-dark", 1636 "material-ui", 1637 "material-ui-light", 1638 "material-ui-dark", 1639 "embed-iframe", 1640 "bulma", 1641 "bulma-light", 1642 "bulma-dark", 1643 ].includes(e.theme) && 1644 u(`Invalid theme "${e.theme}"`); 1645 for (const t in e) Gt(t), e.toast && Qt(t), en(t); 1646 }; 1647 function nn(e) { 1648 const t = y(), 1649 n = C(), 1650 o = he.innerParams.get(this); 1651 if (!n || N(n, o.hideClass.popup)) 1652 return void u( 1653 "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." 1654 ); 1655 const i = on(e), 1656 s = Object.assign({}, o, i); 1657 tn(s), 1658 (t.dataset.swal2Theme = s.theme), 1659 Fe(this, s), 1660 he.innerParams.set(this, s), 1661 Object.defineProperties(this, { 1662 params: { 1663 value: Object.assign({}, this.params, e), 1664 writable: !1, 1665 enumerable: !0, 1666 }, 1667 }); 1668 } 1669 const on = (e) => { 1670 const t = {}; 1671 return ( 1672 Object.keys(e).forEach((n) => { 1673 Zt(n) ? (t[n] = e[n]) : u(`Invalid parameter to update: ${n}`); 1674 }), 1675 t 1676 ); 1677 }; 1678 function sn() { 1679 const e = he.domCache.get(this), 1680 t = he.innerParams.get(this); 1681 t 1682 ? (e.popup && 1683 o.swalCloseEventFinishedCallback && 1684 (o.swalCloseEventFinishedCallback(), 1685 delete o.swalCloseEventFinishedCallback), 1686 "function" == typeof t.didDestroy && t.didDestroy(), 1687 o.eventEmitter.emit("didDestroy"), 1688 rn(this)) 1689 : an(this); 1690 } 1691 const rn = (e) => { 1692 an(e), 1693 delete e.params, 1694 delete o.keydownHandler, 1695 delete o.keydownTarget, 1696 delete o.currentInstance; 1697 }, 1698 an = (e) => { 1699 e.isAwaitingPromise 1700 ? (ln(he, e), (e.isAwaitingPromise = !0)) 1701 : (ln(tt, e), 1702 ln(he, e), 1703 delete e.isAwaitingPromise, 1704 delete e.disableButtons, 1705 delete e.enableButtons, 1706 delete e.getInput, 1707 delete e.disableInput, 1708 delete e.enableInput, 1709 delete e.hideLoading, 1710 delete e.disableLoading, 1711 delete e.showValidationMessage, 1712 delete e.resetValidationMessage, 1713 delete e.close, 1714 delete e.closePopup, 1715 delete e.closeModal, 1716 delete e.closeToast, 1717 delete e.rejectPromise, 1718 delete e.update, 1719 delete e._destroy); 1720 }, 1721 ln = (e, t) => { 1722 for (const n in e) e[n].delete(t); 1723 }; 1724 var cn = Object.freeze({ 1725 __proto__: null, 1726 _destroy: sn, 1727 close: dt, 1728 closeModal: dt, 1729 closePopup: dt, 1730 closeToast: dt, 1731 disableButtons: Nt, 1732 disableInput: Rt, 1733 disableLoading: jt, 1734 enableButtons: qt, 1735 enableInput: _t, 1736 getInput: It, 1737 handleAwaitingPromise: ht, 1738 hideLoading: jt, 1739 rejectPromise: mt, 1740 resetValidationMessage: Ut, 1741 showValidationMessage: Ft, 1742 update: nn, 1743 }); 1744 const un = (e, t, n) => { 1745 t.popup.onclick = () => { 1746 (e && (dn(e) || e.timer || e.input)) || n(ze.close); 1747 }; 1748 }, 1749 dn = (e) => 1750 !!( 1751 e.showConfirmButton || 1752 e.showDenyButton || 1753 e.showCancelButton || 1754 e.showCloseButton 1755 ); 1756 let pn = !1; 1757 const mn = (e) => { 1758 e.popup.onmousedown = () => { 1759 e.container.onmouseup = function (t) { 1760 (e.container.onmouseup = () => {}), 1761 t.target === e.container && (pn = !0);
1762 }; 1763 }; 1764 }, 1765 hn = (e) => { 1766 e.container.onmousedown = (t) => { 1767 t.target === e.container && t.preventDefault(), 1768 (e.popup.onmouseup = function (t) { 1769 (e.popup.onmouseup = () => {}), 1770 (t.target === e.popup || 1771 (t.target instanceof HTMLElement && 1772 e.popup.contains(t.target))) && 1773 (pn = !0); 1774 }); 1775 }; 1776 }, 1777 gn = (e, t, n) => { 1778 t.container.onclick = (o) => { 1779 pn 1780 ? (pn = !1) 1781 : o.target === t.container && 1782 h(e.allowOutsideClick) && 1783 n(ze.backdrop); 1784 }; 1785 }, 1786 fn = (e) => 1787 e instanceof Element || ((e) => "object" == typeof e && e.jquery)(e); 1788 const bn = () => { 1789 if (o.timeout) 1790 return ( 1791 (() => { 1792 const e = j(); 1793 if (!e) return; 1794 const t = parseInt(window.getComputedStyle(e).width); 1795 e.style.removeProperty("transition"), (e.style.width = "100%"); 1796 const n = (t / parseInt(window.getComputedStyle(e).width)) * 100; 1797 e.style.width = `${n}%`; 1798 })(), 1799 o.timeout.stop() 1800 ); 1801 }, 1802 yn = () => { 1803 if (o.timeout) { 1804 const e = o.timeout.start(); 1805 return oe(e), e; 1806 } 1807 }; 1808 let vn = !1; 1809 const wn = {}; 1810 const Cn = (e) => { 1811 for (let t = e.target; t && t !== document; t = t.parentNode) 1812 for (const e in wn) { 1813 const n = t.getAttribute(e); 1814 if (n) return void wn[e].fire({ template: n }); 1815 } 1816 }; 1817 o.eventEmitter = new (class { 1818 constructor() { 1819 this.events = {}; 1820 } 1821 _getHandlersByEventName(e) { 1822 return void 0 === this.events[e] && (this.events[e] = []), this.events[e]; 1823 } 1824 on(e, t) { 1825 const n = this._getHandlersByEventName(e); 1826 n.includes(t) || n.push(t); 1827 } 1828 once(e, t) { 1829 const n = (...o) => { 1830 this.removeListener(e, n), t.apply(this, o); 1831 }; 1832 this.on(e, n); 1833 } 1834 emit(e, ...t) { 1835 this._getHandlersByEventName(e).forEach((e) => { 1836 try { 1837 e.apply(this, t); 1838 } catch (e) { 1839 console.error(e); 1840 } 1841 }); 1842 } 1843 removeListener(e, t) { 1844 const n = this._getHandlersByEventName(e), 1845 o = n.indexOf(t); 1846 o > -1 && n.splice(o, 1); 1847 } 1848 removeAllListeners(e) { 1849 void 0 !== this.events[e] && (this.events[e].length = 0); 1850 } 1851 reset() { 1852 this.events = {}; 1853 } 1854 })(); 1855 var An = Object.freeze({ 1856 __proto__: null, 1857 argsToParams: (e) => { 1858 const t = {}; 1859 return ( 1860 "object" != typeof e[0] || fn(e[0]) 1861 ? ["title", "html", "icon"].forEach((n, o) => { 1862 const i = e[o]; 1863 "string" == typeof i || fn(i) 1864 ? (t[n] = i) 1865 : void 0 !== i && 1866 d( 1867 `Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}` 1868 ); 1869 }) 1870 : Object.assign(t, e[0]), 1871 t 1872 ); 1873 }, 1874 bindClickHandler: function (e = "data-swal-template") { 1875 (wn[e] = this), 1876 vn || (document.body.addEventListener("click", Cn), (vn = !0)); 1877 }, 1878 clickCancel: () => { 1879 var e; 1880 return null === (e = x()) || void 0 === e ? void 0 : e.click(); 1881 }, 1882 clickConfirm: Ue, 1883 clickDeny: () => { 1884 var e; 1885 return null === (e = T()) || void 0 === e ? void 0 : e.click(); 1886 }, 1887 enableLoading: vt, 1888 fire: function (...e) { 1889 return new this(...e); 1890 }, 1891 getActions: O, 1892 getCancelButton: x, 1893 getCloseButton: H, 1894 getConfirmButton: P, 1895 getContainer: y, 1896 getDenyButton: T, 1897 getFocusableElements: I, 1898 getFooter: M, 1899 getHtmlContainer: k, 1900 getIcon: A, 1901 getIconContent: () => w(r["icon-content"]), 1902 getImage: B, 1903 getInputLabel: () => w(r["input-label"]), 1904 getLoader: S, 1905 getPopup: C, 1906 getProgressSteps: $, 1907 getTimerLeft: () => o.timeout && o.timeout.getTimerLeft(), 1908 getTimerProgressBar: j, 1909 getTitle: E, 1910 getValidationMessage: L, 1911 increaseTimer: (e) => { 1912 if (o.timeout) { 1913 const t = o.timeout.increase(e); 1914 return oe(t, !0), t; 1915 } 1916 }, 1917 isDeprecatedParameter: Jt, 1918 isLoading: () => { 1919 const e = C();
1920 return !!e && e.hasAttribute("data-loading"); 1921 }, 1922 isTimerRunning: () => !(!o.timeout || !o.timeout.isRunning()), 1923 isUpdatableParameter: Zt, 1924 isValidParameter: Xt, 1925 isVisible: () => ee(C()), 1926 mixin: function (e) { 1927 return class extends this { 1928 _main(t, n) { 1929 return super._main(t, Object.assign({}, e, n)); 1930 } 1931 }; 1932 }, 1933 off: (e, t) => { 1934 e 1935 ? t 1936 ? o.eventEmitter.removeListener(e, t) 1937 : o.eventEmitter.removeAllListeners(e) 1938 : o.eventEmitter.reset(); 1939 }, 1940 on: (e, t) => { 1941 o.eventEmitter.on(e, t); 1942 }, 1943 once: (e, t) => { 1944 o.eventEmitter.once(e, t); 1945 }, 1946 resumeTimer: yn, 1947 showLoading: vt, 1948 stopTimer: bn, 1949 toggleTimer: () => { 1950 const e = o.timeout; 1951 return e && (e.running ? bn() : yn()); 1952 }, 1953 }); 1954 class En { 1955 constructor(e, t) { 1956 (this.callback = e), 1957 (this.remaining = t), 1958 (this.running = !1), 1959 this.start(); 1960 } 1961 start() { 1962 return ( 1963 this.running || 1964 ((this.running = !0), 1965 (this.started = new Date()), 1966 (this.id = setTimeout(this.callback, this.remaining))), 1967 this.remaining 1968 ); 1969 } 1970 stop() { 1971 return ( 1972 this.started && 1973 this.running && 1974 ((this.running = !1), 1975 clearTimeout(this.id), 1976 (this.remaining -= new Date().getTime() - this.started.getTime())), 1977 this.remaining 1978 ); 1979 } 1980 increase(e) { 1981 const t = this.running; 1982 return ( 1983 t && this.stop(), 1984 (this.remaining += e), 1985 t && this.start(), 1986 this.remaining 1987 ); 1988 } 1989 getTimerLeft() { 1990 return this.running && (this.stop(), this.start()), this.remaining; 1991 } 1992 isRunning() { 1993 return this.running; 1994 } 1995 } 1996 const kn = ["swal-title", "swal-html", "swal-footer"], 1997 Bn = (e) => { 1998 const t = {}; 1999 return ( 2000 Array.from(e.querySelectorAll("swal-param")).forEach((e) => { 2001 Mn(e, ["name", "value"]); 2002 const n = e.getAttribute("name"), 2003 o = e.getAttribute("value"); 2004 n && 2005 o && 2006 (t[n] = 2007 "boolean" == typeof zt[n] 2008 ? "false" !== o 2009 : "object" == typeof zt[n] 2010 ? JSON.parse(o) 2011 : o); 2012 }), 2013 t 2014 ); 2015 }, 2016 $n = (e) => { 2017 const t = {}; 2018 return ( 2019 Array.from(e.querySelectorAll("swal-function-param")).forEach((e) => { 2020 const n = e.getAttribute("name"), 2021 o = e.getAttribute("value"); 2022 n && o && (t[n] = new Function(`return ${o}`)()); 2023 }), 2024 t 2025 ); 2026 }, 2027 Ln = (e) => { 2028 const t = {}; 2029 return ( 2030 Array.from(e.querySelectorAll("swal-button")).forEach((e) => { 2031 Mn(e, ["type", "color", "aria-label"]); 2032 const n = e.getAttribute("type"); 2033 n && 2034 ["confirm", "cancel", "deny"].includes(n) && 2035 ((t[`${n}ButtonText`] = e.innerHTML), 2036 (t[`show${c(n)}Button`] = !0), 2037 e.hasAttribute("color") && 2038 (t[`${n}ButtonColor`] = e.getAttribute("color")), 2039 e.hasAttribute("aria-label") && 2040 (t[`${n}ButtonAriaLabel`] = e.getAttribute("aria-label"))); 2041 }), 2042 t 2043 ); 2044 }, 2045 Pn = (e) => { 2046 const t = {}, 2047 n = e.querySelector("swal-image"); 2048 return ( 2049 n && 2050 (Mn(n, ["src", "width", "height", "alt"]), 2051 n.hasAttribute("src") && 2052 (t.imageUrl = n.getAttribute("src") || void 0), 2053 n.hasAttribute("width") && 2054 (t.imageWidth = n.getAttribute("width") || void 0), 2055 n.hasAttribute("height") && 2056 (t.imageHeight = n.getAttribute("height") || void 0), 2057 n.hasAttribute("alt") && 2058 (t.imageAlt = n.getAttribute("alt") || void 0)), 2059 t 2060 ); 2061 }, 2062 xn = (e) => { 2063 const t = {}, 2064 n = e.querySelector("swal-icon"); 2065 return ( 2066 n && 2067 (Mn(n, ["type", "color"]), 2068 n.hasAttribute("type") && (t.icon = n.getAttribute("type")), 2069 n.hasAttribute("color") && (t.iconColor = n.getAttribute("color")), 2070 (t.iconHtml = n.innerHTML)), 2071 t 2072 ); 2073 }, 2074 Tn = (e) => { 2075 const t = {}, 2076 n = e.querySelector("swal-input"); 2077 n && 2078 (Mn(n, ["type", "label", "placeholder", "value"]), 2079 (t.input = n.getAttribute("type") || "text"), 2080 n.hasAttribute("label") && (t.inputLabel = n.getAttribute("label")), 2081 n.hasAttribute("placeholder") && 2082 (t.inputPlaceholder = n.getAttribute("placeholder")), 2083 n.hasAttribute("value") && (t.inputValue = n.getAttribute("value"))); 2084 const o = Array.from(e.querySelectorAll("swal-input-option")); 2085 return ( 2086 o.length && 2087 ((t.inputOptions = {}), 2088 o.forEach((e) => { 2089 Mn(e, ["value"]); 2090 const n = e.getAttribute("value"); 2091 if (!n) return; 2092 const o = e.innerHTML; 2093 t.inputOptions[n] = o; 2094 })), 2095 t 2096 ); 2097 }, 2098 Sn = (e, t) => { 2099 const n = {}; 2100 for (const o in t) { 2101 const i = t[o], 2102 s = e.querySelector(i); 2103 s && (Mn(s, []), (n[i.replace(/^swal-/, "")] = s.innerHTML.trim())); 2104 } 2105 return n; 2106 }, 2107 On = (e) => { 2108 const t = kn.concat([ 2109 "swal-param", 2110 "swal-function-param", 2111 "swal-button", 2112 "swal-image", 2113 "swal-icon", 2114 "swal-input", 2115 "swal-input-option", 2116 ]);
2117 Array.from(e.children).forEach((e) => { 2118 const n = e.tagName.toLowerCase(); 2119 t.includes(n) || u(`Unrecognized element <${n}>`); 2120 }); 2121 }, 2122 Mn = (e, t) => { 2123 Array.from(e.attributes).forEach((n) => { 2124 -1 === t.indexOf(n.name) && 2125 u([ 2126 `Unrecognized attribute "${ 2127 n.name 2128 }" on <${e.tagName.toLowerCase()}>.`, 2129 "" + 2130 (t.length 2131 ? `Allowed attributes are: ${t.join(", ")}` 2132 : "To set the value, use HTML within the element."), 2133 ]); 2134 }); 2135 }, 2136 jn = (e) => { 2137 const t = y(), 2138 n = C(); 2139 "function" == typeof e.willOpen && e.willOpen(n), 2140 o.eventEmitter.emit("willOpen", n); 2141 const i = window.getComputedStyle(document.body).overflowY; 2142 Vn(t, n, e), 2143 setTimeout(() => { 2144 In(t, n); 2145 }, 10), 2146 D() && 2147 (Dn(t, e.scrollbarPadding, i), 2148 (() => { 2149 const e = y(); 2150 Array.from(document.body.children).forEach((t) => { 2151 t.contains(e) || 2152 (t.hasAttribute("aria-hidden") && 2153 t.setAttribute( 2154 "data-previous-aria-hidden", 2155 t.getAttribute("aria-hidden") || "" 2156 ), 2157 t.setAttribute("aria-hidden", "true")); 2158 }); 2159 })()), 2160 V() || 2161 o.previousActiveElement || 2162 (o.previousActiveElement = document.activeElement), 2163 "function" == typeof e.didOpen && setTimeout(() => e.didOpen(n)), 2164 o.eventEmitter.emit("didOpen", n); 2165 }, 2166 Hn = (e) => { 2167 const t = C(); 2168 if (e.target !== t) return; 2169 const n = y(); 2170 t.removeEventListener("animationend", Hn), 2171 t.removeEventListener("transitionend", Hn), 2172 (n.style.overflowY = "auto"), 2173 W(n, r["no-transition"]); 2174 }, 2175 In = (e, t) => { 2176 ne(t) 2177 ? ((e.style.overflowY = "hidden"), 2178 t.addEventListener("animationend", Hn), 2179 t.addEventListener("transitionend", Hn)) 2180 : (e.style.overflowY = "auto"); 2181 }, 2182 Dn = (e, t, n) => { 2183 (() => { 2184 if (ot && !N(document.body, r.iosfix)) { 2185 const e = document.body.scrollTop; 2186 (document.body.style.top = -1 * e + "px"), 2187 z(document.body, r.iosfix), 2188 it(); 2189 } 2190 })(), 2191 t && "hidden" !== n && ct(n), 2192 setTimeout(() => { 2193 e.scrollTop = 0; 2194 }); 2195 }, 2196 Vn = (e, t, n) => { 2197 z(e, n.showClass.backdrop), 2198 n.animation 2199 ? (t.style.setProperty("opacity", "0", "important"), 2200 X(t, "grid"), 2201 setTimeout(() => { 2202 z(t, n.showClass.popup), t.style.removeProperty("opacity"); 2203 }, 10)) 2204 : X(t, "grid"), 2205 z([document.documentElement, document.body], r.shown), 2206 n.heightAuto && 2207 n.backdrop && 2208 !n.toast && 2209 z([document.documentElement, document.body], r["height-auto"]); 2210 }; 2211 var qn = (e, t) => 2212 /^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e) 2213 ? Promise.resolve() 2214 : Promise.resolve(t || "Invalid email address"), 2215 Nn = (e, t) => 2216 /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test( 2217 e 2218 ) 2219 ? Promise.resolve() 2220 : Promise.resolve(t || "Invalid URL"); 2221 function _n(e) { 2222 !(function (e) { 2223 e.inputValidator || 2224 ("email" === e.input && (e.inputValidator = qn), 2225 "url" === e.input && (e.inputValidator = Nn)); 2226 })(e), 2227 e.showLoaderOnConfirm && 2228 !e.preConfirm && 2229 u( 2230 "showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request" 2231 ), 2232 (function (e) { 2233 (!e.target || 2234 ("string" == typeof e.target && !document.querySelector(e.target)) || 2235 ("string" != typeof e.target && !e.target.appendChild)) &&
2236 (u('Target parameter is not valid, defaulting to "body"'), 2237 (e.target = "body")); 2238 })(e), 2239 "string" == typeof e.title && 2240 (e.title = e.title.split("\n").join("<br />")), 2241 re(e); 2242 } 2243 let Rn; 2244 var Fn = new WeakMap(); 2245 class Un { 2246 constructor(...t) { 2247 if ((n(this, Fn, void 0), "undefined" == typeof window)) return; 2248 Rn = this; 2249 const o = Object.freeze(this.constructor.argsToParams(t)); 2250 var i, s, r; 2251 (this.params = o), 2252 (this.isAwaitingPromise = !1), 2253 (i = Fn), 2254 (s = this), 2255 (r = this._main(Rn.params)), 2256 i.set(e(i, s), r); 2257 } 2258 _main(e, t = {}) { 2259 if ((tn(Object.assign({}, t, e)), o.currentInstance)) { 2260 const e = tt.swalPromiseResolve.get(o.currentInstance), 2261 { isAwaitingPromise: t } = o.currentInstance; 2262 o.currentInstance._destroy(), t || e({ isDismissed: !0 }), D() && nt(); 2263 } 2264 o.currentInstance = Rn; 2265 const n = Wn(e, t); 2266 _n(n), 2267 Object.freeze(n), 2268 o.timeout && (o.timeout.stop(), delete o.timeout), 2269 clearTimeout(o.restoreFocusTimeout); 2270 const i = Kn(Rn); 2271 return Fe(Rn, n), he.innerParams.set(Rn, n), zn(Rn, i, n); 2272 } 2273 then(e) { 2274 return t(Fn, this).then(e); 2275 } 2276 finally(e) { 2277 return t(Fn, this).finally(e); 2278 } 2279 } 2280 const zn = (e, t, n) => 2281 new Promise((i, s) => { 2282 const r = (t) => { 2283 e.close({ 2284 isDismissed: !0, 2285 dismiss: t, 2286 isConfirmed: !1, 2287 isDenied: !1, 2288 }); 2289 }; 2290 tt.swalPromiseResolve.set(e, i), 2291 tt.swalPromiseReject.set(e, s), 2292 (t.confirmButton.onclick = () => { 2293 ((e) => { 2294 const t = he.innerParams.get(e); 2295 e.disableButtons(), t.input ? Pt(e, "confirm") : Mt(e, !0); 2296 })(e); 2297 }), 2298 (t.denyButton.onclick = () => { 2299 ((e) => { 2300 const t = he.innerParams.get(e); 2301 e.disableButtons(), 2302 t.returnInputValueOnDeny ? Pt(e, "deny") : Tt(e, !1); 2303 })(e); 2304 }), 2305 (t.cancelButton.onclick = () => { 2306 ((e, t) => { 2307 e.disableButtons(), t(ze.cancel); 2308 })(e, r); 2309 }), 2310 (t.closeButton.onclick = () => { 2311 r(ze.close); 2312 }), 2313 ((e, t, n) => { 2314 e.toast ? un(e, t, n) : (mn(t), hn(t), gn(e, t, n)); 2315 })(n, t, r), 2316 ((e, t, n) => { 2317 We(e), 2318 t.toast || 2319 ((e.keydownHandler = (e) => Ze(t, e, n)), 2320 (e.keydownTarget = t.keydownListenerCapture ? window : C()), 2321 (e.keydownListenerCapture = t.keydownListenerCapture), 2322 e.keydownTarget.addEventListener("keydown", e.keydownHandler, { 2323 capture: e.keydownListenerCapture, 2324 }), 2325 (e.keydownHandlerAdded = !0)); 2326 })(o, n, r), 2327 ((e, t) => { 2328 "select" === t.input || "radio" === t.input 2329 ? kt(e, t) 2330 : ["text", "email", "number", "tel", "textarea"].some( 2331 (e) => e === t.input 2332 ) && 2333 (g(t.inputValue) || b(t.inputValue)) && 2334 (vt(P()), Bt(e, t)); 2335 })(e, n), 2336 jn(n), 2337 Yn(o, n, r), 2338 Xn(t, n), 2339 setTimeout(() => { 2340 t.container.scrollTop = 0; 2341 }); 2342 }), 2343 Wn = (e, t) => { 2344 const n = ((e) => { 2345 const t = 2346 "string" == typeof e.template 2347 ? document.querySelector(e.template) 2348 : e.template; 2349 if (!t) return {}; 2350 const n = t.content; 2351 return ( 2352 On(n), 2353 Object.assign(Bn(n), $n(n), Ln(n), Pn(n), xn(n), Tn(n), Sn(n, kn)) 2354 ); 2355 })(e), 2356 o = Object.assign({}, zt, t, n, e); 2357 return ( 2358 (o.showClass = Object.assign({}, zt.showClass, o.showClass)), 2359 (o.hideClass = Object.assign({}, zt.hideClass, o.hideClass)), 2360 !1 === o.animation && 2361 ((o.showClass = { backdrop: "swal2-noanimation" }), 2362 (o.hideClass = {})), 2363 o 2364 ); 2365 }, 2366 Kn = (e) => { 2367 const t = { 2368 popup: C(), 2369 container: y(), 2370 actions: O(), 2371 confirmButton: P(), 2372 denyButton: T(), 2373 cancelButton: x(), 2374 loader: S(), 2375 closeButton: H(), 2376 validationMessage: L(), 2377 progressSteps: $(), 2378 }; 2379 return he.domCache.set(e, t), t; 2380 }, 2381 Yn = (e, t, n) => { 2382 const o = j(); 2383 Z(o), 2384 t.timer && 2385 ((e.timeout = new En(() => { 2386 n("timer"), delete e.timeout; 2387 }, t.timer)), 2388 t.timerProgressBar && 2389 (X(o), 2390 _(o, t, "timerProgressBar"), 2391 setTimeout(() => { 2392 e.timeout && e.timeout.running && oe(t.timer); 2393 }))); 2394 }, 2395 Xn = (e, t) => { 2396 if (!t.toast) 2397 return h(t.allowEnterKey) 2398 ? void (Zn(e) || Jn(e, t) || Ke(-1, 1)) 2399 : (m("allowEnterKey"), void Gn()); 2400 }, 2401 Zn = (e) => { 2402 const t = Array.from(e.popup.querySelectorAll("[autofocus]")); 2403 for (const e of t) 2404 if (e instanceof HTMLElement && ee(e)) return e.focus(), !0; 2405 return !1; 2406 }, 2407 Jn = (e, t) => 2408 t.focusDeny && ee(e.denyButton) 2409 ? (e.denyButton.focus(), !0) 2410 : t.focusCancel && ee(e.cancelButton) 2411 ? (e.cancelButton.focus(), !0) 2412 : !(!t.focusConfirm || !ee(e.confirmButton)) && 2413 (e.confirmButton.focus(), !0), 2414 Gn = () => { 2415 document.activeElement instanceof HTMLElement && 2416 "function" == typeof document.activeElement.blur && 2417 document.activeElement.blur(); 2418 }; 2419 (Un.prototype.disableButtons = Nt), 2420 (Un.prototype.enableButtons = qt), 2421 (Un.prototype.getInput = It), 2422 (Un.prototype.disableInput = Rt), 2423 (Un.prototype.enableInput = _t), 2424 (Un.prototype.hideLoading = jt), 2425 (Un.prototype.disableLoading = jt), 2426 (Un.prototype.showValidationMessage = Ft), 2427 (Un.prototype.resetValidationMessage = Ut), 2428 (Un.prototype.close = dt), 2429 (Un.prototype.closePopup = dt), 2430 (Un.prototype.closeModal = dt), 2431 (Un.prototype.closeToast = dt), 2432 (Un.prototype.rejectPromise = mt), 2433 (Un.prototype.update = nn), 2434 (Un.prototype._destroy = sn), 2435 Object.assign(Un, An),
2436 Object.keys(cn).forEach((e) => { 2437 Un[e] = function (...t) { 2438 return Rn && Rn[e] ? Rn[e](...t) : null; 2439 }; 2440 }), 2441 (Un.DismissReason = ze), 2442 (Un.version = "11.26.4"); 2443 const Qn = Un; 2444 return (Qn.default = Qn), Qn; 2445}), 2446 void 0 !== this && 2447 this.Sweetalert2 && 2448 (this.swal = 2449 this.sweetAlert = 2450 this.Swal = 2451 this.SweetAlert = 2452 this.Sweetalert2); 2453"undefined" != typeof document && 2454 (function (e, t) { 2455 var n = e.createElement("style"); 2456 if ((e.getElementsByTagName("head")[0].appendChild(n), n.styleSheet)) 2457 n.styleSheet.disabled || (n.styleSheet.cssText = t); 2458 else 2459 try { 2460 n.innerHTML = t; 2461 } catch (e) { 2462 n.innerText = t; 2463 } 2464 })( 2465 document, 2466
vendor: 12,088 bytes, line 2466
2466 ':root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-icon-animations: true;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem;container-name:swal2-popup}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);
vendor: 5,100 bytes, line 2466
2466box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;
vendor: 13,480 bytes, line 2466
2466box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:all}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}@container swal2-popup style(--swal2-icon-animations:true){.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}100%{transform:translate3d(0, 0, 0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translate3d(0, 0, 0) scale(1);opacity:1}100%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}'
2466 2467 );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.