Convert from CRLF to LF
This commit is contained in:
1 parent
0317e9401d
commit
3ff3130cbb
9 files changed
+3283
-3283
No files matched your search
+38
-38
@@ -1,39 +1,39 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: Quicksand;
|
font-family: Quicksand;
|
||||||
src: url(../fonts/Quicksand.ttf);
|
src: url(../fonts/Quicksand.ttf);
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--font-fallback: BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
--font-fallback: BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: "Quicksand", var(--font-fallback);
|
font-family: "Quicksand", var(--font-fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: #fdf8ea;
|
background: #fdf8ea;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 span {
|
h2 span {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
}
|
}
|
||||||
+1305
-1305
File diff suppressed because it is too large.
Load diff
+65
-65
@@ -1,66 +1,66 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>AIS Visa Auto Rescheduler</title>
|
<title>AIS Visa Auto Rescheduler</title>
|
||||||
<link rel="stylesheet" href="css/bootstrap.min.css"></link>
|
<link rel="stylesheet" href="css/bootstrap.min.css"></link>
|
||||||
<link rel="stylesheet" href="css/styles.css"></link>
|
<link rel="stylesheet" href="css/styles.css"></link>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<h4 class="mt-2 mb-0">AIS Visa Auto Rescheduler<br><span id="version"></span></h4>
|
<h4 class="mt-2 mb-0">AIS Visa Auto Rescheduler<br><span id="version"></span></h4>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<h3 class="my-2" id="credits">50</h3>
|
<h3 class="my-2" id="credits">50</h3>
|
||||||
<p class="my-2 text-center">Credits left.</p>
|
<p class="my-2 text-center">Credits left.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
<div class="form-check form-switch" style="text-align: left;">
|
<div class="form-check form-switch" style="text-align: left;">
|
||||||
<input class="form-check-input" type="checkbox" role="switch" id="activate">
|
<input class="form-check-input" type="checkbox" role="switch" id="activate">
|
||||||
<label class="form-check-label" for="activate">Activate the script</label>
|
<label class="form-check-label" for="activate">Activate the script</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-2">
|
<div class="my-2">
|
||||||
<div class="form-check form-switch" style="text-align: left;">
|
<div class="form-check form-switch" style="text-align: left;">
|
||||||
<input class="form-check-input" type="checkbox" role="switch" id="autobook">
|
<input class="form-check-input" type="checkbox" role="switch" id="autobook">
|
||||||
<label class="form-check-label" for="autobook">Enable Autobook</label>
|
<label class="form-check-label" for="autobook">Enable Autobook</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-2">
|
<div class="my-2">
|
||||||
<input type="range" id="frequency" name="frequency" min="1" max="10" step="0.5">
|
<input type="range" id="frequency" name="frequency" min="1" max="10" step="0.5">
|
||||||
<label for="frequency">Frequency of checks<br>(every <span id="checkfrequency">1</span> minutes)</label>
|
<label for="frequency">Frequency of checks<br>(every <span id="checkfrequency">1</span> minutes)</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-2">
|
<div class="my-2">
|
||||||
<input type="range" id="gap" name="gap" min="0" value="3" max="30" step="1">
|
<input type="range" id="gap" name="gap" min="0" value="3" max="30" step="1">
|
||||||
<label for="gap">Check availability from <span id="daygap">3</span> days from today. [0 = today]</label>
|
<label for="gap">Check availability from <span id="daygap">3</span> days from today. [0 = today]</label>
|
||||||
</div>
|
</div>
|
||||||
<p class="my-2 text-center">Changes are autosaved.</p>
|
<p class="my-2 text-center">Changes are autosaved.</p>
|
||||||
<form class="my-2" name="ais_visa_info" id="ais_visa_info">
|
<form class="my-2" name="ais_visa_info" id="ais_visa_info">
|
||||||
<div class="d-grid">
|
<div class="d-grid">
|
||||||
<button id="reset_info" type="submit" class="btn btn-danger btn-sm">Configure / Reset</button>
|
<button id="reset_info" type="submit" class="btn btn-danger btn-sm">Configure / Reset</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<p class="my-2 text-center">
|
<p class="my-2 text-center">
|
||||||
<button id=read_faqs form=null class="btn btn-info btn-sm">Read FAQs</button>
|
<button id=read_faqs form=null class="btn btn-info btn-sm">Read FAQs</button>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a href="https://www.buymeacoffee.com/hymnz" target="_blank">
|
<a href="https://www.buymeacoffee.com/hymnz" target="_blank">
|
||||||
<img style="width: 250px;background: #5F7FFF;" src="https://img.buymeacoffee.com/button-api/?text=Help me run the extension&emoji=🙂&slug=hymnz&button_colour=5F7FFF&font_colour=ffffff&font_family=Comic&outline_colour=000000&coffee_colour=FFDD00" />
|
<img style="width: 250px;background: #5F7FFF;" src="https://img.buymeacoffee.com/button-api/?text=Help me run the extension&emoji=🙂&slug=hymnz&button_colour=5F7FFF&font_colour=ffffff&font_family=Comic&outline_colour=000000&coffee_colour=FFDD00" />
|
||||||
</a>
|
</a>
|
||||||
<script src="js/content.js"></script>
|
<script src="js/content.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
+78
-78
@@ -1,79 +1,79 @@
|
|||||||
chrome.runtime.onConnect.addListener(function(port) {
|
chrome.runtime.onConnect.addListener(function(port) {
|
||||||
port.onMessage.addListener(async function(def) {
|
port.onMessage.addListener(async function(def) {
|
||||||
let response = new Object();
|
let response = new Object();
|
||||||
response.action = def.action;
|
response.action = def.action;
|
||||||
if (def.action == "fetch_info") {
|
if (def.action == "fetch_info") {
|
||||||
let { __un } = await chrome.storage.local.get("__un");
|
let { __un } = await chrome.storage.local.get("__un");
|
||||||
let { __pw } = await chrome.storage.local.get("__pw");
|
let { __pw } = await chrome.storage.local.get("__pw");
|
||||||
let { __id } = await chrome.storage.local.get("__id");
|
let { __id } = await chrome.storage.local.get("__id");
|
||||||
let { __ap } = await chrome.storage.local.get("__ap");
|
let { __ap } = await chrome.storage.local.get("__ap");
|
||||||
let { __il } = await chrome.storage.local.get("__il");
|
let { __il } = await chrome.storage.local.get("__il");
|
||||||
let { __ad } = await chrome.storage.local.get("__ad");
|
let { __ad } = await chrome.storage.local.get("__ad");
|
||||||
let { __al } = await chrome.storage.local.get("__al");
|
let { __al } = await chrome.storage.local.get("__al");
|
||||||
let { __ar } = await chrome.storage.local.get("__ar");
|
let { __ar } = await chrome.storage.local.get("__ar");
|
||||||
let $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
|
let $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
|
||||||
response.data = {
|
response.data = {
|
||||||
$username: __un,
|
$username: __un,
|
||||||
$password: __pw,
|
$password: __pw,
|
||||||
$appid: __id,
|
$appid: __id,
|
||||||
$active: __ap,
|
$active: __ap,
|
||||||
$apptCenter: __il,
|
$apptCenter: __il,
|
||||||
$apptDate: __ad,
|
$apptDate: __ad,
|
||||||
$ascCenter: __al,
|
$ascCenter: __al,
|
||||||
$ascReverse: __ar,
|
$ascReverse: __ar,
|
||||||
$version
|
$version
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
port.postMessage(response);
|
port.postMessage(response);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
chrome.runtime.onInstalled.addListener(async({ reason }) => {
|
chrome.runtime.onInstalled.addListener(async({ reason }) => {
|
||||||
chrome.action.disable();
|
chrome.action.disable();
|
||||||
chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
|
chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
|
||||||
let exampleRule = {
|
let exampleRule = {
|
||||||
conditions: [
|
conditions: [
|
||||||
new chrome.declarativeContent.PageStateMatcher({
|
new chrome.declarativeContent.PageStateMatcher({
|
||||||
pageUrl: { hostEquals: 'ais.usvisa-info.com' },
|
pageUrl: { hostEquals: 'ais.usvisa-info.com' },
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
actions: [new chrome.declarativeContent.ShowAction()],
|
actions: [new chrome.declarativeContent.ShowAction()],
|
||||||
};
|
};
|
||||||
|
|
||||||
let rules = [exampleRule];
|
let rules = [exampleRule];
|
||||||
chrome.declarativeContent.onPageChanged.addRules(rules);
|
chrome.declarativeContent.onPageChanged.addRules(rules);
|
||||||
});
|
});
|
||||||
if (reason === 'install') {
|
if (reason === 'install') {
|
||||||
await chrome.storage.local.set({ __ab: false, __ap: true, __cr: 0, __fq: 1, __gp: 3 });
|
await chrome.storage.local.set({ __ab: false, __ap: true, __cr: 0, __fq: 1, __gp: 3 });
|
||||||
chrome.tabs.create({
|
chrome.tabs.create({
|
||||||
url: "https://ais.usvisa-info.com/en-us/countries_list/niv"
|
url: "https://ais.usvisa-info.com/en-us/countries_list/niv"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var myNotificationID = null,
|
var myNotificationID = null,
|
||||||
senderId = null,
|
senderId = null,
|
||||||
ensureSendMessage = (tabId, message, callback) => {
|
ensureSendMessage = (tabId, message, callback) => {
|
||||||
chrome.tabs.sendMessage(tabId, { ping: true }, function(response) {
|
chrome.tabs.sendMessage(tabId, { ping: true }, function(response) {
|
||||||
if (response && response.pong) {
|
if (response && response.pong) {
|
||||||
chrome.tabs.sendMessage(tabId, message, callback);
|
chrome.tabs.sendMessage(tabId, message, callback);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
chrome.notifications.onButtonClicked.addListener(function(notifId, btnId) {
|
chrome.notifications.onButtonClicked.addListener(function(notifId, btnId) {
|
||||||
if (notifId === myNotificationID) {
|
if (notifId === myNotificationID) {
|
||||||
chrome.tabs.get(senderId, function(tab) {
|
chrome.tabs.get(senderId, function(tab) {
|
||||||
chrome.tabs.highlight({ 'tabs': tab.index }, function() {});
|
chrome.tabs.highlight({ 'tabs': tab.index }, function() {});
|
||||||
});
|
});
|
||||||
ensureSendMessage(senderId, { bookNow: btnId === 0 });
|
ensureSendMessage(senderId, { bookNow: btnId === 0 });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
|
chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
|
||||||
chrome.notifications.create(req.options, function(id) {
|
chrome.notifications.create(req.options, function(id) {
|
||||||
myNotificationID = id;
|
myNotificationID = id;
|
||||||
senderId = sender.tab.id;
|
senderId = sender.tab.id;
|
||||||
});
|
});
|
||||||
sendResponse(true);
|
sendResponse(true);
|
||||||
});
|
});
|
||||||
Vendored
+664
-664
File diff suppressed because it is too large.
Load diff
+70
-70
@@ -1,71 +1,71 @@
|
|||||||
(async function() {
|
(async function() {
|
||||||
const $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
|
const $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
|
||||||
|
|
||||||
document.getElementById("version").innerText = `(version v${$version})`;
|
document.getElementById("version").innerText = `(version v${$version})`;
|
||||||
|
|
||||||
await chrome.storage.local.get().then(items => {
|
await chrome.storage.local.get().then(items => {
|
||||||
document.getElementById("activate").checked = items["__ap"];
|
document.getElementById("activate").checked = items["__ap"];
|
||||||
document.getElementById("autobook").checked = items["__ab"];
|
document.getElementById("autobook").checked = items["__ab"];
|
||||||
document.getElementById("credits").innerText = items["__cr"] || "--";
|
document.getElementById("credits").innerText = items["__cr"] || "--";
|
||||||
document.getElementById("frequency").value = items["__fq"] || 1;
|
document.getElementById("frequency").value = items["__fq"] || 1;
|
||||||
document.getElementById("checkfrequency").innerText = items["__fq"] || 1;
|
document.getElementById("checkfrequency").innerText = items["__fq"] || 1;
|
||||||
document.getElementById("gap").value = items["__gp"] || 3;
|
document.getElementById("gap").value = items["__gp"] || 3;
|
||||||
document.getElementById("daygap").innerText = items["__gp"] || 3;
|
document.getElementById("daygap").innerText = items["__gp"] || 3;
|
||||||
})
|
})
|
||||||
|
|
||||||
chrome.storage.onChanged.addListener((changes, area) => {
|
chrome.storage.onChanged.addListener((changes, area) => {
|
||||||
if (changes.__cr)
|
if (changes.__cr)
|
||||||
document.getElementById("credits").innerText = changes.__cr.newValue;
|
document.getElementById("credits").innerText = changes.__cr.newValue;
|
||||||
|
|
||||||
if (changes.__fq)
|
if (changes.__fq)
|
||||||
document.getElementById("checkfrequency").innerText = changes.__fq.newValue;
|
document.getElementById("checkfrequency").innerText = changes.__fq.newValue;
|
||||||
|
|
||||||
if (changes.__gp)
|
if (changes.__gp)
|
||||||
document.getElementById("daygap").innerText = changes.__gp.newValue;
|
document.getElementById("daygap").innerText = changes.__gp.newValue;
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("activate").addEventListener("change", async function() {
|
document.getElementById("activate").addEventListener("change", async function() {
|
||||||
chrome.storage.local.set({ __ap: this.checked });
|
chrome.storage.local.set({ __ap: this.checked });
|
||||||
let [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
let [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
||||||
chrome.tabs.sendMessage(tab.id, { action: "activate", status: this.checked });
|
chrome.tabs.sendMessage(tab.id, { action: "activate", status: this.checked });
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("autobook").addEventListener("change", async function() {
|
document.getElementById("autobook").addEventListener("change", async function() {
|
||||||
chrome.storage.local.set({ __ab: this.checked });
|
chrome.storage.local.set({ __ab: this.checked });
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("frequency").addEventListener("change", function() {
|
document.getElementById("frequency").addEventListener("change", function() {
|
||||||
chrome.storage.local.set({ __fq: this.value });
|
chrome.storage.local.set({ __fq: this.value });
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("gap").addEventListener("change", function() {
|
document.getElementById("gap").addEventListener("change", function() {
|
||||||
chrome.storage.local.set({ __gp: this.value });
|
chrome.storage.local.set({ __gp: this.value });
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("read_faqs").addEventListener("click", function() {
|
document.getElementById("read_faqs").addEventListener("click", function() {
|
||||||
chrome.tabs.create({
|
chrome.tabs.create({
|
||||||
url: chrome.runtime.getURL("pages/faqs.html")
|
url: chrome.runtime.getURL("pages/faqs.html")
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("ais_visa_info").addEventListener("submit", async function(e) {
|
document.getElementById("ais_visa_info").addEventListener("submit", async function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
let button = document.getElementById("reset_info");
|
let button = document.getElementById("reset_info");
|
||||||
button.setAttribute("disabled", "disabled");
|
button.setAttribute("disabled", "disabled");
|
||||||
|
|
||||||
await new Promise(r => setTimeout(r, 500));
|
await new Promise(r => setTimeout(r, 500));
|
||||||
|
|
||||||
await chrome.storage.local.clear();
|
await chrome.storage.local.clear();
|
||||||
await chrome.storage.local.set({ __ab: false, __ap: true, __cr: 0, __fq: 1, __gp: 7 });
|
await chrome.storage.local.set({ __ab: false, __ap: true, __cr: 0, __fq: 1, __gp: 7 });
|
||||||
|
|
||||||
let [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
let [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
||||||
await chrome.tabs.sendMessage(tab.id, { action: "logout" });
|
await chrome.tabs.sendMessage(tab.id, { action: "logout" });
|
||||||
|
|
||||||
button.classList.toggle("btn-success");
|
button.classList.toggle("btn-success");
|
||||||
button.innerText = "Success";
|
button.innerText = "Success";
|
||||||
await new Promise(r => setTimeout(r, 1000));
|
await new Promise(r => setTimeout(r, 1000));
|
||||||
button.classList.toggle("btn-success");
|
button.classList.toggle("btn-success");
|
||||||
button.removeAttribute("disabled");
|
button.removeAttribute("disabled");
|
||||||
button.innerText = "Configure / Reset";
|
button.innerText = "Configure / Reset";
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
+571
-571
File diff suppressed because it is too large.
Load diff
+384
-384
@@ -1,385 +1,385 @@
|
|||||||
/*!
|
/*!
|
||||||
* sweetalert2 v11.7.3
|
* sweetalert2 v11.7.3
|
||||||
* Released under the MIT License.
|
* Released under the MIT License.
|
||||||
*/
|
*/
|
||||||
! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Sweetalert2 = t() }(this, (function() { "use strict"; var e = { awaitingPromise: new WeakMap, promise: new WeakMap, innerParams: new WeakMap, domCache: new WeakMap }; const t = e => { const t = {}; for (const n in e) t[e[n]] = "swal2-" + e[n]; return t },
|
! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Sweetalert2 = t() }(this, (function() { "use strict"; var e = { awaitingPromise: new WeakMap, promise: new WeakMap, innerParams: new WeakMap, domCache: new WeakMap }; const t = e => { const t = {}; for (const n in e) t[e[n]] = "swal2-" + e[n]; return t },
|
||||||
n = t(["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"]),
|
n = t(["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"]),
|
||||||
o = t(["success", "warning", "info", "question", "error"]),
|
o = t(["success", "warning", "info", "question", "error"]),
|
||||||
i = "SweetAlert2:",
|
i = "SweetAlert2:",
|
||||||
s = e => e.charAt(0).toUpperCase() + e.slice(1),
|
s = e => e.charAt(0).toUpperCase() + e.slice(1),
|
||||||
r = e => { console.warn(`${i} ${"object"==typeof e?e.join(" "):e}`) },
|
r = e => { console.warn(`${i} ${"object"==typeof e?e.join(" "):e}`) },
|
||||||
a = e => { console.error(`${i} ${e}`) },
|
a = e => { console.error(`${i} ${e}`) },
|
||||||
l = [],
|
l = [],
|
||||||
c = (e, t) => { var n;
|
c = (e, t) => { var n;
|
||||||
n = `"${e}" is deprecated and will be removed in the next major release. Please use "${t}" instead.`, l.includes(n) || (l.push(n), r(n)) },
|
n = `"${e}" is deprecated and will be removed in the next major release. Please use "${t}" instead.`, l.includes(n) || (l.push(n), r(n)) },
|
||||||
u = e => "function" == typeof e ? e() : e,
|
u = e => "function" == typeof e ? e() : e,
|
||||||
d = e => e && "function" == typeof e.toPromise,
|
d = e => e && "function" == typeof e.toPromise,
|
||||||
p = e => d(e) ? e.toPromise() : Promise.resolve(e),
|
p = e => d(e) ? e.toPromise() : Promise.resolve(e),
|
||||||
m = e => e && Promise.resolve(e) === e,
|
m = e => e && Promise.resolve(e) === e,
|
||||||
g = () => document.body.querySelector(`.${n.container}`),
|
g = () => document.body.querySelector(`.${n.container}`),
|
||||||
h = e => { const t = g(); return t ? t.querySelector(e) : null },
|
h = e => { const t = g(); return t ? t.querySelector(e) : null },
|
||||||
f = e => h(`.${e}`),
|
f = e => h(`.${e}`),
|
||||||
b = () => f(n.popup),
|
b = () => f(n.popup),
|
||||||
y = () => f(n.icon),
|
y = () => f(n.icon),
|
||||||
w = () => f(n.title),
|
w = () => f(n.title),
|
||||||
v = () => f(n["html-container"]),
|
v = () => f(n["html-container"]),
|
||||||
C = () => f(n.image),
|
C = () => f(n.image),
|
||||||
A = () => f(n["progress-steps"]),
|
A = () => f(n["progress-steps"]),
|
||||||
k = () => f(n["validation-message"]),
|
k = () => f(n["validation-message"]),
|
||||||
B = () => h(`.${n.actions} .${n.confirm}`),
|
B = () => h(`.${n.actions} .${n.confirm}`),
|
||||||
P = () => h(`.${n.actions} .${n.cancel}`),
|
P = () => h(`.${n.actions} .${n.cancel}`),
|
||||||
x = () => h(`.${n.actions} .${n.deny}`),
|
x = () => h(`.${n.actions} .${n.deny}`),
|
||||||
E = () => h(`.${n.loader}`),
|
E = () => h(`.${n.loader}`),
|
||||||
$ = () => f(n.actions),
|
$ = () => f(n.actions),
|
||||||
T = () => f(n.footer),
|
T = () => f(n.footer),
|
||||||
S = () => f(n["timer-progress-bar"]),
|
S = () => f(n["timer-progress-bar"]),
|
||||||
L = () => f(n.close),
|
L = () => f(n.close),
|
||||||
O = () => { const e = Array.from(b().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(((e, t) => { const n = parseInt(e.getAttribute("tabindex")),
|
O = () => { const e = Array.from(b().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(((e, t) => { const n = parseInt(e.getAttribute("tabindex")),
|
||||||
o = parseInt(t.getAttribute("tabindex")); return n > o ? 1 : n < o ? -1 : 0 })),
|
o = parseInt(t.getAttribute("tabindex")); return n > o ? 1 : n < o ? -1 : 0 })),
|
||||||
t = Array.from(b().querySelectorAll('\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')).filter((e => "-1" !== e.getAttribute("tabindex"))); return (e => { const t = []; for (let n = 0; n < e.length; n++) - 1 === t.indexOf(e[n]) && t.push(e[n]); return t })(e.concat(t)).filter((e => J(e))) },
|
t = Array.from(b().querySelectorAll('\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')).filter((e => "-1" !== e.getAttribute("tabindex"))); return (e => { const t = []; for (let n = 0; n < e.length; n++) - 1 === t.indexOf(e[n]) && t.push(e[n]); return t })(e.concat(t)).filter((e => J(e))) },
|
||||||
j = () => D(document.body, n.shown) && !D(document.body, n["toast-shown"]) && !D(document.body, n["no-backdrop"]),
|
j = () => D(document.body, n.shown) && !D(document.body, n["toast-shown"]) && !D(document.body, n["no-backdrop"]),
|
||||||
M = () => b() && D(b(), n.toast),
|
M = () => b() && D(b(), n.toast),
|
||||||
H = { previousBodyPadding: null },
|
H = { previousBodyPadding: null },
|
||||||
I = (e, t) => { if (e.textContent = "", t) { const n = (new DOMParser).parseFromString(t, "text/html");
|
I = (e, t) => { if (e.textContent = "", t) { const n = (new DOMParser).parseFromString(t, "text/html");
|
||||||
Array.from(n.querySelector("head").childNodes).forEach((t => { e.appendChild(t) })), Array.from(n.querySelector("body").childNodes).forEach((t => { t instanceof HTMLVideoElement || t instanceof HTMLAudioElement ? e.appendChild(t.cloneNode(!0)) : e.appendChild(t) })) } },
|
Array.from(n.querySelector("head").childNodes).forEach((t => { e.appendChild(t) })), Array.from(n.querySelector("body").childNodes).forEach((t => { t instanceof HTMLVideoElement || t instanceof HTMLAudioElement ? e.appendChild(t.cloneNode(!0)) : e.appendChild(t) })) } },
|
||||||
D = (e, t) => { if (!t) return !1; const n = t.split(/\s+/); for (let t = 0; t < n.length; t++)
|
D = (e, t) => { if (!t) return !1; const n = t.split(/\s+/); for (let t = 0; t < n.length; t++)
|
||||||
if (!e.classList.contains(n[t])) return !1;
|
if (!e.classList.contains(n[t])) return !1;
|
||||||
return !0 },
|
return !0 },
|
||||||
q = (e, t, i) => { if (((e, t) => { Array.from(e.classList).forEach((i => { Object.values(n).includes(i) || Object.values(o).includes(i) || Object.values(t.showClass).includes(i) || e.classList.remove(i) })) })(e, t), t.customClass && t.customClass[i]) { if ("string" != typeof t.customClass[i] && !t.customClass[i].forEach) return void r(`Invalid type of customClass.${i}! Expected string or iterable object, got "${typeof t.customClass[i]}"`);
|
q = (e, t, i) => { if (((e, t) => { Array.from(e.classList).forEach((i => { Object.values(n).includes(i) || Object.values(o).includes(i) || Object.values(t.showClass).includes(i) || e.classList.remove(i) })) })(e, t), t.customClass && t.customClass[i]) { if ("string" != typeof t.customClass[i] && !t.customClass[i].forEach) return void r(`Invalid type of customClass.${i}! Expected string or iterable object, got "${typeof t.customClass[i]}"`);
|
||||||
R(e, t.customClass[i]) } },
|
R(e, t.customClass[i]) } },
|
||||||
V = (e, t) => { if (!t) return null; switch (t) {
|
V = (e, t) => { if (!t) return null; switch (t) {
|
||||||
case "select":
|
case "select":
|
||||||
case "textarea":
|
case "textarea":
|
||||||
case "file":
|
case "file":
|
||||||
return e.querySelector(`.${n.popup} > .${n[t]}`);
|
return e.querySelector(`.${n.popup} > .${n[t]}`);
|
||||||
case "checkbox":
|
case "checkbox":
|
||||||
return e.querySelector(`.${n.popup} > .${n.checkbox} input`);
|
return e.querySelector(`.${n.popup} > .${n.checkbox} input`);
|
||||||
case "radio":
|
case "radio":
|
||||||
return e.querySelector(`.${n.popup} > .${n.radio} input:checked`) || e.querySelector(`.${n.popup} > .${n.radio} input:first-child`);
|
return e.querySelector(`.${n.popup} > .${n.radio} input:checked`) || e.querySelector(`.${n.popup} > .${n.radio} input:first-child`);
|
||||||
case "range":
|
case "range":
|
||||||
return e.querySelector(`.${n.popup} > .${n.range} input`);
|
return e.querySelector(`.${n.popup} > .${n.range} input`);
|
||||||
default:
|
default:
|
||||||
return e.querySelector(`.${n.popup} > .${n.input}`) } },
|
return e.querySelector(`.${n.popup} > .${n.input}`) } },
|
||||||
N = e => { if (e.focus(), "file" !== e.type) { const t = e.value;
|
N = e => { if (e.focus(), "file" !== e.type) { const t = e.value;
|
||||||
e.value = "", e.value = t } },
|
e.value = "", e.value = t } },
|
||||||
F = (e, t, n) => { e && t && ("string" == typeof t && (t = t.split(/\s+/).filter(Boolean)), t.forEach((t => { Array.isArray(e) ? e.forEach((e => { n ? e.classList.add(t) : e.classList.remove(t) })) : n ? e.classList.add(t) : e.classList.remove(t) }))) },
|
F = (e, t, n) => { e && t && ("string" == typeof t && (t = t.split(/\s+/).filter(Boolean)), t.forEach((t => { Array.isArray(e) ? e.forEach((e => { n ? e.classList.add(t) : e.classList.remove(t) })) : n ? e.classList.add(t) : e.classList.remove(t) }))) },
|
||||||
R = (e, t) => { F(e, t, !0) },
|
R = (e, t) => { F(e, t, !0) },
|
||||||
U = (e, t) => { F(e, t, !1) },
|
U = (e, t) => { F(e, t, !1) },
|
||||||
_ = (e, t) => { const n = Array.from(e.children); for (let e = 0; e < n.length; e++) { const o = n[e]; if (o instanceof HTMLElement && D(o, t)) return o } },
|
_ = (e, t) => { const n = Array.from(e.children); for (let e = 0; e < n.length; e++) { const o = n[e]; if (o instanceof HTMLElement && D(o, t)) return o } },
|
||||||
W = (e, t, n) => { n === `${parseInt(n)}` && (n = parseInt(n)), n || 0 === parseInt(n) ? e.style[t] = "number" == typeof n ? `${n}px` : n : e.style.removeProperty(t) },
|
W = (e, t, n) => { n === `${parseInt(n)}` && (n = parseInt(n)), n || 0 === parseInt(n) ? e.style[t] = "number" == typeof n ? `${n}px` : n : e.style.removeProperty(t) },
|
||||||
z = function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "flex";
|
z = function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "flex";
|
||||||
e.style.display = t },
|
e.style.display = t },
|
||||||
K = e => { e.style.display = "none" },
|
K = e => { e.style.display = "none" },
|
||||||
Y = (e, t, n, o) => { const i = e.querySelector(t);
|
Y = (e, t, n, o) => { const i = e.querySelector(t);
|
||||||
i && (i.style[n] = o) },
|
i && (i.style[n] = o) },
|
||||||
Z = function(e, t) { t ? z(e, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "flex") : K(e) },
|
Z = function(e, t) { t ? z(e, arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "flex") : K(e) },
|
||||||
J = e => !(!e || !(e.offsetWidth || e.offsetHeight || e.getClientRects().length)),
|
J = e => !(!e || !(e.offsetWidth || e.offsetHeight || e.getClientRects().length)),
|
||||||
X = e => !!(e.scrollHeight > e.clientHeight),
|
X = e => !!(e.scrollHeight > e.clientHeight),
|
||||||
G = e => { const t = window.getComputedStyle(e),
|
G = e => { const t = window.getComputedStyle(e),
|
||||||
n = parseFloat(t.getPropertyValue("animation-duration") || "0"),
|
n = parseFloat(t.getPropertyValue("animation-duration") || "0"),
|
||||||
o = parseFloat(t.getPropertyValue("transition-duration") || "0"); return n > 0 || o > 0 },
|
o = parseFloat(t.getPropertyValue("transition-duration") || "0"); return n > 0 || o > 0 },
|
||||||
Q = function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; const n = S();
|
Q = function(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; const n = S();
|
||||||
J(n) && (t && (n.style.transition = "none", n.style.width = "100%"), setTimeout((() => { n.style.transition = `width ${e/1e3}s linear`, n.style.width = "0%" }), 10)) },
|
J(n) && (t && (n.style.transition = "none", n.style.width = "100%"), setTimeout((() => { n.style.transition = `width ${e/1e3}s linear`, n.style.width = "0%" }), 10)) },
|
||||||
ee = {},
|
ee = {},
|
||||||
te = e => new Promise((t => { if (!e) return t(); const n = window.scrollX,
|
te = e => new Promise((t => { if (!e) return t(); const n = window.scrollX,
|
||||||
o = window.scrollY;
|
o = window.scrollY;
|
||||||
ee.restoreFocusTimeout = setTimeout((() => { ee.previousActiveElement instanceof HTMLElement ? (ee.previousActiveElement.focus(), ee.previousActiveElement = null) : document.body && document.body.focus(), t() }), 100), window.scrollTo(n, o) })),
|
ee.restoreFocusTimeout = setTimeout((() => { ee.previousActiveElement instanceof HTMLElement ? (ee.previousActiveElement.focus(), ee.previousActiveElement = null) : document.body && document.body.focus(), t() }), 100), window.scrollTo(n, o) })),
|
||||||
ne = () => "undefined" == typeof window || "undefined" == typeof document,
|
ne = () => "undefined" == typeof window || "undefined" == typeof document,
|
||||||
oe = `\n <div aria-labelledby="${n.title}" aria-describedby="${n["html-container"]}" class="${n.popup}" tabindex="-1">\n <button type="button" class="${n.close}"></button>\n <ul class="${n["progress-steps"]}"></ul>\n <div class="${n.icon}"></div>\n <img class="${n.image}" />\n <h2 class="${n.title}" id="${n.title}"></h2>\n <div class="${n["html-container"]}" id="${n["html-container"]}"></div>\n <input class="${n.input}" />\n <input type="file" class="${n.file}" />\n <div class="${n.range}">\n <input type="range" />\n <output></output>\n </div>\n <select class="${n.select}"></select>\n <div class="${n.radio}"></div>\n <label for="${n.checkbox}" class="${n.checkbox}">\n <input type="checkbox" />\n <span class="${n.label}"></span>\n </label>\n <textarea class="${n.textarea}"></textarea>\n <div class="${n["validation-message"]}" id="${n["validation-message"]}"></div>\n <div class="${n.actions}">\n <div class="${n.loader}"></div>\n <button type="button" class="${n.confirm}"></button>\n <button type="button" class="${n.deny}"></button>\n <button type="button" class="${n.cancel}"></button>\n </div>\n <div class="${n.footer}"></div>\n <div class="${n["timer-progress-bar-container"]}">\n <div class="${n["timer-progress-bar"]}"></div>\n </div>\n </div>\n`.replace(/(^|\n)\s*/g, ""),
|
oe = `\n <div aria-labelledby="${n.title}" aria-describedby="${n["html-container"]}" class="${n.popup}" tabindex="-1">\n <button type="button" class="${n.close}"></button>\n <ul class="${n["progress-steps"]}"></ul>\n <div class="${n.icon}"></div>\n <img class="${n.image}" />\n <h2 class="${n.title}" id="${n.title}"></h2>\n <div class="${n["html-container"]}" id="${n["html-container"]}"></div>\n <input class="${n.input}" />\n <input type="file" class="${n.file}" />\n <div class="${n.range}">\n <input type="range" />\n <output></output>\n </div>\n <select class="${n.select}"></select>\n <div class="${n.radio}"></div>\n <label for="${n.checkbox}" class="${n.checkbox}">\n <input type="checkbox" />\n <span class="${n.label}"></span>\n </label>\n <textarea class="${n.textarea}"></textarea>\n <div class="${n["validation-message"]}" id="${n["validation-message"]}"></div>\n <div class="${n.actions}">\n <div class="${n.loader}"></div>\n <button type="button" class="${n.confirm}"></button>\n <button type="button" class="${n.deny}"></button>\n <button type="button" class="${n.cancel}"></button>\n </div>\n <div class="${n.footer}"></div>\n <div class="${n["timer-progress-bar-container"]}">\n <div class="${n["timer-progress-bar"]}"></div>\n </div>\n </div>\n`.replace(/(^|\n)\s*/g, ""),
|
||||||
ie = () => { ee.currentInstance.resetValidationMessage() },
|
ie = () => { ee.currentInstance.resetValidationMessage() },
|
||||||
se = e => { const t = (() => { const e = g(); return !!e && (e.remove(), U([document.documentElement, document.body], [n["no-backdrop"], n["toast-shown"], n["has-column"]]), !0) })(); if (ne()) return void a("SweetAlert2 requires document to initialize"); const o = document.createElement("div");
|
se = e => { const t = (() => { const e = g(); return !!e && (e.remove(), U([document.documentElement, document.body], [n["no-backdrop"], n["toast-shown"], n["has-column"]]), !0) })(); if (ne()) return void a("SweetAlert2 requires document to initialize"); const o = document.createElement("div");
|
||||||
o.className = n.container, t && R(o, n["no-transition"]), I(o, oe); const i = "string" == typeof(s = e.target) ? document.querySelector(s) : s; var s;
|
o.className = n.container, t && R(o, n["no-transition"]), I(o, oe); const i = "string" == typeof(s = e.target) ? document.querySelector(s) : s; var s;
|
||||||
i.appendChild(o), (e => { const t = b();
|
i.appendChild(o), (e => { const t = b();
|
||||||
t.setAttribute("role", e.toast ? "alert" : "dialog"), t.setAttribute("aria-live", e.toast ? "polite" : "assertive"), e.toast || t.setAttribute("aria-modal", "true") })(e), (e => { "rtl" === window.getComputedStyle(e).direction && R(g(), n.rtl) })(i), (() => { const e = b(),
|
t.setAttribute("role", e.toast ? "alert" : "dialog"), t.setAttribute("aria-live", e.toast ? "polite" : "assertive"), e.toast || t.setAttribute("aria-modal", "true") })(e), (e => { "rtl" === window.getComputedStyle(e).direction && R(g(), n.rtl) })(i), (() => { const e = b(),
|
||||||
t = _(e, n.input),
|
t = _(e, n.input),
|
||||||
o = _(e, n.file),
|
o = _(e, n.file),
|
||||||
i = e.querySelector(`.${n.range} input`),
|
i = e.querySelector(`.${n.range} input`),
|
||||||
s = e.querySelector(`.${n.range} output`),
|
s = e.querySelector(`.${n.range} output`),
|
||||||
r = _(e, n.select),
|
r = _(e, n.select),
|
||||||
a = e.querySelector(`.${n.checkbox} input`),
|
a = e.querySelector(`.${n.checkbox} input`),
|
||||||
l = _(e, n.textarea);
|
l = _(e, n.textarea);
|
||||||
t.oninput = ie, o.onchange = ie, r.onchange = ie, a.onchange = ie, l.oninput = ie, i.oninput = () => { ie(), s.value = i.value }, i.onchange = () => { ie(), s.value = i.value } })() },
|
t.oninput = ie, o.onchange = ie, r.onchange = ie, a.onchange = ie, l.oninput = ie, i.oninput = () => { ie(), s.value = i.value }, i.onchange = () => { ie(), s.value = i.value } })() },
|
||||||
re = (e, t) => { e instanceof HTMLElement ? t.appendChild(e) : "object" == typeof e ? ae(e, t) : e && I(t, e) },
|
re = (e, t) => { e instanceof HTMLElement ? t.appendChild(e) : "object" == typeof e ? ae(e, t) : e && I(t, e) },
|
||||||
ae = (e, t) => { e.jquery ? le(t, e) : I(t, e.toString()) },
|
ae = (e, t) => { e.jquery ? le(t, e) : I(t, e.toString()) },
|
||||||
le = (e, t) => { if (e.textContent = "", 0 in t)
|
le = (e, t) => { if (e.textContent = "", 0 in t)
|
||||||
for (let n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0));
|
for (let n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0));
|
||||||
else e.appendChild(t.cloneNode(!0)) },
|
else e.appendChild(t.cloneNode(!0)) },
|
||||||
ce = (() => { if (ne()) return !1; const e = document.createElement("div"),
|
ce = (() => { if (ne()) return !1; const e = document.createElement("div"),
|
||||||
t = { WebkitAnimation: "webkitAnimationEnd", animation: "animationend" }; for (const n in t)
|
t = { WebkitAnimation: "webkitAnimationEnd", animation: "animationend" }; for (const n in t)
|
||||||
if (Object.prototype.hasOwnProperty.call(t, n) && void 0 !== e.style[n]) return t[n];
|
if (Object.prototype.hasOwnProperty.call(t, n) && void 0 !== e.style[n]) return t[n];
|
||||||
return !1 })(),
|
return !1 })(),
|
||||||
ue = (e, t) => { const o = $(),
|
ue = (e, t) => { const o = $(),
|
||||||
i = E();
|
i = E();
|
||||||
t.showConfirmButton || t.showDenyButton || t.showCancelButton ? z(o) : K(o), q(o, t, "actions"),
|
t.showConfirmButton || t.showDenyButton || t.showCancelButton ? z(o) : K(o), q(o, t, "actions"),
|
||||||
function(e, t, o) { const i = B(),
|
function(e, t, o) { const i = B(),
|
||||||
s = x(),
|
s = x(),
|
||||||
r = P();
|
r = P();
|
||||||
de(i, "confirm", o), de(s, "deny", o), de(r, "cancel", o),
|
de(i, "confirm", o), de(s, "deny", o), de(r, "cancel", o),
|
||||||
function(e, t, o, i) { if (!i.buttonsStyling) return void U([e, t, o], n.styled);
|
function(e, t, o, i) { if (!i.buttonsStyling) return void U([e, t, o], n.styled);
|
||||||
R([e, t, o], n.styled), i.confirmButtonColor && (e.style.backgroundColor = i.confirmButtonColor, R(e, n["default-outline"]));
|
R([e, t, o], n.styled), i.confirmButtonColor && (e.style.backgroundColor = i.confirmButtonColor, R(e, n["default-outline"]));
|
||||||
i.denyButtonColor && (t.style.backgroundColor = i.denyButtonColor, R(t, n["default-outline"]));
|
i.denyButtonColor && (t.style.backgroundColor = i.denyButtonColor, R(t, n["default-outline"]));
|
||||||
i.cancelButtonColor && (o.style.backgroundColor = i.cancelButtonColor, R(o, n["default-outline"])) }(i, s, r, o), o.reverseButtons && (o.toast ? (e.insertBefore(r, i), e.insertBefore(s, i)) : (e.insertBefore(r, t), e.insertBefore(s, t), e.insertBefore(i, t))) }(o, i, t), I(i, t.loaderHtml), q(i, t, "loader") };
|
i.cancelButtonColor && (o.style.backgroundColor = i.cancelButtonColor, R(o, n["default-outline"])) }(i, s, r, o), o.reverseButtons && (o.toast ? (e.insertBefore(r, i), e.insertBefore(s, i)) : (e.insertBefore(r, t), e.insertBefore(s, t), e.insertBefore(i, t))) }(o, i, t), I(i, t.loaderHtml), q(i, t, "loader") };
|
||||||
|
|
||||||
function de(e, t, o) { Z(e, o[`show${s(t)}Button`], "inline-block"), I(e, o[`${t}ButtonText`]), e.setAttribute("aria-label", o[`${t}ButtonAriaLabel`]), e.className = n[t], q(e, o, `${t}Button`), R(e, o[`${t}ButtonClass`]) } const pe = (e, t) => { const o = g();
|
function de(e, t, o) { Z(e, o[`show${s(t)}Button`], "inline-block"), I(e, o[`${t}ButtonText`]), e.setAttribute("aria-label", o[`${t}ButtonAriaLabel`]), e.className = n[t], q(e, o, `${t}Button`), R(e, o[`${t}ButtonClass`]) } const pe = (e, t) => { const o = g();
|
||||||
o && (! function(e, t) { "string" == typeof t ? e.style.background = t : t || R([document.documentElement, document.body], n["no-backdrop"]) }(o, t.backdrop), function(e, t) { t in n ? R(e, n[t]) : (r('The "position" parameter is not valid, defaulting to "center"'), R(e, n.center)) }(o, t.position), function(e, t) { if (t && "string" == typeof t) { const o = `grow-${t}`;
|
o && (! function(e, t) { "string" == typeof t ? e.style.background = t : t || R([document.documentElement, document.body], n["no-backdrop"]) }(o, t.backdrop), function(e, t) { t in n ? R(e, n[t]) : (r('The "position" parameter is not valid, defaulting to "center"'), R(e, n.center)) }(o, t.position), function(e, t) { if (t && "string" == typeof t) { const o = `grow-${t}`;
|
||||||
o in n && R(e, n[o]) } }(o, t.grow), q(o, t, "container")) }; const me = ["input", "file", "range", "select", "radio", "checkbox", "textarea"],
|
o in n && R(e, n[o]) } }(o, t.grow), q(o, t, "container")) }; const me = ["input", "file", "range", "select", "radio", "checkbox", "textarea"],
|
||||||
ge = e => { if (!Ce[e.input]) return void a(`Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "${e.input}"`); const t = we(e.input),
|
ge = e => { if (!Ce[e.input]) return void a(`Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "${e.input}"`); const t = we(e.input),
|
||||||
n = Ce[e.input](t, e);
|
n = Ce[e.input](t, e);
|
||||||
z(t), e.inputAutoFocus && setTimeout((() => { N(n) })) },
|
z(t), e.inputAutoFocus && setTimeout((() => { N(n) })) },
|
||||||
he = (e, t) => { const n = V(b(), e); if (n) {
|
he = (e, t) => { const n = V(b(), e); if (n) {
|
||||||
(e => { for (let t = 0; t < e.attributes.length; t++) { const n = e.attributes[t].name;
|
(e => { for (let t = 0; t < e.attributes.length; t++) { const n = e.attributes[t].name;
|
||||||
["type", "value", "style"].includes(n) || e.removeAttribute(n) } })(n); for (const e in t) n.setAttribute(e, t[e]) } },
|
["type", "value", "style"].includes(n) || e.removeAttribute(n) } })(n); for (const e in t) n.setAttribute(e, t[e]) } },
|
||||||
fe = e => { const t = we(e.input); "object" == typeof e.customClass && R(t, e.customClass.input) },
|
fe = e => { const t = we(e.input); "object" == typeof e.customClass && R(t, e.customClass.input) },
|
||||||
be = (e, t) => { e.placeholder && !t.inputPlaceholder || (e.placeholder = t.inputPlaceholder) },
|
be = (e, t) => { e.placeholder && !t.inputPlaceholder || (e.placeholder = t.inputPlaceholder) },
|
||||||
ye = (e, t, o) => { if (o.inputLabel) { e.id = n.input; const i = document.createElement("label"),
|
ye = (e, t, o) => { if (o.inputLabel) { e.id = n.input; const i = document.createElement("label"),
|
||||||
s = n["input-label"];
|
s = n["input-label"];
|
||||||
i.setAttribute("for", e.id), i.className = s, "object" == typeof o.customClass && R(i, o.customClass.inputLabel), i.innerText = o.inputLabel, t.insertAdjacentElement("beforebegin", i) } },
|
i.setAttribute("for", e.id), i.className = s, "object" == typeof o.customClass && R(i, o.customClass.inputLabel), i.innerText = o.inputLabel, t.insertAdjacentElement("beforebegin", i) } },
|
||||||
we = e => _(b(), n[e] || n.input),
|
we = e => _(b(), n[e] || n.input),
|
||||||
ve = (e, t) => {
|
ve = (e, t) => {
|
||||||
["string", "number"].includes(typeof t) ? e.value = `${t}` : m(t) || r(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`) },
|
["string", "number"].includes(typeof t) ? e.value = `${t}` : m(t) || r(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`) },
|
||||||
Ce = {};
|
Ce = {};
|
||||||
Ce.text = Ce.email = Ce.password = Ce.number = Ce.tel = Ce.url = (e, t) => (ve(e, t.inputValue), ye(e, e, t), be(e, t), e.type = t.input, e), Ce.file = (e, t) => (ye(e, e, t), be(e, t), e), Ce.range = (e, t) => { const n = e.querySelector("input"),
|
Ce.text = Ce.email = Ce.password = Ce.number = Ce.tel = Ce.url = (e, t) => (ve(e, t.inputValue), ye(e, e, t), be(e, t), e.type = t.input, e), Ce.file = (e, t) => (ye(e, e, t), be(e, t), e), Ce.range = (e, t) => { const n = e.querySelector("input"),
|
||||||
o = e.querySelector("output"); return ve(n, t.inputValue), n.type = t.input, ve(o, t.inputValue), ye(n, e, t), e }, Ce.select = (e, t) => { if (e.textContent = "", t.inputPlaceholder) { const n = document.createElement("option");
|
o = e.querySelector("output"); return ve(n, t.inputValue), n.type = t.input, ve(o, t.inputValue), ye(n, e, t), e }, Ce.select = (e, t) => { if (e.textContent = "", t.inputPlaceholder) { const n = document.createElement("option");
|
||||||
I(n, t.inputPlaceholder), n.value = "", n.disabled = !0, n.selected = !0, e.appendChild(n) } return ye(e, e, t), e }, Ce.radio = e => (e.textContent = "", e), Ce.checkbox = (e, t) => { const o = V(b(), "checkbox");
|
I(n, t.inputPlaceholder), n.value = "", n.disabled = !0, n.selected = !0, e.appendChild(n) } return ye(e, e, t), e }, Ce.radio = e => (e.textContent = "", e), Ce.checkbox = (e, t) => { const o = V(b(), "checkbox");
|
||||||
o.value = "1", o.id = n.checkbox, o.checked = Boolean(t.inputValue); const i = e.querySelector("span"); return I(i, t.inputPlaceholder), o }, Ce.textarea = (e, t) => { ve(e, t.inputValue), be(e, t), ye(e, e, t); return setTimeout((() => { if ("MutationObserver" in window) { const t = parseInt(window.getComputedStyle(b()).width);
|
o.value = "1", o.id = n.checkbox, o.checked = Boolean(t.inputValue); const i = e.querySelector("span"); return I(i, t.inputPlaceholder), o }, Ce.textarea = (e, t) => { ve(e, t.inputValue), be(e, t), ye(e, e, t); return setTimeout((() => { if ("MutationObserver" in window) { const t = parseInt(window.getComputedStyle(b()).width);
|
||||||
new MutationObserver((() => { const n = e.offsetWidth + (o = e, parseInt(window.getComputedStyle(o).marginLeft) + parseInt(window.getComputedStyle(o).marginRight)); var o;
|
new MutationObserver((() => { const n = e.offsetWidth + (o = e, parseInt(window.getComputedStyle(o).marginLeft) + parseInt(window.getComputedStyle(o).marginRight)); var o;
|
||||||
b().style.width = n > t ? `${n}px` : null })).observe(e, { attributes: !0, attributeFilter: ["style"] }) } })), e }; const Ae = (t, o) => { const i = v();
|
b().style.width = n > t ? `${n}px` : null })).observe(e, { attributes: !0, attributeFilter: ["style"] }) } })), e }; const Ae = (t, o) => { const i = v();
|
||||||
q(i, o, "htmlContainer"), o.html ? (re(o.html, i), z(i, "block")) : o.text ? (i.textContent = o.text, z(i, "block")) : K(i), ((t, o) => { const i = b(),
|
q(i, o, "htmlContainer"), o.html ? (re(o.html, i), z(i, "block")) : o.text ? (i.textContent = o.text, z(i, "block")) : K(i), ((t, o) => { const i = b(),
|
||||||
s = e.innerParams.get(t),
|
s = e.innerParams.get(t),
|
||||||
r = !s || o.input !== s.input;
|
r = !s || o.input !== s.input;
|
||||||
me.forEach((e => { const t = _(i, n[e]);
|
me.forEach((e => { const t = _(i, n[e]);
|
||||||
he(e, o.inputAttributes), t.className = n[e], r && K(t) })), o.input && (r && ge(o), fe(o)) })(t, o) },
|
he(e, o.inputAttributes), t.className = n[e], r && K(t) })), o.input && (r && ge(o), fe(o)) })(t, o) },
|
||||||
ke = (e, t) => { for (const n in o) t.icon !== n && U(e, o[n]);
|
ke = (e, t) => { for (const n in o) t.icon !== n && U(e, o[n]);
|
||||||
R(e, o[t.icon]), xe(e, t), Be(), q(e, t, "icon") },
|
R(e, o[t.icon]), xe(e, t), Be(), q(e, t, "icon") },
|
||||||
Be = () => { const e = b(),
|
Be = () => { const e = b(),
|
||||||
t = window.getComputedStyle(e).getPropertyValue("background-color"),
|
t = window.getComputedStyle(e).getPropertyValue("background-color"),
|
||||||
n = e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"); for (let e = 0; e < n.length; e++) n[e].style.backgroundColor = t },
|
n = e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"); for (let e = 0; e < n.length; e++) n[e].style.backgroundColor = t },
|
||||||
Pe = (e, t) => { let n, o = e.innerHTML; if (t.iconHtml) n = Ee(t.iconHtml);
|
Pe = (e, t) => { let n, o = e.innerHTML; if (t.iconHtml) n = Ee(t.iconHtml);
|
||||||
else if ("success" === t.icon) n = '\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n', o = o.replace(/ style=".*?"/g, "");
|
else if ("success" === t.icon) n = '\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n', o = o.replace(/ style=".*?"/g, "");
|
||||||
else if ("error" === t.icon) n = '\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n';
|
else if ("error" === t.icon) n = '\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n';
|
||||||
else { n = Ee({ question: "?", warning: "!", info: "i" }[t.icon]) }
|
else { n = Ee({ question: "?", warning: "!", info: "i" }[t.icon]) }
|
||||||
o.trim() !== n.trim() && I(e, n) },
|
o.trim() !== n.trim() && I(e, n) },
|
||||||
xe = (e, t) => { if (t.iconColor) { e.style.color = t.iconColor, e.style.borderColor = t.iconColor; for (const n of[".swal2-success-line-tip", ".swal2-success-line-long", ".swal2-x-mark-line-left", ".swal2-x-mark-line-right"]) Y(e, n, "backgroundColor", t.iconColor);
|
xe = (e, t) => { if (t.iconColor) { e.style.color = t.iconColor, e.style.borderColor = t.iconColor; for (const n of[".swal2-success-line-tip", ".swal2-success-line-long", ".swal2-x-mark-line-left", ".swal2-x-mark-line-right"]) Y(e, n, "backgroundColor", t.iconColor);
|
||||||
Y(e, ".swal2-success-ring", "borderColor", t.iconColor) } },
|
Y(e, ".swal2-success-ring", "borderColor", t.iconColor) } },
|
||||||
Ee = e => `<div class="${n["icon-content"]}">${e}</div>`,
|
Ee = e => `<div class="${n["icon-content"]}">${e}</div>`,
|
||||||
$e = (e, t) => { e.className = `${n.popup} ${J(e)?t.showClass.popup:""}`, t.toast ? (R([document.documentElement, document.body], n["toast-shown"]), R(e, n.toast)) : R(e, n.modal), q(e, t, "popup"), "string" == typeof t.customClass && R(e, t.customClass), t.icon && R(e, n[`icon-${t.icon}`]) },
|
$e = (e, t) => { e.className = `${n.popup} ${J(e)?t.showClass.popup:""}`, t.toast ? (R([document.documentElement, document.body], n["toast-shown"]), R(e, n.toast)) : R(e, n.modal), q(e, t, "popup"), "string" == typeof t.customClass && R(e, t.customClass), t.icon && R(e, n[`icon-${t.icon}`]) },
|
||||||
Te = e => { const t = document.createElement("li"); return R(t, n["progress-step"]), I(t, e), t },
|
Te = e => { const t = document.createElement("li"); return R(t, n["progress-step"]), I(t, e), t },
|
||||||
Se = e => { const t = document.createElement("li"); return R(t, n["progress-step-line"]), e.progressStepsDistance && W(t, "width", e.progressStepsDistance), t },
|
Se = e => { const t = document.createElement("li"); return R(t, n["progress-step-line"]), e.progressStepsDistance && W(t, "width", e.progressStepsDistance), t },
|
||||||
Le = (t, i) => {
|
Le = (t, i) => {
|
||||||
((e, t) => { const n = g(),
|
((e, t) => { const n = g(),
|
||||||
o = b();
|
o = b();
|
||||||
t.toast ? (W(n, "width", t.width), o.style.width = "100%", o.insertBefore(E(), y())) : W(o, "width", t.width), W(o, "padding", t.padding), t.color && (o.style.color = t.color), t.background && (o.style.background = t.background), K(k()), $e(o, t) })(0, i), pe(0, i), ((e, t) => { const o = A();
|
t.toast ? (W(n, "width", t.width), o.style.width = "100%", o.insertBefore(E(), y())) : W(o, "width", t.width), W(o, "padding", t.padding), t.color && (o.style.color = t.color), t.background && (o.style.background = t.background), K(k()), $e(o, t) })(0, i), pe(0, i), ((e, t) => { const o = A();
|
||||||
t.progressSteps && 0 !== t.progressSteps.length ? (z(o), o.textContent = "", t.currentProgressStep >= t.progressSteps.length && r("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"), t.progressSteps.forEach(((e, i) => { const s = Te(e); if (o.appendChild(s), i === t.currentProgressStep && R(s, n["active-progress-step"]), i !== t.progressSteps.length - 1) { const e = Se(t);
|
t.progressSteps && 0 !== t.progressSteps.length ? (z(o), o.textContent = "", t.currentProgressStep >= t.progressSteps.length && r("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"), t.progressSteps.forEach(((e, i) => { const s = Te(e); if (o.appendChild(s), i === t.currentProgressStep && R(s, n["active-progress-step"]), i !== t.progressSteps.length - 1) { const e = Se(t);
|
||||||
o.appendChild(e) } }))) : K(o) })(0, i), ((t, n) => { const i = e.innerParams.get(t),
|
o.appendChild(e) } }))) : K(o) })(0, i), ((t, n) => { const i = e.innerParams.get(t),
|
||||||
s = y(); if (i && n.icon === i.icon) return Pe(s, n), void ke(s, n); if (n.icon || n.iconHtml) { if (n.icon && -1 === Object.keys(o).indexOf(n.icon)) return a(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${n.icon}"`), void K(s);
|
s = y(); if (i && n.icon === i.icon) return Pe(s, n), void ke(s, n); if (n.icon || n.iconHtml) { if (n.icon && -1 === Object.keys(o).indexOf(n.icon)) return a(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${n.icon}"`), void K(s);
|
||||||
z(s), Pe(s, n), ke(s, n), R(s, n.showClass.icon) } else K(s) })(t, i), ((e, t) => { const o = C();
|
z(s), Pe(s, n), ke(s, n), R(s, n.showClass.icon) } else K(s) })(t, i), ((e, t) => { const o = C();
|
||||||
t.imageUrl ? (z(o, ""), o.setAttribute("src", t.imageUrl), o.setAttribute("alt", t.imageAlt), W(o, "width", t.imageWidth), W(o, "height", t.imageHeight), o.className = n.image, q(o, t, "image")) : K(o) })(0, i), ((e, t) => { const n = w();
|
t.imageUrl ? (z(o, ""), o.setAttribute("src", t.imageUrl), o.setAttribute("alt", t.imageAlt), W(o, "width", t.imageWidth), W(o, "height", t.imageHeight), o.className = n.image, q(o, t, "image")) : K(o) })(0, i), ((e, t) => { const n = w();
|
||||||
Z(n, t.title || t.titleText, "block"), t.title && re(t.title, n), t.titleText && (n.innerText = t.titleText), q(n, t, "title") })(0, i), ((e, t) => { const n = L();
|
Z(n, t.title || t.titleText, "block"), t.title && re(t.title, n), t.titleText && (n.innerText = t.titleText), q(n, t, "title") })(0, i), ((e, t) => { const n = L();
|
||||||
I(n, t.closeButtonHtml), q(n, t, "closeButton"), Z(n, t.showCloseButton), n.setAttribute("aria-label", t.closeButtonAriaLabel) })(0, i), Ae(t, i), ue(0, i), ((e, t) => { const n = T();
|
I(n, t.closeButtonHtml), q(n, t, "closeButton"), Z(n, t.showCloseButton), n.setAttribute("aria-label", t.closeButtonAriaLabel) })(0, i), Ae(t, i), ue(0, i), ((e, t) => { const n = T();
|
||||||
Z(n, t.footer), t.footer && re(t.footer, n), q(n, t, "footer") })(0, i), "function" == typeof i.didRender && i.didRender(b()) };
|
Z(n, t.footer), t.footer && re(t.footer, n), q(n, t, "footer") })(0, i), "function" == typeof i.didRender && i.didRender(b()) };
|
||||||
|
|
||||||
function Oe() { const t = e.innerParams.get(this); if (!t) return; const o = e.domCache.get(this);
|
function Oe() { const t = e.innerParams.get(this); if (!t) return; const o = e.domCache.get(this);
|
||||||
K(o.loader), M() ? t.icon && z(y()) : je(o), U([o.popup, o.actions], n.loading), o.popup.removeAttribute("aria-busy"), o.popup.removeAttribute("data-loading"), o.confirmButton.disabled = !1, o.denyButton.disabled = !1, o.cancelButton.disabled = !1 } const je = e => { const t = e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));
|
K(o.loader), M() ? t.icon && z(y()) : je(o), U([o.popup, o.actions], n.loading), o.popup.removeAttribute("aria-busy"), o.popup.removeAttribute("data-loading"), o.confirmButton.disabled = !1, o.denyButton.disabled = !1, o.cancelButton.disabled = !1 } const je = e => { const t = e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));
|
||||||
t.length ? z(t[0], "inline-block") : J(B()) || J(x()) || J(P()) || K(e.actions) }; const Me = () => B() && B().click(),
|
t.length ? z(t[0], "inline-block") : J(B()) || J(x()) || J(P()) || K(e.actions) }; const Me = () => B() && B().click(),
|
||||||
He = Object.freeze({ cancel: "cancel", backdrop: "backdrop", close: "close", esc: "esc", timer: "timer" }),
|
He = Object.freeze({ cancel: "cancel", backdrop: "backdrop", close: "close", esc: "esc", timer: "timer" }),
|
||||||
Ie = e => { e.keydownTarget && e.keydownHandlerAdded && (e.keydownTarget.removeEventListener("keydown", e.keydownHandler, { capture: e.keydownListenerCapture }), e.keydownHandlerAdded = !1) },
|
Ie = e => { e.keydownTarget && e.keydownHandlerAdded && (e.keydownTarget.removeEventListener("keydown", e.keydownHandler, { capture: e.keydownListenerCapture }), e.keydownHandlerAdded = !1) },
|
||||||
De = (e, t) => { const n = O(); if (n.length) return (e += t) === n.length ? e = 0 : -1 === e && (e = n.length - 1), void n[e].focus();
|
De = (e, t) => { const n = O(); if (n.length) return (e += t) === n.length ? e = 0 : -1 === e && (e = n.length - 1), void n[e].focus();
|
||||||
b().focus() },
|
b().focus() },
|
||||||
qe = ["ArrowRight", "ArrowDown"],
|
qe = ["ArrowRight", "ArrowDown"],
|
||||||
Ve = ["ArrowLeft", "ArrowUp"],
|
Ve = ["ArrowLeft", "ArrowUp"],
|
||||||
Ne = (t, n, o) => { const i = e.innerParams.get(t);
|
Ne = (t, n, o) => { const i = e.innerParams.get(t);
|
||||||
i && (n.isComposing || 229 === n.keyCode || (i.stopKeydownPropagation && n.stopPropagation(), "Enter" === n.key ? Fe(t, n, i) : "Tab" === n.key ? Re(n) : [...qe, ...Ve].includes(n.key) ? Ue(n.key) : "Escape" === n.key && _e(n, i, o))) },
|
i && (n.isComposing || 229 === n.keyCode || (i.stopKeydownPropagation && n.stopPropagation(), "Enter" === n.key ? Fe(t, n, i) : "Tab" === n.key ? Re(n) : [...qe, ...Ve].includes(n.key) ? Ue(n.key) : "Escape" === n.key && _e(n, i, o))) },
|
||||||
Fe = (e, t, n) => { if (u(n.allowEnterKey) && t.target && e.getInput() && t.target instanceof HTMLElement && t.target.outerHTML === e.getInput().outerHTML) { if (["textarea", "file"].includes(n.input)) return;
|
Fe = (e, t, n) => { if (u(n.allowEnterKey) && t.target && e.getInput() && t.target instanceof HTMLElement && t.target.outerHTML === e.getInput().outerHTML) { if (["textarea", "file"].includes(n.input)) return;
|
||||||
Me(), t.preventDefault() } },
|
Me(), t.preventDefault() } },
|
||||||
Re = e => { const t = e.target,
|
Re = e => { const t = e.target,
|
||||||
n = O(); let o = -1; for (let e = 0; e < n.length; e++)
|
n = O(); let o = -1; for (let e = 0; e < n.length; e++)
|
||||||
if (t === n[e]) { o = e; break }
|
if (t === n[e]) { o = e; break }
|
||||||
e.shiftKey ? De(o, -1) : De(o, 1), e.stopPropagation(), e.preventDefault() },
|
e.shiftKey ? De(o, -1) : De(o, 1), e.stopPropagation(), e.preventDefault() },
|
||||||
Ue = e => { const t = [B(), x(), P()]; if (document.activeElement instanceof HTMLElement && !t.includes(document.activeElement)) return; const n = qe.includes(e) ? "nextElementSibling" : "previousElementSibling"; let o = document.activeElement; for (let e = 0; e < $().children.length; e++) { if (o = o[n], !o) return; if (o instanceof HTMLButtonElement && J(o)) break }
|
Ue = e => { const t = [B(), x(), P()]; if (document.activeElement instanceof HTMLElement && !t.includes(document.activeElement)) return; const n = qe.includes(e) ? "nextElementSibling" : "previousElementSibling"; let o = document.activeElement; for (let e = 0; e < $().children.length; e++) { if (o = o[n], !o) return; if (o instanceof HTMLButtonElement && J(o)) break }
|
||||||
o instanceof HTMLButtonElement && o.focus() },
|
o instanceof HTMLButtonElement && o.focus() },
|
||||||
_e = (e, t, n) => { u(t.allowEscapeKey) && (e.preventDefault(), n(He.esc)) }; var We = { swalPromiseResolve: new WeakMap, swalPromiseReject: new WeakMap }; const ze = () => { Array.from(document.body.children).forEach((e => { e.hasAttribute("data-previous-aria-hidden") ? (e.setAttribute("aria-hidden", e.getAttribute("data-previous-aria-hidden")), e.removeAttribute("data-previous-aria-hidden")) : e.removeAttribute("aria-hidden") })) },
|
_e = (e, t, n) => { u(t.allowEscapeKey) && (e.preventDefault(), n(He.esc)) }; var We = { swalPromiseResolve: new WeakMap, swalPromiseReject: new WeakMap }; const ze = () => { Array.from(document.body.children).forEach((e => { e.hasAttribute("data-previous-aria-hidden") ? (e.setAttribute("aria-hidden", e.getAttribute("data-previous-aria-hidden")), e.removeAttribute("data-previous-aria-hidden")) : e.removeAttribute("aria-hidden") })) },
|
||||||
Ke = () => { const e = navigator.userAgent,
|
Ke = () => { const e = navigator.userAgent,
|
||||||
t = !!e.match(/iPad/i) || !!e.match(/iPhone/i),
|
t = !!e.match(/iPad/i) || !!e.match(/iPhone/i),
|
||||||
n = !!e.match(/WebKit/i); if (t && n && !e.match(/CriOS/i)) { const e = 44;
|
n = !!e.match(/WebKit/i); if (t && n && !e.match(/CriOS/i)) { const e = 44;
|
||||||
b().scrollHeight > window.innerHeight - e && (g().style.paddingBottom = `${e}px`) } },
|
b().scrollHeight > window.innerHeight - e && (g().style.paddingBottom = `${e}px`) } },
|
||||||
Ye = () => { const e = g(); let t;
|
Ye = () => { const e = g(); let t;
|
||||||
e.ontouchstart = e => { t = Ze(e) }, e.ontouchmove = e => { t && (e.preventDefault(), e.stopPropagation()) } },
|
e.ontouchstart = e => { t = Ze(e) }, e.ontouchmove = e => { t && (e.preventDefault(), e.stopPropagation()) } },
|
||||||
Ze = e => { const t = e.target,
|
Ze = e => { const t = e.target,
|
||||||
n = g(); return !Je(e) && !Xe(e) && (t === n || !X(n) && t instanceof HTMLElement && "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && (!X(v()) || !v().contains(t))) },
|
n = g(); return !Je(e) && !Xe(e) && (t === n || !X(n) && t instanceof HTMLElement && "INPUT" !== t.tagName && "TEXTAREA" !== t.tagName && (!X(v()) || !v().contains(t))) },
|
||||||
Je = e => e.touches && e.touches.length && "stylus" === e.touches[0].touchType,
|
Je = e => e.touches && e.touches.length && "stylus" === e.touches[0].touchType,
|
||||||
Xe = e => e.touches && e.touches.length > 1,
|
Xe = e => e.touches && e.touches.length > 1,
|
||||||
Ge = () => { if (D(document.body, n.iosfix)) { const e = parseInt(document.body.style.top, 10);
|
Ge = () => { if (D(document.body, n.iosfix)) { const e = parseInt(document.body.style.top, 10);
|
||||||
U(document.body, n.iosfix), document.body.style.top = "", document.body.scrollTop = -1 * e } },
|
U(document.body, n.iosfix), document.body.style.top = "", document.body.scrollTop = -1 * e } },
|
||||||
Qe = () => { null === H.previousBodyPadding && document.body.scrollHeight > window.innerHeight && (H.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")), document.body.style.paddingRight = `${H.previousBodyPadding+(()=>{const e=document.createElement("div");e.className=n["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t})()}px`) },
|
Qe = () => { null === H.previousBodyPadding && document.body.scrollHeight > window.innerHeight && (H.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")), document.body.style.paddingRight = `${H.previousBodyPadding+(()=>{const e=document.createElement("div");e.className=n["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t})()}px`) },
|
||||||
et = () => { null !== H.previousBodyPadding && (document.body.style.paddingRight = `${H.previousBodyPadding}px`, H.previousBodyPadding = null) };
|
et = () => { null !== H.previousBodyPadding && (document.body.style.paddingRight = `${H.previousBodyPadding}px`, H.previousBodyPadding = null) };
|
||||||
|
|
||||||
function tt(e, t, o, i) { M() ? lt(e, i) : (te(o).then((() => lt(e, i))), Ie(ee)); /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? (t.setAttribute("style", "display:none !important"), t.removeAttribute("class"), t.innerHTML = "") : t.remove(), j() && (et(), Ge(), ze()), U([document.documentElement, document.body], [n.shown, n["height-auto"], n["no-backdrop"], n["toast-shown"]]) }
|
function tt(e, t, o, i) { M() ? lt(e, i) : (te(o).then((() => lt(e, i))), Ie(ee)); /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? (t.setAttribute("style", "display:none !important"), t.removeAttribute("class"), t.innerHTML = "") : t.remove(), j() && (et(), Ge(), ze()), U([document.documentElement, document.body], [n.shown, n["height-auto"], n["no-backdrop"], n["toast-shown"]]) }
|
||||||
|
|
||||||
function nt(e) { e = st(e); const t = We.swalPromiseResolve.get(this),
|
function nt(e) { e = st(e); const t = We.swalPromiseResolve.get(this),
|
||||||
n = ot(this);
|
n = ot(this);
|
||||||
this.isAwaitingPromise() ? e.isDismissed || (it(this), t(e)) : n && t(e) } const ot = t => { const n = b(); if (!n) return !1; const o = e.innerParams.get(t); if (!o || D(n, o.hideClass.popup)) return !1;
|
this.isAwaitingPromise() ? e.isDismissed || (it(this), t(e)) : n && t(e) } const ot = t => { const n = b(); if (!n) return !1; const o = e.innerParams.get(t); if (!o || D(n, o.hideClass.popup)) return !1;
|
||||||
U(n, o.showClass.popup), R(n, o.hideClass.popup); const i = g(); return U(i, o.showClass.backdrop), R(i, o.hideClass.backdrop), rt(t, n, o), !0 }; const it = t => { t.isAwaitingPromise() && (e.awaitingPromise.delete(t), e.innerParams.get(t) || t._destroy()) },
|
U(n, o.showClass.popup), R(n, o.hideClass.popup); const i = g(); return U(i, o.showClass.backdrop), R(i, o.hideClass.backdrop), rt(t, n, o), !0 }; const it = t => { t.isAwaitingPromise() && (e.awaitingPromise.delete(t), e.innerParams.get(t) || t._destroy()) },
|
||||||
st = e => void 0 === e ? { isConfirmed: !1, isDenied: !1, isDismissed: !0 } : Object.assign({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e),
|
st = e => void 0 === e ? { isConfirmed: !1, isDenied: !1, isDismissed: !0 } : Object.assign({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e),
|
||||||
rt = (e, t, n) => { const o = g(),
|
rt = (e, t, n) => { const o = g(),
|
||||||
i = ce && G(t); "function" == typeof n.willClose && n.willClose(t), i ? at(e, t, o, n.returnFocus, n.didClose) : tt(e, o, n.returnFocus, n.didClose) },
|
i = ce && G(t); "function" == typeof n.willClose && n.willClose(t), i ? at(e, t, o, n.returnFocus, n.didClose) : tt(e, o, n.returnFocus, n.didClose) },
|
||||||
at = (e, t, n, o, i) => { ee.swalCloseEventFinishedCallback = tt.bind(null, e, n, o, i), t.addEventListener(ce, (function(e) { e.target === t && (ee.swalCloseEventFinishedCallback(), delete ee.swalCloseEventFinishedCallback) })) },
|
at = (e, t, n, o, i) => { ee.swalCloseEventFinishedCallback = tt.bind(null, e, n, o, i), t.addEventListener(ce, (function(e) { e.target === t && (ee.swalCloseEventFinishedCallback(), delete ee.swalCloseEventFinishedCallback) })) },
|
||||||
lt = (e, t) => { setTimeout((() => { "function" == typeof t && t.bind(e.params)(), e._destroy() })) };
|
lt = (e, t) => { setTimeout((() => { "function" == typeof t && t.bind(e.params)(), e._destroy() })) };
|
||||||
|
|
||||||
function ct(t, n, o) { const i = e.domCache.get(t);
|
function ct(t, n, o) { const i = e.domCache.get(t);
|
||||||
n.forEach((e => { i[e].disabled = o })) }
|
n.forEach((e => { i[e].disabled = o })) }
|
||||||
|
|
||||||
function ut(e, t) { if (e)
|
function ut(e, t) { if (e)
|
||||||
if ("radio" === e.type) { const n = e.parentNode.parentNode.querySelectorAll("input"); for (let e = 0; e < n.length; e++) n[e].disabled = t } else e.disabled = t } const dt = { title: "", titleText: "", text: "", html: "", footer: "", icon: void 0, iconColor: void 0, iconHtml: void 0, template: void 0, toast: !1, showClass: { popup: "swal2-show", backdrop: "swal2-backdrop-show", icon: "swal2-icon-show" }, hideClass: { popup: "swal2-hide", backdrop: "swal2-backdrop-hide", icon: "swal2-icon-hide" }, customClass: {}, target: "body", color: void 0, backdrop: !0, heightAuto: !0, allowOutsideClick: !0, allowEscapeKey: !0, allowEnterKey: !0, stopKeydownPropagation: !0, keydownListenerCapture: !1, showConfirmButton: !0, showDenyButton: !1, showCancelButton: !1, preConfirm: void 0, preDeny: void 0, confirmButtonText: "OK", confirmButtonAriaLabel: "", confirmButtonColor: void 0, denyButtonText: "No", denyButtonAriaLabel: "", denyButtonColor: void 0, cancelButtonText: "Cancel", cancelButtonAriaLabel: "", cancelButtonColor: void 0, buttonsStyling: !0, reverseButtons: !1, focusConfirm: !0, focusDeny: !1, focusCancel: !1, returnFocus: !0, showCloseButton: !1, closeButtonHtml: "×", closeButtonAriaLabel: "Close this dialog", loaderHtml: "", showLoaderOnConfirm: !1, showLoaderOnDeny: !1, imageUrl: void 0, imageWidth: void 0, imageHeight: void 0, imageAlt: "", timer: void 0, timerProgressBar: !1, width: void 0, padding: void 0, background: void 0, input: void 0, inputPlaceholder: "", inputLabel: "", inputValue: "", inputOptions: {}, inputAutoFocus: !0, inputAutoTrim: !0, inputAttributes: {}, inputValidator: void 0, returnInputValueOnDeny: !1, validationMessage: void 0, grow: !1, position: "center", progressSteps: [], currentProgressStep: void 0, progressStepsDistance: void 0, willOpen: void 0, didOpen: void 0, didRender: void 0, willClose: void 0, didClose: void 0, didDestroy: void 0, scrollbarPadding: !0 },
|
if ("radio" === e.type) { const n = e.parentNode.parentNode.querySelectorAll("input"); for (let e = 0; e < n.length; e++) n[e].disabled = t } else e.disabled = t } const dt = { title: "", titleText: "", text: "", html: "", footer: "", icon: void 0, iconColor: void 0, iconHtml: void 0, template: void 0, toast: !1, showClass: { popup: "swal2-show", backdrop: "swal2-backdrop-show", icon: "swal2-icon-show" }, hideClass: { popup: "swal2-hide", backdrop: "swal2-backdrop-hide", icon: "swal2-icon-hide" }, customClass: {}, target: "body", color: void 0, backdrop: !0, heightAuto: !0, allowOutsideClick: !0, allowEscapeKey: !0, allowEnterKey: !0, stopKeydownPropagation: !0, keydownListenerCapture: !1, showConfirmButton: !0, showDenyButton: !1, showCancelButton: !1, preConfirm: void 0, preDeny: void 0, confirmButtonText: "OK", confirmButtonAriaLabel: "", confirmButtonColor: void 0, denyButtonText: "No", denyButtonAriaLabel: "", denyButtonColor: void 0, cancelButtonText: "Cancel", cancelButtonAriaLabel: "", cancelButtonColor: void 0, buttonsStyling: !0, reverseButtons: !1, focusConfirm: !0, focusDeny: !1, focusCancel: !1, returnFocus: !0, showCloseButton: !1, closeButtonHtml: "×", closeButtonAriaLabel: "Close this dialog", loaderHtml: "", showLoaderOnConfirm: !1, showLoaderOnDeny: !1, imageUrl: void 0, imageWidth: void 0, imageHeight: void 0, imageAlt: "", timer: void 0, timerProgressBar: !1, width: void 0, padding: void 0, background: void 0, input: void 0, inputPlaceholder: "", inputLabel: "", inputValue: "", inputOptions: {}, inputAutoFocus: !0, inputAutoTrim: !0, inputAttributes: {}, inputValidator: void 0, returnInputValueOnDeny: !1, validationMessage: void 0, grow: !1, position: "center", progressSteps: [], currentProgressStep: void 0, progressStepsDistance: void 0, willOpen: void 0, didOpen: void 0, didRender: void 0, willClose: void 0, didClose: void 0, didDestroy: void 0, scrollbarPadding: !0 },
|
||||||
pt = ["allowEscapeKey", "allowOutsideClick", "background", "buttonsStyling", "cancelButtonAriaLabel", "cancelButtonColor", "cancelButtonText", "closeButtonAriaLabel", "closeButtonHtml", "color", "confirmButtonAriaLabel", "confirmButtonColor", "confirmButtonText", "currentProgressStep", "customClass", "denyButtonAriaLabel", "denyButtonColor", "denyButtonText", "didClose", "didDestroy", "footer", "hideClass", "html", "icon", "iconColor", "iconHtml", "imageAlt", "imageHeight", "imageUrl", "imageWidth", "preConfirm", "preDeny", "progressSteps", "returnFocus", "reverseButtons", "showCancelButton", "showCloseButton", "showConfirmButton", "showDenyButton", "text", "title", "titleText", "willClose"],
|
pt = ["allowEscapeKey", "allowOutsideClick", "background", "buttonsStyling", "cancelButtonAriaLabel", "cancelButtonColor", "cancelButtonText", "closeButtonAriaLabel", "closeButtonHtml", "color", "confirmButtonAriaLabel", "confirmButtonColor", "confirmButtonText", "currentProgressStep", "customClass", "denyButtonAriaLabel", "denyButtonColor", "denyButtonText", "didClose", "didDestroy", "footer", "hideClass", "html", "icon", "iconColor", "iconHtml", "imageAlt", "imageHeight", "imageUrl", "imageWidth", "preConfirm", "preDeny", "progressSteps", "returnFocus", "reverseButtons", "showCancelButton", "showCloseButton", "showConfirmButton", "showDenyButton", "text", "title", "titleText", "willClose"],
|
||||||
mt = {},
|
mt = {},
|
||||||
gt = ["allowOutsideClick", "allowEnterKey", "backdrop", "focusConfirm", "focusDeny", "focusCancel", "returnFocus", "heightAuto", "keydownListenerCapture"],
|
gt = ["allowOutsideClick", "allowEnterKey", "backdrop", "focusConfirm", "focusDeny", "focusCancel", "returnFocus", "heightAuto", "keydownListenerCapture"],
|
||||||
ht = e => Object.prototype.hasOwnProperty.call(dt, e),
|
ht = e => Object.prototype.hasOwnProperty.call(dt, e),
|
||||||
ft = e => -1 !== pt.indexOf(e),
|
ft = e => -1 !== pt.indexOf(e),
|
||||||
bt = e => mt[e],
|
bt = e => mt[e],
|
||||||
yt = e => { ht(e) || r(`Unknown parameter "${e}"`) },
|
yt = e => { ht(e) || r(`Unknown parameter "${e}"`) },
|
||||||
wt = e => { gt.includes(e) && r(`The parameter "${e}" is incompatible with toasts`) },
|
wt = e => { gt.includes(e) && r(`The parameter "${e}" is incompatible with toasts`) },
|
||||||
vt = e => { bt(e) && c(e, bt(e)) }; const Ct = e => { const t = {}; return Object.keys(e).forEach((n => { ft(n) ? t[n] = e[n] : r(`Invalid parameter to update: ${n}`) })), t }; const At = e => { kt(e), delete e.params, delete ee.keydownHandler, delete ee.keydownTarget, delete ee.currentInstance },
|
vt = e => { bt(e) && c(e, bt(e)) }; const Ct = e => { const t = {}; return Object.keys(e).forEach((n => { ft(n) ? t[n] = e[n] : r(`Invalid parameter to update: ${n}`) })), t }; const At = e => { kt(e), delete e.params, delete ee.keydownHandler, delete ee.keydownTarget, delete ee.currentInstance },
|
||||||
kt = t => { t.isAwaitingPromise() ? (Bt(e, t), e.awaitingPromise.set(t, !0)) : (Bt(We, t), Bt(e, t)) },
|
kt = t => { t.isAwaitingPromise() ? (Bt(e, t), e.awaitingPromise.set(t, !0)) : (Bt(We, t), Bt(e, t)) },
|
||||||
Bt = (e, t) => { for (const n in e) e[n].delete(t) }; var Pt = Object.freeze({ __proto__: null, _destroy: function() { const t = e.domCache.get(this),
|
Bt = (e, t) => { for (const n in e) e[n].delete(t) }; var Pt = Object.freeze({ __proto__: null, _destroy: function() { const t = e.domCache.get(this),
|
||||||
n = e.innerParams.get(this);
|
n = e.innerParams.get(this);
|
||||||
n ? (t.popup && ee.swalCloseEventFinishedCallback && (ee.swalCloseEventFinishedCallback(), delete ee.swalCloseEventFinishedCallback), "function" == typeof n.didDestroy && n.didDestroy(), At(this)) : kt(this) }, close: nt, closeModal: nt, closePopup: nt, closeToast: nt, disableButtons: function() { ct(this, ["confirmButton", "denyButton", "cancelButton"], !0) }, disableInput: function() { ut(this.getInput(), !0) }, disableLoading: Oe, enableButtons: function() { ct(this, ["confirmButton", "denyButton", "cancelButton"], !1) }, enableInput: function() { ut(this.getInput(), !1) }, getInput: function(t) { const n = e.innerParams.get(t || this),
|
n ? (t.popup && ee.swalCloseEventFinishedCallback && (ee.swalCloseEventFinishedCallback(), delete ee.swalCloseEventFinishedCallback), "function" == typeof n.didDestroy && n.didDestroy(), At(this)) : kt(this) }, close: nt, closeModal: nt, closePopup: nt, closeToast: nt, disableButtons: function() { ct(this, ["confirmButton", "denyButton", "cancelButton"], !0) }, disableInput: function() { ut(this.getInput(), !0) }, disableLoading: Oe, enableButtons: function() { ct(this, ["confirmButton", "denyButton", "cancelButton"], !1) }, enableInput: function() { ut(this.getInput(), !1) }, getInput: function(t) { const n = e.innerParams.get(t || this),
|
||||||
o = e.domCache.get(t || this); return o ? V(o.popup, n.input) : null }, handleAwaitingPromise: it, hideLoading: Oe, isAwaitingPromise: function() { return !!e.awaitingPromise.get(this) }, rejectPromise: function(e) { const t = We.swalPromiseReject.get(this);
|
o = e.domCache.get(t || this); return o ? V(o.popup, n.input) : null }, handleAwaitingPromise: it, hideLoading: Oe, isAwaitingPromise: function() { return !!e.awaitingPromise.get(this) }, rejectPromise: function(e) { const t = We.swalPromiseReject.get(this);
|
||||||
it(this), t && t(e) }, resetValidationMessage: function() { const t = e.domCache.get(this);
|
it(this), t && t(e) }, resetValidationMessage: function() { const t = e.domCache.get(this);
|
||||||
t.validationMessage && K(t.validationMessage); const o = this.getInput();
|
t.validationMessage && K(t.validationMessage); const o = this.getInput();
|
||||||
o && (o.removeAttribute("aria-invalid"), o.removeAttribute("aria-describedby"), U(o, n.inputerror)) }, showValidationMessage: function(t) { const o = e.domCache.get(this),
|
o && (o.removeAttribute("aria-invalid"), o.removeAttribute("aria-describedby"), U(o, n.inputerror)) }, showValidationMessage: function(t) { const o = e.domCache.get(this),
|
||||||
i = e.innerParams.get(this);
|
i = e.innerParams.get(this);
|
||||||
I(o.validationMessage, t), o.validationMessage.className = n["validation-message"], i.customClass && i.customClass.validationMessage && R(o.validationMessage, i.customClass.validationMessage), z(o.validationMessage); const s = this.getInput();
|
I(o.validationMessage, t), o.validationMessage.className = n["validation-message"], i.customClass && i.customClass.validationMessage && R(o.validationMessage, i.customClass.validationMessage), z(o.validationMessage); const s = this.getInput();
|
||||||
s && (s.setAttribute("aria-invalid", !0), s.setAttribute("aria-describedby", n["validation-message"]), N(s), R(s, n.inputerror)) }, update: function(t) { const n = b(),
|
s && (s.setAttribute("aria-invalid", !0), s.setAttribute("aria-describedby", n["validation-message"]), N(s), R(s, n.inputerror)) }, update: function(t) { const n = b(),
|
||||||
o = e.innerParams.get(this); if (!n || D(n, o.hideClass.popup)) return void r("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup."); const i = Ct(t),
|
o = e.innerParams.get(this); if (!n || D(n, o.hideClass.popup)) return void r("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup."); const i = Ct(t),
|
||||||
s = Object.assign({}, o, i);
|
s = Object.assign({}, o, i);
|
||||||
Le(this, s), e.innerParams.set(this, s), Object.defineProperties(this, { params: { value: Object.assign({}, this.params, t), writable: !1, enumerable: !0 } }) } }); const xt = e => { let t = b();
|
Le(this, s), e.innerParams.set(this, s), Object.defineProperties(this, { params: { value: Object.assign({}, this.params, t), writable: !1, enumerable: !0 } }) } }); const xt = e => { let t = b();
|
||||||
t || new Tn, t = b(); const n = E();
|
t || new Tn, t = b(); const n = E();
|
||||||
M() ? K(y()) : Et(t, e), z(n), t.setAttribute("data-loading", "true"), t.setAttribute("aria-busy", "true"), t.focus() },
|
M() ? K(y()) : Et(t, e), z(n), t.setAttribute("data-loading", "true"), t.setAttribute("aria-busy", "true"), t.focus() },
|
||||||
Et = (e, t) => { const o = $(),
|
Et = (e, t) => { const o = $(),
|
||||||
i = E();!t && J(B()) && (t = B()), z(o), t && (K(t), i.setAttribute("data-button-to-replace", t.className)), i.parentNode.insertBefore(i, t), R([e, o], n.loading) },
|
i = E();!t && J(B()) && (t = B()), z(o), t && (K(t), i.setAttribute("data-button-to-replace", t.className)), i.parentNode.insertBefore(i, t), R([e, o], n.loading) },
|
||||||
$t = e => e.checked ? 1 : 0,
|
$t = e => e.checked ? 1 : 0,
|
||||||
Tt = e => e.checked ? e.value : null,
|
Tt = e => e.checked ? e.value : null,
|
||||||
St = e => e.files.length ? null !== e.getAttribute("multiple") ? e.files : e.files[0] : null,
|
St = e => e.files.length ? null !== e.getAttribute("multiple") ? e.files : e.files[0] : null,
|
||||||
Lt = (e, t) => { const n = b(),
|
Lt = (e, t) => { const n = b(),
|
||||||
o = e => { jt[t.input](n, Mt(e), t) };
|
o = e => { jt[t.input](n, Mt(e), t) };
|
||||||
d(t.inputOptions) || m(t.inputOptions) ? (xt(B()), p(t.inputOptions).then((t => { e.hideLoading(), o(t) }))) : "object" == typeof t.inputOptions ? o(t.inputOptions) : a("Unexpected type of inputOptions! Expected object, Map or Promise, got " + typeof t.inputOptions) },
|
d(t.inputOptions) || m(t.inputOptions) ? (xt(B()), p(t.inputOptions).then((t => { e.hideLoading(), o(t) }))) : "object" == typeof t.inputOptions ? o(t.inputOptions) : a("Unexpected type of inputOptions! Expected object, Map or Promise, got " + typeof t.inputOptions) },
|
||||||
Ot = (e, t) => { const n = e.getInput();
|
Ot = (e, t) => { const n = e.getInput();
|
||||||
K(n), p(t.inputValue).then((o => { n.value = "number" === t.input ? `${parseFloat(o)||0}` : `${o}`, z(n), n.focus(), e.hideLoading() })).catch((t => { a(`Error in inputValue promise: ${t}`), n.value = "", z(n), n.focus(), e.hideLoading() })) },
|
K(n), p(t.inputValue).then((o => { n.value = "number" === t.input ? `${parseFloat(o)||0}` : `${o}`, z(n), n.focus(), e.hideLoading() })).catch((t => { a(`Error in inputValue promise: ${t}`), n.value = "", z(n), n.focus(), e.hideLoading() })) },
|
||||||
jt = { select: (e, t, o) => { const i = _(e, n.select),
|
jt = { select: (e, t, o) => { const i = _(e, n.select),
|
||||||
s = (e, t, n) => { const i = document.createElement("option");
|
s = (e, t, n) => { const i = document.createElement("option");
|
||||||
i.value = n, I(i, t), i.selected = Ht(n, o.inputValue), e.appendChild(i) };
|
i.value = n, I(i, t), i.selected = Ht(n, o.inputValue), e.appendChild(i) };
|
||||||
t.forEach((e => { const t = e[0],
|
t.forEach((e => { const t = e[0],
|
||||||
n = e[1]; if (Array.isArray(n)) { const e = document.createElement("optgroup");
|
n = e[1]; if (Array.isArray(n)) { const e = document.createElement("optgroup");
|
||||||
e.label = t, e.disabled = !1, i.appendChild(e), n.forEach((t => s(e, t[1], t[0]))) } else s(i, n, t) })), i.focus() }, radio: (e, t, o) => { const i = _(e, n.radio);
|
e.label = t, e.disabled = !1, i.appendChild(e), n.forEach((t => s(e, t[1], t[0]))) } else s(i, n, t) })), i.focus() }, radio: (e, t, o) => { const i = _(e, n.radio);
|
||||||
t.forEach((e => { const t = e[0],
|
t.forEach((e => { const t = e[0],
|
||||||
s = e[1],
|
s = e[1],
|
||||||
r = document.createElement("input"),
|
r = document.createElement("input"),
|
||||||
a = document.createElement("label");
|
a = document.createElement("label");
|
||||||
r.type = "radio", r.name = n.radio, r.value = t, Ht(t, o.inputValue) && (r.checked = !0); const l = document.createElement("span");
|
r.type = "radio", r.name = n.radio, r.value = t, Ht(t, o.inputValue) && (r.checked = !0); const l = document.createElement("span");
|
||||||
I(l, s), l.className = n.label, a.appendChild(r), a.appendChild(l), i.appendChild(a) })); const s = i.querySelectorAll("input");
|
I(l, s), l.className = n.label, a.appendChild(r), a.appendChild(l), i.appendChild(a) })); const s = i.querySelectorAll("input");
|
||||||
s.length && s[0].focus() } },
|
s.length && s[0].focus() } },
|
||||||
Mt = e => { const t = []; return "undefined" != typeof Map && e instanceof Map ? e.forEach(((e, n) => { let o = e; "object" == typeof o && (o = Mt(o)), t.push([n, o]) })) : Object.keys(e).forEach((n => { let o = e[n]; "object" == typeof o && (o = Mt(o)), t.push([n, o]) })), t },
|
Mt = e => { const t = []; return "undefined" != typeof Map && e instanceof Map ? e.forEach(((e, n) => { let o = e; "object" == typeof o && (o = Mt(o)), t.push([n, o]) })) : Object.keys(e).forEach((n => { let o = e[n]; "object" == typeof o && (o = Mt(o)), t.push([n, o]) })), t },
|
||||||
Ht = (e, t) => t && t.toString() === e.toString(),
|
Ht = (e, t) => t && t.toString() === e.toString(),
|
||||||
It = (t, n) => { const o = e.innerParams.get(t); if (!o.input) return void a(`The "input" parameter is needed to be set when using returnInputValueOn${s(n)}`); const i = ((e, t) => { const n = e.getInput(); if (!n) return null; switch (t.input) {
|
It = (t, n) => { const o = e.innerParams.get(t); if (!o.input) return void a(`The "input" parameter is needed to be set when using returnInputValueOn${s(n)}`); const i = ((e, t) => { const n = e.getInput(); if (!n) return null; switch (t.input) {
|
||||||
case "checkbox":
|
case "checkbox":
|
||||||
return $t(n);
|
return $t(n);
|
||||||
case "radio":
|
case "radio":
|
||||||
return Tt(n);
|
return Tt(n);
|
||||||
case "file":
|
case "file":
|
||||||
return St(n);
|
return St(n);
|
||||||
default:
|
default:
|
||||||
return t.inputAutoTrim ? n.value.trim() : n.value } })(t, o);
|
return t.inputAutoTrim ? n.value.trim() : n.value } })(t, o);
|
||||||
o.inputValidator ? Dt(t, i, n) : t.getInput().checkValidity() ? "deny" === n ? qt(t, i) : Ft(t, i) : (t.enableButtons(), t.showValidationMessage(o.validationMessage)) },
|
o.inputValidator ? Dt(t, i, n) : t.getInput().checkValidity() ? "deny" === n ? qt(t, i) : Ft(t, i) : (t.enableButtons(), t.showValidationMessage(o.validationMessage)) },
|
||||||
Dt = (t, n, o) => { const i = e.innerParams.get(t);
|
Dt = (t, n, o) => { const i = e.innerParams.get(t);
|
||||||
t.disableInput();
|
t.disableInput();
|
||||||
Promise.resolve().then((() => p(i.inputValidator(n, i.validationMessage)))).then((e => { t.enableButtons(), t.enableInput(), e ? t.showValidationMessage(e) : "deny" === o ? qt(t, n) : Ft(t, n) })) },
|
Promise.resolve().then((() => p(i.inputValidator(n, i.validationMessage)))).then((e => { t.enableButtons(), t.enableInput(), e ? t.showValidationMessage(e) : "deny" === o ? qt(t, n) : Ft(t, n) })) },
|
||||||
qt = (t, n) => { const o = e.innerParams.get(t || void 0); if (o.showLoaderOnDeny && xt(x()), o.preDeny) { e.awaitingPromise.set(t || void 0, !0);
|
qt = (t, n) => { const o = e.innerParams.get(t || void 0); if (o.showLoaderOnDeny && xt(x()), o.preDeny) { e.awaitingPromise.set(t || void 0, !0);
|
||||||
Promise.resolve().then((() => p(o.preDeny(n, o.validationMessage)))).then((e => {!1 === e ? (t.hideLoading(), it(t)) : t.close({ isDenied: !0, value: void 0 === e ? n : e }) })).catch((e => Nt(t || void 0, e))) } else t.close({ isDenied: !0, value: n }) },
|
Promise.resolve().then((() => p(o.preDeny(n, o.validationMessage)))).then((e => {!1 === e ? (t.hideLoading(), it(t)) : t.close({ isDenied: !0, value: void 0 === e ? n : e }) })).catch((e => Nt(t || void 0, e))) } else t.close({ isDenied: !0, value: n }) },
|
||||||
Vt = (e, t) => { e.close({ isConfirmed: !0, value: t }) },
|
Vt = (e, t) => { e.close({ isConfirmed: !0, value: t }) },
|
||||||
Nt = (e, t) => { e.rejectPromise(t) },
|
Nt = (e, t) => { e.rejectPromise(t) },
|
||||||
Ft = (t, n) => { const o = e.innerParams.get(t || void 0); if (o.showLoaderOnConfirm && xt(), o.preConfirm) { t.resetValidationMessage(), e.awaitingPromise.set(t || void 0, !0);
|
Ft = (t, n) => { const o = e.innerParams.get(t || void 0); if (o.showLoaderOnConfirm && xt(), o.preConfirm) { t.resetValidationMessage(), e.awaitingPromise.set(t || void 0, !0);
|
||||||
Promise.resolve().then((() => p(o.preConfirm(n, o.validationMessage)))).then((e => { J(k()) || !1 === e ? (t.hideLoading(), it(t)) : Vt(t, void 0 === e ? n : e) })).catch((e => Nt(t || void 0, e))) } else Vt(t, n) },
|
Promise.resolve().then((() => p(o.preConfirm(n, o.validationMessage)))).then((e => { J(k()) || !1 === e ? (t.hideLoading(), it(t)) : Vt(t, void 0 === e ? n : e) })).catch((e => Nt(t || void 0, e))) } else Vt(t, n) },
|
||||||
Rt = (t, n, o) => { n.popup.onclick = () => { const n = e.innerParams.get(t);
|
Rt = (t, n, o) => { n.popup.onclick = () => { const n = e.innerParams.get(t);
|
||||||
n && (Ut(n) || n.timer || n.input) || o(He.close) } },
|
n && (Ut(n) || n.timer || n.input) || o(He.close) } },
|
||||||
Ut = e => e.showConfirmButton || e.showDenyButton || e.showCancelButton || e.showCloseButton; let _t = !1; const Wt = e => { e.popup.onmousedown = () => { e.container.onmouseup = function(t) { e.container.onmouseup = void 0, t.target === e.container && (_t = !0) } } },
|
Ut = e => e.showConfirmButton || e.showDenyButton || e.showCancelButton || e.showCloseButton; let _t = !1; const Wt = e => { e.popup.onmousedown = () => { e.container.onmouseup = function(t) { e.container.onmouseup = void 0, t.target === e.container && (_t = !0) } } },
|
||||||
zt = e => { e.container.onmousedown = () => { e.popup.onmouseup = function(t) { e.popup.onmouseup = void 0, (t.target === e.popup || e.popup.contains(t.target)) && (_t = !0) } } },
|
zt = e => { e.container.onmousedown = () => { e.popup.onmouseup = function(t) { e.popup.onmouseup = void 0, (t.target === e.popup || e.popup.contains(t.target)) && (_t = !0) } } },
|
||||||
Kt = (t, n, o) => { n.container.onclick = i => { const s = e.innerParams.get(t);
|
Kt = (t, n, o) => { n.container.onclick = i => { const s = e.innerParams.get(t);
|
||||||
_t ? _t = !1 : i.target === n.container && u(s.allowOutsideClick) && o(He.backdrop) } },
|
_t ? _t = !1 : i.target === n.container && u(s.allowOutsideClick) && o(He.backdrop) } },
|
||||||
Yt = e => e instanceof Element || (e => "object" == typeof e && e.jquery)(e); const Zt = () => { if (ee.timeout) return (() => { const e = S(),
|
Yt = e => e instanceof Element || (e => "object" == typeof e && e.jquery)(e); const Zt = () => { if (ee.timeout) return (() => { const e = S(),
|
||||||
t = parseInt(window.getComputedStyle(e).width);
|
t = parseInt(window.getComputedStyle(e).width);
|
||||||
e.style.removeProperty("transition"), e.style.width = "100%"; const n = t / parseInt(window.getComputedStyle(e).width) * 100;
|
e.style.removeProperty("transition"), e.style.width = "100%"; const n = t / parseInt(window.getComputedStyle(e).width) * 100;
|
||||||
e.style.width = `${n}%` })(), ee.timeout.stop() },
|
e.style.width = `${n}%` })(), ee.timeout.stop() },
|
||||||
Jt = () => { if (ee.timeout) { const e = ee.timeout.start(); return Q(e), e } }; let Xt = !1; const Gt = {}; const Qt = e => { for (let t = e.target; t && t !== document; t = t.parentNode)
|
Jt = () => { if (ee.timeout) { const e = ee.timeout.start(); return Q(e), e } }; let Xt = !1; const Gt = {}; const Qt = e => { for (let t = e.target; t && t !== document; t = t.parentNode)
|
||||||
for (const e in Gt) { const n = t.getAttribute(e); if (n) return void Gt[e].fire({ template: n }) } }; var en = Object.freeze({ __proto__: null, argsToParams: e => { const t = {}; return "object" != typeof e[0] || Yt(e[0]) ? ["title", "html", "icon"].forEach(((n, o) => { const i = e[o]; "string" == typeof i || Yt(i) ? t[n] = i : void 0 !== i && a(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`) })) : Object.assign(t, e[0]), t }, bindClickHandler: function() { Gt[arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "data-swal-template"] = this, Xt || (document.body.addEventListener("click", Qt), Xt = !0) }, clickCancel: () => P() && P().click(), clickConfirm: Me, clickDeny: () => x() && x().click(), enableLoading: xt, fire: function() { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; return new this(...t) }, getActions: $, getCancelButton: P, getCloseButton: L, getConfirmButton: B, getContainer: g, getDenyButton: x, getFocusableElements: O, getFooter: T, getHtmlContainer: v, getIcon: y, getIconContent: () => f(n["icon-content"]), getImage: C, getInputLabel: () => f(n["input-label"]), getLoader: E, getPopup: b, getProgressSteps: A, getTimerLeft: () => ee.timeout && ee.timeout.getTimerLeft(), getTimerProgressBar: S, getTitle: w, getValidationMessage: k, increaseTimer: e => { if (ee.timeout) { const t = ee.timeout.increase(e); return Q(t, !0), t } }, isDeprecatedParameter: bt, isLoading: () => b().hasAttribute("data-loading"), isTimerRunning: () => ee.timeout && ee.timeout.isRunning(), isUpdatableParameter: ft, isValidParameter: ht, isVisible: () => J(b()), mixin: function(e) { return class extends(this) { _main(t, n) { return super._main(t, Object.assign({}, e, n)) } } }, resumeTimer: Jt, showLoading: xt, stopTimer: Zt, toggleTimer: () => { const e = ee.timeout; return e && (e.running ? Zt() : Jt()) } });
|
for (const e in Gt) { const n = t.getAttribute(e); if (n) return void Gt[e].fire({ template: n }) } }; var en = Object.freeze({ __proto__: null, argsToParams: e => { const t = {}; return "object" != typeof e[0] || Yt(e[0]) ? ["title", "html", "icon"].forEach(((n, o) => { const i = e[o]; "string" == typeof i || Yt(i) ? t[n] = i : void 0 !== i && a(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`) })) : Object.assign(t, e[0]), t }, bindClickHandler: function() { Gt[arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "data-swal-template"] = this, Xt || (document.body.addEventListener("click", Qt), Xt = !0) }, clickCancel: () => P() && P().click(), clickConfirm: Me, clickDeny: () => x() && x().click(), enableLoading: xt, fire: function() { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; return new this(...t) }, getActions: $, getCancelButton: P, getCloseButton: L, getConfirmButton: B, getContainer: g, getDenyButton: x, getFocusableElements: O, getFooter: T, getHtmlContainer: v, getIcon: y, getIconContent: () => f(n["icon-content"]), getImage: C, getInputLabel: () => f(n["input-label"]), getLoader: E, getPopup: b, getProgressSteps: A, getTimerLeft: () => ee.timeout && ee.timeout.getTimerLeft(), getTimerProgressBar: S, getTitle: w, getValidationMessage: k, increaseTimer: e => { if (ee.timeout) { const t = ee.timeout.increase(e); return Q(t, !0), t } }, isDeprecatedParameter: bt, isLoading: () => b().hasAttribute("data-loading"), isTimerRunning: () => ee.timeout && ee.timeout.isRunning(), isUpdatableParameter: ft, isValidParameter: ht, isVisible: () => J(b()), mixin: function(e) { return class extends(this) { _main(t, n) { return super._main(t, Object.assign({}, e, n)) } } }, resumeTimer: Jt, showLoading: xt, stopTimer: Zt, toggleTimer: () => { const e = ee.timeout; return e && (e.running ? Zt() : Jt()) } });
|
||||||
class tn { constructor(e, t) { this.callback = e, this.remaining = t, this.running = !1, this.start() }
|
class tn { constructor(e, t) { this.callback = e, this.remaining = t, this.running = !1, this.start() }
|
||||||
start() { return this.running || (this.running = !0, this.started = new Date, this.id = setTimeout(this.callback, this.remaining)), this.remaining }
|
start() { return this.running || (this.running = !0, this.started = new Date, this.id = setTimeout(this.callback, this.remaining)), this.remaining }
|
||||||
stop() { return this.running && (this.running = !1, clearTimeout(this.id), this.remaining -= (new Date).getTime() - this.started.getTime()), this.remaining }
|
stop() { return this.running && (this.running = !1, clearTimeout(this.id), this.remaining -= (new Date).getTime() - this.started.getTime()), this.remaining }
|
||||||
increase(e) { const t = this.running; return t && this.stop(), this.remaining += e, t && this.start(), this.remaining }
|
increase(e) { const t = this.running; return t && this.stop(), this.remaining += e, t && this.start(), this.remaining }
|
||||||
getTimerLeft() { return this.running && (this.stop(), this.start()), this.remaining }
|
getTimerLeft() { return this.running && (this.stop(), this.start()), this.remaining }
|
||||||
isRunning() { return this.running } } const nn = ["swal-title", "swal-html", "swal-footer"],
|
isRunning() { return this.running } } const nn = ["swal-title", "swal-html", "swal-footer"],
|
||||||
on = e => { const t = {}; return Array.from(e.querySelectorAll("swal-param")).forEach((e => { pn(e, ["name", "value"]); const n = e.getAttribute("name"),
|
on = e => { const t = {}; return Array.from(e.querySelectorAll("swal-param")).forEach((e => { pn(e, ["name", "value"]); const n = e.getAttribute("name"),
|
||||||
o = e.getAttribute("value");
|
o = e.getAttribute("value");
|
||||||
t[n] = "boolean" == typeof dt[n] ? "false" !== o : "object" == typeof dt[n] ? JSON.parse(o) : o })), t },
|
t[n] = "boolean" == typeof dt[n] ? "false" !== o : "object" == typeof dt[n] ? JSON.parse(o) : o })), t },
|
||||||
sn = e => { const t = {}; return Array.from(e.querySelectorAll("swal-function-param")).forEach((e => { const n = e.getAttribute("name"),
|
sn = e => { const t = {}; return Array.from(e.querySelectorAll("swal-function-param")).forEach((e => { const n = e.getAttribute("name"),
|
||||||
o = e.getAttribute("value");
|
o = e.getAttribute("value");
|
||||||
t[n] = new Function(`return ${o}`)() })), t },
|
t[n] = new Function(`return ${o}`)() })), t },
|
||||||
rn = e => { const t = {}; return Array.from(e.querySelectorAll("swal-button")).forEach((e => { pn(e, ["type", "color", "aria-label"]); const n = e.getAttribute("type");
|
rn = e => { const t = {}; return Array.from(e.querySelectorAll("swal-button")).forEach((e => { pn(e, ["type", "color", "aria-label"]); const n = e.getAttribute("type");
|
||||||
t[`${n}ButtonText`] = e.innerHTML, t[`show${s(n)}Button`] = !0, e.hasAttribute("color") && (t[`${n}ButtonColor`] = e.getAttribute("color")), e.hasAttribute("aria-label") && (t[`${n}ButtonAriaLabel`] = e.getAttribute("aria-label")) })), t },
|
t[`${n}ButtonText`] = e.innerHTML, t[`show${s(n)}Button`] = !0, e.hasAttribute("color") && (t[`${n}ButtonColor`] = e.getAttribute("color")), e.hasAttribute("aria-label") && (t[`${n}ButtonAriaLabel`] = e.getAttribute("aria-label")) })), t },
|
||||||
an = e => { const t = {},
|
an = e => { const t = {},
|
||||||
n = e.querySelector("swal-image"); return n && (pn(n, ["src", "width", "height", "alt"]), n.hasAttribute("src") && (t.imageUrl = n.getAttribute("src")), n.hasAttribute("width") && (t.imageWidth = n.getAttribute("width")), n.hasAttribute("height") && (t.imageHeight = n.getAttribute("height")), n.hasAttribute("alt") && (t.imageAlt = n.getAttribute("alt"))), t },
|
n = e.querySelector("swal-image"); return n && (pn(n, ["src", "width", "height", "alt"]), n.hasAttribute("src") && (t.imageUrl = n.getAttribute("src")), n.hasAttribute("width") && (t.imageWidth = n.getAttribute("width")), n.hasAttribute("height") && (t.imageHeight = n.getAttribute("height")), n.hasAttribute("alt") && (t.imageAlt = n.getAttribute("alt"))), t },
|
||||||
ln = e => { const t = {},
|
ln = e => { const t = {},
|
||||||
n = e.querySelector("swal-icon"); return n && (pn(n, ["type", "color"]), n.hasAttribute("type") && (t.icon = n.getAttribute("type")), n.hasAttribute("color") && (t.iconColor = n.getAttribute("color")), t.iconHtml = n.innerHTML), t },
|
n = e.querySelector("swal-icon"); return n && (pn(n, ["type", "color"]), n.hasAttribute("type") && (t.icon = n.getAttribute("type")), n.hasAttribute("color") && (t.iconColor = n.getAttribute("color")), t.iconHtml = n.innerHTML), t },
|
||||||
cn = e => { const t = {},
|
cn = e => { const t = {},
|
||||||
n = e.querySelector("swal-input");
|
n = e.querySelector("swal-input");
|
||||||
n && (pn(n, ["type", "label", "placeholder", "value"]), t.input = n.getAttribute("type") || "text", n.hasAttribute("label") && (t.inputLabel = n.getAttribute("label")), n.hasAttribute("placeholder") && (t.inputPlaceholder = n.getAttribute("placeholder")), n.hasAttribute("value") && (t.inputValue = n.getAttribute("value"))); const o = Array.from(e.querySelectorAll("swal-input-option")); return o.length && (t.inputOptions = {}, o.forEach((e => { pn(e, ["value"]); const n = e.getAttribute("value"),
|
n && (pn(n, ["type", "label", "placeholder", "value"]), t.input = n.getAttribute("type") || "text", n.hasAttribute("label") && (t.inputLabel = n.getAttribute("label")), n.hasAttribute("placeholder") && (t.inputPlaceholder = n.getAttribute("placeholder")), n.hasAttribute("value") && (t.inputValue = n.getAttribute("value"))); const o = Array.from(e.querySelectorAll("swal-input-option")); return o.length && (t.inputOptions = {}, o.forEach((e => { pn(e, ["value"]); const n = e.getAttribute("value"),
|
||||||
o = e.innerHTML;
|
o = e.innerHTML;
|
||||||
t.inputOptions[n] = o }))), t },
|
t.inputOptions[n] = o }))), t },
|
||||||
un = (e, t) => { const n = {}; for (const o in t) { const i = t[o],
|
un = (e, t) => { const n = {}; for (const o in t) { const i = t[o],
|
||||||
s = e.querySelector(i);
|
s = e.querySelector(i);
|
||||||
s && (pn(s, []), n[i.replace(/^swal-/, "")] = s.innerHTML.trim()) } return n },
|
s && (pn(s, []), n[i.replace(/^swal-/, "")] = s.innerHTML.trim()) } return n },
|
||||||
dn = e => { const t = nn.concat(["swal-param", "swal-function-param", "swal-button", "swal-image", "swal-icon", "swal-input", "swal-input-option"]);
|
dn = e => { const t = nn.concat(["swal-param", "swal-function-param", "swal-button", "swal-image", "swal-icon", "swal-input", "swal-input-option"]);
|
||||||
Array.from(e.children).forEach((e => { const n = e.tagName.toLowerCase();
|
Array.from(e.children).forEach((e => { const n = e.tagName.toLowerCase();
|
||||||
t.includes(n) || r(`Unrecognized element <${n}>`) })) },
|
t.includes(n) || r(`Unrecognized element <${n}>`) })) },
|
||||||
pn = (e, t) => { Array.from(e.attributes).forEach((n => {-1 === t.indexOf(n.name) && r([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`, "" + (t.length ? `Allowed attributes are: ${t.join(", ")}` : "To set the value, use HTML within the element.")]) })) },
|
pn = (e, t) => { Array.from(e.attributes).forEach((n => {-1 === t.indexOf(n.name) && r([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`, "" + (t.length ? `Allowed attributes are: ${t.join(", ")}` : "To set the value, use HTML within the element.")]) })) },
|
||||||
mn = e => { const t = g(),
|
mn = e => { const t = g(),
|
||||||
o = b(); "function" == typeof e.willOpen && e.willOpen(o); const i = window.getComputedStyle(document.body).overflowY;
|
o = b(); "function" == typeof e.willOpen && e.willOpen(o); const i = window.getComputedStyle(document.body).overflowY;
|
||||||
bn(t, o, e), setTimeout((() => { hn(t, o) }), 10), j() && (fn(t, e.scrollbarPadding, i), Array.from(document.body.children).forEach((e => { e === g() || e.contains(g()) || (e.hasAttribute("aria-hidden") && e.setAttribute("data-previous-aria-hidden", e.getAttribute("aria-hidden")), e.setAttribute("aria-hidden", "true")) }))), M() || ee.previousActiveElement || (ee.previousActiveElement = document.activeElement), "function" == typeof e.didOpen && setTimeout((() => e.didOpen(o))), U(t, n["no-transition"]) },
|
bn(t, o, e), setTimeout((() => { hn(t, o) }), 10), j() && (fn(t, e.scrollbarPadding, i), Array.from(document.body.children).forEach((e => { e === g() || e.contains(g()) || (e.hasAttribute("aria-hidden") && e.setAttribute("data-previous-aria-hidden", e.getAttribute("aria-hidden")), e.setAttribute("aria-hidden", "true")) }))), M() || ee.previousActiveElement || (ee.previousActiveElement = document.activeElement), "function" == typeof e.didOpen && setTimeout((() => e.didOpen(o))), U(t, n["no-transition"]) },
|
||||||
gn = e => { const t = b(); if (e.target !== t) return; const n = g();
|
gn = e => { const t = b(); if (e.target !== t) return; const n = g();
|
||||||
t.removeEventListener(ce, gn), n.style.overflowY = "auto" },
|
t.removeEventListener(ce, gn), n.style.overflowY = "auto" },
|
||||||
hn = (e, t) => { ce && G(t) ? (e.style.overflowY = "hidden", t.addEventListener(ce, gn)) : e.style.overflowY = "auto" },
|
hn = (e, t) => { ce && G(t) ? (e.style.overflowY = "hidden", t.addEventListener(ce, gn)) : e.style.overflowY = "auto" },
|
||||||
fn = (e, t, o) => {
|
fn = (e, t, o) => {
|
||||||
(() => { if ((/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 1) && !D(document.body, n.iosfix)) { const e = document.body.scrollTop;
|
(() => { if ((/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 1) && !D(document.body, n.iosfix)) { const e = document.body.scrollTop;
|
||||||
document.body.style.top = -1 * e + "px", R(document.body, n.iosfix), Ye(), Ke() } })(), t && "hidden" !== o && Qe(), setTimeout((() => { e.scrollTop = 0 })) },
|
document.body.style.top = -1 * e + "px", R(document.body, n.iosfix), Ye(), Ke() } })(), t && "hidden" !== o && Qe(), setTimeout((() => { e.scrollTop = 0 })) },
|
||||||
bn = (e, t, o) => { R(e, o.showClass.backdrop), t.style.setProperty("opacity", "0", "important"), z(t, "grid"), setTimeout((() => { R(t, o.showClass.popup), t.style.removeProperty("opacity") }), 10), R([document.documentElement, document.body], n.shown), o.heightAuto && o.backdrop && !o.toast && R([document.documentElement, document.body], n["height-auto"]) }; var yn = { email: (e, t) => /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid email address"), url: (e, t) => /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid URL") };
|
bn = (e, t, o) => { R(e, o.showClass.backdrop), t.style.setProperty("opacity", "0", "important"), z(t, "grid"), setTimeout((() => { R(t, o.showClass.popup), t.style.removeProperty("opacity") }), 10), R([document.documentElement, document.body], n.shown), o.heightAuto && o.backdrop && !o.toast && R([document.documentElement, document.body], n["height-auto"]) }; var yn = { email: (e, t) => /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid email address"), url: (e, t) => /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e) ? Promise.resolve() : Promise.resolve(t || "Invalid URL") };
|
||||||
|
|
||||||
function wn(e) {! function(e) { e.inputValidator || Object.keys(yn).forEach((t => { e.input === t && (e.inputValidator = yn[t]) })) }(e), e.showLoaderOnConfirm && !e.preConfirm && r("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 wn(e) {! function(e) { e.inputValidator || Object.keys(yn).forEach((t => { e.input === t && (e.inputValidator = yn[t]) })) }(e), e.showLoaderOnConfirm && !e.preConfirm && r("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(e) {
|
function(e) {
|
||||||
(!e.target || "string" == typeof e.target && !document.querySelector(e.target) || "string" != typeof e.target && !e.target.appendChild) && (r('Target parameter is not valid, defaulting to "body"'), e.target = "body") }(e), "string" == typeof e.title && (e.title = e.title.split("\n").join("<br />")), se(e) } let vn;
|
(!e.target || "string" == typeof e.target && !document.querySelector(e.target) || "string" != typeof e.target && !e.target.appendChild) && (r('Target parameter is not valid, defaulting to "body"'), e.target = "body") }(e), "string" == typeof e.title && (e.title = e.title.split("\n").join("<br />")), se(e) } let vn;
|
||||||
class Cn { constructor() { if ("undefined" == typeof window) return;
|
class Cn { constructor() { if ("undefined" == typeof window) return;
|
||||||
vn = this; for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]; const i = Object.freeze(this.constructor.argsToParams(n));
|
vn = this; for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o]; const i = Object.freeze(this.constructor.argsToParams(n));
|
||||||
Object.defineProperties(this, { params: { value: i, writable: !1, enumerable: !0, configurable: !0 } }); const s = vn._main(vn.params);
|
Object.defineProperties(this, { params: { value: i, writable: !1, enumerable: !0, configurable: !0 } }); const s = vn._main(vn.params);
|
||||||
e.promise.set(this, s) }
|
e.promise.set(this, s) }
|
||||||
_main(t) { let n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
|
_main(t) { let n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
|
||||||
(e => {!1 === e.backdrop && e.allowOutsideClick && r('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'); for (const t in e) yt(t), e.toast && wt(t), vt(t) })(Object.assign({}, n, t)), ee.currentInstance && (ee.currentInstance._destroy(), j() && ze()), ee.currentInstance = vn; const o = kn(t, n);
|
(e => {!1 === e.backdrop && e.allowOutsideClick && r('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'); for (const t in e) yt(t), e.toast && wt(t), vt(t) })(Object.assign({}, n, t)), ee.currentInstance && (ee.currentInstance._destroy(), j() && ze()), ee.currentInstance = vn; const o = kn(t, n);
|
||||||
wn(o), Object.freeze(o), ee.timeout && (ee.timeout.stop(), delete ee.timeout), clearTimeout(ee.restoreFocusTimeout); const i = Bn(vn); return Le(vn, o), e.innerParams.set(vn, o), An(vn, i, o) }
|
wn(o), Object.freeze(o), ee.timeout && (ee.timeout.stop(), delete ee.timeout), clearTimeout(ee.restoreFocusTimeout); const i = Bn(vn); return Le(vn, o), e.innerParams.set(vn, o), An(vn, i, o) }
|
||||||
then(t) { return e.promise.get(this).then(t) } finally(t) { return e.promise.get(this).finally(t) } } const An = (t, n, o) => new Promise(((i, s) => { const r = e => { t.close({ isDismissed: !0, dismiss: e }) };
|
then(t) { return e.promise.get(this).then(t) } finally(t) { return e.promise.get(this).finally(t) } } const An = (t, n, o) => new Promise(((i, s) => { const r = e => { t.close({ isDismissed: !0, dismiss: e }) };
|
||||||
We.swalPromiseResolve.set(t, i), We.swalPromiseReject.set(t, s), n.confirmButton.onclick = () => {
|
We.swalPromiseResolve.set(t, i), We.swalPromiseReject.set(t, s), n.confirmButton.onclick = () => {
|
||||||
(t => { const n = e.innerParams.get(t);
|
(t => { const n = e.innerParams.get(t);
|
||||||
t.disableButtons(), n.input ? It(t, "confirm") : Ft(t, !0) })(t) }, n.denyButton.onclick = () => {
|
t.disableButtons(), n.input ? It(t, "confirm") : Ft(t, !0) })(t) }, n.denyButton.onclick = () => {
|
||||||
(t => { const n = e.innerParams.get(t);
|
(t => { const n = e.innerParams.get(t);
|
||||||
t.disableButtons(), n.returnInputValueOnDeny ? It(t, "deny") : qt(t, !1) })(t) }, n.cancelButton.onclick = () => {
|
t.disableButtons(), n.returnInputValueOnDeny ? It(t, "deny") : qt(t, !1) })(t) }, n.cancelButton.onclick = () => {
|
||||||
((e, t) => { e.disableButtons(), t(He.cancel) })(t, r) }, n.closeButton.onclick = () => { r(He.close) }, ((t, n, o) => { e.innerParams.get(t).toast ? Rt(t, n, o) : (Wt(n), zt(n), Kt(t, n, o)) })(t, n, r), ((e, t, n, o) => { Ie(t), n.toast || (t.keydownHandler = t => Ne(e, t, o), t.keydownTarget = n.keydownListenerCapture ? window : b(), t.keydownListenerCapture = n.keydownListenerCapture, t.keydownTarget.addEventListener("keydown", t.keydownHandler, { capture: t.keydownListenerCapture }), t.keydownHandlerAdded = !0) })(t, ee, o, r), ((e, t) => { "select" === t.input || "radio" === t.input ? Lt(e, t) : ["text", "email", "number", "tel", "textarea"].includes(t.input) && (d(t.inputValue) || m(t.inputValue)) && (xt(B()), Ot(e, t)) })(t, o), mn(o), Pn(ee, o, r), xn(n, o), setTimeout((() => { n.container.scrollTop = 0 })) })),
|
((e, t) => { e.disableButtons(), t(He.cancel) })(t, r) }, n.closeButton.onclick = () => { r(He.close) }, ((t, n, o) => { e.innerParams.get(t).toast ? Rt(t, n, o) : (Wt(n), zt(n), Kt(t, n, o)) })(t, n, r), ((e, t, n, o) => { Ie(t), n.toast || (t.keydownHandler = t => Ne(e, t, o), t.keydownTarget = n.keydownListenerCapture ? window : b(), t.keydownListenerCapture = n.keydownListenerCapture, t.keydownTarget.addEventListener("keydown", t.keydownHandler, { capture: t.keydownListenerCapture }), t.keydownHandlerAdded = !0) })(t, ee, o, r), ((e, t) => { "select" === t.input || "radio" === t.input ? Lt(e, t) : ["text", "email", "number", "tel", "textarea"].includes(t.input) && (d(t.inputValue) || m(t.inputValue)) && (xt(B()), Ot(e, t)) })(t, o), mn(o), Pn(ee, o, r), xn(n, o), setTimeout((() => { n.container.scrollTop = 0 })) })),
|
||||||
kn = (e, t) => { const n = (e => { const t = "string" == typeof e.template ? document.querySelector(e.template) : e.template; if (!t) return {}; const n = t.content; return dn(n), Object.assign(on(n), sn(n), rn(n), an(n), ln(n), cn(n), un(n, nn)) })(e),
|
kn = (e, t) => { const n = (e => { const t = "string" == typeof e.template ? document.querySelector(e.template) : e.template; if (!t) return {}; const n = t.content; return dn(n), Object.assign(on(n), sn(n), rn(n), an(n), ln(n), cn(n), un(n, nn)) })(e),
|
||||||
o = Object.assign({}, dt, t, n, e); return o.showClass = Object.assign({}, dt.showClass, o.showClass), o.hideClass = Object.assign({}, dt.hideClass, o.hideClass), o },
|
o = Object.assign({}, dt, t, n, e); return o.showClass = Object.assign({}, dt.showClass, o.showClass), o.hideClass = Object.assign({}, dt.hideClass, o.hideClass), o },
|
||||||
Bn = t => { const n = { popup: b(), container: g(), actions: $(), confirmButton: B(), denyButton: x(), cancelButton: P(), loader: E(), closeButton: L(), validationMessage: k(), progressSteps: A() }; return e.domCache.set(t, n), n },
|
Bn = t => { const n = { popup: b(), container: g(), actions: $(), confirmButton: B(), denyButton: x(), cancelButton: P(), loader: E(), closeButton: L(), validationMessage: k(), progressSteps: A() }; return e.domCache.set(t, n), n },
|
||||||
Pn = (e, t, n) => { const o = S();
|
Pn = (e, t, n) => { const o = S();
|
||||||
K(o), t.timer && (e.timeout = new tn((() => { n("timer"), delete e.timeout }), t.timer), t.timerProgressBar && (z(o), q(o, t, "timerProgressBar"), setTimeout((() => { e.timeout && e.timeout.running && Q(t.timer) })))) },
|
K(o), t.timer && (e.timeout = new tn((() => { n("timer"), delete e.timeout }), t.timer), t.timerProgressBar && (z(o), q(o, t, "timerProgressBar"), setTimeout((() => { e.timeout && e.timeout.running && Q(t.timer) })))) },
|
||||||
xn = (e, t) => { t.toast || (u(t.allowEnterKey) ? En(e, t) || De(-1, 1) : $n()) },
|
xn = (e, t) => { t.toast || (u(t.allowEnterKey) ? En(e, t) || De(-1, 1) : $n()) },
|
||||||
En = (e, t) => t.focusDeny && J(e.denyButton) ? (e.denyButton.focus(), !0) : t.focusCancel && J(e.cancelButton) ? (e.cancelButton.focus(), !0) : !(!t.focusConfirm || !J(e.confirmButton)) && (e.confirmButton.focus(), !0),
|
En = (e, t) => t.focusDeny && J(e.denyButton) ? (e.denyButton.focus(), !0) : t.focusCancel && J(e.cancelButton) ? (e.cancelButton.focus(), !0) : !(!t.focusConfirm || !J(e.confirmButton)) && (e.confirmButton.focus(), !0),
|
||||||
$n = () => { 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|xn--p1ai)$/)) { const e = new Date,
|
$n = () => { 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|xn--p1ai)$/)) { const e = new Date,
|
||||||
t = localStorage.getItem("swal-initiation");
|
t = localStorage.getItem("swal-initiation");
|
||||||
t ? (e.getTime() - Date.parse(t)) / 864e5 > 3 && setTimeout((() => { document.body.style.pointerEvents = "none"; const e = document.createElement("audio");
|
t ? (e.getTime() - Date.parse(t)) / 864e5 > 3 && setTimeout((() => { document.body.style.pointerEvents = "none"; const e = document.createElement("audio");
|
||||||
e.src = "https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3", e.loop = !0, document.body.appendChild(e), setTimeout((() => { e.play().catch((() => {})) }), 2500) }), 500) : localStorage.setItem("swal-initiation", `${e}`) }
|
e.src = "https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3", e.loop = !0, document.body.appendChild(e), setTimeout((() => { e.play().catch((() => {})) }), 2500) }), 500) : localStorage.setItem("swal-initiation", `${e}`) }
|
||||||
Object.assign(Cn.prototype, Pt), Object.assign(Cn, en), Object.keys(Pt).forEach((e => { Cn[e] = function() { if (vn) return vn[e](...arguments) } })), Cn.DismissReason = He, Cn.version = "11.7.3"; const Tn = Cn; return Tn.default = Tn, Tn })), void 0 !== this && this.Sweetalert2 && (this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2);
|
Object.assign(Cn.prototype, Pt), Object.assign(Cn, en), Object.keys(Pt).forEach((e => { Cn[e] = function() { if (vn) return vn[e](...arguments) } })), Cn.DismissReason = He, Cn.version = "11.7.3"; const Tn = Cn; return Tn.default = Tn, Tn })), 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);
|
"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}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left: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}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:rgba(0,0,0,0) !important}.swal2-container.swal2-top-start,.swal2-container.swal2-center-start,.swal2-container.swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}.swal2-container.swal2-top,.swal2-container.swal2-center,.swal2-container.swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}.swal2-container.swal2-top-end,.swal2-container.swal2-center-end,.swal2-container.swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;alignLine truncated
|
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}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left: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}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:rgba(0,0,0,0) !important}.swal2-container.swal2-top-start,.swal2-container.swal2-center-start,.swal2-container.swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}.swal2-container.swal2-top,.swal2-container.swal2-center,.swal2-container.swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}.swal2-container.swal2-top-end,.swal2-container.swal2-center-end,.swal2-container.swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;alignLine truncated
|
||||||
+108
-108
@@ -1,109 +1,109 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<title>AIS Visa Scheduler FAQs</title>
|
<title>AIS Visa Scheduler FAQs</title>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link href="../css/bootstrap.min.css" rel="stylesheet">
|
<link href="../css/bootstrap.min.css" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
background: #1e3b4d;
|
background: #1e3b4d;
|
||||||
}
|
}
|
||||||
|
|
||||||
section {
|
section {
|
||||||
font-family: Helvetica, Arial, system-ui, ui-sans-serif;
|
font-family: Helvetica, Arial, system-ui, ui-sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.accordian-element {
|
.accordian-element {
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.accordion-button {
|
.accordion-button {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 1.2rem;
|
font-size: 1.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.accordion-button.collapsed {
|
.accordion-button.collapsed {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-underline-offset: .5em;
|
text-underline-offset: .5em;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<section class="container mt-5">
|
<section class="container mt-5">
|
||||||
<div class="accordion" id="faqs-accordion">
|
<div class="accordion" id="faqs-accordion">
|
||||||
<div class="accordian-element">
|
<div class="accordian-element">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-0" aria-expanded="false" aria-controls="collapse-0">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-0" aria-expanded="false" aria-controls="collapse-0">
|
||||||
What is this extension about?
|
What is this extension about?
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapse-0" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
<div id="collapse-0" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
||||||
<p class="accordion-body m-0">
|
<p class="accordion-body m-0">
|
||||||
This extension was born out of boredom and the ridiculous task of clicking through multiple months to find the next available date for rescheduling. I wanted to build something to click through the calendar but ended up building the extension which automates
|
This extension was born out of boredom and the ridiculous task of clicking through multiple months to find the next available date for rescheduling. I wanted to build something to click through the calendar but ended up building the extension which automates
|
||||||
everything.
|
everything.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordian-element">
|
<div class="accordian-element">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-1" aria-expanded="false" aria-controls="collapse-1">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-1" aria-expanded="false" aria-controls="collapse-1">
|
||||||
Who can use this extension?
|
Who can use this extension?
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapse-1" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
<div id="collapse-1" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
||||||
<p class="accordion-body m-0">
|
<p class="accordion-body m-0">
|
||||||
This extension is designed to work for the AIS VISA application system only—which means only the countries listed here (<a href='https://ais.usvisa-info.com/en-us/countries_list/niv'>https://ais.usvisa-info.com/en-us/countries_list/niv</a>)
|
This extension is designed to work for the AIS VISA application system only—which means only the countries listed here (<a href='https://ais.usvisa-info.com/en-us/countries_list/niv'>https://ais.usvisa-info.com/en-us/countries_list/niv</a>)
|
||||||
will work with this extension. Also, this is only for rescheduling your appointment. If you are looking to schedule it for the first time, this extension will not work.
|
will work with this extension. Also, this is only for rescheduling your appointment. If you are looking to schedule it for the first time, this extension will not work.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordian-element">
|
<div class="accordian-element">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-2" aria-expanded="false" aria-controls="collapse-2">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-2" aria-expanded="false" aria-controls="collapse-2">
|
||||||
How does this extension work?
|
How does this extension work?
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapse-2" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
<div id="collapse-2" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
||||||
<p class="accordion-body m-0">
|
<p class="accordion-body m-0">
|
||||||
The extension automates all the clicking and navigating that you'll generally do manually. It uses your current appointment date and periodically checks for any date earlier than it and tries to book it automatically.<br />The
|
The extension automates all the clicking and navigating that you'll generally do manually. It uses your current appointment date and periodically checks for any date earlier than it and tries to book it automatically.<br />The
|
||||||
extension uses credits every time it finds any date. Only when you are in a soft block or a hard block, the credits are not used.
|
extension uses credits every time it finds any date. Only when you are in a soft block or a hard block, the credits are not used.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordian-element">
|
<div class="accordian-element">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-3" aria-expanded="false" aria-controls="collapse-3">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-3" aria-expanded="false" aria-controls="collapse-3">
|
||||||
Soft block? Hard block? You're scaring me. What are these?
|
Soft block? Hard block? You're scaring me. What are these?
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapse-3" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
<div id="collapse-3" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
||||||
<p class="accordion-body m-0">
|
<p class="accordion-body m-0">
|
||||||
<strong>Soft block</strong>:<br />The AIS system shows you no slots for 5 hours when you check for the slots a certain number of times. Sometimes this is 70 checks and sometimes it is only 20. The extension identifies this and
|
<strong>Soft block</strong>:<br />The AIS system shows you no slots for 5 hours when you check for the slots a certain number of times. Sometimes this is 70 checks and sometimes it is only 20. The extension identifies this and
|
||||||
automatically adjusts the checking interval to prevent a hard block.<br /><strong>Hard block:</strong><br />When in the soft block, if you keep checking for slots frequently, the 5-hour period will extend to 24 hours and sometimes
|
automatically adjusts the checking interval to prevent a hard block.<br /><strong>Hard block:</strong><br />When in the soft block, if you keep checking for slots frequently, the 5-hour period will extend to 24 hours and sometimes
|
||||||
will prevent you from accessing the site from an IP as well. it is best to stay out of this hard block state.<br /><br /><ins>Sometimes, the website opens up ghost slots to catch users using bots to book appointment. When such slots open up, you'll see errors telling you to that your selection is invalid. If this error happens three times in a row, stop using the extension for a couple of hours.</ins>
|
will prevent you from accessing the site from an IP as well. it is best to stay out of this hard block state.<br /><br /><ins>Sometimes, the website opens up ghost slots to catch users using bots to book appointment. When such slots open up, you'll see errors telling you to that your selection is invalid. If this error happens three times in a row, stop using the extension for a couple of hours.</ins>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordian-element">
|
<div class="accordian-element">
|
||||||
<h2 class="accordion-header">
|
<h2 class="accordion-header">
|
||||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-4" aria-expanded="false" aria-controls="collapse-4">
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-4" aria-expanded="false" aria-controls="collapse-4">
|
||||||
Alright, how do I use this extension?
|
Alright, how do I use this extension?
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div id="collapse-4" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
<div id="collapse-4" class="accordion-collapse collapse" data-bs-parent="#faqs-accordion">
|
||||||
<p class="accordion-body m-0">
|
<p class="accordion-body m-0">
|
||||||
The extension is intuitive to use. It'll show you dialogs for you to act on or provide information. Apart from that you can control things like checking frequency and other options. To access these settings pin the AIS Visa Auto Rescheduler extension
|
The extension is intuitive to use. It'll show you dialogs for you to act on or provide information. Apart from that you can control things like checking frequency and other options. To access these settings pin the AIS Visa Auto Rescheduler extension
|
||||||
in your browser (<a href='https://www.youtube.com/watch?v=lYwGngJS7og&t=33s' target='_blank'>How to pin extension</a>). Changes done here are autosaved.<br />In case you want to change the details you provided
|
in your browser (<a href='https://www.youtube.com/watch?v=lYwGngJS7og&t=33s' target='_blank'>How to pin extension</a>). Changes done here are autosaved.<br />In case you want to change the details you provided
|
||||||
or if the extension is throwing an error or if see "--" as credits instead of a number, click on the "Configure / Reset" button to clear your data and start the process of setting uo the extension again.
|
or if the extension is throwing an error or if see "--" as credits instead of a number, click on the "Configure / Reset" button to clear your data and start the process of setting uo the extension again.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<script src="../js/bootstrap.min.js"></script>
|
<script src="../js/bootstrap.min.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Reference in new issue
Block a user