PageSourceSearch

https://www.1miamirealty.com/js/plugins/sweetalert2/js/sweetalert2.js?v=1

js 1miamirealty.com collected 2026-10-08 12:35:25 UTC 117,403 bytes, 1,965 lines download raw bytes

1/*!
2 * sweetalert2 v7.12.15
3 * Released under the MIT License.
4 */
5(function (global, factory) {
6    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
7            typeof define === 'function' && define.amd ? define(factory) :
8            (global.Sweetalert2 = factory());
9}(this, (function () {
10    'use strict';
11
12    var styles = "@-webkit-keyframes swal2-show {\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 swal2-show {\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 swal2-hide {\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 swal2-hide {\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@-webkit-keyframes swal2-animate-success-line-tip {\n  0% {\n    top: 19px;\n    left: 1px;\n    width: 0; }\n  54% {\n    top: 17px;\n    left: 2px;\n    width: 0; }\n  70% {\n    top: 35px;\n    left: -6px;\n    width: 50px; }\n  84% {\n    top: 48px;\n    left: 21px;\n    width: 17px; }\n  100% {\n    top: 45px;\n    left: 14px;\n    width: 25px; } }\n\n@keyframes swal2-animate-success-line-tip {\n  0% {\n    top: 19px;\n    left: 1px;\n    width: 0; }\n  54% {\n    top: 17px;\n    left: 2px;\n    width: 0; }\n  70% {\n    top: 35px;\n    left: -6px;\n    width: 50px; }\n  84% {\n    top: 48px;\n    left: 21px;\n    width: 17px; }\n  100% {\n    top: 45px;\n    left: 14px;\n    width: 25px; } }\n\n@-webkit-keyframes swal2-animate-success-line-long {\n  0% {\n    top: 54px;\n    right: 46px;\n    width: 0; }\n  65% {\n    top: 54px;\n    right: 46px;\n    width: 0; }\n  84% {\n    top: 35px;\n    right: 0;\n    width: 55px; }\n  100% {\n    top: 38px;\n    right: 8px;\n    width: 47px; } }\n\n@keyframes swal2-animate-success-line-long {\n  0% {\n    top: 54px;\n    right: 46px;\n    width: 0; }\n  65% {\n    top: 54px;\n    right: 46px;\n    width: 0; }\n  84% {\n    top: 35px;\n    right: 0;\n    width: 55px; }\n  100% {\n    top: 38px;\n    right: 8px;\n    width: 47px; } }\n\n@-webkit-keyframes swal2-rotate-success-circular-line {\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 swal2-rotate-success-circular-line {\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@-webkit-keyframes swal2-animate-error-x-mark {\n  0% {\n    margin-top: 26px;\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    opacity: 0; }\n  50% {\n    margin-top: 26px;\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    opacity: 0; }\n  80% {\n    margin-top: -6px;\n    -webkit-transform: scale(1.15);\n            transform: scale(1.15); }\n  100% {\n    margin-top: 0;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1; } }\n\n@keyframes swal2-animate-error-x-mark {\n  0% {\n    margin-top: 26px;\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    opacity: 0; }\n  50% {\n    margin-top: 26px;\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    opacity: 0; }\n  80% {\n    margin-top: -6px;\n    -webkit-transform: scale(1.15);\n            transform: scale(1.15); }\n  100% {\n    margin-top: 0;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1; } }\n\n@-webkit-keyframes swal2-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 swal2-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\nbody.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    margin: .3125em auto;\n    font-size: 1em; }\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    right: auto;\n    bottom: auto;\n    left: 50%;\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    right: 0;\n    bottom: auto;\n    left: auto; }\n  body.swal2-toast-shown > .swal2-container.swal2-top-start, body.swal2-toast-shown > .swal2-container.swal2-top-left {\n    top: 0;\n    right: auto;\n    bottom: auto;\n    left: 0; }\n  body.swal2-toast-shown > .swal2-container.swal2-center-start, body.swal2-toast-shown > .swal2-container.swal2-center-left {\n    top: 50%;\n    right: auto;\n    bottom: auto;\n    left: 0;\n    -webkit-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-center {\n    top: 50%;\n    right: auto;\n    bottom: auto;\n    left: 50%;\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    right: 0;\n    bottom: auto;\n    left: auto;\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    right: auto;\n    bottom: 0;\n    left: 0; }\n  body.swal2-toast-shown > .swal2-container.swal2-bottom {\n    top: auto;\n    right: auto;\n    bottom: 0;\n    left: 50%;\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    right: 0;\n    bottom: 0;\n    left: auto; }\n\n.swal2-popup.swal2-toast {\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  width: auto;\n  padding: 0.625em;\n  -webkit-box-shadow: 0 0 10px #d9d9d9;\n          box-shadow: 0 0 10px #d9d9d9;\n  overflow-y: hidden; }\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    -webkit-box-pack: start;\n        -ms-flex-pack: start;\n            justify-content: flex-start;\n    margin: 0 .6em;\n    font-size: 18px;font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; }\n  .swal2-popup.swal2-toast .swal2-close {\n    position: initial; }\n  .swal2-popup.swal2-toast .swal2-content {\n    -webkit-box-pack: start;\n        -ms-flex-pack: start;\n            justify-content: flex-start;\n    font-size: 14px;font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; }\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    height: auto;\n    margin: 0 .3125em; }\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      position: absolute;\n      width: 32px;\n      height: 45px;\n      -webkit-transform: rotate(45deg);\n              transform: rotate(45deg);\n      border-radius: 50%; }\n      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\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        border-radius: 64px 0 0 64px; }\n      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n        top: -4px;\n        left: 15px;\n        -webkit-transform-origin: 0 32px;\n                transform-origin: 0 32px;\n        border-radius: 0 64px 64px 0; }\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      top: 0;\n      left: 7px;\n      width: 7px;\n      height: 43px; }\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        top: 18px;\n        left: 3px;\n        width: 12px; }\n      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n        top: 15px;\n        right: 3px;\n        width: 22px; }\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-icon .swal2-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-icon .swal2-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    top: 9px;\n    left: 1px;\n    width: 0; }\n  54% {\n    top: 2px;\n    left: 2px;\n    width: 0; }\n  70% {\n    top: 10px;\n    left: -4px;\n    width: 26px; }
12\n  84% {\n    top: 17px;\n    left: 12px;\n    width: 8px; }\n  100% {\n    top: 18px;\n    left: 3px;\n    width: 12px; } }\n\n@keyframes animate-toast-success-tip {\n  0% {\n    top: 9px;\n    left: 1px;\n    width: 0; }\n  54% {\n    top: 2px;\n    left: 2px;\n    width: 0; }\n  70% {\n    top: 10px;\n    left: -4px;\n    width: 26px; }\n  84% {\n    top: 17px;\n    left: 12px;\n    width: 8px; }\n  100% {\n    top: 18px;\n    left: 3px;\n    width: 12px; } }\n\n@-webkit-keyframes animate-toast-success-long {\n  0% {\n    top: 26px;\n    right: 22px;\n    width: 0; }\n  65% {\n    top: 20px;\n    right: 15px;\n    width: 0; }\n  84% {\n    top: 15px;\n    right: 0;\n    width: 18px; }\n  100% {\n    top: 15px;\n    right: 3px;\n    width: 22px; } }\n\n@keyframes animate-toast-success-long {\n  0% {\n    top: 26px;\n    right: 22px;\n    width: 0; }\n  65% {\n    top: 20px;\n    right: 15px;\n    width: 0; }\n  84% {\n    top: 15px;\n    right: 0;\n    width: 18px; }\n  100% {\n    top: 15px;\n    right: 3px;\n    width: 22px; } }\n\nhtml.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n  height: auto;\n  overflow-y: hidden; }\n\nbody.swal2-no-backdrop .swal2-shown {\n  top: auto;\n  right: auto;\n  bottom: auto;\n  left: 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    right: 0;\n    bottom: 0; }\n\n.swal2-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\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  padding: 10px;\n  background-color: transparent;\n  z-index: 1060;\n  overflow-x: hidden;\n  -webkit-overflow-scrolling: touch; }\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
12(.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  display: none;\n  position: relative;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  -webkit-box-pack: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  width: 32em;\n  max-width: 100%;\n  padding: 1.25em;\n  border-radius: 0.3125em;\n  background: #fff;\n  font-family: inherit;\n  font-size: 1rem;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box; }\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    display: block;\n    position: relative;\n    max-width: 100%;\n    margin: 0 0 0.4em;\n    padding: 0;\n    color: #595959;\n    font-size: 1.875em;\n    font-weight: 600;\n    text-align: center;\n    text-transform: none;\n    word-wrap: break-word; }\n  .swal2-popup .swal2-actions {\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    margin: 1.25em auto 0; }\n    .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n      opacity: .4; }\n    .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:hover {\n      background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.1)));\n      background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }\n    .swal2-popup .swal2-actions:not(.swal2-loading) .swal2-styled:active {\n      background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0.2)));\n      background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }\n    .swal2-popup .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n      width: 2.5em;\n      height: 2.5em;\n      margin: .46875em;\n      padding: 0;\n      border: .25em solid transparent;\n      border-radius: 100%;\n      border-color: transparent;\n      background-color: transparent !important;\n      color: transparent;\n      cursor: default;\n      -webkit-box-sizing: border-box;\n              box-sizing: border-box;\n      -webkit-animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n              animation: swal2-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-right: 30px;\n      margin-left: 30px; }\n    .swal2-popup .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n      display: inline-block;\n      width: 15px;\n      height: 15px;\n      margin-left: 5px;\n      border: 3px solid #999999;\n      border-radius: 50%;\n      border-right-color: transparent;\n      -webkit-box-shadow: 1px 1px 1px #fff;\n              box-shadow: 1px 1px 1px #fff;\n      content: '';\n      -webkit-animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n              animation: swal2-rotate-loading 1.5s linear 0s infinite normal; }\n  .swal2-popup .swal2-styled {\n    margin: 0 .3125em;\n    padding: .625em 2em;\n    font-weight: 500;\n    -webkit-box-shadow: none;\n            box-shadow: none; }\n    .swal2-popup .swal2-styled:not([disabled]) {\n      cursor: pointer; }\n    .swal2-popup .swal2-styled.swal2-confirm {\n      border: 0;\n      border-radius: 0.25em;\n      background-color: #3085d6;\n      color: #fff;\n      font-size: 1.0625em; }\n    .swal2-popup .swal2-styled.swal2-cancel {\n      border: 0;\n      border-radius: 0.25em;\n      background-color: #aaa;\n      color: #fff;\n      font-size: 1.0625em; }\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-footer {\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center;\n    margin: 1.25em 0 0;\n    padding-top: 1em;\n    border-top: 1px solid #eee;\n    color: #545454;\n    font-size: 1em; }\n  .swal2-popup .swal2-image {\n    max-width: 100%;\n    margin: 1.25em auto; }\n  .swal2-popup .swal2-close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center;\n    width: 1.2em;\n    min-width: 1.2em;\n    height: 1.2em;\n    margin: 0;\n    padding: 0;\n    -webkit-transition: color 0.1s ease-out;\n    transition: color 0.1s ease-out;\n    border: none;\n    border-radius: 0;\n    background: transparent;\n    color: #cccccc;\n    font-family: serif;\n    font-size: calc(2.5em - 0.25em);\n    line-height: 1.2em;\n    cursor: pointer; }\n    .swal2-popup .swal2-close:hover {\n      -webkit-transform: none;\n              transform: none;\n      color: #f27474; }\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    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center;\n    margin: 0;\n    padding: 0;\n    color: #545454;\n    font-size: 1.125em;\n    font-weight: 300;\n    line-height: normal;\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-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    border: 1px solid #d9d9d9;\n    border-radius: 0.1875em;\n    font-size: 1.125em;\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-box-sizing: border-box;\n            box-sizing: border-box; }\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      border: 1px solid #b4dbed;\n      outline: none;\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    height: 2.625em;\n    margin: 1em auto;\n    padding: 0;\n    font-size: 1.125em;\n    line-height: 2.625em; }\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: 0.75em; }\n  .swal2-popup .swal2-select {\n    min-width: 50%;\n    max-width: 100%;\n    padding: .375em .625em;\n    color: #545454;\n    font-size: 1.125em; }\n  .swal2-popup .swal2-radio,\n  .swal2-popup .swal2-checkbox {\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    .swal2-popup .swal2-radio label,\n    .swal2-popup .swal2-checkbox label {\n      margin: 0 .6em;\n      font-size: 1.125em; }\n    .swal2-popup .swal2-radio input,\n    .swal2-popup .swal2-checkbox input {\n      margin: 0 .4em; }\n  .swal2-popup .swal2-validationerror {\n    display: none;\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    padding: 0.625em;\n    background: #f0f0f0;\n    color: #666666;\n    font-size: 1em;\n    font-weight: 300;\n    overflow: hidden; }\n    .swal2-popup .swal2-validationerror::before {\n      display: inline-block;\n      width: 1.5em;\n      height: 1.5em;\n      margin: 0 .625em;\n      border-radius: 50%;\n      background-color: #f27474;\n      color: #fff;\n      font-weight: 600;\n      line-height: 1.5em;\n      text-align: center;\n      content: '!';\n      zoom: normal; }\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  position: relative;\n  -webkit-box-pack: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  width: 80px;\n  height: 80px;\n  margin: 1.25em auto 1.875em;\n  border: 4px solid transparent;\n  border-radius: 50%;\n  line-height: 80px;\n  cursor: default;\n  -webkit-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-user-select: none;\n     -moz-user-select: none;
12\n      -ms-user-select: none;\n          user-select: none;\n  zoom: normal; }\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      display: block;\n      position: absolute;\n      top: 37px;\n      width: 47px;\n      height: 5px;\n      border-radius: 2px;\n      background-color: #f27474; }\n      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n        left: 17px;\n        -webkit-transform: rotate(45deg);\n                transform: rotate(45deg); }\n      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n        right: 16px;\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg); }\n  .swal2-icon.swal2-warning, .swal2-icon.swal2-info, .swal2-icon.swal2-question {\n    margin: .333333em auto .5em;\n    font-family: inherit;\n    font-size: 3.75em; }\n  .swal2-icon.swal2-warning {\n    border-color: #facea8;\n    color: #f8bb86; }\n  .swal2-icon.swal2-info {\n    border-color: #9de0f6;\n    color: #3fc3ee; }\n  .swal2-icon.swal2-question {\n    border-color: #c9dae1;\n    color: #87adbd; }\n  .swal2-icon.swal2-success {\n    border-color: #a5dc86; }\n    .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n      position: absolute;\n      width: 60px;\n      height: 120px;\n      -webkit-transform: rotate(45deg);\n              transform: rotate(45deg);\n      border-radius: 50%; }\n      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\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        border-radius: 120px 0 0 120px; }\n      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\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        border-radius: 0 120px 120px 0; }\n    .swal2-icon.swal2-success .swal2-success-ring {\n      position: absolute;\n      top: -4px;\n      left: -4px;\n      width: 80px;\n      height: 80px;
12\n      border: 4px solid rgba(165, 220, 134, 0.3);\n      border-radius: 50%;\n      z-index: 2;\n      -webkit-box-sizing: content-box;\n              box-sizing: content-box; }\n    .swal2-icon.swal2-success .swal2-success-fix {\n      position: absolute;\n      top: 8px;\n      left: 26px;\n      width: 7px;\n      height: 90px;\n      -webkit-transform: rotate(-45deg);\n              transform: rotate(-45deg);\n      z-index: 1; }\n    .swal2-icon.swal2-success [class^='swal2-success-line'] {\n      display: block;\n      position: absolute;\n      height: 5px;\n      border-radius: 2px;\n      background-color: #a5dc86;\n      z-index: 2; }\n      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n        top: 46px;\n        left: 14px;\n        width: 25px;\n        -webkit-transform: rotate(45deg);\n                transform: rotate(45deg); }\n      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n        top: 38px;\n        right: 8px;\n        width: 47px;\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg); }\n\n.swal2-progresssteps {\n  -webkit-box-align: center;\n      -ms-flex-align: center;\n          align-items: center;\n  margin: 0 0 1.25em;\n  padding: 0;\n  font-weight: 600; }\n  .swal2-progresssteps li {\n    display: inline-block;\n    position: relative; }\n  .swal2-progresssteps .swal2-progresscircle {\n    width: 2em;\n    height: 2em;\n    border-radius: 2em;\n    background: #3085d6;\n    color: #fff;\n    line-height: 2em;\n    text-align: center;\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    width: 2.5em;\n    height: .4em;\n    margin: 0 -1px;\n    background: #3085d6;\n    z-index: 10; }\n\n[class^='swal2'] {\n  -webkit-tap-highlight-color: transparent; }\n\n.swal2-show {\n  -webkit-animation: swal2-show 0.3s;\n          animation: swal2-show 0.3s; }\n  .swal2-show.swal2-noanimation {\n    -webkit-animation: none;\n            animation: none; }\n\n.swal2-hide {\n  -webkit-animation: swal2-hide 0.15s forwards;\n          animation: swal2-hide 0.15s forwards; }\n  .swal2-hide.swal2-noanimation {\n    -webkit-animation: none;\n            animation: none; }\n\n[dir='rtl'] .swal2-close {\n  right: auto;\n  left: 0; }\n\n.swal2-animate-success-icon .swal2-success-line-tip {\n  -webkit-animation: swal2-animate-success-line-tip 0.75s;\n          animation: swal2-animate-success-line-tip 0.75s; }\n\n.swal2-animate-success-icon .swal2-success-line-long {\n  -webkit-animation: swal2-animate-success-line-long 0.75s;\n          animation: swal2-animate-success-line-long 0.75s; }\n\n.swal2-animate-success-icon .swal2-success-circular-line-right {\n  -webkit-animation: swal2-rotate-success-circular-line 4.25s ease-in;\n          animation: swal2-rotate-success-circular-line 4.25s ease-in; }\n\n.swal2-animate-error-icon {\n  -webkit-animation: swal2-animate-error-icon 0.5s;\n          animation: swal2-animate-error-icon 0.5s; }\n  .swal2-animate-error-icon .swal2-x-mark {\n    -webkit-animation: swal2-animate-error-x-mark 0.5s;\n            animation: swal2-animate-error-x-mark 0.5s; }\n\n@-webkit-keyframes swal2-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 swal2-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";
13
14    var defaultParams = {
15        title: '',
16        titleText: '',
17        text: '',
18        html: '',
19        footer: '',
20        type: null,
21        toast: false,
22        customClass: '',
23        target: 'body',
24        backdrop: true,
25        animation: true,
26        allowOutsideClick: true,
27        allowEscapeKey: true,
28        allowEnterKey: true,
29        showConfirmButton: true,
30        showCancelButton: false,
31        preConfirm: null,
32        confirmButtonText: 'OK',
33        confirmButtonAriaLabel: '',
34        confirmButtonColor: null,
35        confirmButtonClass: null,
36        cancelButtonText: 'Cancel',
37        cancelButtonAriaLabel: '',
38        cancelButtonColor: null,
39        cancelButtonClass: null,
40        buttonsStyling: true,
41        reverseButtons: false,
42        focusConfirm: true,
43        focusCancel: false,
44        showCloseButton: false,
45        closeButtonAriaLabel: 'Close this dialog',
46        showLoaderOnConfirm: false,
47        imageUrl: null,
48        imageWidth: null,
49        imageHeight: null,
50        imageAlt: '',
51        imageClass: null,
52        timer: null,
53        width: null,
54        padding: null,
55        background: null,
56        input: null,
57        inputPlaceholder: '',
58        inputValue: '',
59        inputOptions: {},
60        inputAutoTrim: true,
61        inputClass: null,
62        inputAttributes: {},
63        inputValidator: null,
64        grow: false,
65        position: 'center',
66        progressSteps: [],
67        currentProgressStep: null,
68        progressStepsDistance: null,
69        onBeforeOpen: null,
70        onOpen: null,
71        onClose: null,
72        useRejections: false,
73        expectRejections: false
74    };
75
76    var deprecatedParams = ['useRejections', 'expectRejections'];
77
78    var swalPrefix = 'swal2-';
79
80    var prefix = function prefix(items) {
81        var result = {};
82        for (var i in items) {
83            result[items[i]] = swalPrefix + items[i];
84        }
85        return result;
86    };
87
88    var swalClasses = prefix(['container', 'shown', 'iosfix', 'popup', 'modal', 'no-backdrop', 'toast', 'toast-shown', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'header', 'content', 'actions', 'confirm', 'cancel', 'footer', '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']);
89
90    var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']);
91
92    var consolePrefix = 'SweetAlert2:';
93
94    /**
95     * Filter the unique values into a new array
96     * @param arr
97     */
98    var uniqueArray = function uniqueArray(arr) {
99        var result = [];
100        for (var i = 0; i < arr.length; i++) {
101            if (result.indexOf(arr[i]) === -1) {
102                result.push(arr[i]);
103            }
104        }
105        return result;
106    };
107
108    /**
109     * Converts `inputOptions` into an array of `[value, label]`s
110     * @param inputOptions
111     */
112    var formatInputOptions = function formatInputOptions(inputOptions) {
113        var result = [];
114        if (inputOptions instanceof Map) {
115            inputOptions.forEach(function (value, key) {
116                result.push([key, value]);
117            });
118        } else {
119            Object.keys(inputOptions).forEach(function (key) {
120                result.push([key, inputOptions[key]]);
121            });
122        }
123        return result;
124    };
125
126    /**
127     * Standardise console warnings
128     * @param message
129     */
130    var warn = function warn(message) {
131        console.warn(consolePrefix + ' ' + message);
132    };
133
134    /**
135     * Standardise console errors
136     * @param message
137     */
138    var error = function error(message) {
139        console.error(consolePrefix + ' ' + message);
140    };
141
142    /**
143     * Private global state for `warnOnce`
144     * @type {Array}
145     * @private
146     */
147    var previousWarnOnceMessages = [];
148
149    /**
150     * Show a console warning, but only if it hasn't already been shown
151     * @param message
152     */
153    var warnOnce = function warnOnce(message) {
154        if (!(previousWarnOnceMessages.indexOf(message) !== -1)) {
155            previousWarnOnceMessages.push(message);
156            warn(message);
157        }
158    };
159
160    /**
161     * If `arg` is a function, call it (with no arguments or context) and return the result.
162     * Otherwise, just pass the value through
163     * @param arg
164     */
165    var callIfFunction = function callIfFunction(arg) {
166        return typeof arg === 'function' ? arg() : arg;
vendor: 1,977 bytes, lines 167-233
167    };
168
169    var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
170        return typeof obj;
171    } : function (obj) {
172        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
173    };
174
175    var _extends = Object.assign || function (target) {
176        for (var i = 1; i < arguments.length; i++) {
177            var source = arguments[i];
178
179            for (var key in source) {
180                if (Object.prototype.hasOwnProperty.call(source, key)) {
181                    target[key] = source[key];
182                }
183            }
184        }
185
186        return target;
187    };
188
189    var slicedToArray = function () {
190        function sliceIterator(arr, i) {
191            var _arr = [];
192            var _n = true;
193            var _d = false;
194            var _e = undefined;
195
196            try {
197                for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
198                    _arr.push(_s.value);
199
200                    if (i && _arr.length === i)
201                        break;
202                }
203            } catch (err) {
204                _d = true;
205                _e = err;
206            } finally {
207                try {
208                    if (!_n && _i["return"])
209                        _i["return"]();
210                } finally {
211                    if (_d)
212                        throw _e;
213                }
214            }
215
216            return _arr;
217        }
218
219        return function (arr, i) {
220            if (Array.isArray(arr)) {
221                return arr;
222            } else if (Symbol.iterator in Object(arr)) {
223                return sliceIterator(arr, i);
224            } else {
225                throw new TypeError("Invalid attempt to destructure non-iterable instance");
226            }
227        };
228    }();
229
230    var popupParams = _extends({}, defaultParams);
231    var queue = [];
232
233    var previousWindowKeyDown = void 0,
234            windowOnkeydownOverridden = void 0;
235
236    /**
237     * Show relevant warnings for given params
238     *
239     * @param params
240     */
241    var showWarningsForParams = function showWarningsForParams(params) {
242        for (var param in params) {
243            if (!sweetAlert.isValidParameter(param)) {
244                warn('Unknown parameter "' + param + '"');
245            }
246            if (sweetAlert.isDeprecatedParameter(param)) {
247                warnOnce('The parameter "' + param + '" is deprecated and will be removed in the next major release.');
248            }
249        }
250    };
251
252    /**
253     * Set type, text and actions on popup
254     *
255     * @param params
256     * @returns {boolean}
257     */
258    var setParameters = function setParameters(params) {
259        // Determine if the custom target element is valid
260        if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) {
261            warn('Target parameter is not valid, defaulting to "body"');
262            params.target = 'body';
263        }
264
265        var popup = void 0;
266        var oldPopup = getPopup();
267        var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target;
268        // If the model target has changed, refresh the popup
269        if (oldPopup && targetElement && oldPopup.parentNode !== targetElement.parentNode) {
270            popup = init(params);
271        } else {
272            popup = oldPopup || init(params);
273        }
274
275        // Set popup width
276        if (params.width) {
277            popup.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width;
278        }
279
280        // Set popup padding
281        if (params.padding) {
282            popup.style.padding = typeof params.padding === 'number' ? params.padding + 'px' : params.padding;
283        }
284
285        // Set popup background
286        if (params.background) {
287            popup.style.background = params.background;
288        }
289        var popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');
290        var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');
291        for (var i = 0; i < successIconParts.length; i++) {
292            successIconParts[i].style.backgroundColor = popupBackgroundColor;
293        }
294
295        var container = getContainer();
296        var title = getTitle();
297        var content = getContent().querySelector('#' + swalClasses.content);
298        var actions = getActions();
299        var confirmButton = getConfirmButton();
300        var cancelButton = getCancelButton();
301        var closeButton = getCloseButton();
302        var footer = getFooter();
303
304        // Title
305        if (params.titleText) {
306            title.innerText = params.titleText;
307        } else if (params.title) {
308            title.innerHTML = params.title.split('\n').join('<br />');
309        }
310
311        if (typeof params.backdrop === 'string') {
312            getContainer().style.background = params.backdrop;
313        } else if (!params.backdrop) {
314            addClass([document.documentElement, document.body], swalClasses['no-backdrop']);
315        }
316
317        // Content as HTML
318        if (params.html) {
319            parseHtmlToContainer(params.html, content);
320
321            // Content as plain text
322        } else if (params.text) {
323            content.textContent = params.text;
324            show(content);
325        } else {
326            hide(content);
327        }
328
329        // Position
330        if (params.position in swalClasses) {
331            addClass(container, swalClasses[params.position]);
332        } else {
333            warn('The "position" parameter is not valid, defaulting to "center"');
334            addClass(container, swalClasses.center);
335        }
336
337        // Grow
338        if (params.grow && typeof params.grow === 'string') {
339            var growClass = 'grow-' + params.grow;
340            if (growClass in swalClasses) {
341                addClass(container, swalClasses[growClass]);
342            }
343        }
344
345        // Animation
346        if (typeof params.animation === 'function') {
347            params.animation = params.animation.call();
348        }
349
350        // Close button
351        if (params.showCloseButton) {
352            closeButton.setAttribute('aria-label', params.closeButtonAriaLabel);
353            show(closeButton);
354        } else {
355            hide(closeButton);
356        }
357
358        // Default Class
359        popup.className = swalClasses.popup;
360        if (params.toast) {
361            addClass([document.documentElement, document.body], swalClasses['toast-shown']);
362            addClass(popup, swalClasses.toast);
363        } else {
364            addClass(popup, swalClasses.modal);
365        }
366
367        // Custom Class
368        if (params.customClass) {
369            addClass(popup, params.customClass);
370        }
371
372        // Progress steps
373        var progressStepsContainer = getProgressSteps();
374        var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10);
375        if (params.progressSteps && params.progressSteps.length) {
376            show(progressStepsContainer);
377            empty(progressStepsContainer);
378            if (currentProgressStep >= params.progressSteps.length) {
379                warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');
380            }
381            params.progressSteps.forEach(function (step, index) {
382                var circle = document.createElement('li');
383                addClass(circle, swalClasses.progresscircle);
384                circle.innerHTML = step;
385                if (index === currentProgressStep) {
386                    addClass(circle, swalClasses.activeprogressstep);
387                }
388                progressStepsContainer.appendChild(circle);
389                if (index !== params.progressSteps.length - 1) {
390                    var line = document.createElement('li');
391                    addClass(line, swalClasses.progressline);
392                    if (params.progressStepsDistance) {
393                        line.style.width = params.progressStepsDistance;
394                    }
395                    progressStepsContainer.appendChild(line);
396                }
397            });
398        } else {
399            hide(progressStepsContainer);
400        }
401
402        // Icon
403        var icons = getIcons();
404        for (var _i = 0; _i < icons.length; _i++) {
405            hide(icons[_i]);
406        }
407        if (params.type) {
408            var validType = false;
409            for (var iconType in iconTypes) {
410                if (params.type === iconType) {
411                    validType = true;
412                    break;
413                }
414            }
415            if (!validType) {
416                error('Unknown alert type: ' + params.type);
417                return false;
418            }
419            var icon = popup.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]);
420            show(icon);
421
422            // Animate icon
423            if (params.animation) {
424                addClass(icon, 'swal2-animate-' + params.type + '-icon');
425            }
426        }
427
428        // Custom image
429        var image = getImage();
430        if (params.imageUrl) {
431            image.setAttribute('src', params.imageUrl);
432            image.setAttribute('alt', params.imageAlt);
433            show(image);
434
435            if (params.imageWidth) {
436                image.setAttribute('width', params.imageWidth);
437            } else {
438                image.removeAttribute('width');
439            }
440
441            if (params.imageHeight) {
442                image.setAttribute('height', params.imageHeight);
443            } else {
444                image.removeAttribute('height');
445            }
446
447            image.className = swalClasses.image;
448            if (params.imageClass) {
449                addClass(image, params.imageClass);
450            }
451        } else {
452            hide(image);
453        }
454
455        // Cancel button
456        if (params.showCancelButton) {
457            cancelButton.style.display = 'inline-block';
458        } else {
459            hide(cancelButton);
460        }
461
462        // Confirm button
463        if (params.showConfirmButton) {
464            removeStyleProperty(confirmButton, 'display');
465        } else {
466            hide(confirmButton);
467        }
468
469        // Actions (buttons) wrapper
470        if (!params.showConfirmButton && !params.showCancelButton) {
471            hide(actions);
472        } else {
473            show(actions);
474        }
475
476        // Edit text on confirm and cancel buttons
477        confirmButton.innerHTML = params.confirmButtonText;
478        cancelButton.innerHTML = params.cancelButtonText;
479
480        // ARIA labels for confirm and cancel buttons
481        confirmButton.setAttribute('aria-label', params.confirmButtonAriaLabel);
482        cancelButton.setAttribute('aria-label', params.cancelButtonAriaLabel);
483
484        // Add buttons custom classes
485        confirmButton.className = swalClasses.confirm;
486        addClass(confirmButton, params.confirmButtonClass);
487        cancelButton.className = swalClasses.cancel;
488        addClass(cancelButton, params.cancelButtonClass);
489
490        // Buttons styling
491        if (params.buttonsStyling) {
492            addClass([confirmButton, cancelButton], swalClasses.styled);
493
494            // Buttons background colors
495            if (params.confirmButtonColor) {
496                confirmButton.style.backgroundColor = params.confirmButtonColor;
497            }
498            if (params.cancelButtonColor) {
499                cancelButton.style.backgroundColor = params.cancelButtonColor;
500            }
501
502            // Loading state
503            var confirmButtonBackgroundColor = window.getComputedStyle(confirmButton).getPropertyValue('background-color');
504            confirmButton.style.borderLeftColor = confirmButtonBackgroundColor;
505            confirmButton.style.borderRightColor = confirmButtonBackgroundColor;
506        } else {
507            removeClass([confirmButton, cancelButton], swalClasses.styled);
508
509            confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = '';
510            cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = '';
511        }
512
513        // Footer
514        parseHtmlToContainer(params.footer, footer);
515
516        // CSS animation
517        if (params.animation === true) {
518            removeClass(popup, swalClasses.noanimation);
519        } else {
520            addClass(popup, swalClasses.noanimation);
521        }
522
523        // showLoaderOnConfirm && preConfirm
524        if (params.showLoaderOnConfirm && !params.preConfirm) {
525            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');
526        }
527    };
528
529    /**
530     * Animations
531     *
532     * @param animation
533     * @param onBeforeOpen
534     * @param onComplete
535     */
536    var openPopup = function openPopup(animation, onBeforeOpen, onComplete) {
537        var container = getContainer();
538        var popup = getPopup();
539
540        if (onBeforeOpen !== null && typeof onBeforeOpen === 'function') {
541            onBeforeOpen(popup);
542        }
543
544        if (animation) {
545            addClass(popup, swalClasses.show);
546            addClass(container, swalClasses.fade);
547            removeClass(popup, swalClasses.hide);
548        } else {
549            removeClass(popup, swalClasses.fade);
550        }
551        show(popup);
552
553        // scrolling is 'hidden' until animation is done, after that 'auto'
554        container.style.overflowY = 'hidden';
555        if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) {
556            popup.addEventListener(animationEndEvent, function swalCloseEventFinished() {
557                popup.removeEventListener(animationEndEvent, swalCloseEventFinished);
558                container.style.overflowY = 'auto';
559            });
560        } else {
561            container.style.overflowY = 'auto';
562        }
563
564        addClass([document.documentElement, document.body, container], swalClasses.shown);
565        if (isModal()) {
566            fixScrollbar();
567            iOSfix();
568        }
569        states.previousActiveElement = document.activeElement;
570        if (onComplete !== null && typeof onComplete === 'function') {
571            setTimeout(function () {
572                onComplete(popup);
573            });
574        }
575    };
576
577    var fixScrollbar = function fixScrollbar() {
578        // for queues, do not do this more than once
579        if (states.previousBodyPadding !== null) {
580            return;
581        }
582        // if the body has overflow
583        if (document.body.scrollHeight > window.innerHeight) {
584            // add padding so the content doesn't shift after removal of scrollbar
585            states.previousBodyPadding = document.body.style.paddingRight;
586            document.body.style.paddingRight = measureScrollbar() + 'px';
587        }
588    };
589
590    var undoScrollbar = function undoScrollbar() {
591        if (states.previousBodyPadding !== null) {
592            document.body.style.paddingRight = states.previousBodyPadding;
593            states.previousBodyPadding = null;
594        }
595    };
596
597// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425
598    var iOSfix = function iOSfix() {
599        var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
600        if (iOS && !hasClass(document.body, swalClasses.iosfix)) {
601            var offset = document.body.scrollTop;
602            document.body.style.top = offset * -1 + 'px';
603            addClass(document.body, swalClasses.iosfix);
604        }
605    };
606
607    var undoIOSfix = function undoIOSfix() {
608        if (hasClass(document.body, swalClasses.iosfix)) {
609            var offset = parseInt(document.body.style.top, 10);
610            removeClass(document.body, swalClasses.iosfix);
611            document.body.style.top = '';
612            document.body.scrollTop = offset * -1;
613        }
614    };
615
616// SweetAlert entry point
617    var sweetAlert = function sweetAlert() {
618        for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
619            args[_key] = arguments[_key];
620        }
621
622        // Prevent run in Node env
623        if (typeof window === 'undefined') {
624            return;
625        }
626
627        // Check for the existence of Promise
628        if (typeof Promise === 'undefined') {
629            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)');
630        }
631
632        if (typeof args[0] === 'undefined') {
633            error('SweetAlert2 expects at least 1 attribute!');
634            return false;
635        }
636
637        var params = _extends({}, popupParams);
638
639        switch (_typeof(args[0])) {
640            case 'string':
641                params.title = args[0];
642                params.html = args[1];
643                params.type = args[2];
644
645                break;
646
647            case 'object':
648                showWarningsForParams(args[0]);
649                _extends(params, args[0]);
650                params.extraParams = args[0].extraParams;
651
652                if (params.input === 'email' && params.inputValidator === null) {
653                    var inputValidator = function inputValidator(email) {
654                        return new Promise(function (resolve, reject) {
655                            var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/;
656                            if (emailRegex.test(email)) {
657                                resolve();
658                            } else {
659                                reject('Invalid email address');
660                            }
661                        });
662                    };
663                    params.inputValidator = params.expectRejections ? inputValidator : sweetAlert.adaptInputValidator(inputValidator);
664                }
665
666                if (params.input === 'url' && params.inputValidator === null) {
667                    var _inputValidator = function _inputValidator(url) {
668                        return new Promise(function (resolve, reject) {
669                            // taken from https://stackoverflow.com/a/3809435/1331425
670                            var urlRegex = /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)$/;
671                            if (urlRegex.test(url)) {
672                                resolve();
673                            } else {
674                                reject('Invalid URL');
675                            }
676                        });
677                    };
678                    params.inputValidator = params.expectRejections ? _inputValidator : sweetAlert.adaptInputValidator(_inputValidator);
679                }
680                break;
681
682            default:
683                error('Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0]));
684                return false;
685        }
686
687        setParameters(params);
688
689        var container = getContainer();
690        var popup = getPopup();
691
692        return new Promise(function (resolve, reject) {
693            // functions to handle all resolving/rejecting/settling
694            var succeedWith = function succeedWith(value) {
695                sweetAlert.closePopup(params.onClose);
696                if (params.useRejections) {
697                    resolve(value);
698                } else {
699                    resolve({value: value});
700                }
701            };
702            var dismissWith = function dismissWith(dismiss) {
703                sweetAlert.closePopup(params.onClose);
704                if (params.useRejections) {
705                    reject(dismiss);
706                } else {
707                    resolve({dismiss: dismiss});
708                }
709            };
710            var errorWith = function errorWith(error$$1) {
711                sweetAlert.closePopup(params.onClose);
712                reject(error$$1);
713            };
714
715            // Close on timer
716            if (params.timer) {
717                popup.timeout = setTimeout(function () {
718                    return dismissWith('timer');
719                }, params.timer);
720            }
721
722            // Get input element by specified type or, if type isn't specified, by params.input
723            var getInput = function getInput(inputType) {
724                inputType = inputType || params.input;
725                if (!inputType) {
726                    return null;
727                }
728                switch (inputType) {
729                    case 'select':
730                    case 'textarea':
731                    case 'file':
732                        return getChildByClass(content, swalClasses[inputType]);
733                    case 'checkbox':
734                        return popup.querySelector('.' + swalClasses.checkbox + ' input');
735                    case 'radio':
736                        return popup.querySelector('.' + swalClasses.radio + ' input:checked') || popup.querySelector('.' + swalClasses.radio + ' input:first-child');
737                    case 'range':
738                        return popup.querySelector('.' + swalClasses.range + ' input');
739                    default:
740                        return getChildByClass(content, swalClasses.input);
741                }
742            };
743
744            // Get the value of the popup input
745            var getInputValue = function getInputValue() {
746                var input = getInput();
747                if (!input) {
748                    return null;
749                }
750                switch (params.input) {
751                    case 'checkbox':
752                        return input.checked ? 1 : 0;
753                    case 'radio':
754                        return input.checked ? input.value : null;
755                    case 'file':
756                        return input.files.length ? input.files[0] : null;
757                    default:
758                        return params.inputAutoTrim ? input.value.trim() : input.value;
759                }
760            };
761
762            // input autofocus
763            if (params.input) {
764                setTimeout(function () {
765                    var input = getInput();
766                    if (input) {
767                        focusInput(input);
768                    }
769                }, 0);
770            }
771
772            var confirm = function confirm(value) {
773                if (params.showLoaderOnConfirm) {
774                    sweetAlert.showLoading();
775                }
776
777                if (params.preConfirm) {
778                    sweetAlert.resetValidationError();
779                    var preConfirmPromise = Promise.resolve().then(function () {
780                        return params.preConfirm(value, params.extraParams);
781                    });
782                    if (params.expectRejections) {
783                        preConfirmPromise.then(function (preConfirmValue) {
784                            return succeedWith(preConfirmValue || value);
785                        }, function (validationError) {
786                            sweetAlert.hideLoading();
787                            if (validationError) {
788                                sweetAlert.showValidationError(validationError);
789                            }
790                        });
791                    } else {
792                        preConfirmPromise.then(function (preConfirmValue) {
793                            if (isVisible(getValidationError()) || preConfirmValue === false) {
794                                sweetAlert.hideLoading();
795                            } else {
796                                succeedWith(preConfirmValue || value);
797                            }
798                        }, function (error$$1) {
799                            return errorWith(error$$1);
800                        });
801                    }
802                } else {
803                    succeedWith(value);
804                }
805            };
806
807            // Mouse interactions
808            var onButtonEvent = function onButtonEvent(event) {
809                var e = event || window.event;
810                var target = e.target || e.srcElement;
811                var confirmButton = getConfirmButton();
812                var cancelButton = getCancelButton();
813                var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target));
814                var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target));
815
816                switch (e.type) {
817                    case 'click':
818                        // Clicked 'confirm'
819                        if (targetedConfirm && sweetAlert.isVisible()) {
820                            sweetAlert.disableButtons();
821                            if (params.input) {
822                                var inputValue = getInputValue();
823
824                                if (params.inputValidator) {
825                                    sweetAlert.disableInput();
826                                    var validationPromise = Promise.resolve().then(function () {
827                                        return params.inputValidator(inputValue, params.extraParams);
828                                    });
829                                    if (params.expectRejections) {
830                                        validationPromise.then(function () {
831                                            sweetAlert.enableButtons();
832                                            sweetAlert.enableInput();
833                                            confirm(inputValue);
834                                        }, function (validationError) {
835                                            sweetAlert.enableButtons();
836                                            sweetAlert.enableInput();
837                                            if (validationError) {
838                                                sweetAlert.showValidationError(validationError);
839                                            }
840                                        });
841                                    } else {
842                                        validationPromise.then(function (validationError) {
843                                            sweetAlert.enableButtons();
844                                            sweetAlert.enableInput();
845                                            if (validationError) {
846                                                sweetAlert.showValidationError(validationError);
847                                            } else {
848                                                confirm(inputValue);
849                                            }
850                                        }, function (error$$1) {
851                                            return errorWith(error$$1);
852                                        });
853                                    }
854                                } else {
855                                    confirm(inputValue);
856                                }
857                            } else {
858                                confirm(true);
859                            }
860
861                            // Clicked 'cancel'
862                        } else if (targetedCancel && sweetAlert.isVisible()) {
863                            sweetAlert.disableButtons();
864                            dismissWith(sweetAlert.DismissReason.cancel);
865                        }
866                        break;
867                    default:
868                }
869            };
870
871            var buttons = popup.querySelectorAll('button');
872            for (var i = 0; i < buttons.length; i++) {
873                buttons[i].onclick = onButtonEvent;
874                buttons[i].onmouseover = onButtonEvent;
875                buttons[i].onmouseout = onButtonEvent;
876                buttons[i].onmousedown = onButtonEvent;
877            }
878
879            // Closing popup by close button
880            getCloseButton().onclick = function () {
881                dismissWith(sweetAlert.DismissReason.close);
882            };
883
884            if (params.toast) {
885                // Closing popup by backdrop click
886                popup.onclick = function (e) {
887                    if (e.target !== popup || params.showConfirmButton || params.showCancelButton) {
888                        return;
889                    }
890                    if (params.allowOutsideClick) {
891                        sweetAlert.closePopup(params.onClose);
892                        dismissWith(sweetAlert.DismissReason.backdrop);
893                    }
894                };
895            } else {
896                var ignoreOutsideClick = false;
897
898                // Ignore click events that had mousedown on the popup but mouseup on the container
899                // This can happen when the user drags a slider
900                popup.onmousedown = function () {
901                    container.onmouseup = function (e) {
902                        container.onmouseup = undefined;
903                        // We only check if the mouseup target is the container because usually it doesn't
904                        // have any other direct children aside of the popup
905                        if (e.target === container) {
906                            ignoreOutsideClick = true;
907                        }
908                    };
909                };
910
911                // Ignore click events that had mousedown on the container but mouseup on the popup
912                container.onmousedown = function () {
913                    popup.onmouseup = function (e) {
914                        popup.onmouseup = undefined;
915                        // We also need to check if the mouseup target is a child of the popup
916                        if (e.target === popup || popup.contains(e.target)) {
917                            ignoreOutsideClick = true;
918                        }
919                    };
920                };
921
922                container.onclick = function (e) {
923                    if (ignoreOutsideClick) {
924                        ignoreOutsideClick = false;
925                        return;
926                    }
927                    if (e.target !== container) {
928                        return;
929                    }
930                    if (callIfFunction(params.allowOutsideClick)) {
931                        dismissWith(sweetAlert.DismissReason.backdrop);
932                    }
933                };
934            }
935
936            var content = getContent();
937            var actions = getActions();
938            var confirmButton = getConfirmButton();
939            var cancelButton = getCancelButton();
940
941            // Reverse buttons (Confirm on the right side)
942            if (params.reverseButtons) {
943                confirmButton.parentNode.insertBefore(cancelButton, confirmButton);
944            } else {
945                confirmButton.parentNode.insertBefore(confirmButton, cancelButton);
946            }
947
948            // Focus handling
949            var setFocus = function setFocus(index, increment) {
950                var focusableElements = getFocusableElements(params.focusCancel);
951                // search for visible elements and select the next possible match
952                for (var _i2 = 0; _i2 < focusableElements.length; _i2++) {
953                    index = index + increment;
954
955                    // rollover to first item
956                    if (index === focusableElements.length) {
957                        index = 0;
958
959                        // go to last item
960                    } else if (index === -1) {
961                        index = focusableElements.length - 1;
962                    }
963
964                    // determine if element is visible
965                    var el = focusableElements[index];
966                    if (isVisible(el)) {
967                        return el.focus();
968                    }
969                }
970            };
971
972            var handleKeyDown = function handleKeyDown(event) {
973                var e = event || window.event;
974
975                var arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Left', 'Right', 'Up', 'Down' // IE11
976                ];
977
978                if (e.key === 'Enter' && !e.isComposing) {
979                    if (e.target === getInput()) {
980                        if (['textarea', 'file'].indexOf(params.input) !== -1) {
981                            return; // do not submit
982                        }
983
984                        sweetAlert.clickConfirm();
985                        e.preventDefault();
986                    }
987
988                    // TAB
989                } else if (e.key === 'Tab') {
990                    var targetElement = e.target || e.srcElement;
991
992                    var focusableElements = getFocusableElements(params.focusCancel);
993                    var btnIndex = -1; // Find the button - note, this is a nodelist, not an array.
994                    for (var _i3 = 0; _i3 < focusableElements.length; _i3++) {
995                        if (targetElement === focusableElements[_i3]) {
996                            btnIndex = _i3;
997                            break;
998                        }
999                    }
1000
1001                    if (!e.shiftKey) {
1002                        // Cycle to the next button
1003                        setFocus(btnIndex, 1);
1004                    } else {
1005                        // Cycle to the prev button
1006                        setFocus(btnIndex, -1);
1007                    }
1008                    e.stopPropagation();
1009                    e.preventDefault();
1010
1011                    // ARROWS - switch focus between buttons
1012                } else if (arrowKeys.indexOf(e.key) !== -1) {
1013                    // focus Cancel button if Confirm button is currently focused
1014                    if (document.activeElement === confirmButton && isVisible(cancelButton)) {
1015                        cancelButton.focus();
1016                        // and vice versa
1017                    } else if (document.activeElement === cancelButton && isVisible(confirmButton)) {
1018                        confirmButton.focus();
1019                    }
1020
1021                    // ESC
1022                } else if ((e.key === 'Escape' || e.key === 'Esc') && callIfFunction(params.allowEscapeKey) === true) {
1023                    dismissWith(sweetAlert.DismissReason.esc);
1024                }
1025            };
1026
1027            if (params.toast && windowOnkeydownOverridden) {
1028                window.onkeydown = previousWindowKeyDown;
1029                windowOnkeydownOverridden = false;
1030            }
1031
1032            if (!params.toast && !windowOnkeydownOverridden) {
1033                previousWindowKeyDown = window.onkeydown;
1034                windowOnkeydownOverridden = true;
1035                window.onkeydown = handleKeyDown;
1036            }
1037
1038            /**
1039             * Show spinner instead of Confirm button and disable Cancel button
1040             */
1041            sweetAlert.hideLoading = sweetAlert.disableLoading = function () {
1042                if (!params.showConfirmButton) {
1043                    hide(confirmButton);
1044                    if (!params.showCancelButton) {
1045                        hide(getActions());
1046                    }
1047                }
1048                removeClass([popup, actions], swalClasses.loading);
1049                popup.removeAttribute('aria-busy');
1050                popup.removeAttribute('data-loading');
1051                confirmButton.disabled = false;
1052                cancelButton.disabled = false;
1053            };
1054
1055            sweetAlert.getTitle = function () {
1056                return getTitle();
1057            };
1058            sweetAlert.getContent = function () {
1059                return getContent();
1060            };
1061            sweetAlert.getInput = function () {
1062                return getInput();
1063            };
1064            sweetAlert.getImage = function () {
1065                return getImage();
1066            };
1067            sweetAlert.getButtonsWrapper = function () {
1068                return getButtonsWrapper();
1069            };
1070            sweetAlert.getActions = function () {
1071                return getActions();
1072            };
1073            sweetAlert.getConfirmButton = function () {
1074                return getConfirmButton();
1075            };
1076            sweetAlert.getCancelButton = function () {
1077                return getCancelButton();
1078            };
1079            sweetAlert.getFooter = function () {
1080                return getFooter();
1081            };
1082            sweetAlert.isLoading = function () {
1083                return isLoading();
1084            };
1085
1086            sweetAlert.enableButtons = function () {
1087                confirmButton.disabled = false;
1088                cancelButton.disabled = false;
1089            };
1090
1091            sweetAlert.disableButtons = function () {
1092                confirmButton.disabled = true;
1093                cancelButton.disabled = true;
1094            };
1095
1096            sweetAlert.enableConfirmButton = function () {
1097                confirmButton.disabled = false;
1098            };
1099
1100            sweetAlert.disableConfirmButton = function () {
1101                confirmButton.disabled = true;
1102            };
1103
1104            sweetAlert.enableInput = function () {
1105                var input = getInput();
1106                if (!input) {
1107                    return false;
1108                }
1109                if (input.type === 'radio') {
1110                    var radiosContainer = input.parentNode.parentNode;
1111                    var radios = radiosContainer.querySelectorAll('input');
1112                    for (var _i4 = 0; _i4 < radios.length; _i4++) {
1113                        radios[_i4].disabled = false;
1114                    }
1115                } else {
1116                    input.disabled = false;
1117                }
1118            };
1119
1120            sweetAlert.disableInput = function () {
1121                var input = getInput();
1122                if (!input) {
1123                    return false;
1124                }
1125                if (input && input.type === 'radio') {
1126                    var radiosContainer = input.parentNode.parentNode;
1127                    var radios = radiosContainer.querySelectorAll('input');
1128                    for (var _i5 = 0; _i5 < radios.length; _i5++) {
1129                        radios[_i5].disabled = true;
1130                    }
1131                } else {
1132                    input.disabled = true;
1133                }
1134            };
1135
1136            // Show block with validation error
1137            sweetAlert.showValidationError = function (error$$1) {
1138                var validationError = getValidationError();
1139                validationError.innerHTML = error$$1;
1140                var popupComputedStyle = window.getComputedStyle(popup);
1141                validationError.style.marginLeft = '-' + popupComputedStyle.getPropertyValue('padding-left');
1142                validationError.style.marginRight = '-' + popupComputedStyle.getPropertyValue('padding-right');
1143                show(validationError);
1144
1145                var input = getInput();
1146                if (input) {
1147                    input.setAttribute('aria-invalid', true);
1148                    input.setAttribute('aria-describedBy', swalClasses.validationerror);
1149                    focusInput(input);
1150                    addClass(input, swalClasses.inputerror);
1151                }
1152            };
1153
1154            // Hide block with validation error
1155            sweetAlert.resetValidationError = function () {
1156                var validationError = getValidationError();
1157                hide(validationError);
1158
1159                var input = getInput();
1160                if (input) {
1161                    input.removeAttribute('aria-invalid');
1162                    input.removeAttribute('aria-describedBy');
1163                    removeClass(input, swalClasses.inputerror);
1164                }
1165            };
1166
1167            sweetAlert.getProgressSteps = function () {
1168                return params.progressSteps;
1169            };
1170
1171            sweetAlert.setProgressSteps = function (progressSteps) {
1172                params.progressSteps = progressSteps;
1173                setParameters(params);
1174            };
1175
1176            sweetAlert.showProgressSteps = function () {
1177                show(getProgressSteps());
1178            };
1179
1180            sweetAlert.hideProgressSteps = function () {
1181                hide(getProgressSteps());
1182            };
1183
1184            sweetAlert.enableButtons();
1185            sweetAlert.hideLoading();
1186            sweetAlert.resetValidationError();
1187
1188            if (params.input) {
1189                addClass(document.body, swalClasses['has-input']);
1190            }
1191
1192            // inputs
1193            var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];
1194            var input = void 0;
1195            for (var _i6 = 0; _i6 < inputTypes.length; _i6++) {
1196                var inputClass = swalClasses[inputTypes[_i6]];
1197                var inputContainer = getChildByClass(content, inputClass);
1198                input = getInput(inputTypes[_i6]);
1199
1200                // set attributes
1201                if (input) {
1202                    for (var j in input.attributes) {
1203                        if (input.attributes.hasOwnProperty(j)) {
1204                            var attrName = input.attributes[j].name;
1205                            if (attrName !== 'type' && attrName !== 'value') {
1206                                input.removeAttribute(attrName);
1207                            }
1208                        }
1209                    }
1210                    for (var attr in params.inputAttributes) {
1211                        input.setAttribute(attr, params.inputAttributes[attr]);
1212                    }
1213                }
1214
1215                // set class
1216                inputContainer.className = inputClass;
1217                if (params.inputClass) {
1218                    addClass(inputContainer, params.inputClass);
1219                }
1220
1221                hide(inputContainer);
1222            }
1223
1224            var populateInputOptions = void 0;
1225            switch (params.input) {
1226                case 'text':
1227                case 'email':
1228                case 'password':
1229                case 'number':
1230                case 'tel':
1231                case 'url':
1232                    input = getChildByClass(content, swalClasses.input);
1233                    input.value = params.inputValue;
1234                    input.placeholder = params.inputPlaceholder;
1235                    input.type = params.input;
1236                    show(input);
1237                    break;
1238                case 'file':
1239                    input = getChildByClass(content, swalClasses.file);
1240                    input.placeholder = params.inputPlaceholder;
1241                    input.type = params.input;
1242                    show(input);
1243                    break;
1244                case 'range':
1245                    var range = getChildByClass(content, swalClasses.range);
1246                    var rangeInput = range.querySelector('input');
1247                    var rangeOutput = range.querySelector('output');
1248                    rangeInput.value = params.inputValue;
1249                    rangeInput.type = params.input;
1250                    rangeOutput.value = params.inputValue;
1251                    show(range);
1252                    break;
1253                case 'select':
1254                    var select = getChildByClass(content, swalClasses.select);
1255                    select.innerHTML = '';
1256                    if (params.inputPlaceholder) {
1257                        var placeholder = document.createElement('option');
1258                        placeholder.innerHTML = params.inputPlaceholder;
1259                        placeholder.value = '';
1260                        placeholder.disabled = true;
1261                        placeholder.selected = true;
1262                        select.appendChild(placeholder);
1263                    }
1264                    populateInputOptions = function populateInputOptions(inputOptions) {
1265                        inputOptions.forEach(function (_ref) {
1266                            var _ref2 = slicedToArray(_ref, 2),
1267                                    optionValue = _ref2[0],
1268                                    optionLabel = _ref2[1];
1269
1270                            var option = document.createElement('option');
1271                            option.value = optionValue;
1272                            option.innerHTML = optionLabel;
1273                            if (params.inputValue.toString() === optionValue.toString()) {
1274                                option.selected = true;
1275                            }
1276                            select.appendChild(option);
1277                        });
1278                        show(select);
1279                        select.focus();
1280                    };
1281                    break;
1282                case 'radio':
1283                    var radio = getChildByClass(content, swalClasses.radio);
1284                    radio.innerHTML = '';
1285                    populateInputOptions = function populateInputOptions(inputOptions) {
1286                        inputOptions.forEach(function (_ref3) {
1287                            var _ref4 = slicedToArray(_ref3, 2),
1288                                    radioValue = _ref4[0],
1289                                    radioLabel = _ref4[1];
1290
1291                            var radioInput = document.createElement('input');
1292                            var radioLabelElement = document.createElement('label');
1293                            radioInput.type = 'radio';
1294                            radioInput.name = swalClasses.radio;
1295                            radioInput.value = radioValue;
1296                            if (params.inputValue.toString() === radioValue.toString()) {
1297                                radioInput.checked = true;
1298                            }
1299                            radioLabelElement.innerHTML = radioLabel;
1300                            radioLabelElement.insertBefore(radioInput, radioLabelElement.firstChild);
1301                            radio.appendChild(radioLabelElement);
1302                        });
1303                        show(radio);
1304                        var radios = radio.querySelectorAll('input');
1305                        if (radios.length) {
1306                            radios[0].focus();
1307                        }
1308                    };
1309                    break;
1310                case 'checkbox':
1311                    var checkbox = getChildByClass(content, swalClasses.checkbox);
1312                    var checkboxInput = getInput('checkbox');
1313                    checkboxInput.type = 'checkbox';
1314                    checkboxInput.value = 1;
1315                    checkboxInput.id = swalClasses.checkbox;
1316                    checkboxInput.checked = Boolean(params.inputValue);
1317                    var label = checkbox.getElementsByTagName('span');
1318                    if (label.length) {
1319                        checkbox.removeChild(label[0]);
1320                    }
1321                    label = document.createElement('span');
1322                    label.innerHTML = params.inputPlaceholder;
1323                    checkbox.appendChild(label);
1324                    show(checkbox);
1325                    break;
1326                case 'textarea':
1327                    var textarea = getChildByClass(content, swalClasses.textarea);
1328                    textarea.value = params.inputValue;
1329                    textarea.placeholder = params.inputPlaceholder;
1330                    show(textarea);
1331                    break;
1332                case null:
1333                    break;
1334                default:
1335                    error('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"');
1336                    break;
1337            }
1338
1339            if (params.input === 'select' || params.input === 'radio') {
1340                var processInputOptions = function processInputOptions(inputOptions) {
1341                    return populateInputOptions(formatInputOptions(inputOptions));
1342                };
1343                if (params.inputOptions instanceof Promise) {
1344                    sweetAlert.showLoading();
1345                    params.inputOptions.then(function (inputOptions) {
1346                        sweetAlert.hideLoading();
1347                        processInputOptions(inputOptions);
1348                    });
1349                } else if (_typeof(params.inputOptions) === 'object') {
1350                    processInputOptions(params.inputOptions);
1351                } else {
1352                    error('Unexpected type of inputOptions! Expected object, Map or Promise, got ' + _typeof(params.inputOptions));
1353                }
1354            }
1355
1356            openPopup(params.animation, params.onBeforeOpen, params.onOpen);
1357
1358            if (!params.toast) {
1359                if (!callIfFunction(params.allowEnterKey)) {
1360                    if (document.activeElement) {
1361                        document.activeElement.blur();
1362                    }
1363                } else if (params.focusCancel && isVisible(cancelButton)) {
1364                    cancelButton.focus();
1365                } else if (params.focusConfirm && isVisible(confirmButton)) {
1366                    confirmButton.focus();
1367                } else {
1368                    setFocus(-1, 1);
1369                }
1370            }
1371
1372            // fix scroll
1373            getContainer().scrollTop = 0;
1374        });
1375    };
1376
1377    /*
1378     * Global function to determine if swal2 popup is shown
1379     */
1380    sweetAlert.isVisible = function () {
1381        return !!getPopup();
1382    };
1383
1384    /*
1385     * Global function for chaining sweetAlert popups
1386     */
1387    sweetAlert.queue = function (steps) {
1388        queue = steps;
1389        var resetQueue = function resetQueue() {
1390            queue = [];
1391            document.body.removeAttribute('data-swal2-queue-step');
1392        };
1393        var queueResult = [];
1394        return new Promise(function (resolve, reject) {
1395            (function step(i, callback) {
1396                if (i < queue.length) {
1397                    document.body.setAttribute('data-swal2-queue-step', i);
1398
1399                    sweetAlert(queue[i]).then(function (result) {
1400                        if (typeof result.value !== 'undefined') {
1401                            queueResult.push(result.value);
1402                            step(i + 1, callback);
1403                        } else {
1404                            resetQueue();
1405                            resolve({dismiss: result.dismiss});
1406                        }
1407                    });
1408                } else {
1409                    resetQueue();
1410                    resolve({value: queueResult});
1411                }
1412            })(0);
1413        });
1414    };
1415
1416    /*
1417     * Global function for getting the index of current popup in queue
1418     */
1419    sweetAlert.getQueueStep = function () {
1420        return document.body.getAttribute('data-swal2-queue-step');
1421    };
1422
1423    /*
1424     * Global function for inserting a popup to the queue
1425     */
1426    sweetAlert.insertQueueStep = function (step, index) {
1427        if (index && index < queue.length) {
1428            return queue.splice(index, 0, step);
1429        }
1430        return queue.push(step);
1431    };
1432
1433    /*
1434     * Global function for deleting a popup from the queue
1435     */
1436    sweetAlert.deleteQueueStep = function (index) {
1437        if (typeof queue[index] !== 'undefined') {
1438            queue.splice(index, 1);
1439        }
1440    };
1441
1442    /*
1443     * Global function to close sweetAlert
1444     */
1445    sweetAlert.close = sweetAlert.closePopup = sweetAlert.closeModal = sweetAlert.closeToast = function (onComplete) {
1446        var container = getContainer();
1447        var popup = getPopup();
1448        if (!popup) {
1449            return;
1450        }
1451        removeClass(popup, swalClasses.show);
1452        addClass(popup, swalClasses.hide);
1453        clearTimeout(popup.timeout);
1454
1455        if (!isToast()) {
1456            resetPrevState();
1457            window.onkeydown = previousWindowKeyDown;
1458            windowOnkeydownOverridden = false;
1459        }
1460
1461        var removePopupAndResetState = function removePopupAndResetState() {
1462            if (container.parentNode) {
1463                container.parentNode.removeChild(container);
1464            }
1465            removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]);
1466
1467            if (isModal()) {
1468                undoScrollbar();
1469                undoIOSfix();
1470            }
1471        };
1472
1473        // If animation is supported, animate
1474        if (animationEndEvent && !hasClass(popup, swalClasses.noanimation)) {
1475            popup.addEventListener(animationEndEvent, function swalCloseEventFinished() {
1476                popup.removeEventListener(animationEndEvent, swalCloseEventFinished);
1477                if (hasClass(popup, swalClasses.hide)) {
1478                    removePopupAndResetState();
1479                }
1480            });
1481        } else {
1482            // Otherwise, remove immediately
1483            removePopupAndResetState();
1484        }
1485        if (onComplete !== null && typeof onComplete === 'function') {
1486            setTimeout(function () {
1487                onComplete(popup);
1488            });
1489        }
1490    };
1491
1492    /*
1493     * Global function to click 'Confirm' button
1494     */
1495    sweetAlert.clickConfirm = function () {
1496        return getConfirmButton().click();
1497    };
1498
1499    /*
1500     * Global function to click 'Cancel' button
1501     */
1502    sweetAlert.clickCancel = function () {
1503        return getCancelButton().click();
1504    };
1505
1506    /**
1507     * Show spinner instead of Confirm button and disable Cancel button
1508     */
1509    sweetAlert.showLoading = sweetAlert.enableLoading = function () {
1510        var popup = getPopup();
1511        if (!popup) {
1512            sweetAlert('');
1513        }
1514        popup = getPopup();
1515        var actions = getActions();
1516        var confirmButton = getConfirmButton();
1517        var cancelButton = getCancelButton();
1518
1519        show(actions);
1520        show(confirmButton);
1521        addClass([popup, actions], swalClasses.loading);
1522        confirmButton.disabled = true;
1523        cancelButton.disabled = true;
1524
1525        popup.setAttribute('data-loading', true);
1526        popup.setAttribute('aria-busy', true);
1527        popup.focus();
1528    };
1529
1530    /**
1531     * Is valid parameter
1532     * @param {String} paramName
1533     */
1534    sweetAlert.isValidParameter = function (paramName) {
1535        return defaultParams.hasOwnProperty(paramName) || paramName === 'extraParams';
1536    };
1537
1538    /**
1539     * Is deprecated parameter
1540     * @param {String} paramName
1541     */
1542    sweetAlert.isDeprecatedParameter = function (paramName) {
1543        return deprecatedParams.indexOf(paramName) !== -1;
1544    };
1545
1546    /**
1547     * Set default params for each popup
1548     * @param {Object} userParams
1549     */
1550    sweetAlert.setDefaults = function (userParams) {
1551        if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') {
1552            return error('the argument for setDefaults() is required and has to be a object');
1553        }
1554
1555        showWarningsForParams(userParams);
1556
1557        // assign valid params from userParams to popupParams
1558        for (var param in userParams) {
1559            if (sweetAlert.isValidParameter(param)) {
1560                popupParams[param] = userParams[param];
1561            }
1562        }
1563    };
1564
1565    /**
1566     * Reset default params for each popup
1567     */
1568    sweetAlert.resetDefaults = function () {
1569        popupParams = _extends({}, defaultParams);
1570    };
1571
1572    /**
1573     * Adapt a legacy inputValidator for use with expectRejections=false
1574     */
1575    sweetAlert.adaptInputValidator = function (legacyValidator) {
1576        return function adaptedInputValidator(inputValue, extraParams) {
1577            return legacyValidator.call(this, inputValue, extraParams).then(function () {
1578                return undefined;
1579            }, function (validationError) {
1580                return validationError;
1581            });
1582        };
1583    };
1584
1585    sweetAlert.DismissReason = Object.freeze({
1586        cancel: 'cancel',
1587        backdrop: 'overlay',
1588        close: 'close',
1589        esc: 'esc',
1590        timer: 'timer'
1591    });
1592
1593    sweetAlert.noop = function () {};
1594
1595    sweetAlert.version = '7.12.15';
1596
1597    sweetAlert.default = sweetAlert;
1598
1599    /**
1600     * Set default params if `window._swalDefaults` is an object
1601     */
1602    if (typeof window !== 'undefined' && _typeof(window._swalDefaults) === 'object') {
1603        sweetAlert.setDefaults(window._swalDefaults);
1604    }
1605
1606// Remember state in cases where opening and handling a modal will fiddle with it.
1607    var states = {
1608        previousActiveElement: null,
1609        previousBodyPadding: null
1610
1611                // Detect Node env
1612    };
1613    var isNodeEnv = function isNodeEnv() {
1614        return typeof window === 'undefined' || typeof document === 'undefined';
1615    };
1616
1617    /*
1618     * Add modal + backdrop to DOM
1619     */
1620    var init = function init(params) {
1621        // Clean up the old popup if it exists
1622        var c = getContainer();
1623        if (c) {
1624            c.parentNode.removeChild(c);
1625            removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['has-input'], swalClasses['toast-shown']]);
1626        }
1627
1628        if (isNodeEnv()) {
1629            error('SweetAlert2 requires document to initialize');
1630            return;
1631        }
1632
1633        var container = document.createElement('div');
1634        container.className = swalClasses.container;
1635        container.innerHTML = sweetHTML;
1636
1637        var targetElement = typeof params.target === 'string' ? document.querySelector(params.target) : params.target;
1638        targetElement.appendChild(container);
1639
1640        var popup = getPopup();
1641        var content = getContent();
1642        var input = getChildByClass(content, swalClasses.input);
1643        var file = getChildByClass(content, swalClasses.file);
1644        var range = content.querySelector('.' + swalClasses.range + ' input');
1645        var rangeOutput = content.querySelector('.' + swalClasses.range + ' output');
1646        var select = getChildByClass(content, swalClasses.select);
1647        var checkbox = content.querySelector('.' + swalClasses.checkbox + ' input');
1648        var textarea = getChildByClass(content, swalClasses.textarea);
1649
1650        // a11y
1651        popup.setAttribute('role', params.toast ? 'alert' : 'dialog');
1652        popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');
1653        if (!params.toast) {
1654            popup.setAttribute('aria-modal', 'true');
1655        }
1656
1657        var resetValidationError = function resetValidationError() {
1658            sweetAlert.isVisible() && sweetAlert.resetValidationError();
1659        };
1660
1661        input.oninput = resetValidationError;
1662        file.onchange = resetValidationError;
1663        select.onchange = resetValidationError;
1664        checkbox.onchange = resetValidationError;
1665        textarea.oninput = resetValidationError;
1666
1667        range.oninput = function () {
1668            resetValidationError();
1669            rangeOutput.value = range.value;
1670        };
1671
1672        range.onchange = function () {
1673            resetValidationError();
1674            range.nextSibling.value = range.value;
1675        };
1676
1677        return popup;
1678    };
1679
1680    /*
1681     * Manipulate DOM
1682     */
1683
1684    var sweetHTML = ('\n <div aria-labelledby="' + swalClasses.title + '" aria-describedby="' + swalClasses.content + '" class="' + swalClasses.popup + '" tabindex="-1">\n   <div class="' + swalClasses.header + '">\n     <ul class="' + swalClasses.progresssteps + '"></ul>\n     <div class="' + swalClasses.icon + ' ' + iconTypes.error + '">\n       <span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span>\n     </div>\n     <div class="' + swalClasses.icon + ' ' + iconTypes.question + '">?</div>\n     <div class="' + swalClasses.icon + ' ' + iconTypes.warning + '">!</div>\n     <div class="' + swalClasses.icon + ' ' + iconTypes.info + '">i</div>\n     <div class="' + swalClasses.icon + ' ' + iconTypes.success + '">\n       <div class="swal2-success-circular-line-left"></div>\n       <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n       <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n       <div class="swal2-success-circular-line-right"></div>\n     </div>\n     <img class="' + swalClasses.image + '" />\n     <h2 class="' + swalClasses.title + '" id="' + swalClasses.title + '"></h2>\n     <button type="button" class="' + swalClasses.close + '">\xD7</button>\n   </div>\n   <div class="' + swalClasses.content + '">\n     <div id="' + swalClasses.content + '"></div>\n     <input class="' + swalClasses.input + '" />\n     <input type="file" class="' + swalClasses.file + '" />\n     <div class="' + swalClasses.range + '">\n       <input type="range" />\n       <output></output>\n     </div>\n     <select class="' + swalClasses.select + '"></select>\n     <div class="' + swalClasses.radio + '"></div>\n     <label for="' + swalClasses.checkbox + '" class="' + swalClasses.checkbox + '">\n       <input type="checkbox" />\n     </label>\n     <textarea class="' + swalClasses.textarea + '"></textarea>\n     <div class="' + swalClasses.validationerror + '" id="' + swalClasses.validationerror + '"></div>\n   </div>\n   <div class="' + swalClasses.actions + '">\n     <button type="button" class="' + swalClasses.confirm + '">OK</button>\n     <button type="button" class="' + swalClasses.cancel + '">Cancel</button>\n   </div>\n   <div class="' + swalClasses.footer + '">\n   </div>\n </div>\n').replace(/(^|\n)\s*/g, '');
1685
1686    var getContainer = function getContainer() {
1687        return document.body.querySelector('.' + swalClasses.container);
1688    };
1689
1690    var getPopup = function getPopup() {
1691        return getContainer() ? getContainer().querySelector('.' + swalClasses.popup) : null;
1692    };
1693
1694    var getIcons = function getIcons() {
1695        var popup = getPopup();
1696        return popup.querySelectorAll('.' + swalClasses.icon);
1697    };
1698
1699    var elementByClass = function elementByClass(className) {
1700        return getContainer() ? getContainer().querySelector('.' + className) : null;
1701    };
1702
1703    var getTitle = function getTitle() {
1704        return elementByClass(swalClasses.title);
1705    };
1706
1707    var getContent = function getContent() {
1708        return elementByClass(swalClasses.content);
1709    };
1710
1711    var getImage = function getImage() {
1712        return elementByClass(swalClasses.image);
1713    };
1714
1715    var getProgressSteps = function getProgressSteps() {
1716        return elementByClass(swalClasses.progresssteps);
1717    };
1718
1719    var getValidationError = function getValidationError() {
1720        return elementByClass(swalClasses.validationerror);
1721    };
1722
1723    var getConfirmButton = function getConfirmButton() {
1724        return elementByClass(swalClasses.confirm);
1725    };
1726
1727    var getCancelButton = function getCancelButton() {
1728        return elementByClass(swalClasses.cancel);
1729    };
1730
1731    var getButtonsWrapper = function getButtonsWrapper() {
1732        warnOnce('swal.getButtonsWrapper() is deprecated and will be removed in the next major release, use swal.getActions() instead');
1733        return elementByClass(swalClasses.actions);
1734    };
1735
1736    var getActions = function getActions() {
1737        return elementByClass(swalClasses.actions);
1738    };
1739
1740    var getFooter = function getFooter() {
1741        return elementByClass(swalClasses.footer);
1742    };
1743
1744    var getCloseButton = function getCloseButton() {
1745        return elementByClass(swalClasses.close);
1746    };
1747
1748    var getFocusableElements = function getFocusableElements() {
1749        var focusableElementsWithTabindex = Array.prototype.slice.call(getPopup().querySelectorAll('[tabindex]:not
1749([tabindex="-1"]):not([tabindex="0"])'))
1750                // sort according to tabindex
1751                .sort(function (a, b) {
1752                    a = parseInt(a.getAttribute('tabindex'));
1753                    b = parseInt(b.getAttribute('tabindex'));
1754                    if (a > b) {
1755                        return 1;
1756                    } else if (a < b) {
1757                        return -1;
1758                    }
1759                    return 0;
1760                });
1761
1762        var otherFocusableElements = Array.prototype.slice.call(getPopup().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, [tabindex="0"]'));
1763
1764        return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements));
1765    };
1766
1767    var parseHtmlToContainer = function parseHtmlToContainer(param, target) {
1768        if (!param) {
1769            return hide(target);
1770        }
1771
1772        if ((typeof param === 'undefined' ? 'undefined' : _typeof(param)) === 'object') {
1773            target.innerHTML = '';
1774            if (0 in param) {
1775                for (var i = 0; i in param; i++) {
1776                    target.appendChild(param[i].cloneNode(true));
1777                }
1778            } else {
1779                target.appendChild(param.cloneNode(true));
1780            }
1781        } else if (param) {
1782            target.innerHTML = param;
1783        } else {
1784        }
1785        show(target);
1786    };
1787
1788    var isModal = function isModal() {
1789        return !document.body.classList.contains(swalClasses['toast-shown']);
1790    };
1791
1792    var isToast = function isToast() {
1793        return document.body.classList.contains(swalClasses['toast-shown']);
1794    };
1795
1796    var isLoading = function isLoading() {
1797        return getPopup().hasAttribute('data-loading');
1798    };
1799
1800    var hasClass = function hasClass(elem, className) {
1801        if (elem.classList) {
1802            return elem.classList.contains(className);
1803        }
1804        return false;
1805    };
1806
1807    var focusInput = function focusInput(input) {
1808        input.focus();
1809
1810        // place cursor at end of text in text input
1811        if (input.type !== 'file') {
1812            // http://stackoverflow.com/a/2345915/1331425
1813            var val = input.value;
1814            input.value = '';
1815            input.value = val;
1816        }
1817    };
1818
1819    var addOrRemoveClass = function addOrRemoveClass(target, classList, add) {
1820        if (!target || !classList) {
1821            return;
1822        }
1823        if (typeof classList === 'string') {
1824            classList = classList.split(/\s+/).filter(Boolean);
1825        }
1826        classList.forEach(function (className) {
1827            if (target.forEach) {
1828                target.forEach(function (elem) {
1829                    add ? elem.classList.add(className) : elem.classList.remove(className);
1830                });
1831            } else {
1832                add ? target.classList.add(className) : target.classList.remove(className);
1833            }
1834        });
1835    };
1836
1837    var addClass = function addClass(target, classList) {
1838        addOrRemoveClass(target, classList, true);
1839    };
1840
1841    var removeClass = function removeClass(target, classList) {
1842        addOrRemoveClass(target, classList, false);
1843    };
1844
1845    var getChildByClass = function getChildByClass(elem, className) {
1846        for (var i = 0; i < elem.childNodes.length; i++) {
1847            if (hasClass(elem.childNodes[i], className)) {
1848                return elem.childNodes[i];
1849            }
1850        }
1851    };
1852
1853    var show = function show(elem) {
1854        elem.style.opacity = '';
1855        elem.style.display = elem.id === swalClasses.content ? 'block' : 'flex';
1856    };
1857
1858    var hide = function hide(elem) {
1859        elem.style.opacity = '';
1860        elem.style.display = 'none';
1861    };
1862
1863    var empty = function empty(elem) {
1864        while (elem.firstChild) {
1865            elem.removeChild(elem.firstChild);
1866        }
1867    };
1868
1869// borrowed from jquery $(elem).is(':visible') implementation
1870    var isVisible = function isVisible(elem) {
1871        return elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
1872    };
1873
1874    var removeStyleProperty = function removeStyleProperty(elem, property) {
1875        if (elem.style.removeProperty) {
1876            elem.style.removeProperty(property);
1877        } else {
1878            elem.style.removeAttribute(property);
1879        }
1880    };
1881
1882    var animationEndEvent = function () {
1883        // Prevent run in Node env
1884        if (isNodeEnv()) {
1885            return false;
1886        }
1887
1888        var testEl = document.createElement('div');
1889        var transEndEventNames = {
1890            'WebkitAnimation': 'webkitAnimationEnd',
1891            'OAnimation': 'oAnimationEnd oanimationend',
1892            'animation': 'animationend'
1893        };
1894        for (var i in transEndEventNames) {
1895            if (transEndEventNames.hasOwnProperty(i) && typeof testEl.style[i] !== 'undefined') {
1896                return transEndEventNames[i];
1897            }
1898        }
1899
1900        return false;
1901    }();
1902
1903// Reset previous window keydown handler and focued element
1904    var resetPrevState = function resetPrevState() {
1905        if (states.previousActiveElement && states.previousActiveElement.focus) {
1906            var x = window.scrollX;
1907            var y = window.scrollY;
1908            states.previousActiveElement.focus();
1909            if (typeof x !== 'undefined' && typeof y !== 'undefined') {
1910                // IE doesn't have scrollX/scrollY support
1911                window.scrollTo(x, y);
1912            }
1913        }
1914    };
1915
1916// Measure width of scrollbar
1917// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286
1918    var measureScrollbar = function measureScrollbar() {
1919        var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints;
1920        if (supportsTouch) {
1921            return 0;
1922        }
1923        var scrollDiv = document.createElement('div');
1924        scrollDiv.style.width = '50px';
1925        scrollDiv.style.height = '50px';
1926        scrollDiv.style.overflow = 'scroll';
1927        document.body.appendChild(scrollDiv);
1928        var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
1929        document.body.removeChild(scrollDiv);
1930        return scrollbarWidth;
1931    };
1932
1933    /**
1934     * Inject a string of CSS into the page header
1935     *
1936     * @param {String} css
1937     */
1938    var injectCSS = function injectCSS() {
1939        var css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1940
1941        // Prevent run in Node env
1942        if (isNodeEnv()) {
1943            return false;
1944        }
1945
1946        var head = document.head || document.getElementsByTagName('head')[0];
1947        var style = document.createElement('style');
1948        style.type = 'text/css';
1949        head.appendChild(style);
1950
1951        if (style.styleSheet) {
1952            style.styleSheet.cssText = css;
1953        } else {
1954            style.appendChild(document.createTextNode(css));
1955        }
1956    };
1957
1958    injectCSS(styles);
1959
1960    return sweetAlert;
1961
1962})));
1963if (typeof window !== 'undefined' && window.Sweetalert2){
1964    window.sweetAlert2 = window.swal = window.Sweetalert2;     
1965}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.