! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.Sweetalert2 = t() } (this, function() { "use strict"; function e() { if (void 0 === arguments[0]) return console.error("sweetAlert2 expects at least 1 attribute!"), !1; var e = c({}, N); switch (typeof arguments[0]) { case "string": e.title = arguments[0], e.text = arguments[1] || "", e.type = arguments[2] || ""; break; case "object": c(e, arguments[0]), e.extraParams = arguments[0].extraParams, "email" === e.input && null === e.inputValidator && (e.inputValidator = function(e) { return new Promise(function(t, n) { var o = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; o.test(e) ? t() : n("Invalid email address") }) }); break; default: return console.error('Unexpected type of argument! Expected "string" or "object", got ' + typeof arguments[0]), !1 } O(e), H(), V(e.animation); var o = f(); return new Promise(function(r) { function a(e, t) { for (var n = 0; n < M.length; n++) if (e += t, e === M.length ? e = 0 : -1 === e && (e = M.length - 1), M[e].offsetWidth || M[e].offsetHeight || M[e].getClientRects().length) return void M[e].focus() } function l(n) { var o = n || window.event, i = o.keyCode || o.which; if ( - 1 !== [9, 13, 32, 27].indexOf(i)) { for (var l = o.target || o.srcElement, c = -1, s = 0; s < M.length; s++) if (l === M[s]) { c = s; break } 9 === i ? (o.shiftKey ? a(c, -1) : a(c, 1), T(o)) : 13 === i || 32 === i ? -1 === c && fireClick(q, o) : 27 === i && e.allowEscapeKey === !0 && (t.closeModal(), r(void 0)) } } e.timer && (o.timeout = setTimeout(function() { t.closeModal(), r(void 0) }, e.timer)); var c = function() { switch (e.input) { case "select": return C(o, i.select); case "radio": return o.querySelector("." + i.radio + " input:checked") || o.querySelector("." + i.radio + " input:first-child"); case "checkbox": return o.querySelector("#" + i.checkbox); case "textarea": return C(o, i.textarea); default: return C(o, i.input) } }, u = function() { var t = c(); switch (e.input) { case "checkbox": return t.checked ? 1 : 0; case "radio": return t.checked ? t.value: null; case "file": return t.files.length ? t.files[0] : null; default: return e.inputAutoTrim ? t.value.trim() : t.value } }; e.input && setTimeout(function() { var e = c(); e && g(e) }, 0); var p, f = function(n) { e.showLoaderOnConfirm && t.showLoading(), e.preConfirm ? e.preConfirm(n, e.extraParams).then(function(e) { r(e || n), t.closeModal() }, function() { t.hideLoading() }) : (r(n), t.closeModal()) }, B = function(n) { var a = n || window.event, l = a.target || a.srcElement, c = h(l, i.confirm), d = h(l, i.cancel), p = h(o, "visible"); switch (a.type) { case "mouseover": case "mouseup": case "focus": e.buttonsStyling && (c ? l.style.backgroundColor = s(e.confirmButtonColor, -.1) : d && (l.style.backgroundColor = s(e.cancelButtonColor, -.1))); break; case "mouseout": case "blur": e.buttonsStyling && (c ? l.style.backgroundColor = e.confirmButtonColor: d && (l.style.backgroundColor = e.cancelButtonColor)); break; case "mousedown": e.buttonsStyling && (c ? l.style.backgroundColor = s(e.confirmButtonColor, -.2) : d && (l.style.backgroundColor = s(e.cancelButtonColor, -.2))); break; case "click": if (c && p) if (e.input) { var m = u(); e.inputValidator ? (t.disableInput(), e.inputValidator(m, e.extraParams).then(function() { t.enableInput(), f(m) }, function(e) { t.enableInput(), t.showValidationError(e) })) : f(m) } else f(!0); else d && p && (t.closeModal(), r(!1)) } }, L = o.querySelectorAll("button"); for (p = 0; p < L.length; p++) L[p].onclick = B, L[p].onmouseover = B, L[p].onmouseout = B, L[p].onmousedown = B; d.previousDocumentClick = document.onclick, document.onclick = function(n) { var o = n || window.event, a = o.target || o.srcElement; (h(a, i.close) || a === m() && e.allowOutsideClick) && (t.closeModal(), r(void 0)) }; var q = y(), A = v(), M = [q, A].concat(Array.prototype.slice.call(o.querySelectorAll("button:not([class^=" + n + "]), input:not([type=hidden]), textarea, select"))); for (p = 0; p < M.length; p++) M[p].onfocus = B, M[p].onblur = B; e.reverseButtons && q.parentNode.insertBefore(A, q), a( - 1, 1), d.previousWindowKeyDown = window.onkeydown, window.onkeydown = l, e.buttonsStyling && (q.style.borderLeftColor = e.confirmButtonColor, q.style.borderRightColor = e.confirmButtonColor), t.showLoading = t.enableLoading = function() { b(q, "loading"), b(o, "loading"), A.disabled = !0 }, t.hideLoading = t.disableLoading = function() { w(q, "loading"), w(o, "loading"), A.disabled = !1 }, t.enableButtons = function() { q.disabled = !1, A.disabled = !1 }, t.disableButtons = function() { q.disabled = !0, A.disabled = !0 }, t.enableInput = function() { var e = c(); if ("radio" === e.type) for (var t = e.parentNode.parentNode, n = t.querySelectorAll("input"), o = 0; o < n.length; o++) n[o].disabled = !1; else e.disabled = !1 }, t.disableInput = function() { var e = c(); if ("radio" === e.type) for (var t = e.parentNode.parentNode, n = t.querySelectorAll("input"), o = 0; o < n.length; o++) n[o].disabled = !0; else e.disabled = !0 }, t.showValidationError = function(e) { var t = o.querySelector("." + i.validationerror); t.innerHTML = e, x(t); var n = c(); g(n), b(n, "error") }, t.resetValidationError = function() { var e = o.querySelector("." + i.validationerror); S(e); var t = c(); t && w(t, "error") }, t.enableButtons(), t.hideLoading(), t.resetValidationError(); var P, N = ["input", "select", "radio", "checkbox", "textarea"]; for (p = 0; p < N.length; p++) { var O = i[N[p]]; for (P = C(o, O); P.attributes.length > 0;) P.removeAttribute(P.attributes[0].name); for (var V in e.inputAttributes) P.setAttribute(V, e.inputAttributes[V]); P.className = O, e.inputClass && b(P, e.inputClass), E(P) } var H; switch (e.input) { case "text": case "email": case "password": case "file": P = C(o, i.input), P.value = e.inputValue, P.placeholder = e.inputPlaceholder, P.type = e.input, k(P); break; case "select": var D = C(o, i.select); if (D.innerHTML = "", e.inputPlaceholder) { var I = document.createElement("option"); I.innerHTML = e.inputPlaceholder, I.value = "", I.disabled = !0, I.selected = !0, D.appendChild(I) } H = function(t) { for (var n in t) { var o = document.createElement("option"); o.value = n, o.innerHTML = t[n], e.inputValue === n && (o.selected = !0), D.appendChild(o) } k(D), D.focus() }; break; case "radio": var j = C(o, i.radio); j.innerHTML = "", H = function(t) { for (var n in t) { var o = 1, r = document.createElement("input"), a = document.createElement("label"), l = document.createElement("span"); r.type = "radio", r.name = i.radio, r.value = n, r.id = i.radio + "-" + o++, e.inputValue === n && (r.checked = !0), l.innerHTML = t[n], a.appendChild(r), a.appendChild(l), a["for"] = r.id, j.appendChild(a) } k(j); var c = j.querySelectorAll("input"); c.length && c[0].focus() }; break; case "checkbox": var K = C(o, i.checkbox), W = o.querySelector("#" + i.checkbox); W.value = 1, W.checked = Boolean(e.inputValue); var U = K.getElementsByTagName("span"); U.length && K.removeChild(U[0]), U = document.createElement("span"), U.innerHTML = e.inputPlaceholder, K.appendChild(U), k(K); break; case "textarea": var z = C(o, i.textarea); z.value = e.inputValue, z.placeholder = e.inputPlaceholder, k(z); break; case null: break; default: console.error('Unexpected type of input! Expected "text" or "email" or "password", "select", "checkbox", "textarea" or "file", got ' + typeof arguments[0]) } "select" !== e.input && "radio" !== e.input || (e.inputOptions instanceof Promise ? (t.showLoading(), e.inputOptions.then(function(e) { t.hideLoading(), H(e) })) : "object" == typeof e.inputOptions ? H(e.inputOptions) : console.error("Unexpected type of inputOptions! Expected object or Promise, got " + e.inputOptions)) }) } function t() { var n = arguments, o = f(); return null === o && (t.init(), o = f()), h(o, "visible") && P(), e.apply(this, n) } var n = "swal2-", o = function(e) { var t = {}; for (var o in e) t[e[o]] = n + e[o]; return t }, i = o(["container", "modal", "overlay", "close", "content", "spacer", "confirm", "cancel", "icon", "image", "input", "select", "radio", "checkbox", "textarea", "validationerror"]), r = o(["success", "warning", "info", "question", "error"]), a = { title: "", text: "", html: "", type: null, animation: !0, allowOutsideClick: !0, allowEscapeKey: !0, showConfirmButton: !0, showCancelButton: !1, preConfirm: null, confirmButtonText: "确定", confirmButtonColor: "#32c5d2", confirmButtonClass: null, cancelButtonText: "取消", cancelButtonColor: "#aaa", cancelButtonClass: null, buttonsStyling: !0, reverseButtons: !1, showCloseButton: !1, showLoaderOnConfirm: !1, imageUrl: null, imageWidth: null, imageHeight: null, imageClass: null, timer: null, width: 350, padding: 20, background: "#fff", input: null, inputPlaceholder: "", inputValue: "", inputOptions: {}, inputAutoTrim: !0, inputClass: null, inputAttributes: {}, inputValidator: null }, l = '
', c = function(e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); return e }, s = function(e, t) { e = String(e).replace(/[^0-9a-f]/gi, ""), e.length < 6 && (e = e[0] + e[0] + e[1] + e[1] + e[2] + e[2]), t = t || 0; for (var n = "#", o = 0; 3 > o; o++) { var i = parseInt(e.substr(2 * o, 2), 16); i = Math.round(Math.min(Math.max(0, i + i * t), 255)).toString(16), n += ("00" + i).substr(i.length) } return n }, u = n + "mediaquery", d = { previousDocumentClick: null, previousWindowKeyDown: null, previousActiveElement: null }, p = function(e) { return document.querySelector("." + e) }, f = function() { return p(i.modal) }, m = function() { return p(i.overlay) }, y = function() { return p(i.confirm) }, v = function() { return p(i.cancel) }, h = function(e, t) { return new RegExp(" " + t + " ").test(" " + e.className + " ") }, g = function(e) { e.focus(); var t = e.value; e.value = "", e.value = t }, b = function(e, t) { t && !h(e, t) && (e.className += " " + t) }, w = function(e, t) { var n = " " + e.className.replace(/[\t\r\n]/g, " ") + " "; if (h(e, t)) { for (; n.indexOf(" " + t + " ") >= 0;) n = n.replace(" " + t + " ", " "); e.className = n.replace(/^\s+|\s+$/g, "") } }, C = function(e, t) { for (var n = 0; n < e.childNodes.length; n++) if (e.childNodes[n].classList.contains(t)) return e.childNodes[n] }, k = function(e) { e.style.opacity = "", e.style.display = "block" }, x = function(e) { if (e && !e.length) return k(e); for (var t = 0; t < e.length; ++t) k(e[t]) }, E = function(e) { e.style.opacity = "", e.style.display = "none" }, S = function(e) { if (e && !e.length) return E(e); for (var t = 0; t < e.length; ++t) E(e[t]) }, B = function(e, t) { e.style.removeProperty ? e.style.removeProperty(t) : e.style.removeAttribute(t) }, L = function(e) { e.style.left = "-9999px", e.style.display = "block"; var t = e.clientHeight, n = parseInt(getComputedStyle(e).getPropertyValue("padding-top"), 10); return e.style.left = "", e.style.display = "none", "-" + parseInt(t / 2 + n, 10) + "px" }, q = function(e, t) { if ( + e.style.opacity < 1) { t = t || 16, e.style.opacity = 0, e.style.display = "block"; var n = +new Date, o = function() { var i = +e.style.opacity + (new Date - n) / 100; e.style.opacity = i > 1 ? 1 : i, n = +new Date, +e.style.opacity < 1 && setTimeout(o, t) }; o() } }, A = function(e, t) { if ( + e.style.opacity > 0) { t = t || 16; var n = e.style.opacity, o = +new Date, i = function() { var r = new Date - o, a = +e.style.opacity - r / (100 * n); e.style.opacity = a, o = +new Date, +e.style.opacity > 0 ? setTimeout(i, t) : E(e) }; i() } }, T = function(e) { "function" == typeof e.stopPropagation ? (e.stopPropagation(), e.preventDefault()) : window.event && window.event.hasOwnProperty("cancelBubble") && (window.event.cancelBubble = !0) }, M = function() { var e = document.createElement("div"), t = { WebkitAnimation: "webkitAnimationEnd", MozAnimation: "animationend", OAnimation: "oAnimationEnd oanimationend", msAnimation: "MSAnimationEnd", animation: "animationend" }; for (var n in t) if (t.hasOwnProperty(n) && void 0 !== e.style[n]) return t[n]; return ! 1 } (), P = function() { var e = f(); window.onkeydown = d.previousWindowKeyDown, document.onclick = d.previousDocumentClick, d.previousActiveElement && d.previousActiveElement.focus(), clearTimeout(e.timeout); var t = document.getElementsByTagName("head")[0], n = document.getElementById(u); n && t.removeChild(n) }, N = c({}, a), O = function(e) { var t, n = f(); n.style.width = e.width + "px", n.style.padding = e.padding + "px", n.style.marginLeft = -e.width / 2 + "px", n.style.background = e.background; var o = document.getElementsByTagName("head")[0], a = document.createElement("style"); a.type = "text/css", a.id = u; var l = 5, c = e.width + parseInt(e.width * (l / 100) * 2, 10); a.innerHTML = "@media screen and (max-width: " + c + "px) {." + i.modal + " {width: auto !important;left: " + l + "% !important;right: " + l + "% !important;margin-left: 0 !important;}}", o.appendChild(a); var s = n.querySelector("h2"), d = n.querySelector("." + i.content), p = y(), m = v(), h = n.querySelector("." + i.spacer), g = n.querySelector("." + i.close); if (s.innerHTML = e.title.split("\n").join("