1 line
485 KiB
JSON
1 line
485 KiB
JSON
{"ast":null,"code":"/*!\n* sweetalert2 v11.10.6\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory());\n})(this, function () {\n 'use strict';\n\n function _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n }\n function _construct(t, e, r) {\n if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && _setPrototypeOf(p, r.prototype), p;\n }\n function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n }\n function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n }\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return _classApplyDescriptorGet(receiver, descriptor);\n }\n function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\");\n _classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n }\n function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n }\n function _classPrivateFieldInitSpec(obj, privateMap, value) {\n _checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n }\n var RESTORE_FOCUS_TIMEOUT = 100;\n\n /** @type {GlobalState} */\n var globalState = {};\n var focusPreviousActiveElement = function focusPreviousActiveElement() {\n if (globalState.previousActiveElement instanceof HTMLElement) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n\n /**\n * Restore previous active (focused) element\n *\n * @param {boolean} returnFocus\n * @returns {Promise<void>}\n */\n var restoreActiveElement = function restoreActiveElement(returnFocus) {\n return new Promise(function (resolve) {\n if (!returnFocus) {\n return resolve();\n }\n var x = window.scrollX;\n var y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(function () {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n window.scrollTo(x, y);\n });\n };\n var swalPrefix = 'swal2-';\n\n /**\n * @typedef\n * { | 'container'\n * | 'shown'\n * | 'height-auto'\n * | 'iosfix'\n * | 'popup'\n * | 'modal'\n * | 'no-backdrop'\n * | 'no-transition'\n * | 'toast'\n * | 'toast-shown'\n * | 'show'\n * | 'hide'\n * | 'close'\n * | 'title'\n * | 'html-container'\n * | 'actions'\n * | 'confirm'\n * | 'deny'\n * | 'cancel'\n * | 'default-outline'\n * | 'footer'\n * | 'icon'\n * | 'icon-content'\n * | 'image'\n * | 'input'\n * | 'file'\n * | 'range'\n * | 'select'\n * | 'radio'\n * | 'checkbox'\n * | 'label'\n * | 'textarea'\n * | 'inputerror'\n * | 'input-label'\n * | 'validation-message'\n * | 'progress-steps'\n * | 'active-progress-step'\n * | 'progress-step'\n * | 'progress-step-line'\n * | 'loader'\n * | 'loading'\n * | 'styled'\n * | 'top'\n * | 'top-start'\n * | 'top-end'\n * | 'top-left'\n * | 'top-right'\n * | 'center'\n * | 'center-start'\n * | 'center-end'\n * | 'center-left'\n * | 'center-right'\n * | 'bottom'\n * | 'bottom-start'\n * | 'bottom-end'\n * | 'bottom-left'\n * | 'bottom-right'\n * | 'grow-row'\n * | 'grow-column'\n * | 'grow-fullscreen'\n * | 'rtl'\n * | 'timer-progress-bar'\n * | 'timer-progress-bar-container'\n * | 'scrollbar-measure'\n * | 'icon-success'\n * | 'icon-warning'\n * | 'icon-info'\n * | 'icon-question'\n * | 'icon-error'\n * } SwalClass\n * @typedef {Record<SwalClass, string>} SwalClasses\n */\n\n /**\n * @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon\n * @typedef {Record<SwalIcon, string>} SwalIcons\n */\n\n /** @type {SwalClass[]} */\n var classNames = ['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error'];\n var swalClasses = classNames.reduce(function (acc, className) {\n acc[className] = swalPrefix + className;\n return acc;\n }, /** @type {SwalClasses} */{});\n\n /** @type {SwalIcon[]} */\n var icons = ['success', 'warning', 'info', 'question', 'error'];\n var iconTypes = icons.reduce(function (acc, icon) {\n acc[icon] = swalPrefix + icon;\n return acc;\n }, /** @type {SwalIcons} */{});\n var consolePrefix = 'SweetAlert2:';\n\n /**\n * Capitalize the first letter of a string\n *\n * @param {string} str\n * @returns {string}\n */\n var capitalizeFirstLetter = function capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n /**\n * Standardize console warnings\n *\n * @param {string | string[]} message\n */\n var warn = function warn(message) {\n console.warn(\"\".concat(consolePrefix, \" \").concat(_typeof(message) === 'object' ? message.join(' ') : message));\n };\n\n /**\n * Standardize console errors\n *\n * @param {string} message\n */\n var error = function error(message) {\n console.error(\"\".concat(consolePrefix, \" \").concat(message));\n };\n\n /**\n * Private global state for `warnOnce`\n *\n * @type {string[]}\n * @private\n */\n var previousWarnOnceMessages = [];\n\n /**\n * Show a console warning, but only if it hasn't already been shown\n *\n * @param {string} message\n */\n var warnOnce = function warnOnce(message) {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n\n /**\n * Show a one-time console warning about deprecated params/methods\n *\n * @param {string} deprecatedParam\n * @param {string} useInstead\n */\n var warnAboutDeprecation = function warnAboutDeprecation(deprecatedParam, useInstead) {\n warnOnce(\"\\\"\".concat(deprecatedParam, \"\\\" is deprecated and will be removed in the next major release. Please use \\\"\").concat(useInstead, \"\\\" instead.\"));\n };\n\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n *\n * @param {Function | any} arg\n * @returns {any}\n */\n var callIfFunction = function callIfFunction(arg) {\n return typeof arg === 'function' ? arg() : arg;\n };\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n var hasToPromiseFn = function hasToPromiseFn(arg) {\n return arg && typeof arg.toPromise === 'function';\n };\n\n /**\n * @param {any} arg\n * @returns {Promise<any>}\n */\n var asPromise = function asPromise(arg) {\n return hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n };\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n var isPromise = function isPromise(arg) {\n return arg && Promise.resolve(arg) === arg;\n };\n\n /**\n * Gets the popup container which contains the backdrop and the popup itself.\n *\n * @returns {HTMLElement | null}\n */\n var getContainer = function getContainer() {\n return document.body.querySelector(\".\".concat(swalClasses.container));\n };\n\n /**\n * @param {string} selectorString\n * @returns {HTMLElement | null}\n */\n var elementBySelector = function elementBySelector(selectorString) {\n var container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n\n /**\n * @param {string} className\n * @returns {HTMLElement | null}\n */\n var elementByClass = function elementByClass(className) {\n return elementBySelector(\".\".concat(className));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getPopup = function getPopup() {\n return elementByClass(swalClasses.popup);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getIcon = function getIcon() {\n return elementByClass(swalClasses.icon);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getIconContent = function getIconContent() {\n return elementByClass(swalClasses['icon-content']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getTitle = function getTitle() {\n return elementByClass(swalClasses.title);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getHtmlContainer = function getHtmlContainer() {\n return elementByClass(swalClasses['html-container']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getImage = function getImage() {\n return elementByClass(swalClasses.image);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getProgressSteps = function getProgressSteps() {\n return elementByClass(swalClasses['progress-steps']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getValidationMessage = function getValidationMessage() {\n return elementByClass(swalClasses['validation-message']);\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getConfirmButton = function getConfirmButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.confirm));\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getCancelButton = function getCancelButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.cancel));\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getDenyButton = function getDenyButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.deny));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getInputLabel = function getInputLabel() {\n return elementByClass(swalClasses['input-label']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getLoader = function getLoader() {\n return elementBySelector(\".\".concat(swalClasses.loader));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getActions = function getActions() {\n return elementByClass(swalClasses.actions);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getFooter = function getFooter() {\n return elementByClass(swalClasses.footer);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getTimerProgressBar = function getTimerProgressBar() {\n return elementByClass(swalClasses['timer-progress-bar']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getCloseButton = function getCloseButton() {\n return elementByClass(swalClasses.close);\n };\n\n // https://github.com/jkup/focusable/blob/master/index.js\n var focusable = \"\\n a[href],\\n area[href],\\n input:not([disabled]),\\n select:not([disabled]),\\n textarea:not([disabled]),\\n button:not([disabled]),\\n iframe,\\n object,\\n embed,\\n [tabindex=\\\"0\\\"],\\n [contenteditable],\\n audio[controls],\\n video[controls],\\n summary\\n\";\n /**\n * @returns {HTMLElement[]}\n */\n var getFocusableElements = function getFocusableElements() {\n var popup = getPopup();\n if (!popup) {\n return [];\n }\n /** @type {NodeListOf<HTMLElement>} */\n var focusableElementsWithTabindex = popup.querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])');\n var focusableElementsWithTabindexSorted = Array.from(focusableElementsWithTabindex)\n // sort according to tabindex\n .sort(function (a, b) {\n var tabindexA = parseInt(a.getAttribute('tabindex') || '0');\n var tabindexB = parseInt(b.getAttribute('tabindex') || '0');\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n return 0;\n });\n\n /** @type {NodeListOf<HTMLElement>} */\n var otherFocusableElements = popup.querySelectorAll(focusable);\n var otherFocusableElementsFiltered = Array.from(otherFocusableElements).filter(function (el) {\n return el.getAttribute('tabindex') !== '-1';\n });\n return _toConsumableArray(new Set(focusableElementsWithTabindexSorted.concat(otherFocusableElementsFiltered))).filter(function (el) {\n return isVisible$1(el);\n });\n };\n\n /**\n * @returns {boolean}\n */\n var isModal = function isModal() {\n return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n };\n\n /**\n * @returns {boolean}\n */\n var isToast = function isToast() {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n return hasClass(popup, swalClasses.toast);\n };\n\n /**\n * @returns {boolean}\n */\n var isLoading = function isLoading() {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n return popup.hasAttribute('data-loading');\n };\n\n /**\n * Securely set innerHTML of an element\n * https://github.com/sweetalert2/sweetalert2/issues/1926\n *\n * @param {HTMLElement} elem\n * @param {string} html\n */\n var setInnerHtml = function setInnerHtml(elem, html) {\n elem.textContent = '';\n if (html) {\n var parser = new DOMParser();\n var parsed = parser.parseFromString(html, \"text/html\");\n var head = parsed.querySelector('head');\n head && Array.from(head.childNodes).forEach(function (child) {\n elem.appendChild(child);\n });\n var body = parsed.querySelector('body');\n body && Array.from(body.childNodes).forEach(function (child) {\n if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) {\n elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507\n } else {\n elem.appendChild(child);\n }\n });\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {boolean}\n */\n var hasClass = function hasClass(elem, className) {\n if (!className) {\n return false;\n }\n var classList = className.split(/\\s+/);\n for (var i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n */\n var removeCustomClasses = function removeCustomClasses(elem, params) {\n Array.from(elem.classList).forEach(function (className) {\n if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass || {}).includes(className)) {\n elem.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n * @param {string} className\n */\n var applyCustomClass = function applyCustomClass(elem, params, className) {\n removeCustomClasses(elem, params);\n if (params.customClass && params.customClass[className]) {\n if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n warn(\"Invalid type of customClass.\".concat(className, \"! Expected string or iterable object, got \\\"\").concat(_typeof(params.customClass[className]), \"\\\"\"));\n return;\n }\n addClass(elem, params.customClass[className]);\n }\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {import('./renderers/renderInput').InputClass | SweetAlertInput} inputClass\n * @returns {HTMLInputElement | null}\n */\n var getInput$1 = function getInput(popup, inputClass) {\n if (!inputClass) {\n return null;\n }\n switch (inputClass) {\n case 'select':\n case 'textarea':\n case 'file':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses[inputClass]));\n case 'checkbox':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.checkbox, \" input\"));\n case 'radio':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:checked\")) || popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:first-child\"));\n case 'range':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.range, \" input\"));\n default:\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.input));\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n */\n var focusInput = function focusInput(input) {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n var val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n * @param {boolean} condition\n */\n var toggleClass = function toggleClass(target, classList, condition) {\n if (!target || !classList) {\n return;\n }\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n classList.forEach(function (className) {\n if (Array.isArray(target)) {\n target.forEach(function (elem) {\n condition ? elem.classList.add(className) : elem.classList.remove(className);\n });\n } else {\n condition ? target.classList.add(className) : target.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n var addClass = function addClass(target, classList) {\n toggleClass(target, classList, true);\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n var removeClass = function removeClass(target, classList) {\n toggleClass(target, classList, false);\n };\n\n /**\n * Get direct child of an element by class name\n *\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {HTMLElement | undefined}\n */\n var getDirectChildByClass = function getDirectChildByClass(elem, className) {\n var children = Array.from(elem.children);\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child instanceof HTMLElement && hasClass(child, className)) {\n return child;\n }\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} property\n * @param {*} value\n */\n var applyNumericalStyle = function applyNumericalStyle(elem, property, value) {\n if (value === \"\".concat(parseInt(value))) {\n value = parseInt(value);\n }\n if (value || parseInt(value) === 0) {\n elem.style.setProperty(property, typeof value === 'number' ? \"\".concat(value, \"px\") : value);\n } else {\n elem.style.removeProperty(property);\n }\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n var show = function show(elem) {\n var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n elem && (elem.style.display = display);\n };\n\n /**\n * @param {HTMLElement | null} elem\n */\n var hide = function hide(elem) {\n elem && (elem.style.display = 'none');\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n var showWhenInnerHtmlPresent = function showWhenInnerHtmlPresent(elem) {\n var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block';\n if (!elem) {\n return;\n }\n new MutationObserver(function () {\n toggle(elem, elem.innerHTML, display);\n }).observe(elem, {\n childList: true,\n subtree: true\n });\n };\n\n /**\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {string} property\n * @param {string} value\n */\n var setStyle = function setStyle(parent, selector, property, value) {\n /** @type {HTMLElement | null} */\n var el = parent.querySelector(selector);\n if (el) {\n el.style.setProperty(property, value);\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {any} condition\n * @param {string} display\n */\n var toggle = function toggle(elem, condition) {\n var display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n condition ? show(elem, display) : hide(elem);\n };\n\n /**\n * borrowed from jquery $(elem).is(':visible') implementation\n *\n * @param {HTMLElement | null} elem\n * @returns {boolean}\n */\n var isVisible$1 = function isVisible(elem) {\n return !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n };\n\n /**\n * @returns {boolean}\n */\n var allButtonsAreHidden = function allButtonsAreHidden() {\n return !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton());\n };\n\n /**\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n var isScrollable = function isScrollable(elem) {\n return !!(elem.scrollHeight > elem.clientHeight);\n };\n\n /**\n * borrowed from https://stackoverflow.com/a/46352119\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n var hasCssAnimation = function hasCssAnimation(elem) {\n var style = window.getComputedStyle(elem);\n var animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n var transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n\n /**\n * @param {number} timer\n * @param {boolean} reset\n */\n var animateTimerProgressBar = function animateTimerProgressBar(timer) {\n var reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n if (isVisible$1(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n setTimeout(function () {\n timerProgressBar.style.transition = \"width \".concat(timer / 1000, \"s linear\");\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n var stopTimerProgressBar = function stopTimerProgressBar() {\n var timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n var timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n var timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n var timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.width = \"\".concat(timerProgressBarPercent, \"%\");\n };\n\n /**\n * Detect Node env\n *\n * @returns {boolean}\n */\n var isNodeEnv = function isNodeEnv() {\n return typeof window === 'undefined' || typeof document === 'undefined';\n };\n var sweetHTML = \"\\n <div aria-labelledby=\\\"\".concat(swalClasses.title, \"\\\" aria-describedby=\\\"\").concat(swalClasses['html-container'], \"\\\" class=\\\"\").concat(swalClasses.popup, \"\\\" tabindex=\\\"-1\\\">\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.close, \"\\\"></button>\\n <ul class=\\\"\").concat(swalClasses['progress-steps'], \"\\\"></ul>\\n <div class=\\\"\").concat(swalClasses.icon, \"\\\"></div>\\n <img class=\\\"\").concat(swalClasses.image, \"\\\" />\\n <h2 class=\\\"\").concat(swalClasses.title, \"\\\" id=\\\"\").concat(swalClasses.title, \"\\\"></h2>\\n <div class=\\\"\").concat(swalClasses['html-container'], \"\\\" id=\\\"\").concat(swalClasses['html-container'], \"\\\"></div>\\n <input class=\\\"\").concat(swalClasses.input, \"\\\" id=\\\"\").concat(swalClasses.input, \"\\\" />\\n <input type=\\\"file\\\" class=\\\"\").concat(swalClasses.file, \"\\\" />\\n <div class=\\\"\").concat(swalClasses.range, \"\\\">\\n <input type=\\\"range\\\" />\\n <output></output>\\n </div>\\n <select class=\\\"\").concat(swalClasses.select, \"\\\" id=\\\"\").concat(swalClasses.select, \"\\\"></select>\\n <div class=\\\"\").concat(swalClasses.radio, \"\\\"></div>\\n <label class=\\\"\").concat(swalClasses.checkbox, \"\\\">\\n <input type=\\\"checkbox\\\" id=\\\"\").concat(swalClasses.checkbox, \"\\\" />\\n <span class=\\\"\").concat(swalClasses.label, \"\\\"></span>\\n </label>\\n <textarea class=\\\"\").concat(swalClasses.textarea, \"\\\" id=\\\"\").concat(swalClasses.textarea, \"\\\"></textarea>\\n <div class=\\\"\").concat(swalClasses['validation-message'], \"\\\" id=\\\"\").concat(swalClasses['validation-message'], \"\\\"></div>\\n <div class=\\\"\").concat(swalClasses.actions, \"\\\">\\n <div class=\\\"\").concat(swalClasses.loader, \"\\\"></div>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.confirm, \"\\\"></button>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.deny, \"\\\"></button>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.cancel, \"\\\"></button>\\n </div>\\n <div class=\\\"\").concat(swalClasses.footer, \"\\\"></div>\\n <div class=\\\"\").concat(swalClasses['timer-progress-bar-container'], \"\\\">\\n <div class=\\\"\").concat(swalClasses['timer-progress-bar'], \"\\\"></div>\\n </div>\\n </div>\\n\").replace(/(^|\\n)\\s*/g, '');\n\n /**\n * @returns {boolean}\n */\n var resetOldContainer = function resetOldContainer() {\n var oldContainer = getContainer();\n if (!oldContainer) {\n return false;\n }\n oldContainer.remove();\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n var resetValidationMessage$1 = function resetValidationMessage() {\n globalState.currentInstance.resetValidationMessage();\n };\n var addInputChangeListeners = function addInputChangeListeners() {\n var popup = getPopup();\n var input = getDirectChildByClass(popup, swalClasses.input);\n var file = getDirectChildByClass(popup, swalClasses.file);\n /** @type {HTMLInputElement} */\n var range = popup.querySelector(\".\".concat(swalClasses.range, \" input\"));\n /** @type {HTMLOutputElement} */\n var rangeOutput = popup.querySelector(\".\".concat(swalClasses.range, \" output\"));\n var select = getDirectChildByClass(popup, swalClasses.select);\n /** @type {HTMLInputElement} */\n var checkbox = popup.querySelector(\".\".concat(swalClasses.checkbox, \" input\"));\n var textarea = getDirectChildByClass(popup, swalClasses.textarea);\n input.oninput = resetValidationMessage$1;\n file.onchange = resetValidationMessage$1;\n select.onchange = resetValidationMessage$1;\n checkbox.onchange = resetValidationMessage$1;\n textarea.oninput = resetValidationMessage$1;\n range.oninput = function () {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n range.onchange = function () {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n };\n\n /**\n * @param {string | HTMLElement} target\n * @returns {HTMLElement}\n */\n var getTarget = function getTarget(target) {\n return typeof target === 'string' ? document.querySelector(target) : target;\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var setupAccessibility = function setupAccessibility(params) {\n var popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n\n /**\n * @param {HTMLElement} targetElement\n */\n var setupRTL = function setupRTL(targetElement) {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n\n /**\n * Add modal + backdrop + no-war message for Russians to DOM\n *\n * @param {SweetAlertOptions} params\n */\n var init = function init(params) {\n // Clean up the old popup container if it exists\n var oldContainerExisted = resetOldContainer();\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n var container = document.createElement('div');\n container.className = swalClasses.container;\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n setInnerHtml(container, sweetHTML);\n var targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n\n /**\n * @param {HTMLElement | object | string} param\n * @param {HTMLElement} target\n */\n var parseHtmlToContainer = function parseHtmlToContainer(param, target) {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param);\n }\n\n // Object\n else if (_typeof(param) === 'object') {\n handleObject(param, target);\n }\n\n // Plain string\n else if (param) {\n setInnerHtml(target, param);\n }\n };\n\n /**\n * @param {any} param\n * @param {HTMLElement} target\n */\n var handleObject = function handleObject(param, target) {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param);\n }\n\n // For other objects use their string representation\n else {\n setInnerHtml(target, param.toString());\n }\n };\n\n /**\n * @param {HTMLElement} target\n * @param {any} elem\n */\n var handleJqueryElem = function handleJqueryElem(target, elem) {\n target.textContent = '';\n if (0 in elem) {\n for (var i = 0; (i in elem); i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n\n /**\n * @returns {'webkitAnimationEnd' | 'animationend' | false}\n */\n var animationEndEvent = function () {\n // Prevent run in Node env\n if (isNodeEnv()) {\n return false;\n }\n var testEl = document.createElement('div');\n\n // Chrome, Safari and Opera\n if (typeof testEl.style.webkitAnimation !== 'undefined') {\n return 'webkitAnimationEnd';\n }\n\n // Standard syntax\n if (typeof testEl.style.animation !== 'undefined') {\n return 'animationend';\n }\n return false;\n }();\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderActions = function renderActions(instance, params) {\n var actions = getActions();\n var loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n\n // Actions (buttons) wrapper\n if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n hide(actions);\n } else {\n show(actions);\n }\n\n // Custom class\n applyCustomClass(actions, params, 'actions');\n\n // Render all the buttons\n renderButtons(actions, loader, params);\n\n // Loader\n setInnerHtml(loader, params.loaderHtml || '');\n applyCustomClass(loader, params, 'loader');\n };\n\n /**\n * @param {HTMLElement} actions\n * @param {HTMLElement} loader\n * @param {SweetAlertOptions} params\n */\n function renderButtons(actions, loader, params) {\n var confirmButton = getConfirmButton();\n var denyButton = getDenyButton();\n var cancelButton = getCancelButton();\n if (!confirmButton || !denyButton || !cancelButton) {\n return;\n }\n\n // Render buttons\n renderButton(confirmButton, 'confirm', params);\n renderButton(denyButton, 'deny', params);\n renderButton(cancelButton, 'cancel', params);\n handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n if (params.reverseButtons) {\n if (params.toast) {\n actions.insertBefore(cancelButton, confirmButton);\n actions.insertBefore(denyButton, confirmButton);\n } else {\n actions.insertBefore(cancelButton, loader);\n actions.insertBefore(denyButton, loader);\n actions.insertBefore(confirmButton, loader);\n }\n }\n }\n\n /**\n * @param {HTMLElement} confirmButton\n * @param {HTMLElement} denyButton\n * @param {HTMLElement} cancelButton\n * @param {SweetAlertOptions} params\n */\n function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n if (!params.buttonsStyling) {\n removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n return;\n }\n addClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n\n // Buttons background colors\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n addClass(confirmButton, swalClasses['default-outline']);\n }\n if (params.denyButtonColor) {\n denyButton.style.backgroundColor = params.denyButtonColor;\n addClass(denyButton, swalClasses['default-outline']);\n }\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n addClass(cancelButton, swalClasses['default-outline']);\n }\n }\n\n /**\n * @param {HTMLElement} button\n * @param {'confirm' | 'deny' | 'cancel'} buttonType\n * @param {SweetAlertOptions} params\n */\n function renderButton(button, buttonType, params) {\n var buttonName = /** @type {'Confirm' | 'Deny' | 'Cancel'} */capitalizeFirstLetter(buttonType);\n toggle(button, params[\"show\".concat(buttonName, \"Button\")], 'inline-block');\n setInnerHtml(button, params[\"\".concat(buttonType, \"ButtonText\")] || ''); // Set caption text\n button.setAttribute('aria-label', params[\"\".concat(buttonType, \"ButtonAriaLabel\")] || ''); // ARIA label\n\n // Add buttons custom classes\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, \"\".concat(buttonType, \"Button\"));\n }\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderCloseButton = function renderCloseButton(instance, params) {\n var closeButton = getCloseButton();\n if (!closeButton) {\n return;\n }\n setInnerHtml(closeButton, params.closeButtonHtml || '');\n\n // Custom class\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel || '');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderContainer = function renderContainer(instance, params) {\n var container = getContainer();\n if (!container) {\n return;\n }\n handleBackdropParam(container, params.backdrop);\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow);\n\n // Custom class\n applyCustomClass(container, params, 'container');\n };\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['backdrop']} backdrop\n */\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['position']} position\n */\n function handlePositionParam(container, position) {\n if (!position) {\n return;\n }\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['grow']} grow\n */\n function handleGrowParam(container, grow) {\n if (!grow) {\n return;\n }\n addClass(container, swalClasses[\"grow-\".concat(grow)]);\n }\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateProps = {\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n\n /** @type {InputClass[]} */\n var inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderInput = function renderInput(instance, params) {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n var innerParams = privateProps.innerParams.get(instance);\n var rerender = !innerParams || params.input !== innerParams.input;\n inputClasses.forEach(function (inputClass) {\n var inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]);\n if (!inputContainer) {\n return;\n }\n\n // set attributes\n setAttributes(inputClass, params.inputAttributes);\n\n // set class\n inputContainer.className = swalClasses[inputClass];\n if (rerender) {\n hide(inputContainer);\n }\n });\n if (params.input) {\n if (rerender) {\n showInput(params);\n }\n // set custom class\n setCustomClass(params);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var showInput = function showInput(params) {\n if (!params.input) {\n return;\n }\n if (!renderInputType[params.input]) {\n error(\"Unexpected type of input! Expected \".concat(Object.keys(renderInputType).join(' | '), \", got \\\"\").concat(params.input, \"\\\"\"));\n return;\n }\n var inputContainer = getInputContainer(params.input);\n var input = renderInputType[params.input](inputContainer, params);\n show(inputContainer);\n\n // input autofocus\n if (params.inputAutoFocus) {\n setTimeout(function () {\n focusInput(input);\n });\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n */\n var removeAttributes = function removeAttributes(input) {\n for (var i = 0; i < input.attributes.length; i++) {\n var attrName = input.attributes[i].name;\n if (!['id', 'type', 'value', 'style'].includes(attrName)) {\n input.removeAttribute(attrName);\n }\n }\n };\n\n /**\n * @param {InputClass} inputClass\n * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n */\n var setAttributes = function setAttributes(inputClass, inputAttributes) {\n var input = getInput$1(getPopup(), inputClass);\n if (!input) {\n return;\n }\n removeAttributes(input);\n for (var attr in inputAttributes) {\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var setCustomClass = function setCustomClass(params) {\n var inputContainer = getInputContainer(params.input);\n if (_typeof(params.customClass) === 'object') {\n addClass(inputContainer, params.customClass.input);\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions} params\n */\n var setInputPlaceholder = function setInputPlaceholder(input, params) {\n if (!input.placeholder || params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n\n /**\n * @param {Input} input\n * @param {Input} prependTo\n * @param {SweetAlertOptions} params\n */\n var setInputLabel = function setInputLabel(input, prependTo, params) {\n if (params.inputLabel) {\n var label = document.createElement('label');\n var labelClass = swalClasses['input-label'];\n label.setAttribute('for', input.id);\n label.className = labelClass;\n if (_typeof(params.customClass) === 'object') {\n addClass(label, params.customClass.inputLabel);\n }\n label.innerText = params.inputLabel;\n prependTo.insertAdjacentElement('beforebegin', label);\n }\n };\n\n /**\n * @param {SweetAlertOptions['input']} inputType\n * @returns {HTMLElement}\n */\n var getInputContainer = function getInputContainer(inputType) {\n return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input);\n };\n\n /**\n * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions['inputValue']} inputValue\n */\n var checkAndSetInputValue = function checkAndSetInputValue(input, inputValue) {\n if (['string', 'number'].includes(_typeof(inputValue))) {\n input.value = \"\".concat(inputValue);\n } else if (!isPromise(inputValue)) {\n warn(\"Unexpected type of inputValue! Expected \\\"string\\\", \\\"number\\\" or \\\"Promise\\\", got \\\"\".concat(_typeof(inputValue), \"\\\"\"));\n }\n };\n\n /** @type {Record<SweetAlertInput, (input: Input | HTMLElement, params: SweetAlertOptions) => Input>} */\n var renderInputType = {};\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = function (input, params) {\n checkAndSetInputValue(input, params.inputValue);\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.file = function (input, params) {\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n return input;\n };\n\n /**\n * @param {HTMLInputElement} range\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.range = function (range, params) {\n var rangeInput = range.querySelector('input');\n var rangeOutput = range.querySelector('output');\n checkAndSetInputValue(rangeInput, params.inputValue);\n rangeInput.type = params.input;\n checkAndSetInputValue(rangeOutput, params.inputValue);\n setInputLabel(rangeInput, range, params);\n return range;\n };\n\n /**\n * @param {HTMLSelectElement} select\n * @param {SweetAlertOptions} params\n * @returns {HTMLSelectElement}\n */\n renderInputType.select = function (select, params) {\n select.textContent = '';\n if (params.inputPlaceholder) {\n var placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n setInputLabel(select, select, params);\n return select;\n };\n\n /**\n * @param {HTMLInputElement} radio\n * @returns {HTMLInputElement}\n */\n renderInputType.radio = function (radio) {\n radio.textContent = '';\n return radio;\n };\n\n /**\n * @param {HTMLLabelElement} checkboxContainer\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.checkbox = function (checkboxContainer, params) {\n var checkbox = getInput$1(getPopup(), 'checkbox');\n checkbox.value = '1';\n checkbox.checked = Boolean(params.inputValue);\n var label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder);\n return checkbox;\n };\n\n /**\n * @param {HTMLTextAreaElement} textarea\n * @param {SweetAlertOptions} params\n * @returns {HTMLTextAreaElement}\n */\n renderInputType.textarea = function (textarea, params) {\n checkAndSetInputValue(textarea, params.inputValue);\n setInputPlaceholder(textarea, params);\n setInputLabel(textarea, textarea, params);\n\n /**\n * @param {HTMLElement} el\n * @returns {number}\n */\n var getMargin = function getMargin(el) {\n return parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight);\n };\n\n // https://github.com/sweetalert2/sweetalert2/issues/2291\n setTimeout(function () {\n // https://github.com/sweetalert2/sweetalert2/issues/1699\n if ('MutationObserver' in window) {\n var initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n var textareaResizeHandler = function textareaResizeHandler() {\n // check if texarea is still in document (i.e. popup wasn't closed in the meantime)\n if (!document.body.contains(textarea)) {\n return;\n }\n var textareaWidth = textarea.offsetWidth + getMargin(textarea);\n if (textareaWidth > initialPopupWidth) {\n getPopup().style.width = \"\".concat(textareaWidth, \"px\");\n } else {\n applyNumericalStyle(getPopup(), 'width', params.width);\n }\n };\n new MutationObserver(textareaResizeHandler).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n });\n return textarea;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderContent = function renderContent(instance, params) {\n var htmlContainer = getHtmlContainer();\n if (!htmlContainer) {\n return;\n }\n showWhenInnerHtmlPresent(htmlContainer);\n applyCustomClass(htmlContainer, params, 'htmlContainer');\n\n // Content as HTML\n if (params.html) {\n parseHtmlToContainer(params.html, htmlContainer);\n show(htmlContainer, 'block');\n }\n\n // Content as plain text\n else if (params.text) {\n htmlContainer.textContent = params.text;\n show(htmlContainer, 'block');\n }\n\n // No content\n else {\n hide(htmlContainer);\n }\n renderInput(instance, params);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderFooter = function renderFooter(instance, params) {\n var footer = getFooter();\n if (!footer) {\n return;\n }\n showWhenInnerHtmlPresent(footer);\n toggle(footer, params.footer, 'block');\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n }\n\n // Custom class\n applyCustomClass(footer, params, 'footer');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderIcon = function renderIcon(instance, params) {\n var innerParams = privateProps.innerParams.get(instance);\n var icon = getIcon();\n if (!icon) {\n return;\n }\n\n // if the given icon already rendered, apply the styling without re-rendering the icon\n if (innerParams && params.icon === innerParams.icon) {\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n return;\n }\n if (!params.icon && !params.iconHtml) {\n hide(icon);\n return;\n }\n if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n error(\"Unknown icon! Expected \\\"success\\\", \\\"error\\\", \\\"warning\\\", \\\"info\\\" or \\\"question\\\", got \\\"\".concat(params.icon, \"\\\"\"));\n hide(icon);\n return;\n }\n show(icon);\n\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n\n // Animate icon\n addClass(icon, params.showClass && params.showClass.icon);\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var applyStyles = function applyStyles(icon, params) {\n for (var _i = 0, _Object$entries = Object.entries(iconTypes); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n iconType = _Object$entries$_i[0],\n iconClassName = _Object$entries$_i[1];\n if (params.icon !== iconType) {\n removeClass(icon, iconClassName);\n }\n }\n addClass(icon, params.icon && iconTypes[params.icon]);\n\n // Icon color\n setColor(icon, params);\n\n // Success icon background color\n adjustSuccessIconBackgroundColor();\n\n // Custom class\n applyCustomClass(icon, params, 'icon');\n };\n\n // Adjust success icon background color to match the popup background color\n var adjustSuccessIconBackgroundColor = function adjustSuccessIconBackgroundColor() {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n var popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n /** @type {NodeListOf<HTMLElement>} */\n var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n for (var i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n var successIconHtml = \"\\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\";\n var errorIconHtml = \"\\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\";\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var setContent = function setContent(icon, params) {\n if (!params.icon && !params.iconHtml) {\n return;\n }\n var oldContent = icon.innerHTML;\n var newContent = '';\n if (params.iconHtml) {\n newContent = iconContent(params.iconHtml);\n } else if (params.icon === 'success') {\n newContent = successIconHtml;\n oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n } else if (params.icon === 'error') {\n newContent = errorIconHtml;\n } else if (params.icon) {\n var defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n newContent = iconContent(defaultIconHtml[params.icon]);\n }\n if (oldContent.trim() !== newContent.trim()) {\n setInnerHtml(icon, newContent);\n }\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var setColor = function setColor(icon, params) {\n if (!params.iconColor) {\n return;\n }\n icon.style.color = params.iconColor;\n icon.style.borderColor = params.iconColor;\n for (var _i2 = 0, _arr = ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']; _i2 < _arr.length; _i2++) {\n var sel = _arr[_i2];\n setStyle(icon, sel, 'background-color', params.iconColor);\n }\n setStyle(icon, '.swal2-success-ring', 'border-color', params.iconColor);\n };\n\n /**\n * @param {string} content\n * @returns {string}\n */\n var iconContent = function iconContent(content) {\n return \"<div class=\\\"\".concat(swalClasses['icon-content'], \"\\\">\").concat(content, \"</div>\");\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderImage = function renderImage(instance, params) {\n var image = getImage();\n if (!image) {\n return;\n }\n if (!params.imageUrl) {\n hide(image);\n return;\n }\n show(image, '');\n\n // Src, alt\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt || '');\n\n // Width, height\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight);\n\n // Class\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderPopup = function renderPopup(instance, params) {\n var container = getContainer();\n var popup = getPopup();\n if (!container || !popup) {\n return;\n }\n\n // Width\n // https://github.com/sweetalert2/sweetalert2/issues/2170\n if (params.toast) {\n applyNumericalStyle(container, 'width', params.width);\n popup.style.width = '100%';\n var loader = getLoader();\n loader && popup.insertBefore(loader, getIcon());\n } else {\n applyNumericalStyle(popup, 'width', params.width);\n }\n\n // Padding\n applyNumericalStyle(popup, 'padding', params.padding);\n\n // Color\n if (params.color) {\n popup.style.color = params.color;\n }\n\n // Background\n if (params.background) {\n popup.style.background = params.background;\n }\n hide(getValidationMessage());\n\n // Classes\n addClasses$1(popup, params);\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n var addClasses$1 = function addClasses(popup, params) {\n var showClass = params.showClass || {};\n // Default Class + showClass when updating Swal.update({})\n popup.className = \"\".concat(swalClasses.popup, \" \").concat(isVisible$1(popup) ? showClass.popup : '');\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n }\n\n // Custom class\n applyCustomClass(popup, params, 'popup');\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n }\n\n // Icon class (#1842)\n if (params.icon) {\n addClass(popup, swalClasses[\"icon-\".concat(params.icon)]);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderProgressSteps = function renderProgressSteps(instance, params) {\n var progressStepsContainer = getProgressSteps();\n if (!progressStepsContainer) {\n return;\n }\n var progressSteps = params.progressSteps,\n currentProgressStep = params.currentProgressStep;\n if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) {\n hide(progressStepsContainer);\n return;\n }\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n if (currentProgressStep >= progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n progressSteps.forEach(function (step, index) {\n var stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n if (index === currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n if (index !== progressSteps.length - 1) {\n var lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n\n /**\n * @param {string} step\n * @returns {HTMLLIElement}\n */\n var createStepElement = function createStepElement(step) {\n var stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {HTMLLIElement}\n */\n var createLineElement = function createLineElement(params) {\n var lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n if (params.progressStepsDistance) {\n applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n }\n return lineEl;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderTitle = function renderTitle(instance, params) {\n var title = getTitle();\n if (!title) {\n return;\n }\n showWhenInnerHtmlPresent(title);\n toggle(title, params.title || params.titleText, 'block');\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n if (params.titleText) {\n title.innerText = params.titleText;\n }\n\n // Custom class\n applyCustomClass(title, params, 'title');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var render = function render(instance, params) {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderProgressSteps(instance, params);\n renderIcon(instance, params);\n renderImage(instance, params);\n renderTitle(instance, params);\n renderCloseButton(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n var popup = getPopup();\n if (typeof params.didRender === 'function' && popup) {\n params.didRender(popup);\n }\n };\n\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n var isVisible = function isVisible() {\n return isVisible$1(getPopup());\n };\n\n /*\n * Global function to click 'Confirm' button\n */\n var clickConfirm = function clickConfirm() {\n var _dom$getConfirmButton;\n return (_dom$getConfirmButton = getConfirmButton()) === null || _dom$getConfirmButton === void 0 ? void 0 : _dom$getConfirmButton.click();\n };\n\n /*\n * Global function to click 'Deny' button\n */\n var clickDeny = function clickDeny() {\n var _dom$getDenyButton;\n return (_dom$getDenyButton = getDenyButton()) === null || _dom$getDenyButton === void 0 ? void 0 : _dom$getDenyButton.click();\n };\n\n /*\n * Global function to click 'Cancel' button\n */\n var clickCancel = function clickCancel() {\n var _dom$getCancelButton;\n return (_dom$getCancelButton = getCancelButton()) === null || _dom$getCancelButton === void 0 ? void 0 : _dom$getCancelButton.click();\n };\n\n /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */\n\n /** @type {Record<DismissReason, DismissReason>} */\n var DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n\n /**\n * @param {GlobalState} globalState\n */\n var removeKeydownHandler = function removeKeydownHandler(globalState) {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n };\n\n /**\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {*} dismissWith\n */\n var addKeydownHandler = function addKeydownHandler(globalState, innerParams, dismissWith) {\n removeKeydownHandler(globalState);\n if (!innerParams.toast) {\n globalState.keydownHandler = function (e) {\n return keydownHandler(innerParams, e, dismissWith);\n };\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n };\n\n /**\n * @param {number} index\n * @param {number} increment\n */\n var setFocus = function setFocus(index, increment) {\n var _dom$getPopup;\n var focusableElements = getFocusableElements();\n // search for visible elements and select the next possible match\n if (focusableElements.length) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n focusableElements[index].focus();\n return;\n }\n // no visible focusable elements, focus the popup\n (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus();\n };\n var arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n var arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {KeyboardEvent} event\n * @param {Function} dismissWith\n */\n var keydownHandler = function keydownHandler(innerParams, event, dismissWith) {\n if (!innerParams) {\n return; // This instance has already been destroyed\n }\n\n // Ignore keydown during IME composition\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n // https://github.com/sweetalert2/sweetalert2/issues/720\n // https://github.com/sweetalert2/sweetalert2/issues/2406\n if (event.isComposing || event.keyCode === 229) {\n return;\n }\n if (innerParams.stopKeydownPropagation) {\n event.stopPropagation();\n }\n\n // ENTER\n if (event.key === 'Enter') {\n handleEnter(event, innerParams);\n }\n\n // TAB\n else if (event.key === 'Tab') {\n handleTab(event);\n }\n\n // ARROWS - switch focus between buttons\n else if ([].concat(arrowKeysNextButton, arrowKeysPreviousButton).includes(event.key)) {\n handleArrows(event.key);\n }\n\n // ESC\n else if (event.key === 'Escape') {\n handleEsc(event, innerParams, dismissWith);\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n */\n var handleEnter = function handleEnter(event, innerParams) {\n // https://github.com/sweetalert2/sweetalert2/issues/2386\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return;\n }\n var input = getInput$1(getPopup(), innerParams.input);\n if (event.target && input && event.target instanceof HTMLElement && event.target.outerHTML === input.outerHTML) {\n if (['textarea', 'file'].includes(innerParams.input)) {\n return; // do not submit\n }\n clickConfirm();\n event.preventDefault();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n */\n var handleTab = function handleTab(event) {\n var targetElement = event.target;\n var focusableElements = getFocusableElements();\n var btnIndex = -1;\n for (var i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n }\n\n // Cycle to the next button\n if (!event.shiftKey) {\n setFocus(btnIndex, 1);\n }\n\n // Cycle to the prev button\n else {\n setFocus(btnIndex, -1);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n /**\n * @param {string} key\n */\n var handleArrows = function handleArrows(key) {\n var actions = getActions();\n var confirmButton = getConfirmButton();\n var denyButton = getDenyButton();\n var cancelButton = getCancelButton();\n if (!actions || !confirmButton || !denyButton || !cancelButton) {\n return;\n }\n /** @type HTMLElement[] */\n var buttons = [confirmButton, denyButton, cancelButton];\n if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) {\n return;\n }\n var sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n var buttonToFocus = document.activeElement;\n if (!buttonToFocus) {\n return;\n }\n for (var i = 0; i < actions.children.length; i++) {\n buttonToFocus = buttonToFocus[sibling];\n if (!buttonToFocus) {\n return;\n }\n if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) {\n break;\n }\n }\n if (buttonToFocus instanceof HTMLButtonElement) {\n buttonToFocus.focus();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n var handleEsc = function handleEsc(event, innerParams, dismissWith) {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n event.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateMethods = {\n swalPromiseResolve: new WeakMap(),\n swalPromiseReject: new WeakMap()\n };\n\n // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n var setAriaHidden = function setAriaHidden() {\n var bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el === getContainer() || el.contains(getContainer())) {\n return;\n }\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden') || '');\n }\n el.setAttribute('aria-hidden', 'true');\n });\n };\n var unsetAriaHidden = function unsetAriaHidden() {\n var bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden') || '');\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n\n // @ts-ignore\n var isSafariOrIOS = typeof window !== 'undefined' && !!window.GestureEvent; // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394\n\n /**\n * Fix iOS scrolling\n * http://stackoverflow.com/q/39626302\n */\n var iOSfix = function iOSfix() {\n if (isSafariOrIOS && !hasClass(document.body, swalClasses.iosfix)) {\n var offset = document.body.scrollTop;\n document.body.style.top = \"\".concat(offset * -1, \"px\");\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n }\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1246\n */\n var lockBodyScroll = function lockBodyScroll() {\n var container = getContainer();\n if (!container) {\n return;\n }\n /** @type {boolean} */\n var preventTouchMove;\n /**\n * @param {TouchEvent} event\n */\n container.ontouchstart = function (event) {\n preventTouchMove = shouldPreventTouchMove(event);\n };\n /**\n * @param {TouchEvent} event\n */\n container.ontouchmove = function (event) {\n if (preventTouchMove) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n };\n\n /**\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n var shouldPreventTouchMove = function shouldPreventTouchMove(event) {\n var target = event.target;\n var container = getContainer();\n var htmlContainer = getHtmlContainer();\n if (!container || !htmlContainer) {\n return false;\n }\n if (isStylus(event) || isZoom(event)) {\n return false;\n }\n if (target === container) {\n return true;\n }\n if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' &&\n // #1603\n target.tagName !== 'TEXTAREA' &&\n // #2266\n !(isScrollable(htmlContainer) &&\n // #1944\n htmlContainer.contains(target))) {\n return true;\n }\n return false;\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1786\n *\n * @param {*} event\n * @returns {boolean}\n */\n var isStylus = function isStylus(event) {\n return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1891\n *\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n var isZoom = function isZoom(event) {\n return event.touches && event.touches.length > 1;\n };\n var undoIOSfix = function undoIOSfix() {\n if (hasClass(document.body, swalClasses.iosfix)) {\n var offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n\n /**\n * Measure scrollbar width for padding body during modal show/hide\n * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n *\n * @returns {number}\n */\n var measureScrollbar = function measureScrollbar() {\n var scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n\n /**\n * Remember state in cases where opening and handling a modal will fiddle with it.\n * @type {number | null}\n */\n var previousBodyPadding = null;\n\n /**\n * @param {string} initialBodyOverflow\n */\n var replaceScrollbarWithPadding = function replaceScrollbarWithPadding(initialBodyOverflow) {\n // for queues, do not do this more than once\n if (previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight || initialBodyOverflow === 'scroll' // https://github.com/sweetalert2/sweetalert2/issues/2663\n ) {\n // add padding so the content doesn't shift after removal of scrollbar\n previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = \"\".concat(previousBodyPadding + measureScrollbar(), \"px\");\n }\n };\n var undoReplaceScrollbarWithPadding = function undoReplaceScrollbarWithPadding() {\n if (previousBodyPadding !== null) {\n document.body.style.paddingRight = \"\".concat(previousBodyPadding, \"px\");\n previousBodyPadding = null;\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n function removePopupAndResetState(instance, container, returnFocus, didClose) {\n if (isToast()) {\n triggerDidCloseAndDispose(instance, didClose);\n } else {\n restoreActiveElement(returnFocus).then(function () {\n return triggerDidCloseAndDispose(instance, didClose);\n });\n removeKeydownHandler(globalState);\n }\n\n // workaround for https://github.com/sweetalert2/sweetalert2/issues/2088\n // for some reason removing the container in Safari will scroll the document to bottom\n if (isSafariOrIOS) {\n container.setAttribute('style', 'display:none !important');\n container.removeAttribute('class');\n container.innerHTML = '';\n } else {\n container.remove();\n }\n if (isModal()) {\n undoReplaceScrollbarWithPadding();\n undoIOSfix();\n unsetAriaHidden();\n }\n removeBodyClasses();\n }\n\n /**\n * Remove SweetAlert2 classes from body\n */\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n }\n\n /**\n * Instance method to close sweetAlert\n *\n * @param {any} resolveValue\n */\n function close(resolveValue) {\n resolveValue = prepareResolveValue(resolveValue);\n var swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n var didClose = triggerClosePopup(this);\n if (this.isAwaitingPromise) {\n // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n if (!resolveValue.isDismissed) {\n handleAwaitingPromise(this);\n swalPromiseResolve(resolveValue);\n }\n } else if (didClose) {\n // Resolve Swal promise\n swalPromiseResolve(resolveValue);\n }\n }\n var triggerClosePopup = function triggerClosePopup(instance) {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n var innerParams = privateProps.innerParams.get(instance);\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return false;\n }\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n var backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(instance, popup, innerParams);\n return true;\n };\n\n /**\n * @param {any} error\n */\n function rejectPromise(error) {\n var rejectPromise = privateMethods.swalPromiseReject.get(this);\n handleAwaitingPromise(this);\n if (rejectPromise) {\n // Reject Swal promise\n rejectPromise(error);\n }\n }\n\n /**\n * @param {SweetAlert} instance\n */\n var handleAwaitingPromise = function handleAwaitingPromise(instance) {\n if (instance.isAwaitingPromise) {\n delete instance.isAwaitingPromise;\n // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n if (!privateProps.innerParams.get(instance)) {\n instance._destroy();\n }\n }\n };\n\n /**\n * @param {any} resolveValue\n * @returns {SweetAlertResult}\n */\n var prepareResolveValue = function prepareResolveValue(resolveValue) {\n // When user calls Swal.close()\n if (typeof resolveValue === 'undefined') {\n return {\n isConfirmed: false,\n isDenied: false,\n isDismissed: true\n };\n }\n return Object.assign({\n isConfirmed: false,\n isDenied: false,\n isDismissed: false\n }, resolveValue);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} innerParams\n */\n var handlePopupAnimation = function handlePopupAnimation(instance, popup, innerParams) {\n var container = getContainer();\n // If animation is supported, animate\n var animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n if (typeof innerParams.willClose === 'function') {\n innerParams.willClose(popup);\n }\n if (animationIsSupported) {\n animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n var animatePopup = function animatePopup(instance, popup, container, returnFocus, didClose) {\n if (!animationEndEvent) {\n return;\n }\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n popup.addEventListener(animationEndEvent, function (e) {\n if (e.target === popup) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n });\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {Function} didClose\n */\n var triggerDidCloseAndDispose = function triggerDidCloseAndDispose(instance, didClose) {\n setTimeout(function () {\n if (typeof didClose === 'function') {\n didClose.bind(instance.params)();\n }\n // instance might have been destroyed already\n if (instance._destroy) {\n instance._destroy();\n }\n });\n };\n\n /**\n * Shows loader (spinner), this is useful with AJAX requests.\n * By default the loader be shown instead of the \"Confirm\" button.\n *\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n var showLoading = function showLoading(buttonToReplace) {\n var popup = getPopup();\n if (!popup) {\n new Swal(); // eslint-disable-line no-new\n }\n popup = getPopup();\n if (!popup) {\n return;\n }\n var loader = getLoader();\n if (isToast()) {\n hide(getIcon());\n } else {\n replaceButton(popup, buttonToReplace);\n }\n show(loader);\n popup.setAttribute('data-loading', 'true');\n popup.setAttribute('aria-busy', 'true');\n popup.focus();\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n var replaceButton = function replaceButton(popup, buttonToReplace) {\n var actions = getActions();\n var loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n if (!buttonToReplace && isVisible$1(getConfirmButton())) {\n buttonToReplace = getConfirmButton();\n }\n show(actions);\n if (buttonToReplace) {\n hide(buttonToReplace);\n loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n actions.insertBefore(loader, buttonToReplace);\n }\n addClass([popup, actions], swalClasses.loading);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputOptionsAndValue = function handleInputOptionsAndValue(instance, params) {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].some(function (i) {\n return i === params.input;\n }) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n showLoading(getConfirmButton());\n handleInputValue(instance, params);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} innerParams\n * @returns {SweetAlertInputValue}\n */\n var getInputValue = function getInputValue(instance, innerParams) {\n var input = instance.getInput();\n if (!input) {\n return null;\n }\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n case 'radio':\n return getRadioValue(input);\n case 'file':\n return getFileValue(input);\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {number}\n */\n var getCheckboxValue = function getCheckboxValue(input) {\n return input.checked ? 1 : 0;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {string | null}\n */\n var getRadioValue = function getRadioValue(input) {\n return input.checked ? input.value : null;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {FileList | File | null}\n */\n var getFileValue = function getFileValue(input) {\n return input.files && input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputOptions = function handleInputOptions(instance, params) {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n /**\n * @param {Record<string, any>} inputOptions\n */\n var processInputOptions = function processInputOptions(inputOptions) {\n if (params.input === 'select') {\n populateSelectOptions(popup, formatInputOptions(inputOptions), params);\n } else if (params.input === 'radio') {\n populateRadioOptions(popup, formatInputOptions(inputOptions), params);\n }\n };\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading(getConfirmButton());\n asPromise(params.inputOptions).then(function (inputOptions) {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (_typeof(params.inputOptions) === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(\"Unexpected type of inputOptions! Expected object, Map or Promise, got \".concat(_typeof(params.inputOptions)));\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputValue = function handleInputValue(instance, params) {\n var input = instance.getInput();\n if (!input) {\n return;\n }\n hide(input);\n asPromise(params.inputValue).then(function (inputValue) {\n input.value = params.input === 'number' ? \"\".concat(parseFloat(inputValue) || 0) : \"\".concat(inputValue);\n show(input);\n input.focus();\n instance.hideLoading();\n })[\"catch\"](function (err) {\n error(\"Error in inputValue promise: \".concat(err));\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {InputOptionFlattened[]} inputOptions\n * @param {SweetAlertOptions} params\n */\n function populateSelectOptions(popup, inputOptions, params) {\n var select = getDirectChildByClass(popup, swalClasses.select);\n if (!select) {\n return;\n }\n /**\n * @param {HTMLElement} parent\n * @param {string} optionLabel\n * @param {string} optionValue\n */\n var renderOption = function renderOption(parent, optionLabel, optionValue) {\n var option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n option.selected = isSelected(optionValue, params.inputValue);\n parent.appendChild(option);\n };\n inputOptions.forEach(function (inputOption) {\n var optionValue = inputOption[0];\n var optionLabel = inputOption[1];\n // <optgroup> spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a <optgroup>\n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an <optgroup>\n var optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n select.appendChild(optgroup);\n optionLabel.forEach(function (o) {\n return renderOption(optgroup, o[1], o[0]);\n });\n } else {\n // case of <option>\n renderOption(select, optionLabel, optionValue);\n }\n });\n select.focus();\n }\n\n /**\n * @param {HTMLElement} popup\n * @param {InputOptionFlattened[]} inputOptions\n * @param {SweetAlertOptions} params\n */\n function populateRadioOptions(popup, inputOptions, params) {\n var radio = getDirectChildByClass(popup, swalClasses.radio);\n if (!radio) {\n return;\n }\n inputOptions.forEach(function (inputOption) {\n var radioValue = inputOption[0];\n var radioLabel = inputOption[1];\n var radioInput = document.createElement('input');\n var radioLabelElement = document.createElement('label');\n radioInput.type = 'radio';\n radioInput.name = swalClasses.radio;\n radioInput.value = radioValue;\n if (isSelected(radioValue, params.inputValue)) {\n radioInput.checked = true;\n }\n var label = document.createElement('span');\n setInnerHtml(label, radioLabel);\n label.className = swalClasses.label;\n radioLabelElement.appendChild(radioInput);\n radioLabelElement.appendChild(label);\n radio.appendChild(radioLabelElement);\n });\n var radios = radio.querySelectorAll('input');\n if (radios.length) {\n radios[0].focus();\n }\n }\n\n /**\n * Converts `inputOptions` into an array of `[value, label]`s\n *\n * @param {Record<string, any>} inputOptions\n * @typedef {string[]} InputOptionFlattened\n * @returns {InputOptionFlattened[]}\n */\n var formatInputOptions = function formatInputOptions(inputOptions) {\n /** @type {InputOptionFlattened[]} */\n var result = [];\n if (inputOptions instanceof Map) {\n inputOptions.forEach(function (value, key) {\n var valueFormatted = value;\n if (_typeof(valueFormatted) === 'object') {\n // case of <optgroup>\n valueFormatted = formatInputOptions(valueFormatted);\n }\n result.push([key, valueFormatted]);\n });\n } else {\n Object.keys(inputOptions).forEach(function (key) {\n var valueFormatted = inputOptions[key];\n if (_typeof(valueFormatted) === 'object') {\n // case of <optgroup>\n valueFormatted = formatInputOptions(valueFormatted);\n }\n result.push([key, valueFormatted]);\n });\n }\n return result;\n };\n\n /**\n * @param {string} optionValue\n * @param {SweetAlertInputValue} inputValue\n * @returns {boolean}\n */\n var isSelected = function isSelected(optionValue, inputValue) {\n return !!inputValue && inputValue.toString() === optionValue.toString();\n };\n var _this = undefined;\n\n /**\n * @param {SweetAlert} instance\n */\n var handleConfirmButtonClick = function handleConfirmButtonClick(instance) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableButtons();\n if (innerParams.input) {\n handleConfirmOrDenyWithInput(instance, 'confirm');\n } else {\n confirm(instance, true);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n */\n var handleDenyButtonClick = function handleDenyButtonClick(instance) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableButtons();\n if (innerParams.returnInputValueOnDeny) {\n handleConfirmOrDenyWithInput(instance, 'deny');\n } else {\n deny(instance, false);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {Function} dismissWith\n */\n var handleCancelButtonClick = function handleCancelButtonClick(instance, dismissWith) {\n instance.disableButtons();\n dismissWith(DismissReason.cancel);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {'confirm' | 'deny'} type\n */\n var handleConfirmOrDenyWithInput = function handleConfirmOrDenyWithInput(instance, type) {\n var innerParams = privateProps.innerParams.get(instance);\n if (!innerParams.input) {\n error(\"The \\\"input\\\" parameter is needed to be set when using returnInputValueOn\".concat(capitalizeFirstLetter(type)));\n return;\n }\n var input = instance.getInput();\n var inputValue = getInputValue(instance, innerParams);\n if (innerParams.inputValidator) {\n handleInputValidator(instance, inputValue, type);\n } else if (input && !input.checkValidity()) {\n instance.enableButtons();\n instance.showValidationMessage(innerParams.validationMessage || input.validationMessage);\n } else if (type === 'deny') {\n deny(instance, inputValue);\n } else {\n confirm(instance, inputValue);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertInputValue} inputValue\n * @param {'confirm' | 'deny'} type\n */\n var handleInputValidator = function handleInputValidator(instance, inputValue, type) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableInput();\n var validationPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.inputValidator(inputValue, innerParams.validationMessage));\n });\n validationPromise.then(function (validationMessage) {\n instance.enableButtons();\n instance.enableInput();\n if (validationMessage) {\n instance.showValidationMessage(validationMessage);\n } else if (type === 'deny') {\n deny(instance, inputValue);\n } else {\n confirm(instance, inputValue);\n }\n });\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var deny = function deny(instance, value) {\n var innerParams = privateProps.innerParams.get(instance || _this);\n if (innerParams.showLoaderOnDeny) {\n showLoading(getDenyButton());\n }\n if (innerParams.preDeny) {\n instance.isAwaitingPromise = true; // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preDeny's promise is received\n var preDenyPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.preDeny(value, innerParams.validationMessage));\n });\n preDenyPromise.then(function (preDenyValue) {\n if (preDenyValue === false) {\n instance.hideLoading();\n handleAwaitingPromise(instance);\n } else {\n instance.close({\n isDenied: true,\n value: typeof preDenyValue === 'undefined' ? value : preDenyValue\n });\n }\n })[\"catch\"](function (error) {\n return rejectWith(instance || _this, error);\n });\n } else {\n instance.close({\n isDenied: true,\n value: value\n });\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var succeedWith = function succeedWith(instance, value) {\n instance.close({\n isConfirmed: true,\n value: value\n });\n };\n\n /**\n *\n * @param {SweetAlert} instance\n * @param {string} error\n */\n var rejectWith = function rejectWith(instance, error) {\n instance.rejectPromise(error);\n };\n\n /**\n *\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var confirm = function confirm(instance, value) {\n var innerParams = privateProps.innerParams.get(instance || _this);\n if (innerParams.showLoaderOnConfirm) {\n showLoading();\n }\n if (innerParams.preConfirm) {\n instance.resetValidationMessage();\n instance.isAwaitingPromise = true; // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preConfirm's promise is received\n var preConfirmPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.preConfirm(value, innerParams.validationMessage));\n });\n preConfirmPromise.then(function (preConfirmValue) {\n if (isVisible$1(getValidationMessage()) || preConfirmValue === false) {\n instance.hideLoading();\n handleAwaitingPromise(instance);\n } else {\n succeedWith(instance, typeof preConfirmValue === 'undefined' ? value : preConfirmValue);\n }\n })[\"catch\"](function (error) {\n return rejectWith(instance || _this, error);\n });\n } else {\n succeedWith(instance, value);\n }\n };\n\n /**\n * Hides loader and shows back the button which was hidden by .showLoading()\n */\n function hideLoading() {\n // do nothing if popup is closed\n var innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n return;\n }\n var domCache = privateProps.domCache.get(this);\n hide(domCache.loader);\n if (isToast()) {\n if (innerParams.icon) {\n show(getIcon());\n }\n } else {\n showRelatedButton(domCache);\n }\n removeClass([domCache.popup, domCache.actions], swalClasses.loading);\n domCache.popup.removeAttribute('aria-busy');\n domCache.popup.removeAttribute('data-loading');\n domCache.confirmButton.disabled = false;\n domCache.denyButton.disabled = false;\n domCache.cancelButton.disabled = false;\n }\n var showRelatedButton = function showRelatedButton(domCache) {\n var buttonToReplace = domCache.popup.getElementsByClassName(domCache.loader.getAttribute('data-button-to-replace'));\n if (buttonToReplace.length) {\n show(buttonToReplace[0], 'inline-block');\n } else if (allButtonsAreHidden()) {\n hide(domCache.actions);\n }\n };\n\n /**\n * Gets the input DOM node, this method works with input parameter.\n *\n * @returns {HTMLInputElement | null}\n */\n function getInput() {\n var innerParams = privateProps.innerParams.get(this);\n var domCache = privateProps.domCache.get(this);\n if (!domCache) {\n return null;\n }\n return getInput$1(domCache.popup, innerParams.input);\n }\n\n /**\n * @param {SweetAlert} instance\n * @param {string[]} buttons\n * @param {boolean} disabled\n */\n function setButtonsDisabled(instance, buttons, disabled) {\n var domCache = privateProps.domCache.get(instance);\n buttons.forEach(function (button) {\n domCache[button].disabled = disabled;\n });\n }\n\n /**\n * @param {HTMLInputElement | null} input\n * @param {boolean} disabled\n */\n function setInputDisabled(input, disabled) {\n var popup = getPopup();\n if (!popup || !input) {\n return;\n }\n if (input.type === 'radio') {\n /** @type {NodeListOf<HTMLInputElement>} */\n var radios = popup.querySelectorAll(\"[name=\\\"\".concat(swalClasses.radio, \"\\\"]\"));\n for (var i = 0; i < radios.length; i++) {\n radios[i].disabled = disabled;\n }\n } else {\n input.disabled = disabled;\n }\n }\n\n /**\n * Enable all the buttons\n * @this {SweetAlert}\n */\n function enableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], false);\n }\n\n /**\n * Disable all the buttons\n * @this {SweetAlert}\n */\n function disableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], true);\n }\n\n /**\n * Enable the input field\n * @this {SweetAlert}\n */\n function enableInput() {\n setInputDisabled(this.getInput(), false);\n }\n\n /**\n * Disable the input field\n * @this {SweetAlert}\n */\n function disableInput() {\n setInputDisabled(this.getInput(), true);\n }\n\n /**\n * Show block with validation message\n *\n * @param {string} error\n * @this {SweetAlert}\n */\n function showValidationMessage(error) {\n var domCache = privateProps.domCache.get(this);\n var params = privateProps.innerParams.get(this);\n setInnerHtml(domCache.validationMessage, error);\n domCache.validationMessage.className = swalClasses['validation-message'];\n if (params.customClass && params.customClass.validationMessage) {\n addClass(domCache.validationMessage, params.customClass.validationMessage);\n }\n show(domCache.validationMessage);\n var input = this.getInput();\n if (input) {\n input.setAttribute('aria-invalid', 'true');\n input.setAttribute('aria-describedby', swalClasses['validation-message']);\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n }\n\n /**\n * Hide block with validation message\n *\n * @this {SweetAlert}\n */\n function resetValidationMessage() {\n var domCache = privateProps.domCache.get(this);\n if (domCache.validationMessage) {\n hide(domCache.validationMessage);\n }\n var input = this.getInput();\n if (input) {\n input.removeAttribute('aria-invalid');\n input.removeAttribute('aria-describedby');\n removeClass(input, swalClasses.inputerror);\n }\n }\n var defaultParams = {\n title: '',\n titleText: '',\n text: '',\n html: '',\n footer: '',\n icon: undefined,\n iconColor: undefined,\n iconHtml: undefined,\n template: undefined,\n toast: false,\n animation: true,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n icon: 'swal2-icon-show'\n },\n hideClass: {\n popup: 'swal2-hide',\n backdrop: 'swal2-backdrop-hide',\n icon: 'swal2-icon-hide'\n },\n customClass: {},\n target: 'body',\n color: undefined,\n backdrop: true,\n heightAuto: true,\n allowOutsideClick: true,\n allowEscapeKey: true,\n allowEnterKey: true,\n stopKeydownPropagation: true,\n keydownListenerCapture: false,\n showConfirmButton: true,\n showDenyButton: false,\n showCancelButton: false,\n preConfirm: undefined,\n preDeny: undefined,\n confirmButtonText: 'OK',\n confirmButtonAriaLabel: '',\n confirmButtonColor: undefined,\n denyButtonText: 'No',\n denyButtonAriaLabel: '',\n denyButtonColor: undefined,\n cancelButtonText: 'Cancel',\n cancelButtonAriaLabel: '',\n cancelButtonColor: undefined,\n buttonsStyling: true,\n reverseButtons: false,\n focusConfirm: true,\n focusDeny: false,\n focusCancel: false,\n returnFocus: true,\n showCloseButton: false,\n closeButtonHtml: '×',\n closeButtonAriaLabel: 'Close this dialog',\n loaderHtml: '',\n showLoaderOnConfirm: false,\n showLoaderOnDeny: false,\n imageUrl: undefined,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAlt: '',\n timer: undefined,\n timerProgressBar: false,\n width: undefined,\n padding: undefined,\n background: undefined,\n input: undefined,\n inputPlaceholder: '',\n inputLabel: '',\n inputValue: '',\n inputOptions: {},\n inputAutoFocus: true,\n inputAutoTrim: true,\n inputAttributes: {},\n inputValidator: undefined,\n returnInputValueOnDeny: false,\n validationMessage: undefined,\n grow: false,\n position: 'center',\n progressSteps: [],\n currentProgressStep: undefined,\n progressStepsDistance: undefined,\n willOpen: undefined,\n didOpen: undefined,\n didRender: undefined,\n willClose: undefined,\n didClose: undefined,\n didDestroy: undefined,\n scrollbarPadding: true\n };\n var updatableParams = ['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'];\n\n /** @type {Record<string, string>} */\n var deprecatedParams = {};\n var toastIncompatibleParams = ['allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusDeny', 'focusCancel', 'returnFocus', 'heightAuto', 'keydownListenerCapture'];\n\n /**\n * Is valid parameter\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n var isValidParameter = function isValidParameter(paramName) {\n return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n };\n\n /**\n * Is valid parameter for Swal.update() method\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n var isUpdatableParameter = function isUpdatableParameter(paramName) {\n return updatableParams.indexOf(paramName) !== -1;\n };\n\n /**\n * Is deprecated parameter\n *\n * @param {string} paramName\n * @returns {string | undefined}\n */\n var isDeprecatedParameter = function isDeprecatedParameter(paramName) {\n return deprecatedParams[paramName];\n };\n\n /**\n * @param {string} param\n */\n var checkIfParamIsValid = function checkIfParamIsValid(param) {\n if (!isValidParameter(param)) {\n warn(\"Unknown parameter \\\"\".concat(param, \"\\\"\"));\n }\n };\n\n /**\n * @param {string} param\n */\n var checkIfToastParamIsValid = function checkIfToastParamIsValid(param) {\n if (toastIncompatibleParams.includes(param)) {\n warn(\"The parameter \\\"\".concat(param, \"\\\" is incompatible with toasts\"));\n }\n };\n\n /**\n * @param {string} param\n */\n var checkIfParamIsDeprecated = function checkIfParamIsDeprecated(param) {\n var isDeprecated = isDeprecatedParameter(param);\n if (isDeprecated) {\n warnAboutDeprecation(param, isDeprecated);\n }\n };\n\n /**\n * Show relevant warnings for given params\n *\n * @param {SweetAlertOptions} params\n */\n var showWarningsForParams = function showWarningsForParams(params) {\n if (params.backdrop === false && params.allowOutsideClick) {\n warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n }\n for (var param in params) {\n checkIfParamIsValid(param);\n if (params.toast) {\n checkIfToastParamIsValid(param);\n }\n checkIfParamIsDeprecated(param);\n }\n };\n\n /**\n * Updates popup parameters.\n *\n * @param {SweetAlertOptions} params\n */\n function update(params) {\n var popup = getPopup();\n var innerParams = privateProps.innerParams.get(this);\n if (!popup || hasClass(popup, innerParams.hideClass.popup)) {\n warn(\"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.\");\n return;\n }\n var validUpdatableParams = filterValidParams(params);\n var updatedParams = Object.assign({}, innerParams, validUpdatableParams);\n render(this, updatedParams);\n privateProps.innerParams.set(this, updatedParams);\n Object.defineProperties(this, {\n params: {\n value: Object.assign({}, this.params, params),\n writable: false,\n enumerable: true\n }\n });\n }\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {SweetAlertOptions}\n */\n var filterValidParams = function filterValidParams(params) {\n var validUpdatableParams = {};\n Object.keys(params).forEach(function (param) {\n if (isUpdatableParameter(param)) {\n validUpdatableParams[param] = params[param];\n } else {\n warn(\"Invalid parameter to update: \".concat(param));\n }\n });\n return validUpdatableParams;\n };\n\n /**\n * Dispose the current SweetAlert2 instance\n */\n function _destroy() {\n var domCache = privateProps.domCache.get(this);\n var innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n disposeWeakMaps(this); // The WeakMaps might have been partly destroyed, we must recall it to dispose any remaining WeakMaps #2335\n return; // This instance has already been destroyed\n }\n\n // Check if there is another Swal closing\n if (domCache.popup && globalState.swalCloseEventFinishedCallback) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n if (typeof innerParams.didDestroy === 'function') {\n innerParams.didDestroy();\n }\n disposeSwal(this);\n }\n\n /**\n * @param {SweetAlert} instance\n */\n var disposeSwal = function disposeSwal(instance) {\n disposeWeakMaps(instance);\n // Unset this.params so GC will dispose it (#1569)\n delete instance.params;\n // Unset globalState props so GC will dispose globalState (#1569)\n delete globalState.keydownHandler;\n delete globalState.keydownTarget;\n // Unset currentInstance\n delete globalState.currentInstance;\n };\n\n /**\n * @param {SweetAlert} instance\n */\n var disposeWeakMaps = function disposeWeakMaps(instance) {\n // If the current instance is awaiting a promise result, we keep the privateMethods to call them once the promise result is retrieved #2335\n if (instance.isAwaitingPromise) {\n unsetWeakMaps(privateProps, instance);\n instance.isAwaitingPromise = true;\n } else {\n unsetWeakMaps(privateMethods, instance);\n unsetWeakMaps(privateProps, instance);\n delete instance.isAwaitingPromise;\n // Unset instance methods\n delete instance.disableButtons;\n delete instance.enableButtons;\n delete instance.getInput;\n delete instance.disableInput;\n delete instance.enableInput;\n delete instance.hideLoading;\n delete instance.disableLoading;\n delete instance.showValidationMessage;\n delete instance.resetValidationMessage;\n delete instance.close;\n delete instance.closePopup;\n delete instance.closeModal;\n delete instance.closeToast;\n delete instance.rejectPromise;\n delete instance.update;\n delete instance._destroy;\n }\n };\n\n /**\n * @param {object} obj\n * @param {SweetAlert} instance\n */\n var unsetWeakMaps = function unsetWeakMaps(obj, instance) {\n for (var i in obj) {\n obj[i][\"delete\"](instance);\n }\n };\n var instanceMethods = /*#__PURE__*/Object.freeze({\n __proto__: null,\n _destroy: _destroy,\n close: close,\n closeModal: close,\n closePopup: close,\n closeToast: close,\n disableButtons: disableButtons,\n disableInput: disableInput,\n disableLoading: hideLoading,\n enableButtons: enableButtons,\n enableInput: enableInput,\n getInput: getInput,\n handleAwaitingPromise: handleAwaitingPromise,\n hideLoading: hideLoading,\n rejectPromise: rejectPromise,\n resetValidationMessage: resetValidationMessage,\n showValidationMessage: showValidationMessage,\n update: update\n });\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handlePopupClick = function handlePopupClick(innerParams, domCache, dismissWith) {\n if (innerParams.toast) {\n handleToastClick(innerParams, domCache, dismissWith);\n } else {\n // Ignore click events that had mousedown on the popup but mouseup on the container\n // This can happen when the user drags a slider\n handleModalMousedown(domCache);\n\n // Ignore click events that had mousedown on the container but mouseup on the popup\n handleContainerMousedown(domCache);\n handleModalClick(innerParams, domCache, dismissWith);\n }\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handleToastClick = function handleToastClick(innerParams, domCache, dismissWith) {\n // Closing toast by internal click\n domCache.popup.onclick = function () {\n if (innerParams && (isAnyButtonShown(innerParams) || innerParams.timer || innerParams.input)) {\n return;\n }\n dismissWith(DismissReason.close);\n };\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @returns {boolean}\n */\n var isAnyButtonShown = function isAnyButtonShown(innerParams) {\n return !!(innerParams.showConfirmButton || innerParams.showDenyButton || innerParams.showCancelButton || innerParams.showCloseButton);\n };\n var ignoreOutsideClick = false;\n\n /**\n * @param {DomCache} domCache\n */\n var handleModalMousedown = function handleModalMousedown(domCache) {\n domCache.popup.onmousedown = function () {\n domCache.container.onmouseup = function (e) {\n domCache.container.onmouseup = function () {};\n // We only check if the mouseup target is the container because usually it doesn't\n // have any other direct children aside of the popup\n if (e.target === domCache.container) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n /**\n * @param {DomCache} domCache\n */\n var handleContainerMousedown = function handleContainerMousedown(domCache) {\n domCache.container.onmousedown = function () {\n domCache.popup.onmouseup = function (e) {\n domCache.popup.onmouseup = function () {};\n // We also need to check if the mouseup target is a child of the popup\n if (e.target === domCache.popup || e.target instanceof HTMLElement && domCache.popup.contains(e.target)) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handleModalClick = function handleModalClick(innerParams, domCache, dismissWith) {\n domCache.container.onclick = function (e) {\n if (ignoreOutsideClick) {\n ignoreOutsideClick = false;\n return;\n }\n if (e.target === domCache.container && callIfFunction(innerParams.allowOutsideClick)) {\n dismissWith(DismissReason.backdrop);\n }\n };\n };\n var isJqueryElement = function isJqueryElement(elem) {\n return _typeof(elem) === 'object' && elem.jquery;\n };\n var isElement = function isElement(elem) {\n return elem instanceof Element || isJqueryElement(elem);\n };\n var argsToParams = function argsToParams(args) {\n var params = {};\n if (_typeof(args[0]) === 'object' && !isElement(args[0])) {\n Object.assign(params, args[0]);\n } else {\n ['title', 'html', 'icon'].forEach(function (name, index) {\n var arg = args[index];\n if (typeof arg === 'string' || isElement(arg)) {\n params[name] = arg;\n } else if (arg !== undefined) {\n error(\"Unexpected type of \".concat(name, \"! Expected \\\"string\\\" or \\\"Element\\\", got \").concat(_typeof(arg)));\n }\n });\n }\n return params;\n };\n\n /**\n * Main method to create a new SweetAlert2 popup\n *\n * @param {...SweetAlertOptions} args\n * @returns {Promise<SweetAlertResult>}\n */\n function fire() {\n var Swal = this; // eslint-disable-line @typescript-eslint/no-this-alias\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _construct(Swal, args);\n }\n\n /**\n * Returns an extended version of `Swal` containing `params` as defaults.\n * Useful for reusing Swal configuration.\n *\n * For example:\n *\n * Before:\n * const textPromptOptions = { input: 'text', showCancelButton: true }\n * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })\n * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })\n *\n * After:\n * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })\n * const {value: firstName} = await TextPrompt('What is your first name?')\n * const {value: lastName} = await TextPrompt('What is your last name?')\n *\n * @param {SweetAlertOptions} mixinParams\n * @returns {SweetAlert}\n */\n function mixin(mixinParams) {\n var MixinSwal = /*#__PURE__*/function (_this) {\n _inherits(MixinSwal, _this);\n function MixinSwal() {\n _classCallCheck(this, MixinSwal);\n return _callSuper(this, MixinSwal, arguments);\n }\n _createClass(MixinSwal, [{\n key: \"_main\",\n value: function _main(params, priorityMixinParams) {\n return _get(_getPrototypeOf(MixinSwal.prototype), \"_main\", this).call(this, params, Object.assign({}, mixinParams, priorityMixinParams));\n }\n }]);\n return MixinSwal;\n }(this); // @ts-ignore\n return MixinSwal;\n }\n\n /**\n * If `timer` parameter is set, returns number of milliseconds of timer remained.\n * Otherwise, returns undefined.\n *\n * @returns {number | undefined}\n */\n var getTimerLeft = function getTimerLeft() {\n return globalState.timeout && globalState.timeout.getTimerLeft();\n };\n\n /**\n * Stop timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var stopTimer = function stopTimer() {\n if (globalState.timeout) {\n stopTimerProgressBar();\n return globalState.timeout.stop();\n }\n };\n\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var resumeTimer = function resumeTimer() {\n if (globalState.timeout) {\n var remaining = globalState.timeout.start();\n animateTimerProgressBar(remaining);\n return remaining;\n }\n };\n\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var toggleTimer = function toggleTimer() {\n var timer = globalState.timeout;\n return timer && (timer.running ? stopTimer() : resumeTimer());\n };\n\n /**\n * Increase timer. Returns number of milliseconds of an updated timer.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @param {number} ms\n * @returns {number | undefined}\n */\n var increaseTimer = function increaseTimer(ms) {\n if (globalState.timeout) {\n var remaining = globalState.timeout.increase(ms);\n animateTimerProgressBar(remaining, true);\n return remaining;\n }\n };\n\n /**\n * Check if timer is running. Returns true if timer is running\n * or false if timer is paused or stopped.\n * If `timer` parameter isn't set, returns undefined\n *\n * @returns {boolean}\n */\n var isTimerRunning = function isTimerRunning() {\n return !!(globalState.timeout && globalState.timeout.isRunning());\n };\n var bodyClickListenerAdded = false;\n var clickHandlers = {};\n\n /**\n * @param {string} attr\n */\n function bindClickHandler() {\n var attr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'data-swal-template';\n clickHandlers[attr] = this;\n if (!bodyClickListenerAdded) {\n document.body.addEventListener('click', bodyClickListener);\n bodyClickListenerAdded = true;\n }\n }\n var bodyClickListener = function bodyClickListener(event) {\n for (var el = event.target; el && el !== document; el = el.parentNode) {\n for (var attr in clickHandlers) {\n var template = el.getAttribute(attr);\n if (template) {\n clickHandlers[attr].fire({\n template: template\n });\n return;\n }\n }\n }\n };\n var staticMethods = /*#__PURE__*/Object.freeze({\n __proto__: null,\n argsToParams: argsToParams,\n bindClickHandler: bindClickHandler,\n clickCancel: clickCancel,\n clickConfirm: clickConfirm,\n clickDeny: clickDeny,\n enableLoading: showLoading,\n fire: fire,\n getActions: getActions,\n getCancelButton: getCancelButton,\n getCloseButton: getCloseButton,\n getConfirmButton: getConfirmButton,\n getContainer: getContainer,\n getDenyButton: getDenyButton,\n getFocusableElements: getFocusableElements,\n getFooter: getFooter,\n getHtmlContainer: getHtmlContainer,\n getIcon: getIcon,\n getIconContent: getIconContent,\n getImage: getImage,\n getInputLabel: getInputLabel,\n getLoader: getLoader,\n getPopup: getPopup,\n getProgressSteps: getProgressSteps,\n getTimerLeft: getTimerLeft,\n getTimerProgressBar: getTimerProgressBar,\n getTitle: getTitle,\n getValidationMessage: getValidationMessage,\n increaseTimer: increaseTimer,\n isDeprecatedParameter: isDeprecatedParameter,\n isLoading: isLoading,\n isTimerRunning: isTimerRunning,\n isUpdatableParameter: isUpdatableParameter,\n isValidParameter: isValidParameter,\n isVisible: isVisible,\n mixin: mixin,\n resumeTimer: resumeTimer,\n showLoading: showLoading,\n stopTimer: stopTimer,\n toggleTimer: toggleTimer\n });\n var Timer = /*#__PURE__*/function () {\n /**\n * @param {Function} callback\n * @param {number} delay\n */\n function Timer(callback, delay) {\n _classCallCheck(this, Timer);\n this.callback = callback;\n this.remaining = delay;\n this.running = false;\n this.start();\n }\n\n /**\n * @returns {number}\n */\n _createClass(Timer, [{\n key: \"start\",\n value: function start() {\n if (!this.running) {\n this.running = true;\n this.started = new Date();\n this.id = setTimeout(this.callback, this.remaining);\n }\n return this.remaining;\n }\n\n /**\n * @returns {number}\n */\n }, {\n key: \"stop\",\n value: function stop() {\n if (this.started && this.running) {\n this.running = false;\n clearTimeout(this.id);\n this.remaining -= new Date().getTime() - this.started.getTime();\n }\n return this.remaining;\n }\n\n /**\n * @param {number} n\n * @returns {number}\n */\n }, {\n key: \"increase\",\n value: function increase(n) {\n var running = this.running;\n if (running) {\n this.stop();\n }\n this.remaining += n;\n if (running) {\n this.start();\n }\n return this.remaining;\n }\n\n /**\n * @returns {number}\n */\n }, {\n key: \"getTimerLeft\",\n value: function getTimerLeft() {\n if (this.running) {\n this.stop();\n this.start();\n }\n return this.remaining;\n }\n\n /**\n * @returns {boolean}\n */\n }, {\n key: \"isRunning\",\n value: function isRunning() {\n return this.running;\n }\n }]);\n return Timer;\n }();\n var swalStringParams = ['swal-title', 'swal-html', 'swal-footer'];\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {SweetAlertOptions}\n */\n var getTemplateParams = function getTemplateParams(params) {\n /** @type {HTMLTemplateElement} */\n var template = typeof params.template === 'string' ? document.querySelector(params.template) : params.template;\n if (!template) {\n return {};\n }\n /** @type {DocumentFragment} */\n var templateContent = template.content;\n showWarningsForElements(templateContent);\n var result = Object.assign(getSwalParams(templateContent), getSwalFunctionParams(templateContent), getSwalButtons(templateContent), getSwalImage(templateContent), getSwalIcon(templateContent), getSwalInput(templateContent), getSwalStringParams(templateContent, swalStringParams));\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalParams = function getSwalParams(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalParams = Array.from(templateContent.querySelectorAll('swal-param'));\n swalParams.forEach(function (param) {\n showWarningsForAttributes(param, ['name', 'value']);\n var paramName = param.getAttribute('name');\n var value = param.getAttribute('value');\n if (typeof defaultParams[paramName] === 'boolean') {\n result[paramName] = value !== 'false';\n } else if (_typeof(defaultParams[paramName]) === 'object') {\n result[paramName] = JSON.parse(value);\n } else {\n result[paramName] = value;\n }\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalFunctionParams = function getSwalFunctionParams(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalFunctions = Array.from(templateContent.querySelectorAll('swal-function-param'));\n swalFunctions.forEach(function (param) {\n var paramName = param.getAttribute('name');\n var value = param.getAttribute('value');\n result[paramName] = new Function(\"return \".concat(value))();\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalButtons = function getSwalButtons(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalButtons = Array.from(templateContent.querySelectorAll('swal-button'));\n swalButtons.forEach(function (button) {\n showWarningsForAttributes(button, ['type', 'color', 'aria-label']);\n var type = button.getAttribute('type');\n result[\"\".concat(type, \"ButtonText\")] = button.innerHTML;\n result[\"show\".concat(capitalizeFirstLetter(type), \"Button\")] = true;\n if (button.hasAttribute('color')) {\n result[\"\".concat(type, \"ButtonColor\")] = button.getAttribute('color');\n }\n if (button.hasAttribute('aria-label')) {\n result[\"\".concat(type, \"ButtonAriaLabel\")] = button.getAttribute('aria-label');\n }\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalImage = function getSwalImage(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var image = templateContent.querySelector('swal-image');\n if (image) {\n showWarningsForAttributes(image, ['src', 'width', 'height', 'alt']);\n if (image.hasAttribute('src')) {\n result.imageUrl = image.getAttribute('src');\n }\n if (image.hasAttribute('width')) {\n result.imageWidth = image.getAttribute('width');\n }\n if (image.hasAttribute('height')) {\n result.imageHeight = image.getAttribute('height');\n }\n if (image.hasAttribute('alt')) {\n result.imageAlt = image.getAttribute('alt');\n }\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalIcon = function getSwalIcon(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var icon = templateContent.querySelector('swal-icon');\n if (icon) {\n showWarningsForAttributes(icon, ['type', 'color']);\n if (icon.hasAttribute('type')) {\n /** @type {SweetAlertIcon} */\n // @ts-ignore\n result.icon = icon.getAttribute('type');\n }\n if (icon.hasAttribute('color')) {\n result.iconColor = icon.getAttribute('color');\n }\n result.iconHtml = icon.innerHTML;\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalInput = function getSwalInput(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var input = templateContent.querySelector('swal-input');\n if (input) {\n showWarningsForAttributes(input, ['type', 'label', 'placeholder', 'value']);\n /** @type {SweetAlertInput} */\n // @ts-ignore\n result.input = input.getAttribute('type') || 'text';\n if (input.hasAttribute('label')) {\n result.inputLabel = input.getAttribute('label');\n }\n if (input.hasAttribute('placeholder')) {\n result.inputPlaceholder = input.getAttribute('placeholder');\n }\n if (input.hasAttribute('value')) {\n result.inputValue = input.getAttribute('value');\n }\n }\n /** @type {HTMLElement[]} */\n var inputOptions = Array.from(templateContent.querySelectorAll('swal-input-option'));\n if (inputOptions.length) {\n result.inputOptions = {};\n inputOptions.forEach(function (option) {\n showWarningsForAttributes(option, ['value']);\n var optionValue = option.getAttribute('value');\n var optionName = option.innerHTML;\n result.inputOptions[optionValue] = optionName;\n });\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @param {string[]} paramNames\n * @returns {SweetAlertOptions}\n */\n var getSwalStringParams = function getSwalStringParams(templateContent, paramNames) {\n var result = {};\n for (var i in paramNames) {\n var paramName = paramNames[i];\n /** @type {HTMLElement} */\n var tag = templateContent.querySelector(paramName);\n if (tag) {\n showWarningsForAttributes(tag, []);\n result[paramName.replace(/^swal-/, '')] = tag.innerHTML.trim();\n }\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n */\n var showWarningsForElements = function showWarningsForElements(templateContent) {\n var allowedElements = swalStringParams.concat(['swal-param', 'swal-function-param', 'swal-button', 'swal-image', 'swal-icon', 'swal-input', 'swal-input-option']);\n Array.from(templateContent.children).forEach(function (el) {\n var tagName = el.tagName.toLowerCase();\n if (!allowedElements.includes(tagName)) {\n warn(\"Unrecognized element <\".concat(tagName, \">\"));\n }\n });\n };\n\n /**\n * @param {HTMLElement} el\n * @param {string[]} allowedAttributes\n */\n var showWarningsForAttributes = function showWarningsForAttributes(el, allowedAttributes) {\n Array.from(el.attributes).forEach(function (attribute) {\n if (allowedAttributes.indexOf(attribute.name) === -1) {\n warn([\"Unrecognized attribute \\\"\".concat(attribute.name, \"\\\" on <\").concat(el.tagName.toLowerCase(), \">.\"), \"\".concat(allowedAttributes.length ? \"Allowed attributes are: \".concat(allowedAttributes.join(', ')) : 'To set the value, use HTML within the element.')]);\n }\n });\n };\n var SHOW_CLASS_TIMEOUT = 10;\n\n /**\n * Open popup, add necessary classes and styles, fix scrollbar\n *\n * @param {SweetAlertOptions} params\n */\n var openPopup = function openPopup(params) {\n var container = getContainer();\n var popup = getPopup();\n if (typeof params.willOpen === 'function') {\n params.willOpen(popup);\n }\n var bodyStyles = window.getComputedStyle(document.body);\n var initialBodyOverflow = bodyStyles.overflowY;\n addClasses(container, popup, params);\n\n // scrolling is 'hidden' until animation is done, after that 'auto'\n setTimeout(function () {\n setScrollingVisibility(container, popup);\n }, SHOW_CLASS_TIMEOUT);\n if (isModal()) {\n fixScrollContainer(container, params.scrollbarPadding, initialBodyOverflow);\n setAriaHidden();\n }\n if (!isToast() && !globalState.previousActiveElement) {\n globalState.previousActiveElement = document.activeElement;\n }\n if (typeof params.didOpen === 'function') {\n setTimeout(function () {\n return params.didOpen(popup);\n });\n }\n removeClass(container, swalClasses['no-transition']);\n };\n\n /**\n * @param {AnimationEvent} event\n */\n var swalOpenAnimationFinished = function swalOpenAnimationFinished(event) {\n var popup = getPopup();\n if (event.target !== popup || !animationEndEvent) {\n return;\n }\n var container = getContainer();\n popup.removeEventListener(animationEndEvent, swalOpenAnimationFinished);\n container.style.overflowY = 'auto';\n };\n\n /**\n * @param {HTMLElement} container\n * @param {HTMLElement} popup\n */\n var setScrollingVisibility = function setScrollingVisibility(container, popup) {\n if (animationEndEvent && hasCssAnimation(popup)) {\n container.style.overflowY = 'hidden';\n popup.addEventListener(animationEndEvent, swalOpenAnimationFinished);\n } else {\n container.style.overflowY = 'auto';\n }\n };\n\n /**\n * @param {HTMLElement} container\n * @param {boolean} scrollbarPadding\n * @param {string} initialBodyOverflow\n */\n var fixScrollContainer = function fixScrollContainer(container, scrollbarPadding, initialBodyOverflow) {\n iOSfix();\n if (scrollbarPadding && initialBodyOverflow !== 'hidden') {\n replaceScrollbarWithPadding(initialBodyOverflow);\n }\n\n // sweetalert2/issues/1247\n setTimeout(function () {\n container.scrollTop = 0;\n });\n };\n\n /**\n * @param {HTMLElement} container\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n var addClasses = function addClasses(container, popup, params) {\n addClass(container, params.showClass.backdrop);\n if (params.animation) {\n // this workaround with opacity is needed for https://github.com/sweetalert2/sweetalert2/issues/2059\n popup.style.setProperty('opacity', '0', 'important');\n show(popup, 'grid');\n setTimeout(function () {\n // Animate popup right after showing it\n addClass(popup, params.showClass.popup);\n // and remove the opacity workaround\n popup.style.removeProperty('opacity');\n }, SHOW_CLASS_TIMEOUT); // 10ms in order to fix #2062\n } else {\n show(popup, 'grid');\n }\n addClass([document.documentElement, document.body], swalClasses.shown);\n if (params.heightAuto && params.backdrop && !params.toast) {\n addClass([document.documentElement, document.body], swalClasses['height-auto']);\n }\n };\n var defaultInputValidators = {\n /**\n * @param {string} string\n * @param {string} [validationMessage]\n * @returns {Promise<string | void>}\n */\n email: function email(string, validationMessage) {\n return /^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-]+$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid email address');\n },\n /**\n * @param {string} string\n * @param {string} [validationMessage]\n * @returns {Promise<string | void>}\n */\n url: function url(string, validationMessage) {\n // taken from https://stackoverflow.com/a/3809435 with a small change from #1306 and #2013\n return /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,63}\\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid URL');\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n function setDefaultInputValidators(params) {\n // Use default `inputValidator` for supported input types if not provided\n if (params.inputValidator) {\n return;\n }\n if (params.input === 'email') {\n params.inputValidator = defaultInputValidators['email'];\n }\n if (params.input === 'url') {\n params.inputValidator = defaultInputValidators['url'];\n }\n }\n\n /**\n * @param {SweetAlertOptions} params\n */\n function validateCustomTargetElement(params) {\n // Determine if the custom target element is valid\n if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) {\n warn('Target parameter is not valid, defaulting to \"body\"');\n params.target = 'body';\n }\n }\n\n /**\n * Set type, text and actions on popup\n *\n * @param {SweetAlertOptions} params\n */\n function setParameters(params) {\n setDefaultInputValidators(params);\n\n // showLoaderOnConfirm && preConfirm\n if (params.showLoaderOnConfirm && !params.preConfirm) {\n warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\\n' + 'https://sweetalert2.github.io/#ajax-request');\n }\n validateCustomTargetElement(params);\n\n // Replace newlines with <br> in title\n if (typeof params.title === 'string') {\n params.title = params.title.split('\\n').join('<br />');\n }\n init(params);\n }\n\n /** @type {SweetAlert} */\n var currentInstance;\n var _promise = /*#__PURE__*/new WeakMap();\n var SweetAlert = /*#__PURE__*/function () {\n /**\n * @param {...any} args\n * @this {SweetAlert}\n */\n function SweetAlert() {\n _classCallCheck(this, SweetAlert);\n /**\n * @type {Promise<SweetAlertResult>}\n */\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n // Prevent run in Node env\n if (typeof window === 'undefined') {\n return;\n }\n currentInstance = this;\n\n // @ts-ignore\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var outerParams = Object.freeze(this.constructor.argsToParams(args));\n\n /** @type {Readonly<SweetAlertOptions>} */\n this.params = outerParams;\n\n /** @type {boolean} */\n this.isAwaitingPromise = false;\n _classPrivateFieldSet(this, _promise, this._main(currentInstance.params));\n }\n _createClass(SweetAlert, [{\n key: \"_main\",\n value: function _main(userParams) {\n var mixinParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n showWarningsForParams(Object.assign({}, mixinParams, userParams));\n if (globalState.currentInstance) {\n var swalPromiseResolve = privateMethods.swalPromiseResolve.get(globalState.currentInstance);\n var isAwaitingPromise = globalState.currentInstance.isAwaitingPromise;\n globalState.currentInstance._destroy();\n if (!isAwaitingPromise) {\n swalPromiseResolve({\n isDismissed: true\n });\n }\n if (isModal()) {\n unsetAriaHidden();\n }\n }\n globalState.currentInstance = currentInstance;\n var innerParams = prepareParams(userParams, mixinParams);\n setParameters(innerParams);\n Object.freeze(innerParams);\n\n // clear the previous timer\n if (globalState.timeout) {\n globalState.timeout.stop();\n delete globalState.timeout;\n }\n\n // clear the restore focus timeout\n clearTimeout(globalState.restoreFocusTimeout);\n var domCache = populateDomCache(currentInstance);\n render(currentInstance, innerParams);\n privateProps.innerParams.set(currentInstance, innerParams);\n return swalPromise(currentInstance, domCache, innerParams);\n }\n\n // `catch` cannot be the name of a module export, so we define our thenable methods here instead\n }, {\n key: \"then\",\n value: function then(onFulfilled) {\n return _classPrivateFieldGet(this, _promise).then(onFulfilled);\n }\n }, {\n key: \"finally\",\n value: function _finally(onFinally) {\n return _classPrivateFieldGet(this, _promise)[\"finally\"](onFinally);\n }\n }]);\n return SweetAlert;\n }();\n\n /**\n * @param {SweetAlert} instance\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n * @returns {Promise}\n */\n var swalPromise = function swalPromise(instance, domCache, innerParams) {\n return new Promise(function (resolve, reject) {\n // functions to handle all closings/dismissals\n /**\n * @param {DismissReason} dismiss\n */\n var dismissWith = function dismissWith(dismiss) {\n instance.close({\n isDismissed: true,\n dismiss: dismiss\n });\n };\n privateMethods.swalPromiseResolve.set(instance, resolve);\n privateMethods.swalPromiseReject.set(instance, reject);\n domCache.confirmButton.onclick = function () {\n handleConfirmButtonClick(instance);\n };\n domCache.denyButton.onclick = function () {\n handleDenyButtonClick(instance);\n };\n domCache.cancelButton.onclick = function () {\n handleCancelButtonClick(instance, dismissWith);\n };\n domCache.closeButton.onclick = function () {\n dismissWith(DismissReason.close);\n };\n handlePopupClick(innerParams, domCache, dismissWith);\n addKeydownHandler(globalState, innerParams, dismissWith);\n handleInputOptionsAndValue(instance, innerParams);\n openPopup(innerParams);\n setupTimer(globalState, innerParams, dismissWith);\n initFocus(domCache, innerParams);\n\n // Scroll container to top on open (#1247, #1946)\n setTimeout(function () {\n domCache.container.scrollTop = 0;\n });\n });\n };\n\n /**\n * @param {SweetAlertOptions} userParams\n * @param {SweetAlertOptions} mixinParams\n * @returns {SweetAlertOptions}\n */\n var prepareParams = function prepareParams(userParams, mixinParams) {\n var templateParams = getTemplateParams(userParams);\n var params = Object.assign({}, defaultParams, mixinParams, templateParams, userParams); // precedence is described in #2131\n params.showClass = Object.assign({}, defaultParams.showClass, params.showClass);\n params.hideClass = Object.assign({}, defaultParams.hideClass, params.hideClass);\n if (params.animation === false) {\n params.showClass = {\n backdrop: 'swal2-noanimation'\n };\n params.hideClass = {};\n }\n return params;\n };\n\n /**\n * @param {SweetAlert} instance\n * @returns {DomCache}\n */\n var populateDomCache = function populateDomCache(instance) {\n var domCache = {\n popup: getPopup(),\n container: getContainer(),\n actions: getActions(),\n confirmButton: getConfirmButton(),\n denyButton: getDenyButton(),\n cancelButton: getCancelButton(),\n loader: getLoader(),\n closeButton: getCloseButton(),\n validationMessage: getValidationMessage(),\n progressSteps: getProgressSteps()\n };\n privateProps.domCache.set(instance, domCache);\n return domCache;\n };\n\n /**\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n var setupTimer = function setupTimer(globalState, innerParams, dismissWith) {\n var timerProgressBar = getTimerProgressBar();\n hide(timerProgressBar);\n if (innerParams.timer) {\n globalState.timeout = new Timer(function () {\n dismissWith('timer');\n delete globalState.timeout;\n }, innerParams.timer);\n if (innerParams.timerProgressBar) {\n show(timerProgressBar);\n applyCustomClass(timerProgressBar, innerParams, 'timerProgressBar');\n setTimeout(function () {\n if (globalState.timeout && globalState.timeout.running) {\n // timer can be already stopped or unset at this point\n animateTimerProgressBar(innerParams.timer);\n }\n });\n }\n }\n };\n\n /**\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n */\n var initFocus = function initFocus(domCache, innerParams) {\n if (innerParams.toast) {\n return;\n }\n if (!callIfFunction(innerParams.allowEnterKey)) {\n blurActiveElement();\n return;\n }\n if (!focusButton(domCache, innerParams)) {\n setFocus(-1, 1);\n }\n };\n\n /**\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n * @returns {boolean}\n */\n var focusButton = function focusButton(domCache, innerParams) {\n if (innerParams.focusDeny && isVisible$1(domCache.denyButton)) {\n domCache.denyButton.focus();\n return true;\n }\n if (innerParams.focusCancel && isVisible$1(domCache.cancelButton)) {\n domCache.cancelButton.focus();\n return true;\n }\n if (innerParams.focusConfirm && isVisible$1(domCache.confirmButton)) {\n domCache.confirmButton.focus();\n return true;\n }\n return false;\n };\n var blurActiveElement = function blurActiveElement() {\n if (document.activeElement instanceof HTMLElement && typeof document.activeElement.blur === 'function') {\n document.activeElement.blur();\n }\n };\n\n // Dear russian users visiting russian sites. Let's have fun.\n if (typeof window !== 'undefined' && /^ru\\b/.test(navigator.language) && location.host.match(/\\.(ru|su|by|xn--p1ai)$/)) {\n var now = new Date();\n var initiationDate = localStorage.getItem('swal-initiation');\n if (!initiationDate) {\n localStorage.setItem('swal-initiation', \"\".concat(now));\n } else if ((now.getTime() - Date.parse(initiationDate)) / (1000 * 60 * 60 * 24) > 3) {\n setTimeout(function () {\n document.body.style.pointerEvents = 'none';\n var ukrainianAnthem = document.createElement('audio');\n ukrainianAnthem.src = 'https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3';\n ukrainianAnthem.loop = true;\n document.body.appendChild(ukrainianAnthem);\n setTimeout(function () {\n ukrainianAnthem.play()[\"catch\"](function () {\n // ignore\n });\n }, 2500);\n }, 500);\n }\n }\n\n // Assign instance methods from src/instanceMethods/*.js to prototype\n SweetAlert.prototype.disableButtons = disableButtons;\n SweetAlert.prototype.enableButtons = enableButtons;\n SweetAlert.prototype.getInput = getInput;\n SweetAlert.prototype.disableInput = disableInput;\n SweetAlert.prototype.enableInput = enableInput;\n SweetAlert.prototype.hideLoading = hideLoading;\n SweetAlert.prototype.disableLoading = hideLoading;\n SweetAlert.prototype.showValidationMessage = showValidationMessage;\n SweetAlert.prototype.resetValidationMessage = resetValidationMessage;\n SweetAlert.prototype.close = close;\n SweetAlert.prototype.closePopup = close;\n SweetAlert.prototype.closeModal = close;\n SweetAlert.prototype.closeToast = close;\n SweetAlert.prototype.rejectPromise = rejectPromise;\n SweetAlert.prototype.update = update;\n SweetAlert.prototype._destroy = _destroy;\n\n // Assign static methods from src/staticMethods/*.js to constructor\n Object.assign(SweetAlert, staticMethods);\n\n // Proxy to instance methods to constructor, for now, for backwards compatibility\n Object.keys(instanceMethods).forEach(function (key) {\n /**\n * @param {...any} args\n * @returns {any | undefined}\n */\n SweetAlert[key] = function () {\n if (currentInstance && currentInstance[key]) {\n var _currentInstance;\n return (_currentInstance = currentInstance)[key].apply(_currentInstance, arguments);\n }\n return null;\n };\n });\n SweetAlert.DismissReason = DismissReason;\n SweetAlert.version = '11.10.6';\n var Swal = SweetAlert;\n // @ts-ignore\n Swal[\"default\"] = Swal;\n return Swal;\n});\nif (typeof this !== 'undefined' && this.Sweetalert2) {\n this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2;\n}\n\"undefined\" != typeof document && function (e, t) {\n var n = e.createElement(\"style\");\n if (e.getElementsByTagName(\"head\")[0].appendChild(n), n.styleSheet) n.styleSheet.disabled || (n.styleSheet.cssText = t);else try {\n n.innerHTML = t;\n } catch (e) {\n n.innerText = t;\n }\n}(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;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:\\\"top-start top top-end\\\" \\\"center-start center center-end\\\" \\\"bottom-start bottom-center bottom-end\\\";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:\\\"!\\\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#facea8;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#9de0f6;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#c9dae1;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}\");","map":{"version":3,"names":["global","factory","exports","module","define","amd","globalThis","self","Sweetalert2","_callSuper","t","o","e","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","_construct","r","arguments","push","p","bind","_setPrototypeOf","prototype","Boolean","valueOf","call","_iterableToArrayLimit","l","Symbol","iterator","n","i","u","a","f","next","Object","done","value","length","return","_toPrimitive","toPrimitive","TypeError","String","Number","_toPropertyKey","_typeof","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","key","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","setPrototypeOf","getPrototypeOf","__proto__","_assertThisInitialized","ReferenceError","_superPropBase","object","property","hasOwnProperty","_get","get","receiver","base","desc","getOwnPropertyDescriptor","_slicedToArray","arr","_arrayWithHoles","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Array","isArray","_arrayLikeToArray","iter","from","minLen","toString","slice","name","test","len","arr2","_classPrivateFieldGet","privateMap","_classExtractFieldDescriptor","_classApplyDescriptorGet","_classPrivateFieldSet","_classApplyDescriptorSet","action","has","set","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldInitSpec","RESTORE_FOCUS_TIMEOUT","globalState","focusPreviousActiveElement","previousActiveElement","HTMLElement","focus","document","body","restoreActiveElement","returnFocus","Promise","resolve","x","window","scrollX","y","scrollY","restoreFocusTimeout","setTimeout","scrollTo","swalPrefix","classNames","swalClasses","reduce","acc","className","icons","iconTypes","icon","consolePrefix","capitalizeFirstLetter","str","charAt","toUpperCase","warn","message","console","concat","join","error","previousWarnOnceMessages","warnOnce","includes","warnAboutDeprecation","deprecatedParam","useInstead","callIfFunction","arg","hasToPromiseFn","toPromise","asPromise","isPromise","getContainer","querySelector","container","elementBySelector","selectorString","elementByClass","getPopup","popup","getIcon","getIconContent","getTitle","title","getHtmlContainer","getImage","image","getProgressSteps","getValidationMessage","getConfirmButton","actions","confirm","getCancelButton","cancel","getDenyButton","deny","getInputLabel","getLoader","loader","getActions","getFooter","footer","getTimerProgressBar","getCloseButton","close","focusable","getFocusableElements","focusableElementsWithTabindex","querySelectorAll","focusableElementsWithTabindexSorted","sort","b","tabindexA","parseInt","getAttribute","tabindexB","otherFocusableElements","otherFocusableElementsFiltered","filter","el","Set","isVisible$1","isModal","hasClass","shown","isToast","toast","isLoading","hasAttribute","setInnerHtml","elem","html","textContent","parser","DOMParser","parsed","parseFromString","head","childNodes","forEach","child","appendChild","HTMLVideoElement","HTMLAudioElement","cloneNode","classList","split","contains","removeCustomClasses","params","values","showClass","remove","applyCustomClass","customClass","addClass","getInput$1","getInput","inputClass","checkbox","radio","range","input","focusInput","type","val","toggleClass","condition","add","removeClass","getDirectChildByClass","children","applyNumericalStyle","style","setProperty","removeProperty","show","display","undefined","hide","showWhenInnerHtmlPresent","MutationObserver","toggle","innerHTML","observe","childList","subtree","setStyle","parent","selector","isVisible","offsetWidth","offsetHeight","getClientRects","allButtonsAreHidden","isScrollable","scrollHeight","clientHeight","hasCssAnimation","getComputedStyle","animDuration","parseFloat","getPropertyValue","transDuration","animateTimerProgressBar","timer","reset","timerProgressBar","transition","width","stopTimerProgressBar","timerProgressBarWidth","timerProgressBarFullWidth","timerProgressBarPercent","isNodeEnv","sweetHTML","file","select","label","textarea","replace","resetOldContainer","oldContainer","documentElement","resetValidationMessage$1","resetValidationMessage","currentInstance","addInputChangeListeners","rangeOutput","oninput","onchange","getTarget","setupAccessibility","setAttribute","setupRTL","targetElement","direction","rtl","init","oldContainerExisted","createElement","parseHtmlToContainer","param","handleObject","jquery","handleJqueryElem","animationEndEvent","testEl","webkitAnimation","animation","renderActions","showConfirmButton","showDenyButton","showCancelButton","renderButtons","loaderHtml","confirmButton","denyButton","cancelButton","renderButton","handleButtonsStyling","reverseButtons","insertBefore","buttonsStyling","styled","confirmButtonColor","backgroundColor","denyButtonColor","cancelButtonColor","button","buttonType","buttonName","renderCloseButton","closeButton","closeButtonHtml","showCloseButton","closeButtonAriaLabel","renderContainer","handleBackdropParam","backdrop","handlePositionParam","position","handleGrowParam","grow","background","center","privateProps","innerParams","WeakMap","domCache","inputClasses","renderInput","rerender","inputContainer","setAttributes","inputAttributes","showInput","setCustomClass","renderInputType","keys","getInputContainer","inputAutoFocus","removeAttributes","attributes","attrName","removeAttribute","attr","setInputPlaceholder","placeholder","inputPlaceholder","setInputLabel","prependTo","inputLabel","labelClass","id","innerText","insertAdjacentElement","inputType","checkAndSetInputValue","inputValue","text","email","password","number","tel","url","search","date","time","week","month","rangeInput","disabled","selected","checkboxContainer","checked","getMargin","marginLeft","marginRight","initialPopupWidth","textareaResizeHandler","textareaWidth","attributeFilter","renderContent","htmlContainer","renderFooter","renderIcon","setContent","applyStyles","iconHtml","indexOf","_i","_Object$entries","entries","_Object$entries$_i","iconType","iconClassName","setColor","adjustSuccessIconBackgroundColor","popupBackgroundColor","successIconParts","successIconHtml","errorIconHtml","oldContent","newContent","iconContent","defaultIconHtml","question","warning","info","trim","iconColor","color","borderColor","_i2","_arr","sel","content","renderImage","imageUrl","imageAlt","imageWidth","imageHeight","renderPopup","padding","addClasses$1","addClasses","modal","renderProgressSteps","progressStepsContainer","progressSteps","currentProgressStep","step","index","stepEl","createStepElement","lineEl","createLineElement","progressStepsDistance","renderTitle","titleText","render","didRender","clickConfirm","_dom$getConfirmButton","click","clickDeny","_dom$getDenyButton","clickCancel","_dom$getCancelButton","DismissReason","freeze","esc","removeKeydownHandler","keydownTarget","keydownHandlerAdded","removeEventListener","keydownHandler","capture","keydownListenerCapture","addKeydownHandler","dismissWith","addEventListener","setFocus","increment","_dom$getPopup","focusableElements","arrowKeysNextButton","arrowKeysPreviousButton","event","isComposing","keyCode","stopKeydownPropagation","stopPropagation","handleEnter","handleTab","handleArrows","handleEsc","allowEnterKey","outerHTML","preventDefault","btnIndex","shiftKey","buttons","activeElement","sibling","buttonToFocus","HTMLButtonElement","allowEscapeKey","privateMethods","swalPromiseResolve","swalPromiseReject","setAriaHidden","bodyChildren","unsetAriaHidden","isSafariOrIOS","GestureEvent","iOSfix","iosfix","offset","scrollTop","top","lockBodyScroll","preventTouchMove","ontouchstart","shouldPreventTouchMove","ontouchmove","isStylus","isZoom","tagName","touches","touchType","undoIOSfix","measureScrollbar","scrollDiv","scrollbarWidth","getBoundingClientRect","clientWidth","removeChild","previousBodyPadding","replaceScrollbarWithPadding","initialBodyOverflow","innerHeight","paddingRight","undoReplaceScrollbarWithPadding","removePopupAndResetState","didClose","triggerDidCloseAndDispose","then","removeBodyClasses","resolveValue","prepareResolveValue","triggerClosePopup","isAwaitingPromise","isDismissed","handleAwaitingPromise","hideClass","handlePopupAnimation","rejectPromise","_destroy","isConfirmed","isDenied","assign","animationIsSupported","willClose","animatePopup","swalCloseEventFinishedCallback","showLoading","buttonToReplace","Swal","replaceButton","loading","handleInputOptionsAndValue","handleInputOptions","some","handleInputValue","getInputValue","getCheckboxValue","getRadioValue","getFileValue","inputAutoTrim","files","processInputOptions","inputOptions","populateSelectOptions","formatInputOptions","populateRadioOptions","hideLoading","err","renderOption","optionLabel","optionValue","option","isSelected","inputOption","optgroup","radioValue","radioLabel","radioInput","radioLabelElement","radios","result","Map","valueFormatted","_this","handleConfirmButtonClick","disableButtons","handleConfirmOrDenyWithInput","handleDenyButtonClick","returnInputValueOnDeny","handleCancelButtonClick","inputValidator","handleInputValidator","checkValidity","enableButtons","showValidationMessage","validationMessage","disableInput","validationPromise","enableInput","showLoaderOnDeny","preDeny","preDenyPromise","preDenyValue","rejectWith","succeedWith","showLoaderOnConfirm","preConfirm","preConfirmPromise","preConfirmValue","showRelatedButton","getElementsByClassName","setButtonsDisabled","setInputDisabled","inputerror","defaultParams","template","heightAuto","allowOutsideClick","confirmButtonText","confirmButtonAriaLabel","denyButtonText","denyButtonAriaLabel","cancelButtonText","cancelButtonAriaLabel","focusConfirm","focusDeny","focusCancel","willOpen","didOpen","didDestroy","scrollbarPadding","updatableParams","deprecatedParams","toastIncompatibleParams","isValidParameter","paramName","isUpdatableParameter","isDeprecatedParameter","checkIfParamIsValid","checkIfToastParamIsValid","checkIfParamIsDeprecated","isDeprecated","showWarningsForParams","update","validUpdatableParams","filterValidParams","updatedParams","defineProperties","disposeWeakMaps","disposeSwal","unsetWeakMaps","disableLoading","closePopup","closeModal","closeToast","instanceMethods","handlePopupClick","handleToastClick","handleModalMousedown","handleContainerMousedown","handleModalClick","onclick","isAnyButtonShown","ignoreOutsideClick","onmousedown","onmouseup","isJqueryElement","isElement","Element","argsToParams","args","fire","_len","_key","mixin","mixinParams","MixinSwal","_main","priorityMixinParams","getTimerLeft","timeout","stopTimer","stop","resumeTimer","remaining","start","toggleTimer","running","increaseTimer","ms","increase","isTimerRunning","isRunning","bodyClickListenerAdded","clickHandlers","bindClickHandler","bodyClickListener","parentNode","staticMethods","enableLoading","Timer","callback","delay","started","Date","clearTimeout","getTime","swalStringParams","getTemplateParams","templateContent","showWarningsForElements","getSwalParams","getSwalFunctionParams","getSwalButtons","getSwalImage","getSwalIcon","getSwalInput","getSwalStringParams","swalParams","showWarningsForAttributes","JSON","parse","swalFunctions","Function","swalButtons","optionName","paramNames","tag","allowedElements","toLowerCase","allowedAttributes","attribute","SHOW_CLASS_TIMEOUT","openPopup","bodyStyles","overflowY","setScrollingVisibility","fixScrollContainer","swalOpenAnimationFinished","defaultInputValidators","string","setDefaultInputValidators","validateCustomTargetElement","setParameters","_promise","SweetAlert","outerParams","userParams","prepareParams","populateDomCache","swalPromise","onFulfilled","_finally","onFinally","reject","dismiss","setupTimer","initFocus","templateParams","blurActiveElement","focusButton","blur","navigator","language","location","host","match","now","initiationDate","localStorage","getItem","setItem","pointerEvents","ukrainianAnthem","src","loop","play","_currentInstance","version","swal","sweetAlert","getElementsByTagName","styleSheet","cssText"],"sources":["E:/TekH/Visual Studio/WebUserManager/DigitalData.UserManager.NgWebUI/ClientApp/node_modules/sweetalert2/dist/sweetalert2.all.js"],"sourcesContent":["/*!\n* sweetalert2 v11.10.6\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory());\n})(this, (function () { 'use strict';\n\n function _callSuper(t, o, e) {\n return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));\n }\n function _construct(t, e, r) {\n if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && _setPrototypeOf(p, r.prototype), p;\n }\n function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function () {\n return !!t;\n })();\n }\n function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n }\n function _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n }\n function _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : String(i);\n }\n function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n }\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n }\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return _classApplyDescriptorGet(receiver, descriptor);\n }\n function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\");\n _classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n }\n function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n }\n function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n }\n function _classPrivateFieldInitSpec(obj, privateMap, value) {\n _checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n }\n\n var RESTORE_FOCUS_TIMEOUT = 100;\n\n /** @type {GlobalState} */\n var globalState = {};\n var focusPreviousActiveElement = function focusPreviousActiveElement() {\n if (globalState.previousActiveElement instanceof HTMLElement) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n\n /**\n * Restore previous active (focused) element\n *\n * @param {boolean} returnFocus\n * @returns {Promise<void>}\n */\n var restoreActiveElement = function restoreActiveElement(returnFocus) {\n return new Promise(function (resolve) {\n if (!returnFocus) {\n return resolve();\n }\n var x = window.scrollX;\n var y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(function () {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n window.scrollTo(x, y);\n });\n };\n\n var swalPrefix = 'swal2-';\n\n /**\n * @typedef\n * { | 'container'\n * | 'shown'\n * | 'height-auto'\n * | 'iosfix'\n * | 'popup'\n * | 'modal'\n * | 'no-backdrop'\n * | 'no-transition'\n * | 'toast'\n * | 'toast-shown'\n * | 'show'\n * | 'hide'\n * | 'close'\n * | 'title'\n * | 'html-container'\n * | 'actions'\n * | 'confirm'\n * | 'deny'\n * | 'cancel'\n * | 'default-outline'\n * | 'footer'\n * | 'icon'\n * | 'icon-content'\n * | 'image'\n * | 'input'\n * | 'file'\n * | 'range'\n * | 'select'\n * | 'radio'\n * | 'checkbox'\n * | 'label'\n * | 'textarea'\n * | 'inputerror'\n * | 'input-label'\n * | 'validation-message'\n * | 'progress-steps'\n * | 'active-progress-step'\n * | 'progress-step'\n * | 'progress-step-line'\n * | 'loader'\n * | 'loading'\n * | 'styled'\n * | 'top'\n * | 'top-start'\n * | 'top-end'\n * | 'top-left'\n * | 'top-right'\n * | 'center'\n * | 'center-start'\n * | 'center-end'\n * | 'center-left'\n * | 'center-right'\n * | 'bottom'\n * | 'bottom-start'\n * | 'bottom-end'\n * | 'bottom-left'\n * | 'bottom-right'\n * | 'grow-row'\n * | 'grow-column'\n * | 'grow-fullscreen'\n * | 'rtl'\n * | 'timer-progress-bar'\n * | 'timer-progress-bar-container'\n * | 'scrollbar-measure'\n * | 'icon-success'\n * | 'icon-warning'\n * | 'icon-info'\n * | 'icon-question'\n * | 'icon-error'\n * } SwalClass\n * @typedef {Record<SwalClass, string>} SwalClasses\n */\n\n /**\n * @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon\n * @typedef {Record<SwalIcon, string>} SwalIcons\n */\n\n /** @type {SwalClass[]} */\n var classNames = ['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error'];\n var swalClasses = classNames.reduce(function (acc, className) {\n acc[className] = swalPrefix + className;\n return acc;\n }, /** @type {SwalClasses} */{});\n\n /** @type {SwalIcon[]} */\n var icons = ['success', 'warning', 'info', 'question', 'error'];\n var iconTypes = icons.reduce(function (acc, icon) {\n acc[icon] = swalPrefix + icon;\n return acc;\n }, /** @type {SwalIcons} */{});\n\n var consolePrefix = 'SweetAlert2:';\n\n /**\n * Capitalize the first letter of a string\n *\n * @param {string} str\n * @returns {string}\n */\n var capitalizeFirstLetter = function capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n\n /**\n * Standardize console warnings\n *\n * @param {string | string[]} message\n */\n var warn = function warn(message) {\n console.warn(\"\".concat(consolePrefix, \" \").concat(_typeof(message) === 'object' ? message.join(' ') : message));\n };\n\n /**\n * Standardize console errors\n *\n * @param {string} message\n */\n var error = function error(message) {\n console.error(\"\".concat(consolePrefix, \" \").concat(message));\n };\n\n /**\n * Private global state for `warnOnce`\n *\n * @type {string[]}\n * @private\n */\n var previousWarnOnceMessages = [];\n\n /**\n * Show a console warning, but only if it hasn't already been shown\n *\n * @param {string} message\n */\n var warnOnce = function warnOnce(message) {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n\n /**\n * Show a one-time console warning about deprecated params/methods\n *\n * @param {string} deprecatedParam\n * @param {string} useInstead\n */\n var warnAboutDeprecation = function warnAboutDeprecation(deprecatedParam, useInstead) {\n warnOnce(\"\\\"\".concat(deprecatedParam, \"\\\" is deprecated and will be removed in the next major release. Please use \\\"\").concat(useInstead, \"\\\" instead.\"));\n };\n\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n *\n * @param {Function | any} arg\n * @returns {any}\n */\n var callIfFunction = function callIfFunction(arg) {\n return typeof arg === 'function' ? arg() : arg;\n };\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n var hasToPromiseFn = function hasToPromiseFn(arg) {\n return arg && typeof arg.toPromise === 'function';\n };\n\n /**\n * @param {any} arg\n * @returns {Promise<any>}\n */\n var asPromise = function asPromise(arg) {\n return hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n };\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n var isPromise = function isPromise(arg) {\n return arg && Promise.resolve(arg) === arg;\n };\n\n /**\n * Gets the popup container which contains the backdrop and the popup itself.\n *\n * @returns {HTMLElement | null}\n */\n var getContainer = function getContainer() {\n return document.body.querySelector(\".\".concat(swalClasses.container));\n };\n\n /**\n * @param {string} selectorString\n * @returns {HTMLElement | null}\n */\n var elementBySelector = function elementBySelector(selectorString) {\n var container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n\n /**\n * @param {string} className\n * @returns {HTMLElement | null}\n */\n var elementByClass = function elementByClass(className) {\n return elementBySelector(\".\".concat(className));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getPopup = function getPopup() {\n return elementByClass(swalClasses.popup);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getIcon = function getIcon() {\n return elementByClass(swalClasses.icon);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getIconContent = function getIconContent() {\n return elementByClass(swalClasses['icon-content']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getTitle = function getTitle() {\n return elementByClass(swalClasses.title);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getHtmlContainer = function getHtmlContainer() {\n return elementByClass(swalClasses['html-container']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getImage = function getImage() {\n return elementByClass(swalClasses.image);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getProgressSteps = function getProgressSteps() {\n return elementByClass(swalClasses['progress-steps']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getValidationMessage = function getValidationMessage() {\n return elementByClass(swalClasses['validation-message']);\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getConfirmButton = function getConfirmButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.confirm));\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getCancelButton = function getCancelButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.cancel));\n };\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n var getDenyButton = function getDenyButton() {\n return /** @type {HTMLButtonElement} */elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.deny));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getInputLabel = function getInputLabel() {\n return elementByClass(swalClasses['input-label']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getLoader = function getLoader() {\n return elementBySelector(\".\".concat(swalClasses.loader));\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getActions = function getActions() {\n return elementByClass(swalClasses.actions);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getFooter = function getFooter() {\n return elementByClass(swalClasses.footer);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getTimerProgressBar = function getTimerProgressBar() {\n return elementByClass(swalClasses['timer-progress-bar']);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n var getCloseButton = function getCloseButton() {\n return elementByClass(swalClasses.close);\n };\n\n // https://github.com/jkup/focusable/blob/master/index.js\n var focusable = \"\\n a[href],\\n area[href],\\n input:not([disabled]),\\n select:not([disabled]),\\n textarea:not([disabled]),\\n button:not([disabled]),\\n iframe,\\n object,\\n embed,\\n [tabindex=\\\"0\\\"],\\n [contenteditable],\\n audio[controls],\\n video[controls],\\n summary\\n\";\n /**\n * @returns {HTMLElement[]}\n */\n var getFocusableElements = function getFocusableElements() {\n var popup = getPopup();\n if (!popup) {\n return [];\n }\n /** @type {NodeListOf<HTMLElement>} */\n var focusableElementsWithTabindex = popup.querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])');\n var focusableElementsWithTabindexSorted = Array.from(focusableElementsWithTabindex)\n // sort according to tabindex\n .sort(function (a, b) {\n var tabindexA = parseInt(a.getAttribute('tabindex') || '0');\n var tabindexB = parseInt(b.getAttribute('tabindex') || '0');\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n return 0;\n });\n\n /** @type {NodeListOf<HTMLElement>} */\n var otherFocusableElements = popup.querySelectorAll(focusable);\n var otherFocusableElementsFiltered = Array.from(otherFocusableElements).filter(function (el) {\n return el.getAttribute('tabindex') !== '-1';\n });\n return _toConsumableArray(new Set(focusableElementsWithTabindexSorted.concat(otherFocusableElementsFiltered))).filter(function (el) {\n return isVisible$1(el);\n });\n };\n\n /**\n * @returns {boolean}\n */\n var isModal = function isModal() {\n return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n };\n\n /**\n * @returns {boolean}\n */\n var isToast = function isToast() {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n return hasClass(popup, swalClasses.toast);\n };\n\n /**\n * @returns {boolean}\n */\n var isLoading = function isLoading() {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n return popup.hasAttribute('data-loading');\n };\n\n /**\n * Securely set innerHTML of an element\n * https://github.com/sweetalert2/sweetalert2/issues/1926\n *\n * @param {HTMLElement} elem\n * @param {string} html\n */\n var setInnerHtml = function setInnerHtml(elem, html) {\n elem.textContent = '';\n if (html) {\n var parser = new DOMParser();\n var parsed = parser.parseFromString(html, \"text/html\");\n var head = parsed.querySelector('head');\n head && Array.from(head.childNodes).forEach(function (child) {\n elem.appendChild(child);\n });\n var body = parsed.querySelector('body');\n body && Array.from(body.childNodes).forEach(function (child) {\n if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) {\n elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507\n } else {\n elem.appendChild(child);\n }\n });\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {boolean}\n */\n var hasClass = function hasClass(elem, className) {\n if (!className) {\n return false;\n }\n var classList = className.split(/\\s+/);\n for (var i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n */\n var removeCustomClasses = function removeCustomClasses(elem, params) {\n Array.from(elem.classList).forEach(function (className) {\n if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass || {}).includes(className)) {\n elem.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n * @param {string} className\n */\n var applyCustomClass = function applyCustomClass(elem, params, className) {\n removeCustomClasses(elem, params);\n if (params.customClass && params.customClass[className]) {\n if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n warn(\"Invalid type of customClass.\".concat(className, \"! Expected string or iterable object, got \\\"\").concat(_typeof(params.customClass[className]), \"\\\"\"));\n return;\n }\n addClass(elem, params.customClass[className]);\n }\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {import('./renderers/renderInput').InputClass | SweetAlertInput} inputClass\n * @returns {HTMLInputElement | null}\n */\n var getInput$1 = function getInput(popup, inputClass) {\n if (!inputClass) {\n return null;\n }\n switch (inputClass) {\n case 'select':\n case 'textarea':\n case 'file':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses[inputClass]));\n case 'checkbox':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.checkbox, \" input\"));\n case 'radio':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:checked\")) || popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.radio, \" input:first-child\"));\n case 'range':\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.range, \" input\"));\n default:\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses.input));\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n */\n var focusInput = function focusInput(input) {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n var val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n * @param {boolean} condition\n */\n var toggleClass = function toggleClass(target, classList, condition) {\n if (!target || !classList) {\n return;\n }\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n classList.forEach(function (className) {\n if (Array.isArray(target)) {\n target.forEach(function (elem) {\n condition ? elem.classList.add(className) : elem.classList.remove(className);\n });\n } else {\n condition ? target.classList.add(className) : target.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n var addClass = function addClass(target, classList) {\n toggleClass(target, classList, true);\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n var removeClass = function removeClass(target, classList) {\n toggleClass(target, classList, false);\n };\n\n /**\n * Get direct child of an element by class name\n *\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {HTMLElement | undefined}\n */\n var getDirectChildByClass = function getDirectChildByClass(elem, className) {\n var children = Array.from(elem.children);\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child instanceof HTMLElement && hasClass(child, className)) {\n return child;\n }\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} property\n * @param {*} value\n */\n var applyNumericalStyle = function applyNumericalStyle(elem, property, value) {\n if (value === \"\".concat(parseInt(value))) {\n value = parseInt(value);\n }\n if (value || parseInt(value) === 0) {\n elem.style.setProperty(property, typeof value === 'number' ? \"\".concat(value, \"px\") : value);\n } else {\n elem.style.removeProperty(property);\n }\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n var show = function show(elem) {\n var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n elem && (elem.style.display = display);\n };\n\n /**\n * @param {HTMLElement | null} elem\n */\n var hide = function hide(elem) {\n elem && (elem.style.display = 'none');\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n var showWhenInnerHtmlPresent = function showWhenInnerHtmlPresent(elem) {\n var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block';\n if (!elem) {\n return;\n }\n new MutationObserver(function () {\n toggle(elem, elem.innerHTML, display);\n }).observe(elem, {\n childList: true,\n subtree: true\n });\n };\n\n /**\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {string} property\n * @param {string} value\n */\n var setStyle = function setStyle(parent, selector, property, value) {\n /** @type {HTMLElement | null} */\n var el = parent.querySelector(selector);\n if (el) {\n el.style.setProperty(property, value);\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {any} condition\n * @param {string} display\n */\n var toggle = function toggle(elem, condition) {\n var display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n condition ? show(elem, display) : hide(elem);\n };\n\n /**\n * borrowed from jquery $(elem).is(':visible') implementation\n *\n * @param {HTMLElement | null} elem\n * @returns {boolean}\n */\n var isVisible$1 = function isVisible(elem) {\n return !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n };\n\n /**\n * @returns {boolean}\n */\n var allButtonsAreHidden = function allButtonsAreHidden() {\n return !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton());\n };\n\n /**\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n var isScrollable = function isScrollable(elem) {\n return !!(elem.scrollHeight > elem.clientHeight);\n };\n\n /**\n * borrowed from https://stackoverflow.com/a/46352119\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n var hasCssAnimation = function hasCssAnimation(elem) {\n var style = window.getComputedStyle(elem);\n var animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n var transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n\n /**\n * @param {number} timer\n * @param {boolean} reset\n */\n var animateTimerProgressBar = function animateTimerProgressBar(timer) {\n var reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n if (isVisible$1(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n setTimeout(function () {\n timerProgressBar.style.transition = \"width \".concat(timer / 1000, \"s linear\");\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n var stopTimerProgressBar = function stopTimerProgressBar() {\n var timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n var timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n var timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n var timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.width = \"\".concat(timerProgressBarPercent, \"%\");\n };\n\n /**\n * Detect Node env\n *\n * @returns {boolean}\n */\n var isNodeEnv = function isNodeEnv() {\n return typeof window === 'undefined' || typeof document === 'undefined';\n };\n\n var sweetHTML = \"\\n <div aria-labelledby=\\\"\".concat(swalClasses.title, \"\\\" aria-describedby=\\\"\").concat(swalClasses['html-container'], \"\\\" class=\\\"\").concat(swalClasses.popup, \"\\\" tabindex=\\\"-1\\\">\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.close, \"\\\"></button>\\n <ul class=\\\"\").concat(swalClasses['progress-steps'], \"\\\"></ul>\\n <div class=\\\"\").concat(swalClasses.icon, \"\\\"></div>\\n <img class=\\\"\").concat(swalClasses.image, \"\\\" />\\n <h2 class=\\\"\").concat(swalClasses.title, \"\\\" id=\\\"\").concat(swalClasses.title, \"\\\"></h2>\\n <div class=\\\"\").concat(swalClasses['html-container'], \"\\\" id=\\\"\").concat(swalClasses['html-container'], \"\\\"></div>\\n <input class=\\\"\").concat(swalClasses.input, \"\\\" id=\\\"\").concat(swalClasses.input, \"\\\" />\\n <input type=\\\"file\\\" class=\\\"\").concat(swalClasses.file, \"\\\" />\\n <div class=\\\"\").concat(swalClasses.range, \"\\\">\\n <input type=\\\"range\\\" />\\n <output></output>\\n </div>\\n <select class=\\\"\").concat(swalClasses.select, \"\\\" id=\\\"\").concat(swalClasses.select, \"\\\"></select>\\n <div class=\\\"\").concat(swalClasses.radio, \"\\\"></div>\\n <label class=\\\"\").concat(swalClasses.checkbox, \"\\\">\\n <input type=\\\"checkbox\\\" id=\\\"\").concat(swalClasses.checkbox, \"\\\" />\\n <span class=\\\"\").concat(swalClasses.label, \"\\\"></span>\\n </label>\\n <textarea class=\\\"\").concat(swalClasses.textarea, \"\\\" id=\\\"\").concat(swalClasses.textarea, \"\\\"></textarea>\\n <div class=\\\"\").concat(swalClasses['validation-message'], \"\\\" id=\\\"\").concat(swalClasses['validation-message'], \"\\\"></div>\\n <div class=\\\"\").concat(swalClasses.actions, \"\\\">\\n <div class=\\\"\").concat(swalClasses.loader, \"\\\"></div>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.confirm, \"\\\"></button>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.deny, \"\\\"></button>\\n <button type=\\\"button\\\" class=\\\"\").concat(swalClasses.cancel, \"\\\"></button>\\n </div>\\n <div class=\\\"\").concat(swalClasses.footer, \"\\\"></div>\\n <div class=\\\"\").concat(swalClasses['timer-progress-bar-container'], \"\\\">\\n <div class=\\\"\").concat(swalClasses['timer-progress-bar'], \"\\\"></div>\\n </div>\\n </div>\\n\").replace(/(^|\\n)\\s*/g, '');\n\n /**\n * @returns {boolean}\n */\n var resetOldContainer = function resetOldContainer() {\n var oldContainer = getContainer();\n if (!oldContainer) {\n return false;\n }\n oldContainer.remove();\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n var resetValidationMessage$1 = function resetValidationMessage() {\n globalState.currentInstance.resetValidationMessage();\n };\n var addInputChangeListeners = function addInputChangeListeners() {\n var popup = getPopup();\n var input = getDirectChildByClass(popup, swalClasses.input);\n var file = getDirectChildByClass(popup, swalClasses.file);\n /** @type {HTMLInputElement} */\n var range = popup.querySelector(\".\".concat(swalClasses.range, \" input\"));\n /** @type {HTMLOutputElement} */\n var rangeOutput = popup.querySelector(\".\".concat(swalClasses.range, \" output\"));\n var select = getDirectChildByClass(popup, swalClasses.select);\n /** @type {HTMLInputElement} */\n var checkbox = popup.querySelector(\".\".concat(swalClasses.checkbox, \" input\"));\n var textarea = getDirectChildByClass(popup, swalClasses.textarea);\n input.oninput = resetValidationMessage$1;\n file.onchange = resetValidationMessage$1;\n select.onchange = resetValidationMessage$1;\n checkbox.onchange = resetValidationMessage$1;\n textarea.oninput = resetValidationMessage$1;\n range.oninput = function () {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n range.onchange = function () {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n };\n\n /**\n * @param {string | HTMLElement} target\n * @returns {HTMLElement}\n */\n var getTarget = function getTarget(target) {\n return typeof target === 'string' ? document.querySelector(target) : target;\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var setupAccessibility = function setupAccessibility(params) {\n var popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n\n /**\n * @param {HTMLElement} targetElement\n */\n var setupRTL = function setupRTL(targetElement) {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n\n /**\n * Add modal + backdrop + no-war message for Russians to DOM\n *\n * @param {SweetAlertOptions} params\n */\n var init = function init(params) {\n // Clean up the old popup container if it exists\n var oldContainerExisted = resetOldContainer();\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n var container = document.createElement('div');\n container.className = swalClasses.container;\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n setInnerHtml(container, sweetHTML);\n var targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n\n /**\n * @param {HTMLElement | object | string} param\n * @param {HTMLElement} target\n */\n var parseHtmlToContainer = function parseHtmlToContainer(param, target) {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param);\n }\n\n // Object\n else if (_typeof(param) === 'object') {\n handleObject(param, target);\n }\n\n // Plain string\n else if (param) {\n setInnerHtml(target, param);\n }\n };\n\n /**\n * @param {any} param\n * @param {HTMLElement} target\n */\n var handleObject = function handleObject(param, target) {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param);\n }\n\n // For other objects use their string representation\n else {\n setInnerHtml(target, param.toString());\n }\n };\n\n /**\n * @param {HTMLElement} target\n * @param {any} elem\n */\n var handleJqueryElem = function handleJqueryElem(target, elem) {\n target.textContent = '';\n if (0 in elem) {\n for (var i = 0; (i in elem); i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n\n /**\n * @returns {'webkitAnimationEnd' | 'animationend' | false}\n */\n var animationEndEvent = function () {\n // Prevent run in Node env\n if (isNodeEnv()) {\n return false;\n }\n var testEl = document.createElement('div');\n\n // Chrome, Safari and Opera\n if (typeof testEl.style.webkitAnimation !== 'undefined') {\n return 'webkitAnimationEnd';\n }\n\n // Standard syntax\n if (typeof testEl.style.animation !== 'undefined') {\n return 'animationend';\n }\n return false;\n }();\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderActions = function renderActions(instance, params) {\n var actions = getActions();\n var loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n\n // Actions (buttons) wrapper\n if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n hide(actions);\n } else {\n show(actions);\n }\n\n // Custom class\n applyCustomClass(actions, params, 'actions');\n\n // Render all the buttons\n renderButtons(actions, loader, params);\n\n // Loader\n setInnerHtml(loader, params.loaderHtml || '');\n applyCustomClass(loader, params, 'loader');\n };\n\n /**\n * @param {HTMLElement} actions\n * @param {HTMLElement} loader\n * @param {SweetAlertOptions} params\n */\n function renderButtons(actions, loader, params) {\n var confirmButton = getConfirmButton();\n var denyButton = getDenyButton();\n var cancelButton = getCancelButton();\n if (!confirmButton || !denyButton || !cancelButton) {\n return;\n }\n\n // Render buttons\n renderButton(confirmButton, 'confirm', params);\n renderButton(denyButton, 'deny', params);\n renderButton(cancelButton, 'cancel', params);\n handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n if (params.reverseButtons) {\n if (params.toast) {\n actions.insertBefore(cancelButton, confirmButton);\n actions.insertBefore(denyButton, confirmButton);\n } else {\n actions.insertBefore(cancelButton, loader);\n actions.insertBefore(denyButton, loader);\n actions.insertBefore(confirmButton, loader);\n }\n }\n }\n\n /**\n * @param {HTMLElement} confirmButton\n * @param {HTMLElement} denyButton\n * @param {HTMLElement} cancelButton\n * @param {SweetAlertOptions} params\n */\n function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n if (!params.buttonsStyling) {\n removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n return;\n }\n addClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n\n // Buttons background colors\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n addClass(confirmButton, swalClasses['default-outline']);\n }\n if (params.denyButtonColor) {\n denyButton.style.backgroundColor = params.denyButtonColor;\n addClass(denyButton, swalClasses['default-outline']);\n }\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n addClass(cancelButton, swalClasses['default-outline']);\n }\n }\n\n /**\n * @param {HTMLElement} button\n * @param {'confirm' | 'deny' | 'cancel'} buttonType\n * @param {SweetAlertOptions} params\n */\n function renderButton(button, buttonType, params) {\n var buttonName = /** @type {'Confirm' | 'Deny' | 'Cancel'} */capitalizeFirstLetter(buttonType);\n toggle(button, params[\"show\".concat(buttonName, \"Button\")], 'inline-block');\n setInnerHtml(button, params[\"\".concat(buttonType, \"ButtonText\")] || ''); // Set caption text\n button.setAttribute('aria-label', params[\"\".concat(buttonType, \"ButtonAriaLabel\")] || ''); // ARIA label\n\n // Add buttons custom classes\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, \"\".concat(buttonType, \"Button\"));\n }\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderCloseButton = function renderCloseButton(instance, params) {\n var closeButton = getCloseButton();\n if (!closeButton) {\n return;\n }\n setInnerHtml(closeButton, params.closeButtonHtml || '');\n\n // Custom class\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel || '');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderContainer = function renderContainer(instance, params) {\n var container = getContainer();\n if (!container) {\n return;\n }\n handleBackdropParam(container, params.backdrop);\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow);\n\n // Custom class\n applyCustomClass(container, params, 'container');\n };\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['backdrop']} backdrop\n */\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['position']} position\n */\n function handlePositionParam(container, position) {\n if (!position) {\n return;\n }\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['grow']} grow\n */\n function handleGrowParam(container, grow) {\n if (!grow) {\n return;\n }\n addClass(container, swalClasses[\"grow-\".concat(grow)]);\n }\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateProps = {\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n\n /** @type {InputClass[]} */\n var inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderInput = function renderInput(instance, params) {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n var innerParams = privateProps.innerParams.get(instance);\n var rerender = !innerParams || params.input !== innerParams.input;\n inputClasses.forEach(function (inputClass) {\n var inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]);\n if (!inputContainer) {\n return;\n }\n\n // set attributes\n setAttributes(inputClass, params.inputAttributes);\n\n // set class\n inputContainer.className = swalClasses[inputClass];\n if (rerender) {\n hide(inputContainer);\n }\n });\n if (params.input) {\n if (rerender) {\n showInput(params);\n }\n // set custom class\n setCustomClass(params);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var showInput = function showInput(params) {\n if (!params.input) {\n return;\n }\n if (!renderInputType[params.input]) {\n error(\"Unexpected type of input! Expected \".concat(Object.keys(renderInputType).join(' | '), \", got \\\"\").concat(params.input, \"\\\"\"));\n return;\n }\n var inputContainer = getInputContainer(params.input);\n var input = renderInputType[params.input](inputContainer, params);\n show(inputContainer);\n\n // input autofocus\n if (params.inputAutoFocus) {\n setTimeout(function () {\n focusInput(input);\n });\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n */\n var removeAttributes = function removeAttributes(input) {\n for (var i = 0; i < input.attributes.length; i++) {\n var attrName = input.attributes[i].name;\n if (!['id', 'type', 'value', 'style'].includes(attrName)) {\n input.removeAttribute(attrName);\n }\n }\n };\n\n /**\n * @param {InputClass} inputClass\n * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n */\n var setAttributes = function setAttributes(inputClass, inputAttributes) {\n var input = getInput$1(getPopup(), inputClass);\n if (!input) {\n return;\n }\n removeAttributes(input);\n for (var attr in inputAttributes) {\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n var setCustomClass = function setCustomClass(params) {\n var inputContainer = getInputContainer(params.input);\n if (_typeof(params.customClass) === 'object') {\n addClass(inputContainer, params.customClass.input);\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions} params\n */\n var setInputPlaceholder = function setInputPlaceholder(input, params) {\n if (!input.placeholder || params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n\n /**\n * @param {Input} input\n * @param {Input} prependTo\n * @param {SweetAlertOptions} params\n */\n var setInputLabel = function setInputLabel(input, prependTo, params) {\n if (params.inputLabel) {\n var label = document.createElement('label');\n var labelClass = swalClasses['input-label'];\n label.setAttribute('for', input.id);\n label.className = labelClass;\n if (_typeof(params.customClass) === 'object') {\n addClass(label, params.customClass.inputLabel);\n }\n label.innerText = params.inputLabel;\n prependTo.insertAdjacentElement('beforebegin', label);\n }\n };\n\n /**\n * @param {SweetAlertOptions['input']} inputType\n * @returns {HTMLElement}\n */\n var getInputContainer = function getInputContainer(inputType) {\n return getDirectChildByClass(getPopup(), swalClasses[inputType] || swalClasses.input);\n };\n\n /**\n * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions['inputValue']} inputValue\n */\n var checkAndSetInputValue = function checkAndSetInputValue(input, inputValue) {\n if (['string', 'number'].includes(_typeof(inputValue))) {\n input.value = \"\".concat(inputValue);\n } else if (!isPromise(inputValue)) {\n warn(\"Unexpected type of inputValue! Expected \\\"string\\\", \\\"number\\\" or \\\"Promise\\\", got \\\"\".concat(_typeof(inputValue), \"\\\"\"));\n }\n };\n\n /** @type {Record<SweetAlertInput, (input: Input | HTMLElement, params: SweetAlertOptions) => Input>} */\n var renderInputType = {};\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = function (input, params) {\n checkAndSetInputValue(input, params.inputValue);\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.file = function (input, params) {\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n return input;\n };\n\n /**\n * @param {HTMLInputElement} range\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.range = function (range, params) {\n var rangeInput = range.querySelector('input');\n var rangeOutput = range.querySelector('output');\n checkAndSetInputValue(rangeInput, params.inputValue);\n rangeInput.type = params.input;\n checkAndSetInputValue(rangeOutput, params.inputValue);\n setInputLabel(rangeInput, range, params);\n return range;\n };\n\n /**\n * @param {HTMLSelectElement} select\n * @param {SweetAlertOptions} params\n * @returns {HTMLSelectElement}\n */\n renderInputType.select = function (select, params) {\n select.textContent = '';\n if (params.inputPlaceholder) {\n var placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n setInputLabel(select, select, params);\n return select;\n };\n\n /**\n * @param {HTMLInputElement} radio\n * @returns {HTMLInputElement}\n */\n renderInputType.radio = function (radio) {\n radio.textContent = '';\n return radio;\n };\n\n /**\n * @param {HTMLLabelElement} checkboxContainer\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.checkbox = function (checkboxContainer, params) {\n var checkbox = getInput$1(getPopup(), 'checkbox');\n checkbox.value = '1';\n checkbox.checked = Boolean(params.inputValue);\n var label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder);\n return checkbox;\n };\n\n /**\n * @param {HTMLTextAreaElement} textarea\n * @param {SweetAlertOptions} params\n * @returns {HTMLTextAreaElement}\n */\n renderInputType.textarea = function (textarea, params) {\n checkAndSetInputValue(textarea, params.inputValue);\n setInputPlaceholder(textarea, params);\n setInputLabel(textarea, textarea, params);\n\n /**\n * @param {HTMLElement} el\n * @returns {number}\n */\n var getMargin = function getMargin(el) {\n return parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight);\n };\n\n // https://github.com/sweetalert2/sweetalert2/issues/2291\n setTimeout(function () {\n // https://github.com/sweetalert2/sweetalert2/issues/1699\n if ('MutationObserver' in window) {\n var initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n var textareaResizeHandler = function textareaResizeHandler() {\n // check if texarea is still in document (i.e. popup wasn't closed in the meantime)\n if (!document.body.contains(textarea)) {\n return;\n }\n var textareaWidth = textarea.offsetWidth + getMargin(textarea);\n if (textareaWidth > initialPopupWidth) {\n getPopup().style.width = \"\".concat(textareaWidth, \"px\");\n } else {\n applyNumericalStyle(getPopup(), 'width', params.width);\n }\n };\n new MutationObserver(textareaResizeHandler).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n });\n return textarea;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderContent = function renderContent(instance, params) {\n var htmlContainer = getHtmlContainer();\n if (!htmlContainer) {\n return;\n }\n showWhenInnerHtmlPresent(htmlContainer);\n applyCustomClass(htmlContainer, params, 'htmlContainer');\n\n // Content as HTML\n if (params.html) {\n parseHtmlToContainer(params.html, htmlContainer);\n show(htmlContainer, 'block');\n }\n\n // Content as plain text\n else if (params.text) {\n htmlContainer.textContent = params.text;\n show(htmlContainer, 'block');\n }\n\n // No content\n else {\n hide(htmlContainer);\n }\n renderInput(instance, params);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderFooter = function renderFooter(instance, params) {\n var footer = getFooter();\n if (!footer) {\n return;\n }\n showWhenInnerHtmlPresent(footer);\n toggle(footer, params.footer, 'block');\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n }\n\n // Custom class\n applyCustomClass(footer, params, 'footer');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderIcon = function renderIcon(instance, params) {\n var innerParams = privateProps.innerParams.get(instance);\n var icon = getIcon();\n if (!icon) {\n return;\n }\n\n // if the given icon already rendered, apply the styling without re-rendering the icon\n if (innerParams && params.icon === innerParams.icon) {\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n return;\n }\n if (!params.icon && !params.iconHtml) {\n hide(icon);\n return;\n }\n if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n error(\"Unknown icon! Expected \\\"success\\\", \\\"error\\\", \\\"warning\\\", \\\"info\\\" or \\\"question\\\", got \\\"\".concat(params.icon, \"\\\"\"));\n hide(icon);\n return;\n }\n show(icon);\n\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n\n // Animate icon\n addClass(icon, params.showClass && params.showClass.icon);\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var applyStyles = function applyStyles(icon, params) {\n for (var _i = 0, _Object$entries = Object.entries(iconTypes); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n iconType = _Object$entries$_i[0],\n iconClassName = _Object$entries$_i[1];\n if (params.icon !== iconType) {\n removeClass(icon, iconClassName);\n }\n }\n addClass(icon, params.icon && iconTypes[params.icon]);\n\n // Icon color\n setColor(icon, params);\n\n // Success icon background color\n adjustSuccessIconBackgroundColor();\n\n // Custom class\n applyCustomClass(icon, params, 'icon');\n };\n\n // Adjust success icon background color to match the popup background color\n var adjustSuccessIconBackgroundColor = function adjustSuccessIconBackgroundColor() {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n var popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n /** @type {NodeListOf<HTMLElement>} */\n var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n for (var i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n var successIconHtml = \"\\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\";\n var errorIconHtml = \"\\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\";\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var setContent = function setContent(icon, params) {\n if (!params.icon && !params.iconHtml) {\n return;\n }\n var oldContent = icon.innerHTML;\n var newContent = '';\n if (params.iconHtml) {\n newContent = iconContent(params.iconHtml);\n } else if (params.icon === 'success') {\n newContent = successIconHtml;\n oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n } else if (params.icon === 'error') {\n newContent = errorIconHtml;\n } else if (params.icon) {\n var defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n newContent = iconContent(defaultIconHtml[params.icon]);\n }\n if (oldContent.trim() !== newContent.trim()) {\n setInnerHtml(icon, newContent);\n }\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n var setColor = function setColor(icon, params) {\n if (!params.iconColor) {\n return;\n }\n icon.style.color = params.iconColor;\n icon.style.borderColor = params.iconColor;\n for (var _i2 = 0, _arr = ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']; _i2 < _arr.length; _i2++) {\n var sel = _arr[_i2];\n setStyle(icon, sel, 'background-color', params.iconColor);\n }\n setStyle(icon, '.swal2-success-ring', 'border-color', params.iconColor);\n };\n\n /**\n * @param {string} content\n * @returns {string}\n */\n var iconContent = function iconContent(content) {\n return \"<div class=\\\"\".concat(swalClasses['icon-content'], \"\\\">\").concat(content, \"</div>\");\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderImage = function renderImage(instance, params) {\n var image = getImage();\n if (!image) {\n return;\n }\n if (!params.imageUrl) {\n hide(image);\n return;\n }\n show(image, '');\n\n // Src, alt\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt || '');\n\n // Width, height\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight);\n\n // Class\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderPopup = function renderPopup(instance, params) {\n var container = getContainer();\n var popup = getPopup();\n if (!container || !popup) {\n return;\n }\n\n // Width\n // https://github.com/sweetalert2/sweetalert2/issues/2170\n if (params.toast) {\n applyNumericalStyle(container, 'width', params.width);\n popup.style.width = '100%';\n var loader = getLoader();\n loader && popup.insertBefore(loader, getIcon());\n } else {\n applyNumericalStyle(popup, 'width', params.width);\n }\n\n // Padding\n applyNumericalStyle(popup, 'padding', params.padding);\n\n // Color\n if (params.color) {\n popup.style.color = params.color;\n }\n\n // Background\n if (params.background) {\n popup.style.background = params.background;\n }\n hide(getValidationMessage());\n\n // Classes\n addClasses$1(popup, params);\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n var addClasses$1 = function addClasses(popup, params) {\n var showClass = params.showClass || {};\n // Default Class + showClass when updating Swal.update({})\n popup.className = \"\".concat(swalClasses.popup, \" \").concat(isVisible$1(popup) ? showClass.popup : '');\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n }\n\n // Custom class\n applyCustomClass(popup, params, 'popup');\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n }\n\n // Icon class (#1842)\n if (params.icon) {\n addClass(popup, swalClasses[\"icon-\".concat(params.icon)]);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderProgressSteps = function renderProgressSteps(instance, params) {\n var progressStepsContainer = getProgressSteps();\n if (!progressStepsContainer) {\n return;\n }\n var progressSteps = params.progressSteps,\n currentProgressStep = params.currentProgressStep;\n if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) {\n hide(progressStepsContainer);\n return;\n }\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n if (currentProgressStep >= progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n progressSteps.forEach(function (step, index) {\n var stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n if (index === currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n if (index !== progressSteps.length - 1) {\n var lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n\n /**\n * @param {string} step\n * @returns {HTMLLIElement}\n */\n var createStepElement = function createStepElement(step) {\n var stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {HTMLLIElement}\n */\n var createLineElement = function createLineElement(params) {\n var lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n if (params.progressStepsDistance) {\n applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n }\n return lineEl;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var renderTitle = function renderTitle(instance, params) {\n var title = getTitle();\n if (!title) {\n return;\n }\n showWhenInnerHtmlPresent(title);\n toggle(title, params.title || params.titleText, 'block');\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n if (params.titleText) {\n title.innerText = params.titleText;\n }\n\n // Custom class\n applyCustomClass(title, params, 'title');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var render = function render(instance, params) {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderProgressSteps(instance, params);\n renderIcon(instance, params);\n renderImage(instance, params);\n renderTitle(instance, params);\n renderCloseButton(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n var popup = getPopup();\n if (typeof params.didRender === 'function' && popup) {\n params.didRender(popup);\n }\n };\n\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n var isVisible = function isVisible() {\n return isVisible$1(getPopup());\n };\n\n /*\n * Global function to click 'Confirm' button\n */\n var clickConfirm = function clickConfirm() {\n var _dom$getConfirmButton;\n return (_dom$getConfirmButton = getConfirmButton()) === null || _dom$getConfirmButton === void 0 ? void 0 : _dom$getConfirmButton.click();\n };\n\n /*\n * Global function to click 'Deny' button\n */\n var clickDeny = function clickDeny() {\n var _dom$getDenyButton;\n return (_dom$getDenyButton = getDenyButton()) === null || _dom$getDenyButton === void 0 ? void 0 : _dom$getDenyButton.click();\n };\n\n /*\n * Global function to click 'Cancel' button\n */\n var clickCancel = function clickCancel() {\n var _dom$getCancelButton;\n return (_dom$getCancelButton = getCancelButton()) === null || _dom$getCancelButton === void 0 ? void 0 : _dom$getCancelButton.click();\n };\n\n /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */\n\n /** @type {Record<DismissReason, DismissReason>} */\n var DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n\n /**\n * @param {GlobalState} globalState\n */\n var removeKeydownHandler = function removeKeydownHandler(globalState) {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n };\n\n /**\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {*} dismissWith\n */\n var addKeydownHandler = function addKeydownHandler(globalState, innerParams, dismissWith) {\n removeKeydownHandler(globalState);\n if (!innerParams.toast) {\n globalState.keydownHandler = function (e) {\n return keydownHandler(innerParams, e, dismissWith);\n };\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n };\n\n /**\n * @param {number} index\n * @param {number} increment\n */\n var setFocus = function setFocus(index, increment) {\n var _dom$getPopup;\n var focusableElements = getFocusableElements();\n // search for visible elements and select the next possible match\n if (focusableElements.length) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n focusableElements[index].focus();\n return;\n }\n // no visible focusable elements, focus the popup\n (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus();\n };\n var arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n var arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {KeyboardEvent} event\n * @param {Function} dismissWith\n */\n var keydownHandler = function keydownHandler(innerParams, event, dismissWith) {\n if (!innerParams) {\n return; // This instance has already been destroyed\n }\n\n // Ignore keydown during IME composition\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n // https://github.com/sweetalert2/sweetalert2/issues/720\n // https://github.com/sweetalert2/sweetalert2/issues/2406\n if (event.isComposing || event.keyCode === 229) {\n return;\n }\n if (innerParams.stopKeydownPropagation) {\n event.stopPropagation();\n }\n\n // ENTER\n if (event.key === 'Enter') {\n handleEnter(event, innerParams);\n }\n\n // TAB\n else if (event.key === 'Tab') {\n handleTab(event);\n }\n\n // ARROWS - switch focus between buttons\n else if ([].concat(arrowKeysNextButton, arrowKeysPreviousButton).includes(event.key)) {\n handleArrows(event.key);\n }\n\n // ESC\n else if (event.key === 'Escape') {\n handleEsc(event, innerParams, dismissWith);\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n */\n var handleEnter = function handleEnter(event, innerParams) {\n // https://github.com/sweetalert2/sweetalert2/issues/2386\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return;\n }\n var input = getInput$1(getPopup(), innerParams.input);\n if (event.target && input && event.target instanceof HTMLElement && event.target.outerHTML === input.outerHTML) {\n if (['textarea', 'file'].includes(innerParams.input)) {\n return; // do not submit\n }\n clickConfirm();\n event.preventDefault();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n */\n var handleTab = function handleTab(event) {\n var targetElement = event.target;\n var focusableElements = getFocusableElements();\n var btnIndex = -1;\n for (var i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n }\n\n // Cycle to the next button\n if (!event.shiftKey) {\n setFocus(btnIndex, 1);\n }\n\n // Cycle to the prev button\n else {\n setFocus(btnIndex, -1);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n /**\n * @param {string} key\n */\n var handleArrows = function handleArrows(key) {\n var actions = getActions();\n var confirmButton = getConfirmButton();\n var denyButton = getDenyButton();\n var cancelButton = getCancelButton();\n if (!actions || !confirmButton || !denyButton || !cancelButton) {\n return;\n }\n /** @type HTMLElement[] */\n var buttons = [confirmButton, denyButton, cancelButton];\n if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) {\n return;\n }\n var sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n var buttonToFocus = document.activeElement;\n if (!buttonToFocus) {\n return;\n }\n for (var i = 0; i < actions.children.length; i++) {\n buttonToFocus = buttonToFocus[sibling];\n if (!buttonToFocus) {\n return;\n }\n if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) {\n break;\n }\n }\n if (buttonToFocus instanceof HTMLButtonElement) {\n buttonToFocus.focus();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n var handleEsc = function handleEsc(event, innerParams, dismissWith) {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n event.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateMethods = {\n swalPromiseResolve: new WeakMap(),\n swalPromiseReject: new WeakMap()\n };\n\n // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n var setAriaHidden = function setAriaHidden() {\n var bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el === getContainer() || el.contains(getContainer())) {\n return;\n }\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden') || '');\n }\n el.setAttribute('aria-hidden', 'true');\n });\n };\n var unsetAriaHidden = function unsetAriaHidden() {\n var bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden') || '');\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n\n // @ts-ignore\n var isSafariOrIOS = typeof window !== 'undefined' && !!window.GestureEvent; // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394\n\n /**\n * Fix iOS scrolling\n * http://stackoverflow.com/q/39626302\n */\n var iOSfix = function iOSfix() {\n if (isSafariOrIOS && !hasClass(document.body, swalClasses.iosfix)) {\n var offset = document.body.scrollTop;\n document.body.style.top = \"\".concat(offset * -1, \"px\");\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n }\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1246\n */\n var lockBodyScroll = function lockBodyScroll() {\n var container = getContainer();\n if (!container) {\n return;\n }\n /** @type {boolean} */\n var preventTouchMove;\n /**\n * @param {TouchEvent} event\n */\n container.ontouchstart = function (event) {\n preventTouchMove = shouldPreventTouchMove(event);\n };\n /**\n * @param {TouchEvent} event\n */\n container.ontouchmove = function (event) {\n if (preventTouchMove) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n };\n\n /**\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n var shouldPreventTouchMove = function shouldPreventTouchMove(event) {\n var target = event.target;\n var container = getContainer();\n var htmlContainer = getHtmlContainer();\n if (!container || !htmlContainer) {\n return false;\n }\n if (isStylus(event) || isZoom(event)) {\n return false;\n }\n if (target === container) {\n return true;\n }\n if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' &&\n // #1603\n target.tagName !== 'TEXTAREA' &&\n // #2266\n !(isScrollable(htmlContainer) &&\n // #1944\n htmlContainer.contains(target))) {\n return true;\n }\n return false;\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1786\n *\n * @param {*} event\n * @returns {boolean}\n */\n var isStylus = function isStylus(event) {\n return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1891\n *\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n var isZoom = function isZoom(event) {\n return event.touches && event.touches.length > 1;\n };\n var undoIOSfix = function undoIOSfix() {\n if (hasClass(document.body, swalClasses.iosfix)) {\n var offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n\n /**\n * Measure scrollbar width for padding body during modal show/hide\n * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n *\n * @returns {number}\n */\n var measureScrollbar = function measureScrollbar() {\n var scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n\n /**\n * Remember state in cases where opening and handling a modal will fiddle with it.\n * @type {number | null}\n */\n var previousBodyPadding = null;\n\n /**\n * @param {string} initialBodyOverflow\n */\n var replaceScrollbarWithPadding = function replaceScrollbarWithPadding(initialBodyOverflow) {\n // for queues, do not do this more than once\n if (previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight || initialBodyOverflow === 'scroll' // https://github.com/sweetalert2/sweetalert2/issues/2663\n ) {\n // add padding so the content doesn't shift after removal of scrollbar\n previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = \"\".concat(previousBodyPadding + measureScrollbar(), \"px\");\n }\n };\n var undoReplaceScrollbarWithPadding = function undoReplaceScrollbarWithPadding() {\n if (previousBodyPadding !== null) {\n document.body.style.paddingRight = \"\".concat(previousBodyPadding, \"px\");\n previousBodyPadding = null;\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n function removePopupAndResetState(instance, container, returnFocus, didClose) {\n if (isToast()) {\n triggerDidCloseAndDispose(instance, didClose);\n } else {\n restoreActiveElement(returnFocus).then(function () {\n return triggerDidCloseAndDispose(instance, didClose);\n });\n removeKeydownHandler(globalState);\n }\n\n // workaround for https://github.com/sweetalert2/sweetalert2/issues/2088\n // for some reason removing the container in Safari will scroll the document to bottom\n if (isSafariOrIOS) {\n container.setAttribute('style', 'display:none !important');\n container.removeAttribute('class');\n container.innerHTML = '';\n } else {\n container.remove();\n }\n if (isModal()) {\n undoReplaceScrollbarWithPadding();\n undoIOSfix();\n unsetAriaHidden();\n }\n removeBodyClasses();\n }\n\n /**\n * Remove SweetAlert2 classes from body\n */\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n }\n\n /**\n * Instance method to close sweetAlert\n *\n * @param {any} resolveValue\n */\n function close(resolveValue) {\n resolveValue = prepareResolveValue(resolveValue);\n var swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n var didClose = triggerClosePopup(this);\n if (this.isAwaitingPromise) {\n // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n if (!resolveValue.isDismissed) {\n handleAwaitingPromise(this);\n swalPromiseResolve(resolveValue);\n }\n } else if (didClose) {\n // Resolve Swal promise\n swalPromiseResolve(resolveValue);\n }\n }\n var triggerClosePopup = function triggerClosePopup(instance) {\n var popup = getPopup();\n if (!popup) {\n return false;\n }\n var innerParams = privateProps.innerParams.get(instance);\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return false;\n }\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n var backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(instance, popup, innerParams);\n return true;\n };\n\n /**\n * @param {any} error\n */\n function rejectPromise(error) {\n var rejectPromise = privateMethods.swalPromiseReject.get(this);\n handleAwaitingPromise(this);\n if (rejectPromise) {\n // Reject Swal promise\n rejectPromise(error);\n }\n }\n\n /**\n * @param {SweetAlert} instance\n */\n var handleAwaitingPromise = function handleAwaitingPromise(instance) {\n if (instance.isAwaitingPromise) {\n delete instance.isAwaitingPromise;\n // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n if (!privateProps.innerParams.get(instance)) {\n instance._destroy();\n }\n }\n };\n\n /**\n * @param {any} resolveValue\n * @returns {SweetAlertResult}\n */\n var prepareResolveValue = function prepareResolveValue(resolveValue) {\n // When user calls Swal.close()\n if (typeof resolveValue === 'undefined') {\n return {\n isConfirmed: false,\n isDenied: false,\n isDismissed: true\n };\n }\n return Object.assign({\n isConfirmed: false,\n isDenied: false,\n isDismissed: false\n }, resolveValue);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} innerParams\n */\n var handlePopupAnimation = function handlePopupAnimation(instance, popup, innerParams) {\n var container = getContainer();\n // If animation is supported, animate\n var animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n if (typeof innerParams.willClose === 'function') {\n innerParams.willClose(popup);\n }\n if (animationIsSupported) {\n animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n var animatePopup = function animatePopup(instance, popup, container, returnFocus, didClose) {\n if (!animationEndEvent) {\n return;\n }\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n popup.addEventListener(animationEndEvent, function (e) {\n if (e.target === popup) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n });\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {Function} didClose\n */\n var triggerDidCloseAndDispose = function triggerDidCloseAndDispose(instance, didClose) {\n setTimeout(function () {\n if (typeof didClose === 'function') {\n didClose.bind(instance.params)();\n }\n // instance might have been destroyed already\n if (instance._destroy) {\n instance._destroy();\n }\n });\n };\n\n /**\n * Shows loader (spinner), this is useful with AJAX requests.\n * By default the loader be shown instead of the \"Confirm\" button.\n *\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n var showLoading = function showLoading(buttonToReplace) {\n var popup = getPopup();\n if (!popup) {\n new Swal(); // eslint-disable-line no-new\n }\n popup = getPopup();\n if (!popup) {\n return;\n }\n var loader = getLoader();\n if (isToast()) {\n hide(getIcon());\n } else {\n replaceButton(popup, buttonToReplace);\n }\n show(loader);\n popup.setAttribute('data-loading', 'true');\n popup.setAttribute('aria-busy', 'true');\n popup.focus();\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n var replaceButton = function replaceButton(popup, buttonToReplace) {\n var actions = getActions();\n var loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n if (!buttonToReplace && isVisible$1(getConfirmButton())) {\n buttonToReplace = getConfirmButton();\n }\n show(actions);\n if (buttonToReplace) {\n hide(buttonToReplace);\n loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n actions.insertBefore(loader, buttonToReplace);\n }\n addClass([popup, actions], swalClasses.loading);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputOptionsAndValue = function handleInputOptionsAndValue(instance, params) {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].some(function (i) {\n return i === params.input;\n }) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n showLoading(getConfirmButton());\n handleInputValue(instance, params);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} innerParams\n * @returns {SweetAlertInputValue}\n */\n var getInputValue = function getInputValue(instance, innerParams) {\n var input = instance.getInput();\n if (!input) {\n return null;\n }\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n case 'radio':\n return getRadioValue(input);\n case 'file':\n return getFileValue(input);\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {number}\n */\n var getCheckboxValue = function getCheckboxValue(input) {\n return input.checked ? 1 : 0;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {string | null}\n */\n var getRadioValue = function getRadioValue(input) {\n return input.checked ? input.value : null;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {FileList | File | null}\n */\n var getFileValue = function getFileValue(input) {\n return input.files && input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputOptions = function handleInputOptions(instance, params) {\n var popup = getPopup();\n if (!popup) {\n return;\n }\n /**\n * @param {Record<string, any>} inputOptions\n */\n var processInputOptions = function processInputOptions(inputOptions) {\n if (params.input === 'select') {\n populateSelectOptions(popup, formatInputOptions(inputOptions), params);\n } else if (params.input === 'radio') {\n populateRadioOptions(popup, formatInputOptions(inputOptions), params);\n }\n };\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading(getConfirmButton());\n asPromise(params.inputOptions).then(function (inputOptions) {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (_typeof(params.inputOptions) === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(\"Unexpected type of inputOptions! Expected object, Map or Promise, got \".concat(_typeof(params.inputOptions)));\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n var handleInputValue = function handleInputValue(instance, params) {\n var input = instance.getInput();\n if (!input) {\n return;\n }\n hide(input);\n asPromise(params.inputValue).then(function (inputValue) {\n input.value = params.input === 'number' ? \"\".concat(parseFloat(inputValue) || 0) : \"\".concat(inputValue);\n show(input);\n input.focus();\n instance.hideLoading();\n })[\"catch\"](function (err) {\n error(\"Error in inputValue promise: \".concat(err));\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {InputOptionFlattened[]} inputOptions\n * @param {SweetAlertOptions} params\n */\n function populateSelectOptions(popup, inputOptions, params) {\n var select = getDirectChildByClass(popup, swalClasses.select);\n if (!select) {\n return;\n }\n /**\n * @param {HTMLElement} parent\n * @param {string} optionLabel\n * @param {string} optionValue\n */\n var renderOption = function renderOption(parent, optionLabel, optionValue) {\n var option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n option.selected = isSelected(optionValue, params.inputValue);\n parent.appendChild(option);\n };\n inputOptions.forEach(function (inputOption) {\n var optionValue = inputOption[0];\n var optionLabel = inputOption[1];\n // <optgroup> spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a <optgroup>\n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an <optgroup>\n var optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n select.appendChild(optgroup);\n optionLabel.forEach(function (o) {\n return renderOption(optgroup, o[1], o[0]);\n });\n } else {\n // case of <option>\n renderOption(select, optionLabel, optionValue);\n }\n });\n select.focus();\n }\n\n /**\n * @param {HTMLElement} popup\n * @param {InputOptionFlattened[]} inputOptions\n * @param {SweetAlertOptions} params\n */\n function populateRadioOptions(popup, inputOptions, params) {\n var radio = getDirectChildByClass(popup, swalClasses.radio);\n if (!radio) {\n return;\n }\n inputOptions.forEach(function (inputOption) {\n var radioValue = inputOption[0];\n var radioLabel = inputOption[1];\n var radioInput = document.createElement('input');\n var radioLabelElement = document.createElement('label');\n radioInput.type = 'radio';\n radioInput.name = swalClasses.radio;\n radioInput.value = radioValue;\n if (isSelected(radioValue, params.inputValue)) {\n radioInput.checked = true;\n }\n var label = document.createElement('span');\n setInnerHtml(label, radioLabel);\n label.className = swalClasses.label;\n radioLabelElement.appendChild(radioInput);\n radioLabelElement.appendChild(label);\n radio.appendChild(radioLabelElement);\n });\n var radios = radio.querySelectorAll('input');\n if (radios.length) {\n radios[0].focus();\n }\n }\n\n /**\n * Converts `inputOptions` into an array of `[value, label]`s\n *\n * @param {Record<string, any>} inputOptions\n * @typedef {string[]} InputOptionFlattened\n * @returns {InputOptionFlattened[]}\n */\n var formatInputOptions = function formatInputOptions(inputOptions) {\n /** @type {InputOptionFlattened[]} */\n var result = [];\n if (inputOptions instanceof Map) {\n inputOptions.forEach(function (value, key) {\n var valueFormatted = value;\n if (_typeof(valueFormatted) === 'object') {\n // case of <optgroup>\n valueFormatted = formatInputOptions(valueFormatted);\n }\n result.push([key, valueFormatted]);\n });\n } else {\n Object.keys(inputOptions).forEach(function (key) {\n var valueFormatted = inputOptions[key];\n if (_typeof(valueFormatted) === 'object') {\n // case of <optgroup>\n valueFormatted = formatInputOptions(valueFormatted);\n }\n result.push([key, valueFormatted]);\n });\n }\n return result;\n };\n\n /**\n * @param {string} optionValue\n * @param {SweetAlertInputValue} inputValue\n * @returns {boolean}\n */\n var isSelected = function isSelected(optionValue, inputValue) {\n return !!inputValue && inputValue.toString() === optionValue.toString();\n };\n\n var _this = undefined;\n\n /**\n * @param {SweetAlert} instance\n */\n var handleConfirmButtonClick = function handleConfirmButtonClick(instance) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableButtons();\n if (innerParams.input) {\n handleConfirmOrDenyWithInput(instance, 'confirm');\n } else {\n confirm(instance, true);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n */\n var handleDenyButtonClick = function handleDenyButtonClick(instance) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableButtons();\n if (innerParams.returnInputValueOnDeny) {\n handleConfirmOrDenyWithInput(instance, 'deny');\n } else {\n deny(instance, false);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {Function} dismissWith\n */\n var handleCancelButtonClick = function handleCancelButtonClick(instance, dismissWith) {\n instance.disableButtons();\n dismissWith(DismissReason.cancel);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {'confirm' | 'deny'} type\n */\n var handleConfirmOrDenyWithInput = function handleConfirmOrDenyWithInput(instance, type) {\n var innerParams = privateProps.innerParams.get(instance);\n if (!innerParams.input) {\n error(\"The \\\"input\\\" parameter is needed to be set when using returnInputValueOn\".concat(capitalizeFirstLetter(type)));\n return;\n }\n var input = instance.getInput();\n var inputValue = getInputValue(instance, innerParams);\n if (innerParams.inputValidator) {\n handleInputValidator(instance, inputValue, type);\n } else if (input && !input.checkValidity()) {\n instance.enableButtons();\n instance.showValidationMessage(innerParams.validationMessage || input.validationMessage);\n } else if (type === 'deny') {\n deny(instance, inputValue);\n } else {\n confirm(instance, inputValue);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertInputValue} inputValue\n * @param {'confirm' | 'deny'} type\n */\n var handleInputValidator = function handleInputValidator(instance, inputValue, type) {\n var innerParams = privateProps.innerParams.get(instance);\n instance.disableInput();\n var validationPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.inputValidator(inputValue, innerParams.validationMessage));\n });\n validationPromise.then(function (validationMessage) {\n instance.enableButtons();\n instance.enableInput();\n if (validationMessage) {\n instance.showValidationMessage(validationMessage);\n } else if (type === 'deny') {\n deny(instance, inputValue);\n } else {\n confirm(instance, inputValue);\n }\n });\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var deny = function deny(instance, value) {\n var innerParams = privateProps.innerParams.get(instance || _this);\n if (innerParams.showLoaderOnDeny) {\n showLoading(getDenyButton());\n }\n if (innerParams.preDeny) {\n instance.isAwaitingPromise = true; // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preDeny's promise is received\n var preDenyPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.preDeny(value, innerParams.validationMessage));\n });\n preDenyPromise.then(function (preDenyValue) {\n if (preDenyValue === false) {\n instance.hideLoading();\n handleAwaitingPromise(instance);\n } else {\n instance.close({\n isDenied: true,\n value: typeof preDenyValue === 'undefined' ? value : preDenyValue\n });\n }\n })[\"catch\"](function (error) {\n return rejectWith(instance || _this, error);\n });\n } else {\n instance.close({\n isDenied: true,\n value: value\n });\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var succeedWith = function succeedWith(instance, value) {\n instance.close({\n isConfirmed: true,\n value: value\n });\n };\n\n /**\n *\n * @param {SweetAlert} instance\n * @param {string} error\n */\n var rejectWith = function rejectWith(instance, error) {\n instance.rejectPromise(error);\n };\n\n /**\n *\n * @param {SweetAlert} instance\n * @param {any} value\n */\n var confirm = function confirm(instance, value) {\n var innerParams = privateProps.innerParams.get(instance || _this);\n if (innerParams.showLoaderOnConfirm) {\n showLoading();\n }\n if (innerParams.preConfirm) {\n instance.resetValidationMessage();\n instance.isAwaitingPromise = true; // Flagging the instance as awaiting a promise so it's own promise's reject/resolve methods doesn't get destroyed until the result from this preConfirm's promise is received\n var preConfirmPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.preConfirm(value, innerParams.validationMessage));\n });\n preConfirmPromise.then(function (preConfirmValue) {\n if (isVisible$1(getValidationMessage()) || preConfirmValue === false) {\n instance.hideLoading();\n handleAwaitingPromise(instance);\n } else {\n succeedWith(instance, typeof preConfirmValue === 'undefined' ? value : preConfirmValue);\n }\n })[\"catch\"](function (error) {\n return rejectWith(instance || _this, error);\n });\n } else {\n succeedWith(instance, value);\n }\n };\n\n /**\n * Hides loader and shows back the button which was hidden by .showLoading()\n */\n function hideLoading() {\n // do nothing if popup is closed\n var innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n return;\n }\n var domCache = privateProps.domCache.get(this);\n hide(domCache.loader);\n if (isToast()) {\n if (innerParams.icon) {\n show(getIcon());\n }\n } else {\n showRelatedButton(domCache);\n }\n removeClass([domCache.popup, domCache.actions], swalClasses.loading);\n domCache.popup.removeAttribute('aria-busy');\n domCache.popup.removeAttribute('data-loading');\n domCache.confirmButton.disabled = false;\n domCache.denyButton.disabled = false;\n domCache.cancelButton.disabled = false;\n }\n var showRelatedButton = function showRelatedButton(domCache) {\n var buttonToReplace = domCache.popup.getElementsByClassName(domCache.loader.getAttribute('data-button-to-replace'));\n if (buttonToReplace.length) {\n show(buttonToReplace[0], 'inline-block');\n } else if (allButtonsAreHidden()) {\n hide(domCache.actions);\n }\n };\n\n /**\n * Gets the input DOM node, this method works with input parameter.\n *\n * @returns {HTMLInputElement | null}\n */\n function getInput() {\n var innerParams = privateProps.innerParams.get(this);\n var domCache = privateProps.domCache.get(this);\n if (!domCache) {\n return null;\n }\n return getInput$1(domCache.popup, innerParams.input);\n }\n\n /**\n * @param {SweetAlert} instance\n * @param {string[]} buttons\n * @param {boolean} disabled\n */\n function setButtonsDisabled(instance, buttons, disabled) {\n var domCache = privateProps.domCache.get(instance);\n buttons.forEach(function (button) {\n domCache[button].disabled = disabled;\n });\n }\n\n /**\n * @param {HTMLInputElement | null} input\n * @param {boolean} disabled\n */\n function setInputDisabled(input, disabled) {\n var popup = getPopup();\n if (!popup || !input) {\n return;\n }\n if (input.type === 'radio') {\n /** @type {NodeListOf<HTMLInputElement>} */\n var radios = popup.querySelectorAll(\"[name=\\\"\".concat(swalClasses.radio, \"\\\"]\"));\n for (var i = 0; i < radios.length; i++) {\n radios[i].disabled = disabled;\n }\n } else {\n input.disabled = disabled;\n }\n }\n\n /**\n * Enable all the buttons\n * @this {SweetAlert}\n */\n function enableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], false);\n }\n\n /**\n * Disable all the buttons\n * @this {SweetAlert}\n */\n function disableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], true);\n }\n\n /**\n * Enable the input field\n * @this {SweetAlert}\n */\n function enableInput() {\n setInputDisabled(this.getInput(), false);\n }\n\n /**\n * Disable the input field\n * @this {SweetAlert}\n */\n function disableInput() {\n setInputDisabled(this.getInput(), true);\n }\n\n /**\n * Show block with validation message\n *\n * @param {string} error\n * @this {SweetAlert}\n */\n function showValidationMessage(error) {\n var domCache = privateProps.domCache.get(this);\n var params = privateProps.innerParams.get(this);\n setInnerHtml(domCache.validationMessage, error);\n domCache.validationMessage.className = swalClasses['validation-message'];\n if (params.customClass && params.customClass.validationMessage) {\n addClass(domCache.validationMessage, params.customClass.validationMessage);\n }\n show(domCache.validationMessage);\n var input = this.getInput();\n if (input) {\n input.setAttribute('aria-invalid', 'true');\n input.setAttribute('aria-describedby', swalClasses['validation-message']);\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n }\n\n /**\n * Hide block with validation message\n *\n * @this {SweetAlert}\n */\n function resetValidationMessage() {\n var domCache = privateProps.domCache.get(this);\n if (domCache.validationMessage) {\n hide(domCache.validationMessage);\n }\n var input = this.getInput();\n if (input) {\n input.removeAttribute('aria-invalid');\n input.removeAttribute('aria-describedby');\n removeClass(input, swalClasses.inputerror);\n }\n }\n\n var defaultParams = {\n title: '',\n titleText: '',\n text: '',\n html: '',\n footer: '',\n icon: undefined,\n iconColor: undefined,\n iconHtml: undefined,\n template: undefined,\n toast: false,\n animation: true,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n icon: 'swal2-icon-show'\n },\n hideClass: {\n popup: 'swal2-hide',\n backdrop: 'swal2-backdrop-hide',\n icon: 'swal2-icon-hide'\n },\n customClass: {},\n target: 'body',\n color: undefined,\n backdrop: true,\n heightAuto: true,\n allowOutsideClick: true,\n allowEscapeKey: true,\n allowEnterKey: true,\n stopKeydownPropagation: true,\n keydownListenerCapture: false,\n showConfirmButton: true,\n showDenyButton: false,\n showCancelButton: false,\n preConfirm: undefined,\n preDeny: undefined,\n confirmButtonText: 'OK',\n confirmButtonAriaLabel: '',\n confirmButtonColor: undefined,\n denyButtonText: 'No',\n denyButtonAriaLabel: '',\n denyButtonColor: undefined,\n cancelButtonText: 'Cancel',\n cancelButtonAriaLabel: '',\n cancelButtonColor: undefined,\n buttonsStyling: true,\n reverseButtons: false,\n focusConfirm: true,\n focusDeny: false,\n focusCancel: false,\n returnFocus: true,\n showCloseButton: false,\n closeButtonHtml: '×',\n closeButtonAriaLabel: 'Close this dialog',\n loaderHtml: '',\n showLoaderOnConfirm: false,\n showLoaderOnDeny: false,\n imageUrl: undefined,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAlt: '',\n timer: undefined,\n timerProgressBar: false,\n width: undefined,\n padding: undefined,\n background: undefined,\n input: undefined,\n inputPlaceholder: '',\n inputLabel: '',\n inputValue: '',\n inputOptions: {},\n inputAutoFocus: true,\n inputAutoTrim: true,\n inputAttributes: {},\n inputValidator: undefined,\n returnInputValueOnDeny: false,\n validationMessage: undefined,\n grow: false,\n position: 'center',\n progressSteps: [],\n currentProgressStep: undefined,\n progressStepsDistance: undefined,\n willOpen: undefined,\n didOpen: undefined,\n didRender: undefined,\n willClose: undefined,\n didClose: undefined,\n didDestroy: undefined,\n scrollbarPadding: true\n };\n var updatableParams = ['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'];\n\n /** @type {Record<string, string>} */\n var deprecatedParams = {};\n var toastIncompatibleParams = ['allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusDeny', 'focusCancel', 'returnFocus', 'heightAuto', 'keydownListenerCapture'];\n\n /**\n * Is valid parameter\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n var isValidParameter = function isValidParameter(paramName) {\n return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n };\n\n /**\n * Is valid parameter for Swal.update() method\n *\n * @param {string} paramName\n * @returns {boolean}\n */\n var isUpdatableParameter = function isUpdatableParameter(paramName) {\n return updatableParams.indexOf(paramName) !== -1;\n };\n\n /**\n * Is deprecated parameter\n *\n * @param {string} paramName\n * @returns {string | undefined}\n */\n var isDeprecatedParameter = function isDeprecatedParameter(paramName) {\n return deprecatedParams[paramName];\n };\n\n /**\n * @param {string} param\n */\n var checkIfParamIsValid = function checkIfParamIsValid(param) {\n if (!isValidParameter(param)) {\n warn(\"Unknown parameter \\\"\".concat(param, \"\\\"\"));\n }\n };\n\n /**\n * @param {string} param\n */\n var checkIfToastParamIsValid = function checkIfToastParamIsValid(param) {\n if (toastIncompatibleParams.includes(param)) {\n warn(\"The parameter \\\"\".concat(param, \"\\\" is incompatible with toasts\"));\n }\n };\n\n /**\n * @param {string} param\n */\n var checkIfParamIsDeprecated = function checkIfParamIsDeprecated(param) {\n var isDeprecated = isDeprecatedParameter(param);\n if (isDeprecated) {\n warnAboutDeprecation(param, isDeprecated);\n }\n };\n\n /**\n * Show relevant warnings for given params\n *\n * @param {SweetAlertOptions} params\n */\n var showWarningsForParams = function showWarningsForParams(params) {\n if (params.backdrop === false && params.allowOutsideClick) {\n warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n }\n for (var param in params) {\n checkIfParamIsValid(param);\n if (params.toast) {\n checkIfToastParamIsValid(param);\n }\n checkIfParamIsDeprecated(param);\n }\n };\n\n /**\n * Updates popup parameters.\n *\n * @param {SweetAlertOptions} params\n */\n function update(params) {\n var popup = getPopup();\n var innerParams = privateProps.innerParams.get(this);\n if (!popup || hasClass(popup, innerParams.hideClass.popup)) {\n warn(\"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.\");\n return;\n }\n var validUpdatableParams = filterValidParams(params);\n var updatedParams = Object.assign({}, innerParams, validUpdatableParams);\n render(this, updatedParams);\n privateProps.innerParams.set(this, updatedParams);\n Object.defineProperties(this, {\n params: {\n value: Object.assign({}, this.params, params),\n writable: false,\n enumerable: true\n }\n });\n }\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {SweetAlertOptions}\n */\n var filterValidParams = function filterValidParams(params) {\n var validUpdatableParams = {};\n Object.keys(params).forEach(function (param) {\n if (isUpdatableParameter(param)) {\n validUpdatableParams[param] = params[param];\n } else {\n warn(\"Invalid parameter to update: \".concat(param));\n }\n });\n return validUpdatableParams;\n };\n\n /**\n * Dispose the current SweetAlert2 instance\n */\n function _destroy() {\n var domCache = privateProps.domCache.get(this);\n var innerParams = privateProps.innerParams.get(this);\n if (!innerParams) {\n disposeWeakMaps(this); // The WeakMaps might have been partly destroyed, we must recall it to dispose any remaining WeakMaps #2335\n return; // This instance has already been destroyed\n }\n\n // Check if there is another Swal closing\n if (domCache.popup && globalState.swalCloseEventFinishedCallback) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n if (typeof innerParams.didDestroy === 'function') {\n innerParams.didDestroy();\n }\n disposeSwal(this);\n }\n\n /**\n * @param {SweetAlert} instance\n */\n var disposeSwal = function disposeSwal(instance) {\n disposeWeakMaps(instance);\n // Unset this.params so GC will dispose it (#1569)\n delete instance.params;\n // Unset globalState props so GC will dispose globalState (#1569)\n delete globalState.keydownHandler;\n delete globalState.keydownTarget;\n // Unset currentInstance\n delete globalState.currentInstance;\n };\n\n /**\n * @param {SweetAlert} instance\n */\n var disposeWeakMaps = function disposeWeakMaps(instance) {\n // If the current instance is awaiting a promise result, we keep the privateMethods to call them once the promise result is retrieved #2335\n if (instance.isAwaitingPromise) {\n unsetWeakMaps(privateProps, instance);\n instance.isAwaitingPromise = true;\n } else {\n unsetWeakMaps(privateMethods, instance);\n unsetWeakMaps(privateProps, instance);\n delete instance.isAwaitingPromise;\n // Unset instance methods\n delete instance.disableButtons;\n delete instance.enableButtons;\n delete instance.getInput;\n delete instance.disableInput;\n delete instance.enableInput;\n delete instance.hideLoading;\n delete instance.disableLoading;\n delete instance.showValidationMessage;\n delete instance.resetValidationMessage;\n delete instance.close;\n delete instance.closePopup;\n delete instance.closeModal;\n delete instance.closeToast;\n delete instance.rejectPromise;\n delete instance.update;\n delete instance._destroy;\n }\n };\n\n /**\n * @param {object} obj\n * @param {SweetAlert} instance\n */\n var unsetWeakMaps = function unsetWeakMaps(obj, instance) {\n for (var i in obj) {\n obj[i][\"delete\"](instance);\n }\n };\n\n var instanceMethods = /*#__PURE__*/Object.freeze({\n __proto__: null,\n _destroy: _destroy,\n close: close,\n closeModal: close,\n closePopup: close,\n closeToast: close,\n disableButtons: disableButtons,\n disableInput: disableInput,\n disableLoading: hideLoading,\n enableButtons: enableButtons,\n enableInput: enableInput,\n getInput: getInput,\n handleAwaitingPromise: handleAwaitingPromise,\n hideLoading: hideLoading,\n rejectPromise: rejectPromise,\n resetValidationMessage: resetValidationMessage,\n showValidationMessage: showValidationMessage,\n update: update\n });\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handlePopupClick = function handlePopupClick(innerParams, domCache, dismissWith) {\n if (innerParams.toast) {\n handleToastClick(innerParams, domCache, dismissWith);\n } else {\n // Ignore click events that had mousedown on the popup but mouseup on the container\n // This can happen when the user drags a slider\n handleModalMousedown(domCache);\n\n // Ignore click events that had mousedown on the container but mouseup on the popup\n handleContainerMousedown(domCache);\n handleModalClick(innerParams, domCache, dismissWith);\n }\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handleToastClick = function handleToastClick(innerParams, domCache, dismissWith) {\n // Closing toast by internal click\n domCache.popup.onclick = function () {\n if (innerParams && (isAnyButtonShown(innerParams) || innerParams.timer || innerParams.input)) {\n return;\n }\n dismissWith(DismissReason.close);\n };\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @returns {boolean}\n */\n var isAnyButtonShown = function isAnyButtonShown(innerParams) {\n return !!(innerParams.showConfirmButton || innerParams.showDenyButton || innerParams.showCancelButton || innerParams.showCloseButton);\n };\n var ignoreOutsideClick = false;\n\n /**\n * @param {DomCache} domCache\n */\n var handleModalMousedown = function handleModalMousedown(domCache) {\n domCache.popup.onmousedown = function () {\n domCache.container.onmouseup = function (e) {\n domCache.container.onmouseup = function () {};\n // We only check if the mouseup target is the container because usually it doesn't\n // have any other direct children aside of the popup\n if (e.target === domCache.container) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n /**\n * @param {DomCache} domCache\n */\n var handleContainerMousedown = function handleContainerMousedown(domCache) {\n domCache.container.onmousedown = function () {\n domCache.popup.onmouseup = function (e) {\n domCache.popup.onmouseup = function () {};\n // We also need to check if the mouseup target is a child of the popup\n if (e.target === domCache.popup || e.target instanceof HTMLElement && domCache.popup.contains(e.target)) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {DomCache} domCache\n * @param {Function} dismissWith\n */\n var handleModalClick = function handleModalClick(innerParams, domCache, dismissWith) {\n domCache.container.onclick = function (e) {\n if (ignoreOutsideClick) {\n ignoreOutsideClick = false;\n return;\n }\n if (e.target === domCache.container && callIfFunction(innerParams.allowOutsideClick)) {\n dismissWith(DismissReason.backdrop);\n }\n };\n };\n\n var isJqueryElement = function isJqueryElement(elem) {\n return _typeof(elem) === 'object' && elem.jquery;\n };\n var isElement = function isElement(elem) {\n return elem instanceof Element || isJqueryElement(elem);\n };\n var argsToParams = function argsToParams(args) {\n var params = {};\n if (_typeof(args[0]) === 'object' && !isElement(args[0])) {\n Object.assign(params, args[0]);\n } else {\n ['title', 'html', 'icon'].forEach(function (name, index) {\n var arg = args[index];\n if (typeof arg === 'string' || isElement(arg)) {\n params[name] = arg;\n } else if (arg !== undefined) {\n error(\"Unexpected type of \".concat(name, \"! Expected \\\"string\\\" or \\\"Element\\\", got \").concat(_typeof(arg)));\n }\n });\n }\n return params;\n };\n\n /**\n * Main method to create a new SweetAlert2 popup\n *\n * @param {...SweetAlertOptions} args\n * @returns {Promise<SweetAlertResult>}\n */\n function fire() {\n var Swal = this; // eslint-disable-line @typescript-eslint/no-this-alias\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _construct(Swal, args);\n }\n\n /**\n * Returns an extended version of `Swal` containing `params` as defaults.\n * Useful for reusing Swal configuration.\n *\n * For example:\n *\n * Before:\n * const textPromptOptions = { input: 'text', showCancelButton: true }\n * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })\n * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })\n *\n * After:\n * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })\n * const {value: firstName} = await TextPrompt('What is your first name?')\n * const {value: lastName} = await TextPrompt('What is your last name?')\n *\n * @param {SweetAlertOptions} mixinParams\n * @returns {SweetAlert}\n */\n function mixin(mixinParams) {\n var MixinSwal = /*#__PURE__*/function (_this) {\n _inherits(MixinSwal, _this);\n function MixinSwal() {\n _classCallCheck(this, MixinSwal);\n return _callSuper(this, MixinSwal, arguments);\n }\n _createClass(MixinSwal, [{\n key: \"_main\",\n value: function _main(params, priorityMixinParams) {\n return _get(_getPrototypeOf(MixinSwal.prototype), \"_main\", this).call(this, params, Object.assign({}, mixinParams, priorityMixinParams));\n }\n }]);\n return MixinSwal;\n }(this); // @ts-ignore\n return MixinSwal;\n }\n\n /**\n * If `timer` parameter is set, returns number of milliseconds of timer remained.\n * Otherwise, returns undefined.\n *\n * @returns {number | undefined}\n */\n var getTimerLeft = function getTimerLeft() {\n return globalState.timeout && globalState.timeout.getTimerLeft();\n };\n\n /**\n * Stop timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var stopTimer = function stopTimer() {\n if (globalState.timeout) {\n stopTimerProgressBar();\n return globalState.timeout.stop();\n }\n };\n\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var resumeTimer = function resumeTimer() {\n if (globalState.timeout) {\n var remaining = globalState.timeout.start();\n animateTimerProgressBar(remaining);\n return remaining;\n }\n };\n\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @returns {number | undefined}\n */\n var toggleTimer = function toggleTimer() {\n var timer = globalState.timeout;\n return timer && (timer.running ? stopTimer() : resumeTimer());\n };\n\n /**\n * Increase timer. Returns number of milliseconds of an updated timer.\n * If `timer` parameter isn't set, returns undefined.\n *\n * @param {number} ms\n * @returns {number | undefined}\n */\n var increaseTimer = function increaseTimer(ms) {\n if (globalState.timeout) {\n var remaining = globalState.timeout.increase(ms);\n animateTimerProgressBar(remaining, true);\n return remaining;\n }\n };\n\n /**\n * Check if timer is running. Returns true if timer is running\n * or false if timer is paused or stopped.\n * If `timer` parameter isn't set, returns undefined\n *\n * @returns {boolean}\n */\n var isTimerRunning = function isTimerRunning() {\n return !!(globalState.timeout && globalState.timeout.isRunning());\n };\n\n var bodyClickListenerAdded = false;\n var clickHandlers = {};\n\n /**\n * @param {string} attr\n */\n function bindClickHandler() {\n var attr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'data-swal-template';\n clickHandlers[attr] = this;\n if (!bodyClickListenerAdded) {\n document.body.addEventListener('click', bodyClickListener);\n bodyClickListenerAdded = true;\n }\n }\n var bodyClickListener = function bodyClickListener(event) {\n for (var el = event.target; el && el !== document; el = el.parentNode) {\n for (var attr in clickHandlers) {\n var template = el.getAttribute(attr);\n if (template) {\n clickHandlers[attr].fire({\n template: template\n });\n return;\n }\n }\n }\n };\n\n var staticMethods = /*#__PURE__*/Object.freeze({\n __proto__: null,\n argsToParams: argsToParams,\n bindClickHandler: bindClickHandler,\n clickCancel: clickCancel,\n clickConfirm: clickConfirm,\n clickDeny: clickDeny,\n enableLoading: showLoading,\n fire: fire,\n getActions: getActions,\n getCancelButton: getCancelButton,\n getCloseButton: getCloseButton,\n getConfirmButton: getConfirmButton,\n getContainer: getContainer,\n getDenyButton: getDenyButton,\n getFocusableElements: getFocusableElements,\n getFooter: getFooter,\n getHtmlContainer: getHtmlContainer,\n getIcon: getIcon,\n getIconContent: getIconContent,\n getImage: getImage,\n getInputLabel: getInputLabel,\n getLoader: getLoader,\n getPopup: getPopup,\n getProgressSteps: getProgressSteps,\n getTimerLeft: getTimerLeft,\n getTimerProgressBar: getTimerProgressBar,\n getTitle: getTitle,\n getValidationMessage: getValidationMessage,\n increaseTimer: increaseTimer,\n isDeprecatedParameter: isDeprecatedParameter,\n isLoading: isLoading,\n isTimerRunning: isTimerRunning,\n isUpdatableParameter: isUpdatableParameter,\n isValidParameter: isValidParameter,\n isVisible: isVisible,\n mixin: mixin,\n resumeTimer: resumeTimer,\n showLoading: showLoading,\n stopTimer: stopTimer,\n toggleTimer: toggleTimer\n });\n\n var Timer = /*#__PURE__*/function () {\n /**\n * @param {Function} callback\n * @param {number} delay\n */\n function Timer(callback, delay) {\n _classCallCheck(this, Timer);\n this.callback = callback;\n this.remaining = delay;\n this.running = false;\n this.start();\n }\n\n /**\n * @returns {number}\n */\n _createClass(Timer, [{\n key: \"start\",\n value: function start() {\n if (!this.running) {\n this.running = true;\n this.started = new Date();\n this.id = setTimeout(this.callback, this.remaining);\n }\n return this.remaining;\n }\n\n /**\n * @returns {number}\n */\n }, {\n key: \"stop\",\n value: function stop() {\n if (this.started && this.running) {\n this.running = false;\n clearTimeout(this.id);\n this.remaining -= new Date().getTime() - this.started.getTime();\n }\n return this.remaining;\n }\n\n /**\n * @param {number} n\n * @returns {number}\n */\n }, {\n key: \"increase\",\n value: function increase(n) {\n var running = this.running;\n if (running) {\n this.stop();\n }\n this.remaining += n;\n if (running) {\n this.start();\n }\n return this.remaining;\n }\n\n /**\n * @returns {number}\n */\n }, {\n key: \"getTimerLeft\",\n value: function getTimerLeft() {\n if (this.running) {\n this.stop();\n this.start();\n }\n return this.remaining;\n }\n\n /**\n * @returns {boolean}\n */\n }, {\n key: \"isRunning\",\n value: function isRunning() {\n return this.running;\n }\n }]);\n return Timer;\n }();\n\n var swalStringParams = ['swal-title', 'swal-html', 'swal-footer'];\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {SweetAlertOptions}\n */\n var getTemplateParams = function getTemplateParams(params) {\n /** @type {HTMLTemplateElement} */\n var template = typeof params.template === 'string' ? document.querySelector(params.template) : params.template;\n if (!template) {\n return {};\n }\n /** @type {DocumentFragment} */\n var templateContent = template.content;\n showWarningsForElements(templateContent);\n var result = Object.assign(getSwalParams(templateContent), getSwalFunctionParams(templateContent), getSwalButtons(templateContent), getSwalImage(templateContent), getSwalIcon(templateContent), getSwalInput(templateContent), getSwalStringParams(templateContent, swalStringParams));\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalParams = function getSwalParams(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalParams = Array.from(templateContent.querySelectorAll('swal-param'));\n swalParams.forEach(function (param) {\n showWarningsForAttributes(param, ['name', 'value']);\n var paramName = param.getAttribute('name');\n var value = param.getAttribute('value');\n if (typeof defaultParams[paramName] === 'boolean') {\n result[paramName] = value !== 'false';\n } else if (_typeof(defaultParams[paramName]) === 'object') {\n result[paramName] = JSON.parse(value);\n } else {\n result[paramName] = value;\n }\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalFunctionParams = function getSwalFunctionParams(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalFunctions = Array.from(templateContent.querySelectorAll('swal-function-param'));\n swalFunctions.forEach(function (param) {\n var paramName = param.getAttribute('name');\n var value = param.getAttribute('value');\n result[paramName] = new Function(\"return \".concat(value))();\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalButtons = function getSwalButtons(templateContent) {\n var result = {};\n /** @type {HTMLElement[]} */\n var swalButtons = Array.from(templateContent.querySelectorAll('swal-button'));\n swalButtons.forEach(function (button) {\n showWarningsForAttributes(button, ['type', 'color', 'aria-label']);\n var type = button.getAttribute('type');\n result[\"\".concat(type, \"ButtonText\")] = button.innerHTML;\n result[\"show\".concat(capitalizeFirstLetter(type), \"Button\")] = true;\n if (button.hasAttribute('color')) {\n result[\"\".concat(type, \"ButtonColor\")] = button.getAttribute('color');\n }\n if (button.hasAttribute('aria-label')) {\n result[\"\".concat(type, \"ButtonAriaLabel\")] = button.getAttribute('aria-label');\n }\n });\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalImage = function getSwalImage(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var image = templateContent.querySelector('swal-image');\n if (image) {\n showWarningsForAttributes(image, ['src', 'width', 'height', 'alt']);\n if (image.hasAttribute('src')) {\n result.imageUrl = image.getAttribute('src');\n }\n if (image.hasAttribute('width')) {\n result.imageWidth = image.getAttribute('width');\n }\n if (image.hasAttribute('height')) {\n result.imageHeight = image.getAttribute('height');\n }\n if (image.hasAttribute('alt')) {\n result.imageAlt = image.getAttribute('alt');\n }\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalIcon = function getSwalIcon(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var icon = templateContent.querySelector('swal-icon');\n if (icon) {\n showWarningsForAttributes(icon, ['type', 'color']);\n if (icon.hasAttribute('type')) {\n /** @type {SweetAlertIcon} */\n // @ts-ignore\n result.icon = icon.getAttribute('type');\n }\n if (icon.hasAttribute('color')) {\n result.iconColor = icon.getAttribute('color');\n }\n result.iconHtml = icon.innerHTML;\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @returns {SweetAlertOptions}\n */\n var getSwalInput = function getSwalInput(templateContent) {\n var result = {};\n /** @type {HTMLElement} */\n var input = templateContent.querySelector('swal-input');\n if (input) {\n showWarningsForAttributes(input, ['type', 'label', 'placeholder', 'value']);\n /** @type {SweetAlertInput} */\n // @ts-ignore\n result.input = input.getAttribute('type') || 'text';\n if (input.hasAttribute('label')) {\n result.inputLabel = input.getAttribute('label');\n }\n if (input.hasAttribute('placeholder')) {\n result.inputPlaceholder = input.getAttribute('placeholder');\n }\n if (input.hasAttribute('value')) {\n result.inputValue = input.getAttribute('value');\n }\n }\n /** @type {HTMLElement[]} */\n var inputOptions = Array.from(templateContent.querySelectorAll('swal-input-option'));\n if (inputOptions.length) {\n result.inputOptions = {};\n inputOptions.forEach(function (option) {\n showWarningsForAttributes(option, ['value']);\n var optionValue = option.getAttribute('value');\n var optionName = option.innerHTML;\n result.inputOptions[optionValue] = optionName;\n });\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n * @param {string[]} paramNames\n * @returns {SweetAlertOptions}\n */\n var getSwalStringParams = function getSwalStringParams(templateContent, paramNames) {\n var result = {};\n for (var i in paramNames) {\n var paramName = paramNames[i];\n /** @type {HTMLElement} */\n var tag = templateContent.querySelector(paramName);\n if (tag) {\n showWarningsForAttributes(tag, []);\n result[paramName.replace(/^swal-/, '')] = tag.innerHTML.trim();\n }\n }\n return result;\n };\n\n /**\n * @param {DocumentFragment} templateContent\n */\n var showWarningsForElements = function showWarningsForElements(templateContent) {\n var allowedElements = swalStringParams.concat(['swal-param', 'swal-function-param', 'swal-button', 'swal-image', 'swal-icon', 'swal-input', 'swal-input-option']);\n Array.from(templateContent.children).forEach(function (el) {\n var tagName = el.tagName.toLowerCase();\n if (!allowedElements.includes(tagName)) {\n warn(\"Unrecognized element <\".concat(tagName, \">\"));\n }\n });\n };\n\n /**\n * @param {HTMLElement} el\n * @param {string[]} allowedAttributes\n */\n var showWarningsForAttributes = function showWarningsForAttributes(el, allowedAttributes) {\n Array.from(el.attributes).forEach(function (attribute) {\n if (allowedAttributes.indexOf(attribute.name) === -1) {\n warn([\"Unrecognized attribute \\\"\".concat(attribute.name, \"\\\" on <\").concat(el.tagName.toLowerCase(), \">.\"), \"\".concat(allowedAttributes.length ? \"Allowed attributes are: \".concat(allowedAttributes.join(', ')) : 'To set the value, use HTML within the element.')]);\n }\n });\n };\n\n var SHOW_CLASS_TIMEOUT = 10;\n\n /**\n * Open popup, add necessary classes and styles, fix scrollbar\n *\n * @param {SweetAlertOptions} params\n */\n var openPopup = function openPopup(params) {\n var container = getContainer();\n var popup = getPopup();\n if (typeof params.willOpen === 'function') {\n params.willOpen(popup);\n }\n var bodyStyles = window.getComputedStyle(document.body);\n var initialBodyOverflow = bodyStyles.overflowY;\n addClasses(container, popup, params);\n\n // scrolling is 'hidden' until animation is done, after that 'auto'\n setTimeout(function () {\n setScrollingVisibility(container, popup);\n }, SHOW_CLASS_TIMEOUT);\n if (isModal()) {\n fixScrollContainer(container, params.scrollbarPadding, initialBodyOverflow);\n setAriaHidden();\n }\n if (!isToast() && !globalState.previousActiveElement) {\n globalState.previousActiveElement = document.activeElement;\n }\n if (typeof params.didOpen === 'function') {\n setTimeout(function () {\n return params.didOpen(popup);\n });\n }\n removeClass(container, swalClasses['no-transition']);\n };\n\n /**\n * @param {AnimationEvent} event\n */\n var swalOpenAnimationFinished = function swalOpenAnimationFinished(event) {\n var popup = getPopup();\n if (event.target !== popup || !animationEndEvent) {\n return;\n }\n var container = getContainer();\n popup.removeEventListener(animationEndEvent, swalOpenAnimationFinished);\n container.style.overflowY = 'auto';\n };\n\n /**\n * @param {HTMLElement} container\n * @param {HTMLElement} popup\n */\n var setScrollingVisibility = function setScrollingVisibility(container, popup) {\n if (animationEndEvent && hasCssAnimation(popup)) {\n container.style.overflowY = 'hidden';\n popup.addEventListener(animationEndEvent, swalOpenAnimationFinished);\n } else {\n container.style.overflowY = 'auto';\n }\n };\n\n /**\n * @param {HTMLElement} container\n * @param {boolean} scrollbarPadding\n * @param {string} initialBodyOverflow\n */\n var fixScrollContainer = function fixScrollContainer(container, scrollbarPadding, initialBodyOverflow) {\n iOSfix();\n if (scrollbarPadding && initialBodyOverflow !== 'hidden') {\n replaceScrollbarWithPadding(initialBodyOverflow);\n }\n\n // sweetalert2/issues/1247\n setTimeout(function () {\n container.scrollTop = 0;\n });\n };\n\n /**\n * @param {HTMLElement} container\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n var addClasses = function addClasses(container, popup, params) {\n addClass(container, params.showClass.backdrop);\n if (params.animation) {\n // this workaround with opacity is needed for https://github.com/sweetalert2/sweetalert2/issues/2059\n popup.style.setProperty('opacity', '0', 'important');\n show(popup, 'grid');\n setTimeout(function () {\n // Animate popup right after showing it\n addClass(popup, params.showClass.popup);\n // and remove the opacity workaround\n popup.style.removeProperty('opacity');\n }, SHOW_CLASS_TIMEOUT); // 10ms in order to fix #2062\n } else {\n show(popup, 'grid');\n }\n addClass([document.documentElement, document.body], swalClasses.shown);\n if (params.heightAuto && params.backdrop && !params.toast) {\n addClass([document.documentElement, document.body], swalClasses['height-auto']);\n }\n };\n\n var defaultInputValidators = {\n /**\n * @param {string} string\n * @param {string} [validationMessage]\n * @returns {Promise<string | void>}\n */\n email: function email(string, validationMessage) {\n return /^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-]+$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid email address');\n },\n /**\n * @param {string} string\n * @param {string} [validationMessage]\n * @returns {Promise<string | void>}\n */\n url: function url(string, validationMessage) {\n // taken from https://stackoverflow.com/a/3809435 with a small change from #1306 and #2013\n return /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,63}\\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid URL');\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n function setDefaultInputValidators(params) {\n // Use default `inputValidator` for supported input types if not provided\n if (params.inputValidator) {\n return;\n }\n if (params.input === 'email') {\n params.inputValidator = defaultInputValidators['email'];\n }\n if (params.input === 'url') {\n params.inputValidator = defaultInputValidators['url'];\n }\n }\n\n /**\n * @param {SweetAlertOptions} params\n */\n function validateCustomTargetElement(params) {\n // Determine if the custom target element is valid\n if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) {\n warn('Target parameter is not valid, defaulting to \"body\"');\n params.target = 'body';\n }\n }\n\n /**\n * Set type, text and actions on popup\n *\n * @param {SweetAlertOptions} params\n */\n function setParameters(params) {\n setDefaultInputValidators(params);\n\n // showLoaderOnConfirm && preConfirm\n if (params.showLoaderOnConfirm && !params.preConfirm) {\n warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\\n' + 'https://sweetalert2.github.io/#ajax-request');\n }\n validateCustomTargetElement(params);\n\n // Replace newlines with <br> in title\n if (typeof params.title === 'string') {\n params.title = params.title.split('\\n').join('<br />');\n }\n init(params);\n }\n\n /** @type {SweetAlert} */\n var currentInstance;\n var _promise = /*#__PURE__*/new WeakMap();\n var SweetAlert = /*#__PURE__*/function () {\n /**\n * @param {...any} args\n * @this {SweetAlert}\n */\n function SweetAlert() {\n _classCallCheck(this, SweetAlert);\n /**\n * @type {Promise<SweetAlertResult>}\n */\n _classPrivateFieldInitSpec(this, _promise, {\n writable: true,\n value: void 0\n });\n // Prevent run in Node env\n if (typeof window === 'undefined') {\n return;\n }\n currentInstance = this;\n\n // @ts-ignore\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var outerParams = Object.freeze(this.constructor.argsToParams(args));\n\n /** @type {Readonly<SweetAlertOptions>} */\n this.params = outerParams;\n\n /** @type {boolean} */\n this.isAwaitingPromise = false;\n _classPrivateFieldSet(this, _promise, this._main(currentInstance.params));\n }\n _createClass(SweetAlert, [{\n key: \"_main\",\n value: function _main(userParams) {\n var mixinParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n showWarningsForParams(Object.assign({}, mixinParams, userParams));\n if (globalState.currentInstance) {\n var swalPromiseResolve = privateMethods.swalPromiseResolve.get(globalState.currentInstance);\n var isAwaitingPromise = globalState.currentInstance.isAwaitingPromise;\n globalState.currentInstance._destroy();\n if (!isAwaitingPromise) {\n swalPromiseResolve({\n isDismissed: true\n });\n }\n if (isModal()) {\n unsetAriaHidden();\n }\n }\n globalState.currentInstance = currentInstance;\n var innerParams = prepareParams(userParams, mixinParams);\n setParameters(innerParams);\n Object.freeze(innerParams);\n\n // clear the previous timer\n if (globalState.timeout) {\n globalState.timeout.stop();\n delete globalState.timeout;\n }\n\n // clear the restore focus timeout\n clearTimeout(globalState.restoreFocusTimeout);\n var domCache = populateDomCache(currentInstance);\n render(currentInstance, innerParams);\n privateProps.innerParams.set(currentInstance, innerParams);\n return swalPromise(currentInstance, domCache, innerParams);\n }\n\n // `catch` cannot be the name of a module export, so we define our thenable methods here instead\n }, {\n key: \"then\",\n value: function then(onFulfilled) {\n return _classPrivateFieldGet(this, _promise).then(onFulfilled);\n }\n }, {\n key: \"finally\",\n value: function _finally(onFinally) {\n return _classPrivateFieldGet(this, _promise)[\"finally\"](onFinally);\n }\n }]);\n return SweetAlert;\n }();\n\n /**\n * @param {SweetAlert} instance\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n * @returns {Promise}\n */\n var swalPromise = function swalPromise(instance, domCache, innerParams) {\n return new Promise(function (resolve, reject) {\n // functions to handle all closings/dismissals\n /**\n * @param {DismissReason} dismiss\n */\n var dismissWith = function dismissWith(dismiss) {\n instance.close({\n isDismissed: true,\n dismiss: dismiss\n });\n };\n privateMethods.swalPromiseResolve.set(instance, resolve);\n privateMethods.swalPromiseReject.set(instance, reject);\n domCache.confirmButton.onclick = function () {\n handleConfirmButtonClick(instance);\n };\n domCache.denyButton.onclick = function () {\n handleDenyButtonClick(instance);\n };\n domCache.cancelButton.onclick = function () {\n handleCancelButtonClick(instance, dismissWith);\n };\n domCache.closeButton.onclick = function () {\n dismissWith(DismissReason.close);\n };\n handlePopupClick(innerParams, domCache, dismissWith);\n addKeydownHandler(globalState, innerParams, dismissWith);\n handleInputOptionsAndValue(instance, innerParams);\n openPopup(innerParams);\n setupTimer(globalState, innerParams, dismissWith);\n initFocus(domCache, innerParams);\n\n // Scroll container to top on open (#1247, #1946)\n setTimeout(function () {\n domCache.container.scrollTop = 0;\n });\n });\n };\n\n /**\n * @param {SweetAlertOptions} userParams\n * @param {SweetAlertOptions} mixinParams\n * @returns {SweetAlertOptions}\n */\n var prepareParams = function prepareParams(userParams, mixinParams) {\n var templateParams = getTemplateParams(userParams);\n var params = Object.assign({}, defaultParams, mixinParams, templateParams, userParams); // precedence is described in #2131\n params.showClass = Object.assign({}, defaultParams.showClass, params.showClass);\n params.hideClass = Object.assign({}, defaultParams.hideClass, params.hideClass);\n if (params.animation === false) {\n params.showClass = {\n backdrop: 'swal2-noanimation'\n };\n params.hideClass = {};\n }\n return params;\n };\n\n /**\n * @param {SweetAlert} instance\n * @returns {DomCache}\n */\n var populateDomCache = function populateDomCache(instance) {\n var domCache = {\n popup: getPopup(),\n container: getContainer(),\n actions: getActions(),\n confirmButton: getConfirmButton(),\n denyButton: getDenyButton(),\n cancelButton: getCancelButton(),\n loader: getLoader(),\n closeButton: getCloseButton(),\n validationMessage: getValidationMessage(),\n progressSteps: getProgressSteps()\n };\n privateProps.domCache.set(instance, domCache);\n return domCache;\n };\n\n /**\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n var setupTimer = function setupTimer(globalState, innerParams, dismissWith) {\n var timerProgressBar = getTimerProgressBar();\n hide(timerProgressBar);\n if (innerParams.timer) {\n globalState.timeout = new Timer(function () {\n dismissWith('timer');\n delete globalState.timeout;\n }, innerParams.timer);\n if (innerParams.timerProgressBar) {\n show(timerProgressBar);\n applyCustomClass(timerProgressBar, innerParams, 'timerProgressBar');\n setTimeout(function () {\n if (globalState.timeout && globalState.timeout.running) {\n // timer can be already stopped or unset at this point\n animateTimerProgressBar(innerParams.timer);\n }\n });\n }\n }\n };\n\n /**\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n */\n var initFocus = function initFocus(domCache, innerParams) {\n if (innerParams.toast) {\n return;\n }\n if (!callIfFunction(innerParams.allowEnterKey)) {\n blurActiveElement();\n return;\n }\n if (!focusButton(domCache, innerParams)) {\n setFocus(-1, 1);\n }\n };\n\n /**\n * @param {DomCache} domCache\n * @param {SweetAlertOptions} innerParams\n * @returns {boolean}\n */\n var focusButton = function focusButton(domCache, innerParams) {\n if (innerParams.focusDeny && isVisible$1(domCache.denyButton)) {\n domCache.denyButton.focus();\n return true;\n }\n if (innerParams.focusCancel && isVisible$1(domCache.cancelButton)) {\n domCache.cancelButton.focus();\n return true;\n }\n if (innerParams.focusConfirm && isVisible$1(domCache.confirmButton)) {\n domCache.confirmButton.focus();\n return true;\n }\n return false;\n };\n var blurActiveElement = function blurActiveElement() {\n if (document.activeElement instanceof HTMLElement && typeof document.activeElement.blur === 'function') {\n document.activeElement.blur();\n }\n };\n\n // Dear russian users visiting russian sites. Let's have fun.\n if (typeof window !== 'undefined' && /^ru\\b/.test(navigator.language) && location.host.match(/\\.(ru|su|by|xn--p1ai)$/)) {\n var now = new Date();\n var initiationDate = localStorage.getItem('swal-initiation');\n if (!initiationDate) {\n localStorage.setItem('swal-initiation', \"\".concat(now));\n } else if ((now.getTime() - Date.parse(initiationDate)) / (1000 * 60 * 60 * 24) > 3) {\n setTimeout(function () {\n document.body.style.pointerEvents = 'none';\n var ukrainianAnthem = document.createElement('audio');\n ukrainianAnthem.src = 'https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3';\n ukrainianAnthem.loop = true;\n document.body.appendChild(ukrainianAnthem);\n setTimeout(function () {\n ukrainianAnthem.play()[\"catch\"](function () {\n // ignore\n });\n }, 2500);\n }, 500);\n }\n }\n\n // Assign instance methods from src/instanceMethods/*.js to prototype\n SweetAlert.prototype.disableButtons = disableButtons;\n SweetAlert.prototype.enableButtons = enableButtons;\n SweetAlert.prototype.getInput = getInput;\n SweetAlert.prototype.disableInput = disableInput;\n SweetAlert.prototype.enableInput = enableInput;\n SweetAlert.prototype.hideLoading = hideLoading;\n SweetAlert.prototype.disableLoading = hideLoading;\n SweetAlert.prototype.showValidationMessage = showValidationMessage;\n SweetAlert.prototype.resetValidationMessage = resetValidationMessage;\n SweetAlert.prototype.close = close;\n SweetAlert.prototype.closePopup = close;\n SweetAlert.prototype.closeModal = close;\n SweetAlert.prototype.closeToast = close;\n SweetAlert.prototype.rejectPromise = rejectPromise;\n SweetAlert.prototype.update = update;\n SweetAlert.prototype._destroy = _destroy;\n\n // Assign static methods from src/staticMethods/*.js to constructor\n Object.assign(SweetAlert, staticMethods);\n\n // Proxy to instance methods to constructor, for now, for backwards compatibility\n Object.keys(instanceMethods).forEach(function (key) {\n /**\n * @param {...any} args\n * @returns {any | undefined}\n */\n SweetAlert[key] = function () {\n if (currentInstance && currentInstance[key]) {\n var _currentInstance;\n return (_currentInstance = currentInstance)[key].apply(_currentInstance, arguments);\n }\n return null;\n };\n });\n SweetAlert.DismissReason = DismissReason;\n SweetAlert.version = '11.10.6';\n\n var Swal = SweetAlert;\n // @ts-ignore\n Swal[\"default\"] = Swal;\n\n return Swal;\n\n}));\nif (typeof this !== 'undefined' && this.Sweetalert2){this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2}\n\"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;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:\\\"top-start top top-end\\\" \\\"center-start center center-end\\\" \\\"bottom-start bottom-center bottom-end\\\";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) .swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:\\\"!\\\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#facea8;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#9de0f6;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#c9dae1;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}\");"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} |