From 58cd3accfae16046b1c2960e70e72e487163d306 Mon Sep 17 00:00:00 2001 From: Matthew Francis Brunetti Date: Sat, 20 Jan 2018 20:34:18 -0500 Subject: [PATCH] Remove dist folder, closes #820 --- .gitignore | 1 + config/utils.js | 23 +- dist/sweetalert2.all.js | 1931 ----------------------------------- dist/sweetalert2.all.min.js | 1 - dist/sweetalert2.common.js | 1902 ---------------------------------- dist/sweetalert2.css | 1258 ----------------------- dist/sweetalert2.js | 1908 ---------------------------------- dist/sweetalert2.min.css | 1 - dist/sweetalert2.min.js | 1 - gulpfile.js | 3 - package.json | 7 +- yarn.lock | 32 +- 12 files changed, 22 insertions(+), 7046 deletions(-) delete mode 100644 dist/sweetalert2.all.js delete mode 100644 dist/sweetalert2.all.min.js delete mode 100644 dist/sweetalert2.common.js delete mode 100644 dist/sweetalert2.css delete mode 100644 dist/sweetalert2.js delete mode 100644 dist/sweetalert2.min.css delete mode 100644 dist/sweetalert2.min.js diff --git a/.gitignore b/.gitignore index c48950344..dd8607339 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules bower_components package-lock.json +dist diff --git a/config/utils.js b/config/utils.js index 6521d7f3c..a74c6f576 100644 --- a/config/utils.js +++ b/config/utils.js @@ -5,6 +5,10 @@ const banner = require('./banner.js') const fs = require('fs') const uglify = require('uglify-js') const css = require('rollup-plugin-css-only') +const pify = require('pify') +const mkdirp = require('mkdirp') + +const mkdirpAsync = pify(mkdirp) const toUpper = (_, c) => { return c ? c.toUpperCase() : '' @@ -26,15 +30,18 @@ const write = (dest, code) => { const packageRollup = (options) => { const moduleId = classify(pack.name) - return rollup({ - input: options.entry || 'src/sweetalert2.js', - plugins: [ - css({ output: false }), - babel({ - exclude: 'node_modules/**' + return mkdirpAsync('./dist') + .then(() => { + return rollup({ + input: options.entry || 'src/sweetalert2.js', + plugins: [ + css({ output: false }), + babel({ + exclude: 'node_modules/**' + }) + ] }) - ] - }) + }) .then((bundle) => { return bundle.generate({ format: options.format, diff --git a/dist/sweetalert2.all.js b/dist/sweetalert2.all.js deleted file mode 100644 index 0c5ca05c3..000000000 --- a/dist/sweetalert2.all.js +++ /dev/null @@ -1,1931 +0,0 @@ -/*! - * sweetalert2 v7.6.2 - * Released under the MIT License. - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Sweetalert2 = factory()); -}(this, (function () { 'use strict'; - -var styles = "body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-actions {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: stretch;\n align-self: stretch;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n height: 2.2em; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-loading {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-input {\n height: 2em;\n font-size: 1em;\n margin: .3125em auto; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-validationerror {\n font-size: 1em; }\n\nbody.swal2-toast-shown > .swal2-container {\n position: fixed;\n background-color: transparent; }\n body.swal2-toast-shown > .swal2-container.swal2-shown {\n background-color: transparent; }\n body.swal2-toast-shown > .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n bottom: auto;\n right: auto;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-top-end, body.swal2-toast-shown > .swal2-container.swal2-top-right {\n top: 0;\n left: auto;\n bottom: auto;\n right: 0; }\n body.swal2-toast-shown > .swal2-container.swal2-top-start, body.swal2-toast-shown > .swal2-container.swal2-top-left {\n top: 0;\n left: 0;\n bottom: auto;\n right: auto; }\n body.swal2-toast-shown > .swal2-container.swal2-center-start, body.swal2-toast-shown > .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n bottom: auto;\n right: auto;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n bottom: auto;\n right: auto;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown > .swal2-container.swal2-center-end, body.swal2-toast-shown > .swal2-container.swal2-center-right {\n top: 50%;\n left: auto;\n bottom: auto;\n right: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-bottom-start, body.swal2-toast-shown > .swal2-container.swal2-bottom-left {\n top: auto;\n left: 0;\n bottom: 0;\n right: auto; }\n body.swal2-toast-shown > .swal2-container.swal2-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n right: auto;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-bottom-end, body.swal2-toast-shown > .swal2-container.swal2-bottom-right {\n top: auto;\n left: auto;\n bottom: 0;\n right: 0; }\n\n.swal2-popup.swal2-toast {\n width: auto;\n padding: 0.625em;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n overflow-y: hidden;\n -webkit-box-shadow: 0 0 10px #d9d9d9;\n box-shadow: 0 0 10px #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row; }\n .swal2-popup.swal2-toast .swal2-title {\n font-size: 1em;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n margin: 0 .6em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: initial; }\n .swal2-popup.swal2-toast .swal2-content {\n font-size: 0.875em;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 32px;\n min-width: 32px;\n height: 32px;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 32px;\n height: 32px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-info, .swal2-popup.swal2-toast .swal2-icon.swal2-warning, .swal2-popup.swal2-toast .swal2-icon.swal2-question {\n font-size: 26px;\n line-height: 32px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: 14px;\n width: 22px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 5px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 5px; }\n .swal2-popup.swal2-toast .swal2-actions {\n margin: 0 .3125em;\n height: auto; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: 0 .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4);\n box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n border-radius: 50%;\n position: absolute;\n width: 32px;\n height: 45px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n border-radius: 64px 0 0 64px;\n top: -4px;\n left: -15px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 32px 32px;\n transform-origin: 32px 32px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n border-radius: 0 64px 64px 0;\n top: -5px;\n left: 14px;\n -webkit-transform-origin: 0 32px;\n transform-origin: 0 32px; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 32px;\n height: 32px; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n width: 7px;\n height: 43px;\n left: 7px;\n top: 0; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: 5px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n width: 12px;\n left: 3px;\n top: 18px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n width: 22px;\n right: 3px;\n top: 15px; }\n .swal2-popup.swal2-toast.swal2-show {\n -webkit-animation: showSweetToast .5s;\n animation: showSweetToast .5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n -webkit-animation: hideSweetToast .2s forwards;\n animation: hideSweetToast .2s forwards; }\n .swal2-popup.swal2-toast .swal2-animate-success-line-tip {\n -webkit-animation: animate-toast-success-tip .75s;\n animation: animate-toast-success-tip .75s; }\n .swal2-popup.swal2-toast .swal2-animate-success-line-long {\n -webkit-animation: animate-toast-success-long .75s;\n animation: animate-toast-success-long .75s; }\n\n@-webkit-keyframes showSweetToast {\n 0% {\n -webkit-transform: translateY(-10px) rotateZ(2deg);\n transform: translateY(-10px) rotateZ(2deg);\n opacity: 0; }\n 33% {\n -webkit-transform: translateY(0) rotateZ(-2deg);\n transform: translateY(0) rotateZ(-2deg);\n opacity: .5; }\n 66% {\n -webkit-transform: translateY(5px) rotateZ(2deg);\n transform: translateY(5px) rotateZ(2deg);\n opacity: .7; }\n 100% {\n -webkit-transform: translateY(0) rotateZ(0);\n transform: translateY(0) rotateZ(0);\n opacity: 1; } }\n\n@keyframes showSweetToast {\n 0% {\n -webkit-transform: translateY(-10px) rotateZ(2deg);\n transform: translateY(-10px) rotateZ(2deg);\n opacity: 0; }\n 33% {\n -webkit-transform: translateY(0) rotateZ(-2deg);\n transform: translateY(0) rotateZ(-2deg);\n opacity: .5; }\n 66% {\n -webkit-transform: translateY(5px) rotateZ(2deg);\n transform: translateY(5px) rotateZ(2deg);\n opacity: .7; }\n 100% {\n -webkit-transform: translateY(0) rotateZ(0);\n transform: translateY(0) rotateZ(0);\n opacity: 1; } }\n\n@-webkit-keyframes hideSweetToast {\n 0% {\n opacity: 1; }\n 33% {\n opacity: .5; }\n 100% {\n -webkit-transform: rotateZ(1deg);\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes hideSweetToast {\n 0% {\n opacity: 1; }\n 33% {\n opacity: .5; }\n 100% {\n -webkit-transform: rotateZ(1deg);\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@-webkit-keyframes animate-toast-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 9px; }\n 54% {\n width: 0;\n left: 2px;\n top: 2px; }\n 70% {\n width: 26px;\n left: -4px;\n top: 10px; }\n 84% {\n width: 8px;\n left: 12px;\n top: 17px; }\n 100% {\n width: 12px;\n left: 3px;\n top: 18px; } }\n\n@keyframes animate-toast-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 9px; }\n 54% {\n width: 0;\n left: 2px;\n top: 2px; }\n 70% {\n width: 26px;\n left: -4px;\n top: 10px; }\n 84% {\n width: 8px;\n left: 12px;\n top: 17px; }\n 100% {\n width: 12px;\n left: 3px;\n top: 18px; } }\n\n@-webkit-keyframes animate-toast-success-long {\n 0% {\n width: 0;\n right: 22px;\n top: 26px; }\n 65% {\n width: 0;\n right: 15px;\n top: 20px; }\n 84% {\n width: 18px;\n right: 0;\n top: 15px; }\n 100% {\n width: 22px;\n right: 3px;\n top: 15px; } }\n\n@keyframes animate-toast-success-long {\n 0% {\n width: 0;\n right: 22px;\n top: 26px; }\n 65% {\n width: 0;\n right: 15px;\n top: 20px; }\n 84% {\n width: 18px;\n right: 0;\n top: 15px; }\n 100% {\n width: 22px;\n right: 3px;\n top: 15px; } }\n\nhtml.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: hidden;\n height: auto; }\n\nbody.swal2-iosfix {\n position: fixed;\n left: 0;\n right: 0; }\n\nbody.swal2-no-backdrop .swal2-shown {\n top: auto;\n bottom: auto;\n left: auto;\n right: auto;\n background-color: transparent; }\n body.swal2-no-backdrop .swal2-shown > .swal2-modal {\n -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-shown.swal2-top {\n top: 0;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-top-start, body.swal2-no-backdrop .swal2-shown.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-top-end, body.swal2-no-backdrop .swal2-shown.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-center {\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-center-start, body.swal2-no-backdrop .swal2-shown.swal2-center-left {\n top: 50%;\n left: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-center-end, body.swal2-no-backdrop .swal2-shown.swal2-center-right {\n top: 50%;\n right: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom {\n bottom: 0;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom-start, body.swal2-no-backdrop .swal2-shown.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .swal2-shown.swal2-bottom-right {\n bottom: 0;\n right: 0; }\n\n.swal2-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: fixed;\n padding: 10px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: transparent;\n z-index: 1060; }\n .swal2-container.swal2-top {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: stretch;\n align-self: stretch;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n .swal2-container.swal2-fade {\n -webkit-transition: background-color .1s;\n transition: background-color .1s; }\n .swal2-container.swal2-shown {\n background-color: rgba(0, 0, 0, 0.4); }\n\n.swal2-popup {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n background-color: #fff;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 1rem;\n padding: 1.25em;\n border-radius: .3125em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow-x: hidden;\n overflow-y: auto;\n display: none;\n position: relative;\n width: 32em;\n max-width: 100%; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n .swal2-popup .swal2-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-popup .swal2-title {\n color: #595959;\n font-size: 1.875em;\n text-align: center;\n font-weight: 600;\n text-transform: none;\n position: relative;\n margin: 0 0 .4em;\n padding: 0;\n display: block;\n word-wrap: break-word; }\n .swal2-popup .swal2-actions {\n height: 4em;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4;\n cursor: no-drop; }\n .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border: .25em solid transparent;\n border-color: transparent;\n width: 2.5em;\n height: 2.5em;\n padding: 0;\n margin: .46875em;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n border-radius: 100%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {\n margin-left: 30px;\n margin-right: 30px; }\n .swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n display: inline-block;\n content: '';\n margin-left: 5px;\n height: 15px;\n width: 15px;\n border: 3px solid #999999;\n -webkit-box-shadow: 1px 1px 1px #fff;\n box-shadow: 1px 1px 1px #fff;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal; }\n .swal2-popup .swal2-styled {\n border: 0;\n border-radius: .25em;\n -webkit-box-shadow: none;\n box-shadow: none;\n color: #fff;\n cursor: pointer;\n font-size: 1.0625em;\n font-weight: 500;\n margin: 0 .3125em;\n padding: .625em 2em; }\n .swal2-popup .swal2-styled:focus {\n outline: none;\n -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4);\n box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); }\n .swal2-popup .swal2-styled::-moz-focus-inner {\n border: 0; }\n .swal2-popup .swal2-image {\n margin: 1.25em auto;\n max-width: 100%; }\n .swal2-popup .swal2-close {\n background: transparent;\n border: 0;\n margin: 0;\n padding: 0;\n width: 1.2em;\n min-width: 1.2em;\n height: 1.2em;\n font-size: calc(2.5em - 0.25em);\n line-height: 1.2em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n font-family: serif;\n position: absolute;\n top: 5px;\n right: 8px;\n cursor: pointer;\n color: #cccccc;\n -webkit-transition: color .1s ease;\n transition: color .1s ease; }\n .swal2-popup .swal2-close:hover {\n color: #d55; }\n .swal2-popup > .swal2-input,\n .swal2-popup > .swal2-file,\n .swal2-popup > .swal2-textarea,\n .swal2-popup > .swal2-select,\n .swal2-popup > .swal2-radio,\n .swal2-popup > .swal2-checkbox {\n display: none; }\n .swal2-popup .swal2-content {\n font-size: 1.125em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n font-weight: 300;\n margin: 0;\n padding: 0;\n line-height: normal;\n color: #545454;\n word-wrap: break-word; }\n .swal2-popup #swal2-content {\n text-align: center; }\n .swal2-popup .swal2-input,\n .swal2-popup .swal2-file,\n .swal2-popup .swal2-textarea,\n .swal2-popup .swal2-select,\n .swal2-popup .swal2-radio,\n .swal2-popup .swal2-checkbox {\n margin: 1em auto; }\n .swal2-popup .swal2-input,\n .swal2-popup .swal2-file,\n .swal2-popup .swal2-textarea {\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 1.125em;\n border-radius: 3px;\n border: 1px solid #d9d9d9;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n -webkit-transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, box-shadow .3s;\n transition: border-color .3s, box-shadow .3s, -webkit-box-shadow .3s; }\n .swal2-popup .swal2-input.swal2-inputerror,\n .swal2-popup .swal2-file.swal2-inputerror,\n .swal2-popup .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n -webkit-box-shadow: 0 0 2px #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-popup .swal2-input:focus,\n .swal2-popup .swal2-file:focus,\n .swal2-popup .swal2-textarea:focus {\n outline: none;\n border: 1px solid #b4dbed;\n -webkit-box-shadow: 0 0 3px #c4e6f5;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-popup .swal2-input::-webkit-input-placeholder,\n .swal2-popup .swal2-file::-webkit-input-placeholder,\n .swal2-popup .swal2-textarea::-webkit-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input:-ms-input-placeholder,\n .swal2-popup .swal2-file:-ms-input-placeholder,\n .swal2-popup .swal2-textarea:-ms-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input::-ms-input-placeholder,\n .swal2-popup .swal2-file::-ms-input-placeholder,\n .swal2-popup .swal2-textarea::-ms-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input::placeholder,\n .swal2-popup .swal2-file::placeholder,\n .swal2-popup .swal2-textarea::placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-range input {\n width: 80%; }\n .swal2-popup .swal2-range output {\n width: 20%;\n font-weight: 600;\n text-align: center; }\n .swal2-popup .swal2-range input,\n .swal2-popup .swal2-range output {\n font-size: 1.125em;\n height: 2.625em;\n line-height: 2.625em;\n margin: 1em auto;\n padding: 0; }\n .swal2-popup .swal2-input {\n height: 2.625em;\n padding: 0 .75em; }\n .swal2-popup .swal2-input[type='number'] {\n max-width: 10em; }\n .swal2-popup .swal2-file {\n font-size: 1.125em; }\n .swal2-popup .swal2-textarea {\n height: 6.75em;\n padding: .75em; }\n .swal2-popup .swal2-select {\n color: #545454;\n font-size: 1.125em;\n padding: .375em .625em;\n min-width: 50%;\n max-width: 100%; }\n .swal2-popup .swal2-radio,\n .swal2-popup .swal2-checkbox {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-popup .swal2-radio label,\n .swal2-popup .swal2-checkbox label {\n font-size: 1.125em;\n margin: 0 .6em; }\n .swal2-popup .swal2-radio input,\n .swal2-popup .swal2-checkbox input {\n margin: 0 .4em; }\n .swal2-popup .swal2-validationerror {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n background-color: #f0f0f0;\n overflow: hidden;\n padding: .625em;\n color: gray;\n font-size: 1em;\n font-weight: 300;\n display: none; }\n .swal2-popup .swal2-validationerror::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n border-radius: 50%;\n background-color: #ea7d7d;\n color: #fff;\n line-height: 1.5em;\n font-weight: 600;\n text-align: center;\n margin: 0 .625em; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n.swal2-icon {\n width: 80px;\n height: 80px;\n line-height: 80px;\n border: 4px solid transparent;\n border-radius: 50%;\n margin: 1.25em auto 1.875em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-icon.swal2-error {\n border-color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n position: absolute;\n height: 5px;\n width: 47px;\n background-color: #f27474;\n display: block;\n top: 37px;\n border-radius: 2px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n left: 17px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n right: 16px; }\n .swal2-icon.swal2-warning, .swal2-icon.swal2-info, .swal2-icon.swal2-question {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 3.75em;\n margin: .333333em auto .5em; }\n .swal2-icon.swal2-warning {\n color: #f8bb86;\n border-color: #facea8; }\n .swal2-icon.swal2-info {\n color: #3fc3ee;\n border-color: #9de0f6; }\n .swal2-icon.swal2-question {\n color: #87adbd;\n border-color: #c9dae1; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n border-radius: 50%;\n position: absolute;\n width: 60px;\n height: 120px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n border-radius: 120px 0 0 120px;\n top: -7px;\n left: -33px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 60px 60px;\n transform-origin: 60px 60px; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n border-radius: 0 120px 120px 0;\n top: -11px;\n left: 30px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 0 60px;\n transform-origin: 0 60px; }\n .swal2-icon.swal2-success .swal2-success-ring {\n width: 80px;\n height: 80px;\n border: 4px solid rgba(165, 220, 134, 0.2);\n border-radius: 50%;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n position: absolute;\n left: -4px;\n top: -4px;\n z-index: 2; }\n .swal2-icon.swal2-success .swal2-success-fix {\n width: 7px;\n height: 90px;\n position: absolute;\n left: 26px;\n top: 8px;\n z-index: 1;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n height: 5px;\n background-color: #a5dc86;\n display: block;\n border-radius: 2px;\n position: absolute;\n z-index: 2; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n width: 25px;\n left: 14px;\n top: 46px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n width: 47px;\n right: 8px;\n top: 38px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n\n.swal2-progresssteps {\n font-weight: 600;\n padding: 0;\n margin: 0 0 1.25em;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-progresssteps li {\n display: inline-block;\n position: relative; }\n .swal2-progresssteps .swal2-progresscircle {\n background: #3085d6;\n border-radius: 2em;\n color: #fff;\n height: 2em;\n line-height: 2em;\n text-align: center;\n width: 2em;\n z-index: 20; }\n .swal2-progresssteps .swal2-progresscircle:first-child {\n margin-left: 0; }\n .swal2-progresssteps .swal2-progresscircle:last-child {\n margin-right: 0; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep {\n background: #3085d6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progressline {\n background: #3085d6;\n height: .4em;\n width: 2.5em;\n margin: 0 -1px;\n z-index: 10; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n@-webkit-keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@-webkit-keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n.swal2-show {\n -webkit-animation: showSweetAlert .3s;\n animation: showSweetAlert .3s; }\n .swal2-show.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n.swal2-hide {\n -webkit-animation: hideSweetAlert .15s forwards;\n animation: hideSweetAlert .15s forwards; }\n .swal2-hide.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n[dir='rtl'] .swal2-close {\n left: 8px;\n right: auto; }\n\n@-webkit-keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 2px;\n top: 17px; }\n 70% {\n width: 50px;\n left: -6px;\n top: 35px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 2px;\n top: 17px; }\n 70% {\n width: 50px;\n left: -6px;\n top: 35px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@-webkit-keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@-webkit-keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n@keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n.swal2-animate-success-line-tip {\n -webkit-animation: animate-success-tip .75s;\n animation: animate-success-tip .75s; }\n\n.swal2-animate-success-line-long {\n -webkit-animation: animate-success-long .75s;\n animation: animate-success-long .75s; }\n\n.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right {\n -webkit-animation: rotatePlaceholder 4.25s ease-in;\n animation: rotatePlaceholder 4.25s ease-in; }\n\n@-webkit-keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n.swal2-animate-error-icon {\n -webkit-animation: animate-error-icon .5s;\n animation: animate-error-icon .5s; }\n\n@-webkit-keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n@keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n.swal2-animate-x-mark {\n -webkit-animation: animate-x-mark .5s;\n animation: animate-x-mark .5s; }\n\n@-webkit-keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n"; - -var defaultParams = { - title: '', - titleText: '', - text: '', - html: '', - type: null, - toast: false, - customClass: '', - target: 'body', - backdrop: true, - animation: true, - allowOutsideClick: true, - allowEscapeKey: true, - allowEnterKey: true, - showConfirmButton: true, - showCancelButton: false, - preConfirm: null, - confirmButtonText: 'OK', - confirmButtonAriaLabel: '', - confirmButtonColor: '#3085d6', - confirmButtonClass: null, - cancelButtonText: 'Cancel', - cancelButtonAriaLabel: '', - cancelButtonColor: '#aaa', - cancelButtonClass: null, - buttonsStyling: true, - reverseButtons: false, - focusConfirm: true, - focusCancel: false, - showCloseButton: false, - closeButtonAriaLabel: 'Close this dialog', - showLoaderOnConfirm: false, - imageUrl: null, - imageWidth: null, - imageHeight: null, - imageAlt: '', - imageClass: null, - timer: null, - width: null, - padding: null, - background: '#fff', - input: null, - inputPlaceholder: '', - inputValue: '', - inputOptions: {}, - inputAutoTrim: true, - inputClass: null, - inputAttributes: {}, - inputValidator: null, - grow: false, - position: 'center', - progressSteps: [], - currentProgressStep: null, - progressStepsDistance: null, - onBeforeOpen: null, - onOpen: null, - onClose: null, - useRejections: false, - expectRejections: false -}; - -var deprecatedParams = ['useRejections', 'expectRejections']; - -var swalPrefix = 'swal2-'; - -var prefix = function prefix(items) { - var result = {}; - for (var i in items) { - result[items[i]] = swalPrefix + items[i]; - } - return result; -}; - -var swalClasses = prefix(['container', 'shown', 'iosfix', 'popup', 'modal', 'no-backdrop', 'toast', 'toast-shown', 'overlay', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'header', 'content', 'actions', 'confirm', 'cancel', 'icon', 'image', 'input', 'has-input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea', 'inputerror', 'validationerror', 'progresssteps', 'activeprogressstep', 'progresscircle', 'progressline', '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']); - -var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']); - -var consolePrefix = 'SweetAlert2:'; - -/* - * Set hover, active and focus-states for buttons (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color) - */ -var colorLuminance = function colorLuminance(hex, lum) { - // Validate hex string - hex = String(hex).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - lum = lum || 0; - - // Convert to decimal and change luminosity - var rgb = '#'; - for (var i = 0; i < 3; i++) { - var c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - - return rgb; -}; - -/** - * Filter the unique values into a new array - * @param arr - */ -var uniqueArray = function uniqueArray(arr) { - var result = []; - for (var i in arr) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - return result; -}; - -/** - * Standardise console warnings - * @param message - */ -var warn = function warn(message) { - console.warn(consolePrefix + ' ' + message); -}; - -/** - * Standardise console errors - * @param message - */ -var error = function error(message) { - console.error(consolePrefix + ' ' + message); -}; - -/** - * Private global state for `warnOnce` - * @type {Array} - * @private - */ -var previousWarnOnceMessages = []; - -/** - * Show a console warning, but only if it hasn't already been shown - * @param message - */ -var warnOnce = function warnOnce(message) { - if (!(previousWarnOnceMessages.indexOf(message) !== -1)) { - previousWarnOnceMessages.push(message); - warn(message); - } -}; - -/** - * If `arg` is a function, call it (with no arguments or context) and return the result. - * Otherwise, just pass the value through - * @param arg - */ -var callIfFunction = function callIfFunction(arg) { - return typeof arg === 'function' ? arg() : arg; -}; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; -}; - - - - - - - - - - - - - - - - - - - - - -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -var popupParams = _extends({}, defaultParams); -var queue = []; - -var previousWindowKeyDown = void 0; -var windowOnkeydownOverridden = void 0; - -/* - * Check for the existence of Promise - * Hopefully to avoid many github issues - */ -if (typeof Promise === 'undefined') { - error('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)'); -} - -/** - * Show relevant warnings for given params - * - * @param params - */ -var showWarningsForParams = function showWarningsForParams(params) { - for (var param in params) { - if (!sweetAlert$1.isValidParameter(param)) { - warn('Unknown parameter "' + param + '"'); - } - if (sweetAlert$1.isDeprecatedParameter(param)) { - warnOnce('The parameter "' + param + '" is deprecated and will be removed in the next major release.'); - } - } -}; - -/** - * Set type, text and actions on popup - * - * @param params - * @returns {boolean} - */ -var setParameters = function setParameters(params) { - // If a custom element is set, determine if it is valid - if (typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) { - warn('Target parameter is not valid, defaulting to "body"'); - params.target = 'body'; - } - - var popup = void 0; - var oldPopup = getPopup(); - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - // If the model target has changed, refresh the popup - if (oldPopup && targetElement && oldPopup.parentNode !== targetElement.parentNode) { - popup = init(params); - } else { - popup = oldPopup || init(params); - } - - // Set popup width - if (params.width) { - popup.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width; - } - - // Set popup padding - if (params.padding) { - popup.style.padding = typeof params.padding === 'number' ? params.padding + 'px' : params.padding; - } - - popup.style.background = params.background; - var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.background = params.background; - } - - var container = getContainer(); - var title = getTitle(); - var content = getContent().querySelector('#' + swalClasses.content); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var closeButton = getCloseButton(); - - // Title - if (params.titleText) { - title.innerText = params.titleText; - } else { - title.innerHTML = params.title.split('\n').join('
'); - } - - if (!params.backdrop) { - addClass([document.documentElement, document.body], swalClasses['no-backdrop']); - } - - // Content - if (params.text || params.html) { - if (_typeof(params.html) === 'object') { - content.innerHTML = ''; - if (0 in params.html) { - for (var _i = 0; _i in params.html; _i++) { - content.appendChild(params.html[_i].cloneNode(true)); - } - } else { - content.appendChild(params.html.cloneNode(true)); - } - } else if (params.html) { - content.innerHTML = params.html; - } else if (params.text) { - content.textContent = params.text; - } - show(content); - } else { - hide(content); - } - - // Position - if (params.position in swalClasses) { - addClass(container, swalClasses[params.position]); - } - - // Grow - if (params.grow && typeof params.grow === 'string') { - var growClass = 'grow-' + params.grow; - if (growClass in swalClasses) { - addClass(container, swalClasses[growClass]); - } - } - - // Close button - if (params.showCloseButton) { - closeButton.setAttribute('aria-label', params.closeButtonAriaLabel); - show(closeButton); - } else { - hide(closeButton); - } - - // Default Class - popup.className = swalClasses.popup; - if (params.toast) { - addClass([document.documentElement, document.body], swalClasses['toast-shown']); - addClass(popup, swalClasses.toast); - } else { - addClass(popup, swalClasses.modal); - } - - // Custom Class - if (params.customClass) { - addClass(popup, params.customClass); - } - - // Progress steps - var progressStepsContainer = getProgressSteps(); - var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert$1.getQueueStep() : params.currentProgressStep, 10); - if (params.progressSteps.length) { - show(progressStepsContainer); - empty(progressStepsContainer); - if (currentProgressStep >= params.progressSteps.length) { - warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - params.progressSteps.forEach(function (step, index) { - var circle = document.createElement('li'); - addClass(circle, swalClasses.progresscircle); - circle.innerHTML = step; - if (index === currentProgressStep) { - addClass(circle, swalClasses.activeprogressstep); - } - progressStepsContainer.appendChild(circle); - if (index !== params.progressSteps.length - 1) { - var line = document.createElement('li'); - addClass(line, swalClasses.progressline); - if (params.progressStepsDistance) { - line.style.width = params.progressStepsDistance; - } - progressStepsContainer.appendChild(line); - } - }); - } else { - hide(progressStepsContainer); - } - - // Icon - var icons = getIcons(); - for (var _i2 = 0; _i2 < icons.length; _i2++) { - hide(icons[_i2]); - } - if (params.type) { - var validType = false; - for (var iconType in iconTypes) { - if (params.type === iconType) { - validType = true; - break; - } - } - if (!validType) { - error('Unknown alert type: ' + params.type); - return false; - } - var icon = popup.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]); - show(icon); - - // Animate icon - if (params.animation) { - switch (params.type) { - case 'success': - addClass(icon, 'swal2-animate-success-icon'); - addClass(icon.querySelector('.swal2-success-line-tip'), 'swal2-animate-success-line-tip'); - addClass(icon.querySelector('.swal2-success-line-long'), 'swal2-animate-success-line-long'); - break; - case 'error': - addClass(icon, 'swal2-animate-error-icon'); - addClass(icon.querySelector('.swal2-x-mark'), 'swal2-animate-x-mark'); - break; - default: - break; - } - } - } - - // Custom image - var image = getImage(); - if (params.imageUrl) { - image.setAttribute('src', params.imageUrl); - image.setAttribute('alt', params.imageAlt); - show(image); - - if (params.imageWidth) { - image.setAttribute('width', params.imageWidth); - } else { - image.removeAttribute('width'); - } - - if (params.imageHeight) { - image.setAttribute('height', params.imageHeight); - } else { - image.removeAttribute('height'); - } - - image.className = swalClasses.image; - if (params.imageClass) { - addClass(image, params.imageClass); - } - } else { - hide(image); - } - - // Cancel button - if (params.showCancelButton) { - cancelButton.style.display = 'inline-block'; - } else { - hide(cancelButton); - } - - // Confirm button - if (params.showConfirmButton) { - removeStyleProperty(confirmButton, 'display'); - } else { - hide(confirmButton); - } - - // Actions (buttons) wrapper - if (!params.showConfirmButton && !params.showCancelButton) { - hide(actions); - } else { - show(actions); - } - - // Edit text on confirm and cancel buttons - confirmButton.innerHTML = params.confirmButtonText; - cancelButton.innerHTML = params.cancelButtonText; - - // ARIA labels for confirm and cancel buttons - confirmButton.setAttribute('aria-label', params.confirmButtonAriaLabel); - cancelButton.setAttribute('aria-label', params.cancelButtonAriaLabel); - - // Set buttons to selected background colors - if (params.buttonsStyling) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - - // Add buttons custom classes - confirmButton.className = swalClasses.confirm; - addClass(confirmButton, params.confirmButtonClass); - cancelButton.className = swalClasses.cancel; - addClass(cancelButton, params.cancelButtonClass); - - // Buttons styling - if (params.buttonsStyling) { - addClass([confirmButton, cancelButton], swalClasses.styled); - } else { - removeClass([confirmButton, cancelButton], swalClasses.styled); - - confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = ''; - cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = ''; - } - - // CSS animation - if (params.animation === true) { - removeClass(popup, swalClasses.noanimation); - } else { - addClass(popup, swalClasses.noanimation); - } - - // showLoaderOnConfirm && preConfirm - if (params.showLoaderOnConfirm && !params.preConfirm) { - 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'); - } -}; - -/** - * Animations - * - * @param animation - * @param onBeforeOpen - * @param onComplete - */ -var openPopup = function openPopup(animation, onBeforeOpen, onComplete) { - var container = getContainer(); - var popup = getPopup(); - - if (onBeforeOpen !== null && typeof onBeforeOpen === 'function') { - onBeforeOpen(popup); - } - - if (animation) { - addClass(popup, swalClasses.show); - addClass(container, swalClasses.fade); - removeClass(popup, swalClasses.hide); - } else { - removeClass(popup, swalClasses.fade); - } - show(popup); - - // scrolling is 'hidden' until animation is done, after that 'auto' - container.style.overflowY = 'hidden'; - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - container.style.overflowY = 'auto'; - }); - } else { - container.style.overflowY = 'auto'; - } - - addClass([document.documentElement, document.body, container], swalClasses.shown); - if (isModal()) { - fixScrollbar(); - iOSfix(); - } - states.previousActiveElement = document.activeElement; - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -var fixScrollbar = function fixScrollbar() { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = document.body.style.paddingRight; - document.body.style.paddingRight = measureScrollbar() + 'px'; - } -}; - -var undoScrollbar = function undoScrollbar() { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = states.previousBodyPadding; - states.previousBodyPadding = null; - } -}; - -// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425 -var iOSfix = function iOSfix() { - var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = offset * -1 + 'px'; - addClass(document.body, swalClasses.iosfix); - } -}; - -var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } -}; - -// SweetAlert entry point -var sweetAlert$1 = function sweetAlert() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Prevent run in Node env - if (typeof window === 'undefined') { - return; - } - - if (typeof args[0] === 'undefined') { - error('SweetAlert2 expects at least 1 attribute!'); - return false; - } - - var params = _extends({}, popupParams); - - switch (_typeof(args[0])) { - case 'string': - params.title = args[0]; - params.html = args[1]; - params.type = args[2]; - - break; - - case 'object': - showWarningsForParams(args[0]); - _extends(params, args[0]); - params.extraParams = args[0].extraParams; - - if (params.input === 'email' && params.inputValidator === null) { - var inputValidator = function inputValidator(email) { - return new Promise(function (resolve, reject) { - var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/; - if (emailRegex.test(email)) { - resolve(); - } else { - reject('Invalid email address'); - } - }); - }; - params.inputValidator = params.expectRejections ? inputValidator : sweetAlert.adaptInputValidator(inputValidator); - } - - if (params.input === 'url' && params.inputValidator === null) { - var _inputValidator = function _inputValidator(url) { - return new Promise(function (resolve, reject) { - // taken from https://stackoverflow.com/a/3809435/1331425 - var urlRegex = /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/; - if (urlRegex.test(url)) { - resolve(); - } else { - reject('Invalid URL'); - } - }); - }; - params.inputValidator = params.expectRejections ? _inputValidator : sweetAlert.adaptInputValidator(_inputValidator); - } - break; - - default: - error('Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0])); - return false; - } - - setParameters(params); - - var container = getContainer(); - var popup = getPopup(); - - return new Promise(function (resolve, reject) { - // functions to handle all resolving/rejecting/settling - var succeedWith = function succeedWith(value) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - resolve(value); - } else { - resolve({ value: value }); - } - }; - var dismissWith = function dismissWith(dismiss) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - reject(dismiss); - } else { - resolve({ dismiss: dismiss }); - } - }; - var errorWith = function errorWith(error$$1) { - sweetAlert.closePopup(params.onClose); - reject(error$$1); - }; - - // Close on timer - if (params.timer) { - popup.timeout = setTimeout(function () { - return dismissWith('timer'); - }, params.timer); - } - - // Get input element by specified type or, if type isn't specified, by params.input - var getInput = function getInput(inputType) { - inputType = inputType || params.input; - if (!inputType) { - return null; - } - switch (inputType) { - case 'select': - case 'textarea': - case 'file': - return getChildByClass(content, swalClasses[inputType]); - case 'checkbox': - return popup.querySelector('.' + swalClasses.checkbox + ' input'); - case 'radio': - return popup.querySelector('.' + swalClasses.radio + ' input:checked') || popup.querySelector('.' + swalClasses.radio + ' input:first-child'); - case 'range': - return popup.querySelector('.' + swalClasses.range + ' input'); - default: - return getChildByClass(content, swalClasses.input); - } - }; - - // Get the value of the popup input - var getInputValue = function getInputValue() { - var input = getInput(); - if (!input) { - return null; - } - switch (params.input) { - case 'checkbox': - return input.checked ? 1 : 0; - case 'radio': - return input.checked ? input.value : null; - case 'file': - return input.files.length ? input.files[0] : null; - default: - return params.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - // input autofocus - if (params.input) { - setTimeout(function () { - var input = getInput(); - if (input) { - focusInput(input); - } - }, 0); - } - - var confirm = function confirm(value) { - if (params.showLoaderOnConfirm) { - sweetAlert.showLoading(); - } - - if (params.preConfirm) { - sweetAlert.resetValidationError(); - var preConfirmPromise = Promise.resolve().then(function () { - return params.preConfirm(value, params.extraParams); - }); - if (params.expectRejections) { - preConfirmPromise.then(function (preConfirmValue) { - return succeedWith(preConfirmValue || value); - }, function (validationError) { - sweetAlert.hideLoading(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - preConfirmPromise.then(function (preConfirmValue) { - if (isVisible(getValidationError())) { - sweetAlert.hideLoading(); - } else { - succeedWith(preConfirmValue || value); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - succeedWith(value); - } - }; - - // Mouse interactions - var onButtonEvent = function onButtonEvent(event) { - var e = event || window.event; - var target = e.target || e.srcElement; - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target)); - var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target)); - - switch (e.type) { - case 'mouseover': - case 'mouseup': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1); - } - } - break; - case 'mouseout': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - } else if (targetedCancel) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - } - break; - case 'mousedown': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2); - } - } - break; - case 'click': - // Clicked 'confirm' - if (targetedConfirm && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - if (params.input) { - var inputValue = getInputValue(); - - if (params.inputValidator) { - sweetAlert.disableInput(); - var validationPromise = Promise.resolve().then(function () { - return params.inputValidator(inputValue, params.extraParams); - }); - if (params.expectRejections) { - validationPromise.then(function () { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - confirm(inputValue); - }, function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - validationPromise.then(function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } else { - confirm(inputValue); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - confirm(inputValue); - } - } else { - confirm(true); - } - - // Clicked 'cancel' - } else if (targetedCancel && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - dismissWith('cancel'); - } - break; - default: - } - }; - - var buttons = popup.querySelectorAll('button'); - for (var i = 0; i < buttons.length; i++) { - buttons[i].onclick = onButtonEvent; - buttons[i].onmouseover = onButtonEvent; - buttons[i].onmouseout = onButtonEvent; - buttons[i].onmousedown = onButtonEvent; - } - - // Closing popup by close button - getCloseButton().onclick = function () { - dismissWith('close'); - }; - - if (params.toast) { - // Closing popup by overlay click - popup.onclick = function (e) { - if (e.target !== popup || params.showConfirmButton || params.showCancelButton) { - return; - } - if (params.allowOutsideClick) { - sweetAlert.closePopup(params.onClose); - dismissWith('overlay'); - } - }; - } else { - var ignoreOutsideClick = false; - - // Ignore click events that had mousedown on the popup but mouseup on the container - // This can happen when the user drags a slider - popup.onmousedown = function () { - container.onmouseup = function (e) { - container.onmouseup = undefined; - // We only check if the mouseup target is the container because usually it doesn't - // have any other direct children aside of the popup - if (e.target === container) { - ignoreOutsideClick = true; - } - }; - }; - - // Ignore click events that had mousedown on the container but mouseup on the popup - container.onmousedown = function () { - popup.onmouseup = function (e) { - popup.onmouseup = undefined; - // We also need to check if the mouseup target is a child of the popup - if (e.target === popup || popup.contains(e.target)) { - ignoreOutsideClick = true; - } - }; - }; - - container.onclick = function (e) { - if (ignoreOutsideClick) { - ignoreOutsideClick = false; - return; - } - if (e.target !== container) { - return; - } - if (callIfFunction(params.allowOutsideClick)) { - dismissWith('overlay'); - } - }; - } - - var content = getContent(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - // Reverse buttons (Confirm on the right side) - if (params.reverseButtons) { - confirmButton.parentNode.insertBefore(cancelButton, confirmButton); - } else { - confirmButton.parentNode.insertBefore(confirmButton, cancelButton); - } - - // Focus handling - var setFocus = function setFocus(index, increment) { - var focusableElements = getFocusableElements(params.focusCancel); - // search for visible elements and select the next possible match - for (var _i3 = 0; _i3 < focusableElements.length; _i3++) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - - // determine if element is visible - var el = focusableElements[index]; - if (isVisible(el)) { - return el.focus(); - } - } - }; - - var handleKeyDown = function handleKeyDown(event) { - var e = event || window.event; - - var arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Left', 'Right', 'Up', 'Down' // IE11 - ]; - - if (e.key === 'Enter' && !e.isComposing) { - if (e.target === getInput()) { - if (['textarea', 'file'].indexOf(params.input) !== -1) { - return; // do not submit - } - - sweetAlert.clickConfirm(); - e.preventDefault(); - } - - // TAB - } else if (e.key === 'Tab') { - var targetElement = e.target || e.srcElement; - - var focusableElements = getFocusableElements(params.focusCancel); - var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. - for (var _i4 = 0; _i4 < focusableElements.length; _i4++) { - if (targetElement === focusableElements[_i4]) { - btnIndex = _i4; - break; - } - } - - if (!e.shiftKey) { - // Cycle to the next button - setFocus(btnIndex, 1); - } else { - // Cycle to the prev button - setFocus(btnIndex, -1); - } - e.stopPropagation(); - e.preventDefault(); - - // ARROWS - switch focus between buttons - } else if (arrowKeys.indexOf(e.key) !== -1) { - // focus Cancel button if Confirm button is currently focused - if (document.activeElement === confirmButton && isVisible(cancelButton)) { - cancelButton.focus(); - // and vice versa - } else if (document.activeElement === cancelButton && isVisible(confirmButton)) { - confirmButton.focus(); - } - - // ESC - } else if ((e.key === 'Escape' || e.key === 'Esc') && callIfFunction(params.allowEscapeKey) === true) { - dismissWith('esc'); - } - }; - - if (params.toast && windowOnkeydownOverridden) { - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - if (!params.toast && !windowOnkeydownOverridden) { - previousWindowKeyDown = window.onkeydown; - windowOnkeydownOverridden = true; - window.onkeydown = handleKeyDown; - } - - // Loading state - if (params.buttonsStyling) { - confirmButton.style.borderLeftColor = params.confirmButtonColor; - confirmButton.style.borderRightColor = params.confirmButtonColor; - } - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.hideLoading = sweetAlert.disableLoading = function () { - if (!params.showConfirmButton) { - hide(confirmButton); - if (!params.showCancelButton) { - hide(getActions()); - } - } - removeClass([popup, actions], swalClasses.loading); - popup.removeAttribute('aria-busy'); - popup.removeAttribute('data-loading'); - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.getTitle = function () { - return getTitle(); - }; - sweetAlert.getContent = function () { - return getContent(); - }; - sweetAlert.getInput = function () { - return getInput(); - }; - sweetAlert.getImage = function () { - return getImage(); - }; - sweetAlert.getButtonsWrapper = function () { - return getButtonsWrapper(); - }; - sweetAlert.getActions = function () { - return getActions(); - }; - sweetAlert.getConfirmButton = function () { - return getConfirmButton(); - }; - sweetAlert.getCancelButton = function () { - return getCancelButton(); - }; - sweetAlert.isLoading = function () { - return isLoading(); - }; - - sweetAlert.enableButtons = function () { - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.disableButtons = function () { - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - sweetAlert.enableConfirmButton = function () { - confirmButton.disabled = false; - }; - - sweetAlert.disableConfirmButton = function () { - confirmButton.disabled = true; - }; - - sweetAlert.enableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i5 = 0; _i5 < radios.length; _i5++) { - radios[_i5].disabled = false; - } - } else { - input.disabled = false; - } - }; - - sweetAlert.disableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input && input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i6 = 0; _i6 < radios.length; _i6++) { - radios[_i6].disabled = true; - } - } else { - input.disabled = true; - } - }; - - // Show block with validation error - sweetAlert.showValidationError = function (error$$1) { - var validationError = getValidationError(); - validationError.innerHTML = error$$1; - var popupComputedStyle = window.getComputedStyle(popup); - validationError.style.marginLeft = '-' + popupComputedStyle.getPropertyValue('padding-left'); - validationError.style.marginRight = '-' + popupComputedStyle.getPropertyValue('padding-right'); - show(validationError); - - var input = getInput(); - if (input) { - input.setAttribute('aria-invalid', true); - input.setAttribute('aria-describedBy', swalClasses.validationerror); - focusInput(input); - addClass(input, swalClasses.inputerror); - } - }; - - // Hide block with validation error - sweetAlert.resetValidationError = function () { - var validationError = getValidationError(); - hide(validationError); - - var input = getInput(); - if (input) { - input.removeAttribute('aria-invalid'); - input.removeAttribute('aria-describedBy'); - removeClass(input, swalClasses.inputerror); - } - }; - - sweetAlert.getProgressSteps = function () { - return params.progressSteps; - }; - - sweetAlert.setProgressSteps = function (progressSteps) { - params.progressSteps = progressSteps; - setParameters(params); - }; - - sweetAlert.showProgressSteps = function () { - show(getProgressSteps()); - }; - - sweetAlert.hideProgressSteps = function () { - hide(getProgressSteps()); - }; - - sweetAlert.enableButtons(); - sweetAlert.hideLoading(); - sweetAlert.resetValidationError(); - - if (params.input) { - addClass(document.body, swalClasses['has-input']); - } - - // inputs - var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - var input = void 0; - for (var _i7 = 0; _i7 < inputTypes.length; _i7++) { - var inputClass = swalClasses[inputTypes[_i7]]; - var inputContainer = getChildByClass(content, inputClass); - input = getInput(inputTypes[_i7]); - - // set attributes - if (input) { - for (var j in input.attributes) { - if (input.attributes.hasOwnProperty(j)) { - var attrName = input.attributes[j].name; - if (attrName !== 'type' && attrName !== 'value') { - input.removeAttribute(attrName); - } - } - } - for (var attr in params.inputAttributes) { - input.setAttribute(attr, params.inputAttributes[attr]); - } - } - - // set class - inputContainer.className = inputClass; - if (params.inputClass) { - addClass(inputContainer, params.inputClass); - } - - hide(inputContainer); - } - - var populateInputOptions = void 0; - switch (params.input) { - case 'text': - case 'email': - case 'password': - case 'number': - case 'tel': - case 'url': - input = getChildByClass(content, swalClasses.input); - input.value = params.inputValue; - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'file': - input = getChildByClass(content, swalClasses.file); - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'range': - var range = getChildByClass(content, swalClasses.range); - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - rangeInput.value = params.inputValue; - rangeInput.type = params.input; - rangeOutput.value = params.inputValue; - show(range); - break; - case 'select': - var select = getChildByClass(content, swalClasses.select); - select.innerHTML = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - placeholder.innerHTML = params.inputPlaceholder; - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - populateInputOptions = function populateInputOptions(inputOptions) { - for (var optionValue in inputOptions) { - var option = document.createElement('option'); - option.value = optionValue; - option.innerHTML = inputOptions[optionValue]; - if (params.inputValue.toString() === optionValue) { - option.selected = true; - } - select.appendChild(option); - } - show(select); - select.focus(); - }; - break; - case 'radio': - var radio = getChildByClass(content, swalClasses.radio); - radio.innerHTML = ''; - populateInputOptions = function populateInputOptions(inputOptions) { - for (var radioValue in inputOptions) { - var radioInput = document.createElement('input'); - var radioLabel = document.createElement('label'); - var radioLabelSpan = document.createElement('span'); - radioInput.type = 'radio'; - radioInput.name = swalClasses.radio; - radioInput.value = radioValue; - if (params.inputValue.toString() === radioValue) { - radioInput.checked = true; - } - radioLabelSpan.innerHTML = inputOptions[radioValue]; - radioLabel.appendChild(radioInput); - radioLabel.appendChild(radioLabelSpan); - radioLabel.for = radioInput.id; - radio.appendChild(radioLabel); - } - show(radio); - var radios = radio.querySelectorAll('input'); - if (radios.length) { - radios[0].focus(); - } - }; - break; - case 'checkbox': - var checkbox = getChildByClass(content, swalClasses.checkbox); - var checkboxInput = getInput('checkbox'); - checkboxInput.type = 'checkbox'; - checkboxInput.value = 1; - checkboxInput.id = swalClasses.checkbox; - checkboxInput.checked = Boolean(params.inputValue); - var label = checkbox.getElementsByTagName('span'); - if (label.length) { - checkbox.removeChild(label[0]); - } - label = document.createElement('span'); - label.innerHTML = params.inputPlaceholder; - checkbox.appendChild(label); - show(checkbox); - break; - case 'textarea': - var textarea = getChildByClass(content, swalClasses.textarea); - textarea.value = params.inputValue; - textarea.placeholder = params.inputPlaceholder; - show(textarea); - break; - case null: - break; - default: - error('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"'); - break; - } - - if (params.input === 'select' || params.input === 'radio') { - if (params.inputOptions instanceof Promise) { - sweetAlert.showLoading(); - params.inputOptions.then(function (inputOptions) { - sweetAlert.hideLoading(); - populateInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - populateInputOptions(params.inputOptions); - } else { - error('Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions)); - } - } - - openPopup(params.animation, params.onBeforeOpen, params.onOpen); - - if (!params.toast) { - if (!callIfFunction(params.allowEnterKey)) { - if (document.activeElement) { - document.activeElement.blur(); - } - } else if (params.focusCancel && isVisible(cancelButton)) { - cancelButton.focus(); - } else if (params.focusConfirm && isVisible(confirmButton)) { - confirmButton.focus(); - } else { - setFocus(-1, 1); - } - } - - // fix scroll - getContainer().scrollTop = 0; - }); -}; - -/* - * Global function to determine if swal2 popup is shown - */ -sweetAlert$1.isVisible = function () { - return !!getPopup(); -}; - -/* - * Global function for chaining sweetAlert popups - */ -sweetAlert$1.queue = function (steps) { - queue = steps; - var resetQueue = function resetQueue() { - queue = []; - document.body.removeAttribute('data-swal2-queue-step'); - }; - var queueResult = []; - return new Promise(function (resolve, reject) { - (function step(i, callback) { - if (i < queue.length) { - document.body.setAttribute('data-swal2-queue-step', i); - - sweetAlert$1(queue[i]).then(function (result) { - if (typeof result.value !== 'undefined') { - queueResult.push(result.value); - step(i + 1, callback); - } else { - resetQueue(); - resolve({ dismiss: result.dismiss }); - } - }); - } else { - resetQueue(); - resolve({ value: queueResult }); - } - })(0); - }); -}; - -/* - * Global function for getting the index of current popup in queue - */ -sweetAlert$1.getQueueStep = function () { - return document.body.getAttribute('data-swal2-queue-step'); -}; - -/* - * Global function for inserting a popup to the queue - */ -sweetAlert$1.insertQueueStep = function (step, index) { - if (index && index < queue.length) { - return queue.splice(index, 0, step); - } - return queue.push(step); -}; - -/* - * Global function for deleting a popup from the queue - */ -sweetAlert$1.deleteQueueStep = function (index) { - if (typeof queue[index] !== 'undefined') { - queue.splice(index, 1); - } -}; - -/* - * Global function to close sweetAlert - */ -sweetAlert$1.close = sweetAlert$1.closePopup = sweetAlert$1.closeModal = sweetAlert$1.closeToast = function (onComplete) { - var container = getContainer(); - var popup = getPopup(); - if (!popup) { - return; - } - removeClass(popup, swalClasses.show); - addClass(popup, swalClasses.hide); - clearTimeout(popup.timeout); - - if (!isToast()) { - resetPrevState(); - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - var removePopupAndResetState = function removePopupAndResetState() { - if (container.parentNode) { - container.parentNode.removeChild(container); - } - removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - - if (isModal()) { - undoScrollbar(); - undoIOSfix(); - } - }; - - // If animation is supported, animate - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - if (hasClass(popup, swalClasses.hide)) { - removePopupAndResetState(); - } - }); - } else { - // Otherwise, remove immediately - removePopupAndResetState(); - } - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -/* - * Global function to click 'Confirm' button - */ -sweetAlert$1.clickConfirm = function () { - return getConfirmButton().click(); -}; - -/* - * Global function to click 'Cancel' button - */ -sweetAlert$1.clickCancel = function () { - return getCancelButton().click(); -}; - -/** - * Show spinner instead of Confirm button and disable Cancel button - */ -sweetAlert$1.showLoading = sweetAlert$1.enableLoading = function () { - var popup = getPopup(); - if (!popup) { - sweetAlert$1(''); - } - popup = getPopup(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - show(actions); - show(confirmButton, 'inline-block'); - addClass([popup, actions], swalClasses.loading); - confirmButton.disabled = true; - cancelButton.disabled = true; - - popup.setAttribute('data-loading', true); - popup.setAttribute('aria-busy', true); - popup.focus(); -}; - -/** - * Is valid parameter - * @param {String} paramName - */ -sweetAlert$1.isValidParameter = function (paramName) { - return defaultParams.hasOwnProperty(paramName) || paramName === 'extraParams'; -}; - -/** - * Is deprecated parameter - * @param {String} paramName - */ -sweetAlert$1.isDeprecatedParameter = function (paramName) { - return deprecatedParams.indexOf(paramName) !== -1; -}; - -/** - * Set default params for each popup - * @param {Object} userParams - */ -sweetAlert$1.setDefaults = function (userParams) { - if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') { - return error('the argument for setDefaults() is required and has to be a object'); - } - - showWarningsForParams(userParams); - - // assign valid params from userParams to popupParams - for (var param in userParams) { - if (sweetAlert$1.isValidParameter(param)) { - popupParams[param] = userParams[param]; - } - } -}; - -/** - * Reset default params for each popup - */ -sweetAlert$1.resetDefaults = function () { - popupParams = _extends({}, defaultParams); -}; - -/** - * Adapt a legacy inputValidator for use with expectRejections=false - */ -sweetAlert$1.adaptInputValidator = function (legacyValidator) { - return function adaptedInputValidator(inputValue, extraParams) { - return legacyValidator.call(this, inputValue, extraParams).then(function () { - return undefined; - }, function (validationError) { - return validationError; - }); - }; -}; - -sweetAlert$1.noop = function () {}; - -sweetAlert$1.version = '7.6.2'; - -sweetAlert$1.default = sweetAlert$1; - -/** - * Set default params if `window._swalDefaults` is an object - */ -if (typeof window !== 'undefined' && _typeof(window._swalDefaults) === 'object') { - sweetAlert$1.setDefaults(window._swalDefaults); -} - -// Remember state in cases where opening and handling a modal will fiddle with it. -var states = { - previousActiveElement: null, - previousBodyPadding: null - - // Detect Node env -};var isNodeEnv = function isNodeEnv() { - return typeof window === 'undefined' || typeof document === 'undefined'; -}; - -/* - * Add modal + overlay to DOM - */ -var init = function init(params) { - // Clean up the old popup if it exists - var c = getContainer(); - if (c) { - c.parentNode.removeChild(c); - removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - } - - if (isNodeEnv()) { - error('SweetAlert2 requires document to initialize'); - return; - } - - var container = document.createElement('div'); - container.className = swalClasses.container; - container.innerHTML = sweetHTML; - - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - targetElement.appendChild(container); - - var popup = getPopup(); - var content = getContent(); - var input = getChildByClass(content, swalClasses.input); - var file = getChildByClass(content, swalClasses.file); - var range = content.querySelector('.' + swalClasses.range + ' input'); - var rangeOutput = content.querySelector('.' + swalClasses.range + ' output'); - var select = getChildByClass(content, swalClasses.select); - var checkbox = content.querySelector('.' + swalClasses.checkbox + ' input'); - var textarea = getChildByClass(content, swalClasses.textarea); - - // a11y - popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive'); - - var resetValidationError = function resetValidationError() { - sweetAlert$1.isVisible() && sweetAlert$1.resetValidationError(); - }; - - input.oninput = resetValidationError; - file.onchange = resetValidationError; - select.onchange = resetValidationError; - checkbox.onchange = resetValidationError; - textarea.oninput = resetValidationError; - - range.oninput = function () { - resetValidationError(); - rangeOutput.value = range.value; - }; - - range.onchange = function () { - resetValidationError(); - range.previousSibling.value = range.value; - }; - - return popup; -}; - -/* - * Manipulate DOM - */ - -var sweetHTML = ('\n \n').replace(/(^|\n)\s*/g, ''); - -var getContainer = function getContainer() { - return document.body.querySelector('.' + swalClasses.container); -}; - -var getPopup = function getPopup() { - return getContainer() ? getContainer().querySelector('.' + swalClasses.popup) : null; -}; - -var getIcons = function getIcons() { - var popup = getPopup(); - return popup.querySelectorAll('.' + swalClasses.icon); -}; - -var elementByClass = function elementByClass(className) { - return getContainer() ? getContainer().querySelector('.' + className) : null; -}; - -var getTitle = function getTitle() { - return elementByClass(swalClasses.title); -}; - -var getContent = function getContent() { - return elementByClass(swalClasses.content); -}; - -var getImage = function getImage() { - return elementByClass(swalClasses.image); -}; - -var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses.progresssteps); -}; - -var getValidationError = function getValidationError() { - return elementByClass(swalClasses.validationerror); -}; - -var getConfirmButton = function getConfirmButton() { - return elementByClass(swalClasses.confirm); -}; - -var getCancelButton = function getCancelButton() { - return elementByClass(swalClasses.cancel); -}; - -var getButtonsWrapper = function getButtonsWrapper() { - warnOnce('swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead'); - return elementByClass(swalClasses.actions); -}; - -var getActions = function getActions() { - return elementByClass(swalClasses.actions); -}; - -var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); -}; - -var getFocusableElements = function getFocusableElements() { - var focusableElementsWithTabindex = Array.prototype.slice.call(getPopup().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')) - // sort according to tabindex - .sort(function (a, b) { - a = parseInt(a.getAttribute('tabindex')); - b = parseInt(b.getAttribute('tabindex')); - if (a > b) { - return 1; - } else if (a < b) { - return -1; - } - return 0; - }); - - var otherFocusableElements = Array.prototype.slice.call(getPopup().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, [tabindex="0"]')); - - return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)); -}; - -var isModal = function isModal() { - return !document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isToast = function isToast() { - return document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isLoading = function isLoading() { - return getPopup().hasAttribute('data-loading'); -}; - -var hasClass = function hasClass(elem, className) { - if (elem.classList) { - return elem.classList.contains(className); - } - return false; -}; - -var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915/1331425 - var val = input.value; - input.value = ''; - input.value = val; - } -}; - -var addOrRemoveClass = function addOrRemoveClass(target, classList, add) { - if (!target || !classList) { - return; - } - if (typeof classList === 'string') { - classList = classList.split(/\s+/).filter(Boolean); - } - classList.forEach(function (className) { - if (target.forEach) { - target.forEach(function (elem) { - add ? elem.classList.add(className) : elem.classList.remove(className); - }); - } else { - add ? target.classList.add(className) : target.classList.remove(className); - } - }); -}; - -var addClass = function addClass(target, classList) { - addOrRemoveClass(target, classList, true); -}; - -var removeClass = function removeClass(target, classList) { - addOrRemoveClass(target, classList, false); -}; - -var getChildByClass = function getChildByClass(elem, className) { - for (var i = 0; i < elem.childNodes.length; i++) { - if (hasClass(elem.childNodes[i], className)) { - return elem.childNodes[i]; - } - } -}; - -var show = function show(elem, display) { - if (!display) { - display = elem.id === swalClasses.content ? 'block' : 'flex'; - } - elem.style.opacity = ''; - elem.style.display = display; -}; - -var hide = function hide(elem) { - elem.style.opacity = ''; - elem.style.display = 'none'; -}; - -var empty = function empty(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } -}; - -// borrowed from jquery $(elem).is(':visible') implementation -var isVisible = function isVisible(elem) { - return elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); -}; - -var removeStyleProperty = function removeStyleProperty(elem, property) { - if (elem.style.removeProperty) { - elem.style.removeProperty(property); - } else { - elem.style.removeAttribute(property); - } -}; - -var animationEndEvent = function () { - // Prevent run in Node env - if (isNodeEnv()) { - return false; - } - - var testEl = document.createElement('div'); - var transEndEventNames = { - 'WebkitAnimation': 'webkitAnimationEnd', - 'OAnimation': 'oAnimationEnd oanimationend', - 'animation': 'animationend' - }; - for (var i in transEndEventNames) { - if (transEndEventNames.hasOwnProperty(i) && typeof testEl.style[i] !== 'undefined') { - return transEndEventNames[i]; - } - } - - return false; -}(); - -// Reset previous window keydown handler and focued element -var resetPrevState = function resetPrevState() { - if (states.previousActiveElement && states.previousActiveElement.focus) { - var x = window.scrollX; - var y = window.scrollY; - states.previousActiveElement.focus(); - if (typeof x !== 'undefined' && typeof y !== 'undefined') { - // IE doesn't have scrollX/scrollY support - window.scrollTo(x, y); - } - } -}; - -// Measure width of scrollbar -// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286 -var measureScrollbar = function measureScrollbar() { - var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; - if (supportsTouch) { - return 0; - } - var scrollDiv = document.createElement('div'); - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; -}; - -/** - * Inject a string of CSS into the page header - * - * @param {String} css - */ -var injectCSS = function injectCSS() { - var css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - - // Prevent run in Node env - if (isNodeEnv()) { - return false; - } - - var head = document.head || document.getElementsByTagName('head')[0]; - var style = document.createElement('style'); - style.type = 'text/css'; - head.appendChild(style); - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } -}; - -injectCSS(styles); - -return sweetAlert$1; - -}))); -if (typeof window !== 'undefined' && window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2; diff --git a/dist/sweetalert2.all.min.js b/dist/sweetalert2.all.min.js deleted file mode 100644 index e7b1af81e..000000000 --- a/dist/sweetalert2.all.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.Sweetalert2=t()}(this,function(){"use strict";var n={title:"",titleText:"",text:"",html:"",type:null,toast:!1,customClass:"",target:"body",backdrop:!0,animation:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,showConfirmButton:!0,showCancelButton:!1,preConfirm:null,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:"#3085d6",confirmButtonClass:null,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:"#aaa",cancelButtonClass:null,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:null,imageWidth:null,imageHeight:null,imageAlt:"",imageClass:null,timer:null,width:null,padding:null,background:"#fff",input:null,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputClass:null,inputAttributes:{},inputValidator:null,grow:!1,position:"center",progressSteps:[],currentProgressStep:null,progressStepsDistance:null,onBeforeOpen:null,onOpen:null,onClose:null,useRejections:!1,expectRejections:!1},t=["useRejections","expectRejections"],e=function(n){var t={};for(var e in n)t[n[e]]="swal2-"+n[e];return t},o=e(["container","shown","iosfix","popup","modal","no-backdrop","toast","toast-shown","overlay","fade","show","hide","noanimation","close","title","header","content","actions","confirm","cancel","icon","image","input","has-input","file","range","select","radio","checkbox","textarea","inputerror","validationerror","progresssteps","activeprogressstep","progresscircle","progressline","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"]),a=e(["success","warning","info","question","error"]),s="SweetAlert2:",r=function(n,t){(n=String(n).replace(/[^0-9a-f]/gi,"")).length<6&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]),t=t||0;for(var e="#",o=0;o<3;o++){var a=parseInt(n.substr(2*o,2),16);e+=("00"+(a=Math.round(Math.min(Math.max(0,a+a*t),255)).toString(16))).substr(a.length)}return e},i=function(n){console.warn(s+" "+n)},l=function(n){console.error(s+" "+n)},c=[],p=function(n){-1===c.indexOf(n)&&(c.push(n),i(n))},w=function(n){return"function"==typeof n?n():n},u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},d=Object.assign||function(n){for(var t=1;t"),n.backdrop||K([document.documentElement,document.body],o["no-backdrop"]),n.text||n.html){if("object"===u(n.html))if(d.innerHTML="",0 in n.html)for(var h=0;h in n.html;h++)d.appendChild(n.html[h].cloneNode(!0));else d.appendChild(n.html.cloneNode(!0));else n.html?d.innerHTML=n.html:n.text&&(d.textContent=n.text);J(d)}else F(d);if(n.position in o&&K(p,o[n.position]),n.grow&&"string"==typeof n.grow){var x="grow-"+n.grow;x in o&&K(p,o[x])}n.showCloseButton?(g.setAttribute("aria-label",n.closeButtonAriaLabel),J(g)):F(g),t.className=o.popup,n.toast?(K([document.documentElement,document.body],o["toast-shown"]),K(t,o.toast)):K(t,o.modal),n.customClass&&K(t,n.customClass);var k=V(),y=parseInt(null===n.currentProgressStep?v.getQueueStep():n.currentProgressStep,10);n.progressSteps.length?(J(k),G(k),y>=n.progressSteps.length&&i("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),n.progressSteps.forEach(function(t,e){var a=document.createElement("li");if(K(a,o.progresscircle),a.innerHTML=t,e===y&&K(a,o.activeprogressstep),k.appendChild(a),e!==n.progressSteps.length-1){var s=document.createElement("li");K(s,o.progressline),n.progressStepsDistance&&(s.style.width=n.progressStepsDistance),k.appendChild(s)}})):F(k);for(var C=L(),S=0;Swindow.innerHeight&&(C.previousBodyPadding=document.body.style.paddingRight,document.body.style.paddingRight=an()+"px")},y=function(){if(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream&&!$(document.body,o.iosfix)){var n=document.body.scrollTop;document.body.style.top=-1*n+"px",K(document.body,o.iosfix)}},v=function n(){for(var t=arguments.length,e=Array(t),a=0;a\n
\n
    \n
    \n \n
    \n
    ?
    \n
    !
    \n
    i
    \n
    \n
    \n \n
    \n
    \n
    \n \n

    \n \n
    \n
    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n
    \n \n').replace(/(^|\n)\s*/g,""),P=function(){return document.body.querySelector("."+o.container)},E=function(){return P()?P().querySelector("."+o.popup):null},L=function(){return E().querySelectorAll("."+o.icon)},T=function(n){return P()?P().querySelector("."+n):null},z=function(){return T(o.title)},j=function(){return T(o.content)},q=function(){return T(o.image)},V=function(){return T(o.progresssteps)},O=function(){return T(o.validationerror)},Y=function(){return T(o.confirm)},N=function(){return T(o.cancel)},Z=function(){return p("swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead"),T(o.actions)},H=function(){return T(o.actions)},M=function(){return T(o.close)},R=function(){var n=Array.prototype.slice.call(E().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(n,t){return(n=parseInt(n.getAttribute("tabindex")))>(t=parseInt(t.getAttribute("tabindex")))?1:n0&&void 0!==arguments[0]?arguments[0]:"";if(S())return!1;var t=document.head||document.getElementsByTagName("head")[0],e=document.createElement("style");e.type="text/css",t.appendChild(e),e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n))}("body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-actions {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: stretch;\n align-self: stretch;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end;\n height: 2.2em; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-loading {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-input {\n height: 2em;\n font-size: 1em;\n margin: .3125em auto; }\n body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-validationerror {\n font-size: 1em; }\n\nbody.swal2-toast-shown > .swal2-container {\n position: fixed;\n background-color: transparent; }\n body.swal2-toast-shown > .swal2-container.swal2-shown {\n background-color: transparent; }\n body.swal2-toast-shown > .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n bottom: auto;\n right: auto;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-top-end, body.swal2-toast-shown > .swal2-container.swal2-top-right {\n top: 0;\n left: auto;\n bottom: auto;\n right: 0; }\n body.swal2-toast-shown > .swal2-container.swal2-top-start, body.swal2-toast-shown > .swal2-container.swal2-top-left {\n top: 0;\n left: 0;\n bottom: auto;\n right: auto; }\n body.swal2-toast-shown > .swal2-container.swal2-center-start, body.swal2-toast-shown > .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n bottom: auto;\n right: auto;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n bottom: auto;\n right: auto;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown > .swal2-container.swal2-center-end, body.swal2-toast-shown > .swal2-container.swal2-center-right {\n top: 50%;\n left: auto;\n bottom: auto;\n right: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-bottom-start, body.swal2-toast-shown > .swal2-container.swal2-bottom-left {\n top: auto;\n left: 0;\n bottom: 0;\n right: auto; }\n body.swal2-toast-shown > .swal2-container.swal2-bottom {\n top: auto;\n left: 50%;\n bottom: 0;\n right: auto;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-toast-shown > .swal2-container.swal2-bottom-end, body.swal2-toast-shown > .swal2-container.swal2-bottom-right {\n top: auto;\n left: auto;\n bottom: 0;\n right: 0; }\n\n.swal2-popup.swal2-toast {\n width: auto;\n padding: 0.625em;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n overflow-y: hidden;\n -webkit-box-shadow: 0 0 10px #d9d9d9;\n box-shadow: 0 0 10px #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row; }\n .swal2-popup.swal2-toast .swal2-title {\n font-size: 1em;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n margin: 0 .6em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: initial; }\n .swal2-popup.swal2-toast .swal2-content {\n font-size: 0.875em;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 32px;\n min-width: 32px;\n height: 32px;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 32px;\n height: 32px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-info, .swal2-popup.swal2-toast .swal2-icon.swal2-warning, .swal2-popup.swal2-toast .swal2-icon.swal2-question {\n font-size: 26px;\n line-height: 32px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: 14px;\n width: 22px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 5px; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 5px; }\n .swal2-popup.swal2-toast .swal2-actions {\n margin: 0 .3125em;\n height: auto; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: 0 .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4);\n box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n border-radius: 50%;\n position: absolute;\n width: 32px;\n height: 45px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n border-radius: 64px 0 0 64px;\n top: -4px;\n left: -15px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 32px 32px;\n transform-origin: 32px 32px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n border-radius: 0 64px 64px 0;\n top: -5px;\n left: 14px;\n -webkit-transform-origin: 0 32px;\n transform-origin: 0 32px; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 32px;\n height: 32px; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n width: 7px;\n height: 43px;\n left: 7px;\n top: 0; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: 5px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n width: 12px;\n left: 3px;\n top: 18px; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n width: 22px;\n right: 3px;\n top: 15px; }\n .swal2-popup.swal2-toast.swal2-show {\n -webkit-animation: showSweetToast .5s;\n animation: showSweetToast .5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n -webkit-animation: hideSweetToast .2s forwards;\n animation: hideSweetToast .2s forwards; }\n .swal2-popup.swal2-toast .swal2-animate-success-line-tip {\n -webkit-animation: animate-toast-success-tip .75s;\n animation: animate-toast-success-tip .75s; }\n .swal2-popup.swal2-toast .swal2-animate-success-line-long {\n -webkit-animation: animate-toast-success-long .75s;\n animation: animate-toast-success-long .75s; }\n\n@-webkit-keyframes showSweetToast {\n 0% {\n -webkit-transform: translateY(-10px) rotateZ(2deg);\n transform: translateY(-10px) rotateZ(2deg);\n opacity: 0; }\n 33% {\n -webkit-transform: translateY(0) rotateZ(-2deg);\n transform: translateY(0) rotateZ(-2deg);\n opacity: .5; }\n 66% {\n -webkit-transform: translateY(5px) rotateZ(2deg);\n transform: translateY(5px) rotateZ(2deg);\n opacity: .7; }\n 100% {\n -webkit-transform: translateY(0) rotateZ(0);\n transform: translateY(0) rotateZ(0);\n opacity: 1; } }\n\n@keyframes showSweetToast {\n 0% {\n -webkit-transform: translateY(-10px) rotateZ(2deg);\n transform: translateY(-10px) rotateZ(2deg);\n opacity: 0; }\n 33% {\n -webkit-transform: translateY(0) rotateZ(-2deg);\n transform: translateY(0) rotateZ(-2deg);\n opacity: .5; }\n 66% {\n -webkit-transform: translateY(5px) rotateZ(2deg);\n transform: translateY(5px) rotateZ(2deg);\n opacity: .7; }\n 100% {\n -webkit-transform: translateY(0) rotateZ(0);\n transform: translateY(0) rotateZ(0);\n opacity: 1; } }\n\n@-webkit-keyframes hideSweetToast {\n 0% {\n opacity: 1; }\n 33% {\n opacity: .5; }\n 100% {\n -webkit-transform: rotateZ(1deg);\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes hideSweetToast {\n 0% {\n opacity: 1; }\n 33% {\n opacity: .5; }\n 100% {\n -webkit-transform: rotateZ(1deg);\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@-webkit-keyframes animate-toast-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 9px; }\n 54% {\n width: 0;\n left: 2px;\n top: 2px; }\n 70% {\n width: 26px;\n left: -4px;\n top: 10px; }\n 84% {\n width: 8px;\n left: 12px;\n top: 17px; }\n 100% {\n width: 12px;\n left: 3px;\n top: 18px; } }\n\n@keyframes animate-toast-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 9px; }\n 54% {\n width: 0;\n left: 2px;\n top: 2px; }\n 70% {\n width: 26px;\n left: -4px;\n top: 10px; }\n 84% {\n width: 8px;\n left: 12px;\n top: 17px; }\n 100% {\n width: 12px;\n left: 3px;\n top: 18px; } }\n\n@-webkit-keyframes animate-toast-success-long {\n 0% {\n width: 0;\n right: 22px;\n top: 26px; }\n 65% {\n width: 0;\n right: 15px;\n top: 20px; }\n 84% {\n width: 18px;\n right: 0;\n top: 15px; }\n 100% {\n width: 22px;\n right: 3px;\n top: 15px; } }\n\n@keyframes animate-toast-success-long {\n 0% {\n width: 0;\n right: 22px;\n top: 26px; }\n 65% {\n width: 0;\n right: 15px;\n top: 20px; }\n 84% {\n width: 18px;\n right: 0;\n top: 15px; }\n 100% {\n width: 22px;\n right: 3px;\n top: 15px; } }\n\nhtml.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: hidden;\n height: auto; }\n\nbody.swal2-iosfix {\n position: fixed;\n left: 0;\n right: 0; }\n\nbody.swal2-no-backdrop .swal2-shown {\n top: auto;\n bottom: auto;\n left: auto;\n right: auto;\n background-color: transparent; }\n body.swal2-no-backdrop .swal2-shown > .swal2-modal {\n -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-shown.swal2-top {\n top: 0;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-top-start, body.swal2-no-backdrop .swal2-shown.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-top-end, body.swal2-no-backdrop .swal2-shown.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-center {\n top: 50%;\n left: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-center-start, body.swal2-no-backdrop .swal2-shown.swal2-center-left {\n top: 50%;\n left: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-center-end, body.swal2-no-backdrop .swal2-shown.swal2-center-right {\n top: 50%;\n right: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom {\n bottom: 0;\n left: 50%;\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom-start, body.swal2-no-backdrop .swal2-shown.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .swal2-shown.swal2-bottom-right {\n bottom: 0;\n right: 0; }\n\n.swal2-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: fixed;\n padding: 10px;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: transparent;\n z-index: 1060; }\n .swal2-container.swal2-top {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: stretch;\n align-self: stretch;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n .swal2-container.swal2-fade {\n -webkit-transition: background-color .1s;\n transition: background-color .1s; }\n .swal2-container.swal2-shown {\n background-color: rgba(0, 0, 0, 0.4); }\n\n.swal2-popup {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n background-color: #fff;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 1rem;\n padding: 1.25em;\n border-radius: .3125em;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n overflow-x: hidden;\n overflow-y: auto;\n display: none;\n position: relative;\n width: 32em;\n max-width: 100%; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n .swal2-popup .swal2-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-popup .swal2-title {\n color: #595959;\n font-size: 1.875em;\n text-align: center;\n font-weight: 600;\n text-transform: none;\n position: relative;\n margin: 0 0 .4em;\n padding: 0;\n display: block;\n word-wrap: break-word; }\n .swal2-popup .swal2-actions {\n height: 4em;\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4;\n cursor: no-drop; }\n .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border: .25em solid transparent;\n border-color: transparent;\n width: 2.5em;\n height: 2.5em;\n padding: 0;\n margin: .46875em;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n border-radius: 100%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {\n margin-left: 30px;\n margin-right: 30px; }\n .swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n display: inline-block;\n content: '';\n margin-left: 5px;\n height: 15px;\n width: 15px;\n border: 3px solid #999999;\n -webkit-box-shadow: 1px 1px 1px #fff;\n box-shadow: 1px 1px 1px #fff;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal; }\n .swal2-popup .swal2-styled {\n border: 0;\n border-radius: .25em;\n -webkit-box-shadow: none;\n box-shadow: none;\n color: #fff;\n cursor: pointer;\n font-size: 1.0625em;\n font-weight: 500;\n margin: 0 .3125em;\n padding: .625em 2em; }\n .swal2-popup .swal2-styled:focus {\n outline: none;\n -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4);\n box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); }\n .swal2-popup .swal2-styled::-moz-focus-inner {\n border: 0; }\n .swal2-popup .swal2-image {\n margin: 1.25em auto;\n max-width: 100%; }\n .swal2-popup .swal2-close {\n background: transparent;\n border: 0;\n margin: 0;\n padding: 0;\n width: 1.2em;\n min-width: 1.2em;\n height: 1.2em;\n font-size: calc(2.5em - 0.25em);\n line-height: 1.2em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n font-family: serif;\n position: absolute;\n top: 5px;\n right: 8px;\n cursor: pointer;\n color: #cccccc;\n -webkit-transition: color .1s ease;\n transition: color .1s ease; }\n .swal2-popup .swal2-close:hover {\n color: #d55; }\n .swal2-popup > .swal2-input,\n .swal2-popup > .swal2-file,\n .swal2-popup > .swal2-textarea,\n .swal2-popup > .swal2-select,\n .swal2-popup > .swal2-radio,\n .swal2-popup > .swal2-checkbox {\n display: none; }\n .swal2-popup .swal2-content {\n font-size: 1.125em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n font-weight: 300;\n margin: 0;\n padding: 0;\n line-height: normal;\n color: #545454;\n word-wrap: break-word; }\n .swal2-popup #swal2-content {\n text-align: center; }\n .swal2-popup .swal2-input,\n .swal2-popup .swal2-file,\n .swal2-popup .swal2-textarea,\n .swal2-popup .swal2-select,\n .swal2-popup .swal2-radio,\n .swal2-popup .swal2-checkbox {\n margin: 1em auto; }\n .swal2-popup .swal2-input,\n .swal2-popup .swal2-file,\n .swal2-popup .swal2-textarea {\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 1.125em;\n border-radius: 3px;\n border: 1px solid #d9d9d9;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n -webkit-transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, box-shadow .3s;\n transition: border-color .3s, box-shadow .3s, -webkit-box-shadow .3s; }\n .swal2-popup .swal2-input.swal2-inputerror,\n .swal2-popup .swal2-file.swal2-inputerror,\n .swal2-popup .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n -webkit-box-shadow: 0 0 2px #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-popup .swal2-input:focus,\n .swal2-popup .swal2-file:focus,\n .swal2-popup .swal2-textarea:focus {\n outline: none;\n border: 1px solid #b4dbed;\n -webkit-box-shadow: 0 0 3px #c4e6f5;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-popup .swal2-input::-webkit-input-placeholder,\n .swal2-popup .swal2-file::-webkit-input-placeholder,\n .swal2-popup .swal2-textarea::-webkit-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input:-ms-input-placeholder,\n .swal2-popup .swal2-file:-ms-input-placeholder,\n .swal2-popup .swal2-textarea:-ms-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input::-ms-input-placeholder,\n .swal2-popup .swal2-file::-ms-input-placeholder,\n .swal2-popup .swal2-textarea::-ms-input-placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-input::placeholder,\n .swal2-popup .swal2-file::placeholder,\n .swal2-popup .swal2-textarea::placeholder {\n color: #cccccc; }\n .swal2-popup .swal2-range input {\n width: 80%; }\n .swal2-popup .swal2-range output {\n width: 20%;\n font-weight: 600;\n text-align: center; }\n .swal2-popup .swal2-range input,\n .swal2-popup .swal2-range output {\n font-size: 1.125em;\n height: 2.625em;\n line-height: 2.625em;\n margin: 1em auto;\n padding: 0; }\n .swal2-popup .swal2-input {\n height: 2.625em;\n padding: 0 .75em; }\n .swal2-popup .swal2-input[type='number'] {\n max-width: 10em; }\n .swal2-popup .swal2-file {\n font-size: 1.125em; }\n .swal2-popup .swal2-textarea {\n height: 6.75em;\n padding: .75em; }\n .swal2-popup .swal2-select {\n color: #545454;\n font-size: 1.125em;\n padding: .375em .625em;\n min-width: 50%;\n max-width: 100%; }\n .swal2-popup .swal2-radio,\n .swal2-popup .swal2-checkbox {\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-popup .swal2-radio label,\n .swal2-popup .swal2-checkbox label {\n font-size: 1.125em;\n margin: 0 .6em; }\n .swal2-popup .swal2-radio input,\n .swal2-popup .swal2-checkbox input {\n margin: 0 .4em; }\n .swal2-popup .swal2-validationerror {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n background-color: #f0f0f0;\n overflow: hidden;\n padding: .625em;\n color: gray;\n font-size: 1em;\n font-weight: 300;\n display: none; }\n .swal2-popup .swal2-validationerror::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n border-radius: 50%;\n background-color: #ea7d7d;\n color: #fff;\n line-height: 1.5em;\n font-weight: 600;\n text-align: center;\n margin: 0 .625em; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n.swal2-icon {\n width: 80px;\n height: 80px;\n line-height: 80px;\n border: 4px solid transparent;\n border-radius: 50%;\n margin: 1.25em auto 1.875em;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-icon.swal2-error {\n border-color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n position: absolute;\n height: 5px;\n width: 47px;\n background-color: #f27474;\n display: block;\n top: 37px;\n border-radius: 2px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n left: 17px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n right: 16px; }\n .swal2-icon.swal2-warning, .swal2-icon.swal2-info, .swal2-icon.swal2-question {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 3.75em;\n margin: .333333em auto .5em; }\n .swal2-icon.swal2-warning {\n color: #f8bb86;\n border-color: #facea8; }\n .swal2-icon.swal2-info {\n color: #3fc3ee;\n border-color: #9de0f6; }\n .swal2-icon.swal2-question {\n color: #87adbd;\n border-color: #c9dae1; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n border-radius: 50%;\n position: absolute;\n width: 60px;\n height: 120px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n border-radius: 120px 0 0 120px;\n top: -7px;\n left: -33px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 60px 60px;\n transform-origin: 60px 60px; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n border-radius: 0 120px 120px 0;\n top: -11px;\n left: 30px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 0 60px;\n transform-origin: 0 60px; }\n .swal2-icon.swal2-success .swal2-success-ring {\n width: 80px;\n height: 80px;\n border: 4px solid rgba(165, 220, 134, 0.2);\n border-radius: 50%;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n position: absolute;\n left: -4px;\n top: -4px;\n z-index: 2; }\n .swal2-icon.swal2-success .swal2-success-fix {\n width: 7px;\n height: 90px;\n position: absolute;\n left: 26px;\n top: 8px;\n z-index: 1;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n height: 5px;\n background-color: #a5dc86;\n display: block;\n border-radius: 2px;\n position: absolute;\n z-index: 2; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n width: 25px;\n left: 14px;\n top: 46px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n width: 47px;\n right: 8px;\n top: 38px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n\n.swal2-progresssteps {\n font-weight: 600;\n padding: 0;\n margin: 0 0 1.25em;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-progresssteps li {\n display: inline-block;\n position: relative; }\n .swal2-progresssteps .swal2-progresscircle {\n background: #3085d6;\n border-radius: 2em;\n color: #fff;\n height: 2em;\n line-height: 2em;\n text-align: center;\n width: 2em;\n z-index: 20; }\n .swal2-progresssteps .swal2-progresscircle:first-child {\n margin-left: 0; }\n .swal2-progresssteps .swal2-progresscircle:last-child {\n margin-right: 0; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep {\n background: #3085d6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progressline {\n background: #3085d6;\n height: .4em;\n width: 2.5em;\n margin: 0 -1px;\n z-index: 10; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n@-webkit-keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@-webkit-keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n.swal2-show {\n -webkit-animation: showSweetAlert .3s;\n animation: showSweetAlert .3s; }\n .swal2-show.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n.swal2-hide {\n -webkit-animation: hideSweetAlert .15s forwards;\n animation: hideSweetAlert .15s forwards; }\n .swal2-hide.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n[dir='rtl'] .swal2-close {\n left: 8px;\n right: auto; }\n\n@-webkit-keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 2px;\n top: 17px; }\n 70% {\n width: 50px;\n left: -6px;\n top: 35px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 2px;\n top: 17px; }\n 70% {\n width: 50px;\n left: -6px;\n top: 35px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@-webkit-keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@-webkit-keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n@keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n.swal2-animate-success-line-tip {\n -webkit-animation: animate-success-tip .75s;\n animation: animate-success-tip .75s; }\n\n.swal2-animate-success-line-long {\n -webkit-animation: animate-success-long .75s;\n animation: animate-success-long .75s; }\n\n.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right {\n -webkit-animation: rotatePlaceholder 4.25s ease-in;\n animation: rotatePlaceholder 4.25s ease-in; }\n\n@-webkit-keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n.swal2-animate-error-icon {\n -webkit-animation: animate-error-icon .5s;\n animation: animate-error-icon .5s; }\n\n@-webkit-keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n@keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n.swal2-animate-x-mark {\n -webkit-animation: animate-x-mark .5s;\n animation: animate-x-mark .5s; }\n\n@-webkit-keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n"),v}),"undefined"!=typeof window&&window.Sweetalert2&&(window.sweetAlert=window.swal=window.Sweetalert2); \ No newline at end of file diff --git a/dist/sweetalert2.common.js b/dist/sweetalert2.common.js deleted file mode 100644 index 922aed9e4..000000000 --- a/dist/sweetalert2.common.js +++ /dev/null @@ -1,1902 +0,0 @@ -/*! - * sweetalert2 v7.6.2 - * Released under the MIT License. - */ -'use strict'; - -var defaultParams = { - title: '', - titleText: '', - text: '', - html: '', - type: null, - toast: false, - customClass: '', - target: 'body', - backdrop: true, - animation: true, - allowOutsideClick: true, - allowEscapeKey: true, - allowEnterKey: true, - showConfirmButton: true, - showCancelButton: false, - preConfirm: null, - confirmButtonText: 'OK', - confirmButtonAriaLabel: '', - confirmButtonColor: '#3085d6', - confirmButtonClass: null, - cancelButtonText: 'Cancel', - cancelButtonAriaLabel: '', - cancelButtonColor: '#aaa', - cancelButtonClass: null, - buttonsStyling: true, - reverseButtons: false, - focusConfirm: true, - focusCancel: false, - showCloseButton: false, - closeButtonAriaLabel: 'Close this dialog', - showLoaderOnConfirm: false, - imageUrl: null, - imageWidth: null, - imageHeight: null, - imageAlt: '', - imageClass: null, - timer: null, - width: null, - padding: null, - background: '#fff', - input: null, - inputPlaceholder: '', - inputValue: '', - inputOptions: {}, - inputAutoTrim: true, - inputClass: null, - inputAttributes: {}, - inputValidator: null, - grow: false, - position: 'center', - progressSteps: [], - currentProgressStep: null, - progressStepsDistance: null, - onBeforeOpen: null, - onOpen: null, - onClose: null, - useRejections: false, - expectRejections: false -}; - -var deprecatedParams = ['useRejections', 'expectRejections']; - -var swalPrefix = 'swal2-'; - -var prefix = function prefix(items) { - var result = {}; - for (var i in items) { - result[items[i]] = swalPrefix + items[i]; - } - return result; -}; - -var swalClasses = prefix(['container', 'shown', 'iosfix', 'popup', 'modal', 'no-backdrop', 'toast', 'toast-shown', 'overlay', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'header', 'content', 'actions', 'confirm', 'cancel', 'icon', 'image', 'input', 'has-input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea', 'inputerror', 'validationerror', 'progresssteps', 'activeprogressstep', 'progresscircle', 'progressline', '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']); - -var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']); - -var consolePrefix = 'SweetAlert2:'; - -/* - * Set hover, active and focus-states for buttons (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color) - */ -var colorLuminance = function colorLuminance(hex, lum) { - // Validate hex string - hex = String(hex).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - lum = lum || 0; - - // Convert to decimal and change luminosity - var rgb = '#'; - for (var i = 0; i < 3; i++) { - var c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - - return rgb; -}; - -/** - * Filter the unique values into a new array - * @param arr - */ -var uniqueArray = function uniqueArray(arr) { - var result = []; - for (var i in arr) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - return result; -}; - -/** - * Standardise console warnings - * @param message - */ -var warn = function warn(message) { - console.warn(consolePrefix + ' ' + message); -}; - -/** - * Standardise console errors - * @param message - */ -var error = function error(message) { - console.error(consolePrefix + ' ' + message); -}; - -/** - * Private global state for `warnOnce` - * @type {Array} - * @private - */ -var previousWarnOnceMessages = []; - -/** - * Show a console warning, but only if it hasn't already been shown - * @param message - */ -var warnOnce = function warnOnce(message) { - if (!(previousWarnOnceMessages.indexOf(message) !== -1)) { - previousWarnOnceMessages.push(message); - warn(message); - } -}; - -/** - * If `arg` is a function, call it (with no arguments or context) and return the result. - * Otherwise, just pass the value through - * @param arg - */ -var callIfFunction = function callIfFunction(arg) { - return typeof arg === 'function' ? arg() : arg; -}; - -// Remember state in cases where opening and handling a modal will fiddle with it. -var states = { - previousActiveElement: null, - previousBodyPadding: null - - // Detect Node env -};var isNodeEnv = function isNodeEnv() { - return typeof window === 'undefined' || typeof document === 'undefined'; -}; - -/* - * Add modal + overlay to DOM - */ -var init = function init(params) { - // Clean up the old popup if it exists - var c = getContainer(); - if (c) { - c.parentNode.removeChild(c); - removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - } - - if (isNodeEnv()) { - error('SweetAlert2 requires document to initialize'); - return; - } - - var container = document.createElement('div'); - container.className = swalClasses.container; - container.innerHTML = sweetHTML; - - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - targetElement.appendChild(container); - - var popup = getPopup(); - var content = getContent(); - var input = getChildByClass(content, swalClasses.input); - var file = getChildByClass(content, swalClasses.file); - var range = content.querySelector('.' + swalClasses.range + ' input'); - var rangeOutput = content.querySelector('.' + swalClasses.range + ' output'); - var select = getChildByClass(content, swalClasses.select); - var checkbox = content.querySelector('.' + swalClasses.checkbox + ' input'); - var textarea = getChildByClass(content, swalClasses.textarea); - - // a11y - popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive'); - - var resetValidationError = function resetValidationError() { - sweetAlert.isVisible() && sweetAlert.resetValidationError(); - }; - - input.oninput = resetValidationError; - file.onchange = resetValidationError; - select.onchange = resetValidationError; - checkbox.onchange = resetValidationError; - textarea.oninput = resetValidationError; - - range.oninput = function () { - resetValidationError(); - rangeOutput.value = range.value; - }; - - range.onchange = function () { - resetValidationError(); - range.previousSibling.value = range.value; - }; - - return popup; -}; - -/* - * Manipulate DOM - */ - -var sweetHTML = ('\n \n').replace(/(^|\n)\s*/g, ''); - -var getContainer = function getContainer() { - return document.body.querySelector('.' + swalClasses.container); -}; - -var getPopup = function getPopup() { - return getContainer() ? getContainer().querySelector('.' + swalClasses.popup) : null; -}; - -var getIcons = function getIcons() { - var popup = getPopup(); - return popup.querySelectorAll('.' + swalClasses.icon); -}; - -var elementByClass = function elementByClass(className) { - return getContainer() ? getContainer().querySelector('.' + className) : null; -}; - -var getTitle = function getTitle() { - return elementByClass(swalClasses.title); -}; - -var getContent = function getContent() { - return elementByClass(swalClasses.content); -}; - -var getImage = function getImage() { - return elementByClass(swalClasses.image); -}; - -var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses.progresssteps); -}; - -var getValidationError = function getValidationError() { - return elementByClass(swalClasses.validationerror); -}; - -var getConfirmButton = function getConfirmButton() { - return elementByClass(swalClasses.confirm); -}; - -var getCancelButton = function getCancelButton() { - return elementByClass(swalClasses.cancel); -}; - -var getButtonsWrapper = function getButtonsWrapper() { - warnOnce('swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead'); - return elementByClass(swalClasses.actions); -}; - -var getActions = function getActions() { - return elementByClass(swalClasses.actions); -}; - -var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); -}; - -var getFocusableElements = function getFocusableElements() { - var focusableElementsWithTabindex = Array.prototype.slice.call(getPopup().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')) - // sort according to tabindex - .sort(function (a, b) { - a = parseInt(a.getAttribute('tabindex')); - b = parseInt(b.getAttribute('tabindex')); - if (a > b) { - return 1; - } else if (a < b) { - return -1; - } - return 0; - }); - - var otherFocusableElements = Array.prototype.slice.call(getPopup().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, [tabindex="0"]')); - - return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)); -}; - -var isModal = function isModal() { - return !document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isToast = function isToast() { - return document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isLoading = function isLoading() { - return getPopup().hasAttribute('data-loading'); -}; - -var hasClass = function hasClass(elem, className) { - if (elem.classList) { - return elem.classList.contains(className); - } - return false; -}; - -var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915/1331425 - var val = input.value; - input.value = ''; - input.value = val; - } -}; - -var addOrRemoveClass = function addOrRemoveClass(target, classList, add) { - if (!target || !classList) { - return; - } - if (typeof classList === 'string') { - classList = classList.split(/\s+/).filter(Boolean); - } - classList.forEach(function (className) { - if (target.forEach) { - target.forEach(function (elem) { - add ? elem.classList.add(className) : elem.classList.remove(className); - }); - } else { - add ? target.classList.add(className) : target.classList.remove(className); - } - }); -}; - -var addClass = function addClass(target, classList) { - addOrRemoveClass(target, classList, true); -}; - -var removeClass = function removeClass(target, classList) { - addOrRemoveClass(target, classList, false); -}; - -var getChildByClass = function getChildByClass(elem, className) { - for (var i = 0; i < elem.childNodes.length; i++) { - if (hasClass(elem.childNodes[i], className)) { - return elem.childNodes[i]; - } - } -}; - -var show = function show(elem, display) { - if (!display) { - display = elem.id === swalClasses.content ? 'block' : 'flex'; - } - elem.style.opacity = ''; - elem.style.display = display; -}; - -var hide = function hide(elem) { - elem.style.opacity = ''; - elem.style.display = 'none'; -}; - -var empty = function empty(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } -}; - -// borrowed from jquery $(elem).is(':visible') implementation -var isVisible = function isVisible(elem) { - return elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); -}; - -var removeStyleProperty = function removeStyleProperty(elem, property) { - if (elem.style.removeProperty) { - elem.style.removeProperty(property); - } else { - elem.style.removeAttribute(property); - } -}; - -var animationEndEvent = function () { - // Prevent run in Node env - if (isNodeEnv()) { - return false; - } - - var testEl = document.createElement('div'); - var transEndEventNames = { - 'WebkitAnimation': 'webkitAnimationEnd', - 'OAnimation': 'oAnimationEnd oanimationend', - 'animation': 'animationend' - }; - for (var i in transEndEventNames) { - if (transEndEventNames.hasOwnProperty(i) && typeof testEl.style[i] !== 'undefined') { - return transEndEventNames[i]; - } - } - - return false; -}(); - -// Reset previous window keydown handler and focued element -var resetPrevState = function resetPrevState() { - if (states.previousActiveElement && states.previousActiveElement.focus) { - var x = window.scrollX; - var y = window.scrollY; - states.previousActiveElement.focus(); - if (typeof x !== 'undefined' && typeof y !== 'undefined') { - // IE doesn't have scrollX/scrollY support - window.scrollTo(x, y); - } - } -}; - -// Measure width of scrollbar -// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286 -var measureScrollbar = function measureScrollbar() { - var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; - if (supportsTouch) { - return 0; - } - var scrollDiv = document.createElement('div'); - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; -}; - -/** - * Inject a string of CSS into the page header - * - * @param {String} css - */ - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; -}; - - - - - - - - - - - - - - - - - - - - - -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -var popupParams = _extends({}, defaultParams); -var queue = []; - -var previousWindowKeyDown = void 0; -var windowOnkeydownOverridden = void 0; - -/* - * Check for the existence of Promise - * Hopefully to avoid many github issues - */ -if (typeof Promise === 'undefined') { - error('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)'); -} - -/** - * Show relevant warnings for given params - * - * @param params - */ -var showWarningsForParams = function showWarningsForParams(params) { - for (var param in params) { - if (!sweetAlert.isValidParameter(param)) { - warn('Unknown parameter "' + param + '"'); - } - if (sweetAlert.isDeprecatedParameter(param)) { - warnOnce('The parameter "' + param + '" is deprecated and will be removed in the next major release.'); - } - } -}; - -/** - * Set type, text and actions on popup - * - * @param params - * @returns {boolean} - */ -var setParameters = function setParameters(params) { - // If a custom element is set, determine if it is valid - if (typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) { - warn('Target parameter is not valid, defaulting to "body"'); - params.target = 'body'; - } - - var popup = void 0; - var oldPopup = getPopup(); - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - // If the model target has changed, refresh the popup - if (oldPopup && targetElement && oldPopup.parentNode !== targetElement.parentNode) { - popup = init(params); - } else { - popup = oldPopup || init(params); - } - - // Set popup width - if (params.width) { - popup.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width; - } - - // Set popup padding - if (params.padding) { - popup.style.padding = typeof params.padding === 'number' ? params.padding + 'px' : params.padding; - } - - popup.style.background = params.background; - var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.background = params.background; - } - - var container = getContainer(); - var title = getTitle(); - var content = getContent().querySelector('#' + swalClasses.content); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var closeButton = getCloseButton(); - - // Title - if (params.titleText) { - title.innerText = params.titleText; - } else { - title.innerHTML = params.title.split('\n').join('
    '); - } - - if (!params.backdrop) { - addClass([document.documentElement, document.body], swalClasses['no-backdrop']); - } - - // Content - if (params.text || params.html) { - if (_typeof(params.html) === 'object') { - content.innerHTML = ''; - if (0 in params.html) { - for (var _i = 0; _i in params.html; _i++) { - content.appendChild(params.html[_i].cloneNode(true)); - } - } else { - content.appendChild(params.html.cloneNode(true)); - } - } else if (params.html) { - content.innerHTML = params.html; - } else if (params.text) { - content.textContent = params.text; - } - show(content); - } else { - hide(content); - } - - // Position - if (params.position in swalClasses) { - addClass(container, swalClasses[params.position]); - } - - // Grow - if (params.grow && typeof params.grow === 'string') { - var growClass = 'grow-' + params.grow; - if (growClass in swalClasses) { - addClass(container, swalClasses[growClass]); - } - } - - // Close button - if (params.showCloseButton) { - closeButton.setAttribute('aria-label', params.closeButtonAriaLabel); - show(closeButton); - } else { - hide(closeButton); - } - - // Default Class - popup.className = swalClasses.popup; - if (params.toast) { - addClass([document.documentElement, document.body], swalClasses['toast-shown']); - addClass(popup, swalClasses.toast); - } else { - addClass(popup, swalClasses.modal); - } - - // Custom Class - if (params.customClass) { - addClass(popup, params.customClass); - } - - // Progress steps - var progressStepsContainer = getProgressSteps(); - var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10); - if (params.progressSteps.length) { - show(progressStepsContainer); - empty(progressStepsContainer); - if (currentProgressStep >= params.progressSteps.length) { - warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - params.progressSteps.forEach(function (step, index) { - var circle = document.createElement('li'); - addClass(circle, swalClasses.progresscircle); - circle.innerHTML = step; - if (index === currentProgressStep) { - addClass(circle, swalClasses.activeprogressstep); - } - progressStepsContainer.appendChild(circle); - if (index !== params.progressSteps.length - 1) { - var line = document.createElement('li'); - addClass(line, swalClasses.progressline); - if (params.progressStepsDistance) { - line.style.width = params.progressStepsDistance; - } - progressStepsContainer.appendChild(line); - } - }); - } else { - hide(progressStepsContainer); - } - - // Icon - var icons = getIcons(); - for (var _i2 = 0; _i2 < icons.length; _i2++) { - hide(icons[_i2]); - } - if (params.type) { - var validType = false; - for (var iconType in iconTypes) { - if (params.type === iconType) { - validType = true; - break; - } - } - if (!validType) { - error('Unknown alert type: ' + params.type); - return false; - } - var icon = popup.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]); - show(icon); - - // Animate icon - if (params.animation) { - switch (params.type) { - case 'success': - addClass(icon, 'swal2-animate-success-icon'); - addClass(icon.querySelector('.swal2-success-line-tip'), 'swal2-animate-success-line-tip'); - addClass(icon.querySelector('.swal2-success-line-long'), 'swal2-animate-success-line-long'); - break; - case 'error': - addClass(icon, 'swal2-animate-error-icon'); - addClass(icon.querySelector('.swal2-x-mark'), 'swal2-animate-x-mark'); - break; - default: - break; - } - } - } - - // Custom image - var image = getImage(); - if (params.imageUrl) { - image.setAttribute('src', params.imageUrl); - image.setAttribute('alt', params.imageAlt); - show(image); - - if (params.imageWidth) { - image.setAttribute('width', params.imageWidth); - } else { - image.removeAttribute('width'); - } - - if (params.imageHeight) { - image.setAttribute('height', params.imageHeight); - } else { - image.removeAttribute('height'); - } - - image.className = swalClasses.image; - if (params.imageClass) { - addClass(image, params.imageClass); - } - } else { - hide(image); - } - - // Cancel button - if (params.showCancelButton) { - cancelButton.style.display = 'inline-block'; - } else { - hide(cancelButton); - } - - // Confirm button - if (params.showConfirmButton) { - removeStyleProperty(confirmButton, 'display'); - } else { - hide(confirmButton); - } - - // Actions (buttons) wrapper - if (!params.showConfirmButton && !params.showCancelButton) { - hide(actions); - } else { - show(actions); - } - - // Edit text on confirm and cancel buttons - confirmButton.innerHTML = params.confirmButtonText; - cancelButton.innerHTML = params.cancelButtonText; - - // ARIA labels for confirm and cancel buttons - confirmButton.setAttribute('aria-label', params.confirmButtonAriaLabel); - cancelButton.setAttribute('aria-label', params.cancelButtonAriaLabel); - - // Set buttons to selected background colors - if (params.buttonsStyling) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - - // Add buttons custom classes - confirmButton.className = swalClasses.confirm; - addClass(confirmButton, params.confirmButtonClass); - cancelButton.className = swalClasses.cancel; - addClass(cancelButton, params.cancelButtonClass); - - // Buttons styling - if (params.buttonsStyling) { - addClass([confirmButton, cancelButton], swalClasses.styled); - } else { - removeClass([confirmButton, cancelButton], swalClasses.styled); - - confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = ''; - cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = ''; - } - - // CSS animation - if (params.animation === true) { - removeClass(popup, swalClasses.noanimation); - } else { - addClass(popup, swalClasses.noanimation); - } - - // showLoaderOnConfirm && preConfirm - if (params.showLoaderOnConfirm && !params.preConfirm) { - 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'); - } -}; - -/** - * Animations - * - * @param animation - * @param onBeforeOpen - * @param onComplete - */ -var openPopup = function openPopup(animation, onBeforeOpen, onComplete) { - var container = getContainer(); - var popup = getPopup(); - - if (onBeforeOpen !== null && typeof onBeforeOpen === 'function') { - onBeforeOpen(popup); - } - - if (animation) { - addClass(popup, swalClasses.show); - addClass(container, swalClasses.fade); - removeClass(popup, swalClasses.hide); - } else { - removeClass(popup, swalClasses.fade); - } - show(popup); - - // scrolling is 'hidden' until animation is done, after that 'auto' - container.style.overflowY = 'hidden'; - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - container.style.overflowY = 'auto'; - }); - } else { - container.style.overflowY = 'auto'; - } - - addClass([document.documentElement, document.body, container], swalClasses.shown); - if (isModal()) { - fixScrollbar(); - iOSfix(); - } - states.previousActiveElement = document.activeElement; - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -var fixScrollbar = function fixScrollbar() { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = document.body.style.paddingRight; - document.body.style.paddingRight = measureScrollbar() + 'px'; - } -}; - -var undoScrollbar = function undoScrollbar() { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = states.previousBodyPadding; - states.previousBodyPadding = null; - } -}; - -// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425 -var iOSfix = function iOSfix() { - var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = offset * -1 + 'px'; - addClass(document.body, swalClasses.iosfix); - } -}; - -var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } -}; - -// SweetAlert entry point -var sweetAlert = function sweetAlert() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Prevent run in Node env - if (typeof window === 'undefined') { - return; - } - - if (typeof args[0] === 'undefined') { - error('SweetAlert2 expects at least 1 attribute!'); - return false; - } - - var params = _extends({}, popupParams); - - switch (_typeof(args[0])) { - case 'string': - params.title = args[0]; - params.html = args[1]; - params.type = args[2]; - - break; - - case 'object': - showWarningsForParams(args[0]); - _extends(params, args[0]); - params.extraParams = args[0].extraParams; - - if (params.input === 'email' && params.inputValidator === null) { - var inputValidator = function inputValidator(email) { - return new Promise(function (resolve, reject) { - var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/; - if (emailRegex.test(email)) { - resolve(); - } else { - reject('Invalid email address'); - } - }); - }; - params.inputValidator = params.expectRejections ? inputValidator : sweetAlert.adaptInputValidator(inputValidator); - } - - if (params.input === 'url' && params.inputValidator === null) { - var _inputValidator = function _inputValidator(url) { - return new Promise(function (resolve, reject) { - // taken from https://stackoverflow.com/a/3809435/1331425 - var urlRegex = /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/; - if (urlRegex.test(url)) { - resolve(); - } else { - reject('Invalid URL'); - } - }); - }; - params.inputValidator = params.expectRejections ? _inputValidator : sweetAlert.adaptInputValidator(_inputValidator); - } - break; - - default: - error('Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0])); - return false; - } - - setParameters(params); - - var container = getContainer(); - var popup = getPopup(); - - return new Promise(function (resolve, reject) { - // functions to handle all resolving/rejecting/settling - var succeedWith = function succeedWith(value) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - resolve(value); - } else { - resolve({ value: value }); - } - }; - var dismissWith = function dismissWith(dismiss) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - reject(dismiss); - } else { - resolve({ dismiss: dismiss }); - } - }; - var errorWith = function errorWith(error$$1) { - sweetAlert.closePopup(params.onClose); - reject(error$$1); - }; - - // Close on timer - if (params.timer) { - popup.timeout = setTimeout(function () { - return dismissWith('timer'); - }, params.timer); - } - - // Get input element by specified type or, if type isn't specified, by params.input - var getInput = function getInput(inputType) { - inputType = inputType || params.input; - if (!inputType) { - return null; - } - switch (inputType) { - case 'select': - case 'textarea': - case 'file': - return getChildByClass(content, swalClasses[inputType]); - case 'checkbox': - return popup.querySelector('.' + swalClasses.checkbox + ' input'); - case 'radio': - return popup.querySelector('.' + swalClasses.radio + ' input:checked') || popup.querySelector('.' + swalClasses.radio + ' input:first-child'); - case 'range': - return popup.querySelector('.' + swalClasses.range + ' input'); - default: - return getChildByClass(content, swalClasses.input); - } - }; - - // Get the value of the popup input - var getInputValue = function getInputValue() { - var input = getInput(); - if (!input) { - return null; - } - switch (params.input) { - case 'checkbox': - return input.checked ? 1 : 0; - case 'radio': - return input.checked ? input.value : null; - case 'file': - return input.files.length ? input.files[0] : null; - default: - return params.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - // input autofocus - if (params.input) { - setTimeout(function () { - var input = getInput(); - if (input) { - focusInput(input); - } - }, 0); - } - - var confirm = function confirm(value) { - if (params.showLoaderOnConfirm) { - sweetAlert.showLoading(); - } - - if (params.preConfirm) { - sweetAlert.resetValidationError(); - var preConfirmPromise = Promise.resolve().then(function () { - return params.preConfirm(value, params.extraParams); - }); - if (params.expectRejections) { - preConfirmPromise.then(function (preConfirmValue) { - return succeedWith(preConfirmValue || value); - }, function (validationError) { - sweetAlert.hideLoading(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - preConfirmPromise.then(function (preConfirmValue) { - if (isVisible(getValidationError())) { - sweetAlert.hideLoading(); - } else { - succeedWith(preConfirmValue || value); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - succeedWith(value); - } - }; - - // Mouse interactions - var onButtonEvent = function onButtonEvent(event) { - var e = event || window.event; - var target = e.target || e.srcElement; - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target)); - var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target)); - - switch (e.type) { - case 'mouseover': - case 'mouseup': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1); - } - } - break; - case 'mouseout': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - } else if (targetedCancel) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - } - break; - case 'mousedown': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2); - } - } - break; - case 'click': - // Clicked 'confirm' - if (targetedConfirm && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - if (params.input) { - var inputValue = getInputValue(); - - if (params.inputValidator) { - sweetAlert.disableInput(); - var validationPromise = Promise.resolve().then(function () { - return params.inputValidator(inputValue, params.extraParams); - }); - if (params.expectRejections) { - validationPromise.then(function () { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - confirm(inputValue); - }, function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - validationPromise.then(function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } else { - confirm(inputValue); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - confirm(inputValue); - } - } else { - confirm(true); - } - - // Clicked 'cancel' - } else if (targetedCancel && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - dismissWith('cancel'); - } - break; - default: - } - }; - - var buttons = popup.querySelectorAll('button'); - for (var i = 0; i < buttons.length; i++) { - buttons[i].onclick = onButtonEvent; - buttons[i].onmouseover = onButtonEvent; - buttons[i].onmouseout = onButtonEvent; - buttons[i].onmousedown = onButtonEvent; - } - - // Closing popup by close button - getCloseButton().onclick = function () { - dismissWith('close'); - }; - - if (params.toast) { - // Closing popup by overlay click - popup.onclick = function (e) { - if (e.target !== popup || params.showConfirmButton || params.showCancelButton) { - return; - } - if (params.allowOutsideClick) { - sweetAlert.closePopup(params.onClose); - dismissWith('overlay'); - } - }; - } else { - var ignoreOutsideClick = false; - - // Ignore click events that had mousedown on the popup but mouseup on the container - // This can happen when the user drags a slider - popup.onmousedown = function () { - container.onmouseup = function (e) { - container.onmouseup = undefined; - // We only check if the mouseup target is the container because usually it doesn't - // have any other direct children aside of the popup - if (e.target === container) { - ignoreOutsideClick = true; - } - }; - }; - - // Ignore click events that had mousedown on the container but mouseup on the popup - container.onmousedown = function () { - popup.onmouseup = function (e) { - popup.onmouseup = undefined; - // We also need to check if the mouseup target is a child of the popup - if (e.target === popup || popup.contains(e.target)) { - ignoreOutsideClick = true; - } - }; - }; - - container.onclick = function (e) { - if (ignoreOutsideClick) { - ignoreOutsideClick = false; - return; - } - if (e.target !== container) { - return; - } - if (callIfFunction(params.allowOutsideClick)) { - dismissWith('overlay'); - } - }; - } - - var content = getContent(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - // Reverse buttons (Confirm on the right side) - if (params.reverseButtons) { - confirmButton.parentNode.insertBefore(cancelButton, confirmButton); - } else { - confirmButton.parentNode.insertBefore(confirmButton, cancelButton); - } - - // Focus handling - var setFocus = function setFocus(index, increment) { - var focusableElements = getFocusableElements(params.focusCancel); - // search for visible elements and select the next possible match - for (var _i3 = 0; _i3 < focusableElements.length; _i3++) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - - // determine if element is visible - var el = focusableElements[index]; - if (isVisible(el)) { - return el.focus(); - } - } - }; - - var handleKeyDown = function handleKeyDown(event) { - var e = event || window.event; - - var arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Left', 'Right', 'Up', 'Down' // IE11 - ]; - - if (e.key === 'Enter' && !e.isComposing) { - if (e.target === getInput()) { - if (['textarea', 'file'].indexOf(params.input) !== -1) { - return; // do not submit - } - - sweetAlert.clickConfirm(); - e.preventDefault(); - } - - // TAB - } else if (e.key === 'Tab') { - var targetElement = e.target || e.srcElement; - - var focusableElements = getFocusableElements(params.focusCancel); - var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. - for (var _i4 = 0; _i4 < focusableElements.length; _i4++) { - if (targetElement === focusableElements[_i4]) { - btnIndex = _i4; - break; - } - } - - if (!e.shiftKey) { - // Cycle to the next button - setFocus(btnIndex, 1); - } else { - // Cycle to the prev button - setFocus(btnIndex, -1); - } - e.stopPropagation(); - e.preventDefault(); - - // ARROWS - switch focus between buttons - } else if (arrowKeys.indexOf(e.key) !== -1) { - // focus Cancel button if Confirm button is currently focused - if (document.activeElement === confirmButton && isVisible(cancelButton)) { - cancelButton.focus(); - // and vice versa - } else if (document.activeElement === cancelButton && isVisible(confirmButton)) { - confirmButton.focus(); - } - - // ESC - } else if ((e.key === 'Escape' || e.key === 'Esc') && callIfFunction(params.allowEscapeKey) === true) { - dismissWith('esc'); - } - }; - - if (params.toast && windowOnkeydownOverridden) { - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - if (!params.toast && !windowOnkeydownOverridden) { - previousWindowKeyDown = window.onkeydown; - windowOnkeydownOverridden = true; - window.onkeydown = handleKeyDown; - } - - // Loading state - if (params.buttonsStyling) { - confirmButton.style.borderLeftColor = params.confirmButtonColor; - confirmButton.style.borderRightColor = params.confirmButtonColor; - } - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.hideLoading = sweetAlert.disableLoading = function () { - if (!params.showConfirmButton) { - hide(confirmButton); - if (!params.showCancelButton) { - hide(getActions()); - } - } - removeClass([popup, actions], swalClasses.loading); - popup.removeAttribute('aria-busy'); - popup.removeAttribute('data-loading'); - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.getTitle = function () { - return getTitle(); - }; - sweetAlert.getContent = function () { - return getContent(); - }; - sweetAlert.getInput = function () { - return getInput(); - }; - sweetAlert.getImage = function () { - return getImage(); - }; - sweetAlert.getButtonsWrapper = function () { - return getButtonsWrapper(); - }; - sweetAlert.getActions = function () { - return getActions(); - }; - sweetAlert.getConfirmButton = function () { - return getConfirmButton(); - }; - sweetAlert.getCancelButton = function () { - return getCancelButton(); - }; - sweetAlert.isLoading = function () { - return isLoading(); - }; - - sweetAlert.enableButtons = function () { - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.disableButtons = function () { - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - sweetAlert.enableConfirmButton = function () { - confirmButton.disabled = false; - }; - - sweetAlert.disableConfirmButton = function () { - confirmButton.disabled = true; - }; - - sweetAlert.enableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i5 = 0; _i5 < radios.length; _i5++) { - radios[_i5].disabled = false; - } - } else { - input.disabled = false; - } - }; - - sweetAlert.disableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input && input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i6 = 0; _i6 < radios.length; _i6++) { - radios[_i6].disabled = true; - } - } else { - input.disabled = true; - } - }; - - // Show block with validation error - sweetAlert.showValidationError = function (error$$1) { - var validationError = getValidationError(); - validationError.innerHTML = error$$1; - var popupComputedStyle = window.getComputedStyle(popup); - validationError.style.marginLeft = '-' + popupComputedStyle.getPropertyValue('padding-left'); - validationError.style.marginRight = '-' + popupComputedStyle.getPropertyValue('padding-right'); - show(validationError); - - var input = getInput(); - if (input) { - input.setAttribute('aria-invalid', true); - input.setAttribute('aria-describedBy', swalClasses.validationerror); - focusInput(input); - addClass(input, swalClasses.inputerror); - } - }; - - // Hide block with validation error - sweetAlert.resetValidationError = function () { - var validationError = getValidationError(); - hide(validationError); - - var input = getInput(); - if (input) { - input.removeAttribute('aria-invalid'); - input.removeAttribute('aria-describedBy'); - removeClass(input, swalClasses.inputerror); - } - }; - - sweetAlert.getProgressSteps = function () { - return params.progressSteps; - }; - - sweetAlert.setProgressSteps = function (progressSteps) { - params.progressSteps = progressSteps; - setParameters(params); - }; - - sweetAlert.showProgressSteps = function () { - show(getProgressSteps()); - }; - - sweetAlert.hideProgressSteps = function () { - hide(getProgressSteps()); - }; - - sweetAlert.enableButtons(); - sweetAlert.hideLoading(); - sweetAlert.resetValidationError(); - - if (params.input) { - addClass(document.body, swalClasses['has-input']); - } - - // inputs - var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - var input = void 0; - for (var _i7 = 0; _i7 < inputTypes.length; _i7++) { - var inputClass = swalClasses[inputTypes[_i7]]; - var inputContainer = getChildByClass(content, inputClass); - input = getInput(inputTypes[_i7]); - - // set attributes - if (input) { - for (var j in input.attributes) { - if (input.attributes.hasOwnProperty(j)) { - var attrName = input.attributes[j].name; - if (attrName !== 'type' && attrName !== 'value') { - input.removeAttribute(attrName); - } - } - } - for (var attr in params.inputAttributes) { - input.setAttribute(attr, params.inputAttributes[attr]); - } - } - - // set class - inputContainer.className = inputClass; - if (params.inputClass) { - addClass(inputContainer, params.inputClass); - } - - hide(inputContainer); - } - - var populateInputOptions = void 0; - switch (params.input) { - case 'text': - case 'email': - case 'password': - case 'number': - case 'tel': - case 'url': - input = getChildByClass(content, swalClasses.input); - input.value = params.inputValue; - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'file': - input = getChildByClass(content, swalClasses.file); - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'range': - var range = getChildByClass(content, swalClasses.range); - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - rangeInput.value = params.inputValue; - rangeInput.type = params.input; - rangeOutput.value = params.inputValue; - show(range); - break; - case 'select': - var select = getChildByClass(content, swalClasses.select); - select.innerHTML = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - placeholder.innerHTML = params.inputPlaceholder; - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - populateInputOptions = function populateInputOptions(inputOptions) { - for (var optionValue in inputOptions) { - var option = document.createElement('option'); - option.value = optionValue; - option.innerHTML = inputOptions[optionValue]; - if (params.inputValue.toString() === optionValue) { - option.selected = true; - } - select.appendChild(option); - } - show(select); - select.focus(); - }; - break; - case 'radio': - var radio = getChildByClass(content, swalClasses.radio); - radio.innerHTML = ''; - populateInputOptions = function populateInputOptions(inputOptions) { - for (var radioValue in inputOptions) { - var radioInput = document.createElement('input'); - var radioLabel = document.createElement('label'); - var radioLabelSpan = document.createElement('span'); - radioInput.type = 'radio'; - radioInput.name = swalClasses.radio; - radioInput.value = radioValue; - if (params.inputValue.toString() === radioValue) { - radioInput.checked = true; - } - radioLabelSpan.innerHTML = inputOptions[radioValue]; - radioLabel.appendChild(radioInput); - radioLabel.appendChild(radioLabelSpan); - radioLabel.for = radioInput.id; - radio.appendChild(radioLabel); - } - show(radio); - var radios = radio.querySelectorAll('input'); - if (radios.length) { - radios[0].focus(); - } - }; - break; - case 'checkbox': - var checkbox = getChildByClass(content, swalClasses.checkbox); - var checkboxInput = getInput('checkbox'); - checkboxInput.type = 'checkbox'; - checkboxInput.value = 1; - checkboxInput.id = swalClasses.checkbox; - checkboxInput.checked = Boolean(params.inputValue); - var label = checkbox.getElementsByTagName('span'); - if (label.length) { - checkbox.removeChild(label[0]); - } - label = document.createElement('span'); - label.innerHTML = params.inputPlaceholder; - checkbox.appendChild(label); - show(checkbox); - break; - case 'textarea': - var textarea = getChildByClass(content, swalClasses.textarea); - textarea.value = params.inputValue; - textarea.placeholder = params.inputPlaceholder; - show(textarea); - break; - case null: - break; - default: - error('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"'); - break; - } - - if (params.input === 'select' || params.input === 'radio') { - if (params.inputOptions instanceof Promise) { - sweetAlert.showLoading(); - params.inputOptions.then(function (inputOptions) { - sweetAlert.hideLoading(); - populateInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - populateInputOptions(params.inputOptions); - } else { - error('Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions)); - } - } - - openPopup(params.animation, params.onBeforeOpen, params.onOpen); - - if (!params.toast) { - if (!callIfFunction(params.allowEnterKey)) { - if (document.activeElement) { - document.activeElement.blur(); - } - } else if (params.focusCancel && isVisible(cancelButton)) { - cancelButton.focus(); - } else if (params.focusConfirm && isVisible(confirmButton)) { - confirmButton.focus(); - } else { - setFocus(-1, 1); - } - } - - // fix scroll - getContainer().scrollTop = 0; - }); -}; - -/* - * Global function to determine if swal2 popup is shown - */ -sweetAlert.isVisible = function () { - return !!getPopup(); -}; - -/* - * Global function for chaining sweetAlert popups - */ -sweetAlert.queue = function (steps) { - queue = steps; - var resetQueue = function resetQueue() { - queue = []; - document.body.removeAttribute('data-swal2-queue-step'); - }; - var queueResult = []; - return new Promise(function (resolve, reject) { - (function step(i, callback) { - if (i < queue.length) { - document.body.setAttribute('data-swal2-queue-step', i); - - sweetAlert(queue[i]).then(function (result) { - if (typeof result.value !== 'undefined') { - queueResult.push(result.value); - step(i + 1, callback); - } else { - resetQueue(); - resolve({ dismiss: result.dismiss }); - } - }); - } else { - resetQueue(); - resolve({ value: queueResult }); - } - })(0); - }); -}; - -/* - * Global function for getting the index of current popup in queue - */ -sweetAlert.getQueueStep = function () { - return document.body.getAttribute('data-swal2-queue-step'); -}; - -/* - * Global function for inserting a popup to the queue - */ -sweetAlert.insertQueueStep = function (step, index) { - if (index && index < queue.length) { - return queue.splice(index, 0, step); - } - return queue.push(step); -}; - -/* - * Global function for deleting a popup from the queue - */ -sweetAlert.deleteQueueStep = function (index) { - if (typeof queue[index] !== 'undefined') { - queue.splice(index, 1); - } -}; - -/* - * Global function to close sweetAlert - */ -sweetAlert.close = sweetAlert.closePopup = sweetAlert.closeModal = sweetAlert.closeToast = function (onComplete) { - var container = getContainer(); - var popup = getPopup(); - if (!popup) { - return; - } - removeClass(popup, swalClasses.show); - addClass(popup, swalClasses.hide); - clearTimeout(popup.timeout); - - if (!isToast()) { - resetPrevState(); - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - var removePopupAndResetState = function removePopupAndResetState() { - if (container.parentNode) { - container.parentNode.removeChild(container); - } - removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - - if (isModal()) { - undoScrollbar(); - undoIOSfix(); - } - }; - - // If animation is supported, animate - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - if (hasClass(popup, swalClasses.hide)) { - removePopupAndResetState(); - } - }); - } else { - // Otherwise, remove immediately - removePopupAndResetState(); - } - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -/* - * Global function to click 'Confirm' button - */ -sweetAlert.clickConfirm = function () { - return getConfirmButton().click(); -}; - -/* - * Global function to click 'Cancel' button - */ -sweetAlert.clickCancel = function () { - return getCancelButton().click(); -}; - -/** - * Show spinner instead of Confirm button and disable Cancel button - */ -sweetAlert.showLoading = sweetAlert.enableLoading = function () { - var popup = getPopup(); - if (!popup) { - sweetAlert(''); - } - popup = getPopup(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - show(actions); - show(confirmButton, 'inline-block'); - addClass([popup, actions], swalClasses.loading); - confirmButton.disabled = true; - cancelButton.disabled = true; - - popup.setAttribute('data-loading', true); - popup.setAttribute('aria-busy', true); - popup.focus(); -}; - -/** - * Is valid parameter - * @param {String} paramName - */ -sweetAlert.isValidParameter = function (paramName) { - return defaultParams.hasOwnProperty(paramName) || paramName === 'extraParams'; -}; - -/** - * Is deprecated parameter - * @param {String} paramName - */ -sweetAlert.isDeprecatedParameter = function (paramName) { - return deprecatedParams.indexOf(paramName) !== -1; -}; - -/** - * Set default params for each popup - * @param {Object} userParams - */ -sweetAlert.setDefaults = function (userParams) { - if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') { - return error('the argument for setDefaults() is required and has to be a object'); - } - - showWarningsForParams(userParams); - - // assign valid params from userParams to popupParams - for (var param in userParams) { - if (sweetAlert.isValidParameter(param)) { - popupParams[param] = userParams[param]; - } - } -}; - -/** - * Reset default params for each popup - */ -sweetAlert.resetDefaults = function () { - popupParams = _extends({}, defaultParams); -}; - -/** - * Adapt a legacy inputValidator for use with expectRejections=false - */ -sweetAlert.adaptInputValidator = function (legacyValidator) { - return function adaptedInputValidator(inputValue, extraParams) { - return legacyValidator.call(this, inputValue, extraParams).then(function () { - return undefined; - }, function (validationError) { - return validationError; - }); - }; -}; - -sweetAlert.noop = function () {}; - -sweetAlert.version = '7.6.2'; - -sweetAlert.default = sweetAlert; - -/** - * Set default params if `window._swalDefaults` is an object - */ -if (typeof window !== 'undefined' && _typeof(window._swalDefaults) === 'object') { - sweetAlert.setDefaults(window._swalDefaults); -} - -module.exports = sweetAlert; -if (typeof window !== 'undefined' && window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2; diff --git a/dist/sweetalert2.css b/dist/sweetalert2.css deleted file mode 100644 index 677521d1e..000000000 --- a/dist/sweetalert2.css +++ /dev/null @@ -1,1258 +0,0 @@ -body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; } - body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-actions { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-item-align: stretch; - align-self: stretch; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - height: 2.2em; } - body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-loading { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-input { - height: 2em; - font-size: 1em; - margin: .3125em auto; } - body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-validationerror { - font-size: 1em; } - -body.swal2-toast-shown > .swal2-container { - position: fixed; - background-color: transparent; } - body.swal2-toast-shown > .swal2-container.swal2-shown { - background-color: transparent; } - body.swal2-toast-shown > .swal2-container.swal2-top { - top: 0; - left: 50%; - bottom: auto; - right: auto; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - body.swal2-toast-shown > .swal2-container.swal2-top-end, body.swal2-toast-shown > .swal2-container.swal2-top-right { - top: 0; - left: auto; - bottom: auto; - right: 0; } - body.swal2-toast-shown > .swal2-container.swal2-top-start, body.swal2-toast-shown > .swal2-container.swal2-top-left { - top: 0; - left: 0; - bottom: auto; - right: auto; } - body.swal2-toast-shown > .swal2-container.swal2-center-start, body.swal2-toast-shown > .swal2-container.swal2-center-left { - top: 50%; - left: 0; - bottom: auto; - right: auto; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - body.swal2-toast-shown > .swal2-container.swal2-center { - top: 50%; - left: 50%; - bottom: auto; - right: auto; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); } - body.swal2-toast-shown > .swal2-container.swal2-center-end, body.swal2-toast-shown > .swal2-container.swal2-center-right { - top: 50%; - left: auto; - bottom: auto; - right: 0; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - body.swal2-toast-shown > .swal2-container.swal2-bottom-start, body.swal2-toast-shown > .swal2-container.swal2-bottom-left { - top: auto; - left: 0; - bottom: 0; - right: auto; } - body.swal2-toast-shown > .swal2-container.swal2-bottom { - top: auto; - left: 50%; - bottom: 0; - right: auto; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - body.swal2-toast-shown > .swal2-container.swal2-bottom-end, body.swal2-toast-shown > .swal2-container.swal2-bottom-right { - top: auto; - left: auto; - bottom: 0; - right: 0; } - -.swal2-popup.swal2-toast { - width: auto; - padding: 0.625em; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - overflow-y: hidden; - -webkit-box-shadow: 0 0 10px #d9d9d9; - box-shadow: 0 0 10px #d9d9d9; } - .swal2-popup.swal2-toast .swal2-header { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .swal2-popup.swal2-toast .swal2-title { - font-size: 1em; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - margin: 0 .6em; } - .swal2-popup.swal2-toast .swal2-close { - position: initial; } - .swal2-popup.swal2-toast .swal2-content { - font-size: 0.875em; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .swal2-popup.swal2-toast .swal2-icon { - width: 32px; - min-width: 32px; - height: 32px; - margin: 0; } - .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring { - width: 32px; - height: 32px; } - .swal2-popup.swal2-toast .swal2-icon.swal2-info, .swal2-popup.swal2-toast .swal2-icon.swal2-warning, .swal2-popup.swal2-toast .swal2-icon.swal2-question { - font-size: 26px; - line-height: 32px; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - top: 14px; - width: 22px; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - left: 5px; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - right: 5px; } - .swal2-popup.swal2-toast .swal2-actions { - margin: 0 .3125em; - height: auto; } - .swal2-popup.swal2-toast .swal2-styled { - margin: 0 .3125em; - padding: .3125em .625em; - font-size: 1em; } - .swal2-popup.swal2-toast .swal2-styled:focus { - -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4); - box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4); } - .swal2-popup.swal2-toast .swal2-success { - border-color: #a5dc86; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] { - border-radius: 50%; - position: absolute; - width: 32px; - height: 45px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] { - border-radius: 64px 0 0 64px; - top: -4px; - left: -15px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 32px 32px; - transform-origin: 32px 32px; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] { - border-radius: 0 64px 64px 0; - top: -5px; - left: 14px; - -webkit-transform-origin: 0 32px; - transform-origin: 0 32px; } - .swal2-popup.swal2-toast .swal2-success .swal2-success-ring { - width: 32px; - height: 32px; } - .swal2-popup.swal2-toast .swal2-success .swal2-success-fix { - width: 7px; - height: 43px; - left: 7px; - top: 0; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] { - height: 5px; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] { - width: 12px; - left: 3px; - top: 18px; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] { - width: 22px; - right: 3px; - top: 15px; } - .swal2-popup.swal2-toast.swal2-show { - -webkit-animation: showSweetToast .5s; - animation: showSweetToast .5s; } - .swal2-popup.swal2-toast.swal2-hide { - -webkit-animation: hideSweetToast .2s forwards; - animation: hideSweetToast .2s forwards; } - .swal2-popup.swal2-toast .swal2-animate-success-line-tip { - -webkit-animation: animate-toast-success-tip .75s; - animation: animate-toast-success-tip .75s; } - .swal2-popup.swal2-toast .swal2-animate-success-line-long { - -webkit-animation: animate-toast-success-long .75s; - animation: animate-toast-success-long .75s; } - -@-webkit-keyframes showSweetToast { - 0% { - -webkit-transform: translateY(-10px) rotateZ(2deg); - transform: translateY(-10px) rotateZ(2deg); - opacity: 0; } - 33% { - -webkit-transform: translateY(0) rotateZ(-2deg); - transform: translateY(0) rotateZ(-2deg); - opacity: .5; } - 66% { - -webkit-transform: translateY(5px) rotateZ(2deg); - transform: translateY(5px) rotateZ(2deg); - opacity: .7; } - 100% { - -webkit-transform: translateY(0) rotateZ(0); - transform: translateY(0) rotateZ(0); - opacity: 1; } } - -@keyframes showSweetToast { - 0% { - -webkit-transform: translateY(-10px) rotateZ(2deg); - transform: translateY(-10px) rotateZ(2deg); - opacity: 0; } - 33% { - -webkit-transform: translateY(0) rotateZ(-2deg); - transform: translateY(0) rotateZ(-2deg); - opacity: .5; } - 66% { - -webkit-transform: translateY(5px) rotateZ(2deg); - transform: translateY(5px) rotateZ(2deg); - opacity: .7; } - 100% { - -webkit-transform: translateY(0) rotateZ(0); - transform: translateY(0) rotateZ(0); - opacity: 1; } } - -@-webkit-keyframes hideSweetToast { - 0% { - opacity: 1; } - 33% { - opacity: .5; } - 100% { - -webkit-transform: rotateZ(1deg); - transform: rotateZ(1deg); - opacity: 0; } } - -@keyframes hideSweetToast { - 0% { - opacity: 1; } - 33% { - opacity: .5; } - 100% { - -webkit-transform: rotateZ(1deg); - transform: rotateZ(1deg); - opacity: 0; } } - -@-webkit-keyframes animate-toast-success-tip { - 0% { - width: 0; - left: 1px; - top: 9px; } - 54% { - width: 0; - left: 2px; - top: 2px; } - 70% { - width: 26px; - left: -4px; - top: 10px; } - 84% { - width: 8px; - left: 12px; - top: 17px; } - 100% { - width: 12px; - left: 3px; - top: 18px; } } - -@keyframes animate-toast-success-tip { - 0% { - width: 0; - left: 1px; - top: 9px; } - 54% { - width: 0; - left: 2px; - top: 2px; } - 70% { - width: 26px; - left: -4px; - top: 10px; } - 84% { - width: 8px; - left: 12px; - top: 17px; } - 100% { - width: 12px; - left: 3px; - top: 18px; } } - -@-webkit-keyframes animate-toast-success-long { - 0% { - width: 0; - right: 22px; - top: 26px; } - 65% { - width: 0; - right: 15px; - top: 20px; } - 84% { - width: 18px; - right: 0; - top: 15px; } - 100% { - width: 22px; - right: 3px; - top: 15px; } } - -@keyframes animate-toast-success-long { - 0% { - width: 0; - right: 22px; - top: 26px; } - 65% { - width: 0; - right: 15px; - top: 20px; } - 84% { - width: 18px; - right: 0; - top: 15px; } - 100% { - width: 22px; - right: 3px; - top: 15px; } } - -html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown), -body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) { - overflow-y: hidden; - height: auto; } - -body.swal2-iosfix { - position: fixed; - left: 0; - right: 0; } - -body.swal2-no-backdrop .swal2-shown { - top: auto; - bottom: auto; - left: auto; - right: auto; - background-color: transparent; } - body.swal2-no-backdrop .swal2-shown > .swal2-modal { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } - body.swal2-no-backdrop .swal2-shown.swal2-top { - top: 0; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - body.swal2-no-backdrop .swal2-shown.swal2-top-start, body.swal2-no-backdrop .swal2-shown.swal2-top-left { - top: 0; - left: 0; } - body.swal2-no-backdrop .swal2-shown.swal2-top-end, body.swal2-no-backdrop .swal2-shown.swal2-top-right { - top: 0; - right: 0; } - body.swal2-no-backdrop .swal2-shown.swal2-center { - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); } - body.swal2-no-backdrop .swal2-shown.swal2-center-start, body.swal2-no-backdrop .swal2-shown.swal2-center-left { - top: 50%; - left: 0; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - body.swal2-no-backdrop .swal2-shown.swal2-center-end, body.swal2-no-backdrop .swal2-shown.swal2-center-right { - top: 50%; - right: 0; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); } - body.swal2-no-backdrop .swal2-shown.swal2-bottom { - bottom: 0; - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); } - body.swal2-no-backdrop .swal2-shown.swal2-bottom-start, body.swal2-no-backdrop .swal2-shown.swal2-bottom-left { - bottom: 0; - left: 0; } - body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .swal2-shown.swal2-bottom-right { - bottom: 0; - right: 0; } - -.swal2-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - position: fixed; - padding: 10px; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: transparent; - z-index: 1060; } - .swal2-container.swal2-top { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .swal2-container.swal2-top-start, .swal2-container.swal2-top-left { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .swal2-container.swal2-top-end, .swal2-container.swal2-top-right { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - .swal2-container.swal2-center { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .swal2-container.swal2-center-start, .swal2-container.swal2-center-left { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .swal2-container.swal2-center-end, .swal2-container.swal2-center-right { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - .swal2-container.swal2-bottom { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } - .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - .swal2-container.swal2-grow-fullscreen > .swal2-modal { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-item-align: stretch; - align-self: stretch; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .swal2-container.swal2-grow-row > .swal2-modal { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-line-pack: center; - align-content: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .swal2-container.swal2-grow-column { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left { - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right { - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } - .swal2-container.swal2-grow-column > .swal2-modal { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - -ms-flex-line-pack: center; - align-content: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right) > .swal2-modal { - margin: auto; } - @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-container .swal2-modal { - margin: 0 !important; } } - .swal2-container.swal2-fade { - -webkit-transition: background-color .1s; - transition: background-color .1s; } - .swal2-container.swal2-shown { - background-color: rgba(0, 0, 0, 0.4); } - -.swal2-popup { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - background-color: #fff; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 1rem; - padding: 1.25em; - border-radius: .3125em; - -webkit-box-sizing: border-box; - box-sizing: border-box; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - overflow-x: hidden; - overflow-y: auto; - display: none; - position: relative; - width: 32em; - max-width: 100%; } - .swal2-popup:focus { - outline: none; } - .swal2-popup.swal2-loading { - overflow-y: hidden; } - .swal2-popup .swal2-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .swal2-popup .swal2-title { - color: #595959; - font-size: 1.875em; - text-align: center; - font-weight: 600; - text-transform: none; - position: relative; - margin: 0 0 .4em; - padding: 0; - display: block; - word-wrap: break-word; } - .swal2-popup .swal2-actions { - height: 4em; - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] { - opacity: .4; - cursor: no-drop; } - .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm { - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: .25em solid transparent; - border-color: transparent; - width: 2.5em; - height: 2.5em; - padding: 0; - margin: .46875em; - background-color: transparent !important; - color: transparent; - cursor: default; - border-radius: 100%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel { - margin-left: 30px; - margin-right: 30px; } - .swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after { - display: inline-block; - content: ''; - margin-left: 5px; - height: 15px; - width: 15px; - border: 3px solid #999999; - -webkit-box-shadow: 1px 1px 1px #fff; - box-shadow: 1px 1px 1px #fff; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; } - .swal2-popup .swal2-styled { - border: 0; - border-radius: .25em; - -webkit-box-shadow: none; - box-shadow: none; - color: #fff; - cursor: pointer; - font-size: 1.0625em; - font-weight: 500; - margin: 0 .3125em; - padding: .625em 2em; } - .swal2-popup .swal2-styled:focus { - outline: none; - -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); - box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); } - .swal2-popup .swal2-styled::-moz-focus-inner { - border: 0; } - .swal2-popup .swal2-image { - margin: 1.25em auto; - max-width: 100%; } - .swal2-popup .swal2-close { - background: transparent; - border: 0; - margin: 0; - padding: 0; - width: 1.2em; - min-width: 1.2em; - height: 1.2em; - font-size: calc(2.5em - 0.25em); - line-height: 1.2em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - font-family: serif; - position: absolute; - top: 5px; - right: 8px; - cursor: pointer; - color: #cccccc; - -webkit-transition: color .1s ease; - transition: color .1s ease; } - .swal2-popup .swal2-close:hover { - color: #d55; } - .swal2-popup > .swal2-input, - .swal2-popup > .swal2-file, - .swal2-popup > .swal2-textarea, - .swal2-popup > .swal2-select, - .swal2-popup > .swal2-radio, - .swal2-popup > .swal2-checkbox { - display: none; } - .swal2-popup .swal2-content { - font-size: 1.125em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - font-weight: 300; - margin: 0; - padding: 0; - line-height: normal; - color: #545454; - word-wrap: break-word; } - .swal2-popup #swal2-content { - text-align: center; } - .swal2-popup .swal2-input, - .swal2-popup .swal2-file, - .swal2-popup .swal2-textarea, - .swal2-popup .swal2-select, - .swal2-popup .swal2-radio, - .swal2-popup .swal2-checkbox { - margin: 1em auto; } - .swal2-popup .swal2-input, - .swal2-popup .swal2-file, - .swal2-popup .swal2-textarea { - width: 100%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-size: 1.125em; - border-radius: 3px; - border: 1px solid #d9d9d9; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - -webkit-transition: border-color .3s, -webkit-box-shadow .3s; - transition: border-color .3s, -webkit-box-shadow .3s; - transition: border-color .3s, box-shadow .3s; - transition: border-color .3s, box-shadow .3s, -webkit-box-shadow .3s; } - .swal2-popup .swal2-input.swal2-inputerror, - .swal2-popup .swal2-file.swal2-inputerror, - .swal2-popup .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - -webkit-box-shadow: 0 0 2px #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; } - .swal2-popup .swal2-input:focus, - .swal2-popup .swal2-file:focus, - .swal2-popup .swal2-textarea:focus { - outline: none; - border: 1px solid #b4dbed; - -webkit-box-shadow: 0 0 3px #c4e6f5; - box-shadow: 0 0 3px #c4e6f5; } - .swal2-popup .swal2-input::-webkit-input-placeholder, - .swal2-popup .swal2-file::-webkit-input-placeholder, - .swal2-popup .swal2-textarea::-webkit-input-placeholder { - color: #cccccc; } - .swal2-popup .swal2-input:-ms-input-placeholder, - .swal2-popup .swal2-file:-ms-input-placeholder, - .swal2-popup .swal2-textarea:-ms-input-placeholder { - color: #cccccc; } - .swal2-popup .swal2-input::-ms-input-placeholder, - .swal2-popup .swal2-file::-ms-input-placeholder, - .swal2-popup .swal2-textarea::-ms-input-placeholder { - color: #cccccc; } - .swal2-popup .swal2-input::placeholder, - .swal2-popup .swal2-file::placeholder, - .swal2-popup .swal2-textarea::placeholder { - color: #cccccc; } - .swal2-popup .swal2-range input { - width: 80%; } - .swal2-popup .swal2-range output { - width: 20%; - font-weight: 600; - text-align: center; } - .swal2-popup .swal2-range input, - .swal2-popup .swal2-range output { - font-size: 1.125em; - height: 2.625em; - line-height: 2.625em; - margin: 1em auto; - padding: 0; } - .swal2-popup .swal2-input { - height: 2.625em; - padding: 0 .75em; } - .swal2-popup .swal2-input[type='number'] { - max-width: 10em; } - .swal2-popup .swal2-file { - font-size: 1.125em; } - .swal2-popup .swal2-textarea { - height: 6.75em; - padding: .75em; } - .swal2-popup .swal2-select { - color: #545454; - font-size: 1.125em; - padding: .375em .625em; - min-width: 50%; - max-width: 100%; } - .swal2-popup .swal2-radio, - .swal2-popup .swal2-checkbox { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .swal2-popup .swal2-radio label, - .swal2-popup .swal2-checkbox label { - font-size: 1.125em; - margin: 0 .6em; } - .swal2-popup .swal2-radio input, - .swal2-popup .swal2-checkbox input { - margin: 0 .4em; } - .swal2-popup .swal2-validationerror { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - background-color: #f0f0f0; - overflow: hidden; - padding: .625em; - color: gray; - font-size: 1em; - font-weight: 300; - display: none; } - .swal2-popup .swal2-validationerror::before { - content: '!'; - display: inline-block; - width: 1.5em; - height: 1.5em; - border-radius: 50%; - background-color: #ea7d7d; - color: #fff; - line-height: 1.5em; - font-weight: 600; - text-align: center; - margin: 0 .625em; } - -@supports (-ms-accelerator: true) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -.swal2-icon { - width: 80px; - height: 80px; - line-height: 80px; - border: 4px solid transparent; - border-radius: 50%; - margin: 1.25em auto 1.875em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - position: relative; - -webkit-box-sizing: content-box; - box-sizing: content-box; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-icon.swal2-error { - border-color: #f27474; } - .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - position: absolute; - height: 5px; - width: 47px; - background-color: #f27474; - display: block; - top: 37px; - border-radius: 2px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 17px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - right: 16px; } - .swal2-icon.swal2-warning, .swal2-icon.swal2-info, .swal2-icon.swal2-question { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 3.75em; - margin: .333333em auto .5em; } - .swal2-icon.swal2-warning { - color: #f8bb86; - border-color: #facea8; } - .swal2-icon.swal2-info { - color: #3fc3ee; - border-color: #9de0f6; } - .swal2-icon.swal2-question { - color: #87adbd; - border-color: #c9dae1; } - .swal2-icon.swal2-success { - border-color: #a5dc86; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'] { - border-radius: 50%; - position: absolute; - width: 60px; - height: 120px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] { - border-radius: 120px 0 0 120px; - top: -7px; - left: -33px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] { - border-radius: 0 120px 120px 0; - top: -11px; - left: 30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 0 60px; - transform-origin: 0 60px; } - .swal2-icon.swal2-success .swal2-success-ring { - width: 80px; - height: 80px; - border: 4px solid rgba(165, 220, 134, 0.2); - border-radius: 50%; - -webkit-box-sizing: content-box; - box-sizing: content-box; - position: absolute; - left: -4px; - top: -4px; - z-index: 2; } - .swal2-icon.swal2-success .swal2-success-fix { - width: 7px; - height: 90px; - position: absolute; - left: 26px; - top: 8px; - z-index: 1; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'] { - height: 5px; - background-color: #a5dc86; - display: block; - border-radius: 2px; - position: absolute; - z-index: 2; } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] { - width: 25px; - left: 14px; - top: 46px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] { - width: 47px; - right: 8px; - top: 38px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - -.swal2-progresssteps { - font-weight: 600; - padding: 0; - margin: 0 0 1.25em; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .swal2-progresssteps li { - display: inline-block; - position: relative; } - .swal2-progresssteps .swal2-progresscircle { - background: #3085d6; - border-radius: 2em; - color: #fff; - height: 2em; - line-height: 2em; - text-align: center; - width: 2em; - z-index: 20; } - .swal2-progresssteps .swal2-progresscircle:first-child { - margin-left: 0; } - .swal2-progresssteps .swal2-progresscircle:last-child { - margin-right: 0; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep { - background: #3085d6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle { - background: #add8e6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline { - background: #add8e6; } - .swal2-progresssteps .swal2-progressline { - background: #3085d6; - height: .4em; - width: 2.5em; - margin: 0 -1px; - z-index: 10; } - -[class^='swal2'] { - -webkit-tap-highlight-color: transparent; } - -@-webkit-keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@-webkit-keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -@keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -.swal2-show { - -webkit-animation: showSweetAlert .3s; - animation: showSweetAlert .3s; } - .swal2-show.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -.swal2-hide { - -webkit-animation: hideSweetAlert .15s forwards; - animation: hideSweetAlert .15s forwards; } - .swal2-hide.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -[dir='rtl'] .swal2-close { - left: 8px; - right: auto; } - -@-webkit-keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 2px; - top: 17px; } - 70% { - width: 50px; - left: -6px; - top: 35px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 2px; - top: 17px; } - 70% { - width: 50px; - left: -6px; - top: 35px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@-webkit-keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@-webkit-keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -@keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -.swal2-animate-success-line-tip { - -webkit-animation: animate-success-tip .75s; - animation: animate-success-tip .75s; } - -.swal2-animate-success-line-long { - -webkit-animation: animate-success-long .75s; - animation: animate-success-long .75s; } - -.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right { - -webkit-animation: rotatePlaceholder 4.25s ease-in; - animation: rotatePlaceholder 4.25s ease-in; } - -@-webkit-keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -@keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -.swal2-animate-error-icon { - -webkit-animation: animate-error-icon .5s; - animation: animate-error-icon .5s; } - -@-webkit-keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -@keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -.swal2-animate-x-mark { - -webkit-animation: animate-x-mark .5s; - animation: animate-x-mark .5s; } - -@-webkit-keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } diff --git a/dist/sweetalert2.js b/dist/sweetalert2.js deleted file mode 100644 index ea648c121..000000000 --- a/dist/sweetalert2.js +++ /dev/null @@ -1,1908 +0,0 @@ -/*! - * sweetalert2 v7.6.2 - * Released under the MIT License. - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Sweetalert2 = factory()); -}(this, (function () { 'use strict'; - -var defaultParams = { - title: '', - titleText: '', - text: '', - html: '', - type: null, - toast: false, - customClass: '', - target: 'body', - backdrop: true, - animation: true, - allowOutsideClick: true, - allowEscapeKey: true, - allowEnterKey: true, - showConfirmButton: true, - showCancelButton: false, - preConfirm: null, - confirmButtonText: 'OK', - confirmButtonAriaLabel: '', - confirmButtonColor: '#3085d6', - confirmButtonClass: null, - cancelButtonText: 'Cancel', - cancelButtonAriaLabel: '', - cancelButtonColor: '#aaa', - cancelButtonClass: null, - buttonsStyling: true, - reverseButtons: false, - focusConfirm: true, - focusCancel: false, - showCloseButton: false, - closeButtonAriaLabel: 'Close this dialog', - showLoaderOnConfirm: false, - imageUrl: null, - imageWidth: null, - imageHeight: null, - imageAlt: '', - imageClass: null, - timer: null, - width: null, - padding: null, - background: '#fff', - input: null, - inputPlaceholder: '', - inputValue: '', - inputOptions: {}, - inputAutoTrim: true, - inputClass: null, - inputAttributes: {}, - inputValidator: null, - grow: false, - position: 'center', - progressSteps: [], - currentProgressStep: null, - progressStepsDistance: null, - onBeforeOpen: null, - onOpen: null, - onClose: null, - useRejections: false, - expectRejections: false -}; - -var deprecatedParams = ['useRejections', 'expectRejections']; - -var swalPrefix = 'swal2-'; - -var prefix = function prefix(items) { - var result = {}; - for (var i in items) { - result[items[i]] = swalPrefix + items[i]; - } - return result; -}; - -var swalClasses = prefix(['container', 'shown', 'iosfix', 'popup', 'modal', 'no-backdrop', 'toast', 'toast-shown', 'overlay', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'header', 'content', 'actions', 'confirm', 'cancel', 'icon', 'image', 'input', 'has-input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea', 'inputerror', 'validationerror', 'progresssteps', 'activeprogressstep', 'progresscircle', 'progressline', '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']); - -var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']); - -var consolePrefix = 'SweetAlert2:'; - -/* - * Set hover, active and focus-states for buttons (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color) - */ -var colorLuminance = function colorLuminance(hex, lum) { - // Validate hex string - hex = String(hex).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - lum = lum || 0; - - // Convert to decimal and change luminosity - var rgb = '#'; - for (var i = 0; i < 3; i++) { - var c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - - return rgb; -}; - -/** - * Filter the unique values into a new array - * @param arr - */ -var uniqueArray = function uniqueArray(arr) { - var result = []; - for (var i in arr) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - return result; -}; - -/** - * Standardise console warnings - * @param message - */ -var warn = function warn(message) { - console.warn(consolePrefix + ' ' + message); -}; - -/** - * Standardise console errors - * @param message - */ -var error = function error(message) { - console.error(consolePrefix + ' ' + message); -}; - -/** - * Private global state for `warnOnce` - * @type {Array} - * @private - */ -var previousWarnOnceMessages = []; - -/** - * Show a console warning, but only if it hasn't already been shown - * @param message - */ -var warnOnce = function warnOnce(message) { - if (!(previousWarnOnceMessages.indexOf(message) !== -1)) { - previousWarnOnceMessages.push(message); - warn(message); - } -}; - -/** - * If `arg` is a function, call it (with no arguments or context) and return the result. - * Otherwise, just pass the value through - * @param arg - */ -var callIfFunction = function callIfFunction(arg) { - return typeof arg === 'function' ? arg() : arg; -}; - -// Remember state in cases where opening and handling a modal will fiddle with it. -var states = { - previousActiveElement: null, - previousBodyPadding: null - - // Detect Node env -};var isNodeEnv = function isNodeEnv() { - return typeof window === 'undefined' || typeof document === 'undefined'; -}; - -/* - * Add modal + overlay to DOM - */ -var init = function init(params) { - // Clean up the old popup if it exists - var c = getContainer(); - if (c) { - c.parentNode.removeChild(c); - removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - } - - if (isNodeEnv()) { - error('SweetAlert2 requires document to initialize'); - return; - } - - var container = document.createElement('div'); - container.className = swalClasses.container; - container.innerHTML = sweetHTML; - - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - targetElement.appendChild(container); - - var popup = getPopup(); - var content = getContent(); - var input = getChildByClass(content, swalClasses.input); - var file = getChildByClass(content, swalClasses.file); - var range = content.querySelector('.' + swalClasses.range + ' input'); - var rangeOutput = content.querySelector('.' + swalClasses.range + ' output'); - var select = getChildByClass(content, swalClasses.select); - var checkbox = content.querySelector('.' + swalClasses.checkbox + ' input'); - var textarea = getChildByClass(content, swalClasses.textarea); - - // a11y - popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive'); - - var resetValidationError = function resetValidationError() { - sweetAlert.isVisible() && sweetAlert.resetValidationError(); - }; - - input.oninput = resetValidationError; - file.onchange = resetValidationError; - select.onchange = resetValidationError; - checkbox.onchange = resetValidationError; - textarea.oninput = resetValidationError; - - range.oninput = function () { - resetValidationError(); - rangeOutput.value = range.value; - }; - - range.onchange = function () { - resetValidationError(); - range.previousSibling.value = range.value; - }; - - return popup; -}; - -/* - * Manipulate DOM - */ - -var sweetHTML = ('\n \n').replace(/(^|\n)\s*/g, ''); - -var getContainer = function getContainer() { - return document.body.querySelector('.' + swalClasses.container); -}; - -var getPopup = function getPopup() { - return getContainer() ? getContainer().querySelector('.' + swalClasses.popup) : null; -}; - -var getIcons = function getIcons() { - var popup = getPopup(); - return popup.querySelectorAll('.' + swalClasses.icon); -}; - -var elementByClass = function elementByClass(className) { - return getContainer() ? getContainer().querySelector('.' + className) : null; -}; - -var getTitle = function getTitle() { - return elementByClass(swalClasses.title); -}; - -var getContent = function getContent() { - return elementByClass(swalClasses.content); -}; - -var getImage = function getImage() { - return elementByClass(swalClasses.image); -}; - -var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses.progresssteps); -}; - -var getValidationError = function getValidationError() { - return elementByClass(swalClasses.validationerror); -}; - -var getConfirmButton = function getConfirmButton() { - return elementByClass(swalClasses.confirm); -}; - -var getCancelButton = function getCancelButton() { - return elementByClass(swalClasses.cancel); -}; - -var getButtonsWrapper = function getButtonsWrapper() { - warnOnce('swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead'); - return elementByClass(swalClasses.actions); -}; - -var getActions = function getActions() { - return elementByClass(swalClasses.actions); -}; - -var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); -}; - -var getFocusableElements = function getFocusableElements() { - var focusableElementsWithTabindex = Array.prototype.slice.call(getPopup().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')) - // sort according to tabindex - .sort(function (a, b) { - a = parseInt(a.getAttribute('tabindex')); - b = parseInt(b.getAttribute('tabindex')); - if (a > b) { - return 1; - } else if (a < b) { - return -1; - } - return 0; - }); - - var otherFocusableElements = Array.prototype.slice.call(getPopup().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, [tabindex="0"]')); - - return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)); -}; - -var isModal = function isModal() { - return !document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isToast = function isToast() { - return document.body.classList.contains(swalClasses['toast-shown']); -}; - -var isLoading = function isLoading() { - return getPopup().hasAttribute('data-loading'); -}; - -var hasClass = function hasClass(elem, className) { - if (elem.classList) { - return elem.classList.contains(className); - } - return false; -}; - -var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915/1331425 - var val = input.value; - input.value = ''; - input.value = val; - } -}; - -var addOrRemoveClass = function addOrRemoveClass(target, classList, add) { - if (!target || !classList) { - return; - } - if (typeof classList === 'string') { - classList = classList.split(/\s+/).filter(Boolean); - } - classList.forEach(function (className) { - if (target.forEach) { - target.forEach(function (elem) { - add ? elem.classList.add(className) : elem.classList.remove(className); - }); - } else { - add ? target.classList.add(className) : target.classList.remove(className); - } - }); -}; - -var addClass = function addClass(target, classList) { - addOrRemoveClass(target, classList, true); -}; - -var removeClass = function removeClass(target, classList) { - addOrRemoveClass(target, classList, false); -}; - -var getChildByClass = function getChildByClass(elem, className) { - for (var i = 0; i < elem.childNodes.length; i++) { - if (hasClass(elem.childNodes[i], className)) { - return elem.childNodes[i]; - } - } -}; - -var show = function show(elem, display) { - if (!display) { - display = elem.id === swalClasses.content ? 'block' : 'flex'; - } - elem.style.opacity = ''; - elem.style.display = display; -}; - -var hide = function hide(elem) { - elem.style.opacity = ''; - elem.style.display = 'none'; -}; - -var empty = function empty(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } -}; - -// borrowed from jquery $(elem).is(':visible') implementation -var isVisible = function isVisible(elem) { - return elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); -}; - -var removeStyleProperty = function removeStyleProperty(elem, property) { - if (elem.style.removeProperty) { - elem.style.removeProperty(property); - } else { - elem.style.removeAttribute(property); - } -}; - -var animationEndEvent = function () { - // Prevent run in Node env - if (isNodeEnv()) { - return false; - } - - var testEl = document.createElement('div'); - var transEndEventNames = { - 'WebkitAnimation': 'webkitAnimationEnd', - 'OAnimation': 'oAnimationEnd oanimationend', - 'animation': 'animationend' - }; - for (var i in transEndEventNames) { - if (transEndEventNames.hasOwnProperty(i) && typeof testEl.style[i] !== 'undefined') { - return transEndEventNames[i]; - } - } - - return false; -}(); - -// Reset previous window keydown handler and focued element -var resetPrevState = function resetPrevState() { - if (states.previousActiveElement && states.previousActiveElement.focus) { - var x = window.scrollX; - var y = window.scrollY; - states.previousActiveElement.focus(); - if (typeof x !== 'undefined' && typeof y !== 'undefined') { - // IE doesn't have scrollX/scrollY support - window.scrollTo(x, y); - } - } -}; - -// Measure width of scrollbar -// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286 -var measureScrollbar = function measureScrollbar() { - var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; - if (supportsTouch) { - return 0; - } - var scrollDiv = document.createElement('div'); - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; -}; - -/** - * Inject a string of CSS into the page header - * - * @param {String} css - */ - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; -}; - - - - - - - - - - - - - - - - - - - - - -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -var popupParams = _extends({}, defaultParams); -var queue = []; - -var previousWindowKeyDown = void 0; -var windowOnkeydownOverridden = void 0; - -/* - * Check for the existence of Promise - * Hopefully to avoid many github issues - */ -if (typeof Promise === 'undefined') { - error('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)'); -} - -/** - * Show relevant warnings for given params - * - * @param params - */ -var showWarningsForParams = function showWarningsForParams(params) { - for (var param in params) { - if (!sweetAlert.isValidParameter(param)) { - warn('Unknown parameter "' + param + '"'); - } - if (sweetAlert.isDeprecatedParameter(param)) { - warnOnce('The parameter "' + param + '" is deprecated and will be removed in the next major release.'); - } - } -}; - -/** - * Set type, text and actions on popup - * - * @param params - * @returns {boolean} - */ -var setParameters = function setParameters(params) { - // If a custom element is set, determine if it is valid - if (typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) { - warn('Target parameter is not valid, defaulting to "body"'); - params.target = 'body'; - } - - var popup = void 0; - var oldPopup = getPopup(); - var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target; - // If the model target has changed, refresh the popup - if (oldPopup && targetElement && oldPopup.parentNode !== targetElement.parentNode) { - popup = init(params); - } else { - popup = oldPopup || init(params); - } - - // Set popup width - if (params.width) { - popup.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width; - } - - // Set popup padding - if (params.padding) { - popup.style.padding = typeof params.padding === 'number' ? params.padding + 'px' : params.padding; - } - - popup.style.background = params.background; - var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.background = params.background; - } - - var container = getContainer(); - var title = getTitle(); - var content = getContent().querySelector('#' + swalClasses.content); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var closeButton = getCloseButton(); - - // Title - if (params.titleText) { - title.innerText = params.titleText; - } else { - title.innerHTML = params.title.split('\n').join('
    '); - } - - if (!params.backdrop) { - addClass([document.documentElement, document.body], swalClasses['no-backdrop']); - } - - // Content - if (params.text || params.html) { - if (_typeof(params.html) === 'object') { - content.innerHTML = ''; - if (0 in params.html) { - for (var _i = 0; _i in params.html; _i++) { - content.appendChild(params.html[_i].cloneNode(true)); - } - } else { - content.appendChild(params.html.cloneNode(true)); - } - } else if (params.html) { - content.innerHTML = params.html; - } else if (params.text) { - content.textContent = params.text; - } - show(content); - } else { - hide(content); - } - - // Position - if (params.position in swalClasses) { - addClass(container, swalClasses[params.position]); - } - - // Grow - if (params.grow && typeof params.grow === 'string') { - var growClass = 'grow-' + params.grow; - if (growClass in swalClasses) { - addClass(container, swalClasses[growClass]); - } - } - - // Close button - if (params.showCloseButton) { - closeButton.setAttribute('aria-label', params.closeButtonAriaLabel); - show(closeButton); - } else { - hide(closeButton); - } - - // Default Class - popup.className = swalClasses.popup; - if (params.toast) { - addClass([document.documentElement, document.body], swalClasses['toast-shown']); - addClass(popup, swalClasses.toast); - } else { - addClass(popup, swalClasses.modal); - } - - // Custom Class - if (params.customClass) { - addClass(popup, params.customClass); - } - - // Progress steps - var progressStepsContainer = getProgressSteps(); - var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10); - if (params.progressSteps.length) { - show(progressStepsContainer); - empty(progressStepsContainer); - if (currentProgressStep >= params.progressSteps.length) { - warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - params.progressSteps.forEach(function (step, index) { - var circle = document.createElement('li'); - addClass(circle, swalClasses.progresscircle); - circle.innerHTML = step; - if (index === currentProgressStep) { - addClass(circle, swalClasses.activeprogressstep); - } - progressStepsContainer.appendChild(circle); - if (index !== params.progressSteps.length - 1) { - var line = document.createElement('li'); - addClass(line, swalClasses.progressline); - if (params.progressStepsDistance) { - line.style.width = params.progressStepsDistance; - } - progressStepsContainer.appendChild(line); - } - }); - } else { - hide(progressStepsContainer); - } - - // Icon - var icons = getIcons(); - for (var _i2 = 0; _i2 < icons.length; _i2++) { - hide(icons[_i2]); - } - if (params.type) { - var validType = false; - for (var iconType in iconTypes) { - if (params.type === iconType) { - validType = true; - break; - } - } - if (!validType) { - error('Unknown alert type: ' + params.type); - return false; - } - var icon = popup.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]); - show(icon); - - // Animate icon - if (params.animation) { - switch (params.type) { - case 'success': - addClass(icon, 'swal2-animate-success-icon'); - addClass(icon.querySelector('.swal2-success-line-tip'), 'swal2-animate-success-line-tip'); - addClass(icon.querySelector('.swal2-success-line-long'), 'swal2-animate-success-line-long'); - break; - case 'error': - addClass(icon, 'swal2-animate-error-icon'); - addClass(icon.querySelector('.swal2-x-mark'), 'swal2-animate-x-mark'); - break; - default: - break; - } - } - } - - // Custom image - var image = getImage(); - if (params.imageUrl) { - image.setAttribute('src', params.imageUrl); - image.setAttribute('alt', params.imageAlt); - show(image); - - if (params.imageWidth) { - image.setAttribute('width', params.imageWidth); - } else { - image.removeAttribute('width'); - } - - if (params.imageHeight) { - image.setAttribute('height', params.imageHeight); - } else { - image.removeAttribute('height'); - } - - image.className = swalClasses.image; - if (params.imageClass) { - addClass(image, params.imageClass); - } - } else { - hide(image); - } - - // Cancel button - if (params.showCancelButton) { - cancelButton.style.display = 'inline-block'; - } else { - hide(cancelButton); - } - - // Confirm button - if (params.showConfirmButton) { - removeStyleProperty(confirmButton, 'display'); - } else { - hide(confirmButton); - } - - // Actions (buttons) wrapper - if (!params.showConfirmButton && !params.showCancelButton) { - hide(actions); - } else { - show(actions); - } - - // Edit text on confirm and cancel buttons - confirmButton.innerHTML = params.confirmButtonText; - cancelButton.innerHTML = params.cancelButtonText; - - // ARIA labels for confirm and cancel buttons - confirmButton.setAttribute('aria-label', params.confirmButtonAriaLabel); - cancelButton.setAttribute('aria-label', params.cancelButtonAriaLabel); - - // Set buttons to selected background colors - if (params.buttonsStyling) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - - // Add buttons custom classes - confirmButton.className = swalClasses.confirm; - addClass(confirmButton, params.confirmButtonClass); - cancelButton.className = swalClasses.cancel; - addClass(cancelButton, params.cancelButtonClass); - - // Buttons styling - if (params.buttonsStyling) { - addClass([confirmButton, cancelButton], swalClasses.styled); - } else { - removeClass([confirmButton, cancelButton], swalClasses.styled); - - confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = ''; - cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = ''; - } - - // CSS animation - if (params.animation === true) { - removeClass(popup, swalClasses.noanimation); - } else { - addClass(popup, swalClasses.noanimation); - } - - // showLoaderOnConfirm && preConfirm - if (params.showLoaderOnConfirm && !params.preConfirm) { - 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'); - } -}; - -/** - * Animations - * - * @param animation - * @param onBeforeOpen - * @param onComplete - */ -var openPopup = function openPopup(animation, onBeforeOpen, onComplete) { - var container = getContainer(); - var popup = getPopup(); - - if (onBeforeOpen !== null && typeof onBeforeOpen === 'function') { - onBeforeOpen(popup); - } - - if (animation) { - addClass(popup, swalClasses.show); - addClass(container, swalClasses.fade); - removeClass(popup, swalClasses.hide); - } else { - removeClass(popup, swalClasses.fade); - } - show(popup); - - // scrolling is 'hidden' until animation is done, after that 'auto' - container.style.overflowY = 'hidden'; - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - container.style.overflowY = 'auto'; - }); - } else { - container.style.overflowY = 'auto'; - } - - addClass([document.documentElement, document.body, container], swalClasses.shown); - if (isModal()) { - fixScrollbar(); - iOSfix(); - } - states.previousActiveElement = document.activeElement; - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -var fixScrollbar = function fixScrollbar() { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = document.body.style.paddingRight; - document.body.style.paddingRight = measureScrollbar() + 'px'; - } -}; - -var undoScrollbar = function undoScrollbar() { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = states.previousBodyPadding; - states.previousBodyPadding = null; - } -}; - -// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425 -var iOSfix = function iOSfix() { - var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = offset * -1 + 'px'; - addClass(document.body, swalClasses.iosfix); - } -}; - -var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } -}; - -// SweetAlert entry point -var sweetAlert = function sweetAlert() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Prevent run in Node env - if (typeof window === 'undefined') { - return; - } - - if (typeof args[0] === 'undefined') { - error('SweetAlert2 expects at least 1 attribute!'); - return false; - } - - var params = _extends({}, popupParams); - - switch (_typeof(args[0])) { - case 'string': - params.title = args[0]; - params.html = args[1]; - params.type = args[2]; - - break; - - case 'object': - showWarningsForParams(args[0]); - _extends(params, args[0]); - params.extraParams = args[0].extraParams; - - if (params.input === 'email' && params.inputValidator === null) { - var inputValidator = function inputValidator(email) { - return new Promise(function (resolve, reject) { - var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/; - if (emailRegex.test(email)) { - resolve(); - } else { - reject('Invalid email address'); - } - }); - }; - params.inputValidator = params.expectRejections ? inputValidator : sweetAlert.adaptInputValidator(inputValidator); - } - - if (params.input === 'url' && params.inputValidator === null) { - var _inputValidator = function _inputValidator(url) { - return new Promise(function (resolve, reject) { - // taken from https://stackoverflow.com/a/3809435/1331425 - var urlRegex = /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/; - if (urlRegex.test(url)) { - resolve(); - } else { - reject('Invalid URL'); - } - }); - }; - params.inputValidator = params.expectRejections ? _inputValidator : sweetAlert.adaptInputValidator(_inputValidator); - } - break; - - default: - error('Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0])); - return false; - } - - setParameters(params); - - var container = getContainer(); - var popup = getPopup(); - - return new Promise(function (resolve, reject) { - // functions to handle all resolving/rejecting/settling - var succeedWith = function succeedWith(value) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - resolve(value); - } else { - resolve({ value: value }); - } - }; - var dismissWith = function dismissWith(dismiss) { - sweetAlert.closePopup(params.onClose); - if (params.useRejections) { - reject(dismiss); - } else { - resolve({ dismiss: dismiss }); - } - }; - var errorWith = function errorWith(error$$1) { - sweetAlert.closePopup(params.onClose); - reject(error$$1); - }; - - // Close on timer - if (params.timer) { - popup.timeout = setTimeout(function () { - return dismissWith('timer'); - }, params.timer); - } - - // Get input element by specified type or, if type isn't specified, by params.input - var getInput = function getInput(inputType) { - inputType = inputType || params.input; - if (!inputType) { - return null; - } - switch (inputType) { - case 'select': - case 'textarea': - case 'file': - return getChildByClass(content, swalClasses[inputType]); - case 'checkbox': - return popup.querySelector('.' + swalClasses.checkbox + ' input'); - case 'radio': - return popup.querySelector('.' + swalClasses.radio + ' input:checked') || popup.querySelector('.' + swalClasses.radio + ' input:first-child'); - case 'range': - return popup.querySelector('.' + swalClasses.range + ' input'); - default: - return getChildByClass(content, swalClasses.input); - } - }; - - // Get the value of the popup input - var getInputValue = function getInputValue() { - var input = getInput(); - if (!input) { - return null; - } - switch (params.input) { - case 'checkbox': - return input.checked ? 1 : 0; - case 'radio': - return input.checked ? input.value : null; - case 'file': - return input.files.length ? input.files[0] : null; - default: - return params.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - // input autofocus - if (params.input) { - setTimeout(function () { - var input = getInput(); - if (input) { - focusInput(input); - } - }, 0); - } - - var confirm = function confirm(value) { - if (params.showLoaderOnConfirm) { - sweetAlert.showLoading(); - } - - if (params.preConfirm) { - sweetAlert.resetValidationError(); - var preConfirmPromise = Promise.resolve().then(function () { - return params.preConfirm(value, params.extraParams); - }); - if (params.expectRejections) { - preConfirmPromise.then(function (preConfirmValue) { - return succeedWith(preConfirmValue || value); - }, function (validationError) { - sweetAlert.hideLoading(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - preConfirmPromise.then(function (preConfirmValue) { - if (isVisible(getValidationError())) { - sweetAlert.hideLoading(); - } else { - succeedWith(preConfirmValue || value); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - succeedWith(value); - } - }; - - // Mouse interactions - var onButtonEvent = function onButtonEvent(event) { - var e = event || window.event; - var target = e.target || e.srcElement; - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target)); - var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target)); - - switch (e.type) { - case 'mouseover': - case 'mouseup': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1); - } - } - break; - case 'mouseout': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - } else if (targetedCancel) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - } - break; - case 'mousedown': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2); - } - } - break; - case 'click': - // Clicked 'confirm' - if (targetedConfirm && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - if (params.input) { - var inputValue = getInputValue(); - - if (params.inputValidator) { - sweetAlert.disableInput(); - var validationPromise = Promise.resolve().then(function () { - return params.inputValidator(inputValue, params.extraParams); - }); - if (params.expectRejections) { - validationPromise.then(function () { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - confirm(inputValue); - }, function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } - }); - } else { - validationPromise.then(function (validationError) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (validationError) { - sweetAlert.showValidationError(validationError); - } else { - confirm(inputValue); - } - }, function (error$$1) { - return errorWith(error$$1); - }); - } - } else { - confirm(inputValue); - } - } else { - confirm(true); - } - - // Clicked 'cancel' - } else if (targetedCancel && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - dismissWith('cancel'); - } - break; - default: - } - }; - - var buttons = popup.querySelectorAll('button'); - for (var i = 0; i < buttons.length; i++) { - buttons[i].onclick = onButtonEvent; - buttons[i].onmouseover = onButtonEvent; - buttons[i].onmouseout = onButtonEvent; - buttons[i].onmousedown = onButtonEvent; - } - - // Closing popup by close button - getCloseButton().onclick = function () { - dismissWith('close'); - }; - - if (params.toast) { - // Closing popup by overlay click - popup.onclick = function (e) { - if (e.target !== popup || params.showConfirmButton || params.showCancelButton) { - return; - } - if (params.allowOutsideClick) { - sweetAlert.closePopup(params.onClose); - dismissWith('overlay'); - } - }; - } else { - var ignoreOutsideClick = false; - - // Ignore click events that had mousedown on the popup but mouseup on the container - // This can happen when the user drags a slider - popup.onmousedown = function () { - container.onmouseup = function (e) { - container.onmouseup = undefined; - // We only check if the mouseup target is the container because usually it doesn't - // have any other direct children aside of the popup - if (e.target === container) { - ignoreOutsideClick = true; - } - }; - }; - - // Ignore click events that had mousedown on the container but mouseup on the popup - container.onmousedown = function () { - popup.onmouseup = function (e) { - popup.onmouseup = undefined; - // We also need to check if the mouseup target is a child of the popup - if (e.target === popup || popup.contains(e.target)) { - ignoreOutsideClick = true; - } - }; - }; - - container.onclick = function (e) { - if (ignoreOutsideClick) { - ignoreOutsideClick = false; - return; - } - if (e.target !== container) { - return; - } - if (callIfFunction(params.allowOutsideClick)) { - dismissWith('overlay'); - } - }; - } - - var content = getContent(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - // Reverse buttons (Confirm on the right side) - if (params.reverseButtons) { - confirmButton.parentNode.insertBefore(cancelButton, confirmButton); - } else { - confirmButton.parentNode.insertBefore(confirmButton, cancelButton); - } - - // Focus handling - var setFocus = function setFocus(index, increment) { - var focusableElements = getFocusableElements(params.focusCancel); - // search for visible elements and select the next possible match - for (var _i3 = 0; _i3 < focusableElements.length; _i3++) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - - // determine if element is visible - var el = focusableElements[index]; - if (isVisible(el)) { - return el.focus(); - } - } - }; - - var handleKeyDown = function handleKeyDown(event) { - var e = event || window.event; - - var arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Left', 'Right', 'Up', 'Down' // IE11 - ]; - - if (e.key === 'Enter' && !e.isComposing) { - if (e.target === getInput()) { - if (['textarea', 'file'].indexOf(params.input) !== -1) { - return; // do not submit - } - - sweetAlert.clickConfirm(); - e.preventDefault(); - } - - // TAB - } else if (e.key === 'Tab') { - var targetElement = e.target || e.srcElement; - - var focusableElements = getFocusableElements(params.focusCancel); - var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. - for (var _i4 = 0; _i4 < focusableElements.length; _i4++) { - if (targetElement === focusableElements[_i4]) { - btnIndex = _i4; - break; - } - } - - if (!e.shiftKey) { - // Cycle to the next button - setFocus(btnIndex, 1); - } else { - // Cycle to the prev button - setFocus(btnIndex, -1); - } - e.stopPropagation(); - e.preventDefault(); - - // ARROWS - switch focus between buttons - } else if (arrowKeys.indexOf(e.key) !== -1) { - // focus Cancel button if Confirm button is currently focused - if (document.activeElement === confirmButton && isVisible(cancelButton)) { - cancelButton.focus(); - // and vice versa - } else if (document.activeElement === cancelButton && isVisible(confirmButton)) { - confirmButton.focus(); - } - - // ESC - } else if ((e.key === 'Escape' || e.key === 'Esc') && callIfFunction(params.allowEscapeKey) === true) { - dismissWith('esc'); - } - }; - - if (params.toast && windowOnkeydownOverridden) { - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - if (!params.toast && !windowOnkeydownOverridden) { - previousWindowKeyDown = window.onkeydown; - windowOnkeydownOverridden = true; - window.onkeydown = handleKeyDown; - } - - // Loading state - if (params.buttonsStyling) { - confirmButton.style.borderLeftColor = params.confirmButtonColor; - confirmButton.style.borderRightColor = params.confirmButtonColor; - } - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.hideLoading = sweetAlert.disableLoading = function () { - if (!params.showConfirmButton) { - hide(confirmButton); - if (!params.showCancelButton) { - hide(getActions()); - } - } - removeClass([popup, actions], swalClasses.loading); - popup.removeAttribute('aria-busy'); - popup.removeAttribute('data-loading'); - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.getTitle = function () { - return getTitle(); - }; - sweetAlert.getContent = function () { - return getContent(); - }; - sweetAlert.getInput = function () { - return getInput(); - }; - sweetAlert.getImage = function () { - return getImage(); - }; - sweetAlert.getButtonsWrapper = function () { - return getButtonsWrapper(); - }; - sweetAlert.getActions = function () { - return getActions(); - }; - sweetAlert.getConfirmButton = function () { - return getConfirmButton(); - }; - sweetAlert.getCancelButton = function () { - return getCancelButton(); - }; - sweetAlert.isLoading = function () { - return isLoading(); - }; - - sweetAlert.enableButtons = function () { - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.disableButtons = function () { - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - sweetAlert.enableConfirmButton = function () { - confirmButton.disabled = false; - }; - - sweetAlert.disableConfirmButton = function () { - confirmButton.disabled = true; - }; - - sweetAlert.enableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i5 = 0; _i5 < radios.length; _i5++) { - radios[_i5].disabled = false; - } - } else { - input.disabled = false; - } - }; - - sweetAlert.disableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input && input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i6 = 0; _i6 < radios.length; _i6++) { - radios[_i6].disabled = true; - } - } else { - input.disabled = true; - } - }; - - // Show block with validation error - sweetAlert.showValidationError = function (error$$1) { - var validationError = getValidationError(); - validationError.innerHTML = error$$1; - var popupComputedStyle = window.getComputedStyle(popup); - validationError.style.marginLeft = '-' + popupComputedStyle.getPropertyValue('padding-left'); - validationError.style.marginRight = '-' + popupComputedStyle.getPropertyValue('padding-right'); - show(validationError); - - var input = getInput(); - if (input) { - input.setAttribute('aria-invalid', true); - input.setAttribute('aria-describedBy', swalClasses.validationerror); - focusInput(input); - addClass(input, swalClasses.inputerror); - } - }; - - // Hide block with validation error - sweetAlert.resetValidationError = function () { - var validationError = getValidationError(); - hide(validationError); - - var input = getInput(); - if (input) { - input.removeAttribute('aria-invalid'); - input.removeAttribute('aria-describedBy'); - removeClass(input, swalClasses.inputerror); - } - }; - - sweetAlert.getProgressSteps = function () { - return params.progressSteps; - }; - - sweetAlert.setProgressSteps = function (progressSteps) { - params.progressSteps = progressSteps; - setParameters(params); - }; - - sweetAlert.showProgressSteps = function () { - show(getProgressSteps()); - }; - - sweetAlert.hideProgressSteps = function () { - hide(getProgressSteps()); - }; - - sweetAlert.enableButtons(); - sweetAlert.hideLoading(); - sweetAlert.resetValidationError(); - - if (params.input) { - addClass(document.body, swalClasses['has-input']); - } - - // inputs - var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - var input = void 0; - for (var _i7 = 0; _i7 < inputTypes.length; _i7++) { - var inputClass = swalClasses[inputTypes[_i7]]; - var inputContainer = getChildByClass(content, inputClass); - input = getInput(inputTypes[_i7]); - - // set attributes - if (input) { - for (var j in input.attributes) { - if (input.attributes.hasOwnProperty(j)) { - var attrName = input.attributes[j].name; - if (attrName !== 'type' && attrName !== 'value') { - input.removeAttribute(attrName); - } - } - } - for (var attr in params.inputAttributes) { - input.setAttribute(attr, params.inputAttributes[attr]); - } - } - - // set class - inputContainer.className = inputClass; - if (params.inputClass) { - addClass(inputContainer, params.inputClass); - } - - hide(inputContainer); - } - - var populateInputOptions = void 0; - switch (params.input) { - case 'text': - case 'email': - case 'password': - case 'number': - case 'tel': - case 'url': - input = getChildByClass(content, swalClasses.input); - input.value = params.inputValue; - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'file': - input = getChildByClass(content, swalClasses.file); - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'range': - var range = getChildByClass(content, swalClasses.range); - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - rangeInput.value = params.inputValue; - rangeInput.type = params.input; - rangeOutput.value = params.inputValue; - show(range); - break; - case 'select': - var select = getChildByClass(content, swalClasses.select); - select.innerHTML = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - placeholder.innerHTML = params.inputPlaceholder; - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - populateInputOptions = function populateInputOptions(inputOptions) { - for (var optionValue in inputOptions) { - var option = document.createElement('option'); - option.value = optionValue; - option.innerHTML = inputOptions[optionValue]; - if (params.inputValue.toString() === optionValue) { - option.selected = true; - } - select.appendChild(option); - } - show(select); - select.focus(); - }; - break; - case 'radio': - var radio = getChildByClass(content, swalClasses.radio); - radio.innerHTML = ''; - populateInputOptions = function populateInputOptions(inputOptions) { - for (var radioValue in inputOptions) { - var radioInput = document.createElement('input'); - var radioLabel = document.createElement('label'); - var radioLabelSpan = document.createElement('span'); - radioInput.type = 'radio'; - radioInput.name = swalClasses.radio; - radioInput.value = radioValue; - if (params.inputValue.toString() === radioValue) { - radioInput.checked = true; - } - radioLabelSpan.innerHTML = inputOptions[radioValue]; - radioLabel.appendChild(radioInput); - radioLabel.appendChild(radioLabelSpan); - radioLabel.for = radioInput.id; - radio.appendChild(radioLabel); - } - show(radio); - var radios = radio.querySelectorAll('input'); - if (radios.length) { - radios[0].focus(); - } - }; - break; - case 'checkbox': - var checkbox = getChildByClass(content, swalClasses.checkbox); - var checkboxInput = getInput('checkbox'); - checkboxInput.type = 'checkbox'; - checkboxInput.value = 1; - checkboxInput.id = swalClasses.checkbox; - checkboxInput.checked = Boolean(params.inputValue); - var label = checkbox.getElementsByTagName('span'); - if (label.length) { - checkbox.removeChild(label[0]); - } - label = document.createElement('span'); - label.innerHTML = params.inputPlaceholder; - checkbox.appendChild(label); - show(checkbox); - break; - case 'textarea': - var textarea = getChildByClass(content, swalClasses.textarea); - textarea.value = params.inputValue; - textarea.placeholder = params.inputPlaceholder; - show(textarea); - break; - case null: - break; - default: - error('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"'); - break; - } - - if (params.input === 'select' || params.input === 'radio') { - if (params.inputOptions instanceof Promise) { - sweetAlert.showLoading(); - params.inputOptions.then(function (inputOptions) { - sweetAlert.hideLoading(); - populateInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - populateInputOptions(params.inputOptions); - } else { - error('Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions)); - } - } - - openPopup(params.animation, params.onBeforeOpen, params.onOpen); - - if (!params.toast) { - if (!callIfFunction(params.allowEnterKey)) { - if (document.activeElement) { - document.activeElement.blur(); - } - } else if (params.focusCancel && isVisible(cancelButton)) { - cancelButton.focus(); - } else if (params.focusConfirm && isVisible(confirmButton)) { - confirmButton.focus(); - } else { - setFocus(-1, 1); - } - } - - // fix scroll - getContainer().scrollTop = 0; - }); -}; - -/* - * Global function to determine if swal2 popup is shown - */ -sweetAlert.isVisible = function () { - return !!getPopup(); -}; - -/* - * Global function for chaining sweetAlert popups - */ -sweetAlert.queue = function (steps) { - queue = steps; - var resetQueue = function resetQueue() { - queue = []; - document.body.removeAttribute('data-swal2-queue-step'); - }; - var queueResult = []; - return new Promise(function (resolve, reject) { - (function step(i, callback) { - if (i < queue.length) { - document.body.setAttribute('data-swal2-queue-step', i); - - sweetAlert(queue[i]).then(function (result) { - if (typeof result.value !== 'undefined') { - queueResult.push(result.value); - step(i + 1, callback); - } else { - resetQueue(); - resolve({ dismiss: result.dismiss }); - } - }); - } else { - resetQueue(); - resolve({ value: queueResult }); - } - })(0); - }); -}; - -/* - * Global function for getting the index of current popup in queue - */ -sweetAlert.getQueueStep = function () { - return document.body.getAttribute('data-swal2-queue-step'); -}; - -/* - * Global function for inserting a popup to the queue - */ -sweetAlert.insertQueueStep = function (step, index) { - if (index && index < queue.length) { - return queue.splice(index, 0, step); - } - return queue.push(step); -}; - -/* - * Global function for deleting a popup from the queue - */ -sweetAlert.deleteQueueStep = function (index) { - if (typeof queue[index] !== 'undefined') { - queue.splice(index, 1); - } -}; - -/* - * Global function to close sweetAlert - */ -sweetAlert.close = sweetAlert.closePopup = sweetAlert.closeModal = sweetAlert.closeToast = function (onComplete) { - var container = getContainer(); - var popup = getPopup(); - if (!popup) { - return; - } - removeClass(popup, swalClasses.show); - addClass(popup, swalClasses.hide); - clearTimeout(popup.timeout); - - if (!isToast()) { - resetPrevState(); - window.onkeydown = previousWindowKeyDown; - windowOnkeydownOverridden = false; - } - - var removePopupAndResetState = function removePopupAndResetState() { - if (container.parentNode) { - container.parentNode.removeChild(container); - } - removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]); - - if (isModal()) { - undoScrollbar(); - undoIOSfix(); - } - }; - - // If animation is supported, animate - if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) { - popup.addEventListener(animationEndEvent, function swalCloseEventFinished() { - popup.removeEventListener(animationEndEvent, swalCloseEventFinished); - if (hasClass(popup, swalClasses.hide)) { - removePopupAndResetState(); - } - }); - } else { - // Otherwise, remove immediately - removePopupAndResetState(); - } - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(popup); - }); - } -}; - -/* - * Global function to click 'Confirm' button - */ -sweetAlert.clickConfirm = function () { - return getConfirmButton().click(); -}; - -/* - * Global function to click 'Cancel' button - */ -sweetAlert.clickCancel = function () { - return getCancelButton().click(); -}; - -/** - * Show spinner instead of Confirm button and disable Cancel button - */ -sweetAlert.showLoading = sweetAlert.enableLoading = function () { - var popup = getPopup(); - if (!popup) { - sweetAlert(''); - } - popup = getPopup(); - var actions = getActions(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - show(actions); - show(confirmButton, 'inline-block'); - addClass([popup, actions], swalClasses.loading); - confirmButton.disabled = true; - cancelButton.disabled = true; - - popup.setAttribute('data-loading', true); - popup.setAttribute('aria-busy', true); - popup.focus(); -}; - -/** - * Is valid parameter - * @param {String} paramName - */ -sweetAlert.isValidParameter = function (paramName) { - return defaultParams.hasOwnProperty(paramName) || paramName === 'extraParams'; -}; - -/** - * Is deprecated parameter - * @param {String} paramName - */ -sweetAlert.isDeprecatedParameter = function (paramName) { - return deprecatedParams.indexOf(paramName) !== -1; -}; - -/** - * Set default params for each popup - * @param {Object} userParams - */ -sweetAlert.setDefaults = function (userParams) { - if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') { - return error('the argument for setDefaults() is required and has to be a object'); - } - - showWarningsForParams(userParams); - - // assign valid params from userParams to popupParams - for (var param in userParams) { - if (sweetAlert.isValidParameter(param)) { - popupParams[param] = userParams[param]; - } - } -}; - -/** - * Reset default params for each popup - */ -sweetAlert.resetDefaults = function () { - popupParams = _extends({}, defaultParams); -}; - -/** - * Adapt a legacy inputValidator for use with expectRejections=false - */ -sweetAlert.adaptInputValidator = function (legacyValidator) { - return function adaptedInputValidator(inputValue, extraParams) { - return legacyValidator.call(this, inputValue, extraParams).then(function () { - return undefined; - }, function (validationError) { - return validationError; - }); - }; -}; - -sweetAlert.noop = function () {}; - -sweetAlert.version = '7.6.2'; - -sweetAlert.default = sweetAlert; - -/** - * Set default params if `window._swalDefaults` is an object - */ -if (typeof window !== 'undefined' && _typeof(window._swalDefaults) === 'object') { - sweetAlert.setDefaults(window._swalDefaults); -} - -return sweetAlert; - -}))); -if (typeof window !== 'undefined' && window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2; diff --git a/dist/sweetalert2.min.css b/dist/sweetalert2.min.css deleted file mode 100644 index 67fe796e7..000000000 --- a/dist/sweetalert2.min.css +++ /dev/null @@ -1 +0,0 @@ -body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-actions{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;height:2.2em}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-loading{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-input{height:2em;font-size:1em;margin:.3125em auto}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-validationerror{font-size:1em}body.swal2-toast-shown>.swal2-container{position:fixed;background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-shown{background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-top{top:0;left:50%;bottom:auto;right:auto;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-top-end,body.swal2-toast-shown>.swal2-container.swal2-top-right{top:0;left:auto;bottom:auto;right:0}body.swal2-toast-shown>.swal2-container.swal2-top-left,body.swal2-toast-shown>.swal2-container.swal2-top-start{top:0;left:0;bottom:auto;right:auto}body.swal2-toast-shown>.swal2-container.swal2-center-left,body.swal2-toast-shown>.swal2-container.swal2-center-start{top:50%;left:0;bottom:auto;right:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-center{top:50%;left:50%;bottom:auto;right:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-toast-shown>.swal2-container.swal2-center-end,body.swal2-toast-shown>.swal2-container.swal2-center-right{top:50%;left:auto;bottom:auto;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-left,body.swal2-toast-shown>.swal2-container.swal2-bottom-start{top:auto;left:0;bottom:0;right:auto}body.swal2-toast-shown>.swal2-container.swal2-bottom{top:auto;left:50%;bottom:0;right:auto;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-end,body.swal2-toast-shown>.swal2-container.swal2-bottom-right{top:auto;left:auto;bottom:0;right:0}.swal2-popup.swal2-toast{width:auto;padding:.625em;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow-y:hidden;-webkit-box-shadow:0 0 10px #d9d9d9;box-shadow:0 0 10px #d9d9d9}.swal2-popup.swal2-toast .swal2-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.swal2-popup.swal2-toast .swal2-title{font-size:1em;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin:0 .6em}.swal2-popup.swal2-toast .swal2-close{position:initial}.swal2-popup.swal2-toast .swal2-content{font-size:.875em;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-popup.swal2-toast .swal2-icon{width:32px;min-width:32px;height:32px;margin:0}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-info,.swal2-popup.swal2-toast .swal2-icon.swal2-question,.swal2-popup.swal2-toast .swal2-icon.swal2-warning{font-size:26px;line-height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:14px;width:22px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:5px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:5px}.swal2-popup.swal2-toast .swal2-actions{margin:0 .3125em;height:auto}.swal2-popup.swal2-toast .swal2-styled{margin:0 .3125em;padding:.3125em .625em;font-size:1em}.swal2-popup.swal2-toast .swal2-styled:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(50,100,150,.4);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:32px;height:45px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:64px 0 0 64px;top:-4px;left:-15px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:32px 32px;transform-origin:32px 32px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 64px 64px 0;top:-5px;left:14px;-webkit-transform-origin:0 32px;transform-origin:0 32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{width:7px;height:43px;left:7px;top:0}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:5px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{width:12px;left:3px;top:18px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{width:22px;right:3px;top:15px}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:showSweetToast .5s;animation:showSweetToast .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:hideSweetToast .2s forwards;animation:hideSweetToast .2s forwards}.swal2-popup.swal2-toast .swal2-animate-success-line-tip{-webkit-animation:animate-toast-success-tip .75s;animation:animate-toast-success-tip .75s}.swal2-popup.swal2-toast .swal2-animate-success-line-long{-webkit-animation:animate-toast-success-long .75s;animation:animate-toast-success-long .75s}@-webkit-keyframes showSweetToast{0%{-webkit-transform:translateY(-10px) rotateZ(2deg);transform:translateY(-10px) rotateZ(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotateZ(-2deg);transform:translateY(0) rotateZ(-2deg);opacity:.5}66%{-webkit-transform:translateY(5px) rotateZ(2deg);transform:translateY(5px) rotateZ(2deg);opacity:.7}100%{-webkit-transform:translateY(0) rotateZ(0);transform:translateY(0) rotateZ(0);opacity:1}}@keyframes showSweetToast{0%{-webkit-transform:translateY(-10px) rotateZ(2deg);transform:translateY(-10px) rotateZ(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotateZ(-2deg);transform:translateY(0) rotateZ(-2deg);opacity:.5}66%{-webkit-transform:translateY(5px) rotateZ(2deg);transform:translateY(5px) rotateZ(2deg);opacity:.7}100%{-webkit-transform:translateY(0) rotateZ(0);transform:translateY(0) rotateZ(0);opacity:1}}@-webkit-keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}100%{-webkit-transform:rotateZ(1deg);transform:rotateZ(1deg);opacity:0}}@keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}100%{-webkit-transform:rotateZ(1deg);transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes animate-toast-success-tip{0%{width:0;left:1px;top:9px}54%{width:0;left:2px;top:2px}70%{width:26px;left:-4px;top:10px}84%{width:8px;left:12px;top:17px}100%{width:12px;left:3px;top:18px}}@keyframes animate-toast-success-tip{0%{width:0;left:1px;top:9px}54%{width:0;left:2px;top:2px}70%{width:26px;left:-4px;top:10px}84%{width:8px;left:12px;top:17px}100%{width:12px;left:3px;top:18px}}@-webkit-keyframes animate-toast-success-long{0%{width:0;right:22px;top:26px}65%{width:0;right:15px;top:20px}84%{width:18px;right:0;top:15px}100%{width:22px;right:3px;top:15px}}@keyframes animate-toast-success-long{0%{width:0;right:22px;top:26px}65%{width:0;right:15px;top:20px}84%{width:18px;right:0;top:15px}100%{width:22px;right:3px;top:15px}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:hidden;height:auto}body.swal2-iosfix{position:fixed;left:0;right:0}body.swal2-no-backdrop .swal2-shown{top:auto;bottom:auto;left:auto;right:auto;background-color:transparent}body.swal2-no-backdrop .swal2-shown>.swal2-modal{-webkit-box-shadow:0 0 10px rgba(0,0,0,.4);box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-top-left,body.swal2-no-backdrop .swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-top-end,body.swal2-no-backdrop .swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-left,body.swal2-no-backdrop .swal2-shown.swal2-center-start{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-center-end,body.swal2-no-backdrop .swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop .swal2-shown.swal2-bottom-left,body.swal2-no-backdrop .swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-shown.swal2-bottom-end,body.swal2-no-backdrop .swal2-shown.swal2-bottom-right{bottom:0;right:0}.swal2-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;padding:10px;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:1060}.swal2-container.swal2-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container.swal2-grow-column{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{-webkit-transition:background-color .1s;transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;padding:1.25em;border-radius:.3125em;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow-x:hidden;overflow-y:auto;display:none;position:relative;width:32em;max-width:100%}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-popup .swal2-title{color:#595959;font-size:1.875em;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-popup .swal2-actions{height:4em;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm{-webkit-box-sizing:border-box;box-sizing:border-box;border:.25em solid transparent;border-color:transparent;width:2.5em;height:2.5em;padding:0;margin:.46875em;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;content:'';margin-left:5px;height:15px;width:15px;border:3px solid #999;-webkit-box-shadow:1px 1px 1px #fff;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{border:0;border-radius:.25em;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;font-size:1.0625em;font-weight:500;margin:0 .3125em;padding:.625em 2em}.swal2-popup .swal2-styled:focus{outline:0;-webkit-box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4);box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-styled::-moz-focus-inner{border:0}.swal2-popup .swal2-image{margin:1.25em auto;max-width:100%}.swal2-popup .swal2-close{background:0 0;border:0;margin:0;padding:0;width:1.2em;min-width:1.2em;height:1.2em;font-size:calc(2.5em - .25em);line-height:1.2em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;-webkit-transition:color .1s ease;transition:color .1s ease}.swal2-popup .swal2-close:hover{color:#d55}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{font-size:1.125em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:300;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-popup #swal2-content{text-align:center}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:1em auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:1.125em;border-radius:3px;border:1px solid #d9d9d9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-shadow:inset 0 1px 1px rgba(0,0,0,.06);-webkit-transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,box-shadow .3s;transition:border-color .3s,box-shadow .3s,-webkit-box-shadow .3s}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;-webkit-box-shadow:0 0 2px #f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{outline:0;border:1px solid #b4dbed;-webkit-box-shadow:0 0 3px #c4e6f5;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{width:80%}.swal2-popup .swal2-range output{width:20%;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{font-size:1.125em;height:2.625em;line-height:2.625em;margin:1em auto;padding:0}.swal2-popup .swal2-input{height:2.625em;padding:0 .75em}.swal2-popup .swal2-input[type=number]{max-width:10em}.swal2-popup .swal2-file{font-size:1.125em}.swal2-popup .swal2-textarea{height:6.75em;padding:.75em}.swal2-popup .swal2-select{color:#545454;font-size:1.125em;padding:.375em .625em;min-width:50%;max-width:100%}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-radio{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-popup .swal2-checkbox label,.swal2-popup .swal2-radio label{font-size:1.125em;margin:0 .6em}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-radio input{margin:0 .4em}.swal2-popup .swal2-validationerror{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#f0f0f0;overflow:hidden;padding:.625em;color:gray;font-size:1em;font-weight:300;display:none}.swal2-popup .swal2-validationerror::before{content:'!';display:inline-block;width:1.5em;height:1.5em;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:1.5em;font-weight:600;text-align:center;margin:0 .625em}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;line-height:80px;border:4px solid transparent;border-radius:50%;margin:1.25em auto 1.875em;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;-webkit-box-sizing:content-box;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-info,.swal2-icon.swal2-question,.swal2-icon.swal2-warning{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:3.75em;margin:.333333em auto .5em}.swal2-icon.swal2-warning{color:#f8bb86;border-color:#facea8}.swal2-icon.swal2-info{color:#3fc3ee;border-color:#9de0f6}.swal2-icon.swal2-question{color:#87adbd;border-color:#c9dae1}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid rgba(165,220,134,.2);border-radius:50%;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:26px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;padding:0;margin:0 0 1.25em;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;width:2.5em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:hideSweetAlert .15s forwards;animation:hideSweetAlert .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}[dir=rtl] .swal2-close{left:8px;right:auto}@-webkit-keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:2px;top:17px}70%{width:50px;left:-6px;top:35px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:2px;top:17px}70%{width:50px;left:-6px;top:35px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:animate-success-tip .75s;animation:animate-success-tip .75s}.swal2-animate-success-line-long{-webkit-animation:animate-success-long .75s;animation:animate-success-long .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:animate-error-icon .5s;animation:animate-error-icon .5s}@-webkit-keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:animate-x-mark .5s;animation:animate-x-mark .5s}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}} \ No newline at end of file diff --git a/dist/sweetalert2.min.js b/dist/sweetalert2.min.js deleted file mode 100644 index ab215d86d..000000000 --- a/dist/sweetalert2.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Sweetalert2=t()}(this,function(){"use strict";var e={title:"",titleText:"",text:"",html:"",type:null,toast:!1,customClass:"",target:"body",backdrop:!0,animation:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,showConfirmButton:!0,showCancelButton:!1,preConfirm:null,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:"#3085d6",confirmButtonClass:null,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:"#aaa",cancelButtonClass:null,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:null,imageWidth:null,imageHeight:null,imageAlt:"",imageClass:null,timer:null,width:null,padding:null,background:"#fff",input:null,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputClass:null,inputAttributes:{},inputValidator:null,grow:!1,position:"center",progressSteps:[],currentProgressStep:null,progressStepsDistance:null,onBeforeOpen:null,onOpen:null,onClose:null,useRejections:!1,expectRejections:!1},t=["useRejections","expectRejections"],n=function(e){var t={};for(var n in e)t[e[n]]="swal2-"+e[n];return t},o=n(["container","shown","iosfix","popup","modal","no-backdrop","toast","toast-shown","overlay","fade","show","hide","noanimation","close","title","header","content","actions","confirm","cancel","icon","image","input","has-input","file","range","select","radio","checkbox","textarea","inputerror","validationerror","progresssteps","activeprogressstep","progresscircle","progressline","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"]),i=n(["success","warning","info","question","error"]),r="SweetAlert2:",a=function(e,t){(e=String(e).replace(/[^0-9a-f]/gi,"")).length<6&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),t=t||0;for(var n="#",o=0;o<3;o++){var i=parseInt(e.substr(2*o,2),16);n+=("00"+(i=Math.round(Math.min(Math.max(0,i+i*t),255)).toString(16))).substr(i.length)}return n},s=function(e){console.warn(r+" "+e)},l=function(e){console.error(r+" "+e)},u=[],c=function(e){-1===u.indexOf(e)&&(u.push(e),s(e))},d=function(e){return"function"==typeof e?e():e},p={previousActiveElement:null,previousBodyPadding:null},f=function(){return"undefined"==typeof window||"undefined"==typeof document},m=function(e){var t=b();if(t&&(t.parentNode.removeChild(t),j([document.documentElement,document.body],[o["no-backdrop"],o["has-input"],o["toast-shown"]])),!f()){var n=document.createElement("div");n.className=o.container,n.innerHTML=g,("string"==typeof e.target?document.querySelector(e.target):e.target).appendChild(n);var i=v(),r=w(),a=N(r,o.input),s=N(r,o.file),u=r.querySelector("."+o.range+" input"),c=r.querySelector("."+o.range+" output"),d=N(r,o.select),p=r.querySelector("."+o.checkbox+" input"),m=N(r,o.textarea);i.setAttribute("aria-live",e.toast?"polite":"assertive");var h=function(){J.isVisible()&&J.resetValidationError()};return a.oninput=h,s.onchange=h,d.onchange=h,p.onchange=h,m.oninput=h,u.oninput=function(){h(),c.value=u.value},u.onchange=function(){h(),u.previousSibling.value=u.value},i}l("SweetAlert2 requires document to initialize")},g=('\n \n').replace(/(^|\n)\s*/g,""),b=function(){return document.body.querySelector("."+o.container)},v=function(){return b()?b().querySelector("."+o.popup):null},h=function(e){return b()?b().querySelector("."+e):null},y=function(){return h(o.title)},w=function(){return h(o.content)},C=function(){return h(o.image)},x=function(){return h(o.progresssteps)},k=function(){return h(o.validationerror)},S=function(){return h(o.confirm)},A=function(){return h(o.cancel)},B=function(){return h(o.actions)},P=function(){return h(o.close)},E=function(){var e=Array.prototype.slice.call(v().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(e,t){return(e=parseInt(e.getAttribute("tabindex")))>(t=parseInt(t.getAttribute("tabindex")))?1:e"),e.backdrop||O([document.documentElement,document.body],o["no-backdrop"]),e.text||e.html){if("object"===D(e.html))if(p.innerHTML="",0 in e.html)for(var E=0;E in e.html;E++)p.appendChild(e.html[E].cloneNode(!0));else p.appendChild(e.html.cloneNode(!0));else e.html?p.innerHTML=e.html:e.text&&(p.textContent=e.text);M(p)}else R(p);if(e.position in o&&O(c,o[e.position]),e.grow&&"string"==typeof e.grow){var L="grow-"+e.grow;L in o&&O(c,o[L])}e.showCloseButton?(k.setAttribute("aria-label",e.closeButtonAriaLabel),M(k)):R(k),t.className=o.popup,e.toast?(O([document.documentElement,document.body],o["toast-shown"]),O(t,o.toast)):O(t,o.modal),e.customClass&&O(t,e.customClass);var T=x(),q=parseInt(null===e.currentProgressStep?J.getQueueStep():e.currentProgressStep,10);e.progressSteps.length?(M(T),function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}(T),q>=e.progressSteps.length&&s("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),e.progressSteps.forEach(function(t,n){var i=document.createElement("li");if(O(i,o.progresscircle),i.innerHTML=t,n===q&&O(i,o.activeprogressstep),T.appendChild(i),n!==e.progressSteps.length-1){var r=document.createElement("li");O(r,o.progressline),e.progressStepsDistance&&(r.style.width=e.progressStepsDistance),T.appendChild(r)}})):R(T);for(var V=v().querySelectorAll("."+o.icon),N=0;Nwindow.innerHeight&&(p.previousBodyPadding=document.body.style.paddingRight,document.body.style.paddingRight=function(){if("ontouchstart"in window||navigator.msMaxTouchPoints)return 0;var e=document.createElement("div");e.style.width="50px",e.style.height="50px",e.style.overflow="scroll",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}()+"px")},$=function(){if(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream&&!T(document.body,o.iosfix)){var e=document.body.scrollTop;document.body.style.top=-1*e+"px",O(document.body,o.iosfix)}},J=function e(){for(var t=arguments.length,n=Array(t),i=0;i { gulp.task('default', ['sass', 'ts', 'compress']) gulp.task('watch', () => { - run('npm run assume-dist-unchanged').exec() - browserSync.init({ port: 8080, notify: false, diff --git a/package.json b/package.json index 283525e39..9d7e714e5 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,14 @@ "gulp-clean-css": "^3.9.0", "gulp-rename": "latest", "gulp-rollup": "latest", - "gulp-run": "^1.7.1", "gulp-sass": "latest", "gulp-sass-lint": "latest", "gulp-standard": "^8.0.0", "gulp-tslint": "^8.1.2", "gulp-typescript": "^3.2.3", "gulp-uglify": "latest", + "mkdirp": "~0.5.1", + "pify": "^3.0.0", "rollup": "^0.51.8", "rollup-plugin-babel": "^3.0.2", "rollup-plugin-css-only": "^0.2.0", @@ -67,9 +68,7 @@ "scripts": { "test": "testem ci", "lint-dts": "tslint sweetalert2.d.ts --format verbose", - "check-dts": "tsc sweetalert2.d.ts && npm run lint-dts", - "assume-dist-unchanged": "git ls-files dist | tr '\\n' ' ' | xargs git update-index --assume-unchanged", - "no-assume-dist-unchanged": "git ls-files dist | tr '\\n' ' ' | xargs git update-index --no-assume-unchanged" + "check-dts": "tsc sweetalert2.d.ts && npm run lint-dts" }, "bugs": "https://github.com/sweetalert2/sweetalert2/issues", "license": "MIT" diff --git a/yarn.lock b/yarn.lock index c7d074c79..f3e2a2050 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2351,15 +2351,6 @@ gulp-rollup@latest: rollup "^0.49.3" rollup-plugin-hypothetical "^1.1.0" -gulp-run@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/gulp-run/-/gulp-run-1.7.1.tgz#e17c0acb7c30b6e2aeee23c04442a96c0caceffa" - dependencies: - gulp-util "^3.0.0" - lodash.defaults "^4.0.1" - lodash.template "^4.0.2" - vinyl "^0.4.6" - gulp-sass-lint@latest: version "1.3.4" resolved "https://registry.yarnpkg.com/gulp-sass-lint/-/gulp-sass-lint-1.3.4.tgz#a9950c2dd050fd00fbf2ebc063016434a22100e2" @@ -3269,7 +3260,7 @@ lodash._reevaluate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" -lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: +lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -3299,10 +3290,6 @@ lodash.debounce@^3.1.1: dependencies: lodash._getnative "^3.0.0" -lodash.defaults@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - lodash.escape@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" @@ -3386,13 +3373,6 @@ lodash.template@^3.0.0: lodash.restparam "^3.0.0" lodash.templatesettings "^3.0.0" -lodash.template@^4.0.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.templatesettings "^4.0.0" - lodash.templatesettings@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" @@ -3400,12 +3380,6 @@ lodash.templatesettings@^3.0.0: lodash._reinterpolate "^3.0.0" lodash.escape "^3.0.0" -lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - dependencies: - lodash._reinterpolate "~3.0.0" - lodash.uniqby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" @@ -3599,7 +3573,7 @@ minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -5581,7 +5555,7 @@ vinyl-sourcemaps-apply@0.2.1, vinyl-sourcemaps-apply@^0.2.0: dependencies: source-map "^0.5.1" -vinyl@^0.4.0, vinyl@^0.4.6: +vinyl@^0.4.0: version "0.4.6" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" dependencies: