From 61c26002869a8a9d3742211ddf4a321dc349b35f Mon Sep 17 00:00:00 2001 From: nwright Date: Mon, 13 May 2024 19:34:03 -0400 Subject: [PATCH 01/20] added maskable icons --- .../defaults/lubelogger_maskable_icon_128.png | Bin 0 -> 6662 bytes .../defaults/lubelogger_maskable_icon_192.png | Bin 0 -> 12403 bytes .../defaults/lubelogger_maskable_icon_72.png | Bin 0 -> 2852 bytes wwwroot/manifest.json | 30 +++++++++++++++--- 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 wwwroot/defaults/lubelogger_maskable_icon_128.png create mode 100644 wwwroot/defaults/lubelogger_maskable_icon_192.png create mode 100644 wwwroot/defaults/lubelogger_maskable_icon_72.png diff --git a/wwwroot/defaults/lubelogger_maskable_icon_128.png b/wwwroot/defaults/lubelogger_maskable_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..d03fd6845f3a33dcb3e121307b8b5335f832ea34 GIT binary patch literal 6662 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 literal 0 HcmV?d00001 diff --git a/wwwroot/defaults/lubelogger_maskable_icon_72.png b/wwwroot/defaults/lubelogger_maskable_icon_72.png new file mode 100644 index 0000000000000000000000000000000000000000..274bdc0a500aeda16842aba1d1b62b522d9cbd98 GIT binary patch literal 2852 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 Date: Tue, 14 May 2024 08:46:47 -0600 Subject: [PATCH 02/20] Removed commercial license restrictions from license. --- LICENSE | 7 +------ README.md | 6 ++---- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/LICENSE b/LICENSE index 81663ec..c36ff84 100644 --- a/LICENSE +++ b/LICENSE @@ -1,11 +1,6 @@ -LubeLogger by Hargata Softworks is licensed under the MIT License for individual -and personal use. Commercial users and/or corporate entities are required -to maintain an active subscription in order to continue using LubeLogger. -For pricing information please contact us at hargatasoftworks@gmail.com - MIT License -Copyright (c) 2023 Hargata Softworks +Copyright (c) 2024 Hargata Softworks Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 66644fb..600112c 100644 --- a/README.md +++ b/README.md @@ -41,9 +41,7 @@ Read this [Getting Started Guide](https://docs.lubelogger.com/Getting%20Started) - [MailKit](https://github.com/jstedfast/MailKit) ## License -LubeLogger utilizes a dual-licensing model, see [License](/LICENSE) for more information +MIT ## Support -Support this project by [Subscribing on Patreon](https://patreon.com/LubeLogger) or [Making a Donation](https://buy.stripe.com/aEU9Egc8DdMc9bO144) - -Note: Commercial users are required to maintain an active Patreon subscripton to be compliant with our licensing model. +Support this project by [Subscribing on Patreon](https://patreon.com/LubeLogger) or [Making a Donation](https://buy.stripe.com/aEU9Egc8DdMc9bO144) \ No newline at end of file From 5292e4b814e1de3c0a44d1b83bc435fb4b64cd22 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Mon, 20 May 2024 12:16:10 -0600 Subject: [PATCH 03/20] utilize uncensored version of sweet alert --- wwwroot/sweetalert/sweetalert2.all.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wwwroot/sweetalert/sweetalert2.all.min.js b/wwwroot/sweetalert/sweetalert2.all.min.js index 177ff0f..d0d2507 100644 --- a/wwwroot/sweetalert/sweetalert2.all.min.js +++ b/wwwroot/sweetalert/sweetalert2.all.min.js @@ -1,6 +1,6 @@ /*! -* sweetalert2 v11.10.2 +* sweetalert2-uncensored v11.10.2-uncensored * Released under the MIT License. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Sweetalert2=e()}(this,(function(){"use strict";function t(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,e||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(e,n){for(var o=0;ot.length)&&(e=t.length);for(var n=0,o=new Array(e);no?1:n .").concat(A[e]));case"checkbox":return t.querySelector(".".concat(A.popup," > .").concat(A.checkbox," input"));case"radio":return t.querySelector(".".concat(A.popup," > .").concat(A.radio," input:checked"))||t.querySelector(".".concat(A.popup," > .").concat(A.radio," input:first-child"));case"range":return t.querySelector(".".concat(A.popup," > .").concat(A.range," input"));default:return t.querySelector(".".concat(A.popup," > .").concat(A.input))}},rt=function(t){if(t.focus(),"file"!==t.type){var e=t.value;t.value="",t.value=e}},at=function(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach((function(e){Array.isArray(t)?t.forEach((function(t){n?t.classList.add(e):t.classList.remove(e)})):n?t.classList.add(e):t.classList.remove(e)})))},ct=function(t,e){at(t,e,!0)},ut=function(t,e){at(t,e,!1)},st=function(t,e){for(var n=Array.from(t.children),o=0;o1&&void 0!==arguments[1]?arguments[1]:"flex";t&&(t.style.display=e)},ft=function(t){t&&(t.style.display="none")},pt=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"block";t&&new MutationObserver((function(){ht(t,t.innerHTML,e)})).observe(t,{childList:!0,subtree:!0})},mt=function(t,e,n,o){var i=t.querySelector(e);i&&i.style.setProperty(n,o)},ht=function(t,e){e?dt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flex"):ft(t)},vt=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},gt=function(t){return!!(t.scrollHeight>t.clientHeight)},bt=function(t){var e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue("animation-duration")||"0"),o=parseFloat(e.getPropertyValue("transition-duration")||"0");return n>0||o>0},yt=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=J();n&&vt(n)&&(e&&(n.style.transition="none",n.style.width="100%"),setTimeout((function(){n.style.transition="width ".concat(t/1e3,"s linear"),n.style.width="0%"}),10))},wt=function(){return"undefined"==typeof window||"undefined"==typeof document},Ct='\n
\n \n
    \n
    \n \n

    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n').replace(/(^|\n)\s*/g,""),At=function(){y.currentInstance.resetValidationMessage()},kt=function(t){var e,n=!!(e=I())&&(e.remove(),ut([document.documentElement,document.body],[A["no-backdrop"],A["toast-shown"],A["has-column"]]),!0);if(wt())T("SweetAlert2 requires document to initialize");else{var o=document.createElement("div");o.className=A.container,n&&ct(o,A["no-transition"]),et(o,Ct);var i,r,a,c,u,s,l,d,f,p="string"==typeof(i=t.target)?document.querySelector(i):i;p.appendChild(o),function(t){var e=q();e.setAttribute("role",t.toast?"alert":"dialog"),e.setAttribute("aria-live",t.toast?"polite":"assertive"),t.toast||e.setAttribute("aria-modal","true")}(t),function(t){"rtl"===window.getComputedStyle(t).direction&&ct(I(),A.rtl)}(p),r=q(),a=st(r,A.input),c=st(r,A.file),u=r.querySelector(".".concat(A.range," input")),s=r.querySelector(".".concat(A.range," output")),l=st(r,A.select),d=r.querySelector(".".concat(A.checkbox," input")),f=st(r,A.textarea),a.oninput=At,c.onchange=At,l.onchange=At,d.onchange=At,f.oninput=At,u.oninput=function(){At(),s.value=u.value},u.onchange=function(){At(),s.value=u.value}}},Et=function(t,n){t instanceof HTMLElement?n.appendChild(t):"object"===e(t)?Pt(t,n):t&&et(n,t)},Pt=function(t,e){t.jquery?Bt(e,t):et(e,t.toString())},Bt=function(t,e){if(t.textContent="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},Tt=function(){if(wt())return!1;var t=document.createElement("div");return void 0!==t.style.webkitAnimation?"webkitAnimationEnd":void 0!==t.style.animation&&"animationend"}(),xt=function(t,e){var n=Z(),o=Y();n&&o&&(e.showConfirmButton||e.showDenyButton||e.showCancelButton?dt(n):ft(n),ot(n,e,"actions"),function(t,e,n){var o=z(),i=K(),r=W();if(!o||!i||!r)return;St(o,"confirm",n),St(i,"deny",n),St(r,"cancel",n),function(t,e,n,o){if(!o.buttonsStyling)return void ut([t,e,n],A.styled);ct([t,e,n],A.styled),o.confirmButtonColor&&(t.style.backgroundColor=o.confirmButtonColor,ct(t,A["default-outline"]));o.denyButtonColor&&(e.style.backgroundColor=o.denyButtonColor,ct(e,A["default-outline"]));o.cancelButtonColor&&(n.style.backgroundColor=o.cancelButtonColor,ct(n,A["default-outline"]))}(o,i,r,n),n.reverseButtons&&(n.toast?(t.insertBefore(r,o),t.insertBefore(i,o)):(t.insertBefore(r,e),t.insertBefore(i,e),t.insertBefore(o,e)))}(n,o,e),et(o,e.loaderHtml||""),ot(o,e,"loader"))};function St(t,e,n){var o=P(e);ht(t,n["show".concat(o,"Button")],"inline-block"),et(t,n["".concat(e,"ButtonText")]||""),t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]||""),t.className=A[e],ot(t,n,"".concat(e,"Button"))}var Ot=function(t,e){var n=I();n&&(!function(t,e){"string"==typeof e?t.style.background=e:e||ct([document.documentElement,document.body],A["no-backdrop"])}(n,e.backdrop),function(t,e){if(!e)return;e in A?ct(t,A[e]):(B('The "position" parameter is not valid, defaulting to "center"'),ct(t,A.center))}(n,e.position),function(t,e){if(!e)return;ct(t,A["grow-".concat(e)])}(n,e.grow),ot(n,e,"container"))};var Lt={innerParams:new WeakMap,domCache:new WeakMap},jt=["input","file","range","select","radio","checkbox","textarea"],Mt=function(t){if(t.input)if(_t[t.input]){var e=Vt(t.input),n=_t[t.input](e,t);dt(e),t.inputAutoFocus&&setTimeout((function(){rt(n)}))}else T("Unexpected type of input! Expected ".concat(Object.keys(_t).join(" | "),', got "').concat(t.input,'"'))},It=function(t,e){var n=it(q(),t);if(n)for(var o in function(t){for(var e=0;en?q().style.width="".concat(i,"px"):lt(q(),"width",e.width)}})).observe(t,{attributes:!0,attributeFilter:["style"]})}})),t};var Nt=function(t,e){var n=_();n&&(pt(n),ot(n,e,"htmlContainer"),e.html?(Et(e.html,n),dt(n,"block")):e.text?(n.textContent=e.text,dt(n,"block")):ft(n),function(t,e){var n=q();if(n){var o=Lt.innerParams.get(t),i=!o||e.input!==o.input;jt.forEach((function(t){var o=st(n,A[t]);o&&(It(t,e.inputAttributes),o.className=A[t],i&&ft(o))})),e.input&&(i&&Mt(e),Ht(e))}}(t,e))},Ft=function(t,e){for(var n=0,o=Object.entries(k);n\n \n
    \n
    \n',n=n.replace(/ style=".*?"/g,"");else if("error"===e.icon)o='\n \n \n \n \n';else if(e.icon){o=Kt({question:"?",warning:"!",info:"i"}[e.icon])}n.trim()!==o.trim()&&et(t,o)}},Wt=function(t,e){if(e.iconColor){t.style.color=e.iconColor,t.style.borderColor=e.iconColor;for(var n=0,o=[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"];n').concat(t,"")},Yt=function(t,e){var n=e.showClass||{};t.className="".concat(A.popup," ").concat(vt(t)?n.popup:""),e.toast?(ct([document.documentElement,document.body],A["toast-shown"]),ct(t,A.toast)):ct(t,A.modal),ot(t,e,"popup"),"string"==typeof e.customClass&&ct(t,e.customClass),e.icon&&ct(t,A["icon-".concat(e.icon)])},Zt=function(t){var e=document.createElement("li");return ct(e,A["progress-step"]),et(e,t),e},$t=function(t){var e=document.createElement("li");return ct(e,A["progress-step-line"]),t.progressStepsDistance&<(e,"width",t.progressStepsDistance),e},Jt=function(t,e){!function(t,e){var n=I(),o=q();if(n&&o){if(e.toast){lt(n,"width",e.width),o.style.width="100%";var i=Y();i&&o.insertBefore(i,V())}else lt(o,"width",e.width);lt(o,"padding",e.padding),e.color&&(o.style.color=e.color),e.background&&(o.style.background=e.background),ft(U()),Yt(o,e)}}(0,e),Ot(0,e),function(t,e){var n=F();if(n){var o=e.progressSteps,i=e.currentProgressStep;o&&0!==o.length&&void 0!==i?(dt(n),n.textContent="",i>=o.length&&B("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((function(t,r){var a=Zt(t);if(n.appendChild(a),r===i&&ct(a,A["active-progress-step"]),r!==o.length-1){var c=$t(e);n.appendChild(c)}}))):ft(n)}}(0,e),function(t,e){var n=Lt.innerParams.get(t),o=V();if(o){if(n&&e.icon===n.icon)return zt(o,e),void Ft(o,e);if(e.icon||e.iconHtml){if(e.icon&&-1===Object.keys(k).indexOf(e.icon))return T('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(e.icon,'"')),void ft(o);dt(o),zt(o,e),Ft(o,e),ct(o,e.showClass&&e.showClass.icon)}else ft(o)}}(t,e),function(t,e){var n=N();n&&(e.imageUrl?(dt(n,""),n.setAttribute("src",e.imageUrl),n.setAttribute("alt",e.imageAlt||""),lt(n,"width",e.imageWidth),lt(n,"height",e.imageHeight),n.className=A.image,ot(n,e,"image")):ft(n))}(0,e),function(t,e){var n=R();n&&(pt(n),ht(n,e.title||e.titleText,"block"),e.title&&Et(e.title,n),e.titleText&&(n.innerText=e.titleText),ot(n,e,"title"))}(0,e),function(t,e){var n=X();n&&(et(n,e.closeButtonHtml||""),ot(n,e,"closeButton"),ht(n,e.showCloseButton),n.setAttribute("aria-label",e.closeButtonAriaLabel||""))}(0,e),Nt(t,e),xt(0,e),function(t,e){var n=$();n&&(pt(n),ht(n,e.footer,"block"),e.footer&&Et(e.footer,n),ot(n,e,"footer"))}(0,e);var n=q();"function"==typeof e.didRender&&n&&e.didRender(n)},Xt=function(){var t;return null===(t=z())||void 0===t?void 0:t.click()},Gt=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),Qt=function(t){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1)},te=function(t,e){var n,o=G();if(o.length)return(t+=e)===o.length?t=0:-1===t&&(t=o.length-1),void o[t].focus();null===(n=q())||void 0===n||n.focus()},ee=["ArrowRight","ArrowDown"],ne=["ArrowLeft","ArrowUp"],oe=function(t,e,n){t&&(e.isComposing||229===e.keyCode||(t.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?ie(e,t):"Tab"===e.key?re(e):[].concat(ee,ne).includes(e.key)?ae(e.key):"Escape"===e.key&&ce(e,t,n)))},ie=function(t,e){if(O(e.allowEnterKey)){var n=it(q(),e.input);if(t.target&&n&&t.target instanceof HTMLElement&&t.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(e.input))return;Xt(),t.preventDefault()}}},re=function(t){for(var e=t.target,n=G(),o=-1,i=0;i1},he=null,ve=function(t){null===he&&(document.body.scrollHeight>window.innerHeight||"scroll"===t)&&(he=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(he+function(){var t=document.createElement("div");t.className=A["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))};function ge(t,e,n,o){tt()?Pe(t,o):(w(n).then((function(){return Pe(t,o)})),Qt(y)),le?(e.setAttribute("style","display:none !important"),e.removeAttribute("class"),e.innerHTML=""):e.remove(),Q()&&(null!==he&&(document.body.style.paddingRight="".concat(he,"px"),he=null),function(){if(nt(document.body,A.iosfix)){var t=parseInt(document.body.style.top,10);ut(document.body,A.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),se()),ut([document.documentElement,document.body],[A.shown,A["height-auto"],A["no-backdrop"],A["toast-shown"]])}function be(t){t=Ae(t);var e=ue.swalPromiseResolve.get(this),n=ye(this);this.isAwaitingPromise?t.isDismissed||(Ce(this),e(t)):n&&e(t)}var ye=function(t){var e=q();if(!e)return!1;var n=Lt.innerParams.get(t);if(!n||nt(e,n.hideClass.popup))return!1;ut(e,n.showClass.popup),ct(e,n.hideClass.popup);var o=I();return ut(o,n.showClass.backdrop),ct(o,n.hideClass.backdrop),ke(t,e,n),!0};function we(t){var e=ue.swalPromiseReject.get(this);Ce(this),e&&e(t)}var Ce=function(t){t.isAwaitingPromise&&(delete t.isAwaitingPromise,Lt.innerParams.get(t)||t._destroy())},Ae=function(t){return void 0===t?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},t)},ke=function(t,e,n){var o=I(),i=Tt&&bt(e);"function"==typeof n.willClose&&n.willClose(e),i?Ee(t,e,o,n.returnFocus,n.didClose):ge(t,o,n.returnFocus,n.didClose)},Ee=function(t,e,n,o,i){Tt&&(y.swalCloseEventFinishedCallback=ge.bind(null,t,n,o,i),e.addEventListener(Tt,(function(t){t.target===e&&(y.swalCloseEventFinishedCallback(),delete y.swalCloseEventFinishedCallback)})))},Pe=function(t,e){setTimeout((function(){"function"==typeof e&&e.bind(t.params)(),t._destroy&&t._destroy()}))},Be=function(t){var e=q();if(e||new ao,e=q()){var n=Y();tt()?ft(V()):Te(e,t),dt(n),e.setAttribute("data-loading","true"),e.setAttribute("aria-busy","true"),e.focus()}},Te=function(t,e){var n=Z(),o=Y();n&&o&&(!e&&vt(z())&&(e=z()),dt(n),e&&(ft(e),o.setAttribute("data-button-to-replace",e.className),n.insertBefore(o,e)),ct([t,n],A.loading))},xe=function(t){return t.checked?1:0},Se=function(t){return t.checked?t.value:null},Oe=function(t){return t.files&&t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},Le=function(t,n){var o=q();if(o){var i=function(t){"select"===n.input?function(t,e,n){var o=st(t,A.select);if(!o)return;var i=function(t,e,o){var i=document.createElement("option");i.value=o,et(i,e),i.selected=Ie(o,n.inputValue),t.appendChild(i)};e.forEach((function(t){var e=t[0],n=t[1];if(Array.isArray(n)){var r=document.createElement("optgroup");r.label=e,r.disabled=!1,o.appendChild(r),n.forEach((function(t){return i(r,t[1],t[0])}))}else i(o,n,e)})),o.focus()}(o,Me(t),n):"radio"===n.input&&function(t,e,n){var o=st(t,A.radio);if(!o)return;e.forEach((function(t){var e=t[0],i=t[1],r=document.createElement("input"),a=document.createElement("label");r.type="radio",r.name=A.radio,r.value=e,Ie(e,n.inputValue)&&(r.checked=!0);var c=document.createElement("span");et(c,i),c.className=A.label,a.appendChild(r),a.appendChild(c),o.appendChild(a)}));var i=o.querySelectorAll("input");i.length&&i[0].focus()}(o,Me(t),n)};L(n.inputOptions)||M(n.inputOptions)?(Be(z()),j(n.inputOptions).then((function(e){t.hideLoading(),i(e)}))):"object"===e(n.inputOptions)?i(n.inputOptions):T("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(e(n.inputOptions)))}},je=function(t,e){var n=t.getInput();n&&(ft(n),j(e.inputValue).then((function(o){n.value="number"===e.input?"".concat(parseFloat(o)||0):"".concat(o),dt(n),n.focus(),t.hideLoading()})).catch((function(e){T("Error in inputValue promise: ".concat(e)),n.value="",dt(n),n.focus(),t.hideLoading()})))};var Me=function t(n){var o=[];return n instanceof Map?n.forEach((function(n,i){var r=n;"object"===e(r)&&(r=t(r)),o.push([i,r])})):Object.keys(n).forEach((function(i){var r=n[i];"object"===e(r)&&(r=t(r)),o.push([i,r])})),o},Ie=function(t,e){return!!e&&e.toString()===t.toString()},He=void 0,De=function(t,e){var n=Lt.innerParams.get(t);if(n.input){var o=t.getInput(),i=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return xe(n);case"radio":return Se(n);case"file":return Oe(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(t,n);n.inputValidator?qe(t,i,e):o&&!o.checkValidity()?(t.enableButtons(),t.showValidationMessage(n.validationMessage)):"deny"===e?Ve(t,i):Ne(t,i)}else T('The "input" parameter is needed to be set when using returnInputValueOn'.concat(P(e)))},qe=function(t,e,n){var o=Lt.innerParams.get(t);t.disableInput(),Promise.resolve().then((function(){return j(o.inputValidator(e,o.validationMessage))})).then((function(o){t.enableButtons(),t.enableInput(),o?t.showValidationMessage(o):"deny"===n?Ve(t,e):Ne(t,e)}))},Ve=function(t,e){var n=Lt.innerParams.get(t||He);(n.showLoaderOnDeny&&Be(K()),n.preDeny)?(t.isAwaitingPromise=!0,Promise.resolve().then((function(){return j(n.preDeny(e,n.validationMessage))})).then((function(n){!1===n?(t.hideLoading(),Ce(t)):t.close({isDenied:!0,value:void 0===n?e:n})})).catch((function(e){return _e(t||He,e)}))):t.close({isDenied:!0,value:e})},Re=function(t,e){t.close({isConfirmed:!0,value:e})},_e=function(t,e){t.rejectPromise(e)},Ne=function(t,e){var n=Lt.innerParams.get(t||He);(n.showLoaderOnConfirm&&Be(),n.preConfirm)?(t.resetValidationMessage(),t.isAwaitingPromise=!0,Promise.resolve().then((function(){return j(n.preConfirm(e,n.validationMessage))})).then((function(n){vt(U())||!1===n?(t.hideLoading(),Ce(t)):Re(t,void 0===n?e:n)})).catch((function(e){return _e(t||He,e)}))):Re(t,e)};function Fe(){var t=Lt.innerParams.get(this);if(t){var e=Lt.domCache.get(this);ft(e.loader),tt()?t.icon&&dt(V()):Ue(e),ut([e.popup,e.actions],A.loading),e.popup.removeAttribute("aria-busy"),e.popup.removeAttribute("data-loading"),e.confirmButton.disabled=!1,e.denyButton.disabled=!1,e.cancelButton.disabled=!1}}var Ue=function(t){var e=t.popup.getElementsByClassName(t.loader.getAttribute("data-button-to-replace"));e.length?dt(e[0],"inline-block"):vt(z())||vt(K())||vt(W())||ft(t.actions)};function ze(){var t=Lt.innerParams.get(this),e=Lt.domCache.get(this);return e?it(e.popup,t.input):null}function We(t,e,n){var o=Lt.domCache.get(t);e.forEach((function(t){o[t].disabled=n}))}function Ke(t,e){var n=q();if(n&&t)if("radio"===t.type)for(var o=n.querySelectorAll('[name="'.concat(A.radio,'"]')),i=0;i0&&void 0!==arguments[0]?arguments[0]:"data-swal-template"]=this,Bn||(document.body.addEventListener("click",Sn),Bn=!0)},clickCancel:function(){var t;return null===(t=W())||void 0===t?void 0:t.click()},clickConfirm:Xt,clickDeny:function(){var t;return null===(t=K())||void 0===t?void 0:t.click()},enableLoading:Be,fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n"))}))},Nn=function(t,e){Array.from(t.attributes).forEach((function(n){-1===e.indexOf(n.name)&&B(['Unrecognized attribute "'.concat(n.name,'" on <').concat(t.tagName.toLowerCase(),">."),"".concat(e.length?"Allowed attributes are: ".concat(e.join(", ")):"To set the value, use HTML within the element.")])}))},Fn=function(t){var e=I(),n=q();"function"==typeof t.willOpen&&t.willOpen(n);var o=window.getComputedStyle(document.body).overflowY;Kn(e,n,t),setTimeout((function(){zn(e,n)}),10),Q()&&(Wn(e,t.scrollbarPadding,o),Array.from(document.body.children).forEach((function(t){t===I()||t.contains(I())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")||""),t.setAttribute("aria-hidden","true"))}))),tt()||y.previousActiveElement||(y.previousActiveElement=document.activeElement),"function"==typeof t.didOpen&&setTimeout((function(){return t.didOpen(n)})),ut(e,A["no-transition"])},Un=function t(e){var n=q();if(e.target===n&&Tt){var o=I();n.removeEventListener(Tt,t),o.style.overflowY="auto"}},zn=function(t,e){Tt&&bt(e)?(t.style.overflowY="hidden",e.addEventListener(Tt,Un)):t.style.overflowY="auto"},Wn=function(t,e,n){!function(){if(le&&!nt(document.body,A.iosfix)){var t=document.body.scrollTop;document.body.style.top="".concat(-1*t,"px"),ct(document.body,A.iosfix),de()}}(),e&&"hidden"!==n&&ve(n),setTimeout((function(){t.scrollTop=0}))},Kn=function(t,e,n){ct(t,n.showClass.backdrop),n.animation?(e.style.setProperty("opacity","0","important"),dt(e,"grid"),setTimeout((function(){ct(e,n.showClass.popup),e.style.removeProperty("opacity")}),10)):dt(e,"grid"),ct([document.documentElement,document.body],A.shown),n.heightAuto&&n.backdrop&&!n.toast&&ct([document.documentElement,document.body],A["height-auto"])},Yn={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function Zn(t){!function(t){t.inputValidator||("email"===t.input&&(t.inputValidator=Yn.email),"url"===t.input&&(t.inputValidator=Yn.url))}(t),t.showLoaderOnConfirm&&!t.preConfirm&&B("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"),function(t){(!t.target||"string"==typeof t.target&&!document.querySelector(t.target)||"string"!=typeof t.target&&!t.target.appendChild)&&(B('Target parameter is not valid, defaulting to "body"'),t.target="body")}(t),"string"==typeof t.title&&(t.title=t.title.split("\n").join("
    ")),kt(t)}var $n=new WeakMap,Jn=function(){function t(){if(n(this,t),b(this,$n,{writable:!0,value:void 0}),"undefined"!=typeof window){xn=this;for(var e=arguments.length,o=new Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(function(t){for(var e in!1===t.backdrop&&t.allowOutsideClick&&B('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),t)cn(e),t.toast&&un(e),sn(e)}(Object.assign({},e,t)),y.currentInstance){var n=ue.swalPromiseResolve.get(y.currentInstance),o=y.currentInstance.isAwaitingPromise;y.currentInstance._destroy(),o||n({isDismissed:!0}),Q()&&se()}y.currentInstance=xn;var i=Gn(t,e);Zn(i),Object.freeze(i),y.timeout&&(y.timeout.stop(),delete y.timeout),clearTimeout(y.restoreFocusTimeout);var r=Qn(xn);return Jt(xn,i),Lt.innerParams.set(xn,i),Xn(xn,r,i)}},{key:"then",value:function(t){return h(this,$n).then(t)}},{key:"finally",value:function(t){return h(this,$n).finally(t)}}]),t}(),Xn=function(t,e,n){return new Promise((function(o,i){var r=function(e){t.close({isDismissed:!0,dismiss:e})};ue.swalPromiseResolve.set(t,o),ue.swalPromiseReject.set(t,i),e.confirmButton.onclick=function(){!function(t){var e=Lt.innerParams.get(t);t.disableButtons(),e.input?De(t,"confirm"):Ne(t,!0)}(t)},e.denyButton.onclick=function(){!function(t){var e=Lt.innerParams.get(t);t.disableButtons(),e.returnInputValueOnDeny?De(t,"deny"):Ve(t,!1)}(t)},e.cancelButton.onclick=function(){!function(t,e){t.disableButtons(),e(Gt.cancel)}(t,r)},e.closeButton.onclick=function(){r(Gt.close)},function(t,e,n){t.toast?gn(t,e,n):(wn(e),Cn(e),An(t,e,n))}(n,e,r),function(t,e,n){Qt(t),e.toast||(t.keydownHandler=function(t){return oe(e,t,n)},t.keydownTarget=e.keydownListenerCapture?window:q(),t.keydownListenerCapture=e.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}(y,n,r),function(t,e){"select"===e.input||"radio"===e.input?Le(t,e):["text","email","number","tel","textarea"].some((function(t){return t===e.input}))&&(L(e.inputValue)||M(e.inputValue))&&(Be(z()),je(t,e))}(t,n),Fn(n),to(y,n,r),eo(e,n),setTimeout((function(){e.container.scrollTop=0}))}))},Gn=function(t,e){var n=function(t){var e="string"==typeof t.template?document.querySelector(t.template):t.template;if(!e)return{};var n=e.content;return _n(n),Object.assign(Mn(n),In(n),Hn(n),Dn(n),qn(n),Vn(n),Rn(n,jn))}(t),o=Object.assign({},Qe,e,n,t);return o.showClass=Object.assign({},Qe.showClass,o.showClass),o.hideClass=Object.assign({},Qe.hideClass,o.hideClass),!1===o.animation&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},Qn=function(t){var e={popup:q(),container:I(),actions:Z(),confirmButton:z(),denyButton:K(),cancelButton:W(),loader:Y(),closeButton:X(),validationMessage:U(),progressSteps:F()};return Lt.domCache.set(t,e),e},to=function(t,e,n){var o=J();ft(o),e.timer&&(t.timeout=new Ln((function(){n("timer"),delete t.timeout}),e.timer),e.timerProgressBar&&(dt(o),ot(o,e,"timerProgressBar"),setTimeout((function(){t.timeout&&t.timeout.running&&yt(e.timer)}))))},eo=function(t,e){e.toast||(O(e.allowEnterKey)?no(t,e)||te(-1,1):oo())},no=function(t,e){return e.focusDeny&&vt(t.denyButton)?(t.denyButton.focus(),!0):e.focusCancel&&vt(t.cancelButton)?(t.cancelButton.focus(),!0):!(!e.focusConfirm||!vt(t.confirmButton))&&(t.confirmButton.focus(),!0)},oo=function(){document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};if("undefined"!=typeof window&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|by|xn--p1ai)$/)){var io=new Date,ro=localStorage.getItem("swal-initiation");ro?(io.getTime()-Date.parse(ro))/864e5>3&&setTimeout((function(){document.body.style.pointerEvents="none";var t=document.createElement("audio");t.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",t.loop=!0,document.body.appendChild(t),setTimeout((function(){t.play().catch((function(){}))}),2500)}),500):localStorage.setItem("swal-initiation","".concat(io))}Jn.prototype.disableButtons=Ze,Jn.prototype.enableButtons=Ye,Jn.prototype.getInput=ze,Jn.prototype.disableInput=Je,Jn.prototype.enableInput=$e,Jn.prototype.hideLoading=Fe,Jn.prototype.disableLoading=Fe,Jn.prototype.showValidationMessage=Xe,Jn.prototype.resetValidationMessage=Ge,Jn.prototype.close=be,Jn.prototype.closePopup=be,Jn.prototype.closeModal=be,Jn.prototype.closeToast=be,Jn.prototype.rejectPromise=we,Jn.prototype.update=ln,Jn.prototype._destroy=fn,Object.assign(Jn,On),Object.keys(vn).forEach((function(t){Jn[t]=function(){var e;return xn&&xn[t]?(e=xn)[t].apply(e,arguments):null}})),Jn.DismissReason=Gt,Jn.version="11.10.2";var ao=Jn;return ao.default=ao,ao})),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Sweetalert2=e()}(this,(function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,o=new Array(e);no?1:n .").concat(C[e]));case"checkbox":return t.querySelector(".".concat(C.popup," > .").concat(C.checkbox," input"));case"radio":return t.querySelector(".".concat(C.popup," > .").concat(C.radio," input:checked"))||t.querySelector(".".concat(C.popup," > .").concat(C.radio," input:first-child"));case"range":return t.querySelector(".".concat(C.popup," > .").concat(C.range," input"));default:return t.querySelector(".".concat(C.popup," > .").concat(C.input))}},it=function(t){if(t.focus(),"file"!==t.type){var e=t.value;t.value="",t.value=e}},rt=function(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach((function(e){Array.isArray(t)?t.forEach((function(t){n?t.classList.add(e):t.classList.remove(e)})):n?t.classList.add(e):t.classList.remove(e)})))},at=function(t,e){rt(t,e,!0)},ct=function(t,e){rt(t,e,!1)},ut=function(t,e){for(var n=Array.from(t.children),o=0;o1&&void 0!==arguments[1]?arguments[1]:"flex";t&&(t.style.display=e)},dt=function(t){t&&(t.style.display="none")},ft=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"block";t&&new MutationObserver((function(){mt(t,t.innerHTML,e)})).observe(t,{childList:!0,subtree:!0})},pt=function(t,e,n,o){var i=t.querySelector(e);i&&i.style.setProperty(n,o)},mt=function(t,e){e?lt(t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flex"):dt(t)},ht=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},vt=function(t){return!!(t.scrollHeight>t.clientHeight)},gt=function(t){var e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue("animation-duration")||"0"),o=parseFloat(e.getPropertyValue("transition-duration")||"0");return n>0||o>0},bt=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=$();n&&ht(n)&&(e&&(n.style.transition="none",n.style.width="100%"),setTimeout((function(){n.style.transition="width ".concat(t/1e3,"s linear"),n.style.width="0%"}),10))},yt=function(){return"undefined"==typeof window||"undefined"==typeof document},wt='\n
    \n \n
      \n
      \n \n

      \n
      \n \n \n
      \n \n \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n \n \n
      \n
      \n
      \n
      \n
      \n
      \n').replace(/(^|\n)\s*/g,""),Ct=function(){b.currentInstance.resetValidationMessage()},At=function(t){var e,n=!!(e=M())&&(e.remove(),ct([document.documentElement,document.body],[C["no-backdrop"],C["toast-shown"],C["has-column"]]),!0);if(yt())B("SweetAlert2 requires document to initialize");else{var o=document.createElement("div");o.className=C.container,n&&at(o,C["no-transition"]),tt(o,wt);var i,r,a,c,u,s,l,d,f,p="string"==typeof(i=t.target)?document.querySelector(i):i;p.appendChild(o),function(t){var e=D();e.setAttribute("role",t.toast?"alert":"dialog"),e.setAttribute("aria-live",t.toast?"polite":"assertive"),t.toast||e.setAttribute("aria-modal","true")}(t),function(t){"rtl"===window.getComputedStyle(t).direction&&at(M(),C.rtl)}(p),r=D(),a=ut(r,C.input),c=ut(r,C.file),u=r.querySelector(".".concat(C.range," input")),s=r.querySelector(".".concat(C.range," output")),l=ut(r,C.select),d=r.querySelector(".".concat(C.checkbox," input")),f=ut(r,C.textarea),a.oninput=Ct,c.onchange=Ct,l.onchange=Ct,d.onchange=Ct,f.oninput=Ct,u.oninput=function(){Ct(),s.value=u.value},u.onchange=function(){Ct(),s.value=u.value}}},kt=function(e,n){e instanceof HTMLElement?n.appendChild(e):"object"===t(e)?Et(e,n):e&&tt(n,e)},Et=function(t,e){t.jquery?Pt(e,t):tt(e,t.toString())},Pt=function(t,e){if(t.textContent="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},Bt=function(){if(yt())return!1;var t=document.createElement("div");return void 0!==t.style.webkitAnimation?"webkitAnimationEnd":void 0!==t.style.animation&&"animationend"}(),Tt=function(t,e){var n=Y(),o=K();n&&o&&(e.showConfirmButton||e.showDenyButton||e.showCancelButton?lt(n):dt(n),nt(n,e,"actions"),function(t,e,n){var o=U(),i=W(),r=z();if(!o||!i||!r)return;xt(o,"confirm",n),xt(i,"deny",n),xt(r,"cancel",n),function(t,e,n,o){if(!o.buttonsStyling)return void ct([t,e,n],C.styled);at([t,e,n],C.styled),o.confirmButtonColor&&(t.style.backgroundColor=o.confirmButtonColor,at(t,C["default-outline"]));o.denyButtonColor&&(e.style.backgroundColor=o.denyButtonColor,at(e,C["default-outline"]));o.cancelButtonColor&&(n.style.backgroundColor=o.cancelButtonColor,at(n,C["default-outline"]))}(o,i,r,n),n.reverseButtons&&(n.toast?(t.insertBefore(r,o),t.insertBefore(i,o)):(t.insertBefore(r,e),t.insertBefore(i,e),t.insertBefore(o,e)))}(n,o,e),tt(o,e.loaderHtml||""),nt(o,e,"loader"))};function xt(t,e,n){var o=E(e);mt(t,n["show".concat(o,"Button")],"inline-block"),tt(t,n["".concat(e,"ButtonText")]||""),t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]||""),t.className=C[e],nt(t,n,"".concat(e,"Button"))}var St=function(t,e){var n=M();n&&(!function(t,e){"string"==typeof e?t.style.background=e:e||at([document.documentElement,document.body],C["no-backdrop"])}(n,e.backdrop),function(t,e){if(!e)return;e in C?at(t,C[e]):(P('The "position" parameter is not valid, defaulting to "center"'),at(t,C.center))}(n,e.position),function(t,e){if(!e)return;at(t,C["grow-".concat(e)])}(n,e.grow),nt(n,e,"container"))};var Ot={innerParams:new WeakMap,domCache:new WeakMap},Lt=["input","file","range","select","radio","checkbox","textarea"],jt=function(t){if(t.input)if(Rt[t.input]){var e=qt(t.input),n=Rt[t.input](e,t);lt(e),t.inputAutoFocus&&setTimeout((function(){it(n)}))}else B("Unexpected type of input! Expected ".concat(Object.keys(Rt).join(" | "),', got "').concat(t.input,'"'))},Mt=function(t,e){var n=ot(D(),t);if(n)for(var o in function(t){for(var e=0;en?D().style.width="".concat(i,"px"):st(D(),"width",e.width)}})).observe(t,{attributes:!0,attributeFilter:["style"]})}})),t};var _t=function(t,e){var n=R();n&&(ft(n),nt(n,e,"htmlContainer"),e.html?(kt(e.html,n),lt(n,"block")):e.text?(n.textContent=e.text,lt(n,"block")):dt(n),function(t,e){var n=D();if(n){var o=Ot.innerParams.get(t),i=!o||e.input!==o.input;Lt.forEach((function(t){var o=ut(n,C[t]);o&&(Mt(t,e.inputAttributes),o.className=C[t],i&&dt(o))})),e.input&&(i&&jt(e),It(e))}}(t,e))},Nt=function(t,e){for(var n=0,o=Object.entries(A);n\n \n
      \n
      \n',n=n.replace(/ style=".*?"/g,"");else if("error"===e.icon)o='\n \n \n \n \n';else if(e.icon){o=Wt({question:"?",warning:"!",info:"i"}[e.icon])}n.trim()!==o.trim()&&tt(t,o)}},zt=function(t,e){if(e.iconColor){t.style.color=e.iconColor,t.style.borderColor=e.iconColor;for(var n=0,o=[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"];n').concat(t,"")},Kt=function(t,e){var n=e.showClass||{};t.className="".concat(C.popup," ").concat(ht(t)?n.popup:""),e.toast?(at([document.documentElement,document.body],C["toast-shown"]),at(t,C.toast)):at(t,C.modal),nt(t,e,"popup"),"string"==typeof e.customClass&&at(t,e.customClass),e.icon&&at(t,C["icon-".concat(e.icon)])},Yt=function(t){var e=document.createElement("li");return at(e,C["progress-step"]),tt(e,t),e},Zt=function(t){var e=document.createElement("li");return at(e,C["progress-step-line"]),t.progressStepsDistance&&st(e,"width",t.progressStepsDistance),e},$t=function(t,e){!function(t,e){var n=M(),o=D();if(n&&o){if(e.toast){st(n,"width",e.width),o.style.width="100%";var i=K();i&&o.insertBefore(i,q())}else st(o,"width",e.width);st(o,"padding",e.padding),e.color&&(o.style.color=e.color),e.background&&(o.style.background=e.background),dt(F()),Kt(o,e)}}(0,e),St(0,e),function(t,e){var n=N();if(n){var o=e.progressSteps,i=e.currentProgressStep;o&&0!==o.length&&void 0!==i?(lt(n),n.textContent="",i>=o.length&&P("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((function(t,r){var a=Yt(t);if(n.appendChild(a),r===i&&at(a,C["active-progress-step"]),r!==o.length-1){var c=Zt(e);n.appendChild(c)}}))):dt(n)}}(0,e),function(t,e){var n=Ot.innerParams.get(t),o=q();if(o){if(n&&e.icon===n.icon)return Ut(o,e),void Nt(o,e);if(e.icon||e.iconHtml){if(e.icon&&-1===Object.keys(A).indexOf(e.icon))return B('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(e.icon,'"')),void dt(o);lt(o),Ut(o,e),Nt(o,e),at(o,e.showClass&&e.showClass.icon)}else dt(o)}}(t,e),function(t,e){var n=_();n&&(e.imageUrl?(lt(n,""),n.setAttribute("src",e.imageUrl),n.setAttribute("alt",e.imageAlt||""),st(n,"width",e.imageWidth),st(n,"height",e.imageHeight),n.className=C.image,nt(n,e,"image")):dt(n))}(0,e),function(t,e){var n=V();n&&(ft(n),mt(n,e.title||e.titleText,"block"),e.title&&kt(e.title,n),e.titleText&&(n.innerText=e.titleText),nt(n,e,"title"))}(0,e),function(t,e){var n=J();n&&(tt(n,e.closeButtonHtml||""),nt(n,e,"closeButton"),mt(n,e.showCloseButton),n.setAttribute("aria-label",e.closeButtonAriaLabel||""))}(0,e),_t(t,e),Tt(0,e),function(t,e){var n=Z();n&&(ft(n),mt(n,e.footer,"block"),e.footer&&kt(e.footer,n),nt(n,e,"footer"))}(0,e);var n=D();"function"==typeof e.didRender&&n&&e.didRender(n)},Jt=function(){var t;return null===(t=U())||void 0===t?void 0:t.click()},Xt=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),Gt=function(t){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1)},Qt=function(t,e){var n,o=X();if(o.length)return(t+=e)===o.length?t=0:-1===t&&(t=o.length-1),void o[t].focus();null===(n=D())||void 0===n||n.focus()},te=["ArrowRight","ArrowDown"],ee=["ArrowLeft","ArrowUp"],ne=function(t,e,n){t&&(e.isComposing||229===e.keyCode||(t.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?oe(e,t):"Tab"===e.key?ie(e):[].concat(te,ee).includes(e.key)?re(e.key):"Escape"===e.key&&ae(e,t,n)))},oe=function(t,e){if(S(e.allowEnterKey)){var n=ot(D(),e.input);if(t.target&&n&&t.target instanceof HTMLElement&&t.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(e.input))return;Jt(),t.preventDefault()}}},ie=function(t){for(var e=t.target,n=X(),o=-1,i=0;i1},me=null,he=function(t){null===me&&(document.body.scrollHeight>window.innerHeight||"scroll"===t)&&(me=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(me+function(){var t=document.createElement("div");t.className=C["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))};function ve(t,e,n,o){Q()?Ee(t,o):(y(n).then((function(){return Ee(t,o)})),Gt(b)),se?(e.setAttribute("style","display:none !important"),e.removeAttribute("class"),e.innerHTML=""):e.remove(),G()&&(null!==me&&(document.body.style.paddingRight="".concat(me,"px"),me=null),function(){if(et(document.body,C.iosfix)){var t=parseInt(document.body.style.top,10);ct(document.body,C.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),ue()),ct([document.documentElement,document.body],[C.shown,C["height-auto"],C["no-backdrop"],C["toast-shown"]])}function ge(t){t=Ce(t);var e=ce.swalPromiseResolve.get(this),n=be(this);this.isAwaitingPromise?t.isDismissed||(we(this),e(t)):n&&e(t)}var be=function(t){var e=D();if(!e)return!1;var n=Ot.innerParams.get(t);if(!n||et(e,n.hideClass.popup))return!1;ct(e,n.showClass.popup),at(e,n.hideClass.popup);var o=M();return ct(o,n.showClass.backdrop),at(o,n.hideClass.backdrop),Ae(t,e,n),!0};function ye(t){var e=ce.swalPromiseReject.get(this);we(this),e&&e(t)}var we=function(t){t.isAwaitingPromise&&(delete t.isAwaitingPromise,Ot.innerParams.get(t)||t._destroy())},Ce=function(t){return void 0===t?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},t)},Ae=function(t,e,n){var o=M(),i=Bt&>(e);"function"==typeof n.willClose&&n.willClose(e),i?ke(t,e,o,n.returnFocus,n.didClose):ve(t,o,n.returnFocus,n.didClose)},ke=function(t,e,n,o,i){Bt&&(b.swalCloseEventFinishedCallback=ve.bind(null,t,n,o,i),e.addEventListener(Bt,(function(t){t.target===e&&(b.swalCloseEventFinishedCallback(),delete b.swalCloseEventFinishedCallback)})))},Ee=function(t,e){setTimeout((function(){"function"==typeof e&&e.bind(t.params)(),t._destroy&&t._destroy()}))},Pe=function(t){var e=D();if(e||new oo,e=D()){var n=K();Q()?dt(q()):Be(e,t),lt(n),e.setAttribute("data-loading","true"),e.setAttribute("aria-busy","true"),e.focus()}},Be=function(t,e){var n=Y(),o=K();n&&o&&(!e&&ht(U())&&(e=U()),lt(n),e&&(dt(e),o.setAttribute("data-button-to-replace",e.className),n.insertBefore(o,e)),at([t,n],C.loading))},Te=function(t){return t.checked?1:0},xe=function(t){return t.checked?t.value:null},Se=function(t){return t.files&&t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},Oe=function(e,n){var o=D();if(o){var i=function(t){"select"===n.input?function(t,e,n){var o=ut(t,C.select);if(!o)return;var i=function(t,e,o){var i=document.createElement("option");i.value=o,tt(i,e),i.selected=Me(o,n.inputValue),t.appendChild(i)};e.forEach((function(t){var e=t[0],n=t[1];if(Array.isArray(n)){var r=document.createElement("optgroup");r.label=e,r.disabled=!1,o.appendChild(r),n.forEach((function(t){return i(r,t[1],t[0])}))}else i(o,n,e)})),o.focus()}(o,je(t),n):"radio"===n.input&&function(t,e,n){var o=ut(t,C.radio);if(!o)return;e.forEach((function(t){var e=t[0],i=t[1],r=document.createElement("input"),a=document.createElement("label");r.type="radio",r.name=C.radio,r.value=e,Me(e,n.inputValue)&&(r.checked=!0);var c=document.createElement("span");tt(c,i),c.className=C.label,a.appendChild(r),a.appendChild(c),o.appendChild(a)}));var i=o.querySelectorAll("input");i.length&&i[0].focus()}(o,je(t),n)};O(n.inputOptions)||j(n.inputOptions)?(Pe(U()),L(n.inputOptions).then((function(t){e.hideLoading(),i(t)}))):"object"===t(n.inputOptions)?i(n.inputOptions):B("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(t(n.inputOptions)))}},Le=function(t,e){var n=t.getInput();n&&(dt(n),L(e.inputValue).then((function(o){n.value="number"===e.input?"".concat(parseFloat(o)||0):"".concat(o),lt(n),n.focus(),t.hideLoading()})).catch((function(e){B("Error in inputValue promise: ".concat(e)),n.value="",lt(n),n.focus(),t.hideLoading()})))};var je=function e(n){var o=[];return n instanceof Map?n.forEach((function(n,i){var r=n;"object"===t(r)&&(r=e(r)),o.push([i,r])})):Object.keys(n).forEach((function(i){var r=n[i];"object"===t(r)&&(r=e(r)),o.push([i,r])})),o},Me=function(t,e){return!!e&&e.toString()===t.toString()},Ie=void 0,He=function(t,e){var n=Ot.innerParams.get(t);if(n.input){var o=t.getInput(),i=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return Te(n);case"radio":return xe(n);case"file":return Se(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(t,n);n.inputValidator?De(t,i,e):o&&!o.checkValidity()?(t.enableButtons(),t.showValidationMessage(n.validationMessage)):"deny"===e?qe(t,i):_e(t,i)}else B('The "input" parameter is needed to be set when using returnInputValueOn'.concat(E(e)))},De=function(t,e,n){var o=Ot.innerParams.get(t);t.disableInput(),Promise.resolve().then((function(){return L(o.inputValidator(e,o.validationMessage))})).then((function(o){t.enableButtons(),t.enableInput(),o?t.showValidationMessage(o):"deny"===n?qe(t,e):_e(t,e)}))},qe=function(t,e){var n=Ot.innerParams.get(t||Ie);(n.showLoaderOnDeny&&Pe(W()),n.preDeny)?(t.isAwaitingPromise=!0,Promise.resolve().then((function(){return L(n.preDeny(e,n.validationMessage))})).then((function(n){!1===n?(t.hideLoading(),we(t)):t.close({isDenied:!0,value:void 0===n?e:n})})).catch((function(e){return Re(t||Ie,e)}))):t.close({isDenied:!0,value:e})},Ve=function(t,e){t.close({isConfirmed:!0,value:e})},Re=function(t,e){t.rejectPromise(e)},_e=function(t,e){var n=Ot.innerParams.get(t||Ie);(n.showLoaderOnConfirm&&Pe(),n.preConfirm)?(t.resetValidationMessage(),t.isAwaitingPromise=!0,Promise.resolve().then((function(){return L(n.preConfirm(e,n.validationMessage))})).then((function(n){ht(F())||!1===n?(t.hideLoading(),we(t)):Ve(t,void 0===n?e:n)})).catch((function(e){return Re(t||Ie,e)}))):Ve(t,e)};function Ne(){var t=Ot.innerParams.get(this);if(t){var e=Ot.domCache.get(this);dt(e.loader),Q()?t.icon&<(q()):Fe(e),ct([e.popup,e.actions],C.loading),e.popup.removeAttribute("aria-busy"),e.popup.removeAttribute("data-loading"),e.confirmButton.disabled=!1,e.denyButton.disabled=!1,e.cancelButton.disabled=!1}}var Fe=function(t){var e=t.popup.getElementsByClassName(t.loader.getAttribute("data-button-to-replace"));e.length?lt(e[0],"inline-block"):ht(U())||ht(W())||ht(z())||dt(t.actions)};function Ue(){var t=Ot.innerParams.get(this),e=Ot.domCache.get(this);return e?ot(e.popup,t.input):null}function ze(t,e,n){var o=Ot.domCache.get(t);e.forEach((function(t){o[t].disabled=n}))}function We(t,e){var n=D();if(n&&t)if("radio"===t.type)for(var o=n.querySelectorAll('[name="'.concat(C.radio,'"]')),i=0;i0&&void 0!==arguments[0]?arguments[0]:"data-swal-template"]=this,Pn||(document.body.addEventListener("click",xn),Pn=!0)},clickCancel:function(){var t;return null===(t=z())||void 0===t?void 0:t.click()},clickConfirm:Jt,clickDeny:function(){var t;return null===(t=W())||void 0===t?void 0:t.click()},enableLoading:Pe,fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n"))}))},_n=function(t,e){Array.from(t.attributes).forEach((function(n){-1===e.indexOf(n.name)&&P(['Unrecognized attribute "'.concat(n.name,'" on <').concat(t.tagName.toLowerCase(),">."),"".concat(e.length?"Allowed attributes are: ".concat(e.join(", ")):"To set the value, use HTML within the element.")])}))},Nn=function(t){var e=M(),n=D();"function"==typeof t.willOpen&&t.willOpen(n);var o=window.getComputedStyle(document.body).overflowY;Wn(e,n,t),setTimeout((function(){Un(e,n)}),10),G()&&(zn(e,t.scrollbarPadding,o),Array.from(document.body.children).forEach((function(t){t===M()||t.contains(M())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")||""),t.setAttribute("aria-hidden","true"))}))),Q()||b.previousActiveElement||(b.previousActiveElement=document.activeElement),"function"==typeof t.didOpen&&setTimeout((function(){return t.didOpen(n)})),ct(e,C["no-transition"])},Fn=function t(e){var n=D();if(e.target===n&&Bt){var o=M();n.removeEventListener(Bt,t),o.style.overflowY="auto"}},Un=function(t,e){Bt&>(e)?(t.style.overflowY="hidden",e.addEventListener(Bt,Fn)):t.style.overflowY="auto"},zn=function(t,e,n){!function(){if(se&&!et(document.body,C.iosfix)){var t=document.body.scrollTop;document.body.style.top="".concat(-1*t,"px"),at(document.body,C.iosfix),le()}}(),e&&"hidden"!==n&&he(n),setTimeout((function(){t.scrollTop=0}))},Wn=function(t,e,n){at(t,n.showClass.backdrop),n.animation?(e.style.setProperty("opacity","0","important"),lt(e,"grid"),setTimeout((function(){at(e,n.showClass.popup),e.style.removeProperty("opacity")}),10)):lt(e,"grid"),at([document.documentElement,document.body],C.shown),n.heightAuto&&n.backdrop&&!n.toast&&at([document.documentElement,document.body],C["height-auto"])},Kn={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function Yn(t){!function(t){t.inputValidator||("email"===t.input&&(t.inputValidator=Kn.email),"url"===t.input&&(t.inputValidator=Kn.url))}(t),t.showLoaderOnConfirm&&!t.preConfirm&&P("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"),function(t){(!t.target||"string"==typeof t.target&&!document.querySelector(t.target)||"string"!=typeof t.target&&!t.target.appendChild)&&(P('Target parameter is not valid, defaulting to "body"'),t.target="body")}(t),"string"==typeof t.title&&(t.title=t.title.split("\n").join("
      ")),At(t)}var Zn=new WeakMap,$n=function(){function t(){if(e(this,t),g(this,Zn,{writable:!0,value:void 0}),"undefined"!=typeof window){Tn=this;for(var n=arguments.length,o=new Array(n),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if(function(t){for(var e in!1===t.backdrop&&t.allowOutsideClick&&P('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),t)an(e),t.toast&&cn(e),un(e)}(Object.assign({},e,t)),b.currentInstance){var n=ce.swalPromiseResolve.get(b.currentInstance),o=b.currentInstance.isAwaitingPromise;b.currentInstance._destroy(),o||n({isDismissed:!0}),G()&&ue()}b.currentInstance=Tn;var i=Xn(t,e);Yn(i),Object.freeze(i),b.timeout&&(b.timeout.stop(),delete b.timeout),clearTimeout(b.restoreFocusTimeout);var r=Gn(Tn);return $t(Tn,i),Ot.innerParams.set(Tn,i),Jn(Tn,r,i)}},{key:"then",value:function(t){return m(this,Zn).then(t)}},{key:"finally",value:function(t){return m(this,Zn).finally(t)}}]),t}(),Jn=function(t,e,n){return new Promise((function(o,i){var r=function(e){t.close({isDismissed:!0,dismiss:e})};ce.swalPromiseResolve.set(t,o),ce.swalPromiseReject.set(t,i),e.confirmButton.onclick=function(){!function(t){var e=Ot.innerParams.get(t);t.disableButtons(),e.input?He(t,"confirm"):_e(t,!0)}(t)},e.denyButton.onclick=function(){!function(t){var e=Ot.innerParams.get(t);t.disableButtons(),e.returnInputValueOnDeny?He(t,"deny"):qe(t,!1)}(t)},e.cancelButton.onclick=function(){!function(t,e){t.disableButtons(),e(Xt.cancel)}(t,r)},e.closeButton.onclick=function(){r(Xt.close)},function(t,e,n){t.toast?vn(t,e,n):(yn(e),wn(e),Cn(t,e,n))}(n,e,r),function(t,e,n){Gt(t),e.toast||(t.keydownHandler=function(t){return ne(e,t,n)},t.keydownTarget=e.keydownListenerCapture?window:D(),t.keydownListenerCapture=e.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}(b,n,r),function(t,e){"select"===e.input||"radio"===e.input?Oe(t,e):["text","email","number","tel","textarea"].some((function(t){return t===e.input}))&&(O(e.inputValue)||j(e.inputValue))&&(Pe(U()),Le(t,e))}(t,n),Nn(n),Qn(b,n,r),to(e,n),setTimeout((function(){e.container.scrollTop=0}))}))},Xn=function(t,e){var n=function(t){var e="string"==typeof t.template?document.querySelector(t.template):t.template;if(!e)return{};var n=e.content;return Rn(n),Object.assign(jn(n),Mn(n),In(n),Hn(n),Dn(n),qn(n),Vn(n,Ln))}(t),o=Object.assign({},Ge,e,n,t);return o.showClass=Object.assign({},Ge.showClass,o.showClass),o.hideClass=Object.assign({},Ge.hideClass,o.hideClass),!1===o.animation&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},Gn=function(t){var e={popup:D(),container:M(),actions:Y(),confirmButton:U(),denyButton:W(),cancelButton:z(),loader:K(),closeButton:J(),validationMessage:F(),progressSteps:N()};return Ot.domCache.set(t,e),e},Qn=function(t,e,n){var o=$();dt(o),e.timer&&(t.timeout=new On((function(){n("timer"),delete t.timeout}),e.timer),e.timerProgressBar&&(lt(o),nt(o,e,"timerProgressBar"),setTimeout((function(){t.timeout&&t.timeout.running&&bt(e.timer)}))))},to=function(t,e){e.toast||(S(e.allowEnterKey)?eo(t,e)||Qt(-1,1):no())},eo=function(t,e){return e.focusDeny&&ht(t.denyButton)?(t.denyButton.focus(),!0):e.focusCancel&&ht(t.cancelButton)?(t.cancelButton.focus(),!0):!(!e.focusConfirm||!ht(t.confirmButton))&&(t.confirmButton.focus(),!0)},no=function(){document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};$n.prototype.disableButtons=Ye,$n.prototype.enableButtons=Ke,$n.prototype.getInput=Ue,$n.prototype.disableInput=$e,$n.prototype.enableInput=Ze,$n.prototype.hideLoading=Ne,$n.prototype.disableLoading=Ne,$n.prototype.showValidationMessage=Je,$n.prototype.resetValidationMessage=Xe,$n.prototype.close=ge,$n.prototype.closePopup=ge,$n.prototype.closeModal=ge,$n.prototype.closeToast=ge,$n.prototype.rejectPromise=ye,$n.prototype.update=sn,$n.prototype._destroy=dn,Object.assign($n,Sn),Object.keys(hn).forEach((function(t){$n[t]=function(){var e;return Tn&&Tn[t]?(e=Tn)[t].apply(e,arguments):null}})),$n.DismissReason=Xt,$n.version="11.10.2";var oo=$n;return oo.default=oo,oo})),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2); "undefined"!=typeof document&&function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,".swal2-popup.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;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.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-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.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-popup.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-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}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:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}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) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}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) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}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:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}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:box-shadow .1s;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).swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus{outline:none}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 #eee;color:inherit;font-size:1em;text-align:center}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:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){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:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}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:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);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):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}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:#fff}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:rgba(0,0,0,0);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:rgba(0,0,0,0);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:#fff;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:#f0f0f0;color:#666;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:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}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;border:0.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)}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:#facea8;color:#f8bb86}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:#9de0f6;color:#3fc3ee}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:#c9dae1;color:#87adbd}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;transform:rotate(45deg);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)}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:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.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}@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}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);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}}body.swal2-shown:not(.swal2-no-backdrop):not(.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 rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}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}"); \ No newline at end of file From e12cd876db766642f0b868dd9cee7a06976c0012 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Mon, 20 May 2024 12:21:54 -0600 Subject: [PATCH 04/20] removed unused files --- wwwroot/sweetalert/sweetalert2.all.js | 4657 ------------------------- wwwroot/sweetalert/sweetalert2.css | 1087 ------ wwwroot/sweetalert/sweetalert2.js | 4656 ------------------------ wwwroot/sweetalert/sweetalert2.min.js | 5 - 4 files changed, 10405 deletions(-) delete mode 100644 wwwroot/sweetalert/sweetalert2.all.js delete mode 100644 wwwroot/sweetalert/sweetalert2.css delete mode 100644 wwwroot/sweetalert/sweetalert2.js delete mode 100644 wwwroot/sweetalert/sweetalert2.min.js diff --git a/wwwroot/sweetalert/sweetalert2.all.js b/wwwroot/sweetalert/sweetalert2.all.js deleted file mode 100644 index 6fc5b3f..0000000 --- a/wwwroot/sweetalert/sweetalert2.all.js +++ /dev/null @@ -1,4657 +0,0 @@ -/*! -* sweetalert2 v11.10.2 -* Released under the MIT License. -*/ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory()); -})(this, (function () { 'use strict'; - - function _iterableToArrayLimit(r, l) { - var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; - if (null != t) { - var e, - n, - i, - u, - a = [], - f = !0, - o = !1; - try { - if (i = (t = t.call(r)).next, 0 === l) { - if (Object(t) !== t) return; - f = !1; - } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); - } catch (r) { - o = !0, n = r; - } finally { - try { - if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; - } finally { - if (o) throw n; - } - } - return a; - } - } - function _toPrimitive(t, r) { - if ("object" != typeof t || !t) return t; - var e = t[Symbol.toPrimitive]; - if (void 0 !== e) { - var i = e.call(t, r || "default"); - if ("object" != typeof i) return i; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return ("string" === r ? String : Number)(t); - } - function _toPropertyKey(t) { - var i = _toPrimitive(t, "string"); - return "symbol" == typeof i ? i : String(i); - } - function _typeof(o) { - "@babel/helpers - typeof"; - - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { - return typeof o; - } : function (o) { - return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; - }, _typeof(o); - } - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); - } - } - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; - } - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) _setPrototypeOf(subClass, superClass); - } - function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); - } - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); - } - function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) return false; - if (Reflect.construct.sham) return false; - if (typeof Proxy === "function") return true; - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); - return true; - } catch (e) { - return false; - } - } - function _construct(Parent, args, Class) { - if (_isNativeReflectConstruct()) { - _construct = Reflect.construct.bind(); - } else { - _construct = function _construct(Parent, args, Class) { - var a = [null]; - a.push.apply(a, args); - var Constructor = Function.bind.apply(Parent, a); - var instance = new Constructor(); - if (Class) _setPrototypeOf(instance, Class.prototype); - return instance; - }; - } - return _construct.apply(null, arguments); - } - function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; - } - function _possibleConstructorReturn(self, call) { - if (call && (typeof call === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return _assertThisInitialized(self); - } - function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), - result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn(this, result); - }; - } - function _superPropBase(object, property) { - while (!Object.prototype.hasOwnProperty.call(object, property)) { - object = _getPrototypeOf(object); - if (object === null) break; - } - return object; - } - function _get() { - if (typeof Reflect !== "undefined" && Reflect.get) { - _get = Reflect.get.bind(); - } else { - _get = function _get(target, property, receiver) { - var base = _superPropBase(target, property); - if (!base) return; - var desc = Object.getOwnPropertyDescriptor(base, property); - if (desc.get) { - return desc.get.call(arguments.length < 3 ? target : receiver); - } - return desc.value; - }; - } - return _get.apply(this, arguments); - } - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); - } - function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); - } - function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return _arrayLikeToArray(arr); - } - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); - } - function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); - } - function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) len = arr.length; - for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; - return arr2; - } - function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - function _classPrivateFieldGet(receiver, privateMap) { - var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); - return _classApplyDescriptorGet(receiver, descriptor); - } - function _classPrivateFieldSet(receiver, privateMap, value) { - var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); - _classApplyDescriptorSet(receiver, descriptor, value); - return value; - } - function _classExtractFieldDescriptor(receiver, privateMap, action) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to " + action + " private field on non-instance"); - } - return privateMap.get(receiver); - } - function _classApplyDescriptorGet(receiver, descriptor) { - if (descriptor.get) { - return descriptor.get.call(receiver); - } - return descriptor.value; - } - function _classApplyDescriptorSet(receiver, descriptor, value) { - if (descriptor.set) { - descriptor.set.call(receiver, value); - } else { - if (!descriptor.writable) { - throw new TypeError("attempted to set read only private field"); - } - descriptor.value = value; - } - } - function _checkPrivateRedeclaration(obj, privateCollection) { - if (privateCollection.has(obj)) { - throw new TypeError("Cannot initialize the same private elements twice on an object"); - } - } - function _classPrivateFieldInitSpec(obj, privateMap, value) { - _checkPrivateRedeclaration(obj, privateMap); - privateMap.set(obj, value); - } - - var RESTORE_FOCUS_TIMEOUT = 100; - - /** @type {GlobalState} */ - var globalState = {}; - var focusPreviousActiveElement = function focusPreviousActiveElement() { - if (globalState.previousActiveElement instanceof HTMLElement) { - globalState.previousActiveElement.focus(); - globalState.previousActiveElement = null; - } else if (document.body) { - document.body.focus(); - } - }; - - /** - * Restore previous active (focused) element - * - * @param {boolean} returnFocus - * @returns {Promise} - */ - var restoreActiveElement = function restoreActiveElement(returnFocus) { - return new Promise(function (resolve) { - if (!returnFocus) { - return resolve(); - } - var x = window.scrollX; - var y = window.scrollY; - globalState.restoreFocusTimeout = setTimeout(function () { - focusPreviousActiveElement(); - resolve(); - }, RESTORE_FOCUS_TIMEOUT); // issues/900 - - window.scrollTo(x, y); - }); - }; - - var swalPrefix = 'swal2-'; - - /** - * @typedef - * { | 'container' - * | 'shown' - * | 'height-auto' - * | 'iosfix' - * | 'popup' - * | 'modal' - * | 'no-backdrop' - * | 'no-transition' - * | 'toast' - * | 'toast-shown' - * | 'show' - * | 'hide' - * | 'close' - * | 'title' - * | 'html-container' - * | 'actions' - * | 'confirm' - * | 'deny' - * | 'cancel' - * | 'default-outline' - * | 'footer' - * | 'icon' - * | 'icon-content' - * | 'image' - * | 'input' - * | 'file' - * | 'range' - * | 'select' - * | 'radio' - * | 'checkbox' - * | 'label' - * | 'textarea' - * | 'inputerror' - * | 'input-label' - * | 'validation-message' - * | 'progress-steps' - * | 'active-progress-step' - * | 'progress-step' - * | 'progress-step-line' - * | 'loader' - * | 'loading' - * | 'styled' - * | 'top' - * | 'top-start' - * | 'top-end' - * | 'top-left' - * | 'top-right' - * | 'center' - * | 'center-start' - * | 'center-end' - * | 'center-left' - * | 'center-right' - * | 'bottom' - * | 'bottom-start' - * | 'bottom-end' - * | 'bottom-left' - * | 'bottom-right' - * | 'grow-row' - * | 'grow-column' - * | 'grow-fullscreen' - * | 'rtl' - * | 'timer-progress-bar' - * | 'timer-progress-bar-container' - * | 'scrollbar-measure' - * | 'icon-success' - * | 'icon-warning' - * | 'icon-info' - * | 'icon-question' - * | 'icon-error' - * } SwalClass - * @typedef {Record} SwalClasses - */ - - /** - * @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon - * @typedef {Record} SwalIcons - */ - - /** @type {SwalClass[]} */ - var classNames = ['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error']; - var swalClasses = classNames.reduce(function (acc, className) { - acc[className] = swalPrefix + className; - return acc; - }, /** @type {SwalClasses} */{}); - - /** @type {SwalIcon[]} */ - var icons = ['success', 'warning', 'info', 'question', 'error']; - var iconTypes = icons.reduce(function (acc, icon) { - acc[icon] = swalPrefix + icon; - return acc; - }, /** @type {SwalIcons} */{}); - - var consolePrefix = 'SweetAlert2:'; - - /** - * Capitalize the first letter of a string - * - * @param {string} str - * @returns {string} - */ - var capitalizeFirstLetter = function capitalizeFirstLetter(str) { - return str.charAt(0).toUpperCase() + str.slice(1); - }; - - /** - * Standardize console warnings - * - * @param {string | string[]} message - */ - var warn = function warn(message) { - console.warn("".concat(consolePrefix, " ").concat(_typeof(message) === 'object' ? message.join(' ') : message)); - }; - - /** - * Standardize console errors - * - * @param {string} message - */ - var error = function error(message) { - console.error("".concat(consolePrefix, " ").concat(message)); - }; - - /** - * Private global state for `warnOnce` - * - * @type {string[]} - * @private - */ - var previousWarnOnceMessages = []; - - /** - * Show a console warning, but only if it hasn't already been shown - * - * @param {string} message - */ - var warnOnce = function warnOnce(message) { - if (!previousWarnOnceMessages.includes(message)) { - previousWarnOnceMessages.push(message); - warn(message); - } - }; - - /** - * Show a one-time console warning about deprecated params/methods - * - * @param {string} deprecatedParam - * @param {string} useInstead - */ - var warnAboutDeprecation = function warnAboutDeprecation(deprecatedParam, useInstead) { - warnOnce("\"".concat(deprecatedParam, "\" is deprecated and will be removed in the next major release. Please use \"").concat(useInstead, "\" instead.")); - }; - - /** - * If `arg` is a function, call it (with no arguments or context) and return the result. - * Otherwise, just pass the value through - * - * @param {Function | any} arg - * @returns {any} - */ - var callIfFunction = function callIfFunction(arg) { - return typeof arg === 'function' ? arg() : arg; - }; - - /** - * @param {any} arg - * @returns {boolean} - */ - var hasToPromiseFn = function hasToPromiseFn(arg) { - return arg && typeof arg.toPromise === 'function'; - }; - - /** - * @param {any} arg - * @returns {Promise} - */ - var asPromise = function asPromise(arg) { - return hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg); - }; - - /** - * @param {any} arg - * @returns {boolean} - */ - var isPromise = function isPromise(arg) { - return arg && Promise.resolve(arg) === arg; - }; - - /** - * Gets the popup container which contains the backdrop and the popup itself. - * - * @returns {HTMLElement | null} - */ - var getContainer = function getContainer() { - return document.body.querySelector(".".concat(swalClasses.container)); - }; - - /** - * @param {string} selectorString - * @returns {HTMLElement | null} - */ - var elementBySelector = function elementBySelector(selectorString) { - var container = getContainer(); - return container ? container.querySelector(selectorString) : null; - }; - - /** - * @param {string} className - * @returns {HTMLElement | null} - */ - var elementByClass = function elementByClass(className) { - return elementBySelector(".".concat(className)); - }; - - /** - * @returns {HTMLElement | null} - */ - var getPopup = function getPopup() { - return elementByClass(swalClasses.popup); - }; - - /** - * @returns {HTMLElement | null} - */ - var getIcon = function getIcon() { - return elementByClass(swalClasses.icon); - }; - - /** - * @returns {HTMLElement | null} - */ - var getIconContent = function getIconContent() { - return elementByClass(swalClasses['icon-content']); - }; - - /** - * @returns {HTMLElement | null} - */ - var getTitle = function getTitle() { - return elementByClass(swalClasses.title); - }; - - /** - * @returns {HTMLElement | null} - */ - var getHtmlContainer = function getHtmlContainer() { - return elementByClass(swalClasses['html-container']); - }; - - /** - * @returns {HTMLElement | null} - */ - var getImage = function getImage() { - return elementByClass(swalClasses.image); - }; - - /** - * @returns {HTMLElement | null} - */ - var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses['progress-steps']); - }; - - /** - * @returns {HTMLElement | null} - */ - var getValidationMessage = function getValidationMessage() { - return elementByClass(swalClasses['validation-message']); - }; - - /** - * @returns {HTMLButtonElement | null} - */ - var getConfirmButton = function getConfirmButton() { - return /** @type {HTMLButtonElement} */elementBySelector(".".concat(swalClasses.actions, " .").concat(swalClasses.confirm)); - }; - - /** - * @returns {HTMLButtonElement | null} - */ - var getCancelButton = function getCancelButton() { - return /** @type {HTMLButtonElement} */elementBySelector(".".concat(swalClasses.actions, " .").concat(swalClasses.cancel)); - }; - - /** - * @returns {HTMLButtonElement | null} - */ - var getDenyButton = function getDenyButton() { - return /** @type {HTMLButtonElement} */elementBySelector(".".concat(swalClasses.actions, " .").concat(swalClasses.deny)); - }; - - /** - * @returns {HTMLElement | null} - */ - var getInputLabel = function getInputLabel() { - return elementByClass(swalClasses['input-label']); - }; - - /** - * @returns {HTMLElement | null} - */ - var getLoader = function getLoader() { - return elementBySelector(".".concat(swalClasses.loader)); - }; - - /** - * @returns {HTMLElement | null} - */ - var getActions = function getActions() { - return elementByClass(swalClasses.actions); - }; - - /** - * @returns {HTMLElement | null} - */ - var getFooter = function getFooter() { - return elementByClass(swalClasses.footer); - }; - - /** - * @returns {HTMLElement | null} - */ - var getTimerProgressBar = function getTimerProgressBar() { - return elementByClass(swalClasses['timer-progress-bar']); - }; - - /** - * @returns {HTMLElement | null} - */ - var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); - }; - - // https://github.com/jkup/focusable/blob/master/index.js - var focusable = "\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"; - /** - * @returns {HTMLElement[]} - */ - var getFocusableElements = function getFocusableElements() { - var popup = getPopup(); - if (!popup) { - return []; - } - /** @type {NodeListOf} */ - var focusableElementsWithTabindex = popup.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'); - var focusableElementsWithTabindexSorted = Array.from(focusableElementsWithTabindex) - // sort according to tabindex - .sort(function (a, b) { - var tabindexA = parseInt(a.getAttribute('tabindex') || '0'); - var tabindexB = parseInt(b.getAttribute('tabindex') || '0'); - if (tabindexA > tabindexB) { - return 1; - } else if (tabindexA < tabindexB) { - return -1; - } - return 0; - }); - - /** @type {NodeListOf} */ - var otherFocusableElements = popup.querySelectorAll(focusable); - var otherFocusableElementsFiltered = Array.from(otherFocusableElements).filter(function (el) { - return el.getAttribute('tabindex') !== '-1'; - }); - return _toConsumableArray(new Set(focusableElementsWithTabindexSorted.concat(otherFocusableElementsFiltered))).filter(function (el) { - return isVisible$1(el); - }); - }; - - /** - * @returns {boolean} - */ - var isModal = function isModal() { - return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']); - }; - - /** - * @returns {boolean} - */ - var isToast = function isToast() { - var popup = getPopup(); - if (!popup) { - return false; - } - return hasClass(popup, swalClasses.toast); - }; - - /** - * @returns {boolean} - */ - var isLoading = function isLoading() { - var popup = getPopup(); - if (!popup) { - return false; - } - return popup.hasAttribute('data-loading'); - }; - - /** - * Securely set innerHTML of an element - * https://github.com/sweetalert2/sweetalert2/issues/1926 - * - * @param {HTMLElement} elem - * @param {string} html - */ - var setInnerHtml = function setInnerHtml(elem, html) { - elem.textContent = ''; - if (html) { - var parser = new DOMParser(); - var parsed = parser.parseFromString(html, "text/html"); - var head = parsed.querySelector('head'); - head && Array.from(head.childNodes).forEach(function (child) { - elem.appendChild(child); - }); - var body = parsed.querySelector('body'); - body && Array.from(body.childNodes).forEach(function (child) { - if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) { - elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507 - } else { - elem.appendChild(child); - } - }); - } - }; - - /** - * @param {HTMLElement} elem - * @param {string} className - * @returns {boolean} - */ - var hasClass = function hasClass(elem, className) { - if (!className) { - return false; - } - var classList = className.split(/\s+/); - for (var i = 0; i < classList.length; i++) { - if (!elem.classList.contains(classList[i])) { - return false; - } - } - return true; - }; - - /** - * @param {HTMLElement} elem - * @param {SweetAlertOptions} params - */ - var removeCustomClasses = function removeCustomClasses(elem, params) { - Array.from(elem.classList).forEach(function (className) { - if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass || {}).includes(className)) { - elem.classList.remove(className); - } - }); - }; - - /** - * @param {HTMLElement} elem - * @param {SweetAlertOptions} params - * @param {string} className - */ - var applyCustomClass = function applyCustomClass(elem, params, className) { - removeCustomClasses(elem, params); - if (params.customClass && params.customClass[className]) { - if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) { - warn("Invalid type of customClass.".concat(className, "! Expected string or iterable object, got \"").concat(_typeof(params.customClass[className]), "\"")); - return; - } - addClass(elem, params.customClass[className]); - } - }; - - /** - * @param {HTMLElement} popup - * @param {import('./renderers/renderInput').InputClass | SweetAlertInput} inputClass - * @returns {HTMLInputElement | null} - */ - var getInput$1 = function getInput(popup, inputClass) { - if (!inputClass) { - return null; - } - switch (inputClass) { - case 'select': - case 'textarea': - case 'file': - return popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses[inputClass])); - case 'checkbox': - return popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses.checkbox, " input")); - case 'radio': - return popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses.radio, " input:checked")) || popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses.radio, " input:first-child")); - case 'range': - return popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses.range, " input")); - default: - return popup.querySelector(".".concat(swalClasses.popup, " > .").concat(swalClasses.input)); - } - }; - - /** - * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input - */ - var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915 - var val = input.value; - input.value = ''; - input.value = val; - } - }; - - /** - * @param {HTMLElement | HTMLElement[] | null} target - * @param {string | string[] | readonly string[] | undefined} classList - * @param {boolean} condition - */ - var toggleClass = function toggleClass(target, classList, condition) { - if (!target || !classList) { - return; - } - if (typeof classList === 'string') { - classList = classList.split(/\s+/).filter(Boolean); - } - classList.forEach(function (className) { - if (Array.isArray(target)) { - target.forEach(function (elem) { - condition ? elem.classList.add(className) : elem.classList.remove(className); - }); - } else { - condition ? target.classList.add(className) : target.classList.remove(className); - } - }); - }; - - /** - * @param {HTMLElement | HTMLElement[] | null} target - * @param {string | string[] | readonly string[] | undefined} classList - */ - var addClass = function addClass(target, classList) { - toggleClass(target, classList, true); - }; - - /** - * @param {HTMLElement | HTMLElement[] | null} target - * @param {string | string[] | readonly string[] | undefined} classList - */ - var removeClass = function removeClass(target, classList) { - toggleClass(target, classList, false); - }; - - /** - * Get direct child of an element by class name - * - * @param {HTMLElement} elem - * @param {string} className - * @returns {HTMLElement | undefined} - */ - var getDirectChildByClass = function getDirectChildByClass(elem, className) { - var children = Array.from(elem.children); - for (var i = 0; i < children.length; i++) { - var child = children[i]; - if (child instanceof HTMLElement && hasClass(child, className)) { - return child; - } - } - }; - - /** - * @param {HTMLElement} elem - * @param {string} property - * @param {*} value - */ - var applyNumericalStyle = function applyNumericalStyle(elem, property, value) { - if (value === "".concat(parseInt(value))) { - value = parseInt(value); - } - if (value || parseInt(value) === 0) { - elem.style.setProperty(property, typeof value === 'number' ? "".concat(value, "px") : value); - } else { - elem.style.removeProperty(property); - } - }; - - /** - * @param {HTMLElement | null} elem - * @param {string} display - */ - var show = function show(elem) { - var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex'; - elem && (elem.style.display = display); - }; - - /** - * @param {HTMLElement | null} elem - */ - var hide = function hide(elem) { - elem && (elem.style.display = 'none'); - }; - - /** - * @param {HTMLElement | null} elem - * @param {string} display - */ - var showWhenInnerHtmlPresent = function showWhenInnerHtmlPresent(elem) { - var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block'; - if (!elem) { - return; - } - new MutationObserver(function () { - toggle(elem, elem.innerHTML, display); - }).observe(elem, { - childList: true, - subtree: true - }); - }; - - /** - * @param {HTMLElement} parent - * @param {string} selector - * @param {string} property - * @param {string} value - */ - var setStyle = function setStyle(parent, selector, property, value) { - /** @type {HTMLElement | null} */ - var el = parent.querySelector(selector); - if (el) { - el.style.setProperty(property, value); - } - }; - - /** - * @param {HTMLElement} elem - * @param {any} condition - * @param {string} display - */ - var toggle = function toggle(elem, condition) { - var display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex'; - condition ? show(elem, display) : hide(elem); - }; - - /** - * borrowed from jquery $(elem).is(':visible') implementation - * - * @param {HTMLElement | null} elem - * @returns {boolean} - */ - var isVisible$1 = function isVisible(elem) { - return !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length)); - }; - - /** - * @returns {boolean} - */ - var allButtonsAreHidden = function allButtonsAreHidden() { - return !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton()); - }; - - /** - * @param {HTMLElement} elem - * @returns {boolean} - */ - var isScrollable = function isScrollable(elem) { - return !!(elem.scrollHeight > elem.clientHeight); - }; - - /** - * borrowed from https://stackoverflow.com/a/46352119 - * - * @param {HTMLElement} elem - * @returns {boolean} - */ - var hasCssAnimation = function hasCssAnimation(elem) { - var style = window.getComputedStyle(elem); - var animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0'); - var transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0'); - return animDuration > 0 || transDuration > 0; - }; - - /** - * @param {number} timer - * @param {boolean} reset - */ - var animateTimerProgressBar = function animateTimerProgressBar(timer) { - var reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var timerProgressBar = getTimerProgressBar(); - if (!timerProgressBar) { - return; - } - if (isVisible$1(timerProgressBar)) { - if (reset) { - timerProgressBar.style.transition = 'none'; - timerProgressBar.style.width = '100%'; - } - setTimeout(function () { - timerProgressBar.style.transition = "width ".concat(timer / 1000, "s linear"); - timerProgressBar.style.width = '0%'; - }, 10); - } - }; - var stopTimerProgressBar = function stopTimerProgressBar() { - var timerProgressBar = getTimerProgressBar(); - if (!timerProgressBar) { - return; - } - var timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width); - timerProgressBar.style.removeProperty('transition'); - timerProgressBar.style.width = '100%'; - var timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width); - var timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100; - timerProgressBar.style.width = "".concat(timerProgressBarPercent, "%"); - }; - - /** - * Detect Node env - * - * @returns {boolean} - */ - var isNodeEnv = function isNodeEnv() { - return typeof window === 'undefined' || typeof document === 'undefined'; - }; - - var sweetHTML = "\n
      \n \n
        \n
        \n \n

        \n
        \n \n \n
        \n \n \n
        \n \n
        \n \n \n
        \n
        \n
        \n \n \n \n
        \n
        \n
        \n
        \n
        \n
        \n").replace(/(^|\n)\s*/g, ''); - - /** - * @returns {boolean} - */ - var resetOldContainer = function resetOldContainer() { - var oldContainer = getContainer(); - if (!oldContainer) { - return false; - } - oldContainer.remove(); - removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]); - return true; - }; - var resetValidationMessage$1 = function resetValidationMessage() { - globalState.currentInstance.resetValidationMessage(); - }; - var addInputChangeListeners = function addInputChangeListeners() { - var popup = getPopup(); - var input = getDirectChildByClass(popup, swalClasses.input); - var file = getDirectChildByClass(popup, swalClasses.file); - /** @type {HTMLInputElement} */ - var range = popup.querySelector(".".concat(swalClasses.range, " input")); - /** @type {HTMLOutputElement} */ - var rangeOutput = popup.querySelector(".".concat(swalClasses.range, " output")); - var select = getDirectChildByClass(popup, swalClasses.select); - /** @type {HTMLInputElement} */ - var checkbox = popup.querySelector(".".concat(swalClasses.checkbox, " input")); - var textarea = getDirectChildByClass(popup, swalClasses.textarea); - input.oninput = resetValidationMessage$1; - file.onchange = resetValidationMessage$1; - select.onchange = resetValidationMessage$1; - checkbox.onchange = resetValidationMessage$1; - textarea.oninput = resetValidationMessage$1; - range.oninput = function () { - resetValidationMessage$1(); - rangeOutput.value = range.value; - }; - range.onchange = function () { - resetValidationMessage$1(); - rangeOutput.value = range.value; - }; - }; - - /** - * @param {string | HTMLElement} target - * @returns {HTMLElement} - */ - var getTarget = function getTarget(target) { - return typeof target === 'string' ? document.querySelector(target) : target; - }; - - /** - * @param {SweetAlertOptions} params - */ - var setupAccessibility = function setupAccessibility(params) { - var popup = getPopup(); - popup.setAttribute('role', params.toast ? 'alert' : 'dialog'); - popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive'); - if (!params.toast) { - popup.setAttribute('aria-modal', 'true'); - } - }; - - /** - * @param {HTMLElement} targetElement - */ - var setupRTL = function setupRTL(targetElement) { - if (window.getComputedStyle(targetElement).direction === 'rtl') { - addClass(getContainer(), swalClasses.rtl); - } - }; - - /** - * Add modal + backdrop + no-war message for Russians to DOM - * - * @param {SweetAlertOptions} params - */ - var init = function init(params) { - // Clean up the old popup container if it exists - var oldContainerExisted = resetOldContainer(); - if (isNodeEnv()) { - error('SweetAlert2 requires document to initialize'); - return; - } - var container = document.createElement('div'); - container.className = swalClasses.container; - if (oldContainerExisted) { - addClass(container, swalClasses['no-transition']); - } - setInnerHtml(container, sweetHTML); - var targetElement = getTarget(params.target); - targetElement.appendChild(container); - setupAccessibility(params); - setupRTL(targetElement); - addInputChangeListeners(); - }; - - /** - * @param {HTMLElement | object | string} param - * @param {HTMLElement} target - */ - var parseHtmlToContainer = function parseHtmlToContainer(param, target) { - // DOM element - if (param instanceof HTMLElement) { - target.appendChild(param); - } - - // Object - else if (_typeof(param) === 'object') { - handleObject(param, target); - } - - // Plain string - else if (param) { - setInnerHtml(target, param); - } - }; - - /** - * @param {any} param - * @param {HTMLElement} target - */ - var handleObject = function handleObject(param, target) { - // JQuery element(s) - if (param.jquery) { - handleJqueryElem(target, param); - } - - // For other objects use their string representation - else { - setInnerHtml(target, param.toString()); - } - }; - - /** - * @param {HTMLElement} target - * @param {any} elem - */ - var handleJqueryElem = function handleJqueryElem(target, elem) { - target.textContent = ''; - if (0 in elem) { - for (var i = 0; (i in elem); i++) { - target.appendChild(elem[i].cloneNode(true)); - } - } else { - target.appendChild(elem.cloneNode(true)); - } - }; - - /** - * @returns {'webkitAnimationEnd' | 'animationend' | false} - */ - var animationEndEvent = function () { - // Prevent run in Node env - if (isNodeEnv()) { - return false; - } - var testEl = document.createElement('div'); - - // Chrome, Safari and Opera - if (typeof testEl.style.webkitAnimation !== 'undefined') { - return 'webkitAnimationEnd'; - } - - // Standard syntax - if (typeof testEl.style.animation !== 'undefined') { - return 'animationend'; - } - return false; - }(); - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderActions = function renderActions(instance, params) { - var actions = getActions(); - var loader = getLoader(); - if (!actions || !loader) { - return; - } - - // Actions (buttons) wrapper - if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) { - hide(actions); - } else { - show(actions); - } - - // Custom class - applyCustomClass(actions, params, 'actions'); - - // Render all the buttons - renderButtons(actions, loader, params); - - // Loader - setInnerHtml(loader, params.loaderHtml || ''); - applyCustomClass(loader, params, 'loader'); - }; - - /** - * @param {HTMLElement} actions - * @param {HTMLElement} loader - * @param {SweetAlertOptions} params - */ - function renderButtons(actions, loader, params) { - var confirmButton = getConfirmButton(); - var denyButton = getDenyButton(); - var cancelButton = getCancelButton(); - if (!confirmButton || !denyButton || !cancelButton) { - return; - } - - // Render buttons - renderButton(confirmButton, 'confirm', params); - renderButton(denyButton, 'deny', params); - renderButton(cancelButton, 'cancel', params); - handleButtonsStyling(confirmButton, denyButton, cancelButton, params); - if (params.reverseButtons) { - if (params.toast) { - actions.insertBefore(cancelButton, confirmButton); - actions.insertBefore(denyButton, confirmButton); - } else { - actions.insertBefore(cancelButton, loader); - actions.insertBefore(denyButton, loader); - actions.insertBefore(confirmButton, loader); - } - } - } - - /** - * @param {HTMLElement} confirmButton - * @param {HTMLElement} denyButton - * @param {HTMLElement} cancelButton - * @param {SweetAlertOptions} params - */ - function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) { - if (!params.buttonsStyling) { - removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled); - return; - } - addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); - - // Buttons background colors - if (params.confirmButtonColor) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - addClass(confirmButton, swalClasses['default-outline']); - } - if (params.denyButtonColor) { - denyButton.style.backgroundColor = params.denyButtonColor; - addClass(denyButton, swalClasses['default-outline']); - } - if (params.cancelButtonColor) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - addClass(cancelButton, swalClasses['default-outline']); - } - } - - /** - * @param {HTMLElement} button - * @param {'confirm' | 'deny' | 'cancel'} buttonType - * @param {SweetAlertOptions} params - */ - function renderButton(button, buttonType, params) { - var buttonName = /** @type {'Confirm' | 'Deny' | 'Cancel'} */capitalizeFirstLetter(buttonType); - toggle(button, params["show".concat(buttonName, "Button")], 'inline-block'); - setInnerHtml(button, params["".concat(buttonType, "ButtonText")] || ''); // Set caption text - button.setAttribute('aria-label', params["".concat(buttonType, "ButtonAriaLabel")] || ''); // ARIA label - - // Add buttons custom classes - button.className = swalClasses[buttonType]; - applyCustomClass(button, params, "".concat(buttonType, "Button")); - } - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderCloseButton = function renderCloseButton(instance, params) { - var closeButton = getCloseButton(); - if (!closeButton) { - return; - } - setInnerHtml(closeButton, params.closeButtonHtml || ''); - - // Custom class - applyCustomClass(closeButton, params, 'closeButton'); - toggle(closeButton, params.showCloseButton); - closeButton.setAttribute('aria-label', params.closeButtonAriaLabel || ''); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderContainer = function renderContainer(instance, params) { - var container = getContainer(); - if (!container) { - return; - } - handleBackdropParam(container, params.backdrop); - handlePositionParam(container, params.position); - handleGrowParam(container, params.grow); - - // Custom class - applyCustomClass(container, params, 'container'); - }; - - /** - * @param {HTMLElement} container - * @param {SweetAlertOptions['backdrop']} backdrop - */ - function handleBackdropParam(container, backdrop) { - if (typeof backdrop === 'string') { - container.style.background = backdrop; - } else if (!backdrop) { - addClass([document.documentElement, document.body], swalClasses['no-backdrop']); - } - } - - /** - * @param {HTMLElement} container - * @param {SweetAlertOptions['position']} position - */ - function handlePositionParam(container, position) { - if (!position) { - return; - } - if (position in swalClasses) { - addClass(container, swalClasses[position]); - } else { - warn('The "position" parameter is not valid, defaulting to "center"'); - addClass(container, swalClasses.center); - } - } - - /** - * @param {HTMLElement} container - * @param {SweetAlertOptions['grow']} grow - */ - function handleGrowParam(container, grow) { - if (!grow) { - return; - } - addClass(container, swalClasses["grow-".concat(grow)]); - } - - /** - * This module contains `WeakMap`s for each effectively-"private property" that a `Swal` has. - * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')` - * This is the approach that Babel will probably take to implement private methods/fields - * https://github.com/tc39/proposal-private-methods - * https://github.com/babel/babel/pull/7555 - * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module* - * then we can use that language feature. - */ - - var privateProps = { - innerParams: new WeakMap(), - domCache: new WeakMap() - }; - - /** @type {InputClass[]} */ - var inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderInput = function renderInput(instance, params) { - var popup = getPopup(); - if (!popup) { - return; - } - var innerParams = privateProps.innerParams.get(instance); - var rerender = !innerParams || params.input !== innerParams.input; - inputClasses.forEach(function (inputClass) { - var inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]); - if (!inputContainer) { - return; - } - - // set attributes - setAttributes(inputClass, params.inputAttributes); - - // set class - inputContainer.className = swalClasses[inputClass]; - if (rerender) { - hide(inputContainer); - } - }); - if (params.input) { - if (rerender) { - showInput(params); - } - // set custom class - setCustomClass(params); - } - }; - - /** - * @param {SweetAlertOptions} params - */ - var showInput = function showInput(params) { - if (!params.input) { - return; - } - if (!renderInputType[params.input]) { - error("Unexpected type of input! Expected ".concat(Object.keys(renderInputType).join(' | '), ", got \"").concat(params.input, "\"")); - return; - } - var inputContainer = getInputContainer(params.input); - var input = renderInputType[params.input](inputContainer, params); - show(inputContainer); - - // input autofocus - if (params.inputAutoFocus) { - setTimeout(function () { - focusInput(input); - }); - } - }; - - /** - * @param {HTMLInputElement} input - */ - var removeAttributes = function removeAttributes(input) { - for (var i = 0; i < input.attributes.length; i++) { - var attrName = input.attributes[i].name; - if (!['id', 'type', 'value', 'style'].includes(attrName)) { - input.removeAttribute(attrName); - } - } - }; - - /** - * @param {InputClass} inputClass - * @param {SweetAlertOptions['inputAttributes']} inputAttributes - */ - var setAttributes = function setAttributes(inputClass, inputAttributes) { - var input = getInput$1(getPopup(), inputClass); - if (!input) { - return; - } - removeAttributes(input); - for (var attr in inputAttributes) { - input.setAttribute(attr, inputAttributes[attr]); - } - }; - - /** - * @param {SweetAlertOptions} params - */ - var setCustomClass = function setCustomClass(params) { - var inputContainer = getInputContainer(params.input); - if (_typeof(params.customClass) === 'object') { - addClass(inputContainer, params.customClass.input); - } - }; - - /** - * @param {HTMLInputElement | HTMLTextAreaElement} input - * @param {SweetAlertOptions} params - */ - var setInputPlaceholder = function setInputPlaceholder(input, params) { - if (!input.placeholder || params.inputPlaceholder) { - input.placeholder = params.inputPlaceholder; - } - }; - - /** - * @param {Input} input - * @param {Input} prependTo - * @param {SweetAlertOptions} params - */ - var setInputLabel = function setInputLabel(input, prependTo, params) { - if (params.inputLabel) { - var label = document.createElement('label'); - var labelClass = swalClasses['input-label']; - label.setAttribute('for', input.id); - label.className = labelClass; - if (_typeof(params.customClass) === 'object') { - addClass(label, params.customClass.inputLabel); - } - label.innerText = params.inputLabel; - prependTo.insertAdjacentElement('beforebegin', label); - } - }; - - /** - * @param {SweetAlertOptions['input']} inputType - * @returns {HTMLElement} - */ - var getInputContainer = function getInputContainer(inputType) { - return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input); - }; - - /** - * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input - * @param {SweetAlertOptions['inputValue']} inputValue - */ - var checkAndSetInputValue = function checkAndSetInputValue(input, inputValue) { - if (['string', 'number'].includes(_typeof(inputValue))) { - input.value = "".concat(inputValue); - } else if (!isPromise(inputValue)) { - warn("Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"".concat(_typeof(inputValue), "\"")); - } - }; - - /** @type {Record Input>} */ - var renderInputType = {}; - - /** - * @param {HTMLInputElement} input - * @param {SweetAlertOptions} params - * @returns {HTMLInputElement} - */ - renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = function (input, params) { - checkAndSetInputValue(input, params.inputValue); - setInputLabel(input, input, params); - setInputPlaceholder(input, params); - input.type = params.input; - return input; - }; - - /** - * @param {HTMLInputElement} input - * @param {SweetAlertOptions} params - * @returns {HTMLInputElement} - */ - renderInputType.file = function (input, params) { - setInputLabel(input, input, params); - setInputPlaceholder(input, params); - return input; - }; - - /** - * @param {HTMLInputElement} range - * @param {SweetAlertOptions} params - * @returns {HTMLInputElement} - */ - renderInputType.range = function (range, params) { - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - checkAndSetInputValue(rangeInput, params.inputValue); - rangeInput.type = params.input; - checkAndSetInputValue(rangeOutput, params.inputValue); - setInputLabel(rangeInput, range, params); - return range; - }; - - /** - * @param {HTMLSelectElement} select - * @param {SweetAlertOptions} params - * @returns {HTMLSelectElement} - */ - renderInputType.select = function (select, params) { - select.textContent = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - setInnerHtml(placeholder, params.inputPlaceholder); - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - setInputLabel(select, select, params); - return select; - }; - - /** - * @param {HTMLInputElement} radio - * @returns {HTMLInputElement} - */ - renderInputType.radio = function (radio) { - radio.textContent = ''; - return radio; - }; - - /** - * @param {HTMLLabelElement} checkboxContainer - * @param {SweetAlertOptions} params - * @returns {HTMLInputElement} - */ - renderInputType.checkbox = function (checkboxContainer, params) { - var checkbox = getInput$1(getPopup(), 'checkbox'); - checkbox.value = '1'; - checkbox.checked = Boolean(params.inputValue); - var label = checkboxContainer.querySelector('span'); - setInnerHtml(label, params.inputPlaceholder); - return checkbox; - }; - - /** - * @param {HTMLTextAreaElement} textarea - * @param {SweetAlertOptions} params - * @returns {HTMLTextAreaElement} - */ - renderInputType.textarea = function (textarea, params) { - checkAndSetInputValue(textarea, params.inputValue); - setInputPlaceholder(textarea, params); - setInputLabel(textarea, textarea, params); - - /** - * @param {HTMLElement} el - * @returns {number} - */ - var getMargin = function getMargin(el) { - return parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight); - }; - - // https://github.com/sweetalert2/sweetalert2/issues/2291 - setTimeout(function () { - // https://github.com/sweetalert2/sweetalert2/issues/1699 - if ('MutationObserver' in window) { - var initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width); - var textareaResizeHandler = function textareaResizeHandler() { - // check if texarea is still in document (i.e. popup wasn't closed in the meantime) - if (!document.body.contains(textarea)) { - return; - } - var textareaWidth = textarea.offsetWidth + getMargin(textarea); - if (textareaWidth > initialPopupWidth) { - getPopup().style.width = "".concat(textareaWidth, "px"); - } else { - applyNumericalStyle(getPopup(), 'width', params.width); - } - }; - new MutationObserver(textareaResizeHandler).observe(textarea, { - attributes: true, - attributeFilter: ['style'] - }); - } - }); - return textarea; - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderContent = function renderContent(instance, params) { - var htmlContainer = getHtmlContainer(); - if (!htmlContainer) { - return; - } - showWhenInnerHtmlPresent(htmlContainer); - applyCustomClass(htmlContainer, params, 'htmlContainer'); - - // Content as HTML - if (params.html) { - parseHtmlToContainer(params.html, htmlContainer); - show(htmlContainer, 'block'); - } - - // Content as plain text - else if (params.text) { - htmlContainer.textContent = params.text; - show(htmlContainer, 'block'); - } - - // No content - else { - hide(htmlContainer); - } - renderInput(instance, params); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderFooter = function renderFooter(instance, params) { - var footer = getFooter(); - if (!footer) { - return; - } - showWhenInnerHtmlPresent(footer); - toggle(footer, params.footer, 'block'); - if (params.footer) { - parseHtmlToContainer(params.footer, footer); - } - - // Custom class - applyCustomClass(footer, params, 'footer'); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderIcon = function renderIcon(instance, params) { - var innerParams = privateProps.innerParams.get(instance); - var icon = getIcon(); - if (!icon) { - return; - } - - // if the given icon already rendered, apply the styling without re-rendering the icon - if (innerParams && params.icon === innerParams.icon) { - // Custom or default content - setContent(icon, params); - applyStyles(icon, params); - return; - } - if (!params.icon && !params.iconHtml) { - hide(icon); - return; - } - if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) { - error("Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"".concat(params.icon, "\"")); - hide(icon); - return; - } - show(icon); - - // Custom or default content - setContent(icon, params); - applyStyles(icon, params); - - // Animate icon - addClass(icon, params.showClass && params.showClass.icon); - }; - - /** - * @param {HTMLElement} icon - * @param {SweetAlertOptions} params - */ - var applyStyles = function applyStyles(icon, params) { - for (var _i = 0, _Object$entries = Object.entries(iconTypes); _i < _Object$entries.length; _i++) { - var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), - iconType = _Object$entries$_i[0], - iconClassName = _Object$entries$_i[1]; - if (params.icon !== iconType) { - removeClass(icon, iconClassName); - } - } - addClass(icon, params.icon && iconTypes[params.icon]); - - // Icon color - setColor(icon, params); - - // Success icon background color - adjustSuccessIconBackgroundColor(); - - // Custom class - applyCustomClass(icon, params, 'icon'); - }; - - // Adjust success icon background color to match the popup background color - var adjustSuccessIconBackgroundColor = function adjustSuccessIconBackgroundColor() { - var popup = getPopup(); - if (!popup) { - return; - } - var popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color'); - /** @type {NodeListOf} */ - var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.backgroundColor = popupBackgroundColor; - } - }; - var successIconHtml = "\n
        \n \n
        \n
        \n"; - var errorIconHtml = "\n \n \n \n \n"; - - /** - * @param {HTMLElement} icon - * @param {SweetAlertOptions} params - */ - var setContent = function setContent(icon, params) { - if (!params.icon && !params.iconHtml) { - return; - } - var oldContent = icon.innerHTML; - var newContent = ''; - if (params.iconHtml) { - newContent = iconContent(params.iconHtml); - } else if (params.icon === 'success') { - newContent = successIconHtml; - oldContent = oldContent.replace(/ style=".*?"/g, ''); // undo adjustSuccessIconBackgroundColor() - } else if (params.icon === 'error') { - newContent = errorIconHtml; - } else if (params.icon) { - var defaultIconHtml = { - question: '?', - warning: '!', - info: 'i' - }; - newContent = iconContent(defaultIconHtml[params.icon]); - } - if (oldContent.trim() !== newContent.trim()) { - setInnerHtml(icon, newContent); - } - }; - - /** - * @param {HTMLElement} icon - * @param {SweetAlertOptions} params - */ - var setColor = function setColor(icon, params) { - if (!params.iconColor) { - return; - } - icon.style.color = params.iconColor; - icon.style.borderColor = params.iconColor; - for (var _i2 = 0, _arr = ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']; _i2 < _arr.length; _i2++) { - var sel = _arr[_i2]; - setStyle(icon, sel, 'backgroundColor', params.iconColor); - } - setStyle(icon, '.swal2-success-ring', 'borderColor', params.iconColor); - }; - - /** - * @param {string} content - * @returns {string} - */ - var iconContent = function iconContent(content) { - return "
        ").concat(content, "
        "); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderImage = function renderImage(instance, params) { - var image = getImage(); - if (!image) { - return; - } - if (!params.imageUrl) { - hide(image); - return; - } - show(image, ''); - - // Src, alt - image.setAttribute('src', params.imageUrl); - image.setAttribute('alt', params.imageAlt || ''); - - // Width, height - applyNumericalStyle(image, 'width', params.imageWidth); - applyNumericalStyle(image, 'height', params.imageHeight); - - // Class - image.className = swalClasses.image; - applyCustomClass(image, params, 'image'); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderPopup = function renderPopup(instance, params) { - var container = getContainer(); - var popup = getPopup(); - if (!container || !popup) { - return; - } - - // Width - // https://github.com/sweetalert2/sweetalert2/issues/2170 - if (params.toast) { - applyNumericalStyle(container, 'width', params.width); - popup.style.width = '100%'; - var loader = getLoader(); - loader && popup.insertBefore(loader, getIcon()); - } else { - applyNumericalStyle(popup, 'width', params.width); - } - - // Padding - applyNumericalStyle(popup, 'padding', params.padding); - - // Color - if (params.color) { - popup.style.color = params.color; - } - - // Background - if (params.background) { - popup.style.background = params.background; - } - hide(getValidationMessage()); - - // Classes - addClasses$1(popup, params); - }; - - /** - * @param {HTMLElement} popup - * @param {SweetAlertOptions} params - */ - var addClasses$1 = function addClasses(popup, params) { - var showClass = params.showClass || {}; - // Default Class + showClass when updating Swal.update({}) - popup.className = "".concat(swalClasses.popup, " ").concat(isVisible$1(popup) ? showClass.popup : ''); - if (params.toast) { - addClass([document.documentElement, document.body], swalClasses['toast-shown']); - addClass(popup, swalClasses.toast); - } else { - addClass(popup, swalClasses.modal); - } - - // Custom class - applyCustomClass(popup, params, 'popup'); - if (typeof params.customClass === 'string') { - addClass(popup, params.customClass); - } - - // Icon class (#1842) - if (params.icon) { - addClass(popup, swalClasses["icon-".concat(params.icon)]); - } - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderProgressSteps = function renderProgressSteps(instance, params) { - var progressStepsContainer = getProgressSteps(); - if (!progressStepsContainer) { - return; - } - var progressSteps = params.progressSteps, - currentProgressStep = params.currentProgressStep; - if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) { - hide(progressStepsContainer); - return; - } - show(progressStepsContainer); - progressStepsContainer.textContent = ''; - if (currentProgressStep >= progressSteps.length) { - warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - progressSteps.forEach(function (step, index) { - var stepEl = createStepElement(step); - progressStepsContainer.appendChild(stepEl); - if (index === currentProgressStep) { - addClass(stepEl, swalClasses['active-progress-step']); - } - if (index !== progressSteps.length - 1) { - var lineEl = createLineElement(params); - progressStepsContainer.appendChild(lineEl); - } - }); - }; - - /** - * @param {string} step - * @returns {HTMLLIElement} - */ - var createStepElement = function createStepElement(step) { - var stepEl = document.createElement('li'); - addClass(stepEl, swalClasses['progress-step']); - setInnerHtml(stepEl, step); - return stepEl; - }; - - /** - * @param {SweetAlertOptions} params - * @returns {HTMLLIElement} - */ - var createLineElement = function createLineElement(params) { - var lineEl = document.createElement('li'); - addClass(lineEl, swalClasses['progress-step-line']); - if (params.progressStepsDistance) { - applyNumericalStyle(lineEl, 'width', params.progressStepsDistance); - } - return lineEl; - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var renderTitle = function renderTitle(instance, params) { - var title = getTitle(); - if (!title) { - return; - } - showWhenInnerHtmlPresent(title); - toggle(title, params.title || params.titleText, 'block'); - if (params.title) { - parseHtmlToContainer(params.title, title); - } - if (params.titleText) { - title.innerText = params.titleText; - } - - // Custom class - applyCustomClass(title, params, 'title'); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var render = function render(instance, params) { - renderPopup(instance, params); - renderContainer(instance, params); - renderProgressSteps(instance, params); - renderIcon(instance, params); - renderImage(instance, params); - renderTitle(instance, params); - renderCloseButton(instance, params); - renderContent(instance, params); - renderActions(instance, params); - renderFooter(instance, params); - var popup = getPopup(); - if (typeof params.didRender === 'function' && popup) { - params.didRender(popup); - } - }; - - /* - * Global function to determine if SweetAlert2 popup is shown - */ - var isVisible = function isVisible() { - return isVisible$1(getPopup()); - }; - - /* - * Global function to click 'Confirm' button - */ - var clickConfirm = function clickConfirm() { - var _dom$getConfirmButton; - return (_dom$getConfirmButton = getConfirmButton()) === null || _dom$getConfirmButton === void 0 ? void 0 : _dom$getConfirmButton.click(); - }; - - /* - * Global function to click 'Deny' button - */ - var clickDeny = function clickDeny() { - var _dom$getDenyButton; - return (_dom$getDenyButton = getDenyButton()) === null || _dom$getDenyButton === void 0 ? void 0 : _dom$getDenyButton.click(); - }; - - /* - * Global function to click 'Cancel' button - */ - var clickCancel = function clickCancel() { - var _dom$getCancelButton; - return (_dom$getCancelButton = getCancelButton()) === null || _dom$getCancelButton === void 0 ? void 0 : _dom$getCancelButton.click(); - }; - - /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */ - - /** @type {Record} */ - var DismissReason = Object.freeze({ - cancel: 'cancel', - backdrop: 'backdrop', - close: 'close', - esc: 'esc', - timer: 'timer' - }); - - /** - * @param {GlobalState} globalState - */ - var removeKeydownHandler = function removeKeydownHandler(globalState) { - if (globalState.keydownTarget && globalState.keydownHandlerAdded) { - globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, { - capture: globalState.keydownListenerCapture - }); - globalState.keydownHandlerAdded = false; - } - }; - - /** - * @param {GlobalState} globalState - * @param {SweetAlertOptions} innerParams - * @param {*} dismissWith - */ - var addKeydownHandler = function addKeydownHandler(globalState, innerParams, dismissWith) { - removeKeydownHandler(globalState); - if (!innerParams.toast) { - globalState.keydownHandler = function (e) { - return keydownHandler(innerParams, e, dismissWith); - }; - globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup(); - globalState.keydownListenerCapture = innerParams.keydownListenerCapture; - globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, { - capture: globalState.keydownListenerCapture - }); - globalState.keydownHandlerAdded = true; - } - }; - - /** - * @param {number} index - * @param {number} increment - */ - var setFocus = function setFocus(index, increment) { - var _dom$getPopup; - var focusableElements = getFocusableElements(); - // search for visible elements and select the next possible match - if (focusableElements.length) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - focusableElements[index].focus(); - return; - } - // no visible focusable elements, focus the popup - (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus(); - }; - var arrowKeysNextButton = ['ArrowRight', 'ArrowDown']; - var arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp']; - - /** - * @param {SweetAlertOptions} innerParams - * @param {KeyboardEvent} event - * @param {Function} dismissWith - */ - var keydownHandler = function keydownHandler(innerParams, event, dismissWith) { - if (!innerParams) { - return; // This instance has already been destroyed - } - - // Ignore keydown during IME composition - // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition - // https://github.com/sweetalert2/sweetalert2/issues/720 - // https://github.com/sweetalert2/sweetalert2/issues/2406 - if (event.isComposing || event.keyCode === 229) { - return; - } - if (innerParams.stopKeydownPropagation) { - event.stopPropagation(); - } - - // ENTER - if (event.key === 'Enter') { - handleEnter(event, innerParams); - } - - // TAB - else if (event.key === 'Tab') { - handleTab(event); - } - - // ARROWS - switch focus between buttons - else if ([].concat(arrowKeysNextButton, arrowKeysPreviousButton).includes(event.key)) { - handleArrows(event.key); - } - - // ESC - else if (event.key === 'Escape') { - handleEsc(event, innerParams, dismissWith); - } - }; - - /** - * @param {KeyboardEvent} event - * @param {SweetAlertOptions} innerParams - */ - var handleEnter = function handleEnter(event, innerParams) { - // https://github.com/sweetalert2/sweetalert2/issues/2386 - if (!callIfFunction(innerParams.allowEnterKey)) { - return; - } - var input = getInput$1(getPopup(), innerParams.input); - if (event.target && input && event.target instanceof HTMLElement && event.target.outerHTML === input.outerHTML) { - if (['textarea', 'file'].includes(innerParams.input)) { - return; // do not submit - } - clickConfirm(); - event.preventDefault(); - } - }; - - /** - * @param {KeyboardEvent} event - */ - var handleTab = function handleTab(event) { - var targetElement = event.target; - var focusableElements = getFocusableElements(); - var btnIndex = -1; - for (var i = 0; i < focusableElements.length; i++) { - if (targetElement === focusableElements[i]) { - btnIndex = i; - break; - } - } - - // Cycle to the next button - if (!event.shiftKey) { - setFocus(btnIndex, 1); - } - - // Cycle to the prev button - else { - setFocus(btnIndex, -1); - } - event.stopPropagation(); - event.preventDefault(); - }; - - /** - * @param {string} key - */ - var handleArrows = function handleArrows(key) { - var actions = getActions(); - var confirmButton = getConfirmButton(); - var denyButton = getDenyButton(); - var cancelButton = getCancelButton(); - if (!actions || !confirmButton || !denyButton || !cancelButton) { - return; - } - /** @type HTMLElement[] */ - var buttons = [confirmButton, denyButton, cancelButton]; - if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) { - return; - } - var sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling'; - var buttonToFocus = document.activeElement; - if (!buttonToFocus) { - return; - } - for (var i = 0; i < actions.children.length; i++) { - buttonToFocus = buttonToFocus[sibling]; - if (!buttonToFocus) { - return; - } - if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) { - break; - } - } - if (buttonToFocus instanceof HTMLButtonElement) { - buttonToFocus.focus(); - } - }; - - /** - * @param {KeyboardEvent} event - * @param {SweetAlertOptions} innerParams - * @param {Function} dismissWith - */ - var handleEsc = function handleEsc(event, innerParams, dismissWith) { - if (callIfFunction(innerParams.allowEscapeKey)) { - event.preventDefault(); - dismissWith(DismissReason.esc); - } - }; - - /** - * This module contains `WeakMap`s for each effectively-"private property" that a `Swal` has. - * For example, to set the private property "foo" of `this` to "bar", you can `privateProps.foo.set(this, 'bar')` - * This is the approach that Babel will probably take to implement private methods/fields - * https://github.com/tc39/proposal-private-methods - * https://github.com/babel/babel/pull/7555 - * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module* - * then we can use that language feature. - */ - - var privateMethods = { - swalPromiseResolve: new WeakMap(), - swalPromiseReject: new WeakMap() - }; - - // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/ - // Adding aria-hidden="true" to elements outside of the active modal dialog ensures that - // elements not within the active modal dialog will not be surfaced if a user opens a screen - // reader’s list of elements (headings, form controls, landmarks, etc.) in the document. - - var setAriaHidden = function setAriaHidden() { - var bodyChildren = Array.from(document.body.children); - bodyChildren.forEach(function (el) { - if (el === getContainer() || el.contains(getContainer())) { - return; - } - if (el.hasAttribute('aria-hidden')) { - el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden') || ''); - } - el.setAttribute('aria-hidden', 'true'); - }); - }; - var unsetAriaHidden = function unsetAriaHidden() { - var bodyChildren = Array.from(document.body.children); - bodyChildren.forEach(function (el) { - if (el.hasAttribute('data-previous-aria-hidden')) { - el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden') || ''); - el.removeAttribute('data-previous-aria-hidden'); - } else { - el.removeAttribute('aria-hidden'); - } - }); - }; - - // @ts-ignore - var isSafariOrIOS = typeof window !== 'undefined' && !!window.GestureEvent; // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394 - - /** - * Fix iOS scrolling - * http://stackoverflow.com/q/39626302 - */ - var iOSfix = function iOSfix() { - if (isSafariOrIOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = "".concat(offset * -1, "px"); - addClass(document.body, swalClasses.iosfix); - lockBodyScroll(); - } - }; - - /** - * https://github.com/sweetalert2/sweetalert2/issues/1246 - */ - var lockBodyScroll = function lockBodyScroll() { - var container = getContainer(); - if (!container) { - return; - } - /** @type {boolean} */ - var preventTouchMove; - /** - * @param {TouchEvent} event - */ - container.ontouchstart = function (event) { - preventTouchMove = shouldPreventTouchMove(event); - }; - /** - * @param {TouchEvent} event - */ - container.ontouchmove = function (event) { - if (preventTouchMove) { - event.preventDefault(); - event.stopPropagation(); - } - }; - }; - - /** - * @param {TouchEvent} event - * @returns {boolean} - */ - var shouldPreventTouchMove = function shouldPreventTouchMove(event) { - var target = event.target; - var container = getContainer(); - var htmlContainer = getHtmlContainer(); - if (!container || !htmlContainer) { - return false; - } - if (isStylus(event) || isZoom(event)) { - return false; - } - if (target === container) { - return true; - } - if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' && - // #1603 - target.tagName !== 'TEXTAREA' && - // #2266 - !(isScrollable(htmlContainer) && - // #1944 - htmlContainer.contains(target))) { - return true; - } - return false; - }; - - /** - * https://github.com/sweetalert2/sweetalert2/issues/1786 - * - * @param {*} event - * @returns {boolean} - */ - var isStylus = function isStylus(event) { - return event.touches && event.touches.length && event.touches[0].touchType === 'stylus'; - }; - - /** - * https://github.com/sweetalert2/sweetalert2/issues/1891 - * - * @param {TouchEvent} event - * @returns {boolean} - */ - var isZoom = function isZoom(event) { - return event.touches && event.touches.length > 1; - }; - var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } - }; - - /** - * Measure scrollbar width for padding body during modal show/hide - * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js - * - * @returns {number} - */ - var measureScrollbar = function measureScrollbar() { - var scrollDiv = document.createElement('div'); - scrollDiv.className = swalClasses['scrollbar-measure']; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - }; - - /** - * Remember state in cases where opening and handling a modal will fiddle with it. - * @type {number | null} - */ - var previousBodyPadding = null; - - /** - * @param {string} initialBodyOverflow - */ - var replaceScrollbarWithPadding = function replaceScrollbarWithPadding(initialBodyOverflow) { - // for queues, do not do this more than once - if (previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight || initialBodyOverflow === 'scroll' // https://github.com/sweetalert2/sweetalert2/issues/2663 - ) { - // add padding so the content doesn't shift after removal of scrollbar - previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right')); - document.body.style.paddingRight = "".concat(previousBodyPadding + measureScrollbar(), "px"); - } - }; - var undoReplaceScrollbarWithPadding = function undoReplaceScrollbarWithPadding() { - if (previousBodyPadding !== null) { - document.body.style.paddingRight = "".concat(previousBodyPadding, "px"); - previousBodyPadding = null; - } - }; - - /** - * @param {SweetAlert} instance - * @param {HTMLElement} container - * @param {boolean} returnFocus - * @param {Function} didClose - */ - function removePopupAndResetState(instance, container, returnFocus, didClose) { - if (isToast()) { - triggerDidCloseAndDispose(instance, didClose); - } else { - restoreActiveElement(returnFocus).then(function () { - return triggerDidCloseAndDispose(instance, didClose); - }); - removeKeydownHandler(globalState); - } - - // workaround for https://github.com/sweetalert2/sweetalert2/issues/2088 - // for some reason removing the container in Safari will scroll the document to bottom - if (isSafariOrIOS) { - container.setAttribute('style', 'display:none !important'); - container.removeAttribute('class'); - container.innerHTML = ''; - } else { - container.remove(); - } - if (isModal()) { - undoReplaceScrollbarWithPadding(); - undoIOSfix(); - unsetAriaHidden(); - } - removeBodyClasses(); - } - - /** - * Remove SweetAlert2 classes from body - */ - function removeBodyClasses() { - removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]); - } - - /** - * Instance method to close sweetAlert - * - * @param {any} resolveValue - */ - function close(resolveValue) { - resolveValue = prepareResolveValue(resolveValue); - var swalPromiseResolve = privateMethods.swalPromiseResolve.get(this); - var didClose = triggerClosePopup(this); - if (this.isAwaitingPromise) { - // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335 - if (!resolveValue.isDismissed) { - handleAwaitingPromise(this); - swalPromiseResolve(resolveValue); - } - } else if (didClose) { - // Resolve Swal promise - swalPromiseResolve(resolveValue); - } - } - var triggerClosePopup = function triggerClosePopup(instance) { - var popup = getPopup(); - if (!popup) { - return false; - } - var innerParams = privateProps.innerParams.get(instance); - if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) { - return false; - } - removeClass(popup, innerParams.showClass.popup); - addClass(popup, innerParams.hideClass.popup); - var backdrop = getContainer(); - removeClass(backdrop, innerParams.showClass.backdrop); - addClass(backdrop, innerParams.hideClass.backdrop); - handlePopupAnimation(instance, popup, innerParams); - return true; - }; - - /** - * @param {any} error - */ - function rejectPromise(error) { - var rejectPromise = privateMethods.swalPromiseReject.get(this); - handleAwaitingPromise(this); - if (rejectPromise) { - // Reject Swal promise - rejectPromise(error); - } - } - - /** - * @param {SweetAlert} instance - */ - var handleAwaitingPromise = function handleAwaitingPromise(instance) { - if (instance.isAwaitingPromise) { - delete instance.isAwaitingPromise; - // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335 - if (!privateProps.innerParams.get(instance)) { - instance._destroy(); - } - } - }; - - /** - * @param {any} resolveValue - * @returns {SweetAlertResult} - */ - var prepareResolveValue = function prepareResolveValue(resolveValue) { - // When user calls Swal.close() - if (typeof resolveValue === 'undefined') { - return { - isConfirmed: false, - isDenied: false, - isDismissed: true - }; - } - return Object.assign({ - isConfirmed: false, - isDenied: false, - isDismissed: false - }, resolveValue); - }; - - /** - * @param {SweetAlert} instance - * @param {HTMLElement} popup - * @param {SweetAlertOptions} innerParams - */ - var handlePopupAnimation = function handlePopupAnimation(instance, popup, innerParams) { - var container = getContainer(); - // If animation is supported, animate - var animationIsSupported = animationEndEvent && hasCssAnimation(popup); - if (typeof innerParams.willClose === 'function') { - innerParams.willClose(popup); - } - if (animationIsSupported) { - animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose); - } else { - // Otherwise, remove immediately - removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose); - } - }; - - /** - * @param {SweetAlert} instance - * @param {HTMLElement} popup - * @param {HTMLElement} container - * @param {boolean} returnFocus - * @param {Function} didClose - */ - var animatePopup = function animatePopup(instance, popup, container, returnFocus, didClose) { - if (!animationEndEvent) { - return; - } - globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose); - popup.addEventListener(animationEndEvent, function (e) { - if (e.target === popup) { - globalState.swalCloseEventFinishedCallback(); - delete globalState.swalCloseEventFinishedCallback; - } - }); - }; - - /** - * @param {SweetAlert} instance - * @param {Function} didClose - */ - var triggerDidCloseAndDispose = function triggerDidCloseAndDispose(instance, didClose) { - setTimeout(function () { - if (typeof didClose === 'function') { - didClose.bind(instance.params)(); - } - // instance might have been destroyed already - if (instance._destroy) { - instance._destroy(); - } - }); - }; - - /** - * Shows loader (spinner), this is useful with AJAX requests. - * By default the loader be shown instead of the "Confirm" button. - * - * @param {HTMLButtonElement | null} [buttonToReplace] - */ - var showLoading = function showLoading(buttonToReplace) { - var popup = getPopup(); - if (!popup) { - new Swal(); // eslint-disable-line no-new - } - popup = getPopup(); - if (!popup) { - return; - } - var loader = getLoader(); - if (isToast()) { - hide(getIcon()); - } else { - replaceButton(popup, buttonToReplace); - } - show(loader); - popup.setAttribute('data-loading', 'true'); - popup.setAttribute('aria-busy', 'true'); - popup.focus(); - }; - - /** - * @param {HTMLElement} popup - * @param {HTMLButtonElement | null} [buttonToReplace] - */ - var replaceButton = function replaceButton(popup, buttonToReplace) { - var actions = getActions(); - var loader = getLoader(); - if (!actions || !loader) { - return; - } - if (!buttonToReplace && isVisible$1(getConfirmButton())) { - buttonToReplace = getConfirmButton(); - } - show(actions); - if (buttonToReplace) { - hide(buttonToReplace); - loader.setAttribute('data-button-to-replace', buttonToReplace.className); - actions.insertBefore(loader, buttonToReplace); - } - addClass([popup, actions], swalClasses.loading); - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var handleInputOptionsAndValue = function handleInputOptionsAndValue(instance, params) { - if (params.input === 'select' || params.input === 'radio') { - handleInputOptions(instance, params); - } else if (['text', 'email', 'number', 'tel', 'textarea'].some(function (i) { - return i === params.input; - }) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) { - showLoading(getConfirmButton()); - handleInputValue(instance, params); - } - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} innerParams - * @returns {SweetAlertInputValue} - */ - var getInputValue = function getInputValue(instance, innerParams) { - var input = instance.getInput(); - if (!input) { - return null; - } - switch (innerParams.input) { - case 'checkbox': - return getCheckboxValue(input); - case 'radio': - return getRadioValue(input); - case 'file': - return getFileValue(input); - default: - return innerParams.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - /** - * @param {HTMLInputElement} input - * @returns {number} - */ - var getCheckboxValue = function getCheckboxValue(input) { - return input.checked ? 1 : 0; - }; - - /** - * @param {HTMLInputElement} input - * @returns {string | null} - */ - var getRadioValue = function getRadioValue(input) { - return input.checked ? input.value : null; - }; - - /** - * @param {HTMLInputElement} input - * @returns {FileList | File | null} - */ - var getFileValue = function getFileValue(input) { - return input.files && input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null; - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var handleInputOptions = function handleInputOptions(instance, params) { - var popup = getPopup(); - if (!popup) { - return; - } - /** - * @param {Record} inputOptions - */ - var processInputOptions = function processInputOptions(inputOptions) { - if (params.input === 'select') { - populateSelectOptions(popup, formatInputOptions(inputOptions), params); - } else if (params.input === 'radio') { - populateRadioOptions(popup, formatInputOptions(inputOptions), params); - } - }; - if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) { - showLoading(getConfirmButton()); - asPromise(params.inputOptions).then(function (inputOptions) { - instance.hideLoading(); - processInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - processInputOptions(params.inputOptions); - } else { - error("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(_typeof(params.inputOptions))); - } - }; - - /** - * @param {SweetAlert} instance - * @param {SweetAlertOptions} params - */ - var handleInputValue = function handleInputValue(instance, params) { - var input = instance.getInput(); - if (!input) { - return; - } - hide(input); - asPromise(params.inputValue).then(function (inputValue) { - input.value = params.input === 'number' ? "".concat(parseFloat(inputValue) || 0) : "".concat(inputValue); - show(input); - input.focus(); - instance.hideLoading(); - })["catch"](function (err) { - error("Error in inputValue promise: ".concat(err)); - input.value = ''; - show(input); - input.focus(); - instance.hideLoading(); - }); - }; - - /** - * @param {HTMLElement} popup - * @param {InputOptionFlattened[]} inputOptions - * @param {SweetAlertOptions} params - */ - function populateSelectOptions(popup, inputOptions, params) { - var select = getDirectChildByClass(popup, swalClasses.select); - if (!select) { - return; - } - /** - * @param {HTMLElement} parent - * @param {string} optionLabel - * @param {string} optionValue - */ - var renderOption = function renderOption(parent, optionLabel, optionValue) { - var option = document.createElement('option'); - option.value = optionValue; - setInnerHtml(option, optionLabel); - option.selected = isSelected(optionValue, params.inputValue); - parent.appendChild(option); - }; - inputOptions.forEach(function (inputOption) { - var optionValue = inputOption[0]; - var optionLabel = inputOption[1]; - // spec: - // https://www.w3.org/TR/html401/interact/forms.html#h-17.6 - // "...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)..." - // check whether this is a - if (Array.isArray(optionLabel)) { - // if it is an array, then it is an - var optgroup = document.createElement('optgroup'); - optgroup.label = optionValue; - optgroup.disabled = false; // not configurable for now - select.appendChild(optgroup); - optionLabel.forEach(function (o) { - return renderOption(optgroup, o[1], o[0]); - }); - } else { - // case of