瀏覽代碼

updated sweetalert2 & added sweetalert2-theme-bootstrap-4

REJack 5 年之前
父節點
當前提交
0381231b23

+ 4 - 0
build/npm/Plugins.js

@@ -192,6 +192,10 @@ const Plugins = [
     from: 'node_modules/sweetalert2/dist/',
     to  : 'plugins/sweetalert2'
   },
+  {
+    from: 'node_modules/@sweetalert2/theme-bootstrap-4/',
+    to  : 'plugins/sweetalert2-theme-bootstrap-4'
+  },
   // Toastr
   {
     from: 'node_modules/toastr/build/',

+ 8 - 9
package-lock.json

@@ -2527,6 +2527,11 @@
       "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
       "dev": true
     },
+    "@sweetalert2/theme-bootstrap-4": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-2.1.0.tgz",
+      "integrity": "sha512-Ji33Ixo45EjGrGUX0Z+RqsI0X45r3NW464MigYhA9olUy4uOlwfTkumKpeudrY+tMZYDM2OP0LR9ndHBcyArbw=="
+    },
     "@types/estree": {
       "version": "0.0.39",
       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
@@ -8390,12 +8395,6 @@
       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
       "dev": true
     },
-    "ncp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
-      "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
-      "dev": true
-    },
     "negotiator": {
       "version": "0.6.2",
       "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
@@ -12675,9 +12674,9 @@
       }
     },
     "sweetalert2": {
-      "version": "8.12.1",
-      "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-8.12.1.tgz",
-      "integrity": "sha512-C+c/lB95JjePFW9n5cEghKnk3z0sbeOfbt3yzV4QlbBLx+Wh/LzVIb59QTvixHEhvTiSkUMgSY30Uj40hU3MHw=="
+      "version": "8.16.2",
+      "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-8.16.2.tgz",
+      "integrity": "sha512-x0QMDnRbxETUi28Aiv/ucLCvLKc/vzE03wIqzJ0c6wy2xINJ+tFht3vZ+5QLZAiLHRoA0uPO54oq4+hSqUVHzw=="
     },
     "symbol-observable": {
       "version": "1.0.1",

+ 2 - 1
package.json

@@ -51,6 +51,7 @@
     "@fullcalendar/interaction": "^4.2.0",
     "@fullcalendar/timegrid": "^4.2.0",
     "@lgaitan/pace-progress": "^1.0.7",
+    "@sweetalert2/theme-bootstrap-4": "^2.1.0",
     "bootstrap": "^4.3.1",
     "bootstrap-colorpicker": "^3.1.2",
     "bootstrap-slider": "^10.6.1",
@@ -79,7 +80,7 @@
     "select2": "^4.0.7",
     "sparklines": "^1.2.0",
     "summernote": "^0.8.12",
-    "sweetalert2": "^8.12.1",
+    "sweetalert2": "^8.16.2",
     "tempusdominus-bootstrap-4": "^5.1.2",
     "toastr": "^2.1.4"
   },

+ 1 - 1
pages/UI/modals.html

@@ -11,7 +11,7 @@
   <!-- Ionicons -->
   <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
   <!-- SweetAlert2 -->
-  <link rel="stylesheet" href="../../plugins/sweetalert2/sweetalert2.min.css">
+  <link rel="stylesheet" href="../../plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css">
   <!-- Toastr -->
   <link rel="stylesheet" href="../../plugins/toastr/toastr.min.css">
   <!-- Theme style -->

+ 34 - 0
plugins/sweetalert2-theme-bootstrap-4/README.md

@@ -0,0 +1,34 @@
+# @sweetalert2/theme-bootstrap-4 - Bootstrap 4 Theme for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)
+
+[![npm version](https://img.shields.io/npm/v/@sweetalert2/theme-bootstrap-4.svg)](https://www.npmjs.com/package/@sweetalert2/theme-bootstrap-4)
+
+Installation
+------------
+
+```sh
+npm install --save sweetalert2 @sweetalert2/theme-bootstrap-4
+```
+
+Usage
+-----
+
+With CSS:
+
+```html
+<!-- Include the Bootstrap 4 theme -->
+<link rel="stylesheet" href="@sweetalert2/theme-bootstrap-4/bootstrap-4.css">
+
+<script src="sweetalert2/dist/sweetalert2.min.js"></script>
+```
+
+With SASS:
+
+`your-app.js`:
+```js
+import Swal from 'sweetalert2/src/sweetalert2.js'
+```
+
+`your-app.scss`:
+```scss
+@import '~@sweetalert2/theme-bootstrap-4/bootstrap-4.scss';
+```

File diff suppressed because it is too large
+ 1483 - 0
plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.css


File diff suppressed because it is too large
+ 1 - 0
plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css


+ 686 - 0
plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.scss

@@ -0,0 +1,686 @@
+@import '~sweetalert2/src/variables';
+
+// Function
+@function str-replace($string, $search, $replace: '') {
+  $index: str-index($string, $search);
+
+  @if $index {
+    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
+  }
+
+  @return $string;
+}
+
+// Theme Variables
+// Color
+$bootstrap-primary: #007bff !default;
+$bootstrap-success: #28a745 !default;
+$bootstrap-danger: #dc3545 !default;
+$bootstrap-warning: #ffc107 !default;
+$bootstrap-info: #17a2b8 !default;
+$bootstrap-secondary: #6c757d !default;
+
+$bootstrap-gray-100: #f8f9fa !default;
+$bootstrap-gray-200: #e9ecef !default;
+$bootstrap-gray-300: #dee2e6 !default;
+$bootstrap-gray-400: #ced4da !default;
+$bootstrap-gray-500: #adb5bd !default;
+$bootstrap-gray-600: #6c757d !default;
+$bootstrap-gray-700: #495057 !default;
+$bootstrap-gray-800: #343a40 !default;
+$bootstrap-gray-900: #212529 !default;
+
+$bootstrap-theme-color-interval: 8% !default;
+
+// Alert
+$bootstrap-alert-border-level: -9 !default;
+$bootstrap-alert-bg-level: -10 !default;
+$bootstrap-alert-color-level: 6 !default;
+$bootstrap-alert-border-color: mix($swal2-white, $bootstrap-secondary, abs($bootstrap-alert-border-level) * $bootstrap-theme-color-interval) !default;
+$bootstrap-alert-background: mix($swal2-white, $bootstrap-secondary, abs($bootstrap-alert-bg-level) * $bootstrap-theme-color-interval) !default;
+$bootstrap-alert-color: mix($swal2-black, $bootstrap-secondary, abs($bootstrap-alert-color-level) * $bootstrap-theme-color-interval) !default;
+$bootstrap-alert-padding-y: .75rem !default;
+$bootstrap-alert-padding-x: 1.25rem !default;
+$bootstrap-alert-margin-bottom: 1rem !default;
+$bootstrap-alert-border-radius: .25rem !default;
+$bootstrap-alert-border-width: 1px !default;
+$bootstrap-alert-font-size: 1rem !default;
+
+// Input
+$bootstrap-input-color: $bootstrap-gray-700 !default;
+$bootstrap-input-bg: $swal2-white !default;
+$bootstrap-input-border-color: $bootstrap-gray-300 !default;
+$bootstrap-input-border-radius: .25rem !default;
+$bootstrap-input-border-width: 1px !default;
+$bootstrap-input-padding-y: .375rem !default;
+$bootstrap-input-padding-x: .75rem !default;
+$bootstrap-input-line-height: 1.5 !default;
+$bootstrap-input-height-border: $bootstrap-input-border-width * 2 !default;
+$bootstrap-input-height: calc(#{$bootstrap-input-line-height * 1em} + #{$bootstrap-input-padding-y * 2} + #{$bootstrap-input-height-border}) !default;
+
+$bootstrap-input-disabled-color: $swal2-white !default;
+$bootstrap-input-disabled-bg: $bootstrap-gray-200 !default;
+
+$bootstrap-input-focus-width: .2rem !default;
+$bootstrap-input-focus-border: 1px solid lighten($bootstrap-primary, 25%) !default;
+$bootstrap-input-focus-box-shadow: 0 0 0 $bootstrap-input-focus-width rgba($bootstrap-primary, .25) !default;
+
+// Button
+$bootstrap-btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+$bootstrap-btn-secondary-focus-box-shadow: 0 0 0 $bootstrap-input-focus-width rgba($bootstrap-secondary, .25) !default;
+
+// Custom Shared Variables
+$bootstrap-custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+$bootstrap-custom-control-gutter: .5rem !default;
+$bootstrap-custom-control-indicator-size: 1rem !default;
+$bootstrap-custom-control-indicator-bg: $swal2-white !default;
+$bootstrap-custom-control-indicator-bg-size: 50% 50% !default;
+$bootstrap-custom-control-indicator-border-color: $bootstrap-gray-500 !default;
+$bootstrap-custom-control-indicator-border-width: $bootstrap-input-border-width !default;
+$bootstrap-custom-control-indicator-checked-color: $swal2-white !default;
+$bootstrap-custom-control-indicator-checked-bg: $bootstrap-primary !default;
+$bootstrap-custom-control-indicator-checked-disabled-bg: rgba($bootstrap-primary, .5) !default;
+$bootstrap-custom-control-indicator-checked-border-color: $bootstrap-custom-control-indicator-checked-bg !default;
+
+$bootstrap-custom-control-indicator-active-color: $swal2-white !default;
+$bootstrap-custom-control-indicator-active-bg: lighten($bootstrap-primary, 35%) !default;
+$bootstrap-custom-control-indicator-active-box-shadow: none !default;
+$bootstrap-custom-control-indicator-active-border-color: $bootstrap-custom-control-indicator-active-bg !default;
+
+$bootstrap-custom-control-indicator-focus-box-shadow: $bootstrap-input-focus-box-shadow !default;
+$bootstrap-custom-control-indicator-focus-border-color: lighten($bootstrap-primary, 25%) !default;
+
+// Custom Select
+$bootstrap-custom-select-bg-size: 8px 10px !default;
+$bootstrap-custom-select-indicator-color: $bootstrap-gray-800 !default;
+$bootstrap-custom-select-indicator: str-replace(url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"%3e%3cpath fill="#{$bootstrap-custom-select-indicator-color}" d="M2 0L0 2h4zm0 5L0 3h4z"/%3e%3c/svg%3e'), '#', '%23') !default;
+$bootstrap-custom-select-background: $bootstrap-custom-select-indicator no-repeat right $bootstrap-input-padding-x center / $bootstrap-custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
+
+// Custom Radio
+$bootstrap-custom-radio-indicator-border-radius: 50% !default;
+$bootstrap-custom-radio-indicator-icon-checked: str-replace(url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 8 8"%3e%3ccircle r="3" fill="#{$bootstrap-custom-control-indicator-checked-color}"/%3e%3c/svg%3e'), '#', '%23') !default;
+
+// Custom Checkbox
+$bootstrap-custom-checkbox-indicator-icon-checked: str-replace(url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8"%3e%3cpath fill="#{$bootstrap-custom-control-indicator-checked-color}" d="M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z"/%3e%3c/svg%3e'), '#', '%23') !default;
+
+// Custom Range
+$bootstrap-custom-range-track-width: 100% !default;
+$bootstrap-custom-range-track-height: .5rem !default;
+$bootstrap-custom-range-track-cursor: pointer !default;
+$bootstrap-custom-range-track-bg: $bootstrap-gray-300 !default;
+$bootstrap-custom-range-track-border-radius: 1rem !default;
+$bootstrap-custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($swal2-black, .1) !default;
+
+$bootstrap-custom-range-thumb-width: 1rem !default;
+$bootstrap-custom-range-thumb-height: $bootstrap-custom-range-thumb-width !default;
+$bootstrap-custom-range-thumb-bg: $bootstrap-primary !default;
+$bootstrap-custom-range-thumb-border: 0 !default;
+$bootstrap-custom-range-thumb-border-radius: 1rem !default;
+$bootstrap-custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($swal2-black, .1) !default;
+$bootstrap-custom-range-thumb-focus-box-shadow: 0 0 0 1px $swal2-white, $bootstrap-input-focus-box-shadow !default;
+$bootstrap-custom-range-thumb-focus-box-shadow-width: $bootstrap-input-focus-width !default; // For focus box shadow issue in IE/Edge
+$bootstrap-custom-range-thumb-active-bg: lighten($bootstrap-primary, 35%) !default;
+$bootstrap-custom-range-thumb-disabled-bg: $bootstrap-gray-500 !default;
+
+// Toast
+$bootstrap-toast-max-width:                   350px !default;
+$bootstrap-toast-padding-x:                   .75rem !default;
+$bootstrap-toast-padding-y:                   .25rem !default;
+$bootstrap-toast-font-size:                   .875rem !default;
+$bootstrap-toast-background-color:            rgba($swal2-white, .85) !default;
+$bootstrap-toast-border-width:                1px !default;
+$bootstrap-toast-border-color:                rgba(0, 0, 0, .1) !default;
+$bootstrap-toast-border-radius:               .25rem !default;
+$bootstrap-toast-box-shadow:                  0 .25rem .75rem rgba($swal2-black, .1) !default;
+
+// override SASS variables here
+
+// BOX MODEL
+$swal2-padding: 1rem;
+$swal2-border-radius: .3rem;
+
+// BACKDROP
+$swal2-backdrop: rgba($swal2-black, .5);
+$swal2-backdrop-transition: background-color .15s;
+
+// ICONS
+$swal2-success: $bootstrap-success;
+$swal2-error: $bootstrap-danger;
+$swal2-warning: $bootstrap-warning;
+$swal2-info: $bootstrap-info;
+$swal2-question: $bootstrap-secondary;
+
+// INPUT
+$swal2-input-border: $bootstrap-input-border-width solid $bootstrap-input-border-color;
+$swal2-input-border-radius: $bootstrap-input-border-radius;
+$swal2-input-border-focus: none;
+$swal2-input-box-shadow-focus: none;
+$swal2-input-font-size: 1rem;
+$swal2-input-padding: $bootstrap-input-padding-y $bootstrap-input-padding-x;
+
+// CLOSE BUTTON
+$swal2-close-button-line-height: 1;
+$swal2-close-button-color: rgba($swal2-black, .5);
+$swal2-close-button-font-size: 1.5rem;
+
+// CLOSE BUTTON:HOVER
+$swal2-close-button-hover-color: $swal2-black;
+
+// CONFIRM BUTTON
+$swal2-confirm-button-background-color: $bootstrap-primary;
+
+// CANCEL BUTTON
+$swal2-cancel-button-background-color: $bootstrap-secondary;
+
+// COMMON VARIABLES FOR CONFIRM AND CANCEL BUTTONS
+$swal2-button-focus-outline: none;
+
+// TOASTS
+$swal2-toast-border: $bootstrap-toast-border-color solid $bootstrap-toast-border-width;
+$swal2-toast-box-shadow: $bootstrap-toast-box-shadow;
+$swal2-toast-padding: $bootstrap-toast-padding-x $bootstrap-toast-padding-y;
+$swal2-toast-title-font-size: $bootstrap-toast-font-size;
+$swal2-toast-content-font-size: $bootstrap-toast-font-size;
+$swal2-toast-input-font-size: $bootstrap-toast-font-size;
+$swal2-toast-validation-font-size: $bootstrap-toast-font-size;
+$swal2-toast-buttons-font-size: $bootstrap-toast-font-size;
+
+@import '~sweetalert2/src/sweetalert2';
+
+.swal2-confirm,
+.swal2-cancel {
+  transition: $bootstrap-btn-transition;
+}
+
+.swal2-popup {
+  padding: 0;
+  border: $bootstrap-input-border-width solid rgba(0, 0, 0, .2);
+
+  &.swal2-toast {
+    padding: .25rem .75rem;
+    font-size: .875rem;
+
+    .swal2-header {
+      padding: 0;
+      border-bottom: 0;
+    }
+
+    .swal2-title {
+      margin: 0;
+      color: $bootstrap-gray-600;
+    }
+
+    .swal2-content {
+      padding: 0 .5rem;
+    }
+
+    .swal2-actions {
+      flex-basis: 0 !important;
+      margin: 0;
+      padding: 0;
+    }
+
+    .swal2-styled {
+      margin: 0;
+    }
+  }
+}
+
+.swal2-header {
+  padding: 1rem;
+  border-bottom: $bootstrap-input-border-width solid $bootstrap-input-border-color;
+}
+
+.swal2-title {
+  margin: 0;
+  font-size: 1.25rem;
+}
+
+.swal2-content {
+  padding: 1rem 1rem 0;
+}
+
+.swal2-actions {
+  padding: 0 0 1rem;
+  border-radius: $bootstrap-input-border-radius;
+}
+
+.swal2-footer {
+  padding: 1rem;
+  border-top: $bootstrap-input-border-width solid $bootstrap-input-border-color;
+}
+
+.swal2-close {
+  height: auto;
+  padding: 1rem 1.2rem 1rem 1rem;
+  font-weight: 700;
+}
+
+.swal2-input,
+.swal2-textarea {
+  height: inherit;
+  padding: $swal2-input-padding;
+  transition: $bootstrap-custom-forms-transition;
+  line-height: $bootstrap-input-line-height;
+
+  &:focus {
+    border: $bootstrap-input-focus-border;
+    outline: 0;
+    box-shadow: $bootstrap-input-focus-box-shadow;
+    color: $bootstrap-input-color;
+  }
+
+  &.swal2-inputerror {
+    box-shadow: none !important;
+
+    &:focus {
+      border-color: $bootstrap-danger;
+      box-shadow: 0 0 0 $bootstrap-input-focus-width rgba($bootstrap-danger, .25) !important;
+    }
+  }
+}
+
+.swal2-styled {
+  &.swal2-confirm {
+    padding: $swal2-input-padding;
+    border: 1px solid $bootstrap-primary;
+    font-size: 1rem;
+
+    &:hover {
+      border-color: darken($bootstrap-primary, 10%);
+      background-color: darken($bootstrap-primary, 7.5%);
+    }
+
+    &:focus {
+      outline: 0;
+      box-shadow: $bootstrap-input-focus-box-shadow;
+    }
+
+    &:active {
+      border-color: darken($bootstrap-primary, 12.5%);
+      background-color: darken($bootstrap-primary, 10%);
+
+      &:focus {
+        box-shadow: $bootstrap-input-focus-box-shadow;
+      }
+    }
+  }
+
+  &.swal2-cancel {
+    padding: $swal2-input-padding;
+    border: 1px solid $bootstrap-secondary;
+    font-size: 1rem;
+
+    &:hover {
+      border-color: darken($bootstrap-secondary, 10%);
+      background-color: darken($bootstrap-secondary, 7.5%);
+    }
+
+    &:focus {
+      outline: 0;
+      box-shadow: $bootstrap-btn-secondary-focus-box-shadow;
+    }
+
+    &:active {
+      border-color: darken($bootstrap-secondary, 12.5%);
+      background-color: darken($bootstrap-secondary, 10%);
+
+      &:focus {
+        box-shadow: $bootstrap-btn-secondary-focus-box-shadow;
+      }
+    }
+  }
+}
+
+.swal2-select {
+  display: inline-block;
+  width: 100%;
+  height: $bootstrap-input-height;
+  padding: .375rem 1.75rem .375rem .75rem;
+  transition: $bootstrap-custom-forms-transition;
+  border: $bootstrap-input-border-width solid $bootstrap-input-border-color;
+  border-radius: $bootstrap-input-border-radius;
+  background: $bootstrap-custom-select-background;
+  background-color: $bootstrap-input-bg;
+  color: $bootstrap-input-color;
+  vertical-align: middle;
+  // @include box-shadow($custom-select-box-shadow);
+  appearance: none;
+
+  &:focus {
+    border: $bootstrap-input-focus-border;
+    outline: 0;
+    box-shadow: $bootstrap-input-focus-box-shadow;
+
+    &::-ms-value {
+      background-color: $bootstrap-input-bg;
+      color: $bootstrap-input-color;
+    }
+  }
+
+  &[multiple],
+  &[size]:not([size='1']) {
+    height: auto;
+    padding-right: $bootstrap-input-padding-x;
+    background-image: none;
+  }
+
+  &:disabled {
+    background-color: $bootstrap-input-disabled-bg;
+    color: $bootstrap-input-disabled-color;
+  }
+
+  &::-ms-expand {
+    display: none;
+  }
+}
+
+.swal2-radio {
+  label {
+    position: relative;
+    margin-right: 1rem;
+    margin-left: 1.5rem;
+
+    input {
+      position: absolute;
+      z-index: -1;
+      opacity: 0;
+
+      &:checked ~ .swal2-label::before {
+        border-color: $bootstrap-custom-control-indicator-checked-border-color;
+        background: $bootstrap-custom-control-indicator-checked-bg;
+        color: $bootstrap-custom-control-indicator-checked-color;
+      }
+
+      &:focus ~ .swal2-label::before {
+        box-shadow: $bootstrap-custom-control-indicator-focus-box-shadow;
+      }
+
+      &:focus:not(:checked) ~ .swal2-label::before {
+        border-color: $bootstrap-custom-control-indicator-focus-border-color;
+      }
+
+      &:not(:disabled):active ~ .swal2-label::before {
+        border-color: $bootstrap-custom-control-indicator-active-border-color;
+        background-color: $bootstrap-custom-control-indicator-active-bg;
+        color: $bootstrap-custom-control-indicator-active-color;
+      }
+    }
+
+    input:checked ~ .swal2-label::after {
+      background-image: $bootstrap-custom-radio-indicator-icon-checked;
+    }
+
+    input:disabled:checked ~ .swal2-label::before {
+      background-color: $bootstrap-custom-control-indicator-checked-disabled-bg;
+    }
+  }
+
+  .swal2-label {
+    &::before {
+      content: '';
+      display: block;
+      position: absolute;
+      top: ($swal2-input-font-size * $bootstrap-input-line-height - $bootstrap-custom-control-indicator-size) / 6;
+      left: -($bootstrap-custom-control-gutter + $bootstrap-custom-control-indicator-size);
+      width: $bootstrap-custom-control-indicator-size;
+      height: $bootstrap-custom-control-indicator-size;
+      transition: $bootstrap-custom-forms-transition;
+      border: $bootstrap-custom-control-indicator-border-color solid $bootstrap-custom-control-indicator-border-width;
+      border-radius: $bootstrap-custom-radio-indicator-border-radius;
+      background-color: $bootstrap-custom-control-indicator-bg;
+      pointer-events: none;
+    }
+
+    &::after {
+      content: '';
+      display: block;
+      position: absolute;
+      top: ($swal2-input-font-size * $bootstrap-input-line-height - $bootstrap-custom-control-indicator-size) / 6;
+      left: -($bootstrap-custom-control-gutter + $bootstrap-custom-control-indicator-size);
+      width: $bootstrap-custom-control-indicator-size;
+      height: $bootstrap-custom-control-indicator-size;
+      transition: $bootstrap-custom-forms-transition;
+      border: transparent solid $bootstrap-custom-control-indicator-border-width;
+      background: no-repeat 50% / #{$bootstrap-custom-control-indicator-bg-size};
+    }
+  }
+}
+
+.swal2-checkbox {
+  margin-right: 1rem;
+  padding-left: 1.5rem;
+
+  input {
+    z-index: -1;
+    opacity: 0;
+
+    &:checked ~ .swal2-label::before {
+      border-color: $bootstrap-custom-control-indicator-checked-border-color;
+      background: $bootstrap-custom-control-indicator-checked-bg;
+      color: $bootstrap-custom-control-indicator-checked-color;
+    }
+
+    &:focus ~ .swal2-label::before {
+      box-shadow: $bootstrap-custom-control-indicator-focus-box-shadow;
+    }
+
+    &:focus:not(:checked) ~ .swal2-label::before {
+      border-color: $bootstrap-custom-control-indicator-focus-border-color;
+    }
+
+    &:not(:disabled):active ~ .swal2-label::before {
+      border-color: $bootstrap-custom-control-indicator-active-border-color;
+      background-color: $bootstrap-custom-control-indicator-active-bg;
+      color: $bootstrap-custom-control-indicator-active-color;
+    }
+  }
+
+  input:checked ~ .swal2-label::after {
+    background-image: $bootstrap-custom-checkbox-indicator-icon-checked;
+  }
+
+  input:disabled:checked ~ .swal2-label::before {
+    background-color: $bootstrap-custom-control-indicator-checked-disabled-bg;
+  }
+
+  .swal2-label {
+    position: relative;
+
+    &::before {
+      content: '';
+      display: block;
+      position: absolute;
+      top: ($swal2-input-font-size * $bootstrap-input-line-height - $bootstrap-custom-control-indicator-size) / 2;
+      left: -($bootstrap-custom-control-gutter + $bootstrap-custom-control-indicator-size);
+      width: $bootstrap-custom-control-indicator-size;
+      height: $bootstrap-custom-control-indicator-size;
+      transition: $bootstrap-custom-forms-transition;
+      border: $bootstrap-custom-control-indicator-border-color solid $bootstrap-custom-control-indicator-border-width;
+      background-color: $bootstrap-custom-control-indicator-bg;
+      pointer-events: none;
+    }
+
+    &::after {
+      content: '';
+      display: block;
+      position: absolute;
+      top: ($swal2-input-font-size * $bootstrap-input-line-height - $bootstrap-custom-control-indicator-size) / 2;
+      left: -($bootstrap-custom-control-gutter + $bootstrap-custom-control-indicator-size);
+      width: $bootstrap-custom-control-indicator-size;
+      height: $bootstrap-custom-control-indicator-size;
+      transition: $bootstrap-custom-forms-transition;
+      border: transparent solid $bootstrap-custom-control-indicator-border-width;
+      background: no-repeat 50% / #{$bootstrap-custom-control-indicator-bg-size};
+    }
+  }
+}
+
+.swal2-range input {
+  width: 100%;
+  height: calc(#{$bootstrap-custom-range-thumb-height} + #{$bootstrap-custom-range-thumb-focus-box-shadow-width * 3});
+  padding: 0;
+  background-color: transparent;
+  appearance: none;
+
+  &:focus {
+    outline: none;
+
+    &::-webkit-slider-thumb {
+      box-shadow: $bootstrap-custom-range-thumb-focus-box-shadow;
+    }
+
+    &::-moz-range-thumb {
+      box-shadow: $bootstrap-custom-range-thumb-focus-box-shadow;
+    }
+
+    &::-ms-thumb {
+      box-shadow: $bootstrap-custom-range-thumb-focus-box-shadow;
+    }
+  }
+
+  &::-moz-focus-outer {
+    border: 0;
+  }
+
+  &::-webkit-slider-thumb {
+    width: $bootstrap-custom-range-thumb-width;
+    height: $bootstrap-custom-range-thumb-height;
+    margin-top: ($bootstrap-custom-range-track-height - $bootstrap-custom-range-thumb-height) / 2;
+    transition: $bootstrap-custom-forms-transition;
+    border: $bootstrap-custom-range-thumb-border;
+    border-radius: $bootstrap-custom-range-thumb-border-radius;
+    background: $bootstrap-custom-range-thumb-bg;
+    box-shadow: $bootstrap-custom-range-thumb-box-shadow;
+    appearance: none;
+
+    &:active {
+      background: $bootstrap-custom-range-thumb-active-bg;
+    }
+  }
+
+  &::-webkit-slider-runnable-track {
+    width: $bootstrap-custom-range-track-width;
+    height: $bootstrap-custom-range-track-height;
+    border-radius: $bootstrap-custom-range-track-border-radius;
+    border-color: transparent;
+    background-color: $bootstrap-custom-range-track-bg;
+    box-shadow: $bootstrap-custom-range-track-box-shadow;
+    color: transparent;
+    cursor: $bootstrap-custom-range-track-cursor;
+  }
+
+  &::-moz-range-thumb {
+    width: $bootstrap-custom-range-thumb-width;
+    height: $bootstrap-custom-range-thumb-height;
+    margin-top: 1rem;
+    transition: $bootstrap-custom-forms-transition;
+    border: $bootstrap-custom-range-thumb-border;
+    border-radius: $bootstrap-custom-range-thumb-border-radius;
+    background: $bootstrap-custom-range-thumb-bg;
+    box-shadow: $bootstrap-custom-range-thumb-box-shadow;
+    appearance: none;
+
+    &:active {
+      background: $bootstrap-custom-range-thumb-active-bg;
+    }
+  }
+
+  &::-moz-range-track {
+    width: $bootstrap-custom-range-track-width;
+    height: $bootstrap-custom-range-track-height;
+    border-radius: $bootstrap-custom-range-track-border-radius;
+    border-color: transparent;
+    background-color: $bootstrap-custom-range-track-bg;
+    box-shadow: $bootstrap-custom-range-track-box-shadow;
+    color: transparent;
+    cursor: $bootstrap-custom-range-track-cursor;
+  }
+
+  &::-ms-thumb {
+    width: $bootstrap-custom-range-thumb-width;
+    height: $bootstrap-custom-range-thumb-height;
+    margin-top: 0;
+    margin-right: $bootstrap-custom-range-thumb-focus-box-shadow-width;
+    margin-left: $bootstrap-custom-range-thumb-focus-box-shadow-width;
+    transition: $bootstrap-custom-forms-transition;
+    border: $bootstrap-custom-range-thumb-border;
+    border-radius: $bootstrap-custom-range-thumb-border-radius;
+    background: $bootstrap-custom-range-thumb-bg;
+    box-shadow: $bootstrap-custom-range-thumb-box-shadow;
+    appearance: none;
+
+    &:active {
+      background: $bootstrap-custom-range-thumb-active-bg;
+    }
+  }
+
+  &::-ms-track {
+    width: $bootstrap-custom-range-track-width;
+    height: $bootstrap-custom-range-track-height;
+    border-width: $bootstrap-custom-range-thumb-height / 2;
+    border-color: transparent;
+    background-color: transparent;
+    box-shadow: $bootstrap-custom-range-track-box-shadow;
+    color: transparent;
+    cursor: $bootstrap-custom-range-track-cursor;
+  }
+
+  &::-ms-fill-lower {
+    border-radius: $bootstrap-custom-range-track-border-radius;
+    background-color: $bootstrap-custom-range-track-bg;
+  }
+
+  &::-ms-fill-upper {
+    margin-right: 15px;
+    border-radius: $bootstrap-custom-range-track-border-radius;
+    background-color: $bootstrap-custom-range-track-bg;
+  }
+
+  &:disabled {
+    &::-webkit-slider-thumb {
+      background-color: $bootstrap-custom-range-thumb-disabled-bg;
+    }
+
+    &::-webkit-slider-runnable-track {
+      cursor: default;
+    }
+
+    &::-moz-range-thumb {
+      background-color: $bootstrap-custom-range-thumb-disabled-bg;
+    }
+
+    &::-moz-range-track {
+      cursor: default;
+    }
+
+    &::-ms-thumb {
+      background-color: $bootstrap-custom-range-thumb-disabled-bg;
+    }
+  }
+}
+
+.swal2-validation-message {
+  position: relative;
+  margin-bottom: $bootstrap-alert-margin-bottom;
+  padding: $bootstrap-alert-padding-y $bootstrap-alert-padding-x;
+  border: $bootstrap-alert-border-width solid transparent;
+  border-radius: $bootstrap-alert-border-radius;
+  border-color: $bootstrap-alert-border-color;
+  background: $bootstrap-alert-background;
+  color: $bootstrap-alert-color;
+  font-size: $bootstrap-alert-font-size;
+
+  &::before {
+    background-color: lighten($bootstrap-danger, 10%);
+  }
+}
+
+.swal2-toast {
+  max-width: $bootstrap-toast-max-width;
+  border-radius: $bootstrap-toast-border-radius;
+  background-color: $bootstrap-toast-background-color;
+}
+
+//

+ 55 - 0
plugins/sweetalert2-theme-bootstrap-4/package.json

@@ -0,0 +1,55 @@
+{
+  "_from": "@sweetalert2/theme-bootstrap-4",
+  "_id": "@sweetalert2/theme-bootstrap-4@2.1.0",
+  "_inBundle": false,
+  "_integrity": "sha512-Ji33Ixo45EjGrGUX0Z+RqsI0X45r3NW464MigYhA9olUy4uOlwfTkumKpeudrY+tMZYDM2OP0LR9ndHBcyArbw==",
+  "_location": "/@sweetalert2/theme-bootstrap-4",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "tag",
+    "registry": true,
+    "raw": "@sweetalert2/theme-bootstrap-4",
+    "name": "@sweetalert2/theme-bootstrap-4",
+    "escapedName": "@sweetalert2%2ftheme-bootstrap-4",
+    "scope": "@sweetalert2",
+    "rawSpec": "",
+    "saveSpec": null,
+    "fetchSpec": "latest"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-2.1.0.tgz",
+  "_shasum": "e409b0d043bc1ed1bd47925c7571949b0cdaa3d0",
+  "_spec": "@sweetalert2/theme-bootstrap-4",
+  "_where": "/Users/rejack/Projekte/GitHub/REJack/AdminLTE",
+  "author": "",
+  "bugs": {
+    "url": "https://github.com/sweetalert2/sweetalert2-themes/issues"
+  },
+  "bundleDependencies": false,
+  "deprecated": false,
+  "description": "Bootstrap 4 theme for SweetAlert2",
+  "files": [
+    "*.css",
+    "*.scss"
+  ],
+  "homepage": "https://sweetalert2.github.io/",
+  "keywords": [
+    "sweetalert2",
+    "bootstrap-4",
+    "theme",
+    "themes",
+    "theming",
+    "sass"
+  ],
+  "license": "MIT",
+  "main": "bootstrap-4.css",
+  "name": "@sweetalert2/theme-bootstrap-4",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/sweetalert2/sweetalert2-themes.git"
+  },
+  "version": "2.1.0"
+}

File diff suppressed because it is too large
+ 554 - 447
plugins/sweetalert2/sweetalert2.all.js


File diff suppressed because it is too large
+ 2 - 2
plugins/sweetalert2/sweetalert2.all.min.js


+ 76 - 147
plugins/sweetalert2/sweetalert2.css

@@ -1,61 +1,49 @@
 @charset "UTF-8";
 @-webkit-keyframes swal2-show {
   0% {
-    -webkit-transform: scale(0.7);
-            transform: scale(0.7);
+    transform: scale(0.7);
   }
   45% {
-    -webkit-transform: scale(1.05);
-            transform: scale(1.05);
+    transform: scale(1.05);
   }
   80% {
-    -webkit-transform: scale(0.95);
-            transform: scale(0.95);
+    transform: scale(0.95);
   }
   100% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
   }
 }
 @keyframes swal2-show {
   0% {
-    -webkit-transform: scale(0.7);
-            transform: scale(0.7);
+    transform: scale(0.7);
   }
   45% {
-    -webkit-transform: scale(1.05);
-            transform: scale(1.05);
+    transform: scale(1.05);
   }
   80% {
-    -webkit-transform: scale(0.95);
-            transform: scale(0.95);
+    transform: scale(0.95);
   }
   100% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
   }
 }
 @-webkit-keyframes swal2-hide {
   0% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
     opacity: 1;
   }
   100% {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
+    transform: scale(0.5);
     opacity: 0;
   }
 }
 @keyframes swal2-hide {
   0% {
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
     opacity: 1;
   }
   100% {
-    -webkit-transform: scale(0.5);
-            transform: scale(0.5);
+    transform: scale(0.5);
     opacity: 0;
   }
 }
@@ -159,111 +147,91 @@
 }
 @-webkit-keyframes swal2-rotate-success-circular-line {
   0% {
-    -webkit-transform: rotate(-45deg);
-            transform: rotate(-45deg);
+    transform: rotate(-45deg);
   }
   5% {
-    -webkit-transform: rotate(-45deg);
-            transform: rotate(-45deg);
+    transform: rotate(-45deg);
   }
   12% {
-    -webkit-transform: rotate(-405deg);
-            transform: rotate(-405deg);
+    transform: rotate(-405deg);
   }
   100% {
-    -webkit-transform: rotate(-405deg);
-            transform: rotate(-405deg);
+    transform: rotate(-405deg);
   }
 }
 @keyframes swal2-rotate-success-circular-line {
   0% {
-    -webkit-transform: rotate(-45deg);
-            transform: rotate(-45deg);
+    transform: rotate(-45deg);
   }
   5% {
-    -webkit-transform: rotate(-45deg);
-            transform: rotate(-45deg);
+    transform: rotate(-45deg);
   }
   12% {
-    -webkit-transform: rotate(-405deg);
-            transform: rotate(-405deg);
+    transform: rotate(-405deg);
   }
   100% {
-    -webkit-transform: rotate(-405deg);
-            transform: rotate(-405deg);
+    transform: rotate(-405deg);
   }
 }
 @-webkit-keyframes swal2-animate-error-x-mark {
   0% {
     margin-top: 1.625em;
-    -webkit-transform: scale(0.4);
-            transform: scale(0.4);
+    transform: scale(0.4);
     opacity: 0;
   }
   50% {
     margin-top: 1.625em;
-    -webkit-transform: scale(0.4);
-            transform: scale(0.4);
+    transform: scale(0.4);
     opacity: 0;
   }
   80% {
     margin-top: -0.375em;
-    -webkit-transform: scale(1.15);
-            transform: scale(1.15);
+    transform: scale(1.15);
   }
   100% {
     margin-top: 0;
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
     opacity: 1;
   }
 }
 @keyframes swal2-animate-error-x-mark {
   0% {
     margin-top: 1.625em;
-    -webkit-transform: scale(0.4);
-            transform: scale(0.4);
+    transform: scale(0.4);
     opacity: 0;
   }
   50% {
     margin-top: 1.625em;
-    -webkit-transform: scale(0.4);
-            transform: scale(0.4);
+    transform: scale(0.4);
     opacity: 0;
   }
   80% {
     margin-top: -0.375em;
-    -webkit-transform: scale(1.15);
-            transform: scale(1.15);
+    transform: scale(1.15);
   }
   100% {
     margin-top: 0;
-    -webkit-transform: scale(1);
-            transform: scale(1);
+    transform: scale(1);
     opacity: 1;
   }
 }
 @-webkit-keyframes swal2-animate-error-icon {
   0% {
-    -webkit-transform: rotateX(100deg);
-            transform: rotateX(100deg);
+    transform: rotateX(100deg);
     opacity: 0;
   }
   100% {
-    -webkit-transform: rotateX(0deg);
-            transform: rotateX(0deg);
+    transform: rotateX(0deg);
     opacity: 1;
   }
 }
 @keyframes swal2-animate-error-icon {
   0% {
-    -webkit-transform: rotateX(100deg);
-            transform: rotateX(100deg);
+    transform: rotateX(100deg);
     opacity: 0;
   }
   100% {
-    -webkit-transform: rotateX(0deg);
-            transform: rotateX(0deg);
+    transform: rotateX(0deg);
     opacity: 1;
   }
 }
@@ -278,8 +246,7 @@ body.swal2-toast-shown .swal2-container.swal2-top {
   right: auto;
   bottom: auto;
   left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
+  transform: translateX(-50%);
 }
 body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {
   top: 0;
@@ -298,24 +265,21 @@ body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-sho
   right: auto;
   bottom: auto;
   left: 0;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
+  transform: translateY(-50%);
 }
 body.swal2-toast-shown .swal2-container.swal2-center {
   top: 50%;
   right: auto;
   bottom: auto;
   left: 50%;
-  -webkit-transform: translate(-50%, -50%);
-          transform: translate(-50%, -50%);
+  transform: translate(-50%, -50%);
 }
 body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {
   top: 50%;
   right: 0;
   bottom: auto;
   left: auto;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
+  transform: translateY(-50%);
 }
 body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {
   top: auto;
@@ -328,8 +292,7 @@ body.swal2-toast-shown .swal2-container.swal2-bottom {
   right: auto;
   bottom: 0;
   left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
+  transform: translateX(-50%);
 }
 body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {
   top: auto;
@@ -424,6 +387,7 @@ body.swal2-toast-column .swal2-toast .swal2-validation-message {
 }
 .swal2-popup.swal2-toast .swal2-actions {
   flex-basis: auto !important;
+  width: auto;
   height: auto;
   margin: 0 0.3125em;
 }
@@ -442,24 +406,20 @@ body.swal2-toast-column .swal2-toast .swal2-validation-message {
   position: absolute;
   width: 1.6em;
   height: 3em;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
+  transform: rotate(45deg);
   border-radius: 50%;
 }
 .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
   top: -0.8em;
   left: -0.5em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
-  -webkit-transform-origin: 2em 2em;
-          transform-origin: 2em 2em;
+  transform: rotate(-45deg);
+  transform-origin: 2em 2em;
   border-radius: 4em 0 0 4em;
 }
 .swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
   top: -0.25em;
   left: 0.9375em;
-  -webkit-transform-origin: 0 1.5em;
-          transform-origin: 0 1.5em;
+  transform-origin: 0 1.5em;
   border-radius: 0 4em 4em 0;
 }
 .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {
@@ -504,52 +464,42 @@ body.swal2-toast-column .swal2-toast .swal2-validation-message {
 
 @-webkit-keyframes swal2-toast-show {
   0% {
-    -webkit-transform: translateY(-0.625em) rotateZ(2deg);
-            transform: translateY(-0.625em) rotateZ(2deg);
+    transform: translateY(-0.625em) rotateZ(2deg);
   }
   33% {
-    -webkit-transform: translateY(0) rotateZ(-2deg);
-            transform: translateY(0) rotateZ(-2deg);
+    transform: translateY(0) rotateZ(-2deg);
   }
   66% {
-    -webkit-transform: translateY(0.3125em) rotateZ(2deg);
-            transform: translateY(0.3125em) rotateZ(2deg);
+    transform: translateY(0.3125em) rotateZ(2deg);
   }
   100% {
-    -webkit-transform: translateY(0) rotateZ(0);
-            transform: translateY(0) rotateZ(0);
+    transform: translateY(0) rotateZ(0deg);
   }
 }
 
 @keyframes swal2-toast-show {
   0% {
-    -webkit-transform: translateY(-0.625em) rotateZ(2deg);
-            transform: translateY(-0.625em) rotateZ(2deg);
+    transform: translateY(-0.625em) rotateZ(2deg);
   }
   33% {
-    -webkit-transform: translateY(0) rotateZ(-2deg);
-            transform: translateY(0) rotateZ(-2deg);
+    transform: translateY(0) rotateZ(-2deg);
   }
   66% {
-    -webkit-transform: translateY(0.3125em) rotateZ(2deg);
-            transform: translateY(0.3125em) rotateZ(2deg);
+    transform: translateY(0.3125em) rotateZ(2deg);
   }
   100% {
-    -webkit-transform: translateY(0) rotateZ(0);
-            transform: translateY(0) rotateZ(0);
+    transform: translateY(0) rotateZ(0deg);
   }
 }
 @-webkit-keyframes swal2-toast-hide {
   100% {
-    -webkit-transform: rotateZ(1deg);
-            transform: rotateZ(1deg);
+    transform: rotateZ(1deg);
     opacity: 0;
   }
 }
 @keyframes swal2-toast-hide {
   100% {
-    -webkit-transform: rotateZ(1deg);
-            transform: rotateZ(1deg);
+    transform: rotateZ(1deg);
     opacity: 0;
   }
 }
@@ -671,8 +621,7 @@ body.swal2-no-backdrop .swal2-shown > .swal2-modal {
 body.swal2-no-backdrop .swal2-shown.swal2-top {
   top: 0;
   left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
+  transform: translateX(-50%);
 }
 body.swal2-no-backdrop .swal2-shown.swal2-top-start, body.swal2-no-backdrop .swal2-shown.swal2-top-left {
   top: 0;
@@ -685,26 +634,22 @@ body.swal2-no-backdrop .swal2-shown.swal2-top-end, body.swal2-no-backdrop .swal2
 body.swal2-no-backdrop .swal2-shown.swal2-center {
   top: 50%;
   left: 50%;
-  -webkit-transform: translate(-50%, -50%);
-          transform: translate(-50%, -50%);
+  transform: translate(-50%, -50%);
 }
 body.swal2-no-backdrop .swal2-shown.swal2-center-start, body.swal2-no-backdrop .swal2-shown.swal2-center-left {
   top: 50%;
   left: 0;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
+  transform: translateY(-50%);
 }
 body.swal2-no-backdrop .swal2-shown.swal2-center-end, body.swal2-no-backdrop .swal2-shown.swal2-center-right {
   top: 50%;
   right: 0;
-  -webkit-transform: translateY(-50%);
-          transform: translateY(-50%);
+  transform: translateY(-50%);
 }
 body.swal2-no-backdrop .swal2-shown.swal2-bottom {
   bottom: 0;
   left: 50%;
-  -webkit-transform: translateX(-50%);
-          transform: translateX(-50%);
+  transform: translateX(-50%);
 }
 body.swal2-no-backdrop .swal2-shown.swal2-bottom-start, body.swal2-no-backdrop .swal2-shown.swal2-bottom-left {
   bottom: 0;
@@ -855,6 +800,7 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
 }
 
 .swal2-actions {
+  display: flex;
   z-index: 1;
   flex-wrap: wrap;
   align-items: center;
@@ -978,8 +924,7 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   cursor: pointer;
 }
 .swal2-close:hover {
-  -webkit-transform: none;
-          transform: none;
+  transform: none;
   background: transparent;
   color: #f27474;
 }
@@ -1000,13 +945,10 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   padding: 0;
   color: #545454;
   font-size: 1.125em;
-  font-weight: 300;
+  font-weight: normal;
   line-height: normal;
-  word-wrap: break-word;
-}
-
-#swal2-content {
   text-align: center;
+  word-wrap: break-word;
 }
 
 .swal2-input,
@@ -1193,6 +1135,7 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   zoom: normal;
   border: 0.25em solid transparent;
   border-radius: 50%;
+  font-family: inherit;
   line-height: 5em;
   cursor: default;
   -webkit-user-select: none;
@@ -1224,13 +1167,11 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
 }
 .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
   left: 1.0625em;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
+  transform: rotate(45deg);
 }
 .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
   right: 1em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
+  transform: rotate(-45deg);
 }
 .swal2-icon.swal2-warning {
   border-color: #facea8;
@@ -1263,26 +1204,21 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   position: absolute;
   width: 3.75em;
   height: 7.5em;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
+  transform: rotate(45deg);
   border-radius: 50%;
 }
 .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] {
   top: -0.4375em;
   left: -2.0635em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
-  -webkit-transform-origin: 3.75em 3.75em;
-          transform-origin: 3.75em 3.75em;
+  transform: rotate(-45deg);
+  transform-origin: 3.75em 3.75em;
   border-radius: 7.5em 0 0 7.5em;
 }
 .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] {
   top: -0.6875em;
   left: 1.875em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
-  -webkit-transform-origin: 0 3.75em;
-          transform-origin: 0 3.75em;
+  transform: rotate(-45deg);
+  transform-origin: 0 3.75em;
   border-radius: 0 7.5em 7.5em 0;
 }
 .swal2-icon.swal2-success .swal2-success-ring {
@@ -1303,8 +1239,7 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   left: 1.625em;
   width: 0.4375em;
   height: 5.625em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
+  transform: rotate(-45deg);
 }
 .swal2-icon.swal2-success [class^=swal2-success-line] {
   display: block;
@@ -1318,15 +1253,13 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
   top: 2.875em;
   left: 0.875em;
   width: 1.5625em;
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
+  transform: rotate(45deg);
 }
 .swal2-icon.swal2-success [class^=swal2-success-line][class$=long] {
   top: 2.375em;
   right: 0.5em;
   width: 2.9375em;
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
+  transform: rotate(-45deg);
 }
 
 .swal2-progress-steps {
@@ -1419,23 +1352,19 @@ body.swal2-no-backdrop .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop .sw
 
 @-webkit-keyframes swal2-rotate-loading {
   0% {
-    -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
+    transform: rotate(0deg);
   }
   100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
+    transform: rotate(360deg);
   }
 }
 
 @keyframes swal2-rotate-loading {
   0% {
-    -webkit-transform: rotate(0deg);
-            transform: rotate(0deg);
+    transform: rotate(0deg);
   }
   100% {
-    -webkit-transform: rotate(360deg);
-            transform: rotate(360deg);
+    transform: rotate(360deg);
   }
 }
 @media print {

File diff suppressed because it is too large
+ 553 - 446
plugins/sweetalert2/sweetalert2.js


File diff suppressed because it is too large
+ 1 - 1
plugins/sweetalert2/sweetalert2.min.css


File diff suppressed because it is too large
+ 1 - 1
plugins/sweetalert2/sweetalert2.min.js