| @@ -1,4 +1,4 @@ | ||
| 1 | 1 | /******/ (() => { // webpackBootstrap |
| 2 | 2 | /******/ var __webpack_modules__ = ({ |
| 3 | 3 | |
| 4 | 4 | /***/ "./assets/src/js/admin/courses/generate-with-ai.js" |
| @@ -15,10 +15,10 @@ | ||
| 15 | 15 | /* harmony import */ var lpAssetsJsPath_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lpAssetsJsPath/utils.js */ "./assets/src/js/utils.js"); |
| 16 | 16 | /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sweetalert2 */ "./node_modules/sweetalert2/dist/sweetalert2.all.js"); |
| 17 | 17 | /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_1__); |
| 18 | 18 | /* harmony import */ var lpAssetsJsPath_lpToastify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lpAssetsJsPath/lpToastify.js */ "./assets/src/js/lpToastify.js"); |
| 19 | -/** | |
| 20 | - * Create course with AI | |
| 19 | +/** | |
| 20 | + * Create course with AI | |
| 21 | 21 | */ |
| 22 | 22 | |
| 23 | 23 | |
| 24 | 24 | |
| @@ -103,10 +103,10 @@ | ||
| 103 | 103 | sweetalert2__WEBPACK_IMPORTED_MODULE_1___default().close(); |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | 106 | // Testing custom confirm box |
| 107 | - /*if ( confirm( message ) ) { | |
| 108 | - SweetAlert.close(); | |
| 107 | + /*if ( confirm( message ) ) { | |
| 108 | + SweetAlert.close(); | |
| 109 | 109 | }*/ |
| 110 | 110 | } |
| 111 | 111 | }]); |
| 112 | 112 | } |
| @@ -211,11 +211,11 @@ | ||
| 211 | 211 | } |
| 212 | 212 | }); |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | - /** | |
| 216 | - * Create prompt from data config | |
| 217 | - * @param args | |
| 215 | + /** | |
| 216 | + * Create prompt from data config | |
| 217 | + * @param args | |
| 218 | 218 | */ |
| 219 | 219 | generatePrompt(args) { |
| 220 | 220 | const { |
| 221 | 221 | e, |
| @@ -254,11 +254,11 @@ | ||
| 254 | 254 | }; |
| 255 | 255 | window.lpAJAXG.fetchAJAX(dataSend, callBack); |
| 256 | 256 | } |
| 257 | 257 | |
| 258 | - /** | |
| 259 | - * Submit prompt to OpenAI to generate course data | |
| 260 | - * @param args | |
| 258 | + /** | |
| 259 | + * Submit prompt to OpenAI to generate course data | |
| 260 | + * @param args | |
| 261 | 261 | */ |
| 262 | 262 | generateDataCourse(args) { |
| 263 | 263 | const { |
| 264 | 264 | e, |
| @@ -308,11 +308,11 @@ | ||
| 308 | 308 | lp_is_generating_course_data = true; |
| 309 | 309 | window.lpAJAXG.fetchAJAX(dataSend, callBack); |
| 310 | 310 | } |
| 311 | 311 | |
| 312 | - /** | |
| 313 | - * Create course with data of OpenAI | |
| 314 | - * @param args | |
| 312 | + /** | |
| 313 | + * Create course with data of OpenAI | |
| 314 | + * @param args | |
| 315 | 315 | */ |
| 316 | 316 | createCourse(args) { |
| 317 | 317 | const { |
| 318 | 318 | e, |
| @@ -418,9 +418,8 @@ | ||
| 418 | 418 | if (!btn) { |
| 419 | 419 | return; |
| 420 | 420 | } |
| 421 | 421 | lpAssetsJsPath_utils_js__WEBPACK_IMPORTED_MODULE_1__.lpSetLoadingEl(btn, isLoading ? 1 : 0); |
| 422 | - btn.disabled = !!isLoading; | |
| 423 | 422 | } |
| 424 | 423 | init() { |
| 425 | 424 | if (ViewStudentsModal._loadedEvents) { |
| 426 | 425 | return; |
| @@ -456,9 +455,9 @@ | ||
| 456 | 455 | }]); |
| 457 | 456 | } |
| 458 | 457 | handleOpenModal(args) { |
| 459 | 458 | const btn = args?.target?.closest(ViewStudentsModal.selectors.courseTrigger); |
| 460 | - if (!btn || this.isRequesting || btn.classList.contains('loading') || btn.disabled) { | |
| 459 | + if (!btn || this.isRequesting || btn.classList.contains('loading')) { | |
| 461 | 460 | return; |
| 462 | 461 | } |
| 463 | 462 | const courseId = parseInt(btn.dataset.courseId, 10) || 0; |
| 464 | 463 | if (!courseId) { |
| @@ -508,9 +507,9 @@ | ||
| 508 | 507 | } |
| 509 | 508 | if (args?.e) { |
| 510 | 509 | args.e.preventDefault(); |
| 511 | 510 | } |
| 512 | - if (this.isRequesting || btn.classList.contains('loading') || btn.disabled) { | |
| 511 | + if (this.isRequesting || btn.classList.contains('loading')) { | |
| 513 | 512 | return; |
| 514 | 513 | } |
| 515 | 514 | form.reset(); |
| 516 | 515 | this.setButtonLoadingState(btn, true); |
| @@ -662,16 +661,16 @@ | ||
| 662 | 661 | /* harmony export */ }); |
| 663 | 662 | /* harmony import */ var toastify_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! toastify-js */ "./node_modules/toastify-js/src/toastify.js"); |
| 664 | 663 | /* harmony import */ var toastify_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(toastify_js__WEBPACK_IMPORTED_MODULE_0__); |
| 665 | 664 | /* harmony import */ var toastify_js_src_toastify_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! toastify-js/src/toastify.css */ "./node_modules/toastify-js/src/toastify.css"); |
| 666 | -/** | |
| 667 | - * Utils functions | |
| 668 | - * | |
| 669 | - * @param url | |
| 670 | - * @param data | |
| 671 | - * @param functions | |
| 672 | - * @since 4.3.0 | |
| 673 | - * @version 1.0.0 | |
| 665 | +/** | |
| 666 | + * Utils functions | |
| 667 | + * | |
| 668 | + * @param url | |
| 669 | + * @param data | |
| 670 | + * @param functions | |
| 671 | + * @since 4.3.0 | |
| 672 | + * @version 1.0.0 | |
| 674 | 673 | */ |
| 675 | 674 | |
| 676 | 675 | |
| 677 | 676 | const argsToastify = { |
| @@ -713,8 +712,9 @@ | ||
| 713 | 712 | __webpack_require__.r(__webpack_exports__); |
| 714 | 713 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { |
| 715 | 714 | /* harmony export */ debounce: () => (/* binding */ debounce), |
| 716 | 715 | /* harmony export */ eventHandlers: () => (/* binding */ eventHandlers), |
| 716 | +/* harmony export */ fullScreenView: () => (/* binding */ fullScreenView), | |
| 717 | 717 | /* harmony export */ getDataOfForm: () => (/* binding */ getDataOfForm), |
| 718 | 718 | /* harmony export */ getFieldKeysOfForm: () => (/* binding */ getFieldKeysOfForm), |
| 719 | 719 | /* harmony export */ listenElementCreated: () => (/* binding */ listenElementCreated), |
| 720 | 720 | /* harmony export */ listenElementViewed: () => (/* binding */ listenElementViewed), |
| @@ -726,18 +726,19 @@ | ||
| 726 | 726 | /* harmony export */ lpOnElementReady: () => (/* binding */ lpOnElementReady), |
| 727 | 727 | /* harmony export */ lpSetLoadingEl: () => (/* binding */ lpSetLoadingEl), |
| 728 | 728 | /* harmony export */ lpShowHideEl: () => (/* binding */ lpShowHideEl), |
| 729 | 729 | /* harmony export */ mergeDataWithDatForm: () => (/* binding */ mergeDataWithDatForm), |
| 730 | -/* harmony export */ toggleCollapse: () => (/* binding */ toggleCollapse) | |
| 730 | +/* harmony export */ toggleCollapse: () => (/* binding */ toggleCollapse), | |
| 731 | +/* harmony export */ toggleEnable: () => (/* binding */ toggleEnable) | |
| 731 | 732 | /* harmony export */ }); |
| 732 | -/** | |
| 733 | - * Utils functions | |
| 734 | - * | |
| 735 | - * @param url | |
| 736 | - * @param data | |
| 737 | - * @param functions | |
| 738 | - * @since 4.2.5.1 | |
| 739 | - * @version 1.0.6 | |
| 733 | +/** | |
| 734 | + * Utils functions | |
| 735 | + * | |
| 736 | + * @param url | |
| 737 | + * @param data | |
| 738 | + * @param functions | |
| 739 | + * @since 4.2.5.1 | |
| 740 | + * @version 1.0.7 | |
| 740 | 741 | */ |
| 741 | 742 | const lpClassName = { |
| 742 | 743 | hidden: 'lp-hidden', |
| 743 | 744 | loading: 'loading', |
| @@ -742,9 +743,12 @@ | ||
| 742 | 743 | hidden: 'lp-hidden', |
| 743 | 744 | loading: 'loading', |
| 744 | 745 | elCollapse: 'lp-collapse', |
| 745 | 746 | elSectionToggle: '.lp-section-toggle', |
| 746 | - elTriggerToggle: '.lp-trigger-toggle' | |
| 747 | + elTriggerToggle: '.lp-trigger-toggle', | |
| 748 | + elBtnFullScreen: '.lp-btn-full-screen-view', | |
| 749 | + elFullScreen: 'lp-full-screen-view', | |
| 750 | + elBtnFullScreenClose: 'lp-full-screen-view__close' | |
| 747 | 751 | }; |
| 748 | 752 | const lpFetchAPI = (url, data = {}, functions = {}) => { |
| 749 | 753 | if ('function' === typeof functions.before) { |
| 750 | 754 | functions.before(); |
| @@ -766,12 +770,12 @@ | ||
| 766 | 770 | } |
| 767 | 771 | }); |
| 768 | 772 | }; |
| 769 | 773 | |
| 770 | -/** | |
| 771 | - * Get current URL without params. | |
| 772 | - * | |
| 773 | - * @since 4.2.5.1 | |
| 774 | +/** | |
| 775 | + * Get current URL without params. | |
| 776 | + * | |
| 777 | + * @since 4.2.5.1 | |
| 774 | 778 | */ |
| 775 | 779 | const lpGetCurrentURLNoParam = () => { |
| 776 | 780 | let currentUrl = window.location.href; |
| 777 | 781 | const hasParams = currentUrl.includes('?'); |
| @@ -787,14 +791,14 @@ | ||
| 787 | 791 | }); |
| 788 | 792 | return url; |
| 789 | 793 | }; |
| 790 | 794 | |
| 791 | -/** | |
| 792 | - * Listen element viewed. | |
| 793 | - * | |
| 794 | - * @param el | |
| 795 | - * @param callback | |
| 796 | - * @since 4.2.5.8 | |
| 795 | +/** | |
| 796 | + * Listen element viewed. | |
| 797 | + * | |
| 798 | + * @param el | |
| 799 | + * @param callback | |
| 800 | + * @since 4.2.5.8 | |
| 797 | 801 | */ |
| 798 | 802 | const listenElementViewed = (el, callback) => { |
| 799 | 803 | const observerSeeItem = new IntersectionObserver(function (entries) { |
| 800 | 804 | for (const entry of entries) { |
| @@ -805,13 +809,13 @@ | ||
| 805 | 809 | }); |
| 806 | 810 | observerSeeItem.observe(el); |
| 807 | 811 | }; |
| 808 | 812 | |
| 809 | -/** | |
| 810 | - * Listen element created. | |
| 811 | - * | |
| 812 | - * @param callback | |
| 813 | - * @since 4.2.5.8 | |
| 813 | +/** | |
| 814 | + * Listen element created. | |
| 815 | + * | |
| 816 | + * @param callback | |
| 817 | + * @since 4.2.5.8 | |
| 814 | 818 | */ |
| 815 | 819 | const listenElementCreated = callback => { |
| 816 | 820 | const observerCreateItem = new MutationObserver(function (mutations) { |
| 817 | 821 | mutations.forEach(function (mutation) { |
| @@ -830,14 +834,14 @@ | ||
| 830 | 834 | }); |
| 831 | 835 | // End. |
| 832 | 836 | }; |
| 833 | 837 | |
| 834 | -/** | |
| 835 | - * Listen element created. | |
| 836 | - * | |
| 837 | - * @param selector | |
| 838 | - * @param callback | |
| 839 | - * @since 4.2.7.1 | |
| 838 | +/** | |
| 839 | + * Listen element created. | |
| 840 | + * | |
| 841 | + * @param selector | |
| 842 | + * @param callback | |
| 843 | + * @since 4.2.7.1 | |
| 840 | 844 | */ |
| 841 | 845 | const lpOnElementReady = (selector, callback) => { |
| 842 | 846 | const element = document.querySelector(selector); |
| 843 | 847 | if (element) { |
| @@ -978,17 +982,17 @@ | ||
| 978 | 982 | }; |
| 979 | 983 | return dataHandle; |
| 980 | 984 | }; |
| 981 | 985 | |
| 982 | -/** | |
| 983 | - * Event trigger | |
| 984 | - * For each list of event handlers, listen event on document. | |
| 985 | - * | |
| 986 | - * eventName: 'click', 'change', ... | |
| 987 | - * eventHandlers = [ { selector: '.lp-button', callBack: function(){}, class: object } ] | |
| 988 | - * | |
| 989 | - * @param eventName | |
| 990 | - * @param eventHandlers | |
| 986 | +/** | |
| 987 | + * Event trigger | |
| 988 | + * For each list of event handlers, listen event on document. | |
| 989 | + * | |
| 990 | + * eventName: 'click', 'change', ... | |
| 991 | + * eventHandlers = [ { selector: '.lp-button', callBack: function(){}, class: object } ] | |
| 992 | + * | |
| 993 | + * @param eventName | |
| 994 | + * @param eventHandlers | |
| 991 | 995 | */ |
| 992 | 996 | const eventHandlers = (eventName, eventHandlers) => { |
| 993 | 997 | document.addEventListener(eventName, e => { |
| 994 | 998 | const target = e.target; |
| @@ -1029,32 +1033,32 @@ | ||
| 1029 | 1033 | }); |
| 1030 | 1034 | }); |
| 1031 | 1035 | }; |
| 1032 | 1036 | |
| 1033 | -/** | |
| 1034 | - * Debounce - delays function execution until after `wait` ms of inactivity. | |
| 1035 | - * | |
| 1036 | - * Each call resets the timer. Only the last call in a burst executes. | |
| 1037 | - * | |
| 1038 | - * USE CASES: | |
| 1039 | - * - Search inputs, form validation, window resize | |
| 1040 | - * - Multiple elements need independent timers | |
| 1041 | - * - When you need to call with different arguments | |
| 1042 | - * | |
| 1043 | - * EXAMPLES: | |
| 1044 | - * const debouncedSearch = debounce( (query) => fetchResults(query), 300 ); | |
| 1045 | - * searchInput.addEventListener('input', (e) => debouncedSearch(e.target.value)); | |
| 1046 | - * | |
| 1047 | - * const debouncedResize = debounce( recalculateLayout, 250 ); | |
| 1048 | - * window.addEventListener('resize', debouncedResize); | |
| 1049 | - * | |
| 1050 | - * ⚠️ Create ONCE outside event handlers, not inside. | |
| 1051 | - * | |
| 1052 | - * @param {Function} func - Function to debounce (can be anonymous) | |
| 1053 | - * @param {number} wait - Milliseconds to wait (default: 500) | |
| 1054 | - * @return {Function} Debounced wrapper function | |
| 1055 | - * @since 4.3.7 | |
| 1056 | - * @version 1.0.0 | |
| 1037 | +/** | |
| 1038 | + * Debounce - delays function execution until after `wait` ms of inactivity. | |
| 1039 | + * | |
| 1040 | + * Each call resets the timer. Only the last call in a burst executes. | |
| 1041 | + * | |
| 1042 | + * USE CASES: | |
| 1043 | + * - Search inputs, form validation, window resize | |
| 1044 | + * - Multiple elements need independent timers | |
| 1045 | + * - When you need to call with different arguments | |
| 1046 | + * | |
| 1047 | + * EXAMPLES: | |
| 1048 | + * const debouncedSearch = debounce( (query) => fetchResults(query), 300 ); | |
| 1049 | + * searchInput.addEventListener('input', (e) => debouncedSearch(e.target.value)); | |
| 1050 | + * | |
| 1051 | + * const debouncedResize = debounce( recalculateLayout, 250 ); | |
| 1052 | + * window.addEventListener('resize', debouncedResize); | |
| 1053 | + * | |
| 1054 | + * ⚠️ Create ONCE outside event handlers, not inside. | |
| 1055 | + * | |
| 1056 | + * @param {Function} func - Function to debounce (can be anonymous) | |
| 1057 | + * @param {number} wait - Milliseconds to wait (default: 500) | |
| 1058 | + * @return {Function} Debounced wrapper function | |
| 1059 | + * @since 4.3.7 | |
| 1060 | + * @version 1.0.0 | |
| 1057 | 1061 | */ |
| 1058 | 1062 | const debounce = (func, wait = 500) => { |
| 1059 | 1063 | let timer; |
| 1060 | 1064 | return args => { |
| @@ -1062,8 +1066,141 @@ | ||
| 1062 | 1066 | timer = setTimeout(() => func(args), wait); |
| 1063 | 1067 | }; |
| 1064 | 1068 | }; |
| 1065 | 1069 | |
| 1070 | +/** | |
| 1071 | + * Initialize lp-toggle-enable components. | |
| 1072 | + * | |
| 1073 | + * Finds all `.lp-toggle-enable` elements and wires up toggle behavior. | |
| 1074 | + * Reads initial state from `data-enabled` attribute ("true"/"false"). | |
| 1075 | + * Calls `data-on-toggle` callback (if provided via options) on state change. | |
| 1076 | + * | |
| 1077 | + * HTML structure: | |
| 1078 | + * <label class="lp-toggle-enable" data-enabled="true"> | |
| 1079 | + * <input type="checkbox" class="lp-toggle-enable__input" /> | |
| 1080 | + * <span class="lp-toggle-enable__track"></span> | |
| 1081 | + * </label> | |
| 1082 | + * | |
| 1083 | + * @param {string} selector CSS selector for toggle elements (default: '.lp-toggle-enable') | |
| 1084 | + * @param {Function} onToggle Optional callback( el, isEnabled ) called on state change | |
| 1085 | + * @since 4.4.5 | |
| 1086 | + * @version 1.0.0 | |
| 1087 | + */ | |
| 1088 | +window.lpToggleEnableInit = 0; | |
| 1089 | +const toggleEnable = (onToggle = null) => { | |
| 1090 | + if (window.lpToggleEnableInit) { | |
| 1091 | + return; | |
| 1092 | + } | |
| 1093 | + window.lpToggleEnableInit = 1; | |
| 1094 | + const selector = '.lp-toggle-enable'; | |
| 1095 | + const updateUI = (toggle, isEnabled) => { | |
| 1096 | + toggle.classList.toggle('is-enabled', isEnabled); | |
| 1097 | + const input = toggle.querySelector('.lp-toggle-enable__input'); | |
| 1098 | + if (input) { | |
| 1099 | + input.checked = isEnabled; | |
| 1100 | + input.value = isEnabled ? '1' : '0'; | |
| 1101 | + } | |
| 1102 | + }; | |
| 1103 | + | |
| 1104 | + // Delegate click handling via eventHandlers. | |
| 1105 | + eventHandlers('click', [{ | |
| 1106 | + selector, | |
| 1107 | + callBack: args => { | |
| 1108 | + const { | |
| 1109 | + e, | |
| 1110 | + target | |
| 1111 | + } = args; | |
| 1112 | + const toggle = target.closest(selector); | |
| 1113 | + if (!toggle || toggle.classList.contains('is-disabled')) { | |
| 1114 | + return; | |
| 1115 | + } | |
| 1116 | + e.preventDefault(); | |
| 1117 | + const isEnabled = !toggle.classList.contains('is-enabled'); | |
| 1118 | + updateUI(toggle, isEnabled); | |
| 1119 | + if ('function' === typeof onToggle) { | |
| 1120 | + onToggle(toggle, isEnabled); | |
| 1121 | + } | |
| 1122 | + } | |
| 1123 | + }]); | |
| 1124 | +}; | |
| 1125 | + | |
| 1126 | +/** | |
| 1127 | + * Initialize custom fullscreen view buttons. | |
| 1128 | + * | |
| 1129 | + * Delegates clicks on `.lp-btn-full-screen-view` buttons to | |
| 1130 | + * `lpToggleFullscreenView`. Reads the `data-target` attribute to find the | |
| 1131 | + * target element. Falls back to the button's parent element when | |
| 1132 | + * `data-target` is not provided. | |
| 1133 | + * | |
| 1134 | + * @since 4.4.5 | |
| 1135 | + * @version 1.0.0 | |
| 1136 | + */ | |
| 1137 | +window.lpFullScreenViewInit = 0; | |
| 1138 | +const fullScreenView = () => { | |
| 1139 | + if (window.lpFullScreenViewInit) { | |
| 1140 | + return; | |
| 1141 | + } | |
| 1142 | + window.lpFullScreenViewInit = 1; | |
| 1143 | + let lastScrollY = 0; | |
| 1144 | + const lpToggleFullscreenView = (elTarget, elBtnFullScreen = null) => { | |
| 1145 | + const isFullscreen = elTarget.classList.contains(lpClassName.elFullScreen); | |
| 1146 | + if (isFullscreen) { | |
| 1147 | + elTarget.classList.remove(lpClassName.elFullScreen); | |
| 1148 | + document.documentElement.classList.remove('lp-full-screen-active'); | |
| 1149 | + window.scrollTo(0, lastScrollY); | |
| 1150 | + } else { | |
| 1151 | + lastScrollY = window.scrollY; | |
| 1152 | + elTarget.classList.add(lpClassName.elFullScreen); | |
| 1153 | + document.documentElement.classList.add('lp-full-screen-active'); | |
| 1154 | + } | |
| 1155 | + if (!isFullscreen) { | |
| 1156 | + if (!elTarget.querySelector(`.${lpClassName.elBtnFullScreenClose}`)) { | |
| 1157 | + const closeButton = document.createElement('button'); | |
| 1158 | + closeButton.type = 'button'; | |
| 1159 | + closeButton.className = lpClassName.elBtnFullScreenClose; | |
| 1160 | + closeButton.setAttribute('aria-label', 'Close'); | |
| 1161 | + closeButton.innerHTML = lpData.i18n.closeButtonFullScreen || 'Close ×'; | |
| 1162 | + closeButton.addEventListener('click', e => { | |
| 1163 | + e.preventDefault(); | |
| 1164 | + lpToggleFullscreenView(elTarget); | |
| 1165 | + }); | |
| 1166 | + elTarget.appendChild(closeButton); | |
| 1167 | + } | |
| 1168 | + } else { | |
| 1169 | + const closeButton = elTarget.querySelector(`.${lpClassName.elBtnFullScreenClose}`); | |
| 1170 | + if (closeButton) { | |
| 1171 | + closeButton.remove(); | |
| 1172 | + } | |
| 1173 | + } | |
| 1174 | + }; | |
| 1175 | + eventHandlers('click', [{ | |
| 1176 | + selector: lpClassName.elBtnFullScreen, | |
| 1177 | + callBack: args => { | |
| 1178 | + const { | |
| 1179 | + e, | |
| 1180 | + target | |
| 1181 | + } = args; | |
| 1182 | + const elBtnFullScreen = target.closest(lpClassName.elBtnFullScreen); | |
| 1183 | + if (!elBtnFullScreen) { | |
| 1184 | + console.log('No full screen button found'); | |
| 1185 | + return; | |
| 1186 | + } | |
| 1187 | + e.preventDefault(); | |
| 1188 | + let elTarget = null; | |
| 1189 | + const targetSelector = elBtnFullScreen.dataset.targetFullscreen; | |
| 1190 | + console.log(targetSelector); | |
| 1191 | + if (targetSelector) { | |
| 1192 | + elTarget = document.querySelector(targetSelector); | |
| 1193 | + } | |
| 1194 | + if (!elTarget) { | |
| 1195 | + console.log('No target element found'); | |
| 1196 | + return; | |
| 1197 | + } | |
| 1198 | + lpToggleFullscreenView(elTarget, elBtnFullScreen); | |
| 1199 | + } | |
| 1200 | + }]); | |
| 1201 | +}; | |
| 1202 | + | |
| 1066 | 1203 | /***/ }, |
| 1067 | 1204 | |
| 1068 | 1205 | /***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/toastify-js/src/toastify.css" |
| 1069 | 1206 | /*!*****************************************************************************************!*\ |
| @@ -1632,9 +1769,9 @@ | ||
| 1632 | 1769 | \**********************************************************/ |
| 1633 | 1770 | (module) { |
| 1634 | 1771 | |
| 1635 | 1772 | /*! |
| 1636 | -* sweetalert2 v11.26.17 | |
| 1773 | +* sweetalert2 v11.26.25 | |
| 1637 | 1774 | * Released under the MIT License. |
| 1638 | 1775 | */ |
| 1639 | 1776 | (function (global, factory) { |
| 1640 | 1777 | true ? module.exports = factory() : |
| @@ -1803,8 +1940,13 @@ | ||
| 1803 | 1940 | */ |
| 1804 | 1941 | const isPromise = arg => arg && Promise.resolve(arg) === arg; |
| 1805 | 1942 | |
| 1806 | 1943 | /** |
| 1944 | + * @returns {boolean} | |
| 1945 | + */ | |
| 1946 | + const isFirefox = () => navigator.userAgent.includes('Firefox'); | |
| 1947 | + | |
| 1948 | + /** | |
| 1807 | 1949 | * Gets the popup container which contains the backdrop and the popup itself. |
| 1808 | 1950 | * |
| 1809 | 1951 | * @returns {HTMLElement | null} |
| 1810 | 1952 | */ |
| @@ -2026,15 +2168,9 @@ | ||
| 2026 | 2168 | const hasClass = (elem, className) => { |
| 2027 | 2169 | if (!className) { |
| 2028 | 2170 | return false; |
| 2029 | 2171 | } |
| 2030 | - const classList = className.split(/\s+/); | |
| 2031 | - for (let i = 0; i < classList.length; i++) { | |
| 2032 | - if (!elem.classList.contains(classList[i])) { | |
| 2033 | - return false; | |
| 2034 | - } | |
| 2035 | - } | |
| 2036 | - return true; | |
| 2172 | + return className.split(/\s+/).every(cls => elem.classList.contains(cls)); | |
| 2037 | 2173 | }; |
| 2038 | 2174 | |
| 2039 | 2175 | /** |
| 2040 | 2176 | * @param {HTMLElement} elem |
| @@ -2117,27 +2253,18 @@ | ||
| 2117 | 2253 | const toggleClass = (target, classList, condition) => { |
| 2118 | 2254 | if (!target || !classList) { |
| 2119 | 2255 | return; |
| 2120 | 2256 | } |
| 2121 | - if (typeof classList === 'string') { | |
| 2122 | - classList = classList.split(/\s+/).filter(Boolean); | |
| 2123 | - } | |
| 2124 | - classList.forEach(className => { | |
| 2125 | - if (Array.isArray(target)) { | |
| 2126 | - target.forEach(elem => { | |
| 2127 | - if (condition) { | |
| 2128 | - elem.classList.add(className); | |
| 2129 | - } else { | |
| 2130 | - elem.classList.remove(className); | |
| 2131 | - } | |
| 2132 | - }); | |
| 2133 | - } else { | |
| 2257 | + const classes = typeof classList === 'string' ? classList.split(/\s+/).filter(Boolean) : classList; | |
| 2258 | + const targets = Array.isArray(target) ? target : [target]; | |
| 2259 | + targets.forEach(elem => { | |
| 2260 | + classes.forEach(className => { | |
| 2134 | 2261 | if (condition) { |
| 2135 | - target.classList.add(className); | |
| 2262 | + elem.classList.add(className); | |
| 2136 | 2263 | } else { |
| 2137 | - target.classList.remove(className); | |
| 2264 | + elem.classList.remove(className); | |
| 2138 | 2265 | } |
| 2139 | - } | |
| 2266 | + }); | |
| 2140 | 2267 | }); |
| 2141 | 2268 | }; |
| 2142 | 2269 | |
| 2143 | 2270 | /** |
| @@ -2162,17 +2289,10 @@ | ||
| 2162 | 2289 | * @param {HTMLElement} elem |
| 2163 | 2290 | * @param {string} className |
| 2164 | 2291 | * @returns {HTMLElement | undefined} |
| 2165 | 2292 | */ |
| 2166 | - const getDirectChildByClass = (elem, className) => { | |
| 2167 | - const children = Array.from(elem.children); | |
| 2168 | - for (let i = 0; i < children.length; i++) { | |
| 2169 | - const child = children[i]; | |
| 2170 | - if (child instanceof HTMLElement && hasClass(child, className)) { | |
| 2171 | - return child; | |
| 2172 | - } | |
| 2173 | - } | |
| 2174 | - }; | |
| 2293 | + const getDirectChildByClass = (elem, className) => (/** @type {HTMLElement | undefined} */ | |
| 2294 | + Array.from(elem.children).find(child => child instanceof HTMLElement && hasClass(child, className))); | |
| 2175 | 2295 | |
| 2176 | 2296 | /** |
| 2177 | 2297 | * @param {HTMLElement} elem |
| 2178 | 2298 | * @param {string} property |
| @@ -2181,9 +2301,9 @@ | ||
| 2181 | 2301 | const applyNumericalStyle = (elem, property, value) => { |
| 2182 | 2302 | if (value === `${parseInt(`${value}`)}`) { |
| 2183 | 2303 | value = parseInt(value); |
| 2184 | 2304 | } |
| 2185 | - if (value || parseInt(`${value}`) === 0) { | |
| 2305 | + if (value || value === 0) { | |
| 2186 | 2306 | elem.style.setProperty(property, typeof value === 'number' ? `${value}px` : (/** @type {string} */value)); |
| 2187 | 2307 | } else { |
| 2188 | 2308 | elem.style.removeProperty(property); |
| 2189 | 2309 | } |
| @@ -2630,23 +2750,17 @@ | ||
| 2630 | 2750 | return; |
| 2631 | 2751 | } |
| 2632 | 2752 | addClass([confirmButton, denyButton, cancelButton], swalClasses.styled); |
| 2633 | 2753 | |
| 2634 | - // Apply custom background colors to action buttons | |
| 2635 | - if (params.confirmButtonColor) { | |
| 2636 | - confirmButton.style.setProperty('--swal2-confirm-button-background-color', params.confirmButtonColor); | |
| 2637 | - } | |
| 2638 | - if (params.denyButtonColor) { | |
| 2639 | - denyButton.style.setProperty('--swal2-deny-button-background-color', params.denyButtonColor); | |
| 2640 | - } | |
| 2641 | - if (params.cancelButtonColor) { | |
| 2642 | - cancelButton.style.setProperty('--swal2-cancel-button-background-color', params.cancelButtonColor); | |
| 2643 | - } | |
| 2644 | - | |
| 2645 | - // Apply the outline color to action buttons | |
| 2646 | - applyOutlineColor(confirmButton); | |
| 2647 | - applyOutlineColor(denyButton); | |
| 2648 | - applyOutlineColor(cancelButton); | |
| 2754 | + // Apply custom background colors and outline colors to action buttons | |
| 2755 | + /** @type {[HTMLElement, string, string | undefined][]} */ | |
| 2756 | + const buttons = [[confirmButton, 'confirm', params.confirmButtonColor], [denyButton, 'deny', params.denyButtonColor], [cancelButton, 'cancel', params.cancelButtonColor]]; | |
| 2757 | + buttons.forEach(([button, type, color]) => { | |
| 2758 | + if (color) { | |
| 2759 | + button.style.setProperty(`--swal2-${type}-button-background-color`, color); | |
| 2760 | + } | |
| 2761 | + applyOutlineColor(button); | |
| 2762 | + }); | |
| 2649 | 2763 | } |
| 2650 | 2764 | |
| 2651 | 2765 | /** |
| 2652 | 2766 | * @param {HTMLElement} button |
| @@ -2761,9 +2875,10 @@ | ||
| 2761 | 2875 | */ |
| 2762 | 2876 | |
| 2763 | 2877 | var privateProps = { |
| 2764 | 2878 | innerParams: new WeakMap(), |
| 2765 | - domCache: new WeakMap() | |
| 2879 | + domCache: new WeakMap(), | |
| 2880 | + focusedElement: new WeakMap() | |
| 2766 | 2881 | }; |
| 2767 | 2882 | |
| 2768 | 2883 | /// <reference path="../../../../sweetalert2.d.ts"/> |
| 2769 | 2884 | |
| @@ -2835,12 +2950,13 @@ | ||
| 2835 | 2950 | /** |
| 2836 | 2951 | * @param {HTMLInputElement} input |
| 2837 | 2952 | */ |
| 2838 | 2953 | const removeAttributes = input => { |
| 2839 | - for (let i = 0; i < input.attributes.length; i++) { | |
| 2840 | - const attrName = input.attributes[i].name; | |
| 2841 | - if (!['id', 'type', 'value', 'style'].includes(attrName)) { | |
| 2842 | - input.removeAttribute(attrName); | |
| 2954 | + for (const { | |
| 2955 | + name | |
| 2956 | + } of Array.from(input.attributes)) { | |
| 2957 | + if (!['id', 'type', 'value', 'style'].includes(name)) { | |
| 2958 | + input.removeAttribute(name); | |
| 2843 | 2959 | } |
| 2844 | 2960 | } |
| 2845 | 2961 | }; |
| 2846 | 2962 | |
| @@ -2938,12 +3054,14 @@ | ||
| 2938 | 3054 | * @returns {Input} |
| 2939 | 3055 | */ |
| 2940 | 3056 | renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = /** @type {(input: Input | HTMLElement, params: SweetAlertOptions) => Input} */ |
| 2941 | 3057 | (input, params) => { |
| 3058 | + // oxfmt-ignore | |
| 2942 | 3059 | const inputElement = /** @type {HTMLInputElement} */input; |
| 2943 | 3060 | checkAndSetInputValue(inputElement, params.inputValue); |
| 2944 | 3061 | setInputLabel(inputElement, inputElement, params); |
| 2945 | 3062 | setInputPlaceholder(inputElement, params); |
| 3063 | + // oxfmt-ignore | |
| 2946 | 3064 | inputElement.type = /** @type {string} */params.input; |
| 2947 | 3065 | return inputElement; |
| 2948 | 3066 | }; |
| 2949 | 3067 | |
| @@ -3207,11 +3325,11 @@ | ||
| 3207 | 3325 | } |
| 3208 | 3326 | const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color'); |
| 3209 | 3327 | /** @type {NodeListOf<HTMLElement>} */ |
| 3210 | 3328 | const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); |
| 3211 | - for (let i = 0; i < successIconParts.length; i++) { | |
| 3212 | - successIconParts[i].style.backgroundColor = popupBackgroundColor; | |
| 3213 | - } | |
| 3329 | + successIconParts.forEach(part => { | |
| 3330 | + part.style.backgroundColor = popupBackgroundColor; | |
| 3331 | + }); | |
| 3214 | 3332 | }; |
| 3215 | 3333 | |
| 3216 | 3334 | /** |
| 3217 | 3335 | * |
| @@ -3391,20 +3509,12 @@ | ||
| 3391 | 3509 | * @param {MouseEvent | TouchEvent} event |
| 3392 | 3510 | * @returns {{ clientX: number, clientY: number }} |
| 3393 | 3511 | */ |
| 3394 | 3512 | const getClientXY = event => { |
| 3395 | - let clientX = 0, | |
| 3396 | - clientY = 0; | |
| 3397 | - if (event.type.startsWith('mouse')) { | |
| 3398 | - clientX = /** @type {MouseEvent} */event.clientX; | |
| 3399 | - clientY = /** @type {MouseEvent} */event.clientY; | |
| 3400 | - } else if (event.type.startsWith('touch')) { | |
| 3401 | - clientX = /** @type {TouchEvent} */event.touches[0].clientX; | |
| 3402 | - clientY = /** @type {TouchEvent} */event.touches[0].clientY; | |
| 3403 | - } | |
| 3513 | + const source = event.type.startsWith('touch') ? /** @type {TouchEvent} */event.touches[0] : (/** @type {MouseEvent} */event); | |
| 3404 | 3514 | return { |
| 3405 | - clientX, | |
| 3406 | - clientY | |
| 3515 | + clientX: source.clientX, | |
| 3516 | + clientY: source.clientY | |
| 3407 | 3517 | }; |
| 3408 | 3518 | }; |
| 3409 | 3519 | |
| 3410 | 3520 | /** |
| @@ -3632,9 +3742,10 @@ | ||
| 3632 | 3742 | * @param {GlobalState} globalState |
| 3633 | 3743 | */ |
| 3634 | 3744 | const removeKeydownHandler = globalState => { |
| 3635 | 3745 | if (globalState.keydownTarget && globalState.keydownHandlerAdded && globalState.keydownHandler) { |
| 3636 | - const handler = /** @type {EventListenerOrEventListenerObject} */ /** @type {unknown} */globalState.keydownHandler; | |
| 3746 | + const handler = /** @type {EventListenerOrEventListenerObject} */ | |
| 3747 | + /** @type {unknown} */globalState.keydownHandler; | |
| 3637 | 3748 | globalState.keydownTarget.removeEventListener('keydown', handler, { |
| 3638 | 3749 | capture: globalState.keydownListenerCapture |
| 3639 | 3750 | }); |
| 3640 | 3751 | globalState.keydownHandlerAdded = false; |
| @@ -3667,8 +3778,9 @@ | ||
| 3667 | 3778 | |
| 3668 | 3779 | /** |
| 3669 | 3780 | * @param {number} index |
| 3670 | 3781 | * @param {number} increment |
| 3782 | + * @returns {boolean} shouldPreventDefault | |
| 3671 | 3783 | */ |
| 3672 | 3784 | const setFocus = (index, increment) => { |
| 3673 | 3785 | var _dom$getPopup; |
| 3674 | 3786 | const focusableElements = getFocusableElements(); |
| @@ -3689,12 +3801,19 @@ | ||
| 3689 | 3801 | } else if (index === -1) { |
| 3690 | 3802 | index = focusableElements.length - 1; |
| 3691 | 3803 | } |
| 3692 | 3804 | focusableElements[index].focus(); |
| 3693 | - return; | |
| 3805 | + | |
| 3806 | + // don't prevent default for iframes (Firefox fix) | |
| 3807 | + // https://github.com/sweetalert2/sweetalert2/issues/2931 | |
| 3808 | + if (isFirefox() && focusableElements[index] instanceof HTMLIFrameElement) { | |
| 3809 | + return false; | |
| 3810 | + } | |
| 3811 | + return true; | |
| 3694 | 3812 | } |
| 3695 | 3813 | // no visible focusable elements, focus the popup |
| 3696 | 3814 | (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus(); |
| 3815 | + return true; | |
| 3697 | 3816 | }; |
| 3698 | 3817 | const arrowKeysNextButton = ['ArrowRight', 'ArrowDown']; |
| 3699 | 3818 | const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp']; |
| 3700 | 3819 | |
| @@ -3768,27 +3887,27 @@ | ||
| 3768 | 3887 | */ |
| 3769 | 3888 | const handleTab = event => { |
| 3770 | 3889 | const targetElement = event.target; |
| 3771 | 3890 | const focusableElements = getFocusableElements(); |
| 3772 | - let btnIndex = -1; | |
| 3773 | - for (let i = 0; i < focusableElements.length; i++) { | |
| 3774 | - if (targetElement === focusableElements[i]) { | |
| 3775 | - btnIndex = i; | |
| 3776 | - break; | |
| 3777 | - } | |
| 3778 | - } | |
| 3891 | + const btnIndex = focusableElements.findIndex(el => el === targetElement); | |
| 3779 | 3892 | |
| 3893 | + // don't prevent default for iframes (Firefox fix) | |
| 3894 | + // https://github.com/sweetalert2/sweetalert2/issues/2931 | |
| 3895 | + let shouldPreventDefault = true; | |
| 3896 | + | |
| 3780 | 3897 | // Cycle to the next button |
| 3781 | 3898 | if (!event.shiftKey) { |
| 3782 | - setFocus(btnIndex, 1); | |
| 3899 | + shouldPreventDefault = setFocus(btnIndex, 1); | |
| 3783 | 3900 | } |
| 3784 | 3901 | |
| 3785 | 3902 | // Cycle to the prev button |
| 3786 | 3903 | else { |
| 3787 | - setFocus(btnIndex, -1); | |
| 3904 | + shouldPreventDefault = setFocus(btnIndex, -1); | |
| 3788 | 3905 | } |
| 3789 | 3906 | event.stopPropagation(); |
| 3790 | - event.preventDefault(); | |
| 3907 | + if (shouldPreventDefault) { | |
| 3908 | + event.preventDefault(); | |
| 3909 | + } | |
| 3791 | 3910 | }; |
| 3792 | 3911 | |
| 3793 | 3912 | /** |
| 3794 | 3913 | * @param {string} key |
| @@ -3884,8 +4003,11 @@ | ||
| 3884 | 4003 | |
| 3885 | 4004 | // @ts-ignore |
| 3886 | 4005 | const isSafariOrIOS = typeof window !== 'undefined' && Boolean(window.GestureEvent); // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394 |
| 3887 | 4006 | |
| 4007 | + // @ts-ignore | |
| 4008 | + const isIOS = isSafariOrIOS && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; | |
| 4009 | + | |
| 3888 | 4010 | /** |
| 3889 | 4011 | * Fix iOS scrolling |
| 3890 | 4012 | * http://stackoverflow.com/q/39626302 |
| 3891 | 4013 | */ |
| @@ -4467,30 +4589,10 @@ | ||
| 4467 | 4589 | * @typedef {string[]} InputOptionFlattened |
| 4468 | 4590 | * @returns {InputOptionFlattened[]} |
| 4469 | 4591 | */ |
| 4470 | 4592 | const formatInputOptions = inputOptions => { |
| 4471 | - /** @type {InputOptionFlattened[]} */ | |
| 4472 | - const result = []; | |
| 4473 | - if (inputOptions instanceof Map) { | |
| 4474 | - inputOptions.forEach((value, key) => { | |
| 4475 | - let valueFormatted = value; | |
| 4476 | - if (typeof valueFormatted === 'object') { | |
| 4477 | - // case of <optgroup> | |
| 4478 | - valueFormatted = formatInputOptions(valueFormatted); | |
| 4479 | - } | |
| 4480 | - result.push([key, valueFormatted]); | |
| 4481 | - }); | |
| 4482 | - } else { | |
| 4483 | - Object.keys(inputOptions).forEach(key => { | |
| 4484 | - let valueFormatted = inputOptions[key]; | |
| 4485 | - if (typeof valueFormatted === 'object') { | |
| 4486 | - // case of <optgroup> | |
| 4487 | - valueFormatted = formatInputOptions(valueFormatted); | |
| 4488 | - } | |
| 4489 | - result.push([key, valueFormatted]); | |
| 4490 | - }); | |
| 4491 | - } | |
| 4492 | - return result; | |
| 4593 | + const entries = inputOptions instanceof Map ? Array.from(inputOptions) : Object.entries(inputOptions); | |
| 4594 | + return entries.map(([key, value]) => [key, typeof value === 'object' ? formatInputOptions(value) : value]); // case of <optgroup> | |
| 4493 | 4595 | }; |
| 4494 | 4596 | |
| 4495 | 4597 | /** |
| 4496 | 4598 | * @param {string} optionValue |
| @@ -4496,11 +4598,9 @@ | ||
| 4496 | 4598 | * @param {string} optionValue |
| 4497 | 4599 | * @param {SweetAlertInputValue} inputValue |
| 4498 | 4600 | * @returns {boolean} |
| 4499 | 4601 | */ |
| 4500 | - const isSelected = (optionValue, inputValue) => { | |
| 4501 | - return Boolean(inputValue) && inputValue !== null && inputValue !== undefined && inputValue.toString() === optionValue.toString(); | |
| 4502 | - }; | |
| 4602 | + const isSelected = (optionValue, inputValue) => Boolean(inputValue) && inputValue != null && inputValue.toString() === optionValue.toString(); | |
| 4503 | 4603 | |
| 4504 | 4604 | /** |
| 4505 | 4605 | * @param {SweetAlert} instance |
| 4506 | 4606 | */ |
| @@ -4681,11 +4781,9 @@ | ||
| 4681 | 4781 | } |
| 4682 | 4782 | removeClass([domCache.popup, domCache.actions], swalClasses.loading); |
| 4683 | 4783 | domCache.popup.removeAttribute('aria-busy'); |
| 4684 | 4784 | domCache.popup.removeAttribute('data-loading'); |
| 4685 | - domCache.confirmButton.disabled = false; | |
| 4686 | - domCache.denyButton.disabled = false; | |
| 4687 | - domCache.cancelButton.disabled = false; | |
| 4785 | + this.enableButtons(); | |
| 4688 | 4786 | } |
| 4689 | 4787 | |
| 4690 | 4788 | /** |
| 4691 | 4789 | * @param {DomCache} domCache |
| @@ -4738,11 +4836,11 @@ | ||
| 4738 | 4836 | } |
| 4739 | 4837 | if (input.type === 'radio') { |
| 4740 | 4838 | /** @type {NodeListOf<HTMLInputElement>} */ |
| 4741 | 4839 | const radios = popup.querySelectorAll(`[name="${swalClasses.radio}"]`); |
| 4742 | - for (let i = 0; i < radios.length; i++) { | |
| 4743 | - radios[i].disabled = disabled; | |
| 4744 | - } | |
| 4840 | + radios.forEach(radio => { | |
| 4841 | + radio.disabled = disabled; | |
| 4842 | + }); | |
| 4745 | 4843 | } else { |
| 4746 | 4844 | input.disabled = disabled; |
| 4747 | 4845 | } |
| 4748 | 4846 | } |
| @@ -4752,8 +4850,13 @@ | ||
| 4752 | 4850 | * @this {SweetAlert} |
| 4753 | 4851 | */ |
| 4754 | 4852 | function enableButtons() { |
| 4755 | 4853 | setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], false); |
| 4854 | + const focusedElement = privateProps.focusedElement.get(this); | |
| 4855 | + if (focusedElement instanceof HTMLElement && document.activeElement === document.body) { | |
| 4856 | + focusedElement.focus(); | |
| 4857 | + } | |
| 4858 | + privateProps.focusedElement.delete(this); | |
| 4756 | 4859 | } |
| 4757 | 4860 | |
| 4758 | 4861 | /** |
| 4759 | 4862 | * Disable all the buttons |
| @@ -4759,8 +4862,9 @@ | ||
| 4759 | 4862 | * Disable all the buttons |
| 4760 | 4863 | * @this {SweetAlert} |
| 4761 | 4864 | */ |
| 4762 | 4865 | function disableButtons() { |
| 4866 | + privateProps.focusedElement.set(this, document.activeElement); | |
| 4763 | 4867 | setButtonsDisabled(this, ['confirmButton', 'denyButton', 'cancelButton'], true); |
| 4764 | 4868 | } |
| 4765 | 4869 | |
| 4766 | 4870 | /** |
| @@ -5267,25 +5371,25 @@ | ||
| 5267 | 5371 | }; |
| 5268 | 5372 | }; |
| 5269 | 5373 | |
| 5270 | 5374 | /** |
| 5271 | - * @param {any} elem | |
| 5375 | + * @param {unknown} elem | |
| 5272 | 5376 | * @returns {boolean} |
| 5273 | 5377 | */ |
| 5274 | - const isJqueryElement = elem => typeof elem === 'object' && elem.jquery; | |
| 5378 | + const isJqueryElement = elem => typeof elem === 'object' && elem !== null && 'jquery' in elem; | |
| 5275 | 5379 | |
| 5276 | 5380 | /** |
| 5277 | - * @param {any} elem | |
| 5381 | + * @param {unknown} elem | |
| 5278 | 5382 | * @returns {boolean} |
| 5279 | 5383 | */ |
| 5280 | 5384 | const isElement = elem => elem instanceof Element || isJqueryElement(elem); |
| 5281 | 5385 | |
| 5282 | 5386 | /** |
| 5283 | - * @param {any[]} args | |
| 5387 | + * @param {ReadonlyArray<unknown>} args | |
| 5284 | 5388 | * @returns {SweetAlertOptions} |
| 5285 | 5389 | */ |
| 5286 | 5390 | const argsToParams = args => { |
| 5287 | - /** @type {Record<string, any>} */ | |
| 5391 | + /** @type {Record<string, unknown>} */ | |
| 5288 | 5392 | const params = {}; |
| 5289 | 5393 | if (typeof args[0] === 'object' && !isElement(args[0])) { |
| 5290 | 5394 | Object.assign(params, args[0]); |
| 5291 | 5395 | } else { |
| @@ -5297,9 +5401,9 @@ | ||
| 5297 | 5401 | error(`Unexpected type of ${name}! Expected "string" or "Element", got ${typeof arg}`); |
| 5298 | 5402 | } |
| 5299 | 5403 | }); |
| 5300 | 5404 | } |
| 5301 | - return params; | |
| 5405 | + return /** @type {SweetAlertOptions} */params; | |
| 5302 | 5406 | }; |
| 5303 | 5407 | |
| 5304 | 5408 | /** |
| 5305 | 5409 | * Main method to create a new SweetAlert2 popup |
| @@ -5790,19 +5894,15 @@ | ||
| 5790 | 5894 | return; |
| 5791 | 5895 | } |
| 5792 | 5896 | result[`${type}ButtonText`] = button.innerHTML; |
| 5793 | 5897 | result[`show${capitalizeFirstLetter(type)}Button`] = true; |
| 5794 | - if (button.hasAttribute('color')) { | |
| 5795 | - const color = button.getAttribute('color'); | |
| 5796 | - if (color !== null) { | |
| 5797 | - result[`${type}ButtonColor`] = color; | |
| 5798 | - } | |
| 5898 | + const color = button.getAttribute('color'); | |
| 5899 | + if (color !== null) { | |
| 5900 | + result[`${type}ButtonColor`] = color; | |
| 5799 | 5901 | } |
| 5800 | - if (button.hasAttribute('aria-label')) { | |
| 5801 | - const ariaLabel = button.getAttribute('aria-label'); | |
| 5802 | - if (ariaLabel !== null) { | |
| 5803 | - result[`${type}ButtonAriaLabel`] = ariaLabel; | |
| 5804 | - } | |
| 5902 | + const ariaLabel = button.getAttribute('aria-label'); | |
| 5903 | + if (ariaLabel !== null) { | |
| 5904 | + result[`${type}ButtonAriaLabel`] = ariaLabel; | |
| 5805 | 5905 | } |
| 5806 | 5906 | }); |
| 5807 | 5907 | return result; |
| 5808 | 5908 | }; |
| @@ -5816,20 +5916,17 @@ | ||
| 5816 | 5916 | /** @type {HTMLElement | null} */ |
| 5817 | 5917 | const image = templateContent.querySelector('swal-image'); |
| 5818 | 5918 | if (image) { |
| 5819 | 5919 | showWarningsForAttributes(image, ['src', 'width', 'height', 'alt']); |
| 5820 | - if (image.hasAttribute('src')) { | |
| 5821 | - result.imageUrl = image.getAttribute('src') || undefined; | |
| 5822 | - } | |
| 5823 | - if (image.hasAttribute('width')) { | |
| 5824 | - result.imageWidth = image.getAttribute('width') || undefined; | |
| 5825 | - } | |
| 5826 | - if (image.hasAttribute('height')) { | |
| 5827 | - result.imageHeight = image.getAttribute('height') || undefined; | |
| 5828 | - } | |
| 5829 | - if (image.hasAttribute('alt')) { | |
| 5830 | - result.imageAlt = image.getAttribute('alt') || undefined; | |
| 5831 | - } | |
| 5920 | + // getAttribute returns null if attribute is absent; `|| undefined` converts empty string to undefined | |
| 5921 | + const src = image.getAttribute('src'); | |
| 5922 | + if (src !== null) result.imageUrl = src || undefined; | |
| 5923 | + const width = image.getAttribute('width'); | |
| 5924 | + if (width !== null) result.imageWidth = width || undefined; | |
| 5925 | + const height = image.getAttribute('height'); | |
| 5926 | + if (height !== null) result.imageHeight = height || undefined; | |
| 5927 | + const alt = image.getAttribute('alt'); | |
| 5928 | + if (alt !== null) result.imageAlt = alt || undefined; | |
| 5832 | 5929 | } |
| 5833 | 5930 | return result; |
| 5834 | 5931 | }; |
| 5835 | 5932 | |
| @@ -5964,12 +6061,17 @@ | ||
| 5964 | 6061 | setTimeout(() => { |
| 5965 | 6062 | setScrollingVisibility(container, popup); |
| 5966 | 6063 | }, SHOW_CLASS_TIMEOUT); |
| 5967 | 6064 | if (isModal()) { |
| 5968 | - // Using ternary instead of ?? operator for Webpack 4 compatibility | |
| 5969 | 6065 | fixScrollContainer(container, params.scrollbarPadding !== undefined ? params.scrollbarPadding : false, initialBodyOverflow); |
| 5970 | 6066 | setAriaHidden(); |
| 5971 | 6067 | } |
| 6068 | + | |
| 6069 | + // https://github.com/sweetalert2/sweetalert2/issues/2923 | |
| 6070 | + if (isIOS && params.backdrop === false && popup.scrollHeight > container.clientHeight) { | |
| 6071 | + // remove pointer-events: none from container, it breaks scrolling tall popups in iOS | |
| 6072 | + container.style.pointerEvents = 'auto'; | |
| 6073 | + } | |
| 5972 | 6074 | if (!isToast() && !globalState.previousActiveElement) { |
| 5973 | 6075 | globalState.previousActiveElement = document.activeElement; |
| 5974 | 6076 | } |
| 5975 | 6077 | if (typeof params.didOpen === 'function') { |
| @@ -6141,9 +6243,10 @@ | ||
| 6141 | 6243 | constructor(...args) { |
| 6142 | 6244 | /** |
| 6143 | 6245 | * @type {Promise<SweetAlertResult>} |
| 6144 | 6246 | */ |
| 6145 | - _classPrivateFieldInitSpec(this, _promise, /** @type {Promise<SweetAlertResult>} */Promise.resolve({ | |
| 6247 | + _classPrivateFieldInitSpec(this, _promise, /** @type {Promise<SweetAlertResult>} */ | |
| 6248 | + Promise.resolve({ | |
| 6146 | 6249 | isConfirmed: false, |
| 6147 | 6250 | isDenied: false, |
| 6148 | 6251 | isDismissed: true |
| 6149 | 6252 | })); |
| @@ -6207,8 +6310,9 @@ | ||
| 6207 | 6310 | // `catch` cannot be the name of a module export, so we define our thenable methods here instead |
| 6208 | 6311 | /** |
| 6209 | 6312 | * @param {any} onFulfilled |
| 6210 | 6313 | */ |
| 6314 | + // oxlint-disable-next-line unicorn/no-thenable | |
| 6211 | 6315 | then(onFulfilled) { |
| 6212 | 6316 | return _classPrivateFieldGet2(_promise, this).then(onFulfilled); |
| 6213 | 6317 | } |
| 6214 | 6318 | |
| @@ -6352,10 +6456,10 @@ | ||
| 6352 | 6456 | return; |
| 6353 | 6457 | } |
| 6354 | 6458 | // TODO: this is dumb, remove `allowEnterKey` param in the next major version |
| 6355 | 6459 | if (!callIfFunction(innerParams.allowEnterKey)) { |
| 6356 | - warnAboutDeprecation('allowEnterKey'); | |
| 6357 | - blurActiveElement(); | |
| 6460 | + warnAboutDeprecation('allowEnterKey', 'preConfirm: () => false'); | |
| 6461 | + domCache.popup.focus(); | |
| 6358 | 6462 | return; |
| 6359 | 6463 | } |
| 6360 | 6464 | if (focusAutofocus(domCache)) { |
| 6361 | 6465 | return; |
| @@ -6400,13 +6504,8 @@ | ||
| 6400 | 6504 | return true; |
| 6401 | 6505 | } |
| 6402 | 6506 | return false; |
| 6403 | 6507 | }; |
| 6404 | - const blurActiveElement = () => { | |
| 6405 | - if (document.activeElement instanceof HTMLElement && typeof document.activeElement.blur === 'function') { | |
| 6406 | - document.activeElement.blur(); | |
| 6407 | - } | |
| 6408 | - }; | |
| 6409 | 6508 | |
| 6410 | 6509 | // Assign instance methods from src/instanceMethods/*.js to prototype |
| 6411 | 6510 | SweetAlert.prototype.disableButtons = disableButtons; |
| 6412 | 6511 | SweetAlert.prototype.enableButtons = enableButtons; |
| @@ -6444,9 +6543,9 @@ | ||
| 6444 | 6543 | return undefined; |
| 6445 | 6544 | }; |
| 6446 | 6545 | }); |
| 6447 | 6546 | SweetAlert.DismissReason = DismissReason; |
| 6448 | - SweetAlert.version = '11.26.17'; | |
| 6547 | + SweetAlert.version = '11.26.25'; | |
| 6449 | 6548 | |
| 6450 | 6549 | const Swal = SweetAlert; |
| 6451 | 6550 | // @ts-ignore |
| 6452 | 6551 | Swal.default = Swal; |
| @@ -6454,9 +6553,9 @@ | ||
| 6454 | 6553 | return Swal; |
| 6455 | 6554 | |
| 6456 | 6555 | })); |
| 6457 | 6556 | if (typeof this !== 'undefined' && this.Sweetalert2){this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2} |
| 6458 | -"undefined"!=typeof document&&function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,":root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-icon-animations: true;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:\"top-start top top-end\" \"center-start center center-end\" \"bottom-start bottom-center bottom-end\";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem;container-name:swal2-popup}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:\"!\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}@container swal2-popup style(--swal2-icon-animations:true){div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:all}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}@container swal2-popup style(--swal2-icon-animations:true){.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}100%{transform:translate3d(0, 0, 0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translate3d(0, 0, 0) scale(1);opacity:1}100%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}"); | |
| 6557 | +"undefined"!=typeof document&&function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,":root{--swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-container-padding: 0.625em;--swal2-backdrop: rgba(0, 0, 0, 0.4);--swal2-backdrop-transition: background-color 0.15s;--swal2-width: 32em;--swal2-padding: 0 0 1.25em;--swal2-border: none;--swal2-border-radius: 0.3125rem;--swal2-background: white;--swal2-color: #545454;--swal2-show-animation: swal2-show 0.3s;--swal2-hide-animation: swal2-hide 0.15s forwards;--swal2-icon-zoom: 1;--swal2-title-padding: 0.8em 1em 0;--swal2-html-container-padding: 1em 1.6em 0.3em;--swal2-input-border: 1px solid #d9d9d9;--swal2-input-border-radius: 0.1875em;--swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-background: transparent;--swal2-input-transition: border-color 0.2s, box-shadow 0.2s;--swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;--swal2-input-focus-border: 1px solid #b4dbed;--swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);--swal2-progress-step-background: #add8e6;--swal2-validation-message-background: #f0f0f0;--swal2-validation-message-color: #666;--swal2-footer-border-color: #eee;--swal2-footer-background: transparent;--swal2-footer-color: inherit;--swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);--swal2-close-button-position: initial;--swal2-close-button-inset: auto;--swal2-close-button-font-size: 2.5em;--swal2-close-button-color: #ccc;--swal2-close-button-transition: color 0.2s, box-shadow 0.2s;--swal2-close-button-outline: initial;--swal2-close-button-box-shadow: inset 0 0 0 3px transparent;--swal2-close-button-focus-box-shadow: inset var(--swal2-outline);--swal2-close-button-hover-transform: none;--swal2-actions-justify-content: center;--swal2-actions-width: auto;--swal2-actions-margin: 1.25em auto 0;--swal2-actions-padding: 0;--swal2-actions-border-radius: 0;--swal2-actions-background: transparent;--swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;--swal2-action-button-hover: black 10%;--swal2-action-button-active: black 10%;--swal2-confirm-button-box-shadow: none;--swal2-confirm-button-border-radius: 0.25em;--swal2-confirm-button-background-color: #7066e0;--swal2-confirm-button-color: #fff;--swal2-deny-button-box-shadow: none;--swal2-deny-button-border-radius: 0.25em;--swal2-deny-button-background-color: #dc3741;--swal2-deny-button-color: #fff;--swal2-cancel-button-box-shadow: none;--swal2-cancel-button-border-radius: 0.25em;--swal2-cancel-button-background-color: #6e7881;--swal2-cancel-button-color: #fff;--swal2-toast-show-animation: swal2-toast-show 0.5s;--swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;--swal2-toast-border: none;--swal2-toast-box-shadow: 0 0 1px hsl(0deg 0% 0% / 0.075), 0 1px 2px hsl(0deg 0% 0% / 0.075), 1px 2px 4px hsl(0deg 0% 0% / 0.075), 1px 3px 8px hsl(0deg 0% 0% / 0.075), 2px 4px 16px hsl(0deg 0% 0% / 0.075)}[data-swal2-theme=dark]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}@media(prefers-color-scheme: dark){[data-swal2-theme=auto]{--swal2-dark-theme-black: #19191a;--swal2-dark-theme-white: #e1e1e1;--swal2-background: var(--swal2-dark-theme-black);--swal2-color: var(--swal2-dark-theme-white);--swal2-footer-border-color: #555;--swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);--swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );--swal2-validation-message-color: var(--swal2-dark-theme-white);--swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7)}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:auto}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px var(--swal2-backdrop)}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:\"top-start top top-end\" \"center-start center center-end\" \"bottom-start bottom-center bottom-end\";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:var(--swal2-container-padding);overflow-x:hidden;transition:var(--swal2-backdrop-transition);-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:var(--swal2-backdrop)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container)[popover]{width:auto;border:0}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:var(--swal2-width);max-width:100%;padding:var(--swal2-padding);border:var(--swal2-border);border-radius:var(--swal2-border-radius);background:var(--swal2-background);color:var(--swal2-color);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:var(--swal2-title-padding);color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;overflow-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:var(--swal2-actions-justify-content);width:var(--swal2-actions-width);margin:var(--swal2-actions-margin);padding:var(--swal2-actions-padding);border-radius:var(--swal2-actions-border-radius);background:var(--swal2-actions-background)}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:var(--swal2-action-button-transition);border:none;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border-radius:var(--swal2-confirm-button-border-radius);background:initial;background-color:var(--swal2-confirm-button-background-color);box-shadow:var(--swal2-confirm-button-box-shadow);color:var(--swal2-confirm-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active{background-color:color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border-radius:var(--swal2-deny-button-border-radius);background:initial;background-color:var(--swal2-deny-button-background-color);box-shadow:var(--swal2-deny-button-box-shadow);color:var(--swal2-deny-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active{background-color:color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border-radius:var(--swal2-cancel-button-border-radius);background:initial;background-color:var(--swal2-cancel-button-background-color);box-shadow:var(--swal2-cancel-button-box-shadow);color:var(--swal2-cancel-button-color);font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover))}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active{background-color:color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active))}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none;box-shadow:var(--swal2-action-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading){opacity:.4}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid var(--swal2-footer-border-color);background:var(--swal2-footer-background);color:var(--swal2-footer-color);font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:var(--swal2-border-radius);border-bottom-left-radius:var(--swal2-border-radius)}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:var(--swal2-timer-progress-bar-background)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){position:var(--swal2-close-button-position);inset:var(--swal2-close-button-inset);z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:var(--swal2-close-button-transition);border:none;border-radius:var(--swal2-border-radius);outline:var(--swal2-close-button-outline);background:rgba(0,0,0,0);color:var(--swal2-close-button-color);font-family:monospace;font-size:var(--swal2-close-button-font-size);cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:var(--swal2-close-button-hover-transform);background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:var(--swal2-close-button-focus-box-shadow)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:var(--swal2-html-container-padding);overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;overflow-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:var(--swal2-input-transition);border:var(--swal2-input-border);border-radius:var(--swal2-input-border-radius);background:var(--swal2-input-background);box-shadow:var(--swal2-input-box-shadow);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):hover,div:where(.swal2-container) input:where(.swal2-file):hover,div:where(.swal2-container) textarea:where(.swal2-textarea):hover{box-shadow:var(--swal2-input-hover-box-shadow)}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:var(--swal2-input-focus-border);outline:none;box-shadow:var(--swal2-input-focus-box-shadow)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:var(--swal2-background)}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:var(--swal2-input-background);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:var(--swal2-input-background);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:var(--swal2-background);color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:var(--swal2-validation-message-background);color:var(--swal2-validation-message-color);font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:\"!\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:var(--swal2-progress-step-background);color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:var(--swal2-progress-step-background)}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;zoom:var(--swal2-icon-zoom);border:.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:#f8bb86;color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:#3fc3ee;color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:#87adbd;color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:var(--swal2-show-animation)}.swal2-hide{animation:var(--swal2-hide-animation)}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;border:var(--swal2-toast-border);background:var(--swal2-background);box-shadow:var(--swal2-toast-box-shadow);pointer-events:auto}.swal2-toast>*{grid-column:2}.swal2-toast h2:where(.swal2-title){margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-toast .swal2-loading{justify-content:center}.swal2-toast input:where(.swal2-input){height:2em;margin:.5em;font-size:1em}.swal2-toast .swal2-validation-message{font-size:1em}.swal2-toast div:where(.swal2-footer){margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-toast button:where(.swal2-close){grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-toast div:where(.swal2-html-container){margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-toast div:where(.swal2-html-container):empty{padding:0}.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-toast div:where(.swal2-actions){justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-toast button:where(.swal2-styled){margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-toast.swal2-show{animation:var(--swal2-toast-show-animation)}.swal2-toast.swal2-hide{animation:var(--swal2-toast-hide-animation)}@keyframes swal2-show{0%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}100%{transform:translate3d(0, 0, 0) scale(1);opacity:1}}@keyframes swal2-hide{0%{transform:translate3d(0, 0, 0) scale(1);opacity:1}100%{transform:translate3d(0, -50px, 0) scale(0.9);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}"); | |
| 6459 | 6558 | |
| 6460 | 6559 | /***/ }, |
| 6461 | 6560 | |
| 6462 | 6561 | /***/ "./node_modules/toastify-js/src/toastify.js" |
| @@ -6916,19 +7015,19 @@ | ||
| 6916 | 7015 | |
| 6917 | 7016 | /******/ }); |
| 6918 | 7017 | /************************************************************************/ |
| 6919 | 7018 | /******/ // The module cache |
| 6920 | -/******/ var __webpack_module_cache__ = {}; | |
| 7019 | +/******/ const __webpack_module_cache__ = {}; | |
| 6921 | 7020 | /******/ |
| 6922 | 7021 | /******/ // The require function |
| 6923 | 7022 | /******/ function __webpack_require__(moduleId) { |
| 6924 | 7023 | /******/ // Check if module is in cache |
| 6925 | -/******/ var cachedModule = __webpack_module_cache__[moduleId]; | |
| 7024 | +/******/ const cachedModule = __webpack_module_cache__[moduleId]; | |
| 6926 | 7025 | /******/ if (cachedModule !== undefined) { |
| 6927 | 7026 | /******/ return cachedModule.exports; |
| 6928 | 7027 | /******/ } |
| 6929 | 7028 | /******/ // Create a new module (and put it into the cache) |
| 6930 | -/******/ var module = __webpack_module_cache__[moduleId] = { | |
| 7029 | +/******/ const module = __webpack_module_cache__[moduleId] = { | |
| 6931 | 7030 | /******/ id: moduleId, |
| 6932 | 7031 | /******/ // no module.loaded needed |
| 6933 | 7032 | /******/ exports: {} |
| 6934 | 7033 | /******/ }; |
| @@ -6935,9 +7034,9 @@ | ||
| 6935 | 7034 | /******/ |
| 6936 | 7035 | /******/ // Execute the module function |
| 6937 | 7036 | /******/ if (!(moduleId in __webpack_modules__)) { |
| 6938 | 7037 | /******/ delete __webpack_module_cache__[moduleId]; |
| 6939 | -/******/ var e = new Error("Cannot find module '" + moduleId + "'"); | |
| 7038 | +/******/ const e = new Error("Cannot find module '" + moduleId + "'"); | |
| 6940 | 7039 | /******/ e.code = 'MODULE_NOT_FOUND'; |
| 6941 | 7040 | /******/ throw e; |
| 6942 | 7041 | /******/ } |
| 6943 | 7042 | /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); |
| @@ -6950,9 +7049,9 @@ | ||
| 6950 | 7049 | /******/ /* webpack/runtime/compat get default export */ |
| 6951 | 7050 | /******/ (() => { |
| 6952 | 7051 | /******/ // getDefaultExport function for compatibility with non-harmony modules |
| 6953 | 7052 | /******/ __webpack_require__.n = (module) => { |
| 6954 | -/******/ var getter = module && module.__esModule ? | |
| 7053 | +/******/ const getter = module && module.__esModule ? | |
| 6955 | 7054 | /******/ () => (module['default']) : |
| 6956 | 7055 | /******/ () => (module); |
| 6957 | 7056 | /******/ __webpack_require__.d(getter, { a: getter }); |
| 6958 | 7057 | /******/ return getter; |
| @@ -6960,14 +7059,29 @@ | ||
| 6960 | 7059 | /******/ })(); |
| 6961 | 7060 | /******/ |
| 6962 | 7061 | /******/ /* webpack/runtime/define property getters */ |
| 6963 | 7062 | /******/ (() => { |
| 6964 | -/******/ // define getter functions for harmony exports | |
| 7063 | +/******/ // define getter/value functions for harmony exports | |
| 6965 | 7064 | /******/ __webpack_require__.d = (exports, definition) => { |
| 6966 | -/******/ for(var key in definition) { | |
| 6967 | -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { | |
| 6968 | -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); | |
| 7065 | +/******/ if(Array.isArray(definition)) { | |
| 7066 | +/******/ var i = 0; | |
| 7067 | +/******/ while(i < definition.length) { | |
| 7068 | +/******/ var key = definition[i++]; | |
| 7069 | +/******/ var binding = definition[i++]; | |
| 7070 | +/******/ if(!__webpack_require__.o(exports, key)) { | |
| 7071 | +/******/ if(binding === 0) { | |
| 7072 | +/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] }); | |
| 7073 | +/******/ } else { | |
| 7074 | +/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding }); | |
| 7075 | +/******/ } | |
| 7076 | +/******/ } else if(binding === 0) { i++; } | |
| 6969 | 7077 | /******/ } |
| 7078 | +/******/ } else { | |
| 7079 | +/******/ for(var key in definition) { | |
| 7080 | +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { | |
| 7081 | +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); | |
| 7082 | +/******/ } | |
| 7083 | +/******/ } | |
| 6970 | 7084 | /******/ } |
| 6971 | 7085 | /******/ }; |
| 6972 | 7086 | /******/ })(); |
| 6973 | 7087 | /******/ |
| @@ -6972,9 +7086,9 @@ | ||
| 6972 | 7086 | /******/ })(); |
| 6973 | 7087 | /******/ |
| 6974 | 7088 | /******/ /* webpack/runtime/hasOwnProperty shorthand */ |
| 6975 | 7089 | /******/ (() => { |
| 6976 | -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) | |
| 7090 | +/******/ __webpack_require__.o = (obj, prop) => (Object.hasOwn(obj, prop)) | |
| 6977 | 7091 | /******/ })(); |
| 6978 | 7092 | /******/ |
| 6979 | 7093 | /******/ /* webpack/runtime/make namespace object */ |
| 6980 | 7094 | /******/ (() => { |
| @@ -6979,9 +7093,9 @@ | ||
| 6979 | 7093 | /******/ /* webpack/runtime/make namespace object */ |
| 6980 | 7094 | /******/ (() => { |
| 6981 | 7095 | /******/ // define __esModule on exports |
| 6982 | 7096 | /******/ __webpack_require__.r = (exports) => { |
| 6983 | -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | |
| 7097 | +/******/ if(Symbol.toStringTag) { | |
| 6984 | 7098 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); |
| 6985 | 7099 | /******/ } |
| 6986 | 7100 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); |
| 6987 | 7101 | /******/ }; |
| @@ -6992,9 +7106,9 @@ | ||
| 6992 | 7106 | /******/ __webpack_require__.nc = undefined; |
| 6993 | 7107 | /******/ })(); |
| 6994 | 7108 | /******/ |
| 6995 | 7109 | /************************************************************************/ |
| 6996 | -var __webpack_exports__ = {}; | |
| 7110 | +let __webpack_exports__ = {}; | |
| 6997 | 7111 | // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. |
| 6998 | 7112 | (() => { |
| 6999 | 7113 | "use strict"; |
| 7000 | 7114 | /*!**********************************************!*\ |
| @@ -7002,13 +7116,13 @@ | ||
| 7002 | 7116 | \**********************************************/ |
| 7003 | 7117 | __webpack_require__.r(__webpack_exports__); |
| 7004 | 7118 | /* harmony import */ var _courses_generate_with_ai_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./courses/generate-with-ai.js */ "./assets/src/js/admin/courses/generate-with-ai.js"); |
| 7005 | 7119 | /* harmony import */ var _courses_view_students_modal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./courses/view-students-modal.js */ "./assets/src/js/admin/courses/view-students-modal.js"); |
| 7006 | -/** | |
| 7007 | - * Admin Courses JS | |
| 7008 | - * | |
| 7009 | - * @since 4.3.0 | |
| 7010 | - * @version 1.0.1 | |
| 7120 | +/** | |
| 7121 | + * Admin Courses JS | |
| 7122 | + * | |
| 7123 | + * @since 4.3.0 | |
| 7124 | + * @version 1.0.1 | |
| 7011 | 7125 | */ |
| 7012 | 7126 | |
| 7013 | 7127 | |
| 7014 | 7128 | |