{"version":3,"file":"sweetalert2.ac091051.js","sources":["../../../node_modules/vue-sweetalert2/dist/vue-sweetalert.es.js"],"sourcesContent":["var commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nvar sweetalert2 = { exports: {} };\n/*!\n* sweetalert2 v11.4.0\n* Released under the MIT License.\n*/\n(function(module, exports) {\n (function(global2, factory) {\n module.exports = factory();\n })(commonjsGlobal, function() {\n const consolePrefix = \"SweetAlert2:\";\n const uniqueArray = (arr) => {\n const result = [];\n for (let i = 0; i < arr.length; i++) {\n if (result.indexOf(arr[i]) === -1) {\n result.push(arr[i]);\n }\n }\n return result;\n };\n const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);\n const toArray = (nodeList) => Array.prototype.slice.call(nodeList);\n const warn = (message) => {\n console.warn(\"\".concat(consolePrefix, \" \").concat(typeof message === \"object\" ? message.join(\" \") : message));\n };\n const error = (message) => {\n console.error(\"\".concat(consolePrefix, \" \").concat(message));\n };\n const previousWarnOnceMessages = [];\n const warnOnce = (message) => {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n const 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 const callIfFunction = (arg) => typeof arg === \"function\" ? arg() : arg;\n const hasToPromiseFn = (arg) => arg && typeof arg.toPromise === \"function\";\n const asPromise = (arg) => hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n const isPromise = (arg) => arg && Promise.resolve(arg) === arg;\n const defaultParams = {\n title: \"\",\n titleText: \"\",\n text: \"\",\n html: \"\",\n footer: \"\",\n icon: void 0,\n iconColor: void 0,\n iconHtml: void 0,\n template: void 0,\n toast: false,\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: void 0,\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: void 0,\n preDeny: void 0,\n confirmButtonText: \"OK\",\n confirmButtonAriaLabel: \"\",\n confirmButtonColor: void 0,\n denyButtonText: \"No\",\n denyButtonAriaLabel: \"\",\n denyButtonColor: void 0,\n cancelButtonText: \"Cancel\",\n cancelButtonAriaLabel: \"\",\n cancelButtonColor: void 0,\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: void 0,\n imageWidth: void 0,\n imageHeight: void 0,\n imageAlt: \"\",\n timer: void 0,\n timerProgressBar: false,\n width: void 0,\n padding: void 0,\n background: void 0,\n input: void 0,\n inputPlaceholder: \"\",\n inputLabel: \"\",\n inputValue: \"\",\n inputOptions: {},\n inputAutoTrim: true,\n inputAttributes: {},\n inputValidator: void 0,\n returnInputValueOnDeny: false,\n validationMessage: void 0,\n grow: false,\n position: \"center\",\n progressSteps: [],\n currentProgressStep: void 0,\n progressStepsDistance: void 0,\n willOpen: void 0,\n didOpen: void 0,\n didRender: void 0,\n willClose: void 0,\n didClose: void 0,\n didDestroy: void 0,\n scrollbarPadding: true\n };\n const 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 const deprecatedParams = {};\n const toastIncompatibleParams = [\"allowOutsideClick\", \"allowEnterKey\", \"backdrop\", \"focusConfirm\", \"focusDeny\", \"focusCancel\", \"returnFocus\", \"heightAuto\", \"keydownListenerCapture\"];\n const isValidParameter = (paramName) => {\n return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n };\n const isUpdatableParameter = (paramName) => {\n return updatableParams.indexOf(paramName) !== -1;\n };\n const isDeprecatedParameter = (paramName) => {\n return deprecatedParams[paramName];\n };\n const checkIfParamIsValid = (param) => {\n if (!isValidParameter(param)) {\n warn('Unknown parameter \"'.concat(param, '\"'));\n }\n };\n const checkIfToastParamIsValid = (param) => {\n if (toastIncompatibleParams.includes(param)) {\n warn('The parameter \"'.concat(param, '\" is incompatible with toasts'));\n }\n };\n const checkIfParamIsDeprecated = (param) => {\n if (isDeprecatedParameter(param)) {\n warnAboutDeprecation(param, isDeprecatedParameter(param));\n }\n };\n const showWarningsForParams = (params) => {\n if (!params.backdrop && params.allowOutsideClick) {\n warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n }\n for (const param in params) {\n checkIfParamIsValid(param);\n if (params.toast) {\n checkIfToastParamIsValid(param);\n }\n checkIfParamIsDeprecated(param);\n }\n };\n const swalPrefix = \"swal2-\";\n const prefix = (items) => {\n const result = {};\n for (const i in items) {\n result[items[i]] = swalPrefix + items[i];\n }\n return result;\n };\n const swalClasses = prefix([\"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 const iconTypes = prefix([\"success\", \"warning\", \"info\", \"question\", \"error\"]);\n const getContainer = () => document.body.querySelector(\".\".concat(swalClasses.container));\n const elementBySelector = (selectorString) => {\n const container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n const elementByClass = (className) => {\n return elementBySelector(\".\".concat(className));\n };\n const getPopup = () => elementByClass(swalClasses.popup);\n const getIcon = () => elementByClass(swalClasses.icon);\n const getTitle = () => elementByClass(swalClasses.title);\n const getHtmlContainer = () => elementByClass(swalClasses[\"html-container\"]);\n const getImage = () => elementByClass(swalClasses.image);\n const getProgressSteps = () => elementByClass(swalClasses[\"progress-steps\"]);\n const getValidationMessage = () => elementByClass(swalClasses[\"validation-message\"]);\n const getConfirmButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.confirm));\n const getDenyButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.deny));\n const getInputLabel = () => elementByClass(swalClasses[\"input-label\"]);\n const getLoader = () => elementBySelector(\".\".concat(swalClasses.loader));\n const getCancelButton = () => elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.cancel));\n const getActions = () => elementByClass(swalClasses.actions);\n const getFooter = () => elementByClass(swalClasses.footer);\n const getTimerProgressBar = () => elementByClass(swalClasses[\"timer-progress-bar\"]);\n const getCloseButton = () => elementByClass(swalClasses.close);\n const 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 const getFocusableElements = () => {\n const focusableElementsWithTabindex = toArray(getPopup().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])')).sort((a, b) => {\n const tabindexA = parseInt(a.getAttribute(\"tabindex\"));\n const tabindexB = parseInt(b.getAttribute(\"tabindex\"));\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n return 0;\n });\n const otherFocusableElements = toArray(getPopup().querySelectorAll(focusable)).filter((el) => el.getAttribute(\"tabindex\") !== \"-1\");\n return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)).filter((el) => isVisible(el));\n };\n const isModal = () => {\n return !hasClass(document.body, swalClasses[\"toast-shown\"]) && !hasClass(document.body, swalClasses[\"no-backdrop\"]);\n };\n const isToast = () => {\n return getPopup() && hasClass(getPopup(), swalClasses.toast);\n };\n const isLoading = () => {\n return getPopup().hasAttribute(\"data-loading\");\n };\n const states = {\n previousBodyPadding: null\n };\n const setInnerHtml = (elem, html) => {\n elem.textContent = \"\";\n if (html) {\n const parser = new DOMParser();\n const parsed = parser.parseFromString(html, \"text/html\");\n toArray(parsed.querySelector(\"head\").childNodes).forEach((child) => {\n elem.appendChild(child);\n });\n toArray(parsed.querySelector(\"body\").childNodes).forEach((child) => {\n elem.appendChild(child);\n });\n }\n };\n const hasClass = (elem, className) => {\n if (!className) {\n return false;\n }\n const classList = className.split(/\\s+/);\n for (let i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n return true;\n };\n const removeCustomClasses = (elem, params) => {\n toArray(elem.classList).forEach((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 const 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 return warn(\"Invalid type of customClass.\".concat(className, '! Expected string or iterable object, got \"').concat(typeof params.customClass[className], '\"'));\n }\n addClass(elem, params.customClass[className]);\n }\n };\n const getInput = (popup, inputType) => {\n if (!inputType) {\n return null;\n }\n switch (inputType) {\n case \"select\":\n case \"textarea\":\n case \"file\":\n return popup.querySelector(\".\".concat(swalClasses.popup, \" > .\").concat(swalClasses[inputType]));\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 const focusInput = (input) => {\n input.focus();\n if (input.type !== \"file\") {\n const val = input.value;\n input.value = \"\";\n input.value = val;\n }\n };\n const 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((className) => {\n if (Array.isArray(target)) {\n target.forEach((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 const addClass = (target, classList) => {\n toggleClass(target, classList, true);\n };\n const removeClass = (target, classList) => {\n toggleClass(target, classList, false);\n };\n const getDirectChildByClass = (elem, className) => {\n const childNodes = toArray(elem.childNodes);\n for (let i = 0; i < childNodes.length; i++) {\n if (hasClass(childNodes[i], className)) {\n return childNodes[i];\n }\n }\n };\n const applyNumericalStyle = (elem, property, value) => {\n if (value === \"\".concat(parseInt(value))) {\n value = parseInt(value);\n }\n if (value || parseInt(value) === 0) {\n elem.style[property] = typeof value === \"number\" ? \"\".concat(value, \"px\") : value;\n } else {\n elem.style.removeProperty(property);\n }\n };\n const show = function(elem) {\n let display = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"flex\";\n elem.style.display = display;\n };\n const hide = (elem) => {\n elem.style.display = \"none\";\n };\n const setStyle = (parent, selector, property, value) => {\n const el = parent.querySelector(selector);\n if (el) {\n el.style[property] = value;\n }\n };\n const toggle = (elem, condition, display) => {\n condition ? show(elem, display) : hide(elem);\n };\n const isVisible = (elem) => !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n const allButtonsAreHidden = () => !isVisible(getConfirmButton()) && !isVisible(getDenyButton()) && !isVisible(getCancelButton());\n const isScrollable = (elem) => !!(elem.scrollHeight > elem.clientHeight);\n const hasCssAnimation = (elem) => {\n const style = window.getComputedStyle(elem);\n const animDuration = parseFloat(style.getPropertyValue(\"animation-duration\") || \"0\");\n const transDuration = parseFloat(style.getPropertyValue(\"transition-duration\") || \"0\");\n return animDuration > 0 || transDuration > 0;\n };\n const animateTimerProgressBar = function(timer) {\n let reset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n const timerProgressBar = getTimerProgressBar();\n if (isVisible(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = \"none\";\n timerProgressBar.style.width = \"100%\";\n }\n setTimeout(() => {\n timerProgressBar.style.transition = \"width \".concat(timer / 1e3, \"s linear\");\n timerProgressBar.style.width = \"0%\";\n }, 10);\n }\n };\n const stopTimerProgressBar = () => {\n const timerProgressBar = getTimerProgressBar();\n const timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty(\"transition\");\n timerProgressBar.style.width = \"100%\";\n const timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n const timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.removeProperty(\"transition\");\n timerProgressBar.style.width = \"\".concat(timerProgressBarPercent, \"%\");\n };\n const isNodeEnv = () => typeof window === \"undefined\" || typeof document === \"undefined\";\n const RESTORE_FOCUS_TIMEOUT = 100;\n const globalState = {};\n const focusPreviousActiveElement = () => {\n if (globalState.previousActiveElement && globalState.previousActiveElement.focus) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n const restoreActiveElement = (returnFocus) => {\n return new Promise((resolve) => {\n if (!returnFocus) {\n return resolve();\n }\n const x = window.scrollX;\n const y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(() => {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT);\n window.scrollTo(x, y);\n });\n };\n const sweetHTML = '\\n