From af689537781cf114e446962c06d640fa58b5edd7 Mon Sep 17 00:00:00 2001 From: Rodrigo Date: Wed, 22 Jul 2026 09:29:35 -0400 Subject: [PATCH 1/3] feat(FOUR-32025): LOGIN SCREEN >> Review performance: DB access and queries in login can be cached into redis, images --- ProcessMaker/Models/Setting.php | 33 +- public/builds/login/js/app-login.js | 336 +++++++++--------- .../fonts/pm-font/processmaker-font.scss | 1 + resources/views/auth/layouts/auth.blade.php | 2 +- resources/views/auth/newLogin.blade.php | 8 +- .../auth-language-scripts-minimal.blade.php | 9 +- .../partials/auth-language-scripts.blade.php | 6 +- .../views/auth/partials/auth-styles.blade.php | 19 +- .../auth/partials/icon-warning.blade.php | 3 + .../auth/partials/login-base-styles.blade.php | 51 +++ .../partials/login-critical-styles.blade.php | 13 +- .../partials/login-extra-styles.blade.php | 2 +- .../partials/password-toggle-button.blade.php | 16 + .../views/auth/passwords/reset.blade.php | 6 +- resources/views/components/logo.blade.php | 2 +- 15 files changed, 304 insertions(+), 203 deletions(-) create mode 100644 resources/views/auth/partials/icon-warning.blade.php create mode 100644 resources/views/auth/partials/login-base-styles.blade.php create mode 100644 resources/views/auth/partials/password-toggle-button.blade.php diff --git a/ProcessMaker/Models/Setting.php b/ProcessMaker/Models/Setting.php index 87395b44d8..a97db998df 100644 --- a/ProcessMaker/Models/Setting.php +++ b/ProcessMaker/Models/Setting.php @@ -311,6 +311,7 @@ public static function getLogin() { // default login $url = asset(config('app.settings.login_logo_path')); + $customized = false; //custom login $setting = self::byKey('css-override'); @@ -320,10 +321,18 @@ public static function getLogin() foreach ($mediaFile as $media) { $url = $media->getFullUrl(); + $customized = true; } } - return $url . '?id=' . bin2hex(random_bytes(16)); + // Use a stable cache-busting key based on the setting's last update time. + // This allows the browser to cache the logo long-term and only re-fetch + // when an admin actually changes it, instead of on every page request. + if ($customized && $setting) { + return $url . '?v=' . $setting->updated_at?->timestamp; + } + + return $url; } /** @@ -359,6 +368,8 @@ public static function getIcon() { // default icon $url = asset(config('app.settings.icon_path')); + $setting = null; + $customized = false; // custom icon if (config()->has($key = 'css-override')) { @@ -369,11 +380,17 @@ public static function getIcon() foreach ($mediaFile as $media) { $url = $media->getFullUrl(); + $customized = true; } } } - return $url . '?id=' . bin2hex(random_bytes(16)); + // Use a stable cache-busting key based on the setting's last update time. + if ($customized && $setting) { + return $url . '?v=' . $setting->updated_at?->timestamp; + } + + return $url; } /** @@ -384,6 +401,8 @@ public static function getFavicon() { // default icon $url = asset(config('app.settings.favicon_path')); + $setting = null; + $customized = false; // custom icon if (config()->has($key = 'css-override')) { @@ -394,11 +413,19 @@ public static function getFavicon() foreach ($mediaFile as $media) { $url = $media->getFullUrl(); + $customized = true; } } } - return $url . '?id=' . bin2hex(random_bytes(16)); + // Use a stable cache-busting key based on the setting's last update time. + // Eliminates the previous random_bytes() that prevented browser caching + // on every request, forcing a full re-download of the favicon each visit. + if ($customized && $setting) { + return $url . '?v=' . $setting->updated_at?->timestamp; + } + + return $url; } /** diff --git a/public/builds/login/js/app-login.js b/public/builds/login/js/app-login.js index 3e4e5777dd..b6156abd6a 100644 --- a/public/builds/login/js/app-login.js +++ b/public/builds/login/js/app-login.js @@ -2944,13 +2944,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/lang.js */ "./resources/js/modules/lang.js"); /* harmony import */ var _components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/common/mixins/accessibility */ "./resources/js/components/common/mixins/accessibility.js"); var _document$head$queryS; -function cov_2337h25edu() { - var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/app-login.js"; - var hash = "195e5558a5d99dbe9490879ad07aabe07e89bf1c"; +function cov_uea4ftz59() { + var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/app-login.js"; + var hash = "a1fb3675012b262c56bd713cf2e624ea3fc864f6"; var global = new Function("return this")(); var gcv = "__coverage__"; var coverageData = { - path: "/Users/sanjacornelius/Documents/processmaker/resources/js/app-login.js", + path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/app-login.js", statementMap: { "0": { start: { @@ -3928,7 +3928,7 @@ function cov_2337h25edu() { "7": [0, 0] }, _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "195e5558a5d99dbe9490879ad07aabe07e89bf1c" + hash: "a1fb3675012b262c56bd713cf2e624ea3fc864f6" }; var coverage = global[gcv] || (global[gcv] = {}); if (!coverage[path] || coverage[path].hash !== hash) { @@ -3937,13 +3937,13 @@ function cov_2337h25edu() { var actualCoverage = coverage[path]; { // @ts-ignore - cov_2337h25edu = function () { + cov_uea4ftz59 = function () { return actualCoverage; }; } return actualCoverage; } -cov_2337h25edu(); +cov_uea4ftz59(); @@ -3959,35 +3959,35 @@ cov_2337h25edu(); -cov_2337h25edu().s[0]++; +cov_uea4ftz59().s[0]++; window.__ = _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__["default"]; -cov_2337h25edu().s[1]++; +cov_uea4ftz59().s[1]++; window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); -cov_2337h25edu().s[2]++; +cov_uea4ftz59().s[2]++; window.Popper = (__webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"]); -cov_2337h25edu().s[3]++; +cov_uea4ftz59().s[3]++; window.$ = window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); -cov_2337h25edu().s[4]++; +cov_uea4ftz59().s[4]++; window.Vue = vue__WEBPACK_IMPORTED_MODULE_9__["default"]; -cov_2337h25edu().s[5]++; +cov_uea4ftz59().s[5]++; window.vue = vue__WEBPACK_IMPORTED_MODULE_9__; -cov_2337h25edu().s[6]++; +cov_uea4ftz59().s[6]++; window.bootstrap = bootstrap__WEBPACK_IMPORTED_MODULE_0__; -cov_2337h25edu().s[7]++; +cov_uea4ftz59().s[7]++; window.Vue.use((vue_cookies__WEBPACK_IMPORTED_MODULE_6___default())); -cov_2337h25edu().s[8]++; +cov_uea4ftz59().s[8]++; window.Vue.use(_panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"]); -var translationsLoaded = (cov_2337h25edu().s[9]++, false); -var mdates = (cov_2337h25edu().s[10]++, JSON.parse((_document$head$queryS = document.head.querySelector("meta[name=\"i18n-mdate\"]")) === null || _document$head$queryS === void 0 ? void 0 : _document$head$queryS.content)); +var translationsLoaded = (cov_uea4ftz59().s[9]++, false); +var mdates = (cov_uea4ftz59().s[10]++, JSON.parse((_document$head$queryS = document.head.querySelector("meta[name=\"i18n-mdate\"]")) === null || _document$head$queryS === void 0 ? void 0 : _document$head$queryS.content)); // Make $t available to all vue instances -cov_2337h25edu().s[11]++; +cov_uea4ftz59().s[11]++; vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin({ i18n: new _panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"](i18next__WEBPACK_IMPORTED_MODULE_1__["default"]) }); -cov_2337h25edu().s[12]++; +cov_uea4ftz59().s[12]++; vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__["default"]); -cov_2337h25edu().s[13]++; +cov_uea4ftz59().s[13]++; window.ProcessMaker = { i18n: i18next__WEBPACK_IMPORTED_MODULE_1__["default"], /** @@ -3997,25 +3997,25 @@ window.ProcessMaker = { packages: [], missingTranslations: new Set(), missingTranslation: function missingTranslation(value) { - cov_2337h25edu().f[0]++; - cov_2337h25edu().s[14]++; + cov_uea4ftz59().f[0]++; + cov_uea4ftz59().s[14]++; if (this.missingTranslations.has(value)) { - cov_2337h25edu().b[0][0]++; - cov_2337h25edu().s[15]++; + cov_uea4ftz59().b[0][0]++; + cov_uea4ftz59().s[15]++; return; } else { - cov_2337h25edu().b[0][1]++; + cov_uea4ftz59().b[0][1]++; } - cov_2337h25edu().s[16]++; + cov_uea4ftz59().s[16]++; this.missingTranslations.add(value); - cov_2337h25edu().s[17]++; + cov_uea4ftz59().s[17]++; console.warn("Missing Translation:", value); }, $notifications: { icons: {} } }; -cov_2337h25edu().s[18]++; +cov_uea4ftz59().s[18]++; window.ProcessMaker.i18nPromise = i18next__WEBPACK_IMPORTED_MODULE_1__["default"].use((i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2___default())).init({ lng: document.documentElement.lang, fallbackLng: "en", @@ -4025,20 +4025,20 @@ window.ProcessMaker.i18nPromise = i18next__WEBPACK_IMPORTED_MODULE_1__["default" nsSeparator: false, keySeparator: false, parseMissingKeyHandler: function parseMissingKeyHandler(value) { - cov_2337h25edu().f[1]++; - cov_2337h25edu().s[19]++; + cov_uea4ftz59().f[1]++; + cov_uea4ftz59().s[19]++; if (!translationsLoaded) { - cov_2337h25edu().b[1][0]++; - cov_2337h25edu().s[20]++; + cov_uea4ftz59().b[1][0]++; + cov_uea4ftz59().s[20]++; return value; } else { - cov_2337h25edu().b[1][1]++; + cov_uea4ftz59().b[1][1]++; } // Report that a translation is missing - cov_2337h25edu().s[21]++; + cov_uea4ftz59().s[21]++; window.ProcessMaker.missingTranslation(value); // Fallback to showing the english version - cov_2337h25edu().s[22]++; + cov_uea4ftz59().s[22]++; return value; }, backend: { @@ -4052,10 +4052,10 @@ window.ProcessMaker.i18nPromise = i18next__WEBPACK_IMPORTED_MODULE_1__["default" }] } }); -cov_2337h25edu().s[23]++; +cov_uea4ftz59().s[23]++; window.ProcessMaker.i18nPromise.then(function () { - cov_2337h25edu().f[2]++; - cov_2337h25edu().s[24]++; + cov_uea4ftz59().f[2]++; + cov_uea4ftz59().s[24]++; translationsLoaded = true; }); @@ -4064,85 +4064,85 @@ window.ProcessMaker.i18nPromise.then(function () { * REST api endpoints through oauth authentication * */ -cov_2337h25edu().s[25]++; +cov_uea4ftz59().s[25]++; window.ProcessMaker.apiClient = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); -cov_2337h25edu().s[26]++; +cov_uea4ftz59().s[26]++; window.ProcessMaker.apiClient.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"; // Setup api versions -var apiVersionConfig = (cov_2337h25edu().s[27]++, [{ +var apiVersionConfig = (cov_uea4ftz59().s[27]++, [{ version: "1.0", baseURL: "/api/1.0/" }, { version: "1.1", baseURL: "/api/1.1/" }]); -cov_2337h25edu().s[28]++; +cov_uea4ftz59().s[28]++; window.ProcessMaker.apiClient.defaults.baseURL = apiVersionConfig[0].baseURL; -cov_2337h25edu().s[29]++; +cov_uea4ftz59().s[29]++; window.ProcessMaker.apiClient.interceptors.request.use(function (config) { - cov_2337h25edu().f[3]++; - cov_2337h25edu().s[30]++; - if ((cov_2337h25edu().b[3][0]++, typeof config.url !== "string") || (cov_2337h25edu().b[3][1]++, !config.url)) { - cov_2337h25edu().b[2][0]++; - cov_2337h25edu().s[31]++; + cov_uea4ftz59().f[3]++; + cov_uea4ftz59().s[30]++; + if ((cov_uea4ftz59().b[3][0]++, typeof config.url !== "string") || (cov_uea4ftz59().b[3][1]++, !config.url)) { + cov_uea4ftz59().b[2][0]++; + cov_uea4ftz59().s[31]++; throw new Error("Invalid URL in the request configuration"); } else { - cov_2337h25edu().b[2][1]++; + cov_uea4ftz59().b[2][1]++; } - cov_2337h25edu().s[32]++; + cov_uea4ftz59().s[32]++; apiVersionConfig.forEach(function (_ref) { var version = _ref.version, baseURL = _ref.baseURL; - cov_2337h25edu().f[4]++; - var versionPrefix = (cov_2337h25edu().s[33]++, "/api/".concat(version, "/")); - cov_2337h25edu().s[34]++; + cov_uea4ftz59().f[4]++; + var versionPrefix = (cov_uea4ftz59().s[33]++, "/api/".concat(version, "/")); + cov_uea4ftz59().s[34]++; if (config.url.startsWith(versionPrefix)) { - cov_2337h25edu().b[4][0]++; - cov_2337h25edu().s[35]++; + cov_uea4ftz59().b[4][0]++; + cov_uea4ftz59().s[35]++; // eslint-disable-next-line no-param-reassign config.baseURL = baseURL; // eslint-disable-next-line no-param-reassign - cov_2337h25edu().s[36]++; + cov_uea4ftz59().s[36]++; config.url = config.url.replace(versionPrefix, ""); } else { - cov_2337h25edu().b[4][1]++; + cov_uea4ftz59().b[4][1]++; } }); - cov_2337h25edu().s[37]++; + cov_uea4ftz59().s[37]++; return config; }); // Set the default API timeout -var apiTimeout = (cov_2337h25edu().s[38]++, 5000); -cov_2337h25edu().s[39]++; -if ((cov_2337h25edu().b[6][0]++, window.Processmaker) && (cov_2337h25edu().b[6][1]++, window.Processmaker.apiTimeout !== undefined)) { - cov_2337h25edu().b[5][0]++; - cov_2337h25edu().s[40]++; +var apiTimeout = (cov_uea4ftz59().s[38]++, 5000); +cov_uea4ftz59().s[39]++; +if ((cov_uea4ftz59().b[6][0]++, window.Processmaker) && (cov_uea4ftz59().b[6][1]++, window.Processmaker.apiTimeout !== undefined)) { + cov_uea4ftz59().b[5][0]++; + cov_uea4ftz59().s[40]++; apiTimeout = window.Processmaker.apiTimeout; } else { - cov_2337h25edu().b[5][1]++; + cov_uea4ftz59().b[5][1]++; } -cov_2337h25edu().s[41]++; +cov_uea4ftz59().s[41]++; window.ProcessMaker.apiClient.defaults.timeout = apiTimeout; // click an active tab after all components have mounted -cov_2337h25edu().s[42]++; +cov_uea4ftz59().s[42]++; vue__WEBPACK_IMPORTED_MODULE_9__["default"].use({ install: function install(vue) { - cov_2337h25edu().f[5]++; - cov_2337h25edu().s[43]++; + cov_uea4ftz59().f[5]++; + cov_uea4ftz59().s[43]++; vue.mixin({ mounted: function mounted() { - cov_2337h25edu().f[6]++; - cov_2337h25edu().s[44]++; + cov_uea4ftz59().f[6]++; + cov_uea4ftz59().s[44]++; if (this.$parent) { - cov_2337h25edu().b[7][0]++; - cov_2337h25edu().s[45]++; + cov_uea4ftz59().b[7][0]++; + cov_uea4ftz59().s[45]++; // only run on root return; } else { - cov_2337h25edu().b[7][1]++; + cov_uea4ftz59().b[7][1]++; } } }); @@ -4150,7 +4150,7 @@ vue__WEBPACK_IMPORTED_MODULE_9__["default"].use({ }); // Send an event when the global Vue and ProcessMaker instance is available -cov_2337h25edu().s[46]++; +cov_uea4ftz59().s[46]++; window.dispatchEvent(new Event("app-bootstrapped")); /***/ }), @@ -4168,13 +4168,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); -function cov_20gejcf4ab() { - var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/components/common/mixins/accessibility.js"; - var hash = "32ff012b53571eb61942410b27f8a8c856256151"; +function cov_1m92uxlif6() { + var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/components/common/mixins/accessibility.js"; + var hash = "0e9d2f7988eca41f690710783b46356cf01e01f4"; var global = new Function("return this")(); var gcv = "__coverage__"; var coverageData = { - path: "/Users/sanjacornelius/Documents/processmaker/resources/js/components/common/mixins/accessibility.js", + path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/components/common/mixins/accessibility.js", statementMap: { "0": { start: { @@ -5413,7 +5413,7 @@ function cov_20gejcf4ab() { "14": [0, 0] }, _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "32ff012b53571eb61942410b27f8a8c856256151" + hash: "0e9d2f7988eca41f690710783b46356cf01e01f4" }; var coverage = global[gcv] || (global[gcv] = {}); if (!coverage[path] || coverage[path].hash !== hash) { @@ -5422,48 +5422,48 @@ function cov_20gejcf4ab() { var actualCoverage = coverage[path]; { // @ts-ignore - cov_20gejcf4ab = function () { + cov_1m92uxlif6 = function () { return actualCoverage; }; } return actualCoverage; } -cov_20gejcf4ab(); +cov_1m92uxlif6(); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ data: function data() { - cov_20gejcf4ab().f[0]++; - cov_20gejcf4ab().s[0]++; + cov_1m92uxlif6().f[0]++; + cov_1m92uxlif6().s[0]++; return { focusErrors: null }; }, mounted: function mounted() { - cov_20gejcf4ab().f[1]++; - cov_20gejcf4ab().s[1]++; + cov_1m92uxlif6().f[1]++; + cov_1m92uxlif6().s[1]++; // Listen only on the root Vue instance if (!this.$parent) { - cov_20gejcf4ab().b[0][0]++; - cov_20gejcf4ab().s[2]++; + cov_1m92uxlif6().b[0][0]++; + cov_1m92uxlif6().s[2]++; // Set the focus within any modal or popover that is instantiated this.$root.$on("bv::modal::shown", this.setFocusWithin); - cov_20gejcf4ab().s[3]++; + cov_1m92uxlif6().s[3]++; this.$root.$on("bv::popover::shown", this.setFocusWithin); } else { - cov_20gejcf4ab().b[0][1]++; + cov_1m92uxlif6().b[0][1]++; } - cov_20gejcf4ab().s[4]++; + cov_1m92uxlif6().s[4]++; if (this.focusErrors) { - cov_20gejcf4ab().b[1][0]++; - cov_20gejcf4ab().s[5]++; + cov_1m92uxlif6().b[1][0]++; + cov_1m92uxlif6().s[5]++; // watch an object for form errors this.$watch(this.focusErrors, this.focusErrorsChanged, { deep: true }); - cov_20gejcf4ab().s[6]++; + cov_1m92uxlif6().s[6]++; this.dontListenForApiClientError(); } else { - cov_20gejcf4ab().b[1][1]++; - cov_20gejcf4ab().s[7]++; + cov_1m92uxlif6().b[1][1]++; + cov_1m92uxlif6().s[7]++; // default api error focusing this.listenForApiClientError(); } @@ -5476,144 +5476,144 @@ cov_20gejcf4ab(); * @param modalId */ setFocusWithin: function setFocusWithin(shownEvent, modalId) { - cov_20gejcf4ab().f[2]++; - cov_20gejcf4ab().s[8]++; - if ((cov_20gejcf4ab().b[3][0]++, !(shownEvent.target instanceof HTMLElement)) && (cov_20gejcf4ab().b[3][1]++, !(shownEvent.relatedTarget instanceof HTMLElement))) { - cov_20gejcf4ab().b[2][0]++; - cov_20gejcf4ab().s[9]++; + cov_1m92uxlif6().f[2]++; + cov_1m92uxlif6().s[8]++; + if ((cov_1m92uxlif6().b[3][0]++, !(shownEvent.target instanceof HTMLElement)) && (cov_1m92uxlif6().b[3][1]++, !(shownEvent.relatedTarget instanceof HTMLElement))) { + cov_1m92uxlif6().b[2][0]++; + cov_1m92uxlif6().s[9]++; return; } else { - cov_20gejcf4ab().b[2][1]++; + cov_1m92uxlif6().b[2][1]++; } // If relatedTarget is present and an HTMLElement, // then we know we're working with a popover, // otherwise it's a modal - var target = (cov_20gejcf4ab().s[10]++, shownEvent.relatedTarget instanceof HTMLElement ? (cov_20gejcf4ab().b[4][0]++, shownEvent.relatedTarget) : (cov_20gejcf4ab().b[4][1]++, shownEvent.target)); + var target = (cov_1m92uxlif6().s[10]++, shownEvent.relatedTarget instanceof HTMLElement ? (cov_1m92uxlif6().b[4][0]++, shownEvent.relatedTarget) : (cov_1m92uxlif6().b[4][1]++, shownEvent.target)); // Find the first focusable element that isn't the // modal/popover close button - var focusableElement = (cov_20gejcf4ab().s[11]++, target.querySelector("input, select, textarea, button:not(.close), a")); + var focusableElement = (cov_1m92uxlif6().s[11]++, target.querySelector("input, select, textarea, button:not(.close), a")); // If there is an element to focus on, then do so - cov_20gejcf4ab().s[12]++; + cov_1m92uxlif6().s[12]++; if (focusableElement instanceof HTMLElement) { - cov_20gejcf4ab().b[5][0]++; + cov_1m92uxlif6().b[5][0]++; //do not set focus() if it is a vue-multiselect - var parentVue = (cov_20gejcf4ab().s[13]++, this.findHtmlElementParentVueComponent(focusableElement)); - cov_20gejcf4ab().s[14]++; - if ((cov_20gejcf4ab().b[7][0]++, parentVue !== null) && (cov_20gejcf4ab().b[7][1]++, parentVue.$options.name == 'vue-multiselect')) { - cov_20gejcf4ab().b[6][0]++; - cov_20gejcf4ab().s[15]++; + var parentVue = (cov_1m92uxlif6().s[13]++, this.findHtmlElementParentVueComponent(focusableElement)); + cov_1m92uxlif6().s[14]++; + if ((cov_1m92uxlif6().b[7][0]++, parentVue !== null) && (cov_1m92uxlif6().b[7][1]++, parentVue.$options.name == 'vue-multiselect')) { + cov_1m92uxlif6().b[6][0]++; + cov_1m92uxlif6().s[15]++; return; } else { - cov_20gejcf4ab().b[6][1]++; + cov_1m92uxlif6().b[6][1]++; } - cov_20gejcf4ab().s[16]++; + cov_1m92uxlif6().s[16]++; focusableElement.focus(); } else { - cov_20gejcf4ab().b[5][1]++; + cov_1m92uxlif6().b[5][1]++; } }, findHtmlElementParentVueComponent: function findHtmlElementParentVueComponent(element) { - cov_20gejcf4ab().f[3]++; - cov_20gejcf4ab().s[17]++; + cov_1m92uxlif6().f[3]++; + cov_1m92uxlif6().s[17]++; if (element === undefined) { - cov_20gejcf4ab().b[8][0]++; - cov_20gejcf4ab().s[18]++; + cov_1m92uxlif6().b[8][0]++; + cov_1m92uxlif6().s[18]++; return null; } else { - cov_20gejcf4ab().b[8][1]++; + cov_1m92uxlif6().b[8][1]++; } - cov_20gejcf4ab().s[19]++; + cov_1m92uxlif6().s[19]++; if ('__vue__' in element) { - cov_20gejcf4ab().b[9][0]++; - cov_20gejcf4ab().s[20]++; + cov_1m92uxlif6().b[9][0]++; + cov_1m92uxlif6().s[20]++; return element.__vue__; } else { - cov_20gejcf4ab().b[9][1]++; - cov_20gejcf4ab().s[21]++; + cov_1m92uxlif6().b[9][1]++; + cov_1m92uxlif6().s[21]++; return this.findHtmlElementParentVueComponent(element.parentNode); } }, hasCustomFocusErrors: function hasCustomFocusErrors() { - cov_20gejcf4ab().f[4]++; - cov_20gejcf4ab().s[22]++; + cov_1m92uxlif6().f[4]++; + cov_1m92uxlif6().s[22]++; if (this.$root._hasCustomFocusErrors) { - cov_20gejcf4ab().b[10][0]++; - cov_20gejcf4ab().s[23]++; + cov_1m92uxlif6().b[10][0]++; + cov_1m92uxlif6().s[23]++; this.$off; } else { - cov_20gejcf4ab().b[10][1]++; + cov_1m92uxlif6().b[10][1]++; } }, listenForApiClientError: function listenForApiClientError() { - cov_20gejcf4ab().f[5]++; - cov_20gejcf4ab().s[24]++; + cov_1m92uxlif6().f[5]++; + cov_1m92uxlif6().s[24]++; if (typeof window.ProcessMaker._focusErrorsIntitalized === "undefined") { - cov_20gejcf4ab().b[11][0]++; - cov_20gejcf4ab().s[25]++; + cov_1m92uxlif6().b[11][0]++; + cov_1m92uxlif6().s[25]++; window.ProcessMaker.EventBus.$on("api-client-error", this.onApiClientError); - cov_20gejcf4ab().s[26]++; + cov_1m92uxlif6().s[26]++; window.ProcessMaker._focusErrorsIntitalized = true; } else { - cov_20gejcf4ab().b[11][1]++; + cov_1m92uxlif6().b[11][1]++; } }, dontListenForApiClientError: function dontListenForApiClientError() { - cov_20gejcf4ab().f[6]++; - cov_20gejcf4ab().s[27]++; + cov_1m92uxlif6().f[6]++; + cov_1m92uxlif6().s[27]++; window.ProcessMaker.EventBus.$off("api-client-error", this.onApiClientError); - cov_20gejcf4ab().s[28]++; + cov_1m92uxlif6().s[28]++; window.ProcessMaker._focusErrorsIntitalized = true; }, onApiClientError: function onApiClientError(error) { - cov_20gejcf4ab().f[7]++; - var errors = (cov_20gejcf4ab().s[29]++, _.get(error, "response.data.errors", false)); - cov_20gejcf4ab().s[30]++; + cov_1m92uxlif6().f[7]++; + var errors = (cov_1m92uxlif6().s[29]++, _.get(error, "response.data.errors", false)); + cov_1m92uxlif6().s[30]++; if (errors) { - cov_20gejcf4ab().b[12][0]++; - cov_20gejcf4ab().s[31]++; + cov_1m92uxlif6().b[12][0]++; + cov_1m92uxlif6().s[31]++; this.focusErrorsChanged(errors); } else { - cov_20gejcf4ab().b[12][1]++; + cov_1m92uxlif6().b[12][1]++; } }, focusErrorsChanged: function focusErrorsChanged(newValue) { - cov_20gejcf4ab().f[8]++; - var selector = (cov_20gejcf4ab().s[32]++, Object.entries(newValue).filter(function (_ref) { + cov_1m92uxlif6().f[8]++; + var selector = (cov_1m92uxlif6().s[32]++, Object.entries(newValue).filter(function (_ref) { var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), _ = _ref2[0], value = _ref2[1]; - cov_20gejcf4ab().f[9]++; - cov_20gejcf4ab().s[33]++; + cov_1m92uxlif6().f[9]++; + cov_1m92uxlif6().s[33]++; return value !== null; }) // Filter out null values .map(function (_ref3) { var _ref4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref3, 2), field = _ref4[0], _ = _ref4[1]; - cov_20gejcf4ab().f[10]++; - cov_20gejcf4ab().s[34]++; + cov_1m92uxlif6().f[10]++; + cov_1m92uxlif6().s[34]++; return "[name='".concat(field, "']"); }) // Select elements matching the name attribute .join(", ")); - cov_20gejcf4ab().s[35]++; + cov_1m92uxlif6().s[35]++; if (!selector) { - cov_20gejcf4ab().b[13][0]++; - cov_20gejcf4ab().s[36]++; + cov_1m92uxlif6().b[13][0]++; + cov_1m92uxlif6().s[36]++; return; } else { - cov_20gejcf4ab().b[13][1]++; + cov_1m92uxlif6().b[13][1]++; } - var firstInput = (cov_20gejcf4ab().s[37]++, document.querySelector(selector)); // Find the first match - cov_20gejcf4ab().s[38]++; + var firstInput = (cov_1m92uxlif6().s[37]++, document.querySelector(selector)); // Find the first match + cov_1m92uxlif6().s[38]++; if (firstInput) { - cov_20gejcf4ab().b[14][0]++; - cov_20gejcf4ab().s[39]++; + cov_1m92uxlif6().b[14][0]++; + cov_1m92uxlif6().s[39]++; firstInput.focus(); } else { - cov_20gejcf4ab().b[14][1]++; + cov_1m92uxlif6().b[14][1]++; } } } @@ -5632,13 +5632,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ translate) /* harmony export */ }); -function cov_kcsn6du19() { - var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/modules/lang.js"; - var hash = "2cc2f52cbb98903a23b86bcdba9de5ccc6934daa"; +function cov_2rmq8yqjks() { + var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/modules/lang.js"; + var hash = "60dd3571884a36549a21e4082aea36122067deab"; var global = new Function("return this")(); var gcv = "__coverage__"; var coverageData = { - path: "/Users/sanjacornelius/Documents/processmaker/resources/js/modules/lang.js", + path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/modules/lang.js", statementMap: { "0": { start: { @@ -5686,7 +5686,7 @@ function cov_kcsn6du19() { }, b: {}, _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "2cc2f52cbb98903a23b86bcdba9de5ccc6934daa" + hash: "60dd3571884a36549a21e4082aea36122067deab" }; var coverage = global[gcv] || (global[gcv] = {}); if (!coverage[path] || coverage[path].hash !== hash) { @@ -5695,16 +5695,16 @@ function cov_kcsn6du19() { var actualCoverage = coverage[path]; { // @ts-ignore - cov_kcsn6du19 = function () { + cov_2rmq8yqjks = function () { return actualCoverage; }; } return actualCoverage; } -cov_kcsn6du19(); +cov_2rmq8yqjks(); function translate(value) { - cov_kcsn6du19().f[0]++; - cov_kcsn6du19().s[0]++; + cov_2rmq8yqjks().f[0]++; + cov_2rmq8yqjks().s[0]++; return value; } diff --git a/resources/fonts/pm-font/processmaker-font.scss b/resources/fonts/pm-font/processmaker-font.scss index e6e8bbda03..695ce401a4 100644 --- a/resources/fonts/pm-font/processmaker-font.scss +++ b/resources/fonts/pm-font/processmaker-font.scss @@ -1,4 +1,5 @@ @font-face {font-family: "processmaker-font"; + font-display: swap; src: url('processmaker-font.eot?t=1770239064379'); /* IE9*/ src: url('processmaker-font.eot?t=1770239064379#iefix') format('embedded-opentype'), /* IE6-IE8 */ url("processmaker-font.woff2?t=1770239064379") format("woff2"), diff --git a/resources/views/auth/layouts/auth.blade.php b/resources/views/auth/layouts/auth.blade.php index 6c32bd13a3..1448bb720e 100644 --- a/resources/views/auth/layouts/auth.blade.php +++ b/resources/views/auth/layouts/auth.blade.php @@ -9,7 +9,7 @@ @yield('title') - {{ __('ProcessMaker') }} - + @include('auth.partials.login-base-styles') @include('auth.partials.login-critical-styles') @include('auth.partials.auth-styles') diff --git a/resources/views/auth/newLogin.blade.php b/resources/views/auth/newLogin.blade.php index 00d898893e..a8672e465d 100644 --- a/resources/views/auth/newLogin.blade.php +++ b/resources/views/auth/newLogin.blade.php @@ -9,7 +9,7 @@ {{ __('Login') }} - {{ __('ProcessMaker') }} - + @include('auth.partials.login-base-styles') @include('auth.partials.login-critical-styles') @include('auth.partials.auth-styles') @include('auth.partials.login-extra-styles') @@ -59,13 +59,13 @@
- + @include('auth.partials.password-toggle-button', ['id' => 'togglePassword']) @if ($errors->has('password')) {{ $errors->first('password') }} @@ -174,5 +174,5 @@ function updateCapsLockWarning(event) { }); } -@include('auth.partials.auth-language-scripts') +@include('auth.partials.auth-language-scripts-minimal') diff --git a/resources/views/auth/partials/auth-language-scripts-minimal.blade.php b/resources/views/auth/partials/auth-language-scripts-minimal.blade.php index ffd2e23558..1b53e8f89a 100644 --- a/resources/views/auth/partials/auth-language-scripts-minimal.blade.php +++ b/resources/views/auth/partials/auth-language-scripts-minimal.blade.php @@ -5,6 +5,13 @@ @endforeach - + diff --git a/resources/views/auth/partials/auth-language-scripts.blade.php b/resources/views/auth/partials/auth-language-scripts.blade.php index 691bb566d0..30e1230252 100644 --- a/resources/views/auth/partials/auth-language-scripts.blade.php +++ b/resources/views/auth/partials/auth-language-scripts.blade.php @@ -1,4 +1,4 @@ - - - + + + @include('auth.partials.auth-language-scripts-minimal') diff --git a/resources/views/auth/partials/auth-styles.blade.php b/resources/views/auth/partials/auth-styles.blade.php index c3da7e4abf..35e9cf1fe1 100644 --- a/resources/views/auth/partials/auth-styles.blade.php +++ b/resources/views/auth/partials/auth-styles.blade.php @@ -51,7 +51,7 @@ .auth-card-title { color: #333333; font-size: 1.25rem; - font-weight: 600; + font-weight: 800; margin-bottom: 0.5rem; text-align: center; } @@ -90,7 +90,7 @@ .form-group label { color: #333333; font-size: 0.875rem; - font-weight: 500; + font-weight: 400; margin-bottom: 0.5rem; } @@ -111,7 +111,7 @@ color: #C66E00; display: inline-flex; font-size: 0.75rem; - font-weight: 500; + font-weight: 400; gap: 0.375rem; line-height: 1.25rem; white-space: nowrap; @@ -160,7 +160,7 @@ .auth-link { color: {{ color('primary') }}; font-size: 0.875rem; - font-weight: 500; + font-weight: 400; text-decoration: none; } @@ -177,7 +177,7 @@ .button-login { height: 50px; border-radius: 9px; - font-weight: 600; + font-weight: 800; font-size: 1rem; text-transform: none; } @@ -206,7 +206,7 @@ .slogan .head-text { text-transform: uppercase; - font-weight: 700; + font-weight: 800; color: #A6F252; margin: 0 0 1.5rem 0; font-size: 0.875rem; @@ -240,7 +240,7 @@ .slogan .subtext { color: #ffffff; font-size: 1rem; - font-weight: 300; + font-weight: 400; line-height: 1.75; max-width: 520px; margin-top: 0; @@ -256,7 +256,8 @@ } #togglePassword, - .toggle-password { + .toggle-password, + .password-toggle { position: absolute; top: 50%; right: 1rem; @@ -303,7 +304,7 @@ border-radius: 0 !important; color: #ffffff !important; font-size: 0.75rem !important; - font-weight: 500 !important; + font-weight: 400 !important; height: auto !important; line-height: 1 !important; padding: 0 !important; diff --git a/resources/views/auth/partials/icon-warning.blade.php b/resources/views/auth/partials/icon-warning.blade.php new file mode 100644 index 0000000000..b2987383bc --- /dev/null +++ b/resources/views/auth/partials/icon-warning.blade.php @@ -0,0 +1,3 @@ + diff --git a/resources/views/auth/partials/login-base-styles.blade.php b/resources/views/auth/partials/login-base-styles.blade.php new file mode 100644 index 0000000000..0212bf3d53 --- /dev/null +++ b/resources/views/auth/partials/login-base-styles.blade.php @@ -0,0 +1,51 @@ +{{-- + Auth-page CSS without app.css. + Only 2 font files on the critical path (Regular + ExtraBold for LCP). + Icons are inline SVG — no Font Awesome download (~77 KiB). +--}} + + + diff --git a/resources/views/auth/partials/login-critical-styles.blade.php b/resources/views/auth/partials/login-critical-styles.blade.php index 414cf61815..f03c262794 100644 --- a/resources/views/auth/partials/login-critical-styles.blade.php +++ b/resources/views/auth/partials/login-critical-styles.blade.php @@ -1,11 +1,6 @@ diff --git a/resources/views/auth/partials/login-extra-styles.blade.php b/resources/views/auth/partials/login-extra-styles.blade.php index a4ced842e2..f0db3ca029 100644 --- a/resources/views/auth/partials/login-extra-styles.blade.php +++ b/resources/views/auth/partials/login-extra-styles.blade.php @@ -79,7 +79,7 @@ .forgot-password-link { color: {{ color('primary') }}; font-size: 0.875rem; - font-weight: 500; + font-weight: 400; text-decoration: none; white-space: nowrap; } diff --git a/resources/views/auth/partials/password-toggle-button.blade.php b/resources/views/auth/partials/password-toggle-button.blade.php new file mode 100644 index 0000000000..cc9dd68676 --- /dev/null +++ b/resources/views/auth/partials/password-toggle-button.blade.php @@ -0,0 +1,16 @@ + diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php index b8257a549d..ee50d77362 100644 --- a/resources/views/auth/passwords/reset.blade.php +++ b/resources/views/auth/passwords/reset.blade.php @@ -50,7 +50,7 @@ class="form-control form-control-login"
@@ -62,7 +62,7 @@ class="form-control form-control-login{{ $errors->has('password') ? ' is-invalid name="password" placeholder="{{ __('Enter your new password') }}" required> - + @include('auth.partials.password-toggle-button', ['id' => 'togglePassword', 'class' => 'toggle-password']) @if ($errors->has('password')) {{ $errors->first('password') }} @@ -80,7 +80,7 @@ class="form-control form-control-login" name="password_confirmation" placeholder="{{ __('Confirm your new password') }}" required> - + @include('auth.partials.password-toggle-button', ['id' => 'togglePasswordConfirm', 'class' => 'toggle-password'])
diff --git a/resources/views/components/logo.blade.php b/resources/views/components/logo.blade.php index 6a1ab4c766..7c34509fbf 100644 --- a/resources/views/components/logo.blade.php +++ b/resources/views/components/logo.blade.php @@ -7,4 +7,4 @@ $class = 'login-logo-custom'; } @endphp -{{ config('logo-alt-text', 'ProcessMaker') }} +{{ config('logo-alt-text', 'ProcessMaker') }} From 900180903a55fcf25fe3087b7bdd3946d5801690 Mon Sep 17 00:00:00 2001 From: Rodrigo Date: Wed, 22 Jul 2026 09:35:05 -0400 Subject: [PATCH 2/3] fix: restore app-login.js --- public/builds/login/js/app-login.js | 86018 +++++++++++++------------- 1 file changed, 43009 insertions(+), 43009 deletions(-) diff --git a/public/builds/login/js/app-login.js b/public/builds/login/js/app-login.js index b6156abd6a..f894661374 100644 --- a/public/builds/login/js/app-login.js +++ b/public/builds/login/js/app-login.js @@ -1,3744 +1,3298 @@ (self["webpackChunk_processmaker_processmaker"] = self["webpackChunk_processmaker_processmaker"] || []).push([["/builds/login/js/app-login"],{ -/***/ "./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js": -/*!******************************************************************!*\ - !*** ./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js ***! - \******************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/es.js"); - - -var component = { - name: 'i18next', - functional: true, - props: { - tag: { - type: String, - default: 'span' - }, - path: { - type: String, - required: true + /***/ "./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js": + /*!******************************************************************!*\ + !*** ./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js ***! + \******************************************************************/ + /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + + "use strict"; + __webpack_require__.r(__webpack_exports__); + /* harmony export */ __webpack_require__.d(__webpack_exports__, { + /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) + /* harmony export */ }); + /* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/es.js"); + + + var component = { + name: 'i18next', + functional: true, + props: { + tag: { + type: String, + default: 'span' + }, + path: { + type: String, + required: true + }, + options: { + type: Object + } }, - options: { - type: Object - } - }, - render: function render(h, ref) { - var props = ref.props; - var data = ref.data; - var children = ref.children; - var parent = ref.parent; - - var i18next = parent.$i18n; - var $t = parent.$t.bind(parent); - if (!i18next || !$t) { - return h(props.tag, data, children); - } - - var path = props.path; - var options = props.options || {}; - - var REGEXP = i18next.i18next.services.interpolator.regexp; - var i18nextOptions = Object.assign({}, options, - {interpolation: { prefix: '#$?', suffix: '?$#' }}); - var format = $t(path, i18nextOptions); - var tchildren = []; - - format.split(REGEXP).reduce(function (memo, match, index) { - var child; - if (index % 2 === 0) { - if (match.length === 0) { return memo; } - - child = match; - } else { - var place = match.trim(); - // eslint-disable-next-line no-restricted-globals - if (isNaN(parseFloat(place)) || !isFinite(place)) { - children.forEach(function (e) { - if ( - !child && - e.data.attrs && - e.data.attrs.place && - e.data.attrs.place === place - ) { - child = e; - } - }); + render: function render(h, ref) { + var props = ref.props; + var data = ref.data; + var children = ref.children; + var parent = ref.parent; + + var i18next = parent.$i18n; + var $t = parent.$t.bind(parent); + if (!i18next || !$t) { + return h(props.tag, data, children); + } + + var path = props.path; + var options = props.options || {}; + + var REGEXP = i18next.i18next.services.interpolator.regexp; + var i18nextOptions = Object.assign({}, options, + {interpolation: { prefix: '#$?', suffix: '?$#' }}); + var format = $t(path, i18nextOptions); + var tchildren = []; + + format.split(REGEXP).reduce(function (memo, match, index) { + var child; + if (index % 2 === 0) { + if (match.length === 0) { return memo; } + + child = match; } else { - child = children[parseInt(match, 10)]; + var place = match.trim(); + // eslint-disable-next-line no-restricted-globals + if (isNaN(parseFloat(place)) || !isFinite(place)) { + children.forEach(function (e) { + if ( + !child && + e.data.attrs && + e.data.attrs.place && + e.data.attrs.place === place + ) { + child = e; + } + }); + } else { + child = children[parseInt(match, 10)]; + } } - } - - memo.push(child); - return memo; - }, tchildren); - - return h(props.tag, data, tchildren); - } -}; - -/* eslint-disable import/prefer-default-export */ - -function log(message) { - if (typeof console !== 'undefined') { - console.warn(message); // eslint-disable-line no-console - } -} - -function warn(message) { - log(("[vue-i18next warn]: " + message)); -} - -function deprecate(message) { - log(("[vue-i18next deprecated]: " + message)); -} - -/* eslint-disable no-param-reassign, no-unused-vars */ - -function equalLanguage(el, vnode) { - var vm = vnode.context; - return el._i18nLanguage === vm.$i18n.i18next.language; -} - -function equalValue(value, oldValue) { - if (value === oldValue) { - return true; + + memo.push(child); + return memo; + }, tchildren); + + return h(props.tag, data, tchildren); + } + }; + + /* eslint-disable import/prefer-default-export */ + + function log(message) { + if (typeof console !== 'undefined') { + console.warn(message); // eslint-disable-line no-console + } } - if (value && oldValue) { - return ( - value.path === oldValue.path && - value.language === oldValue.language && - value.args === oldValue.args - ); + + function warn(message) { + log(("[vue-i18next warn]: " + message)); } -} - -function assert(vnode) { - var vm = vnode.context; - - if (!vm.$i18n) { - warn('No VueI18Next instance found in the Vue instance'); - return false; + + function deprecate(message) { + log(("[vue-i18next deprecated]: " + message)); } - - return true; -} - -function parseValue(value) { - var assign; - - var path; - var language; - var args; - - if (typeof value === 'string') { - path = value; - } else if (toString.call(value) === '[object Object]') { - ((assign = value, path = assign.path, language = assign.language, args = assign.args)); + + /* eslint-disable no-param-reassign, no-unused-vars */ + + function equalLanguage(el, vnode) { + var vm = vnode.context; + return el._i18nLanguage === vm.$i18n.i18next.language; } - - return { path: path, language: language, args: args }; -} - -function t(el, binding, vnode) { - var value = binding.value; - - var ref = parseValue(value); - var path = ref.path; - var language = ref.language; - var args = ref.args; - if (!path && !language && !args) { - warn('v-t: invalid value'); - return; + + function equalValue(value, oldValue) { + if (value === oldValue) { + return true; + } + if (value && oldValue) { + return ( + value.path === oldValue.path && + value.language === oldValue.language && + value.args === oldValue.args + ); + } } - - if (!path) { - warn('v-t: "path" is required'); - return; + + function assert(vnode) { + var vm = vnode.context; + + if (!vm.$i18n) { + warn('No VueI18Next instance found in the Vue instance'); + return false; + } + + return true; } - - if (language) { - deprecate("v-t: \"language\" is deprecated.Use the \"lng\" property in args.\n https://www.i18next.com/overview/configuration-options#configuration-options"); + + function parseValue(value) { + var assign; + + var path; + var language; + var args; + + if (typeof value === 'string') { + path = value; + } else if (toString.call(value) === '[object Object]') { + ((assign = value, path = assign.path, language = assign.language, args = assign.args)); + } + + return { path: path, language: language, args: args }; } - - var vm = vnode.context; - el.textContent = vm.$i18n.i18next.t(path, Object.assign({}, (language ? { lng: language } : {}), - args)); - - el._i18nLanguage = vm.$i18n.i18next.language; -} - -function bind(el, binding, vnode) { - if (!assert(vnode)) { - return; + + function t(el, binding, vnode) { + var value = binding.value; + + var ref = parseValue(value); + var path = ref.path; + var language = ref.language; + var args = ref.args; + if (!path && !language && !args) { + warn('v-t: invalid value'); + return; + } + + if (!path) { + warn('v-t: "path" is required'); + return; + } + + if (language) { + deprecate("v-t: \"language\" is deprecated.Use the \"lng\" property in args.\n https://www.i18next.com/overview/configuration-options#configuration-options"); + } + + var vm = vnode.context; + el.textContent = vm.$i18n.i18next.t(path, Object.assign({}, (language ? { lng: language } : {}), + args)); + + el._i18nLanguage = vm.$i18n.i18next.language; } - - t(el, binding, vnode); -} - -function update(el, binding, vnode, oldVNode) { - if (equalLanguage(el, vnode) && equalValue(binding.value, binding.oldValue)) { - return; + + function bind(el, binding, vnode) { + if (!assert(vnode)) { + return; + } + + t(el, binding, vnode); } - - t(el, binding, vnode); -} - -var directive = { - bind: bind, - update: update -}; - -/* eslint-disable no-param-reassign, no-unused-vars */ - -function assert$1(vnode) { - var vm = vnode.context; - - if (!vm.$i18n) { - warn('No VueI18Next instance found in the Vue instance'); - return false; + + function update(el, binding, vnode, oldVNode) { + if (equalLanguage(el, vnode) && equalValue(binding.value, binding.oldValue)) { + return; + } + + t(el, binding, vnode); } - - return true; -} - -function waitForIt(el, vnode) { - if (vnode.context.$i18n.i18next.isInitialized) { - el.hidden = false; - } else { - el.hidden = true; - var initialized = function () { - vnode.context.$forceUpdate(); - // due to emitter removing issue in i18next we need to delay remove - setTimeout(function () { - if (vnode.context && vnode.context.$i18n) { - vnode.context.$i18n.i18next.off('initialized', initialized); - } - }, 1000); - }; - vnode.context.$i18n.i18next.on('initialized', initialized); + + var directive = { + bind: bind, + update: update + }; + + /* eslint-disable no-param-reassign, no-unused-vars */ + + function assert$1(vnode) { + var vm = vnode.context; + + if (!vm.$i18n) { + warn('No VueI18Next instance found in the Vue instance'); + return false; + } + + return true; } -} - -function bind$1(el, binding, vnode) { - if (!assert$1(vnode)) { - return; + + function waitForIt(el, vnode) { + if (vnode.context.$i18n.i18next.isInitialized) { + el.hidden = false; + } else { + el.hidden = true; + var initialized = function () { + vnode.context.$forceUpdate(); + // due to emitter removing issue in i18next we need to delay remove + setTimeout(function () { + if (vnode.context && vnode.context.$i18n) { + vnode.context.$i18n.i18next.off('initialized', initialized); + } + }, 1000); + }; + vnode.context.$i18n.i18next.on('initialized', initialized); + } } - - waitForIt(el, vnode); -} - -function update$1(el, binding, vnode, oldVNode) { - if (vnode.context.$i18n.i18next.isInitialized) { - el.hidden = false; + + function bind$1(el, binding, vnode) { + if (!assert$1(vnode)) { + return; + } + + waitForIt(el, vnode); } -} - -var waitDirective = { - bind: bind$1, - update: update$1 -}; - -/* eslint-disable import/no-mutable-exports */ - -var Vue; - -function install(_Vue) { - if (install.installed) { - return; + + function update$1(el, binding, vnode, oldVNode) { + if (vnode.context.$i18n.i18next.isInitialized) { + el.hidden = false; + } } - install.installed = true; - - Vue = _Vue; - - var getByKey = function (i18nOptions, i18nextOptions) { return function (key) { - if ( - i18nOptions && - i18nOptions.keyPrefix && - !key.includes(i18nextOptions.nsSeparator) - ) { - return ((i18nOptions.keyPrefix) + "." + key); - } - return key; - }; }; - - var getComponentNamespace = function (vm) { - var namespace = vm.$options.name || vm.$options._componentTag; - if (namespace) { + + var waitDirective = { + bind: bind$1, + update: update$1 + }; + + /* eslint-disable import/no-mutable-exports */ + + var Vue; + + function install(_Vue) { + if (install.installed) { + return; + } + install.installed = true; + + Vue = _Vue; + + var getByKey = function (i18nOptions, i18nextOptions) { return function (key) { + if ( + i18nOptions && + i18nOptions.keyPrefix && + !key.includes(i18nextOptions.nsSeparator) + ) { + return ((i18nOptions.keyPrefix) + "." + key); + } + return key; + }; }; + + var getComponentNamespace = function (vm) { + var namespace = vm.$options.name || vm.$options._componentTag; + if (namespace) { + return { + namespace: namespace, + loadNamespace: true + }; + } + return { - namespace: namespace, - loadNamespace: true + namespace: ("" + (Math.random())) }; - } - - return { - namespace: ("" + (Math.random())) }; - }; - - Vue.mixin({ - beforeCreate: function beforeCreate() { - var this$1 = this; - - var options = this.$options; - if (options.i18n) { - this._i18n = options.i18n; - } else if (options.parent && options.parent.$i18n) { - this._i18n = options.parent.$i18n; - } - var inlineTranslations = {}; - - if (this._i18n) { - var getNamespace = - this._i18n.options.getComponentNamespace || getComponentNamespace; - var ref = getNamespace(this); - var namespace = ref.namespace; - var loadNamespace = ref.loadNamespace; - - if (options.__i18n) { - options.__i18n.forEach(function (resource) { - inlineTranslations = (0,deepmerge__WEBPACK_IMPORTED_MODULE_0__["default"])( - inlineTranslations, - JSON.parse(resource) + + Vue.mixin({ + beforeCreate: function beforeCreate() { + var this$1 = this; + + var options = this.$options; + if (options.i18n) { + this._i18n = options.i18n; + } else if (options.parent && options.parent.$i18n) { + this._i18n = options.parent.$i18n; + } + var inlineTranslations = {}; + + if (this._i18n) { + var getNamespace = + this._i18n.options.getComponentNamespace || getComponentNamespace; + var ref = getNamespace(this); + var namespace = ref.namespace; + var loadNamespace = ref.loadNamespace; + + if (options.__i18n) { + options.__i18n.forEach(function (resource) { + inlineTranslations = (0,deepmerge__WEBPACK_IMPORTED_MODULE_0__["default"])( + inlineTranslations, + JSON.parse(resource) + ); + }); + } + + if (options.i18nOptions) { + var ref$1 = this.$options.i18nOptions; + var lng = ref$1.lng; if ( lng === void 0 ) lng = null; + var keyPrefix = ref$1.keyPrefix; if ( keyPrefix === void 0 ) keyPrefix = null; + var messages = ref$1.messages; + var ref$2 = this.$options.i18nOptions; + var namespaces = ref$2.namespaces; + namespaces = namespaces || this._i18n.i18next.options.defaultNS; + + if (typeof namespaces === 'string') { namespaces = [namespaces]; } + var namespacesToLoad = namespaces.concat([namespace]); + + if (messages) { + inlineTranslations = (0,deepmerge__WEBPACK_IMPORTED_MODULE_0__["default"])(inlineTranslations, messages); + } + + this._i18nOptions = { lng: lng, namespaces: namespacesToLoad, keyPrefix: keyPrefix }; + this._i18n.i18next.loadNamespaces(namespaces); + } else if (options.parent && options.parent._i18nOptions) { + this._i18nOptions = Object.assign({}, options.parent._i18nOptions); + this._i18nOptions.namespaces = [ + namespace ].concat( this._i18nOptions.namespaces ); - }); - } - - if (options.i18nOptions) { - var ref$1 = this.$options.i18nOptions; - var lng = ref$1.lng; if ( lng === void 0 ) lng = null; - var keyPrefix = ref$1.keyPrefix; if ( keyPrefix === void 0 ) keyPrefix = null; - var messages = ref$1.messages; - var ref$2 = this.$options.i18nOptions; - var namespaces = ref$2.namespaces; - namespaces = namespaces || this._i18n.i18next.options.defaultNS; - - if (typeof namespaces === 'string') { namespaces = [namespaces]; } - var namespacesToLoad = namespaces.concat([namespace]); - - if (messages) { - inlineTranslations = (0,deepmerge__WEBPACK_IMPORTED_MODULE_0__["default"])(inlineTranslations, messages); + } else if (options.__i18n) { + this._i18nOptions = { namespaces: [namespace] }; } - - this._i18nOptions = { lng: lng, namespaces: namespacesToLoad, keyPrefix: keyPrefix }; - this._i18n.i18next.loadNamespaces(namespaces); - } else if (options.parent && options.parent._i18nOptions) { - this._i18nOptions = Object.assign({}, options.parent._i18nOptions); - this._i18nOptions.namespaces = [ - namespace ].concat( this._i18nOptions.namespaces - ); - } else if (options.__i18n) { - this._i18nOptions = { namespaces: [namespace] }; + + if (loadNamespace && this._i18n.options.loadComponentNamespace) { + this._i18n.i18next.loadNamespaces([namespace]); + } + + var languages = Object.keys(inlineTranslations); + languages.forEach(function (lang) { + this$1._i18n.i18next.addResourceBundle( + lang, + namespace, + Object.assign({}, inlineTranslations[lang]), + true, + false + ); + }); } - - if (loadNamespace && this._i18n.options.loadComponentNamespace) { - this._i18n.i18next.loadNamespaces([namespace]); + + var getKey = getByKey( + this._i18nOptions, + this._i18n ? this._i18n.i18next.options : {} + ); + + if (this._i18nOptions && this._i18nOptions.namespaces) { + var ref$3 = this._i18nOptions; + var lng$1 = ref$3.lng; + var namespaces$1 = ref$3.namespaces; + + var fixedT = this._i18n.i18next.getFixedT(lng$1, namespaces$1); + this._getI18nKey = function (key, i18nextOptions) { return fixedT(getKey(key), i18nextOptions, this$1._i18n.i18nLoadedAt); }; + } else { + this._getI18nKey = function (key, i18nextOptions) { return this$1._i18n.t(getKey(key), i18nextOptions, this$1._i18n.i18nLoadedAt); }; } - - var languages = Object.keys(inlineTranslations); - languages.forEach(function (lang) { - this$1._i18n.i18next.addResourceBundle( - lang, - namespace, - Object.assign({}, inlineTranslations[lang]), - true, - false - ); - }); - } - - var getKey = getByKey( - this._i18nOptions, - this._i18n ? this._i18n.i18next.options : {} - ); - - if (this._i18nOptions && this._i18nOptions.namespaces) { - var ref$3 = this._i18nOptions; - var lng$1 = ref$3.lng; - var namespaces$1 = ref$3.namespaces; - - var fixedT = this._i18n.i18next.getFixedT(lng$1, namespaces$1); - this._getI18nKey = function (key, i18nextOptions) { return fixedT(getKey(key), i18nextOptions, this$1._i18n.i18nLoadedAt); }; - } else { - this._getI18nKey = function (key, i18nextOptions) { return this$1._i18n.t(getKey(key), i18nextOptions, this$1._i18n.i18nLoadedAt); }; - } - } - }); - - // extend Vue.js - if (!Object.prototype.hasOwnProperty.call(Vue.prototype, '$i18n')) { - Object.defineProperty(Vue.prototype, '$i18n', { - get: function get() { - return this._i18n; } }); - } - - Vue.prototype.$t = function t(key, options) { - return this._getI18nKey(key, options); - }; - - Vue.component(component.name, component); - Vue.directive('t', directive); - Vue.directive('waitForT', waitDirective); -} - -var VueI18n = function VueI18n(i18next, opts) { - if ( opts === void 0 ) opts = {}; - - var options = Object.assign({}, {bindI18n: 'languageChanged loaded', - bindStore: 'added removed', - loadComponentNamespace: false}, - opts); - - this._vm = null; - this.i18next = i18next; - this.options = options; - - this.onI18nChanged = this.onI18nChanged.bind(this); - - if (options.bindI18n) { - this.i18next.on(options.bindI18n, this.onI18nChanged); - } - if (options.bindStore && this.i18next.store) { - this.i18next.store.on(options.bindStore, this.onI18nChanged); - } - - this.resetVM({ i18nLoadedAt: new Date() }); -}; - -var prototypeAccessors = { i18nLoadedAt: { configurable: true } }; - -VueI18n.prototype.resetVM = function resetVM (data) { - var oldVM = this._vm; - var ref = Vue.config; - var silent = ref.silent; - Vue.config.silent = true; - this._vm = new Vue({ data: data }); - Vue.config.silent = silent; - if (oldVM) { - Vue.nextTick(function () { return oldVM.$destroy(); }); - } -}; - -prototypeAccessors.i18nLoadedAt.get = function () { - return this._vm.$data.i18nLoadedAt; -}; - -prototypeAccessors.i18nLoadedAt.set = function (date) { - this._vm.$set(this._vm, 'i18nLoadedAt', date); -}; - -VueI18n.prototype.t = function t (key, options) { - return this.i18next.t(key, options); -}; - -VueI18n.prototype.onI18nChanged = function onI18nChanged () { - this.i18nLoadedAt = new Date(); -}; - -Object.defineProperties( VueI18n.prototype, prototypeAccessors ); - -VueI18n.install = install; -VueI18n.version = "0.15.2"; - -/* istanbul ignore if */ -if (typeof window !== 'undefined' && window.Vue) { - window.Vue.use(VueI18n); -} - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VueI18n); - - -/***/ }), - -/***/ "./node_modules/axios/index.js": -/*!*************************************!*\ - !*** ./node_modules/axios/index.js ***! - \*************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); - -/***/ }), - -/***/ "./node_modules/axios/lib/adapters/xhr.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/adapters/xhr.js ***! - \************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); -var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); -var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); -var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); -var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); -var transitionalDefaults = __webpack_require__(/*! ../defaults/transitional */ "./node_modules/axios/lib/defaults/transitional.js"); -var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); -var CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); -var parseProtocol = __webpack_require__(/*! ../helpers/parseProtocol */ "./node_modules/axios/lib/helpers/parseProtocol.js"); - -module.exports = function xhrAdapter(config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = config.headers; - var responseType = config.responseType; - var onCanceled; - function done() { - if (config.cancelToken) { - config.cancelToken.unsubscribe(onCanceled); - } - - if (config.signal) { - config.signal.removeEventListener('abort', onCanceled); - } + + // extend Vue.js + if (!Object.prototype.hasOwnProperty.call(Vue.prototype, '$i18n')) { + Object.defineProperty(Vue.prototype, '$i18n', { + get: function get() { + return this._i18n; + } + }); } - - if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) { - delete requestHeaders['Content-Type']; // Let the browser set it + + Vue.prototype.$t = function t(key, options) { + return this._getI18nKey(key, options); + }; + + Vue.component(component.name, component); + Vue.directive('t', directive); + Vue.directive('waitForT', waitDirective); + } + + var VueI18n = function VueI18n(i18next, opts) { + if ( opts === void 0 ) opts = {}; + + var options = Object.assign({}, {bindI18n: 'languageChanged loaded', + bindStore: 'added removed', + loadComponentNamespace: false}, + opts); + + this._vm = null; + this.i18next = i18next; + this.options = options; + + this.onI18nChanged = this.onI18nChanged.bind(this); + + if (options.bindI18n) { + this.i18next.on(options.bindI18n, this.onI18nChanged); } - - var request = new XMLHttpRequest(); - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; - requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + if (options.bindStore && this.i18next.store) { + this.i18next.store.on(options.bindStore, this.onI18nChanged); } - - var fullPath = buildFullPath(config.baseURL, config.url); - - request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - - function onloadend() { - if (!request) { - return; - } - // Prepare the response - var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; - var responseData = !responseType || responseType === 'text' || responseType === 'json' ? - request.responseText : request.response; - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - - settle(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - - // Clean up request - request = null; + + this.resetVM({ i18nLoadedAt: new Date() }); + }; + + var prototypeAccessors = { i18nLoadedAt: { configurable: true } }; + + VueI18n.prototype.resetVM = function resetVM (data) { + var oldVM = this._vm; + var ref = Vue.config; + var silent = ref.silent; + Vue.config.silent = true; + this._vm = new Vue({ data: data }); + Vue.config.silent = silent; + if (oldVM) { + Vue.nextTick(function () { return oldVM.$destroy(); }); } - - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { + }; + + prototypeAccessors.i18nLoadedAt.get = function () { + return this._vm.$data.i18nLoadedAt; + }; + + prototypeAccessors.i18nLoadedAt.set = function (date) { + this._vm.$set(this._vm, 'i18nLoadedAt', date); + }; + + VueI18n.prototype.t = function t (key, options) { + return this.i18next.t(key, options); + }; + + VueI18n.prototype.onI18nChanged = function onI18nChanged () { + this.i18nLoadedAt = new Date(); + }; + + Object.defineProperties( VueI18n.prototype, prototypeAccessors ); + + VueI18n.install = install; + VueI18n.version = "0.15.2"; + + /* istanbul ignore if */ + if (typeof window !== 'undefined' && window.Vue) { + window.Vue.use(VueI18n); + } + + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VueI18n); + + + /***/ }), + + /***/ "./node_modules/axios/index.js": + /*!*************************************!*\ + !*** ./node_modules/axios/index.js ***! + \*************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js"); + + /***/ }), + + /***/ "./node_modules/axios/lib/adapters/xhr.js": + /*!************************************************!*\ + !*** ./node_modules/axios/lib/adapters/xhr.js ***! + \************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); + var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); + var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); + var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); + var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); + var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); + var transitionalDefaults = __webpack_require__(/*! ../defaults/transitional */ "./node_modules/axios/lib/defaults/transitional.js"); + var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + var CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); + var parseProtocol = __webpack_require__(/*! ../helpers/parseProtocol */ "./node_modules/axios/lib/helpers/parseProtocol.js"); + + module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + var responseType = config.responseType; + var onCanceled; + function done() { + if (config.cancelToken) { + config.cancelToken.unsubscribe(onCanceled); + } + + if (config.signal) { + config.signal.removeEventListener('abort', onCanceled); + } + } + + if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + var fullPath = buildFullPath(config.baseURL, config.url); + + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + function onloadend() { + if (!request) { return; } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { return; } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); + + reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); + + // Clean up request + request = null; }; - } - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + var transitional = config.transitional || transitionalDefaults; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(new AxiosError( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, + config, + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = config.responseType; + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken || config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = function(cancel) { + if (!request) { + return; + } + reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel); + request.abort(); + request = null; + }; + + config.cancelToken && config.cancelToken.subscribe(onCanceled); + if (config.signal) { + config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); + } + } + + if (!requestData) { + requestData = null; + } + + var protocol = parseProtocol(fullPath); + + if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) { + reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); return; } - - reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); - - // Clean up request - request = null; + + + // Send the request + request.send(requestData); + }); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/axios.js": + /*!*****************************************!*\ + !*** ./node_modules/axios/lib/axios.js ***! + \*****************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); + var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); + var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); + var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); + var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults/index.js"); + + /** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ + function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance(mergeConfig(defaultConfig, instanceConfig)); }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; - var transitional = config.transitional || transitionalDefaults; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; - } - reject(new AxiosError( - timeoutErrorMessage, - transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, - config, - request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (utils.isStandardBrowserEnv()) { - // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? - cookies.read(config.xsrfCookieName) : - undefined; - - if (xsrfValue) { - requestHeaders[config.xsrfHeaderName] = xsrfValue; - } - } - - // Add headers to the request - if ('setRequestHeader' in request) { - utils.forEach(requestHeaders, function setRequestHeader(val, key) { - if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { - // Remove Content-Type if data is undefined - delete requestHeaders[key]; - } else { - // Otherwise add header to the request - request.setRequestHeader(key, val); - } - }); - } - - // Add withCredentials to request if needed - if (!utils.isUndefined(config.withCredentials)) { - request.withCredentials = !!config.withCredentials; - } - - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = config.responseType; - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', config.onDownloadProgress); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', config.onUploadProgress); - } - - if (config.cancelToken || config.signal) { - // Handle cancellation + + return instance; + } + + // Create the default instance to be exported + var axios = createInstance(defaults); + + // Expose Axios class to allow class inheritance + axios.Axios = Axios; + + // Expose Cancel & CancelToken + axios.CanceledError = __webpack_require__(/*! ./cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); + axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); + axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); + axios.VERSION = (__webpack_require__(/*! ./env/data */ "./node_modules/axios/lib/env/data.js").version); + axios.toFormData = __webpack_require__(/*! ./helpers/toFormData */ "./node_modules/axios/lib/helpers/toFormData.js"); + + // Expose AxiosError class + axios.AxiosError = __webpack_require__(/*! ../lib/core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + + // alias for CanceledError for backward compatibility + axios.Cancel = axios.CanceledError; + + // Expose all/spread + axios.all = function all(promises) { + return Promise.all(promises); + }; + axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); + + // Expose isAxiosError + axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js"); + + module.exports = axios; + + // Allow use of default import syntax in TypeScript + module.exports["default"] = axios; + + + /***/ }), + + /***/ "./node_modules/axios/lib/cancel/CancelToken.js": + /*!******************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var CanceledError = __webpack_require__(/*! ./CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); + + /** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ + function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + + // eslint-disable-next-line func-names + this.promise.then(function(cancel) { + if (!token._listeners) return; + + var i; + var l = token._listeners.length; + + for (i = 0; i < l; i++) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = function(onfulfilled) { + var _resolve; // eslint-disable-next-line func-names - onCanceled = function(cancel) { - if (!request) { - return; - } - reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel); - request.abort(); - request = null; + var promise = new Promise(function(resolve) { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); }; - - config.cancelToken && config.cancelToken.subscribe(onCanceled); - if (config.signal) { - config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); + + return promise; + }; + + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; } + + token.reason = new CanceledError(message); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; } - - if (!requestData) { - requestData = null; - } - - var protocol = parseProtocol(fullPath); - - if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) { - reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); + }; + + /** + * Subscribe to the cancel signal + */ + + CancelToken.prototype.subscribe = function subscribe(listener) { + if (this.reason) { + listener(this.reason); return; } - - - // Send the request - request.send(requestData); - }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/axios.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/axios.js ***! - \*****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js"); -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js"); -var mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults/index.js"); - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - // Factory for creating new instances - instance.create = function create(instanceConfig) { - return createInstance(mergeConfig(defaultConfig, instanceConfig)); - }; - - return instance; -} - -// Create the default instance to be exported -var axios = createInstance(defaults); - -// Expose Axios class to allow class inheritance -axios.Axios = Axios; - -// Expose Cancel & CancelToken -axios.CanceledError = __webpack_require__(/*! ./cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); -axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js"); -axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); -axios.VERSION = (__webpack_require__(/*! ./env/data */ "./node_modules/axios/lib/env/data.js").version); -axios.toFormData = __webpack_require__(/*! ./helpers/toFormData */ "./node_modules/axios/lib/helpers/toFormData.js"); - -// Expose AxiosError class -axios.AxiosError = __webpack_require__(/*! ../lib/core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); - -// alias for CanceledError for backward compatibility -axios.Cancel = axios.CanceledError; - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js"); - -// Expose isAxiosError -axios.isAxiosError = __webpack_require__(/*! ./helpers/isAxiosError */ "./node_modules/axios/lib/helpers/isAxiosError.js"); - -module.exports = axios; - -// Allow use of default import syntax in TypeScript -module.exports["default"] = axios; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CancelToken.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var CanceledError = __webpack_require__(/*! ./CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ -function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - - // eslint-disable-next-line func-names - this.promise.then(function(cancel) { - if (!token._listeners) return; - - var i; - var l = token._listeners.length; - - for (i = 0; i < l; i++) { - token._listeners[i](cancel); + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; } - token._listeners = null; - }); - - // eslint-disable-next-line func-names - this.promise.then = function(onfulfilled) { - var _resolve; - // eslint-disable-next-line func-names - var promise = new Promise(function(resolve) { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - - return promise; }; - - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested + + /** + * Unsubscribe from the cancel signal + */ + + CancelToken.prototype.unsubscribe = function unsubscribe(listener) { + if (!this._listeners) { return; } - - token.reason = new CanceledError(message); - resolvePromise(token.reason); - }); -} - -/** - * Throws a `CanceledError` if cancellation has been requested. - */ -CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } -}; - -/** - * Subscribe to the cancel signal - */ - -CancelToken.prototype.subscribe = function subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } -}; - -/** - * Unsubscribe from the cancel signal - */ - -CancelToken.prototype.unsubscribe = function unsubscribe(listener) { - if (!this._listeners) { - return; - } - var index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } -}; - -/** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ -CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel + var index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } }; -}; - -module.exports = CancelToken; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/CanceledError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! - \********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ -function CanceledError(message) { - // eslint-disable-next-line no-eq-null,eqeqeq - AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED); - this.name = 'CanceledError'; -} - -utils.inherits(CanceledError, AxiosError, { - __CANCEL__: true -}); - -module.exports = CanceledError; - - -/***/ }), - -/***/ "./node_modules/axios/lib/cancel/isCancel.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/cancel/isCancel.js ***! - \***************************************************/ -/***/ ((module) => { - -"use strict"; - - -module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/Axios.js": -/*!**********************************************!*\ - !*** ./node_modules/axios/lib/core/Axios.js ***! - \**********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); -var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); -var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); -var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); -var buildFullPath = __webpack_require__(/*! ./buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); -var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); - -var validators = validator.validators; -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - */ -function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; }; -} - -/** - * Dispatch a request - * - * @param {Object} config The config specific for this request (merged with this.defaults) - */ -Axios.prototype.request = function request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - - config = mergeConfig(this.defaults, config); - - // Set config.method - if (config.method) { - config.method = config.method.toLowerCase(); - } else if (this.defaults.method) { - config.method = this.defaults.method.toLowerCase(); - } else { - config.method = 'get'; - } - - var transitional = config.transitional; - - if (transitional !== undefined) { - validator.assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); + + module.exports = CancelToken; + + + /***/ }), + + /***/ "./node_modules/axios/lib/cancel/CanceledError.js": + /*!********************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! + \********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + + /** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ + function CanceledError(message) { + // eslint-disable-next-line no-eq-null,eqeqeq + AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED); + this.name = 'CanceledError'; } - - // filter out skipped interceptors - var requestInterceptorChain = []; - var synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; - } - - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + + utils.inherits(CanceledError, AxiosError, { + __CANCEL__: true }); - - var responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - - var promise; - - if (!synchronousRequestInterceptors) { - var chain = [dispatchRequest, undefined]; - - Array.prototype.unshift.apply(chain, requestInterceptorChain); - chain = chain.concat(responseInterceptorChain); - - promise = Promise.resolve(config); - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); - } - - return promise; + + module.exports = CanceledError; + + + /***/ }), + + /***/ "./node_modules/axios/lib/cancel/isCancel.js": + /*!***************************************************!*\ + !*** ./node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************/ + /***/ ((module) => { + + "use strict"; + + + module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/Axios.js": + /*!**********************************************!*\ + !*** ./node_modules/axios/lib/core/Axios.js ***! + \**********************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + var buildURL = __webpack_require__(/*! ../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); + var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js"); + var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js"); + var mergeConfig = __webpack_require__(/*! ./mergeConfig */ "./node_modules/axios/lib/core/mergeConfig.js"); + var buildFullPath = __webpack_require__(/*! ./buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); + var validator = __webpack_require__(/*! ../helpers/validator */ "./node_modules/axios/lib/helpers/validator.js"); + + var validators = validator.validators; + /** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ + function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; } - - - var newConfig = config; - while (requestInterceptorChain.length) { - var onFulfilled = requestInterceptorChain.shift(); - var onRejected = requestInterceptorChain.shift(); + + /** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ + Axios.prototype.request = function request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + var transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + try { - newConfig = onFulfilled(newConfig); + promise = dispatchRequest(newConfig); } catch (error) { - onRejected(error); - break; + return Promise.reject(error); } - } - - try { - promise = dispatchRequest(newConfig); - } catch (error) { - return Promise.reject(error); - } - - while (responseInterceptorChain.length) { - promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); - } - - return promise; -}; - -Axios.prototype.getUri = function getUri(config) { - config = mergeConfig(this.defaults, config); - var fullPath = buildFullPath(config.baseURL, config.url); - return buildURL(fullPath, config.params, config.paramsSerializer); -}; - -// Provide aliases for supported request methods -utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(mergeConfig(config || {}, { - method: method, - url: url, - data: (config || {}).data - })); + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + + return promise; }; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - - function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { + + Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + var fullPath = buildFullPath(config.baseURL, config.url); + return buildURL(fullPath, config.params, config.paramsSerializer); + }; + + // Provide aliases for supported request methods + utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { return this.request(mergeConfig(config || {}, { method: method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, url: url, - data: data + data: (config || {}).data })); }; - } - - Axios.prototype[method] = generateHTTPMethod(); - - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); -}); - -module.exports = Axios; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/AxiosError.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/core/AxiosError.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [config] The config. - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * @returns {Error} The created error. - */ -function AxiosError(message, code, config, request, response) { - Error.call(this); - this.message = message; - this.name = 'AxiosError'; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - response && (this.response = response); -} - -utils.inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: this.config, - code: this.code, - status: this.response && this.response.status ? this.response.status : null - }; - } -}); - -var prototype = AxiosError.prototype; -var descriptors = {}; - -[ - 'ERR_BAD_OPTION_VALUE', - 'ERR_BAD_OPTION', - 'ECONNABORTED', - 'ETIMEDOUT', - 'ERR_NETWORK', - 'ERR_FR_TOO_MANY_REDIRECTS', - 'ERR_DEPRECATED', - 'ERR_BAD_RESPONSE', - 'ERR_BAD_REQUEST', - 'ERR_CANCELED' -// eslint-disable-next-line func-names -].forEach(function(code) { - descriptors[code] = {value: code}; -}); - -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, 'isAxiosError', {value: true}); - -// eslint-disable-next-line func-names -AxiosError.from = function(error, code, config, request, response, customProps) { - var axiosError = Object.create(prototype); - - utils.toFlatObject(error, axiosError, function filter(obj) { - return obj !== Error.prototype; - }); - - AxiosError.call(axiosError, error.message, code, config, request, response); - - axiosError.name = error.name; - - customProps && Object.assign(axiosError, customProps); - - return axiosError; -}; - -module.exports = AxiosError; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/InterceptorManager.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -function InterceptorManager() { - this.handlers = []; -} - -/** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ -InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null }); - return this.handlers.length - 1; -}; - -/** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ -InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } -}; - -/** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ -InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url: url, + data: data + })); + }; } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); }); -}; - -module.exports = InterceptorManager; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/buildFullPath.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/buildFullPath.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); - -/** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * @returns {string} The combined full path - */ -module.exports = function buildFullPath(baseURL, requestedURL) { - if (baseURL && !isAbsoluteURL(requestedURL)) { - return combineURLs(baseURL, requestedURL); - } - return requestedURL; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/dispatchRequest.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! - \********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); -var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); -var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults/index.js"); -var CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); - -/** - * Throws a `CanceledError` if cancellation has been requested. - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); + + module.exports = Axios; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/AxiosError.js": + /*!***************************************************!*\ + !*** ./node_modules/axios/lib/core/AxiosError.js ***! + \***************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + + /** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ + function AxiosError(message, code, config, request, response) { + Error.call(this); + this.message = message; + this.name = 'AxiosError'; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + response && (this.response = response); } - - if (config.signal && config.signal.aborted) { - throw new CanceledError(); + + utils.inherits(AxiosError, Error, { + toJSON: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code, + status: this.response && this.response.status ? this.response.status : null + }; + } + }); + + var prototype = AxiosError.prototype; + var descriptors = {}; + + [ + 'ERR_BAD_OPTION_VALUE', + 'ERR_BAD_OPTION', + 'ECONNABORTED', + 'ETIMEDOUT', + 'ERR_NETWORK', + 'ERR_FR_TOO_MANY_REDIRECTS', + 'ERR_DEPRECATED', + 'ERR_BAD_RESPONSE', + 'ERR_BAD_REQUEST', + 'ERR_CANCELED' + // eslint-disable-next-line func-names + ].forEach(function(code) { + descriptors[code] = {value: code}; + }); + + Object.defineProperties(AxiosError, descriptors); + Object.defineProperty(prototype, 'isAxiosError', {value: true}); + + // eslint-disable-next-line func-names + AxiosError.from = function(error, code, config, request, response, customProps) { + var axiosError = Object.create(prototype); + + utils.toFlatObject(error, axiosError, function filter(obj) { + return obj !== Error.prototype; + }); + + AxiosError.call(axiosError, error.message, code, config, request, response); + + axiosError.name = error.name; + + customProps && Object.assign(axiosError, customProps); + + return axiosError; + }; + + module.exports = AxiosError; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/InterceptorManager.js": + /*!***********************************************************!*\ + !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + function InterceptorManager() { + this.handlers = []; } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ -module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData.call( - config, - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + InterceptorManager.prototype.use = function use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + }; + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ + InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then(function onAdapterResolution(response) { + }; + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ + InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + }; + + module.exports = InterceptorManager; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/buildFullPath.js": + /*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); + var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); + + /** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ + module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/dispatchRequest.js": + /*!********************************************************!*\ + !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); + var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); + var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults/index.js"); + var CanceledError = __webpack_require__(/*! ../cancel/CanceledError */ "./node_modules/axios/lib/cancel/CanceledError.js"); + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new CanceledError(); + } + } + + /** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ + module.exports = function dispatchRequest(config) { throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData.call( + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData.call( config, - response.data, - response.headers, - config.transformResponse + config.data, + config.headers, + config.transformRequest ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { throwIfCancellationRequested(config); - + // Transform response data - if (reason && reason.response) { - reason.response.data = transformData.call( - config, - reason.response.data, - reason.response.headers, - config.transformResponse - ); + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/mergeConfig.js": + /*!****************************************************!*\ + !*** ./node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + + /** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ + module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); } + return source; } - - return Promise.reject(reason); - }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/mergeConfig.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/core/mergeConfig.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * @returns {Object} New object resulting from merging config2 to config1 - */ -module.exports = function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - var config = {}; - - function getMergedValue(target, source) { - if (utils.isPlainObject(target) && utils.isPlainObject(source)) { - return utils.merge(target, source); - } else if (utils.isPlainObject(source)) { - return utils.merge({}, source); - } else if (utils.isArray(source)) { - return source.slice(); + + // eslint-disable-next-line consistent-return + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + return getMergedValue(undefined, config1[prop]); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(undefined, config2[prop]); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + return getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + return getMergedValue(undefined, config1[prop]); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(prop) { + if (prop in config2) { + return getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + return getMergedValue(undefined, config1[prop]); + } + } + + var mergeMap = { + 'url': valueFromConfig2, + 'method': valueFromConfig2, + 'data': valueFromConfig2, + 'baseURL': defaultToConfig2, + 'transformRequest': defaultToConfig2, + 'transformResponse': defaultToConfig2, + 'paramsSerializer': defaultToConfig2, + 'timeout': defaultToConfig2, + 'timeoutMessage': defaultToConfig2, + 'withCredentials': defaultToConfig2, + 'adapter': defaultToConfig2, + 'responseType': defaultToConfig2, + 'xsrfCookieName': defaultToConfig2, + 'xsrfHeaderName': defaultToConfig2, + 'onUploadProgress': defaultToConfig2, + 'onDownloadProgress': defaultToConfig2, + 'decompress': defaultToConfig2, + 'maxContentLength': defaultToConfig2, + 'maxBodyLength': defaultToConfig2, + 'beforeRedirect': defaultToConfig2, + 'transport': defaultToConfig2, + 'httpAgent': defaultToConfig2, + 'httpsAgent': defaultToConfig2, + 'cancelToken': defaultToConfig2, + 'socketPath': defaultToConfig2, + 'responseEncoding': defaultToConfig2, + 'validateStatus': mergeDirectKeys + }; + + utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { + var merge = mergeMap[prop] || mergeDeepProperties; + var configValue = merge(prop); + (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/settle.js": + /*!***********************************************!*\ + !*** ./node_modules/axios/lib/core/settle.js ***! + \***********************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var AxiosError = __webpack_require__(/*! ./AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + + /** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ + module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new AxiosError( + 'Request failed with status code ' + response.status, + [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + response.config, + response.request, + response + )); } - return source; - } - - // eslint-disable-next-line consistent-return - function mergeDeepProperties(prop) { - if (!utils.isUndefined(config2[prop])) { - return getMergedValue(config1[prop], config2[prop]); - } else if (!utils.isUndefined(config1[prop])) { - return getMergedValue(undefined, config1[prop]); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/core/transformData.js": + /*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/transformData.js ***! + \******************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults/index.js"); + + /** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ + module.exports = function transformData(data, headers, fns) { + var context = this || defaults; + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn.call(context, data, headers); + }); + + return data; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/defaults/index.js": + /*!**************************************************!*\ + !*** ./node_modules/axios/lib/defaults/index.js ***! + \**************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + var normalizeHeaderName = __webpack_require__(/*! ../helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); + var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + var transitionalDefaults = __webpack_require__(/*! ./transitional */ "./node_modules/axios/lib/defaults/transitional.js"); + var toFormData = __webpack_require__(/*! ../helpers/toFormData */ "./node_modules/axios/lib/helpers/toFormData.js"); + + var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' + }; + + function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; } } - - // eslint-disable-next-line consistent-return - function valueFromConfig2(prop) { - if (!utils.isUndefined(config2[prop])) { - return getMergedValue(undefined, config2[prop]); - } + + function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(/*! ../adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__(/*! ../adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); + } + return adapter; } - - // eslint-disable-next-line consistent-return - function defaultToConfig2(prop) { - if (!utils.isUndefined(config2[prop])) { - return getMergedValue(undefined, config2[prop]); - } else if (!utils.isUndefined(config1[prop])) { - return getMergedValue(undefined, config1[prop]); + + function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } } + + return (encoder || JSON.stringify)(rawValue); } - - // eslint-disable-next-line consistent-return - function mergeDirectKeys(prop) { - if (prop in config2) { - return getMergedValue(config1[prop], config2[prop]); - } else if (prop in config1) { - return getMergedValue(undefined, config1[prop]); + + var defaults = { + + transitional: transitionalDefaults, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + + var isObjectPayload = utils.isObject(data); + var contentType = headers && headers['Content-Type']; + + var isFileList; + + if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) { + var _FormData = this.env && this.env.FormData; + return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData()); + } else if (isObjectPayload || contentType === 'application/json') { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); + } + + return data; + }], + + transformResponse: [function transformResponse(data) { + var transitional = this.transitional || defaults.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: __webpack_require__(/*! ./env/FormData */ "./node_modules/axios/lib/helpers/null.js") + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + 'Accept': 'application/json, text/plain, */*' + } } - } - - var mergeMap = { - 'url': valueFromConfig2, - 'method': valueFromConfig2, - 'data': valueFromConfig2, - 'baseURL': defaultToConfig2, - 'transformRequest': defaultToConfig2, - 'transformResponse': defaultToConfig2, - 'paramsSerializer': defaultToConfig2, - 'timeout': defaultToConfig2, - 'timeoutMessage': defaultToConfig2, - 'withCredentials': defaultToConfig2, - 'adapter': defaultToConfig2, - 'responseType': defaultToConfig2, - 'xsrfCookieName': defaultToConfig2, - 'xsrfHeaderName': defaultToConfig2, - 'onUploadProgress': defaultToConfig2, - 'onDownloadProgress': defaultToConfig2, - 'decompress': defaultToConfig2, - 'maxContentLength': defaultToConfig2, - 'maxBodyLength': defaultToConfig2, - 'beforeRedirect': defaultToConfig2, - 'transport': defaultToConfig2, - 'httpAgent': defaultToConfig2, - 'httpsAgent': defaultToConfig2, - 'cancelToken': defaultToConfig2, - 'socketPath': defaultToConfig2, - 'responseEncoding': defaultToConfig2, - 'validateStatus': mergeDirectKeys }; - - utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) { - var merge = mergeMap[prop] || mergeDeepProperties; - var configValue = merge(prop); - (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + + utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; }); - - return config; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/settle.js": -/*!***********************************************!*\ - !*** ./node_modules/axios/lib/core/settle.js ***! - \***********************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var AxiosError = __webpack_require__(/*! ./AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); - -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - */ -module.exports = function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(new AxiosError( - 'Request failed with status code ' + response.status, - [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], - response.config, - response.request, - response - )); - } -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/core/transformData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/core/transformData.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); -var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults/index.js"); - -/** - * Transform the data for a request or a response - * - * @param {Object|String} data The data to be transformed - * @param {Array} headers The headers for the request or response - * @param {Array|Function} fns A single function or Array of functions - * @returns {*} The resulting transformed data - */ -module.exports = function transformData(data, headers, fns) { - var context = this || defaults; - /*eslint no-param-reassign:0*/ - utils.forEach(fns, function transform(fn) { - data = fn.call(context, data, headers); + + utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); }); - - return data; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/index.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/defaults/index.js ***! - \**************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); -var normalizeHeaderName = __webpack_require__(/*! ../helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js"); -var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); -var transitionalDefaults = __webpack_require__(/*! ./transitional */ "./node_modules/axios/lib/defaults/transitional.js"); -var toFormData = __webpack_require__(/*! ../helpers/toFormData */ "./node_modules/axios/lib/helpers/toFormData.js"); - -var DEFAULT_CONTENT_TYPE = { - 'Content-Type': 'application/x-www-form-urlencoded' -}; - -function setContentTypeIfUnset(headers, value) { - if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { - headers['Content-Type'] = value; - } -} - -function getDefaultAdapter() { - var adapter; - if (typeof XMLHttpRequest !== 'undefined') { - // For browsers use XHR adapter - adapter = __webpack_require__(/*! ../adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); - } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { - // For node use HTTP adapter - adapter = __webpack_require__(/*! ../adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); - } - return adapter; -} - -function stringifySafely(rawValue, parser, encoder) { - if (utils.isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return utils.trim(rawValue); - } catch (e) { - if (e.name !== 'SyntaxError') { - throw e; - } - } + + module.exports = defaults; + + + /***/ }), + + /***/ "./node_modules/axios/lib/defaults/transitional.js": + /*!*********************************************************!*\ + !*** ./node_modules/axios/lib/defaults/transitional.js ***! + \*********************************************************/ + /***/ ((module) => { + + "use strict"; + + + module.exports = { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/env/data.js": + /*!********************************************!*\ + !*** ./node_modules/axios/lib/env/data.js ***! + \********************************************/ + /***/ ((module) => { + + module.exports = { + "version": "0.27.2" + }; + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/bind.js": + /*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/bind.js ***! + \************************************************/ + /***/ ((module) => { + + "use strict"; + + + module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/buildURL.js": + /*!****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); } - - return (encoder || JSON.stringify)(rawValue); -} - -var defaults = { - - transitional: transitionalDefaults, - - adapter: getDefaultAdapter(), - - transformRequest: [function transformRequest(data, headers) { - normalizeHeaderName(headers, 'Accept'); - normalizeHeaderName(headers, 'Content-Type'); - - if (utils.isFormData(data) || - utils.isArrayBuffer(data) || - utils.isBuffer(data) || - utils.isStream(data) || - utils.isFile(data) || - utils.isBlob(data) - ) { - return data; - } - if (utils.isArrayBufferView(data)) { - return data.buffer; + + /** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ + module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; } - if (utils.isURLSearchParams(data)) { - setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); - return data.toString(); + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); } - - var isObjectPayload = utils.isObject(data); - var contentType = headers && headers['Content-Type']; - - var isFileList; - - if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) { - var _FormData = this.env && this.env.FormData; - return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData()); - } else if (isObjectPayload || contentType === 'application/json') { - setContentTypeIfUnset(headers, 'application/json'); - return stringifySafely(data); + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; } - - return data; - }], - - transformResponse: [function transformResponse(data) { - var transitional = this.transitional || defaults.transitional; - var silentJSONParsing = transitional && transitional.silentJSONParsing; - var forcedJSONParsing = transitional && transitional.forcedJSONParsing; - var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; - - if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); + + return url; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/combineURLs.js": + /*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************/ + /***/ ((module) => { + + "use strict"; + + + /** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ + module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/cookies.js": + /*!***************************************************!*\ + !*** ./node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); } - throw e; + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() + ); + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": + /*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************/ + /***/ ((module) => { + + "use strict"; + + + /** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ + module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/isAxiosError.js": + /*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + /** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ + module.exports = function isAxiosError(payload) { + return utils.isObject(payload) && (payload.isAxiosError === true); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": + /*!***********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() + ); + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": + /*!***************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! + \***************************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + + module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; } - } - - return data; - }], - + }); + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/null.js": + /*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/null.js ***! + \************************************************/ + /***/ ((module) => { + + // eslint-disable-next-line strict + module.exports = null; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/parseHeaders.js": + /*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); + + // Headers whose duplicates are ignored by node + // c.f. https://nodejs.org/api/http.html#http_message_headers + var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' + ]; + /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object */ - timeout: 0, - - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - - maxContentLength: -1, - maxBodyLength: -1, - - env: { - FormData: __webpack_require__(/*! ./env/FormData */ "./node_modules/axios/lib/helpers/null.js") - }, - - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - - headers: { - common: { - 'Accept': 'application/json, text/plain, */*' - } - } -}; - -utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); -}); - -module.exports = defaults; - - -/***/ }), - -/***/ "./node_modules/axios/lib/defaults/transitional.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/defaults/transitional.js ***! - \*********************************************************/ -/***/ ((module) => { - -"use strict"; - - -module.exports = { - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/env/data.js": -/*!********************************************!*\ - !*** ./node_modules/axios/lib/env/data.js ***! - \********************************************/ -/***/ ((module) => { - -module.exports = { - "version": "0.27.2" -}; - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/bind.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/bind.js ***! - \************************************************/ -/***/ ((module) => { - -"use strict"; - - -module.exports = function bind(fn, thisArg) { - return function wrap() { - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - return fn.apply(thisArg, args); - }; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/buildURL.js": -/*!****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/buildURL.js ***! - \****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -function encode(val) { - return encodeURIComponent(val). - replace(/%3A/gi, ':'). - replace(/%24/g, '$'). - replace(/%2C/gi, ','). - replace(/%20/g, '+'). - replace(/%5B/gi, '['). - replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @returns {string} The formatted url - */ -module.exports = function buildURL(url, params, paramsSerializer) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - - var serializedParams; - if (paramsSerializer) { - serializedParams = paramsSerializer(params); - } else if (utils.isURLSearchParams(params)) { - serializedParams = params.toString(); - } else { - var parts = []; - - utils.forEach(params, function serialize(val, key) { - if (val === null || typeof val === 'undefined') { - return; - } - - if (utils.isArray(val)) { - key = key + '[]'; - } else { - val = [val]; - } - - utils.forEach(val, function parseValue(v) { - if (utils.isDate(v)) { - v = v.toISOString(); - } else if (utils.isObject(v)) { - v = JSON.stringify(v); + module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; } - parts.push(encode(key) + '=' + encode(v)); - }); + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } }); - - serializedParams = parts.join('&'); - } - - if (serializedParams) { - var hashmarkIndex = url.indexOf('#'); - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); + + return parsed; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/parseProtocol.js": + /*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! + \*********************************************************/ + /***/ ((module) => { + + "use strict"; + + + module.exports = function parseProtocol(url) { + var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/spread.js": + /*!**************************************************!*\ + !*** ./node_modules/axios/lib/helpers/spread.js ***! + \**************************************************/ + /***/ ((module) => { + + "use strict"; + + + /** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ + module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; + }; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/toFormData.js": + /*!******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/toFormData.js ***! + \******************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); + + /** + * Convert a data object to FormData + * @param {Object} obj + * @param {?Object} [formData] + * @returns {Object} + **/ + + function toFormData(obj, formData) { + // eslint-disable-next-line no-param-reassign + formData = formData || new FormData(); + + var stack = []; + + function convertValue(value) { + if (value === null) return ''; + + if (utils.isDate(value)) { + return value.toISOString(); + } + + if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { + return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; } - - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - - return url; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/combineURLs.js": -/*!*******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! - \*******************************************************/ -/***/ ((module) => { - -"use strict"; - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ -module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/cookies.js": -/*!***************************************************!*\ - !*** ./node_modules/axios/lib/helpers/cookies.js ***! - \***************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); + + function build(data, parentKey) { + if (utils.isPlainObject(data) || utils.isArray(data)) { + if (stack.indexOf(data) !== -1) { + throw Error('Circular reference detected in ' + parentKey); + } + + stack.push(data); + + utils.forEach(data, function each(value, key) { + if (utils.isUndefined(value)) return; + var fullKey = parentKey ? parentKey + '.' + key : key; + var arr; + + if (value && !parentKey && typeof value === 'object') { + if (utils.endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) { + // eslint-disable-next-line func-names + arr.forEach(function(el) { + !utils.isUndefined(el) && formData.append(fullKey, convertValue(el)); + }); + return; + } } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() -); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \*********************************************************/ -/***/ ((module) => { - -"use strict"; - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -module.exports = function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! - \********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ -module.exports = function isAxiosError(payload) { - return utils.isObject(payload) && (payload.isAxiosError === true); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": -/*!***********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \***********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs have full support of the APIs needed to test - // whether the request URL is of the same origin as current location. - (function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: (urlParsingNode.pathname.charAt(0) === '/') ? - urlParsingNode.pathname : - '/' + urlParsingNode.pathname - }; + + build(value, fullKey); + }); + + stack.pop(); + } else { + formData.append(parentKey, convertValue(data)); } - - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); - }; - })() : - - // Non standard browser envs (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; - })() -); - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": -/*!***************************************************************!*\ - !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***! - \***************************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -module.exports = function normalizeHeaderName(headers, normalizedName) { - utils.forEach(headers, function processHeader(value, name) { - if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { - headers[normalizedName] = value; - delete headers[name]; } + + build(obj); + + return formData; + } + + module.exports = toFormData; + + + /***/ }), + + /***/ "./node_modules/axios/lib/helpers/validator.js": + /*!*****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var VERSION = (__webpack_require__(/*! ../env/data */ "./node_modules/axios/lib/env/data.js").version); + var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); + + var validators = {}; + + // eslint-disable-next-line func-names + ['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; }); -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/null.js": -/*!************************************************!*\ - !*** ./node_modules/axios/lib/helpers/null.js ***! - \************************************************/ -/***/ ((module) => { - -// eslint-disable-next-line strict -module.exports = null; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": -/*!********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! - \********************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); - -// Headers whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' -]; - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ -module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; + + var deprecatedWarnings = {}; + + /** + * Transitional option validator + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * @returns {function} + */ + validators.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return function(value, opt, opts) { + if (validator === false) { + throw new AxiosError( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + AxiosError.ERR_DEPRECATED + ); } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); } - } - }); - - return parsed; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": -/*!*********************************************************!*\ - !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! - \*********************************************************/ -/***/ ((module) => { - -"use strict"; - - -module.exports = function parseProtocol(url) { - var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/spread.js": -/*!**************************************************!*\ - !*** ./node_modules/axios/lib/helpers/spread.js ***! - \**************************************************/ -/***/ ((module) => { - -"use strict"; - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * @returns {Function} - */ -module.exports = function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); + + return validator ? validator(value, opt, opts) : true; + }; }; -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/toFormData.js": -/*!******************************************************!*\ - !*** ./node_modules/axios/lib/helpers/toFormData.js ***! - \******************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js"); - -/** - * Convert a data object to FormData - * @param {Object} obj - * @param {?Object} [formData] - * @returns {Object} - **/ - -function toFormData(obj, formData) { - // eslint-disable-next-line no-param-reassign - formData = formData || new FormData(); - - var stack = []; - - function convertValue(value) { - if (value === null) return ''; - - if (utils.isDate(value)) { - return value.toISOString(); - } - - if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { - return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + + /** + * Assert object's properties type + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + */ + + function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); } - - return value; - } - - function build(data, parentKey) { - if (utils.isPlainObject(data) || utils.isArray(data)) { - if (stack.indexOf(data) !== -1) { - throw Error('Circular reference detected in ' + parentKey); - } - - stack.push(data); - - utils.forEach(data, function each(value, key) { - if (utils.isUndefined(value)) return; - var fullKey = parentKey ? parentKey + '.' + key : key; - var arr; - - if (value && !parentKey && typeof value === 'object') { - if (utils.endsWith(key, '{}')) { - // eslint-disable-next-line no-param-reassign - value = JSON.stringify(value); - } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) { - // eslint-disable-next-line func-names - arr.forEach(function(el) { - !utils.isUndefined(el) && formData.append(fullKey, convertValue(el)); - }); - return; - } + var keys = Object.keys(options); + var i = keys.length; + while (i-- > 0) { + var opt = keys[i]; + var validator = schema[opt]; + if (validator) { + var value = options[opt]; + var result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); } - - build(value, fullKey); - }); - - stack.pop(); - } else { - formData.append(parentKey, convertValue(data)); + continue; + } + if (allowUnknown !== true) { + throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); + } } } - - build(obj); - - return formData; -} - -module.exports = toFormData; - - -/***/ }), - -/***/ "./node_modules/axios/lib/helpers/validator.js": -/*!*****************************************************!*\ - !*** ./node_modules/axios/lib/helpers/validator.js ***! - \*****************************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var VERSION = (__webpack_require__(/*! ../env/data */ "./node_modules/axios/lib/env/data.js").version); -var AxiosError = __webpack_require__(/*! ../core/AxiosError */ "./node_modules/axios/lib/core/AxiosError.js"); - -var validators = {}; - -// eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) { - validators[type] = function validator(thing) { - return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + + module.exports = { + assertOptions: assertOptions, + validators: validators }; -}); - -var deprecatedWarnings = {}; - -/** - * Transitional option validator - * @param {function|boolean?} validator - set to false if the transitional option has been removed - * @param {string?} version - deprecated version / removed since version - * @param {string?} message - some message with additional info - * @returns {function} - */ -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } - + + + /***/ }), + + /***/ "./node_modules/axios/lib/utils.js": + /*!*****************************************!*\ + !*** ./node_modules/axios/lib/utils.js ***! + \*****************************************/ + /***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + "use strict"; + + + var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); + + // utils is a library of generic helper functions non-specific to axios + + var toString = Object.prototype.toString; + // eslint-disable-next-line func-names - return function(value, opt, opts) { - if (validator === false) { - throw new AxiosError( - formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), - AxiosError.ERR_DEPRECATED - ); - } - - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - console.warn( - formatMessage( - opt, - ' has been deprecated since v' + version + ' and will be removed in the near future' - ) - ); - } - - return validator ? validator(value, opt, opts) : true; - }; -}; - -/** - * Assert object's properties type - * @param {object} options - * @param {object} schema - * @param {boolean?} allowUnknown - */ - -function assertOptions(options, schema, allowUnknown) { - if (typeof options !== 'object') { - throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); - } - var keys = Object.keys(options); - var i = keys.length; - while (i-- > 0) { - var opt = keys[i]; - var validator = schema[opt]; - if (validator) { - var value = options[opt]; - var result = value === undefined || validator(value, opt, options); - if (result !== true) { - throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); - } + var kindOf = (function(cache) { + // eslint-disable-next-line func-names + return function(thing) { + var str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); + }; + })(Object.create(null)); + + function kindOfTest(type) { + type = type.toLowerCase(); + return function isKindOf(thing) { + return kindOf(thing) === type; + }; } -} - -module.exports = { - assertOptions: assertOptions, - validators: validators -}; - - -/***/ }), - -/***/ "./node_modules/axios/lib/utils.js": -/*!*****************************************!*\ - !*** ./node_modules/axios/lib/utils.js ***! - \*****************************************/ -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - -"use strict"; - - -var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); - -// utils is a library of generic helper functions non-specific to axios - -var toString = Object.prototype.toString; - -// eslint-disable-next-line func-names -var kindOf = (function(cache) { - // eslint-disable-next-line func-names - return function(thing) { - var str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); - }; -})(Object.create(null)); - -function kindOfTest(type) { - type = type.toLowerCase(); - return function isKindOf(thing) { - return kindOf(thing) === type; - }; -} - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Array, otherwise false - */ -function isArray(val) { - return Array.isArray(val); -} - -/** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ -function isUndefined(val) { - return typeof val === 'undefined'; -} - -/** - * Determine if a value is a Buffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Buffer, otherwise false - */ -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) - && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); -} - -/** - * Determine if a value is an ArrayBuffer - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -var isArrayBuffer = kindOfTest('ArrayBuffer'); - - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - var result; - if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { - result = ArrayBuffer.isView(val); - } else { - result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + + /** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ + function isArray(val) { + return Array.isArray(val); } - return result; -} - -/** - * Determine if a value is a String - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a String, otherwise false - */ -function isString(val) { - return typeof val === 'string'; -} - -/** - * Determine if a value is a Number - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Number, otherwise false - */ -function isNumber(val) { - return typeof val === 'number'; -} - -/** - * Determine if a value is an Object - * - * @param {Object} val The value to test - * @returns {boolean} True if value is an Object, otherwise false - */ -function isObject(val) { - return val !== null && typeof val === 'object'; -} - -/** - * Determine if a value is a plain Object - * - * @param {Object} val The value to test - * @return {boolean} True if value is a plain Object, otherwise false - */ -function isPlainObject(val) { - if (kindOf(val) !== 'object') { - return false; + + /** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ + function isUndefined(val) { + return typeof val === 'undefined'; } - - var prototype = Object.getPrototypeOf(val); - return prototype === null || prototype === Object.prototype; -} - -/** - * Determine if a value is a Date - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a Date, otherwise false - */ -var isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -var isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a Blob, otherwise false - */ -var isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a File, otherwise false - */ -var isFileList = kindOfTest('FileList'); - -/** - * Determine if a value is a Function - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -function isFunction(val) { - return toString.call(val) === '[object Function]'; -} - -/** - * Determine if a value is a Stream - * - * @param {Object} val The value to test - * @returns {boolean} True if value is a Stream, otherwise false - */ -function isStream(val) { - return isObject(val) && isFunction(val.pipe); -} - -/** - * Determine if a value is a FormData - * - * @param {Object} thing The value to test - * @returns {boolean} True if value is an FormData, otherwise false - */ -function isFormData(thing) { - var pattern = '[object FormData]'; - return thing && ( - (typeof FormData === 'function' && thing instanceof FormData) || - toString.call(thing) === pattern || - (isFunction(thing.toString) && thing.toString() === pattern) - ); -} - -/** - * Determine if a value is a URLSearchParams object - * @function - * @param {Object} val The value to test - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -var isURLSearchParams = kindOfTest('URLSearchParams'); - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * @returns {String} The String freed of excess whitespace - */ -function trim(str) { - return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); -} - -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - */ -function isStandardBrowserEnv() { - if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || - navigator.product === 'NativeScript' || - navigator.product === 'NS')) { - return false; + + /** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ + function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); } - return ( - typeof window !== 'undefined' && - typeof document !== 'undefined' - ); -} - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - */ -function forEach(obj, fn) { - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; + + /** + * Determine if a value is an ArrayBuffer + * + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ + var isArrayBuffer = kindOfTest('ArrayBuffer'); + + + /** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ + function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + } + return result; } - - // Force an array if not already something iterable - if (typeof obj !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; + + /** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ + function isString(val) { + return typeof val === 'string'; } - - if (isArray(obj)) { - // Iterate over array values - for (var i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); + + /** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ + function isNumber(val) { + return typeof val === 'number'; + } + + /** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ + function isObject(val) { + return val !== null && typeof val === 'object'; + } + + /** + * Determine if a value is a plain Object + * + * @param {Object} val The value to test + * @return {boolean} True if value is a plain Object, otherwise false + */ + function isPlainObject(val) { + if (kindOf(val) !== 'object') { + return false; } - } else { - // Iterate over object keys - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - fn.call(null, obj[key], key, obj); - } + + var prototype = Object.getPrototypeOf(val); + return prototype === null || prototype === Object.prototype; + } + + /** + * Determine if a value is a Date + * + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ + var isDate = kindOfTest('Date'); + + /** + * Determine if a value is a File + * + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ + var isFile = kindOfTest('File'); + + /** + * Determine if a value is a Blob + * + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ + var isBlob = kindOfTest('Blob'); + + /** + * Determine if a value is a FileList + * + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ + var isFileList = kindOfTest('FileList'); + + /** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ + function isFunction(val) { + return toString.call(val) === '[object Function]'; + } + + /** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ + function isStream(val) { + return isObject(val) && isFunction(val.pipe); + } + + /** + * Determine if a value is a FormData + * + * @param {Object} thing The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ + function isFormData(thing) { + var pattern = '[object FormData]'; + return thing && ( + (typeof FormData === 'function' && thing instanceof FormData) || + toString.call(thing) === pattern || + (isFunction(thing.toString) && thing.toString() === pattern) + ); + } + + /** + * Determine if a value is a URLSearchParams object + * @function + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ + var isURLSearchParams = kindOfTest('URLSearchParams'); + + /** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ + function trim(str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); + } + + /** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + */ + function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || + navigator.product === 'NativeScript' || + navigator.product === 'NS')) { + return false; } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); } -} - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * @returns {Object} Result of all merge properties - */ -function merge(/* obj1, obj2, obj3, ... */) { - var result = {}; - function assignValue(val, key) { - if (isPlainObject(result[key]) && isPlainObject(val)) { - result[key] = merge(result[key], val); - } else if (isPlainObject(val)) { - result[key] = merge({}, val); - } else if (isArray(val)) { - result[key] = val.slice(); + + /** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ + function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } } else { - result[key] = val; + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } } } - - for (var i = 0, l = arguments.length; i < l; i++) { - forEach(arguments[i], assignValue); + + /** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ + function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (isPlainObject(result[key]) && isPlainObject(val)) { + result[key] = merge(result[key], val); + } else if (isPlainObject(val)) { + result[key] = merge({}, val); + } else if (isArray(val)) { + result[key] = val.slice(); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * @return {Object} The resulting value of object a - */ -function extend(a, b, thisArg) { - forEach(b, function assignValue(val, key) { - if (thisArg && typeof val === 'function') { - a[key] = bind(val, thisArg); - } else { - a[key] = val; + + /** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ + function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; + } + + /** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * @return {string} content value without BOM + */ + function stripBOM(content) { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); } - }); - return a; -} - -/** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * @return {string} content value without BOM - */ -function stripBOM(content) { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -} - -/** - * Inherit the prototype methods from one constructor into another - * @param {function} constructor - * @param {function} superConstructor - * @param {object} [props] - * @param {object} [descriptors] - */ - -function inherits(constructor, superConstructor, props, descriptors) { - constructor.prototype = Object.create(superConstructor.prototype, descriptors); - constructor.prototype.constructor = constructor; - props && Object.assign(constructor.prototype, props); -} - -/** - * Resolve object with deep prototype chain to a flat object - * @param {Object} sourceObj source object - * @param {Object} [destObj] - * @param {Function} [filter] - * @returns {Object} - */ - -function toFlatObject(sourceObj, destObj, filter) { - var props; - var i; - var prop; - var merged = {}; - - destObj = destObj || {}; - - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; + return content; + } + + /** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + */ + + function inherits(constructor, superConstructor, props, descriptors) { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + constructor.prototype.constructor = constructor; + props && Object.assign(constructor.prototype, props); + } + + /** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function} [filter] + * @returns {Object} + */ + + function toFlatObject(sourceObj, destObj, filter) { + var props; + var i; + var prop; + var merged = {}; + + destObj = destObj || {}; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if (!merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = Object.getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; + } + + /* + * determines whether a string ends with the characters of a specified string + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * @returns {boolean} + */ + function endsWith(str, searchString, position) { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + var lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; + } + + + /** + * Returns new array from array like object + * @param {*} [thing] + * @returns {Array} + */ + function toArray(thing) { + if (!thing) return null; + var i = thing.length; + if (isUndefined(i)) return null; + var arr = new Array(i); while (i-- > 0) { - prop = props[i]; - if (!merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } + arr[i] = thing[i]; } - sourceObj = Object.getPrototypeOf(sourceObj); - } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); - - return destObj; -} - -/* - * determines whether a string ends with the characters of a specified string - * @param {String} str - * @param {String} searchString - * @param {Number} [position= 0] - * @returns {boolean} - */ -function endsWith(str, searchString, position) { - str = String(str); - if (position === undefined || position > str.length) { - position = str.length; - } - position -= searchString.length; - var lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -} - - -/** - * Returns new array from array like object - * @param {*} [thing] - * @returns {Array} - */ -function toArray(thing) { - if (!thing) return null; - var i = thing.length; - if (isUndefined(i)) return null; - var arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -} - -// eslint-disable-next-line func-names -var isTypedArray = (function(TypedArray) { + return arr; + } + // eslint-disable-next-line func-names - return function(thing) { - return TypedArray && thing instanceof TypedArray; + var isTypedArray = (function(TypedArray) { + // eslint-disable-next-line func-names + return function(thing) { + return TypedArray && thing instanceof TypedArray; + }; + })(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array)); + + module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isPlainObject: isPlainObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim, + stripBOM: stripBOM, + inherits: inherits, + toFlatObject: toFlatObject, + kindOf: kindOf, + kindOfTest: kindOfTest, + endsWith: endsWith, + toArray: toArray, + isTypedArray: isTypedArray, + isFileList: isFileList }; -})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array)); - -module.exports = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isObject: isObject, - isPlainObject: isPlainObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isStandardBrowserEnv: isStandardBrowserEnv, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim, - stripBOM: stripBOM, - inherits: inherits, - toFlatObject: toFlatObject, - kindOf: kindOf, - kindOfTest: kindOfTest, - endsWith: endsWith, - toArray: toArray, - isTypedArray: isTypedArray, - isFileList: isFileList -}; - - -/***/ }), - -/***/ "./resources/js/app-login.js": -/*!***********************************!*\ - !*** ./resources/js/app-login.js ***! - \***********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); -/* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bootstrap__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js"); -/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next */ "./node_modules/i18next/dist/es/index.js"); -/* harmony import */ var i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-chained-backend */ "./node_modules/i18next-chained-backend/index.js"); -/* harmony import */ var i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! i18next-localstorage-backend */ "./node_modules/i18next-localstorage-backend/index.js"); -/* harmony import */ var i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! i18next-xhr-backend */ "./node_modules/i18next-xhr-backend/index.js"); -/* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @panter/vue-i18next */ "./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js"); -/* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-cookies */ "./node_modules/vue-cookies/vue-cookies.js"); -/* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_cookies__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/lang.js */ "./resources/js/modules/lang.js"); -/* harmony import */ var _components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/common/mixins/accessibility */ "./resources/js/components/common/mixins/accessibility.js"); -var _document$head$queryS; -function cov_uea4ftz59() { - var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/app-login.js"; - var hash = "a1fb3675012b262c56bd713cf2e624ea3fc864f6"; - var global = new Function("return this")(); - var gcv = "__coverage__"; - var coverageData = { - path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/app-login.js", - statementMap: { - "0": { - start: { - line: 18, - column: 0 - }, - end: { - line: 18, - column: 23 - } - }, - "1": { - start: { - line: 19, - column: 0 - }, - end: { - line: 19, - column: 29 - } - }, - "2": { - start: { - line: 20, - column: 0 + + + /***/ }), + + /***/ "./resources/js/app-login.js": + /*!***********************************!*\ + !*** ./resources/js/app-login.js ***! + \***********************************/ + /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + + "use strict"; + __webpack_require__.r(__webpack_exports__); + /* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); + /* harmony import */ var bootstrap__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bootstrap__WEBPACK_IMPORTED_MODULE_0__); + /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js"); + /* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! i18next */ "./node_modules/i18next/dist/es/index.js"); + /* harmony import */ var i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next-chained-backend */ "./node_modules/i18next-chained-backend/index.js"); + /* harmony import */ var i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2__); + /* harmony import */ var i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! i18next-localstorage-backend */ "./node_modules/i18next-localstorage-backend/index.js"); + /* harmony import */ var i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3__); + /* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! i18next-xhr-backend */ "./node_modules/i18next-xhr-backend/index.js"); + /* harmony import */ var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4__); + /* harmony import */ var _panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @panter/vue-i18next */ "./node_modules/@panter/vue-i18next/dist/vue-i18next.esm.js"); + /* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue-cookies */ "./node_modules/vue-cookies/vue-cookies.js"); + /* harmony import */ var vue_cookies__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue_cookies__WEBPACK_IMPORTED_MODULE_6__); + /* harmony import */ var _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/lang.js */ "./resources/js/modules/lang.js"); + /* harmony import */ var _components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/common/mixins/accessibility */ "./resources/js/components/common/mixins/accessibility.js"); + var _document$head$queryS; + function cov_2337h25edu() { + var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/app-login.js"; + var hash = "195e5558a5d99dbe9490879ad07aabe07e89bf1c"; + var global = new Function("return this")(); + var gcv = "__coverage__"; + var coverageData = { + path: "/Users/sanjacornelius/Documents/processmaker/resources/js/app-login.js", + statementMap: { + "0": { + start: { + line: 18, + column: 0 + }, + end: { + line: 18, + column: 23 + } }, - end: { - line: 20, - column: 45 - } - }, - "3": { - start: { - line: 22, - column: 0 + "1": { + start: { + line: 19, + column: 0 + }, + end: { + line: 19, + column: 29 + } }, - end: { - line: 22, - column: 45 - } - }, - "4": { - start: { - line: 24, - column: 0 + "2": { + start: { + line: 20, + column: 0 + }, + end: { + line: 20, + column: 45 + } }, - end: { - line: 24, - column: 17 - } - }, - "5": { - start: { - line: 25, - column: 0 + "3": { + start: { + line: 22, + column: 0 + }, + end: { + line: 22, + column: 45 + } }, - end: { - line: 25, - column: 17 - } - }, - "6": { - start: { - line: 26, - column: 0 + "4": { + start: { + line: 24, + column: 0 + }, + end: { + line: 24, + column: 17 + } }, - end: { - line: 26, - column: 29 - } - }, - "7": { - start: { - line: 27, - column: 0 + "5": { + start: { + line: 25, + column: 0 + }, + end: { + line: 25, + column: 17 + } }, - end: { - line: 27, - column: 27 - } - }, - "8": { - start: { - line: 28, - column: 0 + "6": { + start: { + line: 26, + column: 0 + }, + end: { + line: 26, + column: 29 + } }, - end: { - line: 28, - column: 27 - } - }, - "9": { - start: { - line: 30, - column: 25 - }, - end: { - line: 30, - column: 30 - } - }, - "10": { - start: { - line: 31, - column: 15 - }, - end: { - line: 33, - column: 1 - } - }, - "11": { - start: { - line: 36, - column: 0 - }, - end: { - line: 36, - column: 45 - } - }, - "12": { - start: { - line: 37, - column: 0 - }, - end: { - line: 37, - column: 30 - } - }, - "13": { - start: { - line: 39, - column: 0 - }, - end: { - line: 56, - column: 2 - } - }, - "14": { - start: { - line: 48, - column: 4 - }, - end: { - line: 48, - column: 56 - } - }, - "15": { - start: { - line: 48, - column: 47 - }, - end: { - line: 48, - column: 54 - } - }, - "16": { - start: { - line: 49, - column: 4 - }, - end: { - line: 49, - column: 40 - } - }, - "17": { - start: { - line: 50, - column: 4 - }, - end: { - line: 50, - column: 48 - } - }, - "18": { - start: { - line: 58, - column: 0 - }, - end: { - line: 81, - column: 3 - } - }, - "19": { - start: { - line: 65, - column: 4 - }, - end: { - line: 65, - column: 46 - } - }, - "20": { - start: { - line: 65, - column: 31 - }, - end: { - line: 65, - column: 44 - } - }, - "21": { - start: { - line: 67, - column: 4 - }, - end: { - line: 67, - column: 50 - } - }, - "22": { - start: { - line: 69, - column: 4 - }, - end: { - line: 69, - column: 17 - } - }, - "23": { - start: { - line: 83, - column: 0 - }, - end: { - line: 83, - column: 75 - } - }, - "24": { - start: { - line: 83, - column: 45 - }, - end: { - line: 83, - column: 71 - } - }, - "25": { - start: { - line: 90, - column: 0 - }, - end: { - line: 90, - column: 49 - } - }, - "26": { - start: { - line: 92, - column: 0 - }, - end: { - line: 92, - column: 93 - } - }, - "27": { - start: { - line: 95, - column: 25 - }, - end: { - line: 98, - column: 1 - } - }, - "28": { - start: { - line: 100, - column: 0 - }, - end: { - line: 100, - column: 77 - } - }, - "29": { - start: { - line: 101, - column: 0 - }, - end: { - line: 117, - column: 3 - } - }, - "30": { - start: { - line: 102, - column: 2 - }, - end: { - line: 104, - column: 3 - } - }, - "31": { - start: { - line: 103, - column: 4 - }, - end: { - line: 103, - column: 64 - } - }, - "32": { - start: { - line: 106, - column: 2 - }, - end: { - line: 114, - column: 5 - } - }, - "33": { - start: { - line: 107, - column: 26 - }, - end: { - line: 107, - column: 44 - } - }, - "34": { - start: { - line: 108, - column: 4 - }, - end: { - line: 113, - column: 5 - } - }, - "35": { - start: { - line: 110, - column: 6 - }, - end: { - line: 110, - column: 31 - } - }, - "36": { - start: { - line: 112, - column: 6 - }, - end: { - line: 112, - column: 57 - } - }, - "37": { - start: { - line: 116, - column: 2 - }, - end: { - line: 116, - column: 16 - } - }, - "38": { - start: { - line: 120, - column: 17 - }, - end: { - line: 120, - column: 21 - } - }, - "39": { - start: { - line: 121, - column: 0 - }, - end: { - line: 123, - column: 1 - } - }, - "40": { - start: { - line: 122, - column: 2 - }, - end: { - line: 122, - column: 46 - } - }, - "41": { - start: { - line: 124, - column: 0 - }, - end: { - line: 124, - column: 60 - } - }, - "42": { - start: { - line: 128, - column: 0 - }, - end: { - line: 139, - column: 3 - } - }, - "43": { - start: { - line: 130, - column: 4 - }, - end: { - line: 137, - column: 7 - } - }, - "44": { - start: { - line: 132, - column: 8 - }, - end: { - line: 135, - column: 9 - } - }, - "45": { - start: { - line: 134, - column: 10 - }, - end: { - line: 134, - column: 17 - } - }, - "46": { - start: { - line: 142, - column: 0 - }, - end: { - line: 142, - column: 52 - } - } - }, - fnMap: { - "0": { - name: "(anonymous_0)", - decl: { + "7": { start: { - line: 47, - column: 2 + line: 27, + column: 0 }, end: { - line: 47, - column: 3 + line: 27, + column: 27 } }, - loc: { + "8": { start: { - line: 47, - column: 28 + line: 28, + column: 0 }, end: { - line: 51, - column: 3 + line: 28, + column: 27 } }, - line: 47 - }, - "1": { - name: "(anonymous_1)", - decl: { + "9": { start: { - line: 64, - column: 2 + line: 30, + column: 25 }, end: { - line: 64, - column: 3 + line: 30, + column: 30 } }, - loc: { + "10": { start: { - line: 64, - column: 32 + line: 31, + column: 15 }, end: { - line: 70, - column: 3 + line: 33, + column: 1 } }, - line: 64 - }, - "2": { - name: "(anonymous_2)", - decl: { + "11": { start: { - line: 83, - column: 37 + line: 36, + column: 0 }, end: { - line: 83, - column: 38 + line: 36, + column: 45 } }, - loc: { + "12": { start: { - line: 83, - column: 43 + line: 37, + column: 0 }, end: { - line: 83, - column: 73 + line: 37, + column: 30 } }, - line: 83 - }, - "3": { - name: "(anonymous_3)", - decl: { + "13": { start: { - line: 101, - column: 55 + line: 39, + column: 0 }, end: { - line: 101, - column: 56 + line: 56, + column: 2 } }, - loc: { + "14": { start: { - line: 101, - column: 67 + line: 48, + column: 4 }, end: { - line: 117, - column: 1 + line: 48, + column: 56 } }, - line: 101 - }, - "4": { - name: "(anonymous_4)", - decl: { + "15": { start: { - line: 106, - column: 27 + line: 48, + column: 47 }, end: { - line: 106, - column: 28 + line: 48, + column: 54 } }, - loc: { + "16": { start: { - line: 106, - column: 53 + line: 49, + column: 4 }, end: { - line: 114, - column: 3 + line: 49, + column: 40 } }, - line: 106 - }, - "5": { - name: "(anonymous_5)", - decl: { + "17": { start: { - line: 129, - column: 2 + line: 50, + column: 4 }, end: { - line: 129, - column: 3 + line: 50, + column: 48 } }, - loc: { + "18": { start: { - line: 129, - column: 15 + line: 58, + column: 0 }, end: { - line: 138, + line: 81, column: 3 } }, - line: 129 - }, - "6": { - name: "(anonymous_6)", - decl: { + "19": { start: { - line: 131, - column: 6 + line: 65, + column: 4 }, end: { - line: 131, - column: 7 + line: 65, + column: 46 } }, - loc: { + "20": { start: { - line: 131, - column: 16 + line: 65, + column: 31 }, end: { - line: 136, - column: 7 + line: 65, + column: 44 } }, - line: 131 - } - }, - branchMap: { - "0": { - loc: { + "21": { start: { - line: 48, + line: 67, column: 4 }, end: { - line: 48, - column: 56 + line: 67, + column: 50 } }, - type: "if", - locations: [{ + "22": { start: { - line: 48, + line: 69, column: 4 }, end: { - line: 48, - column: 56 + line: 69, + column: 17 } - }, { + }, + "23": { start: { - line: undefined, - column: undefined + line: 83, + column: 0 }, end: { - line: undefined, - column: undefined + line: 83, + column: 75 } - }], - line: 48 - }, - "1": { - loc: { + }, + "24": { start: { - line: 65, - column: 4 + line: 83, + column: 45 }, end: { - line: 65, - column: 46 + line: 83, + column: 71 } }, - type: "if", - locations: [{ + "25": { start: { - line: 65, - column: 4 + line: 90, + column: 0 }, end: { - line: 65, - column: 46 + line: 90, + column: 49 } - }, { + }, + "26": { start: { - line: undefined, - column: undefined + line: 92, + column: 0 }, end: { - line: undefined, - column: undefined + line: 92, + column: 93 } - }], - line: 65 - }, - "2": { - loc: { + }, + "27": { start: { - line: 102, - column: 2 + line: 95, + column: 25 }, end: { - line: 104, - column: 3 + line: 98, + column: 1 } }, - type: "if", - locations: [{ + "28": { start: { - line: 102, - column: 2 + line: 100, + column: 0 }, end: { - line: 104, - column: 3 + line: 100, + column: 77 } - }, { + }, + "29": { start: { - line: undefined, - column: undefined + line: 101, + column: 0 }, end: { - line: undefined, - column: undefined + line: 117, + column: 3 } - }], - line: 102 - }, - "3": { - loc: { + }, + "30": { start: { line: 102, - column: 6 + column: 2 }, end: { - line: 102, - column: 51 + line: 104, + column: 3 } }, - type: "binary-expr", - locations: [{ + "31": { start: { - line: 102, - column: 6 + line: 103, + column: 4 }, end: { - line: 102, - column: 36 + line: 103, + column: 64 } - }, { + }, + "32": { start: { - line: 102, - column: 40 + line: 106, + column: 2 }, end: { - line: 102, - column: 51 + line: 114, + column: 5 } - }], - line: 102 - }, - "4": { - loc: { + }, + "33": { start: { - line: 108, - column: 4 + line: 107, + column: 26 }, end: { - line: 113, - column: 5 + line: 107, + column: 44 } }, - type: "if", - locations: [{ + "34": { start: { line: 108, column: 4 @@ -3747,31 +3301,48 @@ function cov_uea4ftz59() { line: 113, column: 5 } - }, { + }, + "35": { start: { - line: undefined, - column: undefined + line: 110, + column: 6 }, end: { - line: undefined, - column: undefined + line: 110, + column: 31 } - }], - line: 108 - }, - "5": { - loc: { + }, + "36": { start: { - line: 121, - column: 0 + line: 112, + column: 6 }, end: { - line: 123, - column: 1 + line: 112, + column: 57 + } + }, + "37": { + start: { + line: 116, + column: 2 + }, + end: { + line: 116, + column: 16 + } + }, + "38": { + start: { + line: 120, + column: 17 + }, + end: { + line: 120, + column: 21 } }, - type: "if", - locations: [{ + "39": { start: { line: 121, column: 0 @@ -3780,53 +3351,48 @@ function cov_uea4ftz59() { line: 123, column: 1 } - }, { + }, + "40": { start: { - line: undefined, - column: undefined + line: 122, + column: 2 }, end: { - line: undefined, - column: undefined + line: 122, + column: 46 } - }], - line: 121 - }, - "6": { - loc: { + }, + "41": { start: { - line: 121, - column: 4 + line: 124, + column: 0 }, end: { - line: 121, - column: 71 + line: 124, + column: 60 } }, - type: "binary-expr", - locations: [{ + "42": { start: { - line: 121, - column: 4 + line: 128, + column: 0 }, end: { - line: 121, - column: 23 + line: 139, + column: 3 } - }, { + }, + "43": { start: { - line: 121, - column: 27 + line: 130, + column: 4 }, end: { - line: 121, - column: 71 + line: 137, + column: 7 } - }], - line: 121 - }, - "7": { - loc: { + }, + "44": { start: { line: 132, column: 8 @@ -3836,40740 +3402,41174 @@ function cov_uea4ftz59() { column: 9 } }, - type: "if", - locations: [{ + "45": { start: { - line: 132, - column: 8 + line: 134, + column: 10 }, end: { - line: 135, - column: 9 + line: 134, + column: 17 } - }, { + }, + "46": { start: { - line: undefined, - column: undefined + line: 142, + column: 0 }, end: { - line: undefined, - column: undefined + line: 142, + column: 52 } - }], - line: 132 - } - }, - s: { - "0": 0, - "1": 0, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 0, - "16": 0, - "17": 0, - "18": 0, - "19": 0, - "20": 0, - "21": 0, - "22": 0, - "23": 0, - "24": 0, - "25": 0, - "26": 0, - "27": 0, - "28": 0, - "29": 0, - "30": 0, - "31": 0, - "32": 0, - "33": 0, - "34": 0, - "35": 0, - "36": 0, - "37": 0, - "38": 0, - "39": 0, - "40": 0, - "41": 0, - "42": 0, - "43": 0, - "44": 0, - "45": 0, - "46": 0 - }, - f: { - "0": 0, - "1": 0, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 0 - }, - b: { - "0": [0, 0], - "1": [0, 0], - "2": [0, 0], - "3": [0, 0], - "4": [0, 0], - "5": [0, 0], - "6": [0, 0], - "7": [0, 0] - }, - _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "a1fb3675012b262c56bd713cf2e624ea3fc864f6" - }; - var coverage = global[gcv] || (global[gcv] = {}); - if (!coverage[path] || coverage[path].hash !== hash) { - coverage[path] = coverageData; - } - var actualCoverage = coverage[path]; - { - // @ts-ignore - cov_uea4ftz59 = function () { - return actualCoverage; - }; - } - return actualCoverage; -} -cov_uea4ftz59(); - - - -/** - * Setup Translations - */ - - - - - - - - - -cov_uea4ftz59().s[0]++; -window.__ = _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__["default"]; -cov_uea4ftz59().s[1]++; -window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); -cov_uea4ftz59().s[2]++; -window.Popper = (__webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"]); -cov_uea4ftz59().s[3]++; -window.$ = window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); -cov_uea4ftz59().s[4]++; -window.Vue = vue__WEBPACK_IMPORTED_MODULE_9__["default"]; -cov_uea4ftz59().s[5]++; -window.vue = vue__WEBPACK_IMPORTED_MODULE_9__; -cov_uea4ftz59().s[6]++; -window.bootstrap = bootstrap__WEBPACK_IMPORTED_MODULE_0__; -cov_uea4ftz59().s[7]++; -window.Vue.use((vue_cookies__WEBPACK_IMPORTED_MODULE_6___default())); -cov_uea4ftz59().s[8]++; -window.Vue.use(_panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"]); -var translationsLoaded = (cov_uea4ftz59().s[9]++, false); -var mdates = (cov_uea4ftz59().s[10]++, JSON.parse((_document$head$queryS = document.head.querySelector("meta[name=\"i18n-mdate\"]")) === null || _document$head$queryS === void 0 ? void 0 : _document$head$queryS.content)); - -// Make $t available to all vue instances -cov_uea4ftz59().s[11]++; -vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin({ - i18n: new _panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"](i18next__WEBPACK_IMPORTED_MODULE_1__["default"]) -}); -cov_uea4ftz59().s[12]++; -vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__["default"]); -cov_uea4ftz59().s[13]++; -window.ProcessMaker = { - i18n: i18next__WEBPACK_IMPORTED_MODULE_1__["default"], - /** - * A general use global event bus that can be used - */ - EventBus: new vue__WEBPACK_IMPORTED_MODULE_9__["default"](), - packages: [], - missingTranslations: new Set(), - missingTranslation: function missingTranslation(value) { - cov_uea4ftz59().f[0]++; - cov_uea4ftz59().s[14]++; - if (this.missingTranslations.has(value)) { - cov_uea4ftz59().b[0][0]++; - cov_uea4ftz59().s[15]++; - return; - } else { - cov_uea4ftz59().b[0][1]++; - } - cov_uea4ftz59().s[16]++; - this.missingTranslations.add(value); - cov_uea4ftz59().s[17]++; - console.warn("Missing Translation:", value); - }, - $notifications: { - icons: {} - } -}; -cov_uea4ftz59().s[18]++; -window.ProcessMaker.i18nPromise = i18next__WEBPACK_IMPORTED_MODULE_1__["default"].use((i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2___default())).init({ - lng: document.documentElement.lang, - fallbackLng: "en", - // default language when no translations - returnEmptyString: false, - // When a translation is an empty string, return the default language, not empty - nsSeparator: false, - keySeparator: false, - parseMissingKeyHandler: function parseMissingKeyHandler(value) { - cov_uea4ftz59().f[1]++; - cov_uea4ftz59().s[19]++; - if (!translationsLoaded) { - cov_uea4ftz59().b[1][0]++; - cov_uea4ftz59().s[20]++; - return value; - } else { - cov_uea4ftz59().b[1][1]++; - } - // Report that a translation is missing - cov_uea4ftz59().s[21]++; - window.ProcessMaker.missingTranslation(value); - // Fallback to showing the english version - cov_uea4ftz59().s[22]++; - return value; - }, - backend: { - backends: [(i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3___default()), - // Try cache first - (i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4___default())], - backendOptions: [{ - versions: mdates - }, { - loadPath: "/i18next/fetch/{{lng}}/_default" - }] - } -}); -cov_uea4ftz59().s[23]++; -window.ProcessMaker.i18nPromise.then(function () { - cov_uea4ftz59().f[2]++; - cov_uea4ftz59().s[24]++; - translationsLoaded = true; -}); - -/** - * Create a axios instance which any vue component can bring in to call - * REST api endpoints through oauth authentication - * - */ -cov_uea4ftz59().s[25]++; -window.ProcessMaker.apiClient = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); -cov_uea4ftz59().s[26]++; -window.ProcessMaker.apiClient.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"; - -// Setup api versions -var apiVersionConfig = (cov_uea4ftz59().s[27]++, [{ - version: "1.0", - baseURL: "/api/1.0/" -}, { - version: "1.1", - baseURL: "/api/1.1/" -}]); -cov_uea4ftz59().s[28]++; -window.ProcessMaker.apiClient.defaults.baseURL = apiVersionConfig[0].baseURL; -cov_uea4ftz59().s[29]++; -window.ProcessMaker.apiClient.interceptors.request.use(function (config) { - cov_uea4ftz59().f[3]++; - cov_uea4ftz59().s[30]++; - if ((cov_uea4ftz59().b[3][0]++, typeof config.url !== "string") || (cov_uea4ftz59().b[3][1]++, !config.url)) { - cov_uea4ftz59().b[2][0]++; - cov_uea4ftz59().s[31]++; - throw new Error("Invalid URL in the request configuration"); - } else { - cov_uea4ftz59().b[2][1]++; - } - cov_uea4ftz59().s[32]++; - apiVersionConfig.forEach(function (_ref) { - var version = _ref.version, - baseURL = _ref.baseURL; - cov_uea4ftz59().f[4]++; - var versionPrefix = (cov_uea4ftz59().s[33]++, "/api/".concat(version, "/")); - cov_uea4ftz59().s[34]++; - if (config.url.startsWith(versionPrefix)) { - cov_uea4ftz59().b[4][0]++; - cov_uea4ftz59().s[35]++; - // eslint-disable-next-line no-param-reassign - config.baseURL = baseURL; - // eslint-disable-next-line no-param-reassign - cov_uea4ftz59().s[36]++; - config.url = config.url.replace(versionPrefix, ""); - } else { - cov_uea4ftz59().b[4][1]++; - } - }); - cov_uea4ftz59().s[37]++; - return config; -}); - -// Set the default API timeout -var apiTimeout = (cov_uea4ftz59().s[38]++, 5000); -cov_uea4ftz59().s[39]++; -if ((cov_uea4ftz59().b[6][0]++, window.Processmaker) && (cov_uea4ftz59().b[6][1]++, window.Processmaker.apiTimeout !== undefined)) { - cov_uea4ftz59().b[5][0]++; - cov_uea4ftz59().s[40]++; - apiTimeout = window.Processmaker.apiTimeout; -} else { - cov_uea4ftz59().b[5][1]++; -} -cov_uea4ftz59().s[41]++; -window.ProcessMaker.apiClient.defaults.timeout = apiTimeout; - -// click an active tab after all components have mounted -cov_uea4ftz59().s[42]++; -vue__WEBPACK_IMPORTED_MODULE_9__["default"].use({ - install: function install(vue) { - cov_uea4ftz59().f[5]++; - cov_uea4ftz59().s[43]++; - vue.mixin({ - mounted: function mounted() { - cov_uea4ftz59().f[6]++; - cov_uea4ftz59().s[44]++; - if (this.$parent) { - cov_uea4ftz59().b[7][0]++; - cov_uea4ftz59().s[45]++; - // only run on root - return; - } else { - cov_uea4ftz59().b[7][1]++; - } - } - }); - } -}); - -// Send an event when the global Vue and ProcessMaker instance is available -cov_uea4ftz59().s[46]++; -window.dispatchEvent(new Event("app-bootstrapped")); - -/***/ }), - -/***/ "./resources/js/components/common/mixins/accessibility.js": -/*!****************************************************************!*\ - !*** ./resources/js/components/common/mixins/accessibility.js ***! - \****************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); - -function cov_1m92uxlif6() { - var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/components/common/mixins/accessibility.js"; - var hash = "0e9d2f7988eca41f690710783b46356cf01e01f4"; - var global = new Function("return this")(); - var gcv = "__coverage__"; - var coverageData = { - path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/components/common/mixins/accessibility.js", - statementMap: { - "0": { - start: { - line: 3, - column: 4 - }, - end: { - line: 5, - column: 6 } }, - "1": { - start: { - line: 9, - column: 4 - }, - end: { - line: 13, - column: 5 - } - }, - "2": { - start: { - line: 11, - column: 6 + fnMap: { + "0": { + name: "(anonymous_0)", + decl: { + start: { + line: 47, + column: 2 + }, + end: { + line: 47, + column: 3 + } + }, + loc: { + start: { + line: 47, + column: 28 + }, + end: { + line: 51, + column: 3 + } + }, + line: 47 }, - end: { - line: 11, - column: 62 - } - }, - "3": { - start: { - line: 12, - column: 6 + "1": { + name: "(anonymous_1)", + decl: { + start: { + line: 64, + column: 2 + }, + end: { + line: 64, + column: 3 + } + }, + loc: { + start: { + line: 64, + column: 32 + }, + end: { + line: 70, + column: 3 + } + }, + line: 64 }, - end: { - line: 12, - column: 64 - } - }, - "4": { - start: { - line: 15, - column: 4 + "2": { + name: "(anonymous_2)", + decl: { + start: { + line: 83, + column: 37 + }, + end: { + line: 83, + column: 38 + } + }, + loc: { + start: { + line: 83, + column: 43 + }, + end: { + line: 83, + column: 73 + } + }, + line: 83 }, - end: { - line: 22, - column: 5 - } - }, - "5": { - start: { - line: 17, - column: 6 + "3": { + name: "(anonymous_3)", + decl: { + start: { + line: 101, + column: 55 + }, + end: { + line: 101, + column: 56 + } + }, + loc: { + start: { + line: 101, + column: 67 + }, + end: { + line: 117, + column: 1 + } + }, + line: 101 }, - end: { - line: 17, - column: 77 - } - }, - "6": { - start: { - line: 18, - column: 6 + "4": { + name: "(anonymous_4)", + decl: { + start: { + line: 106, + column: 27 + }, + end: { + line: 106, + column: 28 + } + }, + loc: { + start: { + line: 106, + column: 53 + }, + end: { + line: 114, + column: 3 + } + }, + line: 106 }, - end: { - line: 18, - column: 41 - } - }, - "7": { - start: { - line: 21, - column: 6 + "5": { + name: "(anonymous_5)", + decl: { + start: { + line: 129, + column: 2 + }, + end: { + line: 129, + column: 3 + } + }, + loc: { + start: { + line: 129, + column: 15 + }, + end: { + line: 138, + column: 3 + } + }, + line: 129 }, - end: { - line: 21, - column: 37 + "6": { + name: "(anonymous_6)", + decl: { + start: { + line: 131, + column: 6 + }, + end: { + line: 131, + column: 7 + } + }, + loc: { + start: { + line: 131, + column: 16 + }, + end: { + line: 136, + column: 7 + } + }, + line: 131 } }, - "8": { - start: { - line: 32, - column: 6 + branchMap: { + "0": { + loc: { + start: { + line: 48, + column: 4 + }, + end: { + line: 48, + column: 56 + } + }, + type: "if", + locations: [{ + start: { + line: 48, + column: 4 + }, + end: { + line: 48, + column: 56 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 48 }, - end: { - line: 35, - column: 7 - } - }, - "9": { - start: { - line: 34, - column: 8 + "1": { + loc: { + start: { + line: 65, + column: 4 + }, + end: { + line: 65, + column: 46 + } + }, + type: "if", + locations: [{ + start: { + line: 65, + column: 4 + }, + end: { + line: 65, + column: 46 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 65 }, - end: { - line: 34, - column: 15 - } - }, - "10": { - start: { - line: 40, - column: 21 + "2": { + loc: { + start: { + line: 102, + column: 2 + }, + end: { + line: 104, + column: 3 + } + }, + type: "if", + locations: [{ + start: { + line: 102, + column: 2 + }, + end: { + line: 104, + column: 3 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 102 }, - end: { - line: 42, - column: 27 - } - }, - "11": { - start: { - line: 46, - column: 31 + "3": { + loc: { + start: { + line: 102, + column: 6 + }, + end: { + line: 102, + column: 51 + } + }, + type: "binary-expr", + locations: [{ + start: { + line: 102, + column: 6 + }, + end: { + line: 102, + column: 36 + } + }, { + start: { + line: 102, + column: 40 + }, + end: { + line: 102, + column: 51 + } + }], + line: 102 }, - end: { - line: 46, - column: 101 - } - }, - "12": { - start: { - line: 49, - column: 6 + "4": { + loc: { + start: { + line: 108, + column: 4 + }, + end: { + line: 113, + column: 5 + } + }, + type: "if", + locations: [{ + start: { + line: 108, + column: 4 + }, + end: { + line: 113, + column: 5 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 108 }, - end: { - line: 56, - column: 7 - } - }, - "13": { - start: { - line: 51, - column: 28 + "5": { + loc: { + start: { + line: 121, + column: 0 + }, + end: { + line: 123, + column: 1 + } + }, + type: "if", + locations: [{ + start: { + line: 121, + column: 0 + }, + end: { + line: 123, + column: 1 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 121 }, - end: { - line: 51, - column: 84 - } - }, - "14": { - start: { - line: 52, - column: 10 + "6": { + loc: { + start: { + line: 121, + column: 4 + }, + end: { + line: 121, + column: 71 + } + }, + type: "binary-expr", + locations: [{ + start: { + line: 121, + column: 4 + }, + end: { + line: 121, + column: 23 + } + }, { + start: { + line: 121, + column: 27 + }, + end: { + line: 121, + column: 71 + } + }], + line: 121 }, - end: { - line: 54, - column: 11 + "7": { + loc: { + start: { + line: 132, + column: 8 + }, + end: { + line: 135, + column: 9 + } + }, + type: "if", + locations: [{ + start: { + line: 132, + column: 8 + }, + end: { + line: 135, + column: 9 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 132 } }, - "15": { - start: { - line: 53, - column: 14 - }, - end: { - line: 53, - column: 21 - } + s: { + "0": 0, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0, + "13": 0, + "14": 0, + "15": 0, + "16": 0, + "17": 0, + "18": 0, + "19": 0, + "20": 0, + "21": 0, + "22": 0, + "23": 0, + "24": 0, + "25": 0, + "26": 0, + "27": 0, + "28": 0, + "29": 0, + "30": 0, + "31": 0, + "32": 0, + "33": 0, + "34": 0, + "35": 0, + "36": 0, + "37": 0, + "38": 0, + "39": 0, + "40": 0, + "41": 0, + "42": 0, + "43": 0, + "44": 0, + "45": 0, + "46": 0 }, - "16": { - start: { - line: 55, - column: 8 - }, - end: { - line: 55, - column: 32 - } + f: { + "0": 0, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0 }, - "17": { - start: { - line: 59, - column: 8 - }, - end: { - line: 61, - column: 9 - } + b: { + "0": [0, 0], + "1": [0, 0], + "2": [0, 0], + "3": [0, 0], + "4": [0, 0], + "5": [0, 0], + "6": [0, 0], + "7": [0, 0] }, - "18": { - start: { - line: 60, - column: 12 - }, - end: { - line: 60, - column: 24 + _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", + hash: "195e5558a5d99dbe9490879ad07aabe07e89bf1c" + }; + var coverage = global[gcv] || (global[gcv] = {}); + if (!coverage[path] || coverage[path].hash !== hash) { + coverage[path] = coverageData; + } + var actualCoverage = coverage[path]; + { + // @ts-ignore + cov_2337h25edu = function () { + return actualCoverage; + }; + } + return actualCoverage; + } + cov_2337h25edu(); + + + + /** + * Setup Translations + */ + + + + + + + + + + cov_2337h25edu().s[0]++; + window.__ = _modules_lang_js__WEBPACK_IMPORTED_MODULE_7__["default"]; + cov_2337h25edu().s[1]++; + window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); + cov_2337h25edu().s[2]++; + window.Popper = (__webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")["default"]); + cov_2337h25edu().s[3]++; + window.$ = window.jQuery = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); + cov_2337h25edu().s[4]++; + window.Vue = vue__WEBPACK_IMPORTED_MODULE_9__["default"]; + cov_2337h25edu().s[5]++; + window.vue = vue__WEBPACK_IMPORTED_MODULE_9__; + cov_2337h25edu().s[6]++; + window.bootstrap = bootstrap__WEBPACK_IMPORTED_MODULE_0__; + cov_2337h25edu().s[7]++; + window.Vue.use((vue_cookies__WEBPACK_IMPORTED_MODULE_6___default())); + cov_2337h25edu().s[8]++; + window.Vue.use(_panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"]); + var translationsLoaded = (cov_2337h25edu().s[9]++, false); + var mdates = (cov_2337h25edu().s[10]++, JSON.parse((_document$head$queryS = document.head.querySelector("meta[name=\"i18n-mdate\"]")) === null || _document$head$queryS === void 0 ? void 0 : _document$head$queryS.content)); + + // Make $t available to all vue instances + cov_2337h25edu().s[11]++; + vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin({ + i18n: new _panter_vue_i18next__WEBPACK_IMPORTED_MODULE_5__["default"](i18next__WEBPACK_IMPORTED_MODULE_1__["default"]) + }); + cov_2337h25edu().s[12]++; + vue__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_components_common_mixins_accessibility__WEBPACK_IMPORTED_MODULE_8__["default"]); + cov_2337h25edu().s[13]++; + window.ProcessMaker = { + i18n: i18next__WEBPACK_IMPORTED_MODULE_1__["default"], + /** + * A general use global event bus that can be used + */ + EventBus: new vue__WEBPACK_IMPORTED_MODULE_9__["default"](), + packages: [], + missingTranslations: new Set(), + missingTranslation: function missingTranslation(value) { + cov_2337h25edu().f[0]++; + cov_2337h25edu().s[14]++; + if (this.missingTranslations.has(value)) { + cov_2337h25edu().b[0][0]++; + cov_2337h25edu().s[15]++; + return; + } else { + cov_2337h25edu().b[0][1]++; + } + cov_2337h25edu().s[16]++; + this.missingTranslations.add(value); + cov_2337h25edu().s[17]++; + console.warn("Missing Translation:", value); + }, + $notifications: { + icons: {} + } + }; + cov_2337h25edu().s[18]++; + window.ProcessMaker.i18nPromise = i18next__WEBPACK_IMPORTED_MODULE_1__["default"].use((i18next_chained_backend__WEBPACK_IMPORTED_MODULE_2___default())).init({ + lng: document.documentElement.lang, + fallbackLng: "en", + // default language when no translations + returnEmptyString: false, + // When a translation is an empty string, return the default language, not empty + nsSeparator: false, + keySeparator: false, + parseMissingKeyHandler: function parseMissingKeyHandler(value) { + cov_2337h25edu().f[1]++; + cov_2337h25edu().s[19]++; + if (!translationsLoaded) { + cov_2337h25edu().b[1][0]++; + cov_2337h25edu().s[20]++; + return value; + } else { + cov_2337h25edu().b[1][1]++; + } + // Report that a translation is missing + cov_2337h25edu().s[21]++; + window.ProcessMaker.missingTranslation(value); + // Fallback to showing the english version + cov_2337h25edu().s[22]++; + return value; + }, + backend: { + backends: [(i18next_localstorage_backend__WEBPACK_IMPORTED_MODULE_3___default()), + // Try cache first + (i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_4___default())], + backendOptions: [{ + versions: mdates + }, { + loadPath: "/i18next/fetch/{{lng}}/_default" + }] + } + }); + cov_2337h25edu().s[23]++; + window.ProcessMaker.i18nPromise.then(function () { + cov_2337h25edu().f[2]++; + cov_2337h25edu().s[24]++; + translationsLoaded = true; + }); + + /** + * Create a axios instance which any vue component can bring in to call + * REST api endpoints through oauth authentication + * + */ + cov_2337h25edu().s[25]++; + window.ProcessMaker.apiClient = __webpack_require__(/*! axios */ "./node_modules/axios/index.js"); + cov_2337h25edu().s[26]++; + window.ProcessMaker.apiClient.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest"; + + // Setup api versions + var apiVersionConfig = (cov_2337h25edu().s[27]++, [{ + version: "1.0", + baseURL: "/api/1.0/" + }, { + version: "1.1", + baseURL: "/api/1.1/" + }]); + cov_2337h25edu().s[28]++; + window.ProcessMaker.apiClient.defaults.baseURL = apiVersionConfig[0].baseURL; + cov_2337h25edu().s[29]++; + window.ProcessMaker.apiClient.interceptors.request.use(function (config) { + cov_2337h25edu().f[3]++; + cov_2337h25edu().s[30]++; + if ((cov_2337h25edu().b[3][0]++, typeof config.url !== "string") || (cov_2337h25edu().b[3][1]++, !config.url)) { + cov_2337h25edu().b[2][0]++; + cov_2337h25edu().s[31]++; + throw new Error("Invalid URL in the request configuration"); + } else { + cov_2337h25edu().b[2][1]++; + } + cov_2337h25edu().s[32]++; + apiVersionConfig.forEach(function (_ref) { + var version = _ref.version, + baseURL = _ref.baseURL; + cov_2337h25edu().f[4]++; + var versionPrefix = (cov_2337h25edu().s[33]++, "/api/".concat(version, "/")); + cov_2337h25edu().s[34]++; + if (config.url.startsWith(versionPrefix)) { + cov_2337h25edu().b[4][0]++; + cov_2337h25edu().s[35]++; + // eslint-disable-next-line no-param-reassign + config.baseURL = baseURL; + // eslint-disable-next-line no-param-reassign + cov_2337h25edu().s[36]++; + config.url = config.url.replace(versionPrefix, ""); + } else { + cov_2337h25edu().b[4][1]++; + } + }); + cov_2337h25edu().s[37]++; + return config; + }); + + // Set the default API timeout + var apiTimeout = (cov_2337h25edu().s[38]++, 5000); + cov_2337h25edu().s[39]++; + if ((cov_2337h25edu().b[6][0]++, window.Processmaker) && (cov_2337h25edu().b[6][1]++, window.Processmaker.apiTimeout !== undefined)) { + cov_2337h25edu().b[5][0]++; + cov_2337h25edu().s[40]++; + apiTimeout = window.Processmaker.apiTimeout; + } else { + cov_2337h25edu().b[5][1]++; + } + cov_2337h25edu().s[41]++; + window.ProcessMaker.apiClient.defaults.timeout = apiTimeout; + + // click an active tab after all components have mounted + cov_2337h25edu().s[42]++; + vue__WEBPACK_IMPORTED_MODULE_9__["default"].use({ + install: function install(vue) { + cov_2337h25edu().f[5]++; + cov_2337h25edu().s[43]++; + vue.mixin({ + mounted: function mounted() { + cov_2337h25edu().f[6]++; + cov_2337h25edu().s[44]++; + if (this.$parent) { + cov_2337h25edu().b[7][0]++; + cov_2337h25edu().s[45]++; + // only run on root + return; + } else { + cov_2337h25edu().b[7][1]++; + } } - }, - "19": { - start: { - line: 62, - column: 8 - }, - end: { - line: 67, - column: 9 - } - }, - "20": { - start: { - line: 63, - column: 12 - }, - end: { - line: 63, - column: 35 - } - }, - "21": { - start: { - line: 66, - column: 12 - }, - end: { - line: 66, - column: 78 - } - }, - "22": { - start: { - line: 70, - column: 6 - }, - end: { - line: 72, - column: 7 - } - }, - "23": { - start: { - line: 71, - column: 8 - }, - end: { - line: 71, - column: 18 - } - }, - "24": { - start: { - line: 75, - column: 6 - }, - end: { - line: 78, - column: 7 - } - }, - "25": { - start: { - line: 76, - column: 8 - }, - end: { - line: 76, - column: 84 - } - }, - "26": { - start: { - line: 77, - column: 8 - }, - end: { - line: 77, - column: 59 - } - }, - "27": { - start: { - line: 81, - column: 6 - }, - end: { - line: 81, - column: 83 - } - }, - "28": { - start: { - line: 82, - column: 6 - }, - end: { - line: 82, - column: 57 - } - }, - "29": { - start: { - line: 85, - column: 21 - }, - end: { - line: 85, - column: 64 - } - }, - "30": { - start: { - line: 86, - column: 6 - }, - end: { - line: 88, - column: 7 - } - }, - "31": { - start: { - line: 87, - column: 8 - }, - end: { - line: 87, - column: 40 - } - }, - "32": { - start: { - line: 91, - column: 23 - }, - end: { - line: 94, - column: 19 - } - }, - "33": { - start: { - line: 92, - column: 32 - }, - end: { - line: 92, - column: 46 - } - }, - "34": { - start: { - line: 93, - column: 29 - }, - end: { - line: 93, - column: 48 - } - }, - "35": { - start: { - line: 96, - column: 6 - }, - end: { - line: 98, - column: 7 - } - }, - "36": { - start: { - line: 97, - column: 8 - }, - end: { - line: 97, - column: 15 - } - }, - "37": { - start: { - line: 100, - column: 25 - }, - end: { - line: 100, - column: 57 - } - }, - "38": { - start: { - line: 101, - column: 6 - }, - end: { - line: 103, - column: 7 - } - }, - "39": { - start: { - line: 102, - column: 8 - }, - end: { - line: 102, - column: 27 - } - } - }, - fnMap: { - "0": { - name: "(anonymous_0)", - decl: { + }); + } + }); + + // Send an event when the global Vue and ProcessMaker instance is available + cov_2337h25edu().s[46]++; + window.dispatchEvent(new Event("app-bootstrapped")); + + /***/ }), + + /***/ "./resources/js/components/common/mixins/accessibility.js": + /*!****************************************************************!*\ + !*** ./resources/js/components/common/mixins/accessibility.js ***! + \****************************************************************/ + /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + + "use strict"; + __webpack_require__.r(__webpack_exports__); + /* harmony export */ __webpack_require__.d(__webpack_exports__, { + /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) + /* harmony export */ }); + /* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/esm/slicedToArray.js"); + + function cov_20gejcf4ab() { + var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/components/common/mixins/accessibility.js"; + var hash = "32ff012b53571eb61942410b27f8a8c856256151"; + var global = new Function("return this")(); + var gcv = "__coverage__"; + var coverageData = { + path: "/Users/sanjacornelius/Documents/processmaker/resources/js/components/common/mixins/accessibility.js", + statementMap: { + "0": { start: { - line: 2, - column: 2 + line: 3, + column: 4 }, end: { - line: 2, - column: 3 + line: 5, + column: 6 } }, - loc: { + "1": { start: { - line: 2, - column: 9 + line: 9, + column: 4 }, end: { - line: 6, - column: 3 + line: 13, + column: 5 } }, - line: 2 - }, - "1": { - name: "(anonymous_1)", - decl: { + "2": { start: { - line: 7, - column: 2 + line: 11, + column: 6 }, end: { - line: 7, - column: 3 + line: 11, + column: 62 } }, - loc: { + "3": { start: { - line: 7, - column: 12 + line: 12, + column: 6 }, end: { - line: 23, - column: 3 + line: 12, + column: 64 } }, - line: 7 - }, - "2": { - name: "(anonymous_2)", - decl: { + "4": { start: { - line: 31, + line: 15, column: 4 }, end: { - line: 31, + line: 22, column: 5 } }, - loc: { + "5": { start: { - line: 31, - column: 40 + line: 17, + column: 6 }, end: { - line: 57, - column: 5 + line: 17, + column: 77 } }, - line: 31 - }, - "3": { - name: "(anonymous_3)", - decl: { + "6": { start: { - line: 58, - column: 4 + line: 18, + column: 6 }, end: { - line: 58, - column: 5 + line: 18, + column: 41 } }, - loc: { + "7": { start: { - line: 58, - column: 47 + line: 21, + column: 6 }, end: { - line: 68, - column: 5 + line: 21, + column: 37 } }, - line: 58 - }, - "4": { - name: "(anonymous_4)", - decl: { + "8": { start: { - line: 69, - column: 4 + line: 32, + column: 6 }, end: { - line: 69, - column: 5 + line: 35, + column: 7 } }, - loc: { + "9": { start: { - line: 69, - column: 27 + line: 34, + column: 8 }, end: { - line: 73, - column: 5 + line: 34, + column: 15 } }, - line: 69 - }, - "5": { - name: "(anonymous_5)", - decl: { + "10": { start: { - line: 74, - column: 4 + line: 40, + column: 21 }, end: { - line: 74, - column: 5 + line: 42, + column: 27 } }, - loc: { + "11": { start: { - line: 74, - column: 30 + line: 46, + column: 31 }, end: { - line: 79, - column: 5 + line: 46, + column: 101 } }, - line: 74 - }, - "6": { - name: "(anonymous_6)", - decl: { + "12": { start: { - line: 80, - column: 4 + line: 49, + column: 6 }, end: { - line: 80, - column: 5 + line: 56, + column: 7 } }, - loc: { + "13": { start: { - line: 80, - column: 34 + line: 51, + column: 28 }, end: { - line: 83, - column: 5 + line: 51, + column: 84 } }, - line: 80 - }, - "7": { - name: "(anonymous_7)", - decl: { + "14": { start: { - line: 84, - column: 4 + line: 52, + column: 10 }, end: { - line: 84, - column: 5 + line: 54, + column: 11 } }, - loc: { + "15": { start: { - line: 84, - column: 28 + line: 53, + column: 14 }, end: { - line: 89, - column: 5 + line: 53, + column: 21 } }, - line: 84 - }, - "8": { - name: "(anonymous_8)", - decl: { + "16": { start: { - line: 90, - column: 4 + line: 55, + column: 8 }, end: { - line: 90, - column: 5 + line: 55, + column: 32 } }, - loc: { + "17": { start: { - line: 90, - column: 33 + line: 59, + column: 8 }, end: { - line: 104, - column: 5 + line: 61, + column: 9 } }, - line: 90 - }, - "9": { - name: "(anonymous_9)", - decl: { + "18": { start: { - line: 92, - column: 16 + line: 60, + column: 12 }, end: { - line: 92, - column: 17 + line: 60, + column: 24 } }, - loc: { + "19": { start: { - line: 92, - column: 32 + line: 62, + column: 8 }, end: { - line: 92, - column: 46 + line: 67, + column: 9 } }, - line: 92 - }, - "10": { - name: "(anonymous_10)", - decl: { + "20": { start: { - line: 93, - column: 13 + line: 63, + column: 12 }, end: { - line: 93, - column: 14 + line: 63, + column: 35 } }, - loc: { + "21": { start: { - line: 93, - column: 29 + line: 66, + column: 12 }, end: { - line: 93, - column: 48 + line: 66, + column: 78 } }, - line: 93 - } - }, - branchMap: { - "0": { - loc: { + "22": { start: { - line: 9, - column: 4 + line: 70, + column: 6 }, end: { - line: 13, - column: 5 + line: 72, + column: 7 } }, - type: "if", - locations: [{ + "23": { start: { - line: 9, - column: 4 + line: 71, + column: 8 }, end: { - line: 13, - column: 5 + line: 71, + column: 18 } - }, { + }, + "24": { start: { - line: undefined, - column: undefined + line: 75, + column: 6 }, end: { - line: undefined, - column: undefined + line: 78, + column: 7 } - }], - line: 9 - }, - "1": { - loc: { + }, + "25": { start: { - line: 15, - column: 4 + line: 76, + column: 8 }, end: { - line: 22, - column: 5 + line: 76, + column: 84 } }, - type: "if", - locations: [{ + "26": { start: { - line: 15, - column: 4 + line: 77, + column: 8 }, end: { - line: 22, - column: 5 + line: 77, + column: 59 } - }, { + }, + "27": { start: { - line: 19, - column: 11 + line: 81, + column: 6 }, end: { - line: 22, - column: 5 + line: 81, + column: 83 } - }], - line: 15 - }, - "2": { - loc: { + }, + "28": { start: { - line: 32, + line: 82, column: 6 }, end: { - line: 35, - column: 7 + line: 82, + column: 57 } }, - type: "if", - locations: [{ + "29": { start: { - line: 32, - column: 6 + line: 85, + column: 21 }, end: { - line: 35, - column: 7 + line: 85, + column: 64 } - }, { + }, + "30": { start: { - line: undefined, - column: undefined + line: 86, + column: 6 }, end: { - line: undefined, - column: undefined + line: 88, + column: 7 } - }], - line: 32 - }, - "3": { - loc: { + }, + "31": { start: { - line: 32, - column: 10 + line: 87, + column: 8 }, end: { - line: 33, - column: 63 + line: 87, + column: 40 } }, - type: "binary-expr", - locations: [{ + "32": { start: { - line: 32, - column: 10 + line: 91, + column: 23 }, end: { - line: 32, - column: 53 + line: 94, + column: 19 } - }, { + }, + "33": { start: { - line: 33, - column: 13 + line: 92, + column: 32 }, end: { - line: 33, - column: 63 + line: 92, + column: 46 } - }], - line: 32 - }, - "4": { - loc: { + }, + "34": { start: { - line: 40, - column: 21 + line: 93, + column: 29 }, end: { - line: 42, - column: 27 + line: 93, + column: 48 } }, - type: "cond-expr", - locations: [{ + "35": { start: { - line: 41, - column: 10 + line: 96, + column: 6 }, end: { - line: 41, - column: 34 + line: 98, + column: 7 } - }, { + }, + "36": { start: { - line: 42, - column: 10 + line: 97, + column: 8 }, end: { - line: 42, - column: 27 + line: 97, + column: 15 } - }], - line: 40 - }, - "5": { - loc: { + }, + "37": { start: { - line: 49, - column: 6 + line: 100, + column: 25 }, end: { - line: 56, - column: 7 + line: 100, + column: 57 } }, - type: "if", - locations: [{ + "38": { start: { - line: 49, + line: 101, column: 6 }, end: { - line: 56, + line: 103, column: 7 } - }, { + }, + "39": { start: { - line: undefined, - column: undefined + line: 102, + column: 8 }, end: { - line: undefined, - column: undefined + line: 102, + column: 27 } - }], - line: 49 + } }, - "6": { - loc: { - start: { - line: 52, - column: 10 + fnMap: { + "0": { + name: "(anonymous_0)", + decl: { + start: { + line: 2, + column: 2 + }, + end: { + line: 2, + column: 3 + } }, - end: { - line: 54, - column: 11 - } - }, - type: "if", - locations: [{ - start: { - line: 52, - column: 10 + loc: { + start: { + line: 2, + column: 9 + }, + end: { + line: 6, + column: 3 + } }, - end: { - line: 54, - column: 11 - } - }, { - start: { - line: undefined, - column: undefined + line: 2 + }, + "1": { + name: "(anonymous_1)", + decl: { + start: { + line: 7, + column: 2 + }, + end: { + line: 7, + column: 3 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 52 - }, - "7": { - loc: { - start: { - line: 52, - column: 14 + loc: { + start: { + line: 7, + column: 12 + }, + end: { + line: 23, + column: 3 + } }, - end: { - line: 52, - column: 80 - } + line: 7 }, - type: "binary-expr", - locations: [{ - start: { - line: 52, - column: 14 - }, - end: { - line: 52, - column: 32 - } - }, { - start: { - line: 52, - column: 36 + "2": { + name: "(anonymous_2)", + decl: { + start: { + line: 31, + column: 4 + }, + end: { + line: 31, + column: 5 + } }, - end: { - line: 52, - column: 80 - } - }], - line: 52 - }, - "8": { - loc: { - start: { - line: 59, - column: 8 + loc: { + start: { + line: 31, + column: 40 + }, + end: { + line: 57, + column: 5 + } }, - end: { - line: 61, - column: 9 - } + line: 31 }, - type: "if", - locations: [{ - start: { - line: 59, - column: 8 - }, - end: { - line: 61, - column: 9 - } - }, { - start: { - line: undefined, - column: undefined + "3": { + name: "(anonymous_3)", + decl: { + start: { + line: 58, + column: 4 + }, + end: { + line: 58, + column: 5 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 59 - }, - "9": { - loc: { - start: { - line: 62, - column: 8 + loc: { + start: { + line: 58, + column: 47 + }, + end: { + line: 68, + column: 5 + } }, - end: { - line: 67, - column: 9 - } + line: 58 }, - type: "if", - locations: [{ - start: { - line: 62, - column: 8 + "4": { + name: "(anonymous_4)", + decl: { + start: { + line: 69, + column: 4 + }, + end: { + line: 69, + column: 5 + } }, - end: { - line: 67, - column: 9 - } - }, { - start: { - line: 65, - column: 13 + loc: { + start: { + line: 69, + column: 27 + }, + end: { + line: 73, + column: 5 + } }, - end: { - line: 67, - column: 9 - } - }], - line: 62 - }, - "10": { - loc: { - start: { - line: 70, - column: 6 + line: 69 + }, + "5": { + name: "(anonymous_5)", + decl: { + start: { + line: 74, + column: 4 + }, + end: { + line: 74, + column: 5 + } }, - end: { - line: 72, - column: 7 - } + loc: { + start: { + line: 74, + column: 30 + }, + end: { + line: 79, + column: 5 + } + }, + line: 74 }, - type: "if", - locations: [{ - start: { - line: 70, - column: 6 + "6": { + name: "(anonymous_6)", + decl: { + start: { + line: 80, + column: 4 + }, + end: { + line: 80, + column: 5 + } }, - end: { - line: 72, - column: 7 - } - }, { - start: { - line: undefined, - column: undefined + loc: { + start: { + line: 80, + column: 34 + }, + end: { + line: 83, + column: 5 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 70 - }, - "11": { - loc: { - start: { - line: 75, - column: 6 + line: 80 + }, + "7": { + name: "(anonymous_7)", + decl: { + start: { + line: 84, + column: 4 + }, + end: { + line: 84, + column: 5 + } }, - end: { - line: 78, - column: 7 - } + loc: { + start: { + line: 84, + column: 28 + }, + end: { + line: 89, + column: 5 + } + }, + line: 84 }, - type: "if", - locations: [{ - start: { - line: 75, - column: 6 + "8": { + name: "(anonymous_8)", + decl: { + start: { + line: 90, + column: 4 + }, + end: { + line: 90, + column: 5 + } }, - end: { - line: 78, - column: 7 - } - }, { - start: { - line: undefined, - column: undefined + loc: { + start: { + line: 90, + column: 33 + }, + end: { + line: 104, + column: 5 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 75 - }, - "12": { - loc: { - start: { - line: 86, - column: 6 + line: 90 + }, + "9": { + name: "(anonymous_9)", + decl: { + start: { + line: 92, + column: 16 + }, + end: { + line: 92, + column: 17 + } }, - end: { - line: 88, - column: 7 - } + loc: { + start: { + line: 92, + column: 32 + }, + end: { + line: 92, + column: 46 + } + }, + line: 92 }, - type: "if", - locations: [{ - start: { - line: 86, - column: 6 + "10": { + name: "(anonymous_10)", + decl: { + start: { + line: 93, + column: 13 + }, + end: { + line: 93, + column: 14 + } }, - end: { - line: 88, - column: 7 - } - }, { - start: { - line: undefined, - column: undefined + loc: { + start: { + line: 93, + column: 29 + }, + end: { + line: 93, + column: 48 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 86 + line: 93 + } }, - "13": { - loc: { - start: { - line: 96, - column: 6 + branchMap: { + "0": { + loc: { + start: { + line: 9, + column: 4 + }, + end: { + line: 13, + column: 5 + } }, - end: { - line: 98, - column: 7 - } + type: "if", + locations: [{ + start: { + line: 9, + column: 4 + }, + end: { + line: 13, + column: 5 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 9 }, - type: "if", - locations: [{ - start: { - line: 96, - column: 6 + "1": { + loc: { + start: { + line: 15, + column: 4 + }, + end: { + line: 22, + column: 5 + } }, - end: { - line: 98, - column: 7 - } - }, { - start: { - line: undefined, - column: undefined + type: "if", + locations: [{ + start: { + line: 15, + column: 4 + }, + end: { + line: 22, + column: 5 + } + }, { + start: { + line: 19, + column: 11 + }, + end: { + line: 22, + column: 5 + } + }], + line: 15 + }, + "2": { + loc: { + start: { + line: 32, + column: 6 + }, + end: { + line: 35, + column: 7 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 96 - }, - "14": { - loc: { - start: { - line: 101, - column: 6 + type: "if", + locations: [{ + start: { + line: 32, + column: 6 + }, + end: { + line: 35, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 32 + }, + "3": { + loc: { + start: { + line: 32, + column: 10 + }, + end: { + line: 33, + column: 63 + } }, - end: { - line: 103, - column: 7 - } + type: "binary-expr", + locations: [{ + start: { + line: 32, + column: 10 + }, + end: { + line: 32, + column: 53 + } + }, { + start: { + line: 33, + column: 13 + }, + end: { + line: 33, + column: 63 + } + }], + line: 32 }, - type: "if", - locations: [{ - start: { - line: 101, - column: 6 + "4": { + loc: { + start: { + line: 40, + column: 21 + }, + end: { + line: 42, + column: 27 + } }, - end: { - line: 103, - column: 7 - } - }, { - start: { - line: undefined, - column: undefined + type: "cond-expr", + locations: [{ + start: { + line: 41, + column: 10 + }, + end: { + line: 41, + column: 34 + } + }, { + start: { + line: 42, + column: 10 + }, + end: { + line: 42, + column: 27 + } + }], + line: 40 + }, + "5": { + loc: { + start: { + line: 49, + column: 6 + }, + end: { + line: 56, + column: 7 + } }, - end: { - line: undefined, - column: undefined - } - }], - line: 101 - } - }, - s: { - "0": 0, - "1": 0, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0, - "11": 0, - "12": 0, - "13": 0, - "14": 0, - "15": 0, - "16": 0, - "17": 0, - "18": 0, - "19": 0, - "20": 0, - "21": 0, - "22": 0, - "23": 0, - "24": 0, - "25": 0, - "26": 0, - "27": 0, - "28": 0, - "29": 0, - "30": 0, - "31": 0, - "32": 0, - "33": 0, - "34": 0, - "35": 0, - "36": 0, - "37": 0, - "38": 0, - "39": 0 - }, - f: { - "0": 0, - "1": 0, - "2": 0, - "3": 0, - "4": 0, - "5": 0, - "6": 0, - "7": 0, - "8": 0, - "9": 0, - "10": 0 - }, - b: { - "0": [0, 0], - "1": [0, 0], - "2": [0, 0], - "3": [0, 0], - "4": [0, 0], - "5": [0, 0], - "6": [0, 0], - "7": [0, 0], - "8": [0, 0], - "9": [0, 0], - "10": [0, 0], - "11": [0, 0], - "12": [0, 0], - "13": [0, 0], - "14": [0, 0] - }, - _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "0e9d2f7988eca41f690710783b46356cf01e01f4" - }; - var coverage = global[gcv] || (global[gcv] = {}); - if (!coverage[path] || coverage[path].hash !== hash) { - coverage[path] = coverageData; - } - var actualCoverage = coverage[path]; - { - // @ts-ignore - cov_1m92uxlif6 = function () { - return actualCoverage; - }; - } - return actualCoverage; -} -cov_1m92uxlif6(); -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - data: function data() { - cov_1m92uxlif6().f[0]++; - cov_1m92uxlif6().s[0]++; - return { - focusErrors: null + type: "if", + locations: [{ + start: { + line: 49, + column: 6 + }, + end: { + line: 56, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 49 + }, + "6": { + loc: { + start: { + line: 52, + column: 10 + }, + end: { + line: 54, + column: 11 + } + }, + type: "if", + locations: [{ + start: { + line: 52, + column: 10 + }, + end: { + line: 54, + column: 11 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 52 + }, + "7": { + loc: { + start: { + line: 52, + column: 14 + }, + end: { + line: 52, + column: 80 + } + }, + type: "binary-expr", + locations: [{ + start: { + line: 52, + column: 14 + }, + end: { + line: 52, + column: 32 + } + }, { + start: { + line: 52, + column: 36 + }, + end: { + line: 52, + column: 80 + } + }], + line: 52 + }, + "8": { + loc: { + start: { + line: 59, + column: 8 + }, + end: { + line: 61, + column: 9 + } + }, + type: "if", + locations: [{ + start: { + line: 59, + column: 8 + }, + end: { + line: 61, + column: 9 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 59 + }, + "9": { + loc: { + start: { + line: 62, + column: 8 + }, + end: { + line: 67, + column: 9 + } + }, + type: "if", + locations: [{ + start: { + line: 62, + column: 8 + }, + end: { + line: 67, + column: 9 + } + }, { + start: { + line: 65, + column: 13 + }, + end: { + line: 67, + column: 9 + } + }], + line: 62 + }, + "10": { + loc: { + start: { + line: 70, + column: 6 + }, + end: { + line: 72, + column: 7 + } + }, + type: "if", + locations: [{ + start: { + line: 70, + column: 6 + }, + end: { + line: 72, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 70 + }, + "11": { + loc: { + start: { + line: 75, + column: 6 + }, + end: { + line: 78, + column: 7 + } + }, + type: "if", + locations: [{ + start: { + line: 75, + column: 6 + }, + end: { + line: 78, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 75 + }, + "12": { + loc: { + start: { + line: 86, + column: 6 + }, + end: { + line: 88, + column: 7 + } + }, + type: "if", + locations: [{ + start: { + line: 86, + column: 6 + }, + end: { + line: 88, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 86 + }, + "13": { + loc: { + start: { + line: 96, + column: 6 + }, + end: { + line: 98, + column: 7 + } + }, + type: "if", + locations: [{ + start: { + line: 96, + column: 6 + }, + end: { + line: 98, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 96 + }, + "14": { + loc: { + start: { + line: 101, + column: 6 + }, + end: { + line: 103, + column: 7 + } + }, + type: "if", + locations: [{ + start: { + line: 101, + column: 6 + }, + end: { + line: 103, + column: 7 + } + }, { + start: { + line: undefined, + column: undefined + }, + end: { + line: undefined, + column: undefined + } + }], + line: 101 + } + }, + s: { + "0": 0, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0, + "11": 0, + "12": 0, + "13": 0, + "14": 0, + "15": 0, + "16": 0, + "17": 0, + "18": 0, + "19": 0, + "20": 0, + "21": 0, + "22": 0, + "23": 0, + "24": 0, + "25": 0, + "26": 0, + "27": 0, + "28": 0, + "29": 0, + "30": 0, + "31": 0, + "32": 0, + "33": 0, + "34": 0, + "35": 0, + "36": 0, + "37": 0, + "38": 0, + "39": 0 + }, + f: { + "0": 0, + "1": 0, + "2": 0, + "3": 0, + "4": 0, + "5": 0, + "6": 0, + "7": 0, + "8": 0, + "9": 0, + "10": 0 + }, + b: { + "0": [0, 0], + "1": [0, 0], + "2": [0, 0], + "3": [0, 0], + "4": [0, 0], + "5": [0, 0], + "6": [0, 0], + "7": [0, 0], + "8": [0, 0], + "9": [0, 0], + "10": [0, 0], + "11": [0, 0], + "12": [0, 0], + "13": [0, 0], + "14": [0, 0] + }, + _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", + hash: "32ff012b53571eb61942410b27f8a8c856256151" }; - }, - mounted: function mounted() { - cov_1m92uxlif6().f[1]++; - cov_1m92uxlif6().s[1]++; - // Listen only on the root Vue instance - if (!this.$parent) { - cov_1m92uxlif6().b[0][0]++; - cov_1m92uxlif6().s[2]++; - // Set the focus within any modal or popover that is instantiated - this.$root.$on("bv::modal::shown", this.setFocusWithin); - cov_1m92uxlif6().s[3]++; - this.$root.$on("bv::popover::shown", this.setFocusWithin); - } else { - cov_1m92uxlif6().b[0][1]++; - } - cov_1m92uxlif6().s[4]++; - if (this.focusErrors) { - cov_1m92uxlif6().b[1][0]++; - cov_1m92uxlif6().s[5]++; - // watch an object for form errors - this.$watch(this.focusErrors, this.focusErrorsChanged, { - deep: true - }); - cov_1m92uxlif6().s[6]++; - this.dontListenForApiClientError(); - } else { - cov_1m92uxlif6().b[1][1]++; - cov_1m92uxlif6().s[7]++; - // default api error focusing - this.listenForApiClientError(); + var coverage = global[gcv] || (global[gcv] = {}); + if (!coverage[path] || coverage[path].hash !== hash) { + coverage[path] = coverageData; + } + var actualCoverage = coverage[path]; + { + // @ts-ignore + cov_20gejcf4ab = function () { + return actualCoverage; + }; } - }, - methods: { - /** - * Sets the focused element within the most recently - * opened modal or popover component. - * @param shownEvent - * @param modalId - */ - setFocusWithin: function setFocusWithin(shownEvent, modalId) { - cov_1m92uxlif6().f[2]++; - cov_1m92uxlif6().s[8]++; - if ((cov_1m92uxlif6().b[3][0]++, !(shownEvent.target instanceof HTMLElement)) && (cov_1m92uxlif6().b[3][1]++, !(shownEvent.relatedTarget instanceof HTMLElement))) { - cov_1m92uxlif6().b[2][0]++; - cov_1m92uxlif6().s[9]++; - return; - } else { - cov_1m92uxlif6().b[2][1]++; - } - - // If relatedTarget is present and an HTMLElement, - // then we know we're working with a popover, - // otherwise it's a modal - var target = (cov_1m92uxlif6().s[10]++, shownEvent.relatedTarget instanceof HTMLElement ? (cov_1m92uxlif6().b[4][0]++, shownEvent.relatedTarget) : (cov_1m92uxlif6().b[4][1]++, shownEvent.target)); - - // Find the first focusable element that isn't the - // modal/popover close button - var focusableElement = (cov_1m92uxlif6().s[11]++, target.querySelector("input, select, textarea, button:not(.close), a")); - - // If there is an element to focus on, then do so - cov_1m92uxlif6().s[12]++; - if (focusableElement instanceof HTMLElement) { - cov_1m92uxlif6().b[5][0]++; - //do not set focus() if it is a vue-multiselect - var parentVue = (cov_1m92uxlif6().s[13]++, this.findHtmlElementParentVueComponent(focusableElement)); - cov_1m92uxlif6().s[14]++; - if ((cov_1m92uxlif6().b[7][0]++, parentVue !== null) && (cov_1m92uxlif6().b[7][1]++, parentVue.$options.name == 'vue-multiselect')) { - cov_1m92uxlif6().b[6][0]++; - cov_1m92uxlif6().s[15]++; - return; - } else { - cov_1m92uxlif6().b[6][1]++; - } - cov_1m92uxlif6().s[16]++; - focusableElement.focus(); - } else { - cov_1m92uxlif6().b[5][1]++; - } + return actualCoverage; + } + cov_20gejcf4ab(); + /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + data: function data() { + cov_20gejcf4ab().f[0]++; + cov_20gejcf4ab().s[0]++; + return { + focusErrors: null + }; }, - findHtmlElementParentVueComponent: function findHtmlElementParentVueComponent(element) { - cov_1m92uxlif6().f[3]++; - cov_1m92uxlif6().s[17]++; - if (element === undefined) { - cov_1m92uxlif6().b[8][0]++; - cov_1m92uxlif6().s[18]++; - return null; + mounted: function mounted() { + cov_20gejcf4ab().f[1]++; + cov_20gejcf4ab().s[1]++; + // Listen only on the root Vue instance + if (!this.$parent) { + cov_20gejcf4ab().b[0][0]++; + cov_20gejcf4ab().s[2]++; + // Set the focus within any modal or popover that is instantiated + this.$root.$on("bv::modal::shown", this.setFocusWithin); + cov_20gejcf4ab().s[3]++; + this.$root.$on("bv::popover::shown", this.setFocusWithin); } else { - cov_1m92uxlif6().b[8][1]++; - } - cov_1m92uxlif6().s[19]++; - if ('__vue__' in element) { - cov_1m92uxlif6().b[9][0]++; - cov_1m92uxlif6().s[20]++; - return element.__vue__; - } else { - cov_1m92uxlif6().b[9][1]++; - cov_1m92uxlif6().s[21]++; - return this.findHtmlElementParentVueComponent(element.parentNode); - } - }, - hasCustomFocusErrors: function hasCustomFocusErrors() { - cov_1m92uxlif6().f[4]++; - cov_1m92uxlif6().s[22]++; - if (this.$root._hasCustomFocusErrors) { - cov_1m92uxlif6().b[10][0]++; - cov_1m92uxlif6().s[23]++; - this.$off; + cov_20gejcf4ab().b[0][1]++; + } + cov_20gejcf4ab().s[4]++; + if (this.focusErrors) { + cov_20gejcf4ab().b[1][0]++; + cov_20gejcf4ab().s[5]++; + // watch an object for form errors + this.$watch(this.focusErrors, this.focusErrorsChanged, { + deep: true + }); + cov_20gejcf4ab().s[6]++; + this.dontListenForApiClientError(); } else { - cov_1m92uxlif6().b[10][1]++; + cov_20gejcf4ab().b[1][1]++; + cov_20gejcf4ab().s[7]++; + // default api error focusing + this.listenForApiClientError(); } }, - listenForApiClientError: function listenForApiClientError() { - cov_1m92uxlif6().f[5]++; - cov_1m92uxlif6().s[24]++; - if (typeof window.ProcessMaker._focusErrorsIntitalized === "undefined") { - cov_1m92uxlif6().b[11][0]++; - cov_1m92uxlif6().s[25]++; - window.ProcessMaker.EventBus.$on("api-client-error", this.onApiClientError); - cov_1m92uxlif6().s[26]++; + methods: { + /** + * Sets the focused element within the most recently + * opened modal or popover component. + * @param shownEvent + * @param modalId + */ + setFocusWithin: function setFocusWithin(shownEvent, modalId) { + cov_20gejcf4ab().f[2]++; + cov_20gejcf4ab().s[8]++; + if ((cov_20gejcf4ab().b[3][0]++, !(shownEvent.target instanceof HTMLElement)) && (cov_20gejcf4ab().b[3][1]++, !(shownEvent.relatedTarget instanceof HTMLElement))) { + cov_20gejcf4ab().b[2][0]++; + cov_20gejcf4ab().s[9]++; + return; + } else { + cov_20gejcf4ab().b[2][1]++; + } + + // If relatedTarget is present and an HTMLElement, + // then we know we're working with a popover, + // otherwise it's a modal + var target = (cov_20gejcf4ab().s[10]++, shownEvent.relatedTarget instanceof HTMLElement ? (cov_20gejcf4ab().b[4][0]++, shownEvent.relatedTarget) : (cov_20gejcf4ab().b[4][1]++, shownEvent.target)); + + // Find the first focusable element that isn't the + // modal/popover close button + var focusableElement = (cov_20gejcf4ab().s[11]++, target.querySelector("input, select, textarea, button:not(.close), a")); + + // If there is an element to focus on, then do so + cov_20gejcf4ab().s[12]++; + if (focusableElement instanceof HTMLElement) { + cov_20gejcf4ab().b[5][0]++; + //do not set focus() if it is a vue-multiselect + var parentVue = (cov_20gejcf4ab().s[13]++, this.findHtmlElementParentVueComponent(focusableElement)); + cov_20gejcf4ab().s[14]++; + if ((cov_20gejcf4ab().b[7][0]++, parentVue !== null) && (cov_20gejcf4ab().b[7][1]++, parentVue.$options.name == 'vue-multiselect')) { + cov_20gejcf4ab().b[6][0]++; + cov_20gejcf4ab().s[15]++; + return; + } else { + cov_20gejcf4ab().b[6][1]++; + } + cov_20gejcf4ab().s[16]++; + focusableElement.focus(); + } else { + cov_20gejcf4ab().b[5][1]++; + } + }, + findHtmlElementParentVueComponent: function findHtmlElementParentVueComponent(element) { + cov_20gejcf4ab().f[3]++; + cov_20gejcf4ab().s[17]++; + if (element === undefined) { + cov_20gejcf4ab().b[8][0]++; + cov_20gejcf4ab().s[18]++; + return null; + } else { + cov_20gejcf4ab().b[8][1]++; + } + cov_20gejcf4ab().s[19]++; + if ('__vue__' in element) { + cov_20gejcf4ab().b[9][0]++; + cov_20gejcf4ab().s[20]++; + return element.__vue__; + } else { + cov_20gejcf4ab().b[9][1]++; + cov_20gejcf4ab().s[21]++; + return this.findHtmlElementParentVueComponent(element.parentNode); + } + }, + hasCustomFocusErrors: function hasCustomFocusErrors() { + cov_20gejcf4ab().f[4]++; + cov_20gejcf4ab().s[22]++; + if (this.$root._hasCustomFocusErrors) { + cov_20gejcf4ab().b[10][0]++; + cov_20gejcf4ab().s[23]++; + this.$off; + } else { + cov_20gejcf4ab().b[10][1]++; + } + }, + listenForApiClientError: function listenForApiClientError() { + cov_20gejcf4ab().f[5]++; + cov_20gejcf4ab().s[24]++; + if (typeof window.ProcessMaker._focusErrorsIntitalized === "undefined") { + cov_20gejcf4ab().b[11][0]++; + cov_20gejcf4ab().s[25]++; + window.ProcessMaker.EventBus.$on("api-client-error", this.onApiClientError); + cov_20gejcf4ab().s[26]++; + window.ProcessMaker._focusErrorsIntitalized = true; + } else { + cov_20gejcf4ab().b[11][1]++; + } + }, + dontListenForApiClientError: function dontListenForApiClientError() { + cov_20gejcf4ab().f[6]++; + cov_20gejcf4ab().s[27]++; + window.ProcessMaker.EventBus.$off("api-client-error", this.onApiClientError); + cov_20gejcf4ab().s[28]++; window.ProcessMaker._focusErrorsIntitalized = true; - } else { - cov_1m92uxlif6().b[11][1]++; - } - }, - dontListenForApiClientError: function dontListenForApiClientError() { - cov_1m92uxlif6().f[6]++; - cov_1m92uxlif6().s[27]++; - window.ProcessMaker.EventBus.$off("api-client-error", this.onApiClientError); - cov_1m92uxlif6().s[28]++; - window.ProcessMaker._focusErrorsIntitalized = true; - }, - onApiClientError: function onApiClientError(error) { - cov_1m92uxlif6().f[7]++; - var errors = (cov_1m92uxlif6().s[29]++, _.get(error, "response.data.errors", false)); - cov_1m92uxlif6().s[30]++; - if (errors) { - cov_1m92uxlif6().b[12][0]++; - cov_1m92uxlif6().s[31]++; - this.focusErrorsChanged(errors); - } else { - cov_1m92uxlif6().b[12][1]++; - } - }, - focusErrorsChanged: function focusErrorsChanged(newValue) { - cov_1m92uxlif6().f[8]++; - var selector = (cov_1m92uxlif6().s[32]++, Object.entries(newValue).filter(function (_ref) { - var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), - _ = _ref2[0], - value = _ref2[1]; - cov_1m92uxlif6().f[9]++; - cov_1m92uxlif6().s[33]++; - return value !== null; - }) // Filter out null values - .map(function (_ref3) { - var _ref4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref3, 2), - field = _ref4[0], - _ = _ref4[1]; - cov_1m92uxlif6().f[10]++; - cov_1m92uxlif6().s[34]++; - return "[name='".concat(field, "']"); - }) // Select elements matching the name attribute - .join(", ")); - cov_1m92uxlif6().s[35]++; - if (!selector) { - cov_1m92uxlif6().b[13][0]++; - cov_1m92uxlif6().s[36]++; - return; - } else { - cov_1m92uxlif6().b[13][1]++; - } - var firstInput = (cov_1m92uxlif6().s[37]++, document.querySelector(selector)); // Find the first match - cov_1m92uxlif6().s[38]++; - if (firstInput) { - cov_1m92uxlif6().b[14][0]++; - cov_1m92uxlif6().s[39]++; - firstInput.focus(); - } else { - cov_1m92uxlif6().b[14][1]++; - } - } - } -}); - -/***/ }), - -/***/ "./resources/js/modules/lang.js": -/*!**************************************!*\ - !*** ./resources/js/modules/lang.js ***! - \**************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (/* binding */ translate) -/* harmony export */ }); -function cov_2rmq8yqjks() { - var path = "/Users/rodrigoquelca/Herd/processmaker/resources/js/modules/lang.js"; - var hash = "60dd3571884a36549a21e4082aea36122067deab"; - var global = new Function("return this")(); - var gcv = "__coverage__"; - var coverageData = { - path: "/Users/rodrigoquelca/Herd/processmaker/resources/js/modules/lang.js", - statementMap: { - "0": { - start: { - line: 2, - column: 2 - }, - end: { - line: 2, - column: 15 + }, + onApiClientError: function onApiClientError(error) { + cov_20gejcf4ab().f[7]++; + var errors = (cov_20gejcf4ab().s[29]++, _.get(error, "response.data.errors", false)); + cov_20gejcf4ab().s[30]++; + if (errors) { + cov_20gejcf4ab().b[12][0]++; + cov_20gejcf4ab().s[31]++; + this.focusErrorsChanged(errors); + } else { + cov_20gejcf4ab().b[12][1]++; + } + }, + focusErrorsChanged: function focusErrorsChanged(newValue) { + cov_20gejcf4ab().f[8]++; + var selector = (cov_20gejcf4ab().s[32]++, Object.entries(newValue).filter(function (_ref) { + var _ref2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref, 2), + _ = _ref2[0], + value = _ref2[1]; + cov_20gejcf4ab().f[9]++; + cov_20gejcf4ab().s[33]++; + return value !== null; + }) // Filter out null values + .map(function (_ref3) { + var _ref4 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref3, 2), + field = _ref4[0], + _ = _ref4[1]; + cov_20gejcf4ab().f[10]++; + cov_20gejcf4ab().s[34]++; + return "[name='".concat(field, "']"); + }) // Select elements matching the name attribute + .join(", ")); + cov_20gejcf4ab().s[35]++; + if (!selector) { + cov_20gejcf4ab().b[13][0]++; + cov_20gejcf4ab().s[36]++; + return; + } else { + cov_20gejcf4ab().b[13][1]++; + } + var firstInput = (cov_20gejcf4ab().s[37]++, document.querySelector(selector)); // Find the first match + cov_20gejcf4ab().s[38]++; + if (firstInput) { + cov_20gejcf4ab().b[14][0]++; + cov_20gejcf4ab().s[39]++; + firstInput.focus(); + } else { + cov_20gejcf4ab().b[14][1]++; } } - }, - fnMap: { - "0": { - name: "translate", - decl: { + } + }); + + /***/ }), + + /***/ "./resources/js/modules/lang.js": + /*!**************************************!*\ + !*** ./resources/js/modules/lang.js ***! + \**************************************/ + /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + + "use strict"; + __webpack_require__.r(__webpack_exports__); + /* harmony export */ __webpack_require__.d(__webpack_exports__, { + /* harmony export */ "default": () => (/* binding */ translate) + /* harmony export */ }); + function cov_kcsn6du19() { + var path = "/Users/sanjacornelius/Documents/processmaker/resources/js/modules/lang.js"; + var hash = "2cc2f52cbb98903a23b86bcdba9de5ccc6934daa"; + var global = new Function("return this")(); + var gcv = "__coverage__"; + var coverageData = { + path: "/Users/sanjacornelius/Documents/processmaker/resources/js/modules/lang.js", + statementMap: { + "0": { start: { - line: 1, - column: 24 + line: 2, + column: 2 }, end: { - line: 1, - column: 33 + line: 2, + column: 15 } - }, - loc: { - start: { - line: 1, - column: 41 + } + }, + fnMap: { + "0": { + name: "translate", + decl: { + start: { + line: 1, + column: 24 + }, + end: { + line: 1, + column: 33 + } }, - end: { - line: 3, - column: 1 - } - }, - line: 1 - } - }, - branchMap: {}, - s: { - "0": 0 - }, - f: { - "0": 0 - }, - b: {}, - _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", - hash: "60dd3571884a36549a21e4082aea36122067deab" - }; - var coverage = global[gcv] || (global[gcv] = {}); - if (!coverage[path] || coverage[path].hash !== hash) { - coverage[path] = coverageData; - } - var actualCoverage = coverage[path]; - { - // @ts-ignore - cov_2rmq8yqjks = function () { - return actualCoverage; + loc: { + start: { + line: 1, + column: 41 + }, + end: { + line: 3, + column: 1 + } + }, + line: 1 + } + }, + branchMap: {}, + s: { + "0": 0 + }, + f: { + "0": 0 + }, + b: {}, + _coverageSchema: "1a1c01bbd47fc00a2c39e90264f33305004495a9", + hash: "2cc2f52cbb98903a23b86bcdba9de5ccc6934daa" }; - } - return actualCoverage; -} -cov_2rmq8yqjks(); -function translate(value) { - cov_2rmq8yqjks().f[0]++; - cov_2rmq8yqjks().s[0]++; - return value; -} - -/***/ }), - -/***/ "./node_modules/bootstrap/dist/js/bootstrap.js": -/*!*****************************************************!*\ - !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -/*! - * Bootstrap v4.6.2 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -(function (global, factory) { - true ? factory(exports, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"), __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")) : - 0; -})(this, (function (exports, $, Popper) { 'use strict'; - - function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } - - var $__default = /*#__PURE__*/_interopDefaultLegacy($); - var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper); - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); + var coverage = global[gcv] || (global[gcv] = {}); + if (!coverage[path] || coverage[path].hash !== hash) { + coverage[path] = coverageData; + } + var actualCoverage = coverage[path]; + { + // @ts-ignore + cov_kcsn6du19 = function () { + return actualCoverage; + }; } + return actualCoverage; } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; + cov_kcsn6du19(); + function translate(value) { + cov_kcsn6du19().f[0]++; + cov_kcsn6du19().s[0]++; + return value; } - - function _extends() { - _extends = Object.assign ? Object.assign.bind() : function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; + + /***/ }), + + /***/ "./node_modules/bootstrap/dist/js/bootstrap.js": + /*!*****************************************************!*\ + !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***! + \*****************************************************/ + /***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + /*! + * Bootstrap v4.6.2 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + (function (global, factory) { + true ? factory(exports, __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"), __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js")) : + 0; + })(this, (function (exports, $, Popper) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var $__default = /*#__PURE__*/_interopDefaultLegacy($); + var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper); + + function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + Object.defineProperty(Constructor, "prototype", { + writable: false + }); + return Constructor; + } + + function _extends() { + _extends = Object.assign ? Object.assign.bind() : function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } } } + + return target; + }; + return _extends.apply(this, arguments); + } + + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + + _setPrototypeOf(subClass, superClass); + } + + function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + return _setPrototypeOf(o, p); + } + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.6.2): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + /** + * Private TransitionEnd Helpers + */ + + var TRANSITION_END = 'transitionend'; + var MAX_UID = 1000000; + var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + if (obj === null || typeof obj === 'undefined') { + return "" + obj; } - - return target; - }; - return _extends.apply(this, arguments); - } - - function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - - _setPrototypeOf(subClass, superClass); - } - - function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - return _setPrototypeOf(o, p); - } - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.6.2): util.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - /** - * Private TransitionEnd Helpers - */ - - var TRANSITION_END = 'transitionend'; - var MAX_UID = 1000000; - var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp) - - function toType(obj) { - if (obj === null || typeof obj === 'undefined') { - return "" + obj; + + return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); } - - return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase(); - } - - function getSpecialTransitionEndEvent() { - return { - bindType: TRANSITION_END, - delegateType: TRANSITION_END, - handle: function handle(event) { - if ($__default["default"](event.target).is(this)) { - return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + + function getSpecialTransitionEndEvent() { + return { + bindType: TRANSITION_END, + delegateType: TRANSITION_END, + handle: function handle(event) { + if ($__default["default"](event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; } - - return undefined; - } - }; - } - - function transitionEndEmulator(duration) { - var _this = this; - - var called = false; - $__default["default"](this).one(Util.TRANSITION_END, function () { - called = true; - }); - setTimeout(function () { - if (!called) { - Util.triggerTransitionEnd(_this); - } - }, duration); - return this; - } - - function setTransitionEndSupport() { - $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator; - $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); - } - /** - * Public Util API - */ - - - var Util = { - TRANSITION_END: 'bsTransitionEnd', - getUID: function getUID(prefix) { - do { - // eslint-disable-next-line no-bitwise - prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here - } while (document.getElementById(prefix)); - - return prefix; - }, - getSelectorFromElement: function getSelectorFromElement(element) { - var selector = element.getAttribute('data-target'); - - if (!selector || selector === '#') { - var hrefAttr = element.getAttribute('href'); - selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; - } - - try { - return document.querySelector(selector) ? selector : null; - } catch (_) { - return null; - } - }, - getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { - if (!element) { - return 0; - } // Get transition-duration of the element - - - var transitionDuration = $__default["default"](element).css('transition-duration'); - var transitionDelay = $__default["default"](element).css('transition-delay'); - var floatTransitionDuration = parseFloat(transitionDuration); - var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found - - if (!floatTransitionDuration && !floatTransitionDelay) { - return 0; - } // If multiple durations are defined, take the first - - - transitionDuration = transitionDuration.split(',')[0]; - transitionDelay = transitionDelay.split(',')[0]; - return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; - }, - reflow: function reflow(element) { - return element.offsetHeight; - }, - triggerTransitionEnd: function triggerTransitionEnd(element) { - $__default["default"](element).trigger(TRANSITION_END); - }, - supportsTransitionEnd: function supportsTransitionEnd() { - return Boolean(TRANSITION_END); - }, - isElement: function isElement(obj) { - return (obj[0] || obj).nodeType; - }, - typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { - for (var property in configTypes) { - if (Object.prototype.hasOwnProperty.call(configTypes, property)) { - var expectedTypes = configTypes[property]; - var value = config[property]; - var valueType = value && Util.isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); - } - } - } - }, - findShadowRoot: function findShadowRoot(element) { - if (!document.documentElement.attachShadow) { - return null; - } // Can find the shadow root otherwise it'll return the document - - - if (typeof element.getRootNode === 'function') { - var root = element.getRootNode(); - return root instanceof ShadowRoot ? root : null; - } - - if (element instanceof ShadowRoot) { - return element; - } // when we don't find a shadow root - - - if (!element.parentNode) { - return null; - } - - return Util.findShadowRoot(element.parentNode); - }, - jQueryDetection: function jQueryDetection() { - if (typeof $__default["default"] === 'undefined') { - throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); - } - - var version = $__default["default"].fn.jquery.split(' ')[0].split('.'); - var minMajor = 1; - var ltMajor = 2; - var minMinor = 9; - var minPatch = 1; - var maxMajor = 4; - - if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { - throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); - } + }; } - }; - Util.jQueryDetection(); - setTransitionEndSupport(); - - /** - * Constants - */ - - var NAME$a = 'alert'; - var VERSION$a = '4.6.2'; - var DATA_KEY$a = 'bs.alert'; - var EVENT_KEY$a = "." + DATA_KEY$a; - var DATA_API_KEY$7 = '.data-api'; - var JQUERY_NO_CONFLICT$a = $__default["default"].fn[NAME$a]; - var CLASS_NAME_ALERT = 'alert'; - var CLASS_NAME_FADE$5 = 'fade'; - var CLASS_NAME_SHOW$7 = 'show'; - var EVENT_CLOSE = "close" + EVENT_KEY$a; - var EVENT_CLOSED = "closed" + EVENT_KEY$a; - var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$a + DATA_API_KEY$7; - var SELECTOR_DISMISS = '[data-dismiss="alert"]'; - /** - * Class definition - */ - - var Alert = /*#__PURE__*/function () { - function Alert(element) { - this._element = element; - } // Getters - - - var _proto = Alert.prototype; - - // Public - _proto.close = function close(element) { - var rootElement = this._element; - - if (element) { - rootElement = this._getRootElement(element); - } - - var customEvent = this._triggerCloseEvent(rootElement); - - if (customEvent.isDefaultPrevented()) { - return; - } - - this._removeElement(rootElement); - }; - - _proto.dispose = function dispose() { - $__default["default"].removeData(this._element, DATA_KEY$a); - this._element = null; - } // Private - ; - - _proto._getRootElement = function _getRootElement(element) { - var selector = Util.getSelectorFromElement(element); - var parent = false; - - if (selector) { - parent = document.querySelector(selector); - } - - if (!parent) { - parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0]; - } - - return parent; - }; - - _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - var closeEvent = $__default["default"].Event(EVENT_CLOSE); - $__default["default"](element).trigger(closeEvent); - return closeEvent; - }; - - _proto._removeElement = function _removeElement(element) { + + function transitionEndEmulator(duration) { var _this = this; - - $__default["default"](element).removeClass(CLASS_NAME_SHOW$7); - - if (!$__default["default"](element).hasClass(CLASS_NAME_FADE$5)) { - this._destroyElement(element); - - return; - } - - var transitionDuration = Util.getTransitionDurationFromElement(element); - $__default["default"](element).one(Util.TRANSITION_END, function (event) { - return _this._destroyElement(element, event); - }).emulateTransitionEnd(transitionDuration); - }; - - _proto._destroyElement = function _destroyElement(element) { - $__default["default"](element).detach().trigger(EVENT_CLOSED).remove(); - } // Static - ; - - Alert._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $__default["default"](this); - var data = $element.data(DATA_KEY$a); - - if (!data) { - data = new Alert(this); - $element.data(DATA_KEY$a, data); + + var called = false; + $__default["default"](this).one(Util.TRANSITION_END, function () { + called = true; + }); + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); } - - if (config === 'close') { - data[config](this); + }, duration); + return this; + } + + function setTransitionEndSupport() { + $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator; + $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + /** + * Public Util API + */ + + + var Util = { + TRANSITION_END: 'bsTransitionEnd', + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); + + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector || selector === '#') { + var hrefAttr = element.getAttribute('href'); + selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''; + } + + try { + return document.querySelector(selector) ? selector : null; + } catch (_) { + return null; } - }); + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(element) { + if (!element) { + return 0; + } // Get transition-duration of the element + + + var transitionDuration = $__default["default"](element).css('transition-duration'); + var transitionDelay = $__default["default"](element).css('transition-delay'); + var floatTransitionDuration = parseFloat(transitionDuration); + var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found + + if (!floatTransitionDuration && !floatTransitionDelay) { + return 0; + } // If multiple durations are defined, take the first + + + transitionDuration = transitionDuration.split(',')[0]; + transitionDelay = transitionDelay.split(',')[0]; + return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER; + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $__default["default"](element).trigger(TRANSITION_END); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(TRANSITION_END); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? 'element' : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); + } + } + } + }, + findShadowRoot: function findShadowRoot(element) { + if (!document.documentElement.attachShadow) { + return null; + } // Can find the shadow root otherwise it'll return the document + + + if (typeof element.getRootNode === 'function') { + var root = element.getRootNode(); + return root instanceof ShadowRoot ? root : null; + } + + if (element instanceof ShadowRoot) { + return element; + } // when we don't find a shadow root + + + if (!element.parentNode) { + return null; + } + + return Util.findShadowRoot(element.parentNode); + }, + jQueryDetection: function jQueryDetection() { + if (typeof $__default["default"] === 'undefined') { + throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.'); + } + + var version = $__default["default"].fn.jquery.split(' ')[0].split('.'); + var minMajor = 1; + var ltMajor = 2; + var minMinor = 9; + var minPatch = 1; + var maxMajor = 4; + + if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) { + throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0'); + } + } }; - - Alert._handleDismiss = function _handleDismiss(alertInstance) { - return function (event) { - if (event) { - event.preventDefault(); + Util.jQueryDetection(); + setTransitionEndSupport(); + + /** + * Constants + */ + + var NAME$a = 'alert'; + var VERSION$a = '4.6.2'; + var DATA_KEY$a = 'bs.alert'; + var EVENT_KEY$a = "." + DATA_KEY$a; + var DATA_API_KEY$7 = '.data-api'; + var JQUERY_NO_CONFLICT$a = $__default["default"].fn[NAME$a]; + var CLASS_NAME_ALERT = 'alert'; + var CLASS_NAME_FADE$5 = 'fade'; + var CLASS_NAME_SHOW$7 = 'show'; + var EVENT_CLOSE = "close" + EVENT_KEY$a; + var EVENT_CLOSED = "closed" + EVENT_KEY$a; + var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$a + DATA_API_KEY$7; + var SELECTOR_DISMISS = '[data-dismiss="alert"]'; + /** + * Class definition + */ + + var Alert = /*#__PURE__*/function () { + function Alert(element) { + this._element = element; + } // Getters + + + var _proto = Alert.prototype; + + // Public + _proto.close = function close(element) { + var rootElement = this._element; + + if (element) { + rootElement = this._getRootElement(element); + } + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; } - - alertInstance.close(this); + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $__default["default"].removeData(this._element, DATA_KEY$a); + this._element = null; + } // Private + ; + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = document.querySelector(selector); + } + + if (!parent) { + parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $__default["default"].Event(EVENT_CLOSE); + $__default["default"](element).trigger(closeEvent); + return closeEvent; }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $__default["default"](element).removeClass(CLASS_NAME_SHOW$7); + + if (!$__default["default"](element).hasClass(CLASS_NAME_FADE$5)) { + this._destroyElement(element); + + return; + } + + var transitionDuration = Util.getTransitionDurationFromElement(element); + $__default["default"](element).one(Util.TRANSITION_END, function (event) { + return _this._destroyElement(element, event); + }).emulateTransitionEnd(transitionDuration); + }; + + _proto._destroyElement = function _destroyElement(element) { + $__default["default"](element).detach().trigger(EVENT_CLOSED).remove(); + } // Static + ; + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$a); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY$a, data); + } + + if (config === 'close') { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [{ + key: "VERSION", + get: function get() { + return VERSION$a; + } + }]); + + return Alert; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); + /** + * jQuery + */ + + $__default["default"].fn[NAME$a] = Alert._jQueryInterface; + $__default["default"].fn[NAME$a].Constructor = Alert; + + $__default["default"].fn[NAME$a].noConflict = function () { + $__default["default"].fn[NAME$a] = JQUERY_NO_CONFLICT$a; + return Alert._jQueryInterface; }; - - _createClass(Alert, null, [{ - key: "VERSION", - get: function get() { - return VERSION$a; - } - }]); - - return Alert; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert())); - /** - * jQuery - */ - - $__default["default"].fn[NAME$a] = Alert._jQueryInterface; - $__default["default"].fn[NAME$a].Constructor = Alert; - - $__default["default"].fn[NAME$a].noConflict = function () { - $__default["default"].fn[NAME$a] = JQUERY_NO_CONFLICT$a; - return Alert._jQueryInterface; - }; - - /** - * Constants - */ - - var NAME$9 = 'button'; - var VERSION$9 = '4.6.2'; - var DATA_KEY$9 = 'bs.button'; - var EVENT_KEY$9 = "." + DATA_KEY$9; - var DATA_API_KEY$6 = '.data-api'; - var JQUERY_NO_CONFLICT$9 = $__default["default"].fn[NAME$9]; - var CLASS_NAME_ACTIVE$3 = 'active'; - var CLASS_NAME_BUTTON = 'btn'; - var CLASS_NAME_FOCUS = 'focus'; - var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$9 + DATA_API_KEY$6; - var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$9 + DATA_API_KEY$6 + " " + ("blur" + EVENT_KEY$9 + DATA_API_KEY$6); - var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$9 + DATA_API_KEY$6; - var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'; - var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'; - var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="button"]'; - var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'; - var SELECTOR_INPUT = 'input:not([type="hidden"])'; - var SELECTOR_ACTIVE$2 = '.active'; - var SELECTOR_BUTTON = '.btn'; - /** - * Class definition - */ - - var Button = /*#__PURE__*/function () { - function Button(element) { - this._element = element; - this.shouldAvoidTriggerChange = false; - } // Getters - - - var _proto = Button.prototype; - - // Public - _proto.toggle = function toggle() { - var triggerChangeEvent = true; - var addAriaPressed = true; - var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; - - if (rootElement) { - var input = this._element.querySelector(SELECTOR_INPUT); - - if (input) { - if (input.type === 'radio') { - if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) { - triggerChangeEvent = false; - } else { - var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2); - - if (activeElement) { - $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$3); + + /** + * Constants + */ + + var NAME$9 = 'button'; + var VERSION$9 = '4.6.2'; + var DATA_KEY$9 = 'bs.button'; + var EVENT_KEY$9 = "." + DATA_KEY$9; + var DATA_API_KEY$6 = '.data-api'; + var JQUERY_NO_CONFLICT$9 = $__default["default"].fn[NAME$9]; + var CLASS_NAME_ACTIVE$3 = 'active'; + var CLASS_NAME_BUTTON = 'btn'; + var CLASS_NAME_FOCUS = 'focus'; + var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$9 + DATA_API_KEY$6; + var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$9 + DATA_API_KEY$6 + " " + ("blur" + EVENT_KEY$9 + DATA_API_KEY$6); + var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$9 + DATA_API_KEY$6; + var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]'; + var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]'; + var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="button"]'; + var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn'; + var SELECTOR_INPUT = 'input:not([type="hidden"])'; + var SELECTOR_ACTIVE$2 = '.active'; + var SELECTOR_BUTTON = '.btn'; + /** + * Class definition + */ + + var Button = /*#__PURE__*/function () { + function Button(element) { + this._element = element; + this.shouldAvoidTriggerChange = false; + } // Getters + + + var _proto = Button.prototype; + + // Public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0]; + + if (rootElement) { + var input = this._element.querySelector(SELECTOR_INPUT); + + if (input) { + if (input.type === 'radio') { + if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) { + triggerChangeEvent = false; + } else { + var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2); + + if (activeElement) { + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$3); + } + } + } + + if (triggerChangeEvent) { + // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input + if (input.type === 'checkbox' || input.type === 'radio') { + input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3); + } + + if (!this.shouldAvoidTriggerChange) { + $__default["default"](input).trigger('change'); } } + + input.focus(); + addAriaPressed = false; } - + } + + if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { + if (addAriaPressed) { + this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3)); + } + if (triggerChangeEvent) { - // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input - if (input.type === 'checkbox' || input.type === 'radio') { - input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3); - } - - if (!this.shouldAvoidTriggerChange) { - $__default["default"](input).trigger('change'); - } + $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE$3); } - - input.focus(); - addAriaPressed = false; } - } - - if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) { - if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3)); + }; + + _proto.dispose = function dispose() { + $__default["default"].removeData(this._element, DATA_KEY$9); + this._element = null; + } // Static + ; + + Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) { + return this.each(function () { + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$9); + + if (!data) { + data = new Button(this); + $element.data(DATA_KEY$9, data); + } + + data.shouldAvoidTriggerChange = avoidTriggerChange; + + if (config === 'toggle') { + data[config](); + } + }); + }; + + _createClass(Button, null, [{ + key: "VERSION", + get: function get() { + return VERSION$9; + } + }]); + + return Button; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) { + var button = event.target; + var initialButton = button; + + if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) { + button = $__default["default"](button).closest(SELECTOR_BUTTON)[0]; + } + + if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { + event.preventDefault(); // work around Firefox bug #1540995 + } else { + var inputBtn = button.querySelector(SELECTOR_INPUT); + + if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { + event.preventDefault(); // work around Firefox bug #1540995 + + return; } - - if (triggerChangeEvent) { - $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE$3); + + if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') { + Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT'); } } - }; - - _proto.dispose = function dispose() { - $__default["default"].removeData(this._element, DATA_KEY$9); - this._element = null; - } // Static - ; - - Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) { - return this.each(function () { - var $element = $__default["default"](this); - var data = $element.data(DATA_KEY$9); - - if (!data) { - data = new Button(this); - $element.data(DATA_KEY$9, data); - } - - data.shouldAvoidTriggerChange = avoidTriggerChange; - - if (config === 'toggle') { - data[config](); + }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) { + var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0]; + $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); + }); + $__default["default"](window).on(EVENT_LOAD_DATA_API$2, function () { + // ensure correct active class is set to match the controls' actual values/states + // find all checkboxes/readio buttons inside data-toggle groups + var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS)); + + for (var i = 0, len = buttons.length; i < len; i++) { + var button = buttons[i]; + var input = button.querySelector(SELECTOR_INPUT); + + if (input.checked || input.hasAttribute('checked')) { + button.classList.add(CLASS_NAME_ACTIVE$3); + } else { + button.classList.remove(CLASS_NAME_ACTIVE$3); + } + } // find all button toggles + + + buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4)); + + for (var _i = 0, _len = buttons.length; _i < _len; _i++) { + var _button = buttons[_i]; + + if (_button.getAttribute('aria-pressed') === 'true') { + _button.classList.add(CLASS_NAME_ACTIVE$3); + } else { + _button.classList.remove(CLASS_NAME_ACTIVE$3); } - }); - }; - - _createClass(Button, null, [{ - key: "VERSION", - get: function get() { - return VERSION$9; - } - }]); - - return Button; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) { - var button = event.target; - var initialButton = button; - - if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) { - button = $__default["default"](button).closest(SELECTOR_BUTTON)[0]; - } - - if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) { - event.preventDefault(); // work around Firefox bug #1540995 - } else { - var inputBtn = button.querySelector(SELECTOR_INPUT); - - if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) { - event.preventDefault(); // work around Firefox bug #1540995 - - return; - } - - if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') { - Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT'); - } - } - }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) { - var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0]; - $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type)); - }); - $__default["default"](window).on(EVENT_LOAD_DATA_API$2, function () { - // ensure correct active class is set to match the controls' actual values/states - // find all checkboxes/readio buttons inside data-toggle groups - var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS)); - - for (var i = 0, len = buttons.length; i < len; i++) { - var button = buttons[i]; - var input = button.querySelector(SELECTOR_INPUT); - - if (input.checked || input.hasAttribute('checked')) { - button.classList.add(CLASS_NAME_ACTIVE$3); - } else { - button.classList.remove(CLASS_NAME_ACTIVE$3); - } - } // find all button toggles - - - buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4)); - - for (var _i = 0, _len = buttons.length; _i < _len; _i++) { - var _button = buttons[_i]; - - if (_button.getAttribute('aria-pressed') === 'true') { - _button.classList.add(CLASS_NAME_ACTIVE$3); - } else { - _button.classList.remove(CLASS_NAME_ACTIVE$3); - } - } - }); - /** - * jQuery - */ - - $__default["default"].fn[NAME$9] = Button._jQueryInterface; - $__default["default"].fn[NAME$9].Constructor = Button; - - $__default["default"].fn[NAME$9].noConflict = function () { - $__default["default"].fn[NAME$9] = JQUERY_NO_CONFLICT$9; - return Button._jQueryInterface; - }; - - /** - * Constants - */ - - var NAME$8 = 'carousel'; - var VERSION$8 = '4.6.2'; - var DATA_KEY$8 = 'bs.carousel'; - var EVENT_KEY$8 = "." + DATA_KEY$8; - var DATA_API_KEY$5 = '.data-api'; - var JQUERY_NO_CONFLICT$8 = $__default["default"].fn[NAME$8]; - var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key - - var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key - - var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - var SWIPE_THRESHOLD = 40; - var CLASS_NAME_CAROUSEL = 'carousel'; - var CLASS_NAME_ACTIVE$2 = 'active'; - var CLASS_NAME_SLIDE = 'slide'; - var CLASS_NAME_RIGHT = 'carousel-item-right'; - var CLASS_NAME_LEFT = 'carousel-item-left'; - var CLASS_NAME_NEXT = 'carousel-item-next'; - var CLASS_NAME_PREV = 'carousel-item-prev'; - var CLASS_NAME_POINTER_EVENT = 'pointer-event'; - var DIRECTION_NEXT = 'next'; - var DIRECTION_PREV = 'prev'; - var DIRECTION_LEFT = 'left'; - var DIRECTION_RIGHT = 'right'; - var EVENT_SLIDE = "slide" + EVENT_KEY$8; - var EVENT_SLID = "slid" + EVENT_KEY$8; - var EVENT_KEYDOWN = "keydown" + EVENT_KEY$8; - var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$8; - var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$8; - var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$8; - var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$8; - var EVENT_TOUCHEND = "touchend" + EVENT_KEY$8; - var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$8; - var EVENT_POINTERUP = "pointerup" + EVENT_KEY$8; - var EVENT_DRAG_START = "dragstart" + EVENT_KEY$8; - var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$5; - var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$8 + DATA_API_KEY$5; - var SELECTOR_ACTIVE$1 = '.active'; - var SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; - var SELECTOR_ITEM = '.carousel-item'; - var SELECTOR_ITEM_IMG = '.carousel-item img'; - var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; - var SELECTOR_INDICATORS = '.carousel-indicators'; - var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'; - var SELECTOR_DATA_RIDE = '[data-ride="carousel"]'; - var Default$7 = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true, - touch: true - }; - var DefaultType$7 = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean', - touch: 'boolean' - }; - var PointerType = { - TOUCH: 'touch', - PEN: 'pen' - }; - /** - * Class definition - */ - - var Carousel = /*#__PURE__*/function () { - function Carousel(element, config) { - this._items = null; - this._interval = null; - this._activeElement = null; - this._isPaused = false; - this._isSliding = false; - this.touchTimeout = null; - this.touchStartX = 0; - this.touchDeltaX = 0; - this._config = this._getConfig(config); - this._element = element; - this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS); - this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; - this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); - - this._addEventListeners(); - } // Getters - - - var _proto = Carousel.prototype; - - // Public - _proto.next = function next() { - if (!this._isSliding) { - this._slide(DIRECTION_NEXT); } + }); + /** + * jQuery + */ + + $__default["default"].fn[NAME$9] = Button._jQueryInterface; + $__default["default"].fn[NAME$9].Constructor = Button; + + $__default["default"].fn[NAME$9].noConflict = function () { + $__default["default"].fn[NAME$9] = JQUERY_NO_CONFLICT$9; + return Button._jQueryInterface; }; - - _proto.nextWhenVisible = function nextWhenVisible() { - var $element = $__default["default"](this._element); // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - - if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { - this.next(); - } + + /** + * Constants + */ + + var NAME$8 = 'carousel'; + var VERSION$8 = '4.6.2'; + var DATA_KEY$8 = 'bs.carousel'; + var EVENT_KEY$8 = "." + DATA_KEY$8; + var DATA_API_KEY$5 = '.data-api'; + var JQUERY_NO_CONFLICT$8 = $__default["default"].fn[NAME$8]; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var SWIPE_THRESHOLD = 40; + var CLASS_NAME_CAROUSEL = 'carousel'; + var CLASS_NAME_ACTIVE$2 = 'active'; + var CLASS_NAME_SLIDE = 'slide'; + var CLASS_NAME_RIGHT = 'carousel-item-right'; + var CLASS_NAME_LEFT = 'carousel-item-left'; + var CLASS_NAME_NEXT = 'carousel-item-next'; + var CLASS_NAME_PREV = 'carousel-item-prev'; + var CLASS_NAME_POINTER_EVENT = 'pointer-event'; + var DIRECTION_NEXT = 'next'; + var DIRECTION_PREV = 'prev'; + var DIRECTION_LEFT = 'left'; + var DIRECTION_RIGHT = 'right'; + var EVENT_SLIDE = "slide" + EVENT_KEY$8; + var EVENT_SLID = "slid" + EVENT_KEY$8; + var EVENT_KEYDOWN = "keydown" + EVENT_KEY$8; + var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$8; + var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$8; + var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$8; + var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$8; + var EVENT_TOUCHEND = "touchend" + EVENT_KEY$8; + var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$8; + var EVENT_POINTERUP = "pointerup" + EVENT_KEY$8; + var EVENT_DRAG_START = "dragstart" + EVENT_KEY$8; + var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$5; + var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$8 + DATA_API_KEY$5; + var SELECTOR_ACTIVE$1 = '.active'; + var SELECTOR_ACTIVE_ITEM = '.active.carousel-item'; + var SELECTOR_ITEM = '.carousel-item'; + var SELECTOR_ITEM_IMG = '.carousel-item img'; + var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'; + var SELECTOR_INDICATORS = '.carousel-indicators'; + var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'; + var SELECTOR_DATA_RIDE = '[data-ride="carousel"]'; + var Default$7 = { + interval: 5000, + keyboard: true, + slide: false, + pause: 'hover', + wrap: true, + touch: true }; - - _proto.prev = function prev() { - if (!this._isSliding) { - this._slide(DIRECTION_PREV); - } + var DefaultType$7 = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean', + touch: 'boolean' }; - - _proto.pause = function pause(event) { - if (!event) { - this._isPaused = true; - } - - if (this._element.querySelector(SELECTOR_NEXT_PREV)) { - Util.triggerTransitionEnd(this._element); - this.cycle(true); - } - - clearInterval(this._interval); - this._interval = null; + var PointerType = { + TOUCH: 'touch', + PEN: 'pen' }; - - _proto.cycle = function cycle(event) { - if (!event) { + /** + * Class definition + */ + + var Carousel = /*#__PURE__*/function () { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; this._isPaused = false; - } - - if (this._interval) { + this._isSliding = false; + this.touchTimeout = null; + this.touchStartX = 0; + this.touchDeltaX = 0; + this._config = this._getConfig(config); + this._element = element; + this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS); + this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0; + this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); + + this._addEventListeners(); + } // Getters + + + var _proto = Carousel.prototype; + + // Public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(DIRECTION_NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + var $element = $__default["default"](this._element); // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + + if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(DIRECTION_PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if (this._element.querySelector(SELECTOR_NEXT_PREV)) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + clearInterval(this._interval); this._interval = null; - } - - if (this._config.interval && !this._isPaused) { - this._updateInterval(); - - this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); - } - }; - - _proto.to = function to(index) { - var _this = this; - - this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); - - var activeIndex = this._getItemIndex(this._activeElement); - - if (index > this._items.length - 1 || index < 0) { - return; - } - - if (this._isSliding) { - $__default["default"](this._element).one(EVENT_SLID, function () { - return _this.to(index); - }); - return; - } - - if (activeIndex === index) { - this.pause(); - this.cycle(); - return; - } - - var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV; - - this._slide(direction, this._items[index]); - }; - - _proto.dispose = function dispose() { - $__default["default"](this._element).off(EVENT_KEY$8); - $__default["default"].removeData(this._element, DATA_KEY$8); - this._items = null; - this._config = null; - this._element = null; - this._interval = null; - this._isPaused = null; - this._isSliding = null; - this._activeElement = null; - this._indicatorsElement = null; - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$7, config); - Util.typeCheckConfig(NAME$8, config, DefaultType$7); - return config; - }; - - _proto._handleSwipe = function _handleSwipe() { - var absDeltax = Math.abs(this.touchDeltaX); - - if (absDeltax <= SWIPE_THRESHOLD) { - return; - } - - var direction = absDeltax / this.touchDeltaX; - this.touchDeltaX = 0; // swipe left - - if (direction > 0) { - this.prev(); - } // swipe right - - - if (direction < 0) { - this.next(); - } - }; - - _proto._addEventListeners = function _addEventListeners() { - var _this2 = this; - - if (this._config.keyboard) { - $__default["default"](this._element).on(EVENT_KEYDOWN, function (event) { - return _this2._keydown(event); - }); - } - - if (this._config.pause === 'hover') { - $__default["default"](this._element).on(EVENT_MOUSEENTER, function (event) { - return _this2.pause(event); - }).on(EVENT_MOUSELEAVE, function (event) { - return _this2.cycle(event); - }); - } - - if (this._config.touch) { - this._addTouchEventListeners(); - } - }; - - _proto._addTouchEventListeners = function _addTouchEventListeners() { - var _this3 = this; - - if (!this._touchSupported) { - return; - } - - var start = function start(event) { - if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { - _this3.touchStartX = event.originalEvent.clientX; - } else if (!_this3._pointerEvent) { - _this3.touchStartX = event.originalEvent.touches[0].clientX; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._updateInterval(); + + this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); } }; - - var move = function move(event) { - // ensure swiping with one touch and not pinching - _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $__default["default"](this._element).one(EVENT_SLID, function () { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV; + + this._slide(direction, this._items[index]); }; - - var end = function end(event) { - if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { - _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + + _proto.dispose = function dispose() { + $__default["default"](this._element).off(EVENT_KEY$8); + $__default["default"].removeData(this._element, DATA_KEY$8); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$7, config); + Util.typeCheckConfig(NAME$8, config, DefaultType$7); + return config; + }; + + _proto._handleSwipe = function _handleSwipe() { + var absDeltax = Math.abs(this.touchDeltaX); + + if (absDeltax <= SWIPE_THRESHOLD) { + return; } - - _this3._handleSwipe(); - - if (_this3._config.pause === 'hover') { - // If it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - _this3.pause(); - - if (_this3.touchTimeout) { - clearTimeout(_this3.touchTimeout); - } - - _this3.touchTimeout = setTimeout(function (event) { - return _this3.cycle(event); - }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + + var direction = absDeltax / this.touchDeltaX; + this.touchDeltaX = 0; // swipe left + + if (direction > 0) { + this.prev(); + } // swipe right + + + if (direction < 0) { + this.next(); } }; - - $__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { - return e.preventDefault(); - }); - - if (this._pointerEvent) { - $__default["default"](this._element).on(EVENT_POINTERDOWN, function (event) { - return start(event); - }); - $__default["default"](this._element).on(EVENT_POINTERUP, function (event) { - return end(event); + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $__default["default"](this._element).on(EVENT_KEYDOWN, function (event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === 'hover') { + $__default["default"](this._element).on(EVENT_MOUSEENTER, function (event) { + return _this2.pause(event); + }).on(EVENT_MOUSELEAVE, function (event) { + return _this2.cycle(event); + }); + } + + if (this._config.touch) { + this._addTouchEventListeners(); + } + }; + + _proto._addTouchEventListeners = function _addTouchEventListeners() { + var _this3 = this; + + if (!this._touchSupported) { + return; + } + + var start = function start(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchStartX = event.originalEvent.clientX; + } else if (!_this3._pointerEvent) { + _this3.touchStartX = event.originalEvent.touches[0].clientX; + } + }; + + var move = function move(event) { + // ensure swiping with one touch and not pinching + _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX; + }; + + var end = function end(event) { + if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) { + _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX; + } + + _this3._handleSwipe(); + + if (_this3._config.pause === 'hover') { + // If it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + _this3.pause(); + + if (_this3.touchTimeout) { + clearTimeout(_this3.touchTimeout); + } + + _this3.touchTimeout = setTimeout(function (event) { + return _this3.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval); + } + }; + + $__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) { + return e.preventDefault(); }); - - this._element.classList.add(CLASS_NAME_POINTER_EVENT); - } else { - $__default["default"](this._element).on(EVENT_TOUCHSTART, function (event) { - return start(event); + + if (this._pointerEvent) { + $__default["default"](this._element).on(EVENT_POINTERDOWN, function (event) { + return start(event); + }); + $__default["default"](this._element).on(EVENT_POINTERUP, function (event) { + return end(event); + }); + + this._element.classList.add(CLASS_NAME_POINTER_EVENT); + } else { + $__default["default"](this._element).on(EVENT_TOUCHSTART, function (event) { + return start(event); + }); + $__default["default"](this._element).on(EVENT_TOUCHMOVE, function (event) { + return move(event); + }); + $__default["default"](this._element).on(EVENT_TOUCHEND, function (event) { + return end(event); + }); + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : []; + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === DIRECTION_NEXT; + var isPrevDirection = direction === DIRECTION_PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === DIRECTION_PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM)); + + var slideEvent = $__default["default"].Event(EVENT_SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex }); - $__default["default"](this._element).on(EVENT_TOUCHMOVE, function (event) { - return move(event); + $__default["default"](this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1)); + $__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$2); + + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + + if (nextIndicator) { + $__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2); + } + } + }; + + _proto._updateInterval = function _updateInterval() { + var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + if (!element) { + return; + } + + var elementInterval = parseInt(element.getAttribute('data-interval'), 10); + + if (elementInterval) { + this._config.defaultInterval = this._config.defaultInterval || this._config.interval; + this._config.interval = elementInterval; + } else { + this._config.interval = this._config.defaultInterval || this._config.interval; + } + }; + + _proto._slide = function _slide(direction, element) { + var _this4 = this; + + var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === DIRECTION_NEXT) { + directionalClassName = CLASS_NAME_LEFT; + orderClassName = CLASS_NAME_NEXT; + eventDirectionName = DIRECTION_LEFT; + } else { + directionalClassName = CLASS_NAME_RIGHT; + orderClassName = CLASS_NAME_PREV; + eventDirectionName = DIRECTION_RIGHT; + } + + if (nextElement && $__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // Some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + this._activeElement = nextElement; + var slidEvent = $__default["default"].Event(EVENT_SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex }); - $__default["default"](this._element).on(EVENT_TOUCHEND, function (event) { - return end(event); + + if ($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)) { + $__default["default"](nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $__default["default"](activeElement).addClass(directionalClassName); + $__default["default"](nextElement).addClass(directionalClassName); + var transitionDuration = Util.getTransitionDurationFromElement(activeElement); + $__default["default"](activeElement).one(Util.TRANSITION_END, function () { + $__default["default"](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$2); + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + " " + orderClassName + " " + directionalClassName); + _this4._isSliding = false; + setTimeout(function () { + return $__default["default"](_this4._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(transitionDuration); + } else { + $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2); + $__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$2); + this._isSliding = false; + $__default["default"](this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } // Static + ; + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default["default"](this).data(DATA_KEY$8); + + var _config = _extends({}, Default$7, $__default["default"](this).data()); + + if (typeof config === 'object') { + _config = _extends({}, _config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $__default["default"](this).data(DATA_KEY$8, data); + } + + if (typeof config === 'number') { + data.to(config); + } else if (typeof action === 'string') { + if (typeof data[action] === 'undefined') { + throw new TypeError("No method named \"" + action + "\""); + } + + data[action](); + } else if (_config.interval && _config.ride) { + data.pause(); + data.cycle(); + } }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $__default["default"](selector)[0]; + + if (!target || !$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)) { + return; + } + + var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($__default["default"](target), config); + + if (slideIndex) { + $__default["default"](target).data(DATA_KEY$8).to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [{ + key: "VERSION", + get: function get() { + return VERSION$8; + } + }, { + key: "Default", + get: function get() { + return Default$7; + } + }]); + + return Carousel; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); + $__default["default"](window).on(EVENT_LOAD_DATA_API$1, function () { + var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE)); + + for (var i = 0, len = carousels.length; i < len; i++) { + var $carousel = $__default["default"](carousels[i]); + + Carousel._jQueryInterface.call($carousel, $carousel.data()); } + }); + /** + * jQuery + */ + + $__default["default"].fn[NAME$8] = Carousel._jQueryInterface; + $__default["default"].fn[NAME$8].Constructor = Carousel; + + $__default["default"].fn[NAME$8].noConflict = function () { + $__default["default"].fn[NAME$8] = JQUERY_NO_CONFLICT$8; + return Carousel._jQueryInterface; }; - - _proto._keydown = function _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - - switch (event.which) { - case ARROW_LEFT_KEYCODE: - event.preventDefault(); - this.prev(); - break; - - case ARROW_RIGHT_KEYCODE: - event.preventDefault(); - this.next(); - break; - } - }; - - _proto._getItemIndex = function _getItemIndex(element) { - this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : []; - return this._items.indexOf(element); - }; - - _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { - var isNextDirection = direction === DIRECTION_NEXT; - var isPrevDirection = direction === DIRECTION_PREV; - - var activeIndex = this._getItemIndex(activeElement); - - var lastItemIndex = this._items.length - 1; - var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; - - if (isGoingToWrap && !this._config.wrap) { - return activeElement; - } - - var delta = direction === DIRECTION_PREV ? -1 : 1; - var itemIndex = (activeIndex + delta) % this._items.length; - return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + + /** + * Constants + */ + + var NAME$7 = 'collapse'; + var VERSION$7 = '4.6.2'; + var DATA_KEY$7 = 'bs.collapse'; + var EVENT_KEY$7 = "." + DATA_KEY$7; + var DATA_API_KEY$4 = '.data-api'; + var JQUERY_NO_CONFLICT$7 = $__default["default"].fn[NAME$7]; + var CLASS_NAME_SHOW$6 = 'show'; + var CLASS_NAME_COLLAPSE = 'collapse'; + var CLASS_NAME_COLLAPSING = 'collapsing'; + var CLASS_NAME_COLLAPSED = 'collapsed'; + var DIMENSION_WIDTH = 'width'; + var DIMENSION_HEIGHT = 'height'; + var EVENT_SHOW$4 = "show" + EVENT_KEY$7; + var EVENT_SHOWN$4 = "shown" + EVENT_KEY$7; + var EVENT_HIDE$4 = "hide" + EVENT_KEY$7; + var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$7; + var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$7 + DATA_API_KEY$4; + var SELECTOR_ACTIVES = '.show, .collapsing'; + var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="collapse"]'; + var Default$6 = { + toggle: true, + parent: '' }; - - _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { - var targetIndex = this._getItemIndex(relatedTarget); - - var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM)); - - var slideEvent = $__default["default"].Event(EVENT_SLIDE, { - relatedTarget: relatedTarget, - direction: eventDirectionName, - from: fromIndex, - to: targetIndex - }); - $__default["default"](this._element).trigger(slideEvent); - return slideEvent; + var DefaultType$6 = { + toggle: 'boolean', + parent: '(string|element)' }; - - _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { - if (this._indicatorsElement) { - var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1)); - $__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$2); - - var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; - - if (nextIndicator) { - $__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2); + /** + * Class definition + */ + + var Collapse = /*#__PURE__*/function () { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); + var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$3)); + + for (var i = 0, len = toggleList.length; i < len; i++) { + var elem = toggleList[i]; + var selector = Util.getSelectorFromElement(elem); + var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { + return foundElem === element; + }); + + if (selector !== null && filterElement.length > 0) { + this._selector = selector; + + this._triggerArray.push(elem); + } } - } - }; - - _proto._updateInterval = function _updateInterval() { - var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM); - - if (!element) { - return; - } - - var elementInterval = parseInt(element.getAttribute('data-interval'), 10); - - if (elementInterval) { - this._config.defaultInterval = this._config.defaultInterval || this._config.interval; - this._config.interval = elementInterval; - } else { - this._config.interval = this._config.defaultInterval || this._config.interval; - } - }; - - _proto._slide = function _slide(direction, element) { - var _this4 = this; - - var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM); - - var activeElementIndex = this._getItemIndex(activeElement); - - var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); - - var nextElementIndex = this._getItemIndex(nextElement); - - var isCycling = Boolean(this._interval); - var directionalClassName; - var orderClassName; - var eventDirectionName; - - if (direction === DIRECTION_NEXT) { - directionalClassName = CLASS_NAME_LEFT; - orderClassName = CLASS_NAME_NEXT; - eventDirectionName = DIRECTION_LEFT; - } else { - directionalClassName = CLASS_NAME_RIGHT; - orderClassName = CLASS_NAME_PREV; - eventDirectionName = DIRECTION_RIGHT; - } - - if (nextElement && $__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) { - this._isSliding = false; - return; - } - - var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); - - if (slideEvent.isDefaultPrevented()) { - return; - } - - if (!activeElement || !nextElement) { - // Some weirdness is happening, so we bail - return; - } - - this._isSliding = true; - - if (isCycling) { - this.pause(); - } - - this._setActiveIndicatorElement(nextElement); - - this._activeElement = nextElement; - var slidEvent = $__default["default"].Event(EVENT_SLID, { - relatedTarget: nextElement, - direction: eventDirectionName, - from: activeElementIndex, - to: nextElementIndex - }); - - if ($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)) { - $__default["default"](nextElement).addClass(orderClassName); - Util.reflow(nextElement); - $__default["default"](activeElement).addClass(directionalClassName); - $__default["default"](nextElement).addClass(directionalClassName); - var transitionDuration = Util.getTransitionDurationFromElement(activeElement); - $__default["default"](activeElement).one(Util.TRANSITION_END, function () { - $__default["default"](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$2); - $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + " " + orderClassName + " " + directionalClassName); - _this4._isSliding = false; - setTimeout(function () { - return $__default["default"](_this4._element).trigger(slidEvent); - }, 0); - }).emulateTransitionEnd(transitionDuration); - } else { - $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2); - $__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$2); - this._isSliding = false; - $__default["default"](this._element).trigger(slidEvent); - } - - if (isCycling) { - this.cycle(); - } - } // Static - ; - - Carousel._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $__default["default"](this).data(DATA_KEY$8); - - var _config = _extends({}, Default$7, $__default["default"](this).data()); - - if (typeof config === 'object') { - _config = _extends({}, _config, config); + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // Getters + + + var _proto = Collapse.prototype; + + // Public + _proto.toggle = function toggle() { + if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { + this.hide(); + } else { + this.show(); } - - var action = typeof config === 'string' ? config : _config.slide; - - if (!data) { - data = new Carousel(this, _config); - $__default["default"](this).data(DATA_KEY$8, data); + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { + return; } - - if (typeof config === 'number') { - data.to(config); - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new TypeError("No method named \"" + action + "\""); + + var actives; + var activesData; + + if (this._parent) { + actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) { + if (typeof _this._config.parent === 'string') { + return elem.getAttribute('data-parent') === _this._config.parent; + } + + return elem.classList.contains(CLASS_NAME_COLLAPSE); + }); + + if (actives.length === 0) { + actives = null; } - - data[action](); - } else if (_config.interval && _config.ride) { - data.pause(); - data.cycle(); } - }); - }; - - Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { - var selector = Util.getSelectorFromElement(this); - - if (!selector) { - return; - } - - var target = $__default["default"](selector)[0]; - - if (!target || !$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)) { - return; - } - - var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); - - var slideIndex = this.getAttribute('data-slide-to'); - - if (slideIndex) { - config.interval = false; - } - - Carousel._jQueryInterface.call($__default["default"](target), config); - - if (slideIndex) { - $__default["default"](target).data(DATA_KEY$8).to(slideIndex); - } - - event.preventDefault(); - }; - - _createClass(Carousel, null, [{ - key: "VERSION", - get: function get() { - return VERSION$8; - } - }, { - key: "Default", - get: function get() { - return Default$7; - } - }]); - - return Carousel; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler); - $__default["default"](window).on(EVENT_LOAD_DATA_API$1, function () { - var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE)); - - for (var i = 0, len = carousels.length; i < len; i++) { - var $carousel = $__default["default"](carousels[i]); - - Carousel._jQueryInterface.call($carousel, $carousel.data()); - } - }); - /** - * jQuery - */ - - $__default["default"].fn[NAME$8] = Carousel._jQueryInterface; - $__default["default"].fn[NAME$8].Constructor = Carousel; - - $__default["default"].fn[NAME$8].noConflict = function () { - $__default["default"].fn[NAME$8] = JQUERY_NO_CONFLICT$8; - return Carousel._jQueryInterface; - }; - - /** - * Constants - */ - - var NAME$7 = 'collapse'; - var VERSION$7 = '4.6.2'; - var DATA_KEY$7 = 'bs.collapse'; - var EVENT_KEY$7 = "." + DATA_KEY$7; - var DATA_API_KEY$4 = '.data-api'; - var JQUERY_NO_CONFLICT$7 = $__default["default"].fn[NAME$7]; - var CLASS_NAME_SHOW$6 = 'show'; - var CLASS_NAME_COLLAPSE = 'collapse'; - var CLASS_NAME_COLLAPSING = 'collapsing'; - var CLASS_NAME_COLLAPSED = 'collapsed'; - var DIMENSION_WIDTH = 'width'; - var DIMENSION_HEIGHT = 'height'; - var EVENT_SHOW$4 = "show" + EVENT_KEY$7; - var EVENT_SHOWN$4 = "shown" + EVENT_KEY$7; - var EVENT_HIDE$4 = "hide" + EVENT_KEY$7; - var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$7; - var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$7 + DATA_API_KEY$4; - var SELECTOR_ACTIVES = '.show, .collapsing'; - var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="collapse"]'; - var Default$6 = { - toggle: true, - parent: '' - }; - var DefaultType$6 = { - toggle: 'boolean', - parent: '(string|element)' - }; - /** - * Class definition - */ - - var Collapse = /*#__PURE__*/function () { - function Collapse(element, config) { - this._isTransitioning = false; - this._element = element; - this._config = this._getConfig(config); - this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$3)); - - for (var i = 0, len = toggleList.length; i < len; i++) { - var elem = toggleList[i]; - var selector = Util.getSelectorFromElement(elem); - var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) { - return foundElem === element; - }); - - if (selector !== null && filterElement.length > 0) { - this._selector = selector; - - this._triggerArray.push(elem); - } - } - - this._parent = this._config.parent ? this._getParent() : null; - - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._element, this._triggerArray); - } - - if (this._config.toggle) { - this.toggle(); - } - } // Getters - - - var _proto = Collapse.prototype; - - // Public - _proto.toggle = function toggle() { - if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { - this.hide(); - } else { - this.show(); - } - }; - - _proto.show = function show() { - var _this = this; - - if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { - return; - } - - var actives; - var activesData; - - if (this._parent) { - actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) { - if (typeof _this._config.parent === 'string') { - return elem.getAttribute('data-parent') === _this._config.parent; + + if (actives) { + activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY$7); + + if (activesData && activesData._isTransitioning) { + return; } - - return elem.classList.contains(CLASS_NAME_COLLAPSE); - }); - - if (actives.length === 0) { - actives = null; } - } - - if (actives) { - activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY$7); - - if (activesData && activesData._isTransitioning) { + + var startEvent = $__default["default"].Event(EVENT_SHOW$4); + $__default["default"](this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { return; } - } - - var startEvent = $__default["default"].Event(EVENT_SHOW$4); - $__default["default"](this._element).trigger(startEvent); - - if (startEvent.isDefaultPrevented()) { - return; - } - - if (actives) { - Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide'); - - if (!activesData) { - $__default["default"](actives).data(DATA_KEY$7, null); + + if (actives) { + Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide'); + + if (!activesData) { + $__default["default"](actives).data(DATA_KEY$7, null); + } } - } - - var dimension = this._getDimension(); - - $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); - this._element.style[dimension] = 0; - - if (this._triggerArray.length) { - $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); - } - - this.setTransitioning(true); - - var complete = function complete() { - $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); - _this._element.style[dimension] = ''; - - _this.setTransitioning(false); - - $__default["default"](_this._element).trigger(EVENT_SHOWN$4); + + var dimension = this._getDimension(); + + $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); + _this._element.style[dimension] = ''; + + _this.setTransitioning(false); + + $__default["default"](_this._element).trigger(EVENT_SHOWN$4); + }; + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + this._element.style[dimension] = this._element[scrollSize] + "px"; }; - - var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - var scrollSize = "scroll" + capitalizedDimension; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - this._element.style[dimension] = this._element[scrollSize] + "px"; - }; - - _proto.hide = function hide() { - var _this2 = this; - - if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { - return; - } - - var startEvent = $__default["default"].Event(EVENT_HIDE$4); - $__default["default"](this._element).trigger(startEvent); - - if (startEvent.isDefaultPrevented()) { - return; - } - - var dimension = this._getDimension(); - - this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; - Util.reflow(this._element); - $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); - var triggerArrayLength = this._triggerArray.length; - - if (triggerArrayLength > 0) { - for (var i = 0; i < triggerArrayLength; i++) { - var trigger = this._triggerArray[i]; - var selector = Util.getSelectorFromElement(trigger); - - if (selector !== null) { - var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector))); - - if (!$elem.hasClass(CLASS_NAME_SHOW$6)) { - $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) { + return; + } + + var startEvent = $__default["default"].Event(EVENT_HIDE$4); + $__default["default"](this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6); + var triggerArrayLength = this._triggerArray.length; + + if (triggerArrayLength > 0) { + for (var i = 0; i < triggerArrayLength; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector))); + + if (!$elem.hasClass(CLASS_NAME_SHOW$6)) { + $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false); + } } } } - } - - this.setTransitioning(true); - - var complete = function complete() { - _this2.setTransitioning(false); - - $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN$4); + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN$4); + }; + + this._element.style[dimension] = ''; + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); }; - - this._element.style[dimension] = ''; - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - }; - - _proto.setTransitioning = function setTransitioning(isTransitioning) { - this._isTransitioning = isTransitioning; - }; - - _proto.dispose = function dispose() { - $__default["default"].removeData(this._element, DATA_KEY$7); - this._config = null; - this._parent = null; - this._element = null; - this._triggerArray = null; - this._isTransitioning = null; - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$6, config); - config.toggle = Boolean(config.toggle); // Coerce string values - - Util.typeCheckConfig(NAME$7, config, DefaultType$6); - return config; - }; - - _proto._getDimension = function _getDimension() { - var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH); - return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT; - }; - - _proto._getParent = function _getParent() { - var _this3 = this; - - var parent; - - if (Util.isElement(this._config.parent)) { - parent = this._config.parent; // It's a jQuery object - - if (typeof this._config.parent.jquery !== 'undefined') { - parent = this._config.parent[0]; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $__default["default"].removeData(this._element, DATA_KEY$7); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$6, config); + config.toggle = Boolean(config.toggle); // Coerce string values + + Util.typeCheckConfig(NAME$7, config, DefaultType$6); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH); + return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // It's a jQuery object + + if (typeof this._config.parent.jquery !== 'undefined') { + parent = this._config.parent[0]; + } + } else { + parent = document.querySelector(this._config.parent); } - } else { - parent = document.querySelector(this._config.parent); + + var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; + var children = [].slice.call(parent.querySelectorAll(selector)); + $__default["default"](children).each(function (i, element) { + _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { + var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW$6); + + if (triggerArray.length) { + $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } // Static + ; + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? document.querySelector(selector) : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$7); + + var _config = _extends({}, Default$6, $element.data(), typeof config === 'object' && config ? config : {}); + + if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $element.data(DATA_KEY$7, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [{ + key: "VERSION", + get: function get() { + return VERSION$7; + } + }, { + key: "Default", + get: function get() { + return Default$6; + } + }]); + + return Collapse; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === 'A') { + event.preventDefault(); } - - var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; - var children = [].slice.call(parent.querySelectorAll(selector)); - $__default["default"](children).each(function (i, element) { - _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + + var $trigger = $__default["default"](this); + var selector = Util.getSelectorFromElement(this); + var selectors = [].slice.call(document.querySelectorAll(selector)); + $__default["default"](selectors).each(function () { + var $target = $__default["default"](this); + var data = $target.data(DATA_KEY$7); + var config = data ? 'toggle' : $trigger.data(); + + Collapse._jQueryInterface.call($target, config); }); - return parent; + }); + /** + * jQuery + */ + + $__default["default"].fn[NAME$7] = Collapse._jQueryInterface; + $__default["default"].fn[NAME$7].Constructor = Collapse; + + $__default["default"].fn[NAME$7].noConflict = function () { + $__default["default"].fn[NAME$7] = JQUERY_NO_CONFLICT$7; + return Collapse._jQueryInterface; }; - - _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { - var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW$6); - - if (triggerArray.length) { - $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen); - } - } // Static - ; - - Collapse._getTargetFromElement = function _getTargetFromElement(element) { - var selector = Util.getSelectorFromElement(element); - return selector ? document.querySelector(selector) : null; + + /** + * Constants + */ + + var NAME$6 = 'dropdown'; + var VERSION$6 = '4.6.2'; + var DATA_KEY$6 = 'bs.dropdown'; + var EVENT_KEY$6 = "." + DATA_KEY$6; + var DATA_API_KEY$3 = '.data-api'; + var JQUERY_NO_CONFLICT$6 = $__default["default"].fn[NAME$6]; + var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key + + var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key + + var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key + + var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key + + var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key + + var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) + + var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE$1); + var CLASS_NAME_DISABLED$1 = 'disabled'; + var CLASS_NAME_SHOW$5 = 'show'; + var CLASS_NAME_DROPUP = 'dropup'; + var CLASS_NAME_DROPRIGHT = 'dropright'; + var CLASS_NAME_DROPLEFT = 'dropleft'; + var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; + var CLASS_NAME_POSITION_STATIC = 'position-static'; + var EVENT_HIDE$3 = "hide" + EVENT_KEY$6; + var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$6; + var EVENT_SHOW$3 = "show" + EVENT_KEY$6; + var EVENT_SHOWN$3 = "shown" + EVENT_KEY$6; + var EVENT_CLICK = "click" + EVENT_KEY$6; + var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$6 + DATA_API_KEY$3; + var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$6 + DATA_API_KEY$3; + var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$6 + DATA_API_KEY$3; + var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]'; + var SELECTOR_FORM_CHILD = '.dropdown form'; + var SELECTOR_MENU = '.dropdown-menu'; + var SELECTOR_NAVBAR_NAV = '.navbar-nav'; + var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; + var PLACEMENT_TOP = 'top-start'; + var PLACEMENT_TOPEND = 'top-end'; + var PLACEMENT_BOTTOM = 'bottom-start'; + var PLACEMENT_BOTTOMEND = 'bottom-end'; + var PLACEMENT_RIGHT = 'right-start'; + var PLACEMENT_LEFT = 'left-start'; + var Default$5 = { + offset: 0, + flip: true, + boundary: 'scrollParent', + reference: 'toggle', + display: 'dynamic', + popperConfig: null }; - - Collapse._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $__default["default"](this); - var data = $element.data(DATA_KEY$7); - - var _config = _extends({}, Default$6, $element.data(), typeof config === 'object' && config ? config : {}); - - if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) { - _config.toggle = false; + var DefaultType$5 = { + offset: '(number|string|function)', + flip: 'boolean', + boundary: '(string|element)', + reference: '(string|element)', + display: 'string', + popperConfig: '(null|object)' + }; + /** + * Class definition + */ + + var Dropdown = /*#__PURE__*/function () { + function Dropdown(element, config) { + this._element = element; + this._popper = null; + this._config = this._getConfig(config); + this._menu = this._getMenuElement(); + this._inNavbar = this._detectNavbar(); + + this._addEventListeners(); + } // Getters + + + var _proto = Dropdown.prototype; + + // Public + _proto.toggle = function toggle() { + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1)) { + return; } - - if (!data) { - data = new Collapse(this, _config); - $element.data(DATA_KEY$7, data); + + var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5); + + Dropdown._clearMenus(); + + if (isActive) { + return; } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + + this.show(true); + }; + + _proto.show = function show(usePopper) { + if (usePopper === void 0) { + usePopper = false; + } + + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { + return; + } + + var relatedTarget = { + relatedTarget: this._element + }; + var showEvent = $__default["default"].Event(EVENT_SHOW$3, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $__default["default"](parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } // Totally disable Popper for Dropdowns in Navbar + + + if (!this._inNavbar && usePopper) { + // Check for Popper dependency + if (typeof Popper__default["default"] === 'undefined') { + throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); } - - data[config](); + + var referenceElement = this._element; + + if (this._config.reference === 'parent') { + referenceElement = parent; + } else if (Util.isElement(this._config.reference)) { + referenceElement = this._config.reference; // Check if it's jQuery element + + if (typeof this._config.reference.jquery !== 'undefined') { + referenceElement = this._config.reference[0]; + } + } // If boundary is not `scrollParent`, then set position to `static` + // to allow the menu to "escape" the scroll parent's boundaries + // https://github.com/twbs/bootstrap/issues/24251 + + + if (this._config.boundary !== 'scrollParent') { + $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC); + } + + this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig()); + } // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + + if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { + $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); } - }); - }; - - _createClass(Collapse, null, [{ - key: "VERSION", - get: function get() { - return VERSION$7; - } - }, { - key: "Default", - get: function get() { - return Default$6; - } - }]); - - return Collapse; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.currentTarget.tagName === 'A') { - event.preventDefault(); - } - - var $trigger = $__default["default"](this); - var selector = Util.getSelectorFromElement(this); - var selectors = [].slice.call(document.querySelectorAll(selector)); - $__default["default"](selectors).each(function () { - var $target = $__default["default"](this); - var data = $target.data(DATA_KEY$7); - var config = data ? 'toggle' : $trigger.data(); - - Collapse._jQueryInterface.call($target, config); - }); - }); - /** - * jQuery - */ - - $__default["default"].fn[NAME$7] = Collapse._jQueryInterface; - $__default["default"].fn[NAME$7].Constructor = Collapse; - - $__default["default"].fn[NAME$7].noConflict = function () { - $__default["default"].fn[NAME$7] = JQUERY_NO_CONFLICT$7; - return Collapse._jQueryInterface; - }; - - /** - * Constants - */ - - var NAME$6 = 'dropdown'; - var VERSION$6 = '4.6.2'; - var DATA_KEY$6 = 'bs.dropdown'; - var EVENT_KEY$6 = "." + DATA_KEY$6; - var DATA_API_KEY$3 = '.data-api'; - var JQUERY_NO_CONFLICT$6 = $__default["default"].fn[NAME$6]; - var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key - - var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key - - var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key - - var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key - - var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key - - var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) - - var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE$1); - var CLASS_NAME_DISABLED$1 = 'disabled'; - var CLASS_NAME_SHOW$5 = 'show'; - var CLASS_NAME_DROPUP = 'dropup'; - var CLASS_NAME_DROPRIGHT = 'dropright'; - var CLASS_NAME_DROPLEFT = 'dropleft'; - var CLASS_NAME_MENURIGHT = 'dropdown-menu-right'; - var CLASS_NAME_POSITION_STATIC = 'position-static'; - var EVENT_HIDE$3 = "hide" + EVENT_KEY$6; - var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$6; - var EVENT_SHOW$3 = "show" + EVENT_KEY$6; - var EVENT_SHOWN$3 = "shown" + EVENT_KEY$6; - var EVENT_CLICK = "click" + EVENT_KEY$6; - var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$6 + DATA_API_KEY$3; - var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$6 + DATA_API_KEY$3; - var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$6 + DATA_API_KEY$3; - var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]'; - var SELECTOR_FORM_CHILD = '.dropdown form'; - var SELECTOR_MENU = '.dropdown-menu'; - var SELECTOR_NAVBAR_NAV = '.navbar-nav'; - var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'; - var PLACEMENT_TOP = 'top-start'; - var PLACEMENT_TOPEND = 'top-end'; - var PLACEMENT_BOTTOM = 'bottom-start'; - var PLACEMENT_BOTTOMEND = 'bottom-end'; - var PLACEMENT_RIGHT = 'right-start'; - var PLACEMENT_LEFT = 'left-start'; - var Default$5 = { - offset: 0, - flip: true, - boundary: 'scrollParent', - reference: 'toggle', - display: 'dynamic', - popperConfig: null - }; - var DefaultType$5 = { - offset: '(number|string|function)', - flip: 'boolean', - boundary: '(string|element)', - reference: '(string|element)', - display: 'string', - popperConfig: '(null|object)' - }; - /** - * Class definition - */ - - var Dropdown = /*#__PURE__*/function () { - function Dropdown(element, config) { - this._element = element; - this._popper = null; - this._config = this._getConfig(config); - this._menu = this._getMenuElement(); - this._inNavbar = this._detectNavbar(); - - this._addEventListeners(); - } // Getters - - - var _proto = Dropdown.prototype; - - // Public - _proto.toggle = function toggle() { - if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1)) { - return; - } - - var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5); - - Dropdown._clearMenus(); - - if (isActive) { - return; - } - - this.show(true); - }; - - _proto.show = function show(usePopper) { - if (usePopper === void 0) { - usePopper = false; - } - - if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { - return; - } - - var relatedTarget = { - relatedTarget: this._element + + this._element.focus(); + + this._element.setAttribute('aria-expanded', true); + + $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_SHOWN$3, relatedTarget)); }; - var showEvent = $__default["default"].Event(EVENT_SHOW$3, relatedTarget); - - var parent = Dropdown._getParentFromElement(this._element); - - $__default["default"](parent).trigger(showEvent); - - if (showEvent.isDefaultPrevented()) { - return; - } // Totally disable Popper for Dropdowns in Navbar - - - if (!this._inNavbar && usePopper) { - // Check for Popper dependency - if (typeof Popper__default["default"] === 'undefined') { - throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); + + _proto.hide = function hide() { + if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { + return; } - - var referenceElement = this._element; - - if (this._config.reference === 'parent') { - referenceElement = parent; - } else if (Util.isElement(this._config.reference)) { - referenceElement = this._config.reference; // Check if it's jQuery element - - if (typeof this._config.reference.jquery !== 'undefined') { - referenceElement = this._config.reference[0]; + + var relatedTarget = { + relatedTarget: this._element + }; + var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); + + var parent = Dropdown._getParentFromElement(this._element); + + $__default["default"](parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + return; + } + + if (this._popper) { + this._popper.destroy(); + } + + $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); + }; + + _proto.dispose = function dispose() { + $__default["default"].removeData(this._element, DATA_KEY$6); + $__default["default"](this._element).off(EVENT_KEY$6); + this._element = null; + this._menu = null; + + if (this._popper !== null) { + this._popper.destroy(); + + this._popper = null; + } + }; + + _proto.update = function update() { + this._inNavbar = this._detectNavbar(); + + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Private + ; + + _proto._addEventListeners = function _addEventListeners() { + var _this = this; + + $__default["default"](this._element).on(EVENT_CLICK, function (event) { + event.preventDefault(); + event.stopPropagation(); + + _this.toggle(); + }); + }; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config); + Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); + return config; + }; + + _proto._getMenuElement = function _getMenuElement() { + if (!this._menu) { + var parent = Dropdown._getParentFromElement(this._element); + + if (parent) { + this._menu = parent.querySelector(SELECTOR_MENU); } - } // If boundary is not `scrollParent`, then set position to `static` - // to allow the menu to "escape" the scroll parent's boundaries - // https://github.com/twbs/bootstrap/issues/24251 - - - if (this._config.boundary !== 'scrollParent') { - $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC); } - - this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig()); - } // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - - if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) { - $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); - } - - this._element.focus(); - - this._element.setAttribute('aria-expanded', true); - - $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); - $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_SHOWN$3, relatedTarget)); - }; - - _proto.hide = function hide() { - if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) { - return; - } - - var relatedTarget = { - relatedTarget: this._element + + return this._menu; }; - var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); - - var parent = Dropdown._getParentFromElement(this._element); - - $__default["default"](parent).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - return; - } - - if (this._popper) { - this._popper.destroy(); - } - - $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5); - $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); - }; - - _proto.dispose = function dispose() { - $__default["default"].removeData(this._element, DATA_KEY$6); - $__default["default"](this._element).off(EVENT_KEY$6); - this._element = null; - this._menu = null; - - if (this._popper !== null) { - this._popper.destroy(); - - this._popper = null; - } - }; - - _proto.update = function update() { - this._inNavbar = this._detectNavbar(); - - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - } // Private - ; - - _proto._addEventListeners = function _addEventListeners() { - var _this = this; - - $__default["default"](this._element).on(EVENT_CLICK, function (event) { + + _proto._getPlacement = function _getPlacement() { + var $parentDropdown = $__default["default"](this._element.parentNode); + var placement = PLACEMENT_BOTTOM; // Handle dropup + + if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) { + placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; + } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) { + placement = PLACEMENT_RIGHT; + } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) { + placement = PLACEMENT_LEFT; + } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { + placement = PLACEMENT_BOTTOMEND; + } + + return placement; + }; + + _proto._detectNavbar = function _detectNavbar() { + return $__default["default"](this._element).closest('.navbar').length > 0; + }; + + _proto._getOffset = function _getOffset() { + var _this2 = this; + + var offset = {}; + + if (typeof this._config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element)); + return data; + }; + } else { + offset.offset = this._config.offset; + } + + return offset; + }; + + _proto._getPopperConfig = function _getPopperConfig() { + var popperConfig = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } + }; // Disable Popper if we have a static display + + if (this._config.display === 'static') { + popperConfig.modifiers.applyStyle = { + enabled: false + }; + } + + return _extends({}, popperConfig, this._config.popperConfig); + } // Static + ; + + Dropdown._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default["default"](this).data(DATA_KEY$6); + + var _config = typeof config === 'object' ? config : null; + + if (!data) { + data = new Dropdown(this, _config); + $__default["default"](this).data(DATA_KEY$6, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + Dropdown._clearMenus = function _clearMenus(event) { + if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + return; + } + + var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)); + + for (var i = 0, len = toggles.length; i < len; i++) { + var parent = Dropdown._getParentFromElement(toggles[i]); + + var context = $__default["default"](toggles[i]).data(DATA_KEY$6); + var relatedTarget = { + relatedTarget: toggles[i] + }; + + if (event && event.type === 'click') { + relatedTarget.clickEvent = event; + } + + if (!context) { + continue; + } + + var dropdownMenu = context._menu; + + if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW$5)) { + continue; + } + + if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default["default"].contains(parent, event.target)) { + continue; + } + + var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); + $__default["default"](parent).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { + continue; + } // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + + if ('ontouchstart' in document.documentElement) { + $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); + } + + toggles[i].setAttribute('aria-expanded', 'false'); + + if (context._popper) { + context._popper.destroy(); + } + + $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW$5); + $__default["default"](parent).removeClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); + } + }; + + Dropdown._getParentFromElement = function _getParentFromElement(element) { + var parent; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = document.querySelector(selector); + } + + return parent || element.parentNode; + } // eslint-disable-next-line complexity + ; + + Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { + // If not input/textarea: + // - And not a key in REGEXP_KEYDOWN => not a dropdown command + // If input/textarea: + // - If space key => not a dropdown command + // - If key is other than escape + // - If key is not up or down => not a dropdown command + // - If trigger inside the menu => not a dropdown command + if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE$1 && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default["default"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { + return; + } + + if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED$1)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + + var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW$5); + + if (!isActive && event.which === ESCAPE_KEYCODE$1) { + return; + } + event.preventDefault(); event.stopPropagation(); - - _this.toggle(); - }); - }; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config); - Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType); - return config; - }; - - _proto._getMenuElement = function _getMenuElement() { - if (!this._menu) { - var parent = Dropdown._getParentFromElement(this._element); - - if (parent) { - this._menu = parent.querySelector(SELECTOR_MENU); + + if (!isActive || event.which === ESCAPE_KEYCODE$1 || event.which === SPACE_KEYCODE) { + if (event.which === ESCAPE_KEYCODE$1) { + $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); + } + + $__default["default"](this).trigger('click'); + return; } - } - - return this._menu; - }; - - _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $__default["default"](this._element.parentNode); - var placement = PLACEMENT_BOTTOM; // Handle dropup - - if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) { - placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP; - } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) { - placement = PLACEMENT_RIGHT; - } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) { - placement = PLACEMENT_LEFT; - } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) { - placement = PLACEMENT_BOTTOMEND; - } - - return placement; + + var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) { + return $__default["default"](item).is(':visible'); + }); + + if (items.length === 0) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === ARROW_UP_KEYCODE && index > 0) { + // Up + index--; + } + + if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { + // Down + index++; + } + + if (index < 0) { + index = 0; + } + + items[index].focus(); + }; + + _createClass(Dropdown, null, [{ + key: "VERSION", + get: function get() { + return VERSION$6; + } + }, { + key: "Default", + get: function get() { + return Default$5; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$5; + } + }]); + + return Dropdown; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$2 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { + event.preventDefault(); + event.stopPropagation(); + + Dropdown._jQueryInterface.call($__default["default"](this), 'toggle'); + }).on(EVENT_CLICK_DATA_API$2, SELECTOR_FORM_CHILD, function (e) { + e.stopPropagation(); + }); + /** + * jQuery + */ + + $__default["default"].fn[NAME$6] = Dropdown._jQueryInterface; + $__default["default"].fn[NAME$6].Constructor = Dropdown; + + $__default["default"].fn[NAME$6].noConflict = function () { + $__default["default"].fn[NAME$6] = JQUERY_NO_CONFLICT$6; + return Dropdown._jQueryInterface; }; - - _proto._detectNavbar = function _detectNavbar() { - return $__default["default"](this._element).closest('.navbar').length > 0; + + /** + * Constants + */ + + var NAME$5 = 'modal'; + var VERSION$5 = '4.6.2'; + var DATA_KEY$5 = 'bs.modal'; + var EVENT_KEY$5 = "." + DATA_KEY$5; + var DATA_API_KEY$2 = '.data-api'; + var JQUERY_NO_CONFLICT$5 = $__default["default"].fn[NAME$5]; + var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key + + var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; + var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; + var CLASS_NAME_BACKDROP = 'modal-backdrop'; + var CLASS_NAME_OPEN = 'modal-open'; + var CLASS_NAME_FADE$4 = 'fade'; + var CLASS_NAME_SHOW$4 = 'show'; + var CLASS_NAME_STATIC = 'modal-static'; + var EVENT_HIDE$2 = "hide" + EVENT_KEY$5; + var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5; + var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5; + var EVENT_SHOW$2 = "show" + EVENT_KEY$5; + var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5; + var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5; + var EVENT_RESIZE = "resize" + EVENT_KEY$5; + var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$5; + var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5; + var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5; + var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5; + var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$5 + DATA_API_KEY$2; + var SELECTOR_DIALOG = '.modal-dialog'; + var SELECTOR_MODAL_BODY = '.modal-body'; + var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="modal"]'; + var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="modal"]'; + var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; + var SELECTOR_STICKY_CONTENT = '.sticky-top'; + var Default$4 = { + backdrop: true, + keyboard: true, + focus: true, + show: true }; - - _proto._getOffset = function _getOffset() { - var _this2 = this; - - var offset = {}; - - if (typeof this._config.offset === 'function') { - offset.fn = function (data) { - data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element)); - return data; - }; - } else { - offset.offset = this._config.offset; - } - - return offset; + var DefaultType$4 = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' }; - - _proto._getPopperConfig = function _getPopperConfig() { - var popperConfig = { - placement: this._getPlacement(), - modifiers: { - offset: this._getOffset(), - flip: { - enabled: this._config.flip - }, - preventOverflow: { - boundariesElement: this._config.boundary - } + /** + * Class definition + */ + + var Modal = /*#__PURE__*/function () { + function Modal(element, config) { + this._config = this._getConfig(config); + this._element = element; + this._dialog = element.querySelector(SELECTOR_DIALOG); + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._isTransitioning = false; + this._scrollbarWidth = 0; + } // Getters + + + var _proto = Modal.prototype; + + // Public + _proto.toggle = function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); + }; + + _proto.show = function show(relatedTarget) { + var _this = this; + + if (this._isShown || this._isTransitioning) { + return; } - }; // Disable Popper if we have a static display - - if (this._config.display === 'static') { - popperConfig.modifiers.applyStyle = { - enabled: false - }; - } - - return _extends({}, popperConfig, this._config.popperConfig); - } // Static - ; - - Dropdown._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $__default["default"](this).data(DATA_KEY$6); - - var _config = typeof config === 'object' ? config : null; - - if (!data) { - data = new Dropdown(this, _config); - $__default["default"](this).data(DATA_KEY$6, data); + + var showEvent = $__default["default"].Event(EVENT_SHOW$2, { + relatedTarget: relatedTarget + }); + $__default["default"](this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + + this._isShown = true; + + if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { + this._isTransitioning = true; + } + + this._checkScrollbar(); + + this._setScrollbar(); + + this._adjustDialog(); + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function (event) { + return _this.hide(event); + }); + $__default["default"](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { + $__default["default"](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { + if ($__default["default"](event.target).is(_this._element)) { + _this._ignoreBackdropClick = true; + } + }); + }); + + this._showBackdrop(function () { + return _this._showElement(relatedTarget); + }); + }; + + _proto.hide = function hide(event) { + var _this2 = this; + + if (event) { + event.preventDefault(); + } + + if (!this._isShown || this._isTransitioning) { + return; + } + + var hideEvent = $__default["default"].Event(EVENT_HIDE$2); + $__default["default"](this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); + + if (transition) { + this._isTransitioning = true; + } + + this._setEscapeEvent(); + + this._setResizeEvent(); + + $__default["default"](document).off(EVENT_FOCUSIN); + $__default["default"](this._element).removeClass(CLASS_NAME_SHOW$4); + $__default["default"](this._element).off(EVENT_CLICK_DISMISS$1); + $__default["default"](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._element); + $__default["default"](this._element).one(Util.TRANSITION_END, function (event) { + return _this2._hideModal(event); + }).emulateTransitionEnd(transitionDuration); + } else { + this._hideModal(); + } + }; + + _proto.dispose = function dispose() { + [window, this._element, this._dialog].forEach(function (htmlElement) { + return $__default["default"](htmlElement).off(EVENT_KEY$5); + }); + /** + * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` + * Do not move `document` in `htmlElements` array + * It will remove `EVENT_CLICK_DATA_API` event that should remain + */ + + $__default["default"](document).off(EVENT_FOCUSIN); + $__default["default"].removeData(this._element, DATA_KEY$5); + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._isTransitioning = null; + this._scrollbarWidth = null; + }; + + _proto.handleUpdate = function handleUpdate() { + this._adjustDialog(); + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$4, config); + Util.typeCheckConfig(NAME$5, config, DefaultType$4); + return config; + }; + + _proto._triggerBackdropTransition = function _triggerBackdropTransition() { + var _this3 = this; + + var hideEventPrevented = $__default["default"].Event(EVENT_HIDE_PREVENTED); + $__default["default"](this._element).trigger(hideEventPrevented); + + if (hideEventPrevented.isDefaultPrevented()) { + return; + } + + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!isModalOverflowing) { + this._element.style.overflowY = 'hidden'; + } + + this._element.classList.add(CLASS_NAME_STATIC); + + var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $__default["default"](this._element).off(Util.TRANSITION_END); + $__default["default"](this._element).one(Util.TRANSITION_END, function () { + _this3._element.classList.remove(CLASS_NAME_STATIC); + + if (!isModalOverflowing) { + $__default["default"](_this3._element).one(Util.TRANSITION_END, function () { + _this3._element.style.overflowY = ''; + }).emulateTransitionEnd(_this3._element, modalTransitionDuration); } - - data[config](); + }).emulateTransitionEnd(modalTransitionDuration); + + this._element.focus(); + }; + + _proto._showElement = function _showElement(relatedTarget) { + var _this4 = this; + + var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); + var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null; + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // Don't move modal's DOM position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + + this._element.removeAttribute('aria-hidden'); + + this._element.setAttribute('aria-modal', true); + + this._element.setAttribute('role', 'dialog'); + + if ($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { + modalBody.scrollTop = 0; + } else { + this._element.scrollTop = 0; } - }); - }; - - Dropdown._clearMenus = function _clearMenus(event) { - if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { - return; - } - - var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)); - - for (var i = 0, len = toggles.length; i < len; i++) { - var parent = Dropdown._getParentFromElement(toggles[i]); - - var context = $__default["default"](toggles[i]).data(DATA_KEY$6); - var relatedTarget = { - relatedTarget: toggles[i] + + if (transition) { + Util.reflow(this._element); + } + + $__default["default"](this._element).addClass(CLASS_NAME_SHOW$4); + + if (this._config.focus) { + this._enforceFocus(); + } + + var shownEvent = $__default["default"].Event(EVENT_SHOWN$2, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this4._config.focus) { + _this4._element.focus(); + } + + _this4._isTransitioning = false; + $__default["default"](_this4._element).trigger(shownEvent); }; - - if (event && event.type === 'click') { - relatedTarget.clickEvent = event; + + if (transition) { + var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); + $__default["default"](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); + } else { + transitionComplete(); } - - if (!context) { - continue; + }; + + _proto._enforceFocus = function _enforceFocus() { + var _this5 = this; + + $__default["default"](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop + .on(EVENT_FOCUSIN, function (event) { + if (document !== event.target && _this5._element !== event.target && $__default["default"](_this5._element).has(event.target).length === 0) { + _this5._element.focus(); + } + }); + }; + + _proto._setEscapeEvent = function _setEscapeEvent() { + var _this6 = this; + + if (this._isShown) { + $__default["default"](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { + if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { + event.preventDefault(); + + _this6.hide(); + } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { + _this6._triggerBackdropTransition(); + } + }); + } else if (!this._isShown) { + $__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS); } - - var dropdownMenu = context._menu; - - if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW$5)) { - continue; + }; + + _proto._setResizeEvent = function _setResizeEvent() { + var _this7 = this; + + if (this._isShown) { + $__default["default"](window).on(EVENT_RESIZE, function (event) { + return _this7.handleUpdate(event); + }); + } else { + $__default["default"](window).off(EVENT_RESIZE); } - - if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default["default"].contains(parent, event.target)) { - continue; + }; + + _proto._hideModal = function _hideModal() { + var _this8 = this; + + this._element.style.display = 'none'; + + this._element.setAttribute('aria-hidden', true); + + this._element.removeAttribute('aria-modal'); + + this._element.removeAttribute('role'); + + this._isTransitioning = false; + + this._showBackdrop(function () { + $__default["default"](document.body).removeClass(CLASS_NAME_OPEN); + + _this8._resetAdjustments(); + + _this8._resetScrollbar(); + + $__default["default"](_this8._element).trigger(EVENT_HIDDEN$2); + }); + }; + + _proto._removeBackdrop = function _removeBackdrop() { + if (this._backdrop) { + $__default["default"](this._backdrop).remove(); + this._backdrop = null; } - - var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget); - $__default["default"](parent).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - continue; - } // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - - if ('ontouchstart' in document.documentElement) { - $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); + }; + + _proto._showBackdrop = function _showBackdrop(callback) { + var _this9 = this; + + var animate = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4) ? CLASS_NAME_FADE$4 : ''; + + if (this._isShown && this._config.backdrop) { + this._backdrop = document.createElement('div'); + this._backdrop.className = CLASS_NAME_BACKDROP; + + if (animate) { + this._backdrop.classList.add(animate); + } + + $__default["default"](this._backdrop).appendTo(document.body); + $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, function (event) { + if (_this9._ignoreBackdropClick) { + _this9._ignoreBackdropClick = false; + return; + } + + if (event.target !== event.currentTarget) { + return; + } + + if (_this9._config.backdrop === 'static') { + _this9._triggerBackdropTransition(); + } else { + _this9.hide(); + } + }); + + if (animate) { + Util.reflow(this._backdrop); + } + + $__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW$4); + + if (!callback) { + return; + } + + if (!animate) { + callback(); + return; + } + + var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + $__default["default"](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); + } else if (!this._isShown && this._backdrop) { + $__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW$4); + + var callbackRemove = function callbackRemove() { + _this9._removeBackdrop(); + + if (callback) { + callback(); + } + }; + + if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { + var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); + + $__default["default"](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); } - - toggles[i].setAttribute('aria-expanded', 'false'); - - if (context._popper) { - context._popper.destroy(); + } // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + ; + + _proto._adjustDialog = function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + "px"; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + "px"; } - - $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW$5); - $__default["default"](parent).removeClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget)); - } - }; - - Dropdown._getParentFromElement = function _getParentFromElement(element) { - var parent; - var selector = Util.getSelectorFromElement(element); - - if (selector) { - parent = document.querySelector(selector); - } - - return parent || element.parentNode; - } // eslint-disable-next-line complexity - ; - - Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { - // If not input/textarea: - // - And not a key in REGEXP_KEYDOWN => not a dropdown command - // If input/textarea: - // - If space key => not a dropdown command - // - If key is other than escape - // - If key is not up or down => not a dropdown command - // - If trigger inside the menu => not a dropdown command - if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE$1 && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default["default"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { - return; - } - - if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED$1)) { - return; - } - - var parent = Dropdown._getParentFromElement(this); - - var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW$5); - - if (!isActive && event.which === ESCAPE_KEYCODE$1) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - - if (!isActive || event.which === ESCAPE_KEYCODE$1 || event.which === SPACE_KEYCODE) { - if (event.which === ESCAPE_KEYCODE$1) { - $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus'); - } - - $__default["default"](this).trigger('click'); - return; - } - - var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) { - return $__default["default"](item).is(':visible'); - }); - - if (items.length === 0) { - return; - } - - var index = items.indexOf(event.target); - - if (event.which === ARROW_UP_KEYCODE && index > 0) { - // Up - index--; - } - - if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { - // Down - index++; - } - - if (index < 0) { - index = 0; - } - - items[index].focus(); - }; - - _createClass(Dropdown, null, [{ - key: "VERSION", - get: function get() { - return VERSION$6; - } - }, { - key: "Default", - get: function get() { - return Default$5; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType$5; - } - }]); - - return Dropdown; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$2 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) { - event.preventDefault(); - event.stopPropagation(); - - Dropdown._jQueryInterface.call($__default["default"](this), 'toggle'); - }).on(EVENT_CLICK_DATA_API$2, SELECTOR_FORM_CHILD, function (e) { - e.stopPropagation(); - }); - /** - * jQuery - */ - - $__default["default"].fn[NAME$6] = Dropdown._jQueryInterface; - $__default["default"].fn[NAME$6].Constructor = Dropdown; - - $__default["default"].fn[NAME$6].noConflict = function () { - $__default["default"].fn[NAME$6] = JQUERY_NO_CONFLICT$6; - return Dropdown._jQueryInterface; - }; - - /** - * Constants - */ - - var NAME$5 = 'modal'; - var VERSION$5 = '4.6.2'; - var DATA_KEY$5 = 'bs.modal'; - var EVENT_KEY$5 = "." + DATA_KEY$5; - var DATA_API_KEY$2 = '.data-api'; - var JQUERY_NO_CONFLICT$5 = $__default["default"].fn[NAME$5]; - var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key - - var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'; - var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'; - var CLASS_NAME_BACKDROP = 'modal-backdrop'; - var CLASS_NAME_OPEN = 'modal-open'; - var CLASS_NAME_FADE$4 = 'fade'; - var CLASS_NAME_SHOW$4 = 'show'; - var CLASS_NAME_STATIC = 'modal-static'; - var EVENT_HIDE$2 = "hide" + EVENT_KEY$5; - var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5; - var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5; - var EVENT_SHOW$2 = "show" + EVENT_KEY$5; - var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5; - var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5; - var EVENT_RESIZE = "resize" + EVENT_KEY$5; - var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$5; - var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5; - var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5; - var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5; - var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$5 + DATA_API_KEY$2; - var SELECTOR_DIALOG = '.modal-dialog'; - var SELECTOR_MODAL_BODY = '.modal-body'; - var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="modal"]'; - var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="modal"]'; - var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'; - var SELECTOR_STICKY_CONTENT = '.sticky-top'; - var Default$4 = { - backdrop: true, - keyboard: true, - focus: true, - show: true - }; - var DefaultType$4 = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean', - show: 'boolean' - }; - /** - * Class definition - */ - - var Modal = /*#__PURE__*/function () { - function Modal(element, config) { - this._config = this._getConfig(config); - this._element = element; - this._dialog = element.querySelector(SELECTOR_DIALOG); - this._backdrop = null; - this._isShown = false; - this._isBodyOverflowing = false; - this._ignoreBackdropClick = false; - this._isTransitioning = false; - this._scrollbarWidth = 0; - } // Getters - - - var _proto = Modal.prototype; - - // Public - _proto.toggle = function toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - }; - - _proto.show = function show(relatedTarget) { - var _this = this; - - if (this._isShown || this._isTransitioning) { - return; - } - - var showEvent = $__default["default"].Event(EVENT_SHOW$2, { - relatedTarget: relatedTarget - }); - $__default["default"](this._element).trigger(showEvent); - - if (showEvent.isDefaultPrevented()) { - return; - } - - this._isShown = true; - - if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { - this._isTransitioning = true; - } - - this._checkScrollbar(); - - this._setScrollbar(); - - this._adjustDialog(); - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function (event) { - return _this.hide(event); - }); - $__default["default"](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () { - $__default["default"](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) { - if ($__default["default"](event.target).is(_this._element)) { - _this._ignoreBackdropClick = true; + }; + + _proto._resetAdjustments = function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + }; + + _proto._checkScrollbar = function _checkScrollbar() { + var rect = document.body.getBoundingClientRect(); + this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + }; + + _proto._setScrollbar = function _setScrollbar() { + var _this10 = this; + + if (this._isBodyOverflowing) { + // Note: DOMNode.style.paddingRight returns the actual value or '' if not set + // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set + var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); + var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding + + $__default["default"](fixedContent).each(function (index, element) { + var actualPadding = element.style.paddingRight; + var calculatedPadding = $__default["default"](element).css('padding-right'); + $__default["default"](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); + }); // Adjust sticky content margin + + $__default["default"](stickyContent).each(function (index, element) { + var actualMargin = element.style.marginRight; + var calculatedMargin = $__default["default"](element).css('margin-right'); + $__default["default"](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); + }); // Adjust body padding + + var actualPadding = document.body.style.paddingRight; + var calculatedPadding = $__default["default"](document.body).css('padding-right'); + $__default["default"](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); + } + + $__default["default"](document.body).addClass(CLASS_NAME_OPEN); + }; + + _proto._resetScrollbar = function _resetScrollbar() { + // Restore fixed content padding + var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); + $__default["default"](fixedContent).each(function (index, element) { + var padding = $__default["default"](element).data('padding-right'); + $__default["default"](element).removeData('padding-right'); + element.style.paddingRight = padding ? padding : ''; + }); // Restore sticky content + + var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT)); + $__default["default"](elements).each(function (index, element) { + var margin = $__default["default"](element).data('margin-right'); + + if (typeof margin !== 'undefined') { + $__default["default"](element).css('margin-right', margin).removeData('margin-right'); + } + }); // Restore body padding + + var padding = $__default["default"](document.body).data('padding-right'); + $__default["default"](document.body).removeData('padding-right'); + document.body.style.paddingRight = padding ? padding : ''; + }; + + _proto._getScrollbarWidth = function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } // Static + ; + + Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $__default["default"](this).data(DATA_KEY$5); + + var _config = _extends({}, Default$4, $__default["default"](this).data(), typeof config === 'object' && config ? config : {}); + + if (!data) { + data = new Modal(this, _config); + $__default["default"](this).data(DATA_KEY$5, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); } }); - }); - - this._showBackdrop(function () { - return _this._showElement(relatedTarget); - }); - }; - - _proto.hide = function hide(event) { - var _this2 = this; - - if (event) { - event.preventDefault(); - } - - if (!this._isShown || this._isTransitioning) { - return; - } - - var hideEvent = $__default["default"].Event(EVENT_HIDE$2); - $__default["default"](this._element).trigger(hideEvent); - - if (!this._isShown || hideEvent.isDefaultPrevented()) { - return; - } - - this._isShown = false; - var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); - - if (transition) { - this._isTransitioning = true; + }; + + _createClass(Modal, null, [{ + key: "VERSION", + get: function get() { + return VERSION$5; + } + }, { + key: "Default", + get: function get() { + return Default$4; + } + }]); + + return Modal; + }(); + /** + * Data API implementation + */ + + + $__default["default"](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { + var _this11 = this; + + var target; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = document.querySelector(selector); } - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $__default["default"](document).off(EVENT_FOCUSIN); - $__default["default"](this._element).removeClass(CLASS_NAME_SHOW$4); - $__default["default"](this._element).off(EVENT_CLICK_DISMISS$1); - $__default["default"](this._dialog).off(EVENT_MOUSEDOWN_DISMISS); - - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._element); - $__default["default"](this._element).one(Util.TRANSITION_END, function (event) { - return _this2._hideModal(event); - }).emulateTransitionEnd(transitionDuration); - } else { - this._hideModal(); + + var config = $__default["default"](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); + + if (this.tagName === 'A' || this.tagName === 'AREA') { + event.preventDefault(); } - }; - - _proto.dispose = function dispose() { - [window, this._element, this._dialog].forEach(function (htmlElement) { - return $__default["default"](htmlElement).off(EVENT_KEY$5); + + var $target = $__default["default"](target).one(EVENT_SHOW$2, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // Only register focus restorer if modal will actually get shown + return; + } + + $target.one(EVENT_HIDDEN$2, function () { + if ($__default["default"](_this11).is(':visible')) { + _this11.focus(); + } + }); }); - /** - * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API` - * Do not move `document` in `htmlElements` array - * It will remove `EVENT_CLICK_DATA_API` event that should remain - */ - - $__default["default"](document).off(EVENT_FOCUSIN); - $__default["default"].removeData(this._element, DATA_KEY$5); - this._config = null; - this._element = null; - this._dialog = null; - this._backdrop = null; - this._isShown = null; - this._isBodyOverflowing = null; - this._ignoreBackdropClick = null; - this._isTransitioning = null; - this._scrollbarWidth = null; + + Modal._jQueryInterface.call($__default["default"](target), config, this); + }); + /** + * jQuery + */ + + $__default["default"].fn[NAME$5] = Modal._jQueryInterface; + $__default["default"].fn[NAME$5].Constructor = Modal; + + $__default["default"].fn[NAME$5].noConflict = function () { + $__default["default"].fn[NAME$5] = JQUERY_NO_CONFLICT$5; + return Modal._jQueryInterface; }; - - _proto.handleUpdate = function handleUpdate() { - this._adjustDialog(); - } // Private - ; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default$4, config); - Util.typeCheckConfig(NAME$5, config, DefaultType$4); - return config; + + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.6.2): tools/sanitizer.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * -------------------------------------------------------------------------- + */ + var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; + var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; + var DefaultWhitelist = { + // Global attributes allowed on any supplied element below. + '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], + a: ['target', 'href', 'title', 'rel'], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] }; - - _proto._triggerBackdropTransition = function _triggerBackdropTransition() { - var _this3 = this; - - var hideEventPrevented = $__default["default"].Event(EVENT_HIDE_PREVENTED); - $__default["default"](this._element).trigger(hideEventPrevented); - - if (hideEventPrevented.isDefaultPrevented()) { - return; - } - - var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - - if (!isModalOverflowing) { - this._element.style.overflowY = 'hidden'; - } - - this._element.classList.add(CLASS_NAME_STATIC); - - var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog); - $__default["default"](this._element).off(Util.TRANSITION_END); - $__default["default"](this._element).one(Util.TRANSITION_END, function () { - _this3._element.classList.remove(CLASS_NAME_STATIC); - - if (!isModalOverflowing) { - $__default["default"](_this3._element).one(Util.TRANSITION_END, function () { - _this3._element.style.overflowY = ''; - }).emulateTransitionEnd(_this3._element, modalTransitionDuration); + /** + * A pattern that recognizes a commonly useful subset of URLs that are safe. + * + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + + var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; + /** + * A pattern that matches safe data URLs. Only matches image, video and audio types. + * + * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts + */ + + var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + + function allowedAttribute(attr, allowedAttributeList) { + var attrName = attr.nodeName.toLowerCase(); + + if (allowedAttributeList.indexOf(attrName) !== -1) { + if (uriAttrs.indexOf(attrName) !== -1) { + return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)); } - }).emulateTransitionEnd(modalTransitionDuration); - - this._element.focus(); - }; - - _proto._showElement = function _showElement(relatedTarget) { - var _this4 = this; - - var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4); - var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null; - - if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { - // Don't move modal's DOM position - document.body.appendChild(this._element); - } - - this._element.style.display = 'block'; - - this._element.removeAttribute('aria-hidden'); - - this._element.setAttribute('aria-modal', true); - - this._element.setAttribute('role', 'dialog'); - - if ($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) { - modalBody.scrollTop = 0; - } else { - this._element.scrollTop = 0; - } - - if (transition) { - Util.reflow(this._element); - } - - $__default["default"](this._element).addClass(CLASS_NAME_SHOW$4); - - if (this._config.focus) { - this._enforceFocus(); + + return true; } - - var shownEvent = $__default["default"].Event(EVENT_SHOWN$2, { - relatedTarget: relatedTarget - }); - - var transitionComplete = function transitionComplete() { - if (_this4._config.focus) { - _this4._element.focus(); + + var regExp = allowedAttributeList.filter(function (attrRegex) { + return attrRegex instanceof RegExp; + }); // Check if a regular expression validates the attribute. + + for (var i = 0, len = regExp.length; i < len; i++) { + if (regExp[i].test(attrName)) { + return true; } - - _this4._isTransitioning = false; - $__default["default"](_this4._element).trigger(shownEvent); - }; - - if (transition) { - var transitionDuration = Util.getTransitionDurationFromElement(this._dialog); - $__default["default"](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration); - } else { - transitionComplete(); } - }; - - _proto._enforceFocus = function _enforceFocus() { - var _this5 = this; - - $__default["default"](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop - .on(EVENT_FOCUSIN, function (event) { - if (document !== event.target && _this5._element !== event.target && $__default["default"](_this5._element).has(event.target).length === 0) { - _this5._element.focus(); - } - }); - }; - - _proto._setEscapeEvent = function _setEscapeEvent() { - var _this6 = this; - - if (this._isShown) { - $__default["default"](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) { - if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { - event.preventDefault(); - - _this6.hide(); - } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) { - _this6._triggerBackdropTransition(); + + return false; + } + + function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { + if (unsafeHtml.length === 0) { + return unsafeHtml; + } + + if (sanitizeFn && typeof sanitizeFn === 'function') { + return sanitizeFn(unsafeHtml); + } + + var domParser = new window.DOMParser(); + var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); + var whitelistKeys = Object.keys(whiteList); + var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); + + var _loop = function _loop(i, len) { + var el = elements[i]; + var elName = el.nodeName.toLowerCase(); + + if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { + el.parentNode.removeChild(el); + return "continue"; + } + + var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread + + var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); + attributeList.forEach(function (attr) { + if (!allowedAttribute(attr, whitelistedAttributes)) { + el.removeAttribute(attr.nodeName); } }); - } else if (!this._isShown) { - $__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS); - } + }; + + for (var i = 0, len = elements.length; i < len; i++) { + var _ret = _loop(i); + + if (_ret === "continue") continue; + } + + return createdDocument.body.innerHTML; + } + + /** + * Constants + */ + + var NAME$4 = 'tooltip'; + var VERSION$4 = '4.6.2'; + var DATA_KEY$4 = 'bs.tooltip'; + var EVENT_KEY$4 = "." + DATA_KEY$4; + var JQUERY_NO_CONFLICT$4 = $__default["default"].fn[NAME$4]; + var CLASS_PREFIX$1 = 'bs-tooltip'; + var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); + var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; + var CLASS_NAME_FADE$3 = 'fade'; + var CLASS_NAME_SHOW$3 = 'show'; + var HOVER_STATE_SHOW = 'show'; + var HOVER_STATE_OUT = 'out'; + var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; + var SELECTOR_ARROW = '.arrow'; + var TRIGGER_HOVER = 'hover'; + var TRIGGER_FOCUS = 'focus'; + var TRIGGER_CLICK = 'click'; + var TRIGGER_MANUAL = 'manual'; + var AttachmentMap = { + AUTO: 'auto', + TOP: 'top', + RIGHT: 'right', + BOTTOM: 'bottom', + LEFT: 'left' }; - - _proto._setResizeEvent = function _setResizeEvent() { - var _this7 = this; - - if (this._isShown) { - $__default["default"](window).on(EVENT_RESIZE, function (event) { - return _this7.handleUpdate(event); - }); - } else { - $__default["default"](window).off(EVENT_RESIZE); - } + var Default$3 = { + animation: true, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + selector: false, + placement: 'top', + offset: 0, + container: false, + fallbackPlacement: 'flip', + boundary: 'scrollParent', + customClass: '', + sanitize: true, + sanitizeFn: null, + whiteList: DefaultWhitelist, + popperConfig: null }; - - _proto._hideModal = function _hideModal() { - var _this8 = this; - - this._element.style.display = 'none'; - - this._element.setAttribute('aria-hidden', true); - - this._element.removeAttribute('aria-modal'); - - this._element.removeAttribute('role'); - - this._isTransitioning = false; - - this._showBackdrop(function () { - $__default["default"](document.body).removeClass(CLASS_NAME_OPEN); - - _this8._resetAdjustments(); - - _this8._resetScrollbar(); - - $__default["default"](_this8._element).trigger(EVENT_HIDDEN$2); - }); + var DefaultType$3 = { + animation: 'boolean', + template: 'string', + title: '(string|element|function)', + trigger: 'string', + delay: '(number|object)', + html: 'boolean', + selector: '(string|boolean)', + placement: '(string|function)', + offset: '(number|string|function)', + container: '(string|element|boolean)', + fallbackPlacement: '(string|array)', + boundary: '(string|element)', + customClass: '(string|function)', + sanitize: 'boolean', + sanitizeFn: '(null|function)', + whiteList: 'object', + popperConfig: '(null|object)' }; - - _proto._removeBackdrop = function _removeBackdrop() { - if (this._backdrop) { - $__default["default"](this._backdrop).remove(); - this._backdrop = null; - } + var Event$1 = { + HIDE: "hide" + EVENT_KEY$4, + HIDDEN: "hidden" + EVENT_KEY$4, + SHOW: "show" + EVENT_KEY$4, + SHOWN: "shown" + EVENT_KEY$4, + INSERTED: "inserted" + EVENT_KEY$4, + CLICK: "click" + EVENT_KEY$4, + FOCUSIN: "focusin" + EVENT_KEY$4, + FOCUSOUT: "focusout" + EVENT_KEY$4, + MOUSEENTER: "mouseenter" + EVENT_KEY$4, + MOUSELEAVE: "mouseleave" + EVENT_KEY$4 }; - - _proto._showBackdrop = function _showBackdrop(callback) { - var _this9 = this; - - var animate = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4) ? CLASS_NAME_FADE$4 : ''; - - if (this._isShown && this._config.backdrop) { - this._backdrop = document.createElement('div'); - this._backdrop.className = CLASS_NAME_BACKDROP; - - if (animate) { - this._backdrop.classList.add(animate); + /** + * Class definition + */ + + var Tooltip = /*#__PURE__*/function () { + function Tooltip(element, config) { + if (typeof Popper__default["default"] === 'undefined') { + throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); + } // Private + + + this._isEnabled = true; + this._timeout = 0; + this._hoverState = ''; + this._activeTrigger = {}; + this._popper = null; // Protected + + this.element = element; + this.config = this._getConfig(config); + this.tip = null; + + this._setListeners(); + } // Getters + + + var _proto = Tooltip.prototype; + + // Public + _proto.enable = function enable() { + this._isEnabled = true; + }; + + _proto.disable = function disable() { + this._isEnabled = false; + }; + + _proto.toggleEnabled = function toggleEnabled() { + this._isEnabled = !this._isEnabled; + }; + + _proto.toggle = function toggle(event) { + if (!this._isEnabled) { + return; } - - $__default["default"](this._backdrop).appendTo(document.body); - $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, function (event) { - if (_this9._ignoreBackdropClick) { - _this9._ignoreBackdropClick = false; + + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $__default["default"](event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $__default["default"](event.currentTarget).data(dataKey, context); + } + + context._activeTrigger.click = !context._activeTrigger.click; + + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } + } else { + if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$3)) { + this._leave(null, this); + return; } - - if (event.target !== event.currentTarget) { + + this._enter(null, this); + } + }; + + _proto.dispose = function dispose() { + clearTimeout(this._timeout); + $__default["default"].removeData(this.element, this.constructor.DATA_KEY); + $__default["default"](this.element).off(this.constructor.EVENT_KEY); + $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); + + if (this.tip) { + $__default["default"](this.tip).remove(); + } + + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + + if (this._popper) { + this._popper.destroy(); + } + + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; + }; + + _proto.show = function show() { + var _this = this; + + if ($__default["default"](this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } + + var showEvent = $__default["default"].Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + $__default["default"](this.element).trigger(showEvent); + var shadowRoot = Util.findShadowRoot(this.element); + var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); + + if (showEvent.isDefaultPrevented() || !isInTheDom) { return; } - - if (_this9._config.backdrop === 'static') { - _this9._triggerBackdropTransition(); + + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); + this.setContent(); + + if (this.config.animation) { + $__default["default"](tip).addClass(CLASS_NAME_FADE$3); + } + + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + + var attachment = this._getAttachment(placement); + + this.addAttachmentClass(attachment); + + var container = this._getContainer(); + + $__default["default"](tip).data(this.constructor.DATA_KEY, this); + + if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) { + $__default["default"](tip).appendTo(container); + } + + $__default["default"](this.element).trigger(this.constructor.Event.INSERTED); + this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment)); + $__default["default"](tip).addClass(CLASS_NAME_SHOW$3); + $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + + if ('ontouchstart' in document.documentElement) { + $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); + } + + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + + var prevHoverState = _this._hoverState; + _this._hoverState = null; + $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HOVER_STATE_OUT) { + _this._leave(null, _this); + } + }; + + if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { + var transitionDuration = Util.getTransitionDurationFromElement(this.tip); + $__default["default"](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); } else { - _this9.hide(); + complete(); } - }); - - if (animate) { - Util.reflow(this._backdrop); } - - $__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW$4); - - if (!callback) { + }; + + _proto.hide = function hide(callback) { + var _this2 = this; + + var tip = this.getTipElement(); + var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE); + + var complete = function complete() { + if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); + } + + _this2._cleanTipClass(); + + _this2.element.removeAttribute('aria-describedby'); + + $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN); + + if (_this2._popper !== null) { + _this2._popper.destroy(); + } + + if (callback) { + callback(); + } + }; + + $__default["default"](this.element).trigger(hideEvent); + + if (hideEvent.isDefaultPrevented()) { return; } - - if (!animate) { - callback(); + + $__default["default"](tip).removeClass(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + + if ('ontouchstart' in document.documentElement) { + $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); + } + + this._activeTrigger[TRIGGER_CLICK] = false; + this._activeTrigger[TRIGGER_FOCUS] = false; + this._activeTrigger[TRIGGER_HOVER] = false; + + if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { + var transitionDuration = Util.getTransitionDurationFromElement(tip); + $__default["default"](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); + } else { + complete(); + } + + this._hoverState = ''; + }; + + _proto.update = function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } + } // Protected + ; + + _proto.isWithContent = function isWithContent() { + return Boolean(this.getTitle()); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $__default["default"](this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var tip = this.getTipElement(); + this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); + $__default["default"](tip).removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$3); + }; + + _proto.setElementContent = function setElementContent($element, content) { + if (typeof content === 'object' && (content.nodeType || content.jquery)) { + // Content is a DOM node or a jQuery + if (this.config.html) { + if (!$__default["default"](content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($__default["default"](content).text()); + } + return; } - - var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - $__default["default"](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration); - } else if (!this._isShown && this._backdrop) { - $__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW$4); - - var callbackRemove = function callbackRemove() { - _this9._removeBackdrop(); - - if (callback) { - callback(); + + if (this.config.html) { + if (this.config.sanitize) { + content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + } + + $element.html(content); + } else { + $element.text(content); + } + }; + + _proto.getTitle = function getTitle() { + var title = this.element.getAttribute('data-original-title'); + + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } + + return title; + } // Private + ; + + _proto._getPopperConfig = function _getPopperConfig(attachment) { + var _this3 = this; + + var defaultBsConfig = { + placement: attachment, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: SELECTOR_ARROW + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this3._handlePopperPlacementChange(data); + } + }, + onUpdate: function onUpdate(data) { + return _this3._handlePopperPlacementChange(data); } }; - - if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) { - var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop); - - $__default["default"](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration); + return _extends({}, defaultBsConfig, this.config.popperConfig); + }; + + _proto._getOffset = function _getOffset() { + var _this4 = this; + + var offset = {}; + + if (typeof this.config.offset === 'function') { + offset.fn = function (data) { + data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element)); + return data; + }; } else { - callbackRemove(); + offset.offset = this.config.offset; } - } else if (callback) { - callback(); - } - } // ---------------------------------------------------------------------- - // the following methods are used to handle overflowing modals - // todo (fat): these should probably be refactored out of modal.js - // ---------------------------------------------------------------------- - ; - - _proto._adjustDialog = function _adjustDialog() { - var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; - - if (!this._isBodyOverflowing && isModalOverflowing) { - this._element.style.paddingLeft = this._scrollbarWidth + "px"; - } - - if (this._isBodyOverflowing && !isModalOverflowing) { - this._element.style.paddingRight = this._scrollbarWidth + "px"; - } - }; - - _proto._resetAdjustments = function _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - }; - - _proto._checkScrollbar = function _checkScrollbar() { - var rect = document.body.getBoundingClientRect(); - this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; - this._scrollbarWidth = this._getScrollbarWidth(); - }; - - _proto._setScrollbar = function _setScrollbar() { - var _this10 = this; - - if (this._isBodyOverflowing) { - // Note: DOMNode.style.paddingRight returns the actual value or '' if not set - // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set - var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); - var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding - - $__default["default"](fixedContent).each(function (index, element) { - var actualPadding = element.style.paddingRight; - var calculatedPadding = $__default["default"](element).css('padding-right'); - $__default["default"](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px"); - }); // Adjust sticky content margin - - $__default["default"](stickyContent).each(function (index, element) { - var actualMargin = element.style.marginRight; - var calculatedMargin = $__default["default"](element).css('margin-right'); - $__default["default"](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px"); - }); // Adjust body padding - - var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $__default["default"](document.body).css('padding-right'); - $__default["default"](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); - } - - $__default["default"](document.body).addClass(CLASS_NAME_OPEN); - }; - - _proto._resetScrollbar = function _resetScrollbar() { - // Restore fixed content padding - var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT)); - $__default["default"](fixedContent).each(function (index, element) { - var padding = $__default["default"](element).data('padding-right'); - $__default["default"](element).removeData('padding-right'); - element.style.paddingRight = padding ? padding : ''; - }); // Restore sticky content - - var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT)); - $__default["default"](elements).each(function (index, element) { - var margin = $__default["default"](element).data('margin-right'); - - if (typeof margin !== 'undefined') { - $__default["default"](element).css('margin-right', margin).removeData('margin-right'); + + return offset; + }; + + _proto._getContainer = function _getContainer() { + if (this.config.container === false) { + return document.body; } - }); // Restore body padding - - var padding = $__default["default"](document.body).data('padding-right'); - $__default["default"](document.body).removeData('padding-right'); - document.body.style.paddingRight = padding ? padding : ''; - }; - - _proto._getScrollbarWidth = function _getScrollbarWidth() { - // thx d.walsh - var scrollDiv = document.createElement('div'); - scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - } // Static - ; - - Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { - return this.each(function () { - var data = $__default["default"](this).data(DATA_KEY$5); - - var _config = _extends({}, Default$4, $__default["default"](this).data(), typeof config === 'object' && config ? config : {}); - - if (!data) { - data = new Modal(this, _config); - $__default["default"](this).data(DATA_KEY$5, data); + + if (Util.isElement(this.config.container)) { + return $__default["default"](this.config.container); } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError("No method named \"" + config + "\""); + + return $__default["default"](document).find(this.config.container); + }; + + _proto._getAttachment = function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + }; + + _proto._setListeners = function _setListeners() { + var _this5 = this; + + var triggers = this.config.trigger.split(' '); + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { + return _this5.toggle(event); + }); + } else if (trigger !== TRIGGER_MANUAL) { + var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; + var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; + $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) { + return _this5._enter(event); + }).on(eventOut, _this5.config.selector, function (event) { + return _this5._leave(event); + }); } - - data[config](relatedTarget); - } else if (_config.show) { - data.show(relatedTarget); - } - }); - }; - - _createClass(Modal, null, [{ - key: "VERSION", - get: function get() { - return VERSION$5; - } - }, { - key: "Default", - get: function get() { - return Default$4; - } - }]); - - return Modal; - }(); - /** - * Data API implementation - */ - - - $__default["default"](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) { - var _this11 = this; - - var target; - var selector = Util.getSelectorFromElement(this); - - if (selector) { - target = document.querySelector(selector); - } - - var config = $__default["default"](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data()); - - if (this.tagName === 'A' || this.tagName === 'AREA') { - event.preventDefault(); - } - - var $target = $__default["default"](target).one(EVENT_SHOW$2, function (showEvent) { - if (showEvent.isDefaultPrevented()) { - // Only register focus restorer if modal will actually get shown - return; - } - - $target.one(EVENT_HIDDEN$2, function () { - if ($__default["default"](_this11).is(':visible')) { - _this11.focus(); + }); + + this._hideModalHandler = function () { + if (_this5.element) { + _this5.hide(); + } + }; + + $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); + + if (this.config.selector) { + this.config = _extends({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); } - }); - }); - - Modal._jQueryInterface.call($__default["default"](target), config, this); - }); - /** - * jQuery - */ - - $__default["default"].fn[NAME$5] = Modal._jQueryInterface; - $__default["default"].fn[NAME$5].Constructor = Modal; - - $__default["default"].fn[NAME$5].noConflict = function () { - $__default["default"].fn[NAME$5] = JQUERY_NO_CONFLICT$5; - return Modal._jQueryInterface; - }; - - /** - * -------------------------------------------------------------------------- - * Bootstrap (v4.6.2): tools/sanitizer.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - * -------------------------------------------------------------------------- - */ - var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']; - var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; - var DefaultWhitelist = { - // Global attributes allowed on any supplied element below. - '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN], - a: ['target', 'href', 'title', 'rel'], - area: [], - b: [], - br: [], - col: [], - code: [], - div: [], - em: [], - hr: [], - h1: [], - h2: [], - h3: [], - h4: [], - h5: [], - h6: [], - i: [], - img: ['src', 'srcset', 'alt', 'title', 'width', 'height'], - li: [], - ol: [], - p: [], - pre: [], - s: [], - small: [], - span: [], - sub: [], - sup: [], - strong: [], - u: [], - ul: [] - }; - /** - * A pattern that recognizes a commonly useful subset of URLs that are safe. - * - * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ - - var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; - /** - * A pattern that matches safe data URLs. Only matches image, video and audio types. - * - * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts - */ - - var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; - - function allowedAttribute(attr, allowedAttributeList) { - var attrName = attr.nodeName.toLowerCase(); - - if (allowedAttributeList.indexOf(attrName) !== -1) { - if (uriAttrs.indexOf(attrName) !== -1) { - return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue)); - } - - return true; - } - - var regExp = allowedAttributeList.filter(function (attrRegex) { - return attrRegex instanceof RegExp; - }); // Check if a regular expression validates the attribute. - - for (var i = 0, len = regExp.length; i < len; i++) { - if (regExp[i].test(attrName)) { - return true; - } - } - - return false; - } - - function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) { - if (unsafeHtml.length === 0) { - return unsafeHtml; - } - - if (sanitizeFn && typeof sanitizeFn === 'function') { - return sanitizeFn(unsafeHtml); - } - - var domParser = new window.DOMParser(); - var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html'); - var whitelistKeys = Object.keys(whiteList); - var elements = [].slice.call(createdDocument.body.querySelectorAll('*')); - - var _loop = function _loop(i, len) { - var el = elements[i]; - var elName = el.nodeName.toLowerCase(); - - if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) { - el.parentNode.removeChild(el); - return "continue"; - } - - var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread - - var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []); - attributeList.forEach(function (attr) { - if (!allowedAttribute(attr, whitelistedAttributes)) { - el.removeAttribute(attr.nodeName); + }; + + _proto._fixTitle = function _fixTitle() { + var titleType = typeof this.element.getAttribute('data-original-title'); + + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); } - }); - }; - - for (var i = 0, len = elements.length; i < len; i++) { - var _ret = _loop(i); - - if (_ret === "continue") continue; - } - - return createdDocument.body.innerHTML; - } - - /** - * Constants - */ - - var NAME$4 = 'tooltip'; - var VERSION$4 = '4.6.2'; - var DATA_KEY$4 = 'bs.tooltip'; - var EVENT_KEY$4 = "." + DATA_KEY$4; - var JQUERY_NO_CONFLICT$4 = $__default["default"].fn[NAME$4]; - var CLASS_PREFIX$1 = 'bs-tooltip'; - var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g'); - var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']; - var CLASS_NAME_FADE$3 = 'fade'; - var CLASS_NAME_SHOW$3 = 'show'; - var HOVER_STATE_SHOW = 'show'; - var HOVER_STATE_OUT = 'out'; - var SELECTOR_TOOLTIP_INNER = '.tooltip-inner'; - var SELECTOR_ARROW = '.arrow'; - var TRIGGER_HOVER = 'hover'; - var TRIGGER_FOCUS = 'focus'; - var TRIGGER_CLICK = 'click'; - var TRIGGER_MANUAL = 'manual'; - var AttachmentMap = { - AUTO: 'auto', - TOP: 'top', - RIGHT: 'right', - BOTTOM: 'bottom', - LEFT: 'left' - }; - var Default$3 = { - animation: true, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - selector: false, - placement: 'top', - offset: 0, - container: false, - fallbackPlacement: 'flip', - boundary: 'scrollParent', - customClass: '', - sanitize: true, - sanitizeFn: null, - whiteList: DefaultWhitelist, - popperConfig: null - }; - var DefaultType$3 = { - animation: 'boolean', - template: 'string', - title: '(string|element|function)', - trigger: 'string', - delay: '(number|object)', - html: 'boolean', - selector: '(string|boolean)', - placement: '(string|function)', - offset: '(number|string|function)', - container: '(string|element|boolean)', - fallbackPlacement: '(string|array)', - boundary: '(string|element)', - customClass: '(string|function)', - sanitize: 'boolean', - sanitizeFn: '(null|function)', - whiteList: 'object', - popperConfig: '(null|object)' - }; - var Event$1 = { - HIDE: "hide" + EVENT_KEY$4, - HIDDEN: "hidden" + EVENT_KEY$4, - SHOW: "show" + EVENT_KEY$4, - SHOWN: "shown" + EVENT_KEY$4, - INSERTED: "inserted" + EVENT_KEY$4, - CLICK: "click" + EVENT_KEY$4, - FOCUSIN: "focusin" + EVENT_KEY$4, - FOCUSOUT: "focusout" + EVENT_KEY$4, - MOUSEENTER: "mouseenter" + EVENT_KEY$4, - MOUSELEAVE: "mouseleave" + EVENT_KEY$4 - }; - /** - * Class definition - */ - - var Tooltip = /*#__PURE__*/function () { - function Tooltip(element, config) { - if (typeof Popper__default["default"] === 'undefined') { - throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)'); - } // Private - - - this._isEnabled = true; - this._timeout = 0; - this._hoverState = ''; - this._activeTrigger = {}; - this._popper = null; // Protected - - this.element = element; - this.config = this._getConfig(config); - this.tip = null; - - this._setListeners(); - } // Getters - - - var _proto = Tooltip.prototype; - - // Public - _proto.enable = function enable() { - this._isEnabled = true; - }; - - _proto.disable = function disable() { - this._isEnabled = false; - }; - - _proto.toggleEnabled = function toggleEnabled() { - this._isEnabled = !this._isEnabled; - }; - - _proto.toggle = function toggle(event) { - if (!this._isEnabled) { - return; - } - - if (event) { + }; + + _proto._enter = function _enter(event, context) { var dataKey = this.constructor.DATA_KEY; - var context = $__default["default"](event.currentTarget).data(dataKey); - + context = context || $__default["default"](event.currentTarget).data(dataKey); + if (!context) { context = new this.constructor(event.currentTarget, this._getDelegateConfig()); $__default["default"](event.currentTarget).data(dataKey, context); } - - context._activeTrigger.click = !context._activeTrigger.click; - - if (context._isWithActiveTrigger()) { - context._enter(null, context); - } else { - context._leave(null, context); + + if (event) { + context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true; } - } else { - if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$3)) { - this._leave(null, this); - + + if ($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) { + context._hoverState = HOVER_STATE_SHOW; return; } - - this._enter(null, this); - } - }; - - _proto.dispose = function dispose() { - clearTimeout(this._timeout); - $__default["default"].removeData(this.element, this.constructor.DATA_KEY); - $__default["default"](this.element).off(this.constructor.EVENT_KEY); - $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler); - - if (this.tip) { - $__default["default"](this.tip).remove(); - } - - this._isEnabled = null; - this._timeout = null; - this._hoverState = null; - this._activeTrigger = null; - - if (this._popper) { - this._popper.destroy(); - } - - this._popper = null; - this.element = null; - this.config = null; - this.tip = null; - }; - - _proto.show = function show() { - var _this = this; - - if ($__default["default"](this.element).css('display') === 'none') { - throw new Error('Please use show on visible elements'); - } - - var showEvent = $__default["default"].Event(this.constructor.Event.SHOW); - - if (this.isWithContent() && this._isEnabled) { - $__default["default"](this.element).trigger(showEvent); - var shadowRoot = Util.findShadowRoot(this.element); - var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element); - - if (showEvent.isDefaultPrevented() || !isInTheDom) { + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_SHOW; + + if (!context.config.delay || !context.config.delay.show) { + context.show(); return; } - - var tip = this.getTipElement(); - var tipId = Util.getUID(this.constructor.NAME); - tip.setAttribute('id', tipId); - this.element.setAttribute('aria-describedby', tipId); - this.setContent(); - - if (this.config.animation) { - $__default["default"](tip).addClass(CLASS_NAME_FADE$3); + + context._timeout = setTimeout(function () { + if (context._hoverState === HOVER_STATE_SHOW) { + context.show(); + } + }, context.config.delay.show); + }; + + _proto._leave = function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; + context = context || $__default["default"](event.currentTarget).data(dataKey); + + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $__default["default"](event.currentTarget).data(dataKey, context); } - - var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; - - var attachment = this._getAttachment(placement); - - this.addAttachmentClass(attachment); - - var container = this._getContainer(); - - $__default["default"](tip).data(this.constructor.DATA_KEY, this); - - if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) { - $__default["default"](tip).appendTo(container); + + if (event) { + context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false; } - - $__default["default"](this.element).trigger(this.constructor.Event.INSERTED); - this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment)); - $__default["default"](tip).addClass(CLASS_NAME_SHOW$3); - $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - if ('ontouchstart' in document.documentElement) { - $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop); + + if (context._isWithActiveTrigger()) { + return; } - - var complete = function complete() { - if (_this.config.animation) { - _this._fixTransition(); + + clearTimeout(context._timeout); + context._hoverState = HOVER_STATE_OUT; + + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } + + context._timeout = setTimeout(function () { + if (context._hoverState === HOVER_STATE_OUT) { + context.hide(); } - - var prevHoverState = _this._hoverState; - _this._hoverState = null; - $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN); - - if (prevHoverState === HOVER_STATE_OUT) { - _this._leave(null, _this); + }, context.config.delay.hide); + }; + + _proto._isWithActiveTrigger = function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; } - }; - - if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { - var transitionDuration = Util.getTransitionDurationFromElement(this.tip); - $__default["default"](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); } - } - }; - - _proto.hide = function hide(callback) { - var _this2 = this; - - var tip = this.getTipElement(); - var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE); - - var complete = function complete() { - if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) { - tip.parentNode.removeChild(tip); + + return false; + }; + + _proto._getConfig = function _getConfig(config) { + var dataAttributes = $__default["default"](this.element).data(); + Object.keys(dataAttributes).forEach(function (dataAttr) { + if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) { + delete dataAttributes[dataAttr]; + } + }); + config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {}); + + if (typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; } - - _this2._cleanTipClass(); - - _this2.element.removeAttribute('aria-describedby'); - - $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN); - - if (_this2._popper !== null) { - _this2._popper.destroy(); + + if (typeof config.title === 'number') { + config.title = config.title.toString(); } - - if (callback) { - callback(); + + if (typeof config.content === 'number') { + config.content = config.content.toString(); + } + + Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType); + + if (config.sanitize) { + config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn); } + + return config; }; - - $__default["default"](this.element).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - return; - } - - $__default["default"](tip).removeClass(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - if ('ontouchstart' in document.documentElement) { - $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop); - } - - this._activeTrigger[TRIGGER_CLICK] = false; - this._activeTrigger[TRIGGER_FOCUS] = false; - this._activeTrigger[TRIGGER_HOVER] = false; - - if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) { - var transitionDuration = Util.getTransitionDurationFromElement(tip); - $__default["default"](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration); - } else { - complete(); - } - - this._hoverState = ''; - }; - - _proto.update = function update() { - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - } // Protected - ; - - _proto.isWithContent = function isWithContent() { - return Boolean(this.getTitle()); - }; - - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment); - }; - - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $__default["default"](this.config.template)[0]; - return this.tip; - }; - - _proto.setContent = function setContent() { - var tip = this.getTipElement(); - this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle()); - $__default["default"](tip).removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$3); - }; - - _proto.setElementContent = function setElementContent($element, content) { - if (typeof content === 'object' && (content.nodeType || content.jquery)) { - // Content is a DOM node or a jQuery - if (this.config.html) { - if (!$__default["default"](content).parent().is($element)) { - $element.empty().append(content); + + _proto._getDelegateConfig = function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } } - } else { - $element.text($__default["default"](content).text()); } - - return; - } - - if (this.config.html) { - if (this.config.sanitize) { - content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn); + + return config; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $__default["default"](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1); + + if (tabClass !== null && tabClass.length) { + $tip.removeClass(tabClass.join('')); } - - $element.html(content); - } else { - $element.text(content); - } - }; - - _proto.getTitle = function getTitle() { - var title = this.element.getAttribute('data-original-title'); - - if (!title) { - title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; - } - - return title; - } // Private - ; - - _proto._getPopperConfig = function _getPopperConfig(attachment) { - var _this3 = this; - - var defaultBsConfig = { - placement: attachment, - modifiers: { - offset: this._getOffset(), - flip: { - behavior: this.config.fallbackPlacement - }, - arrow: { - element: SELECTOR_ARROW - }, - preventOverflow: { - boundariesElement: this.config.boundary + }; + + _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) { + this.tip = popperData.instance.popper; + + this._cleanTipClass(); + + this.addAttachmentClass(this._getAttachment(popperData.placement)); + }; + + _proto._fixTransition = function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + + if (tip.getAttribute('x-placement') !== null) { + return; + } + + $__default["default"](tip).removeClass(CLASS_NAME_FADE$3); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } // Static + ; + + Tooltip._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $element = $__default["default"](this); + var data = $element.data(DATA_KEY$4); + + var _config = typeof config === 'object' && config; + + if (!data && /dispose|hide/.test(config)) { + return; } - }, - onCreate: function onCreate(data) { - if (data.originalPlacement !== data.placement) { - _this3._handlePopperPlacementChange(data); + + if (!data) { + data = new Tooltip(this, _config); + $element.data(DATA_KEY$4, data); } - }, - onUpdate: function onUpdate(data) { - return _this3._handlePopperPlacementChange(data); - } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); }; - return _extends({}, defaultBsConfig, this.config.popperConfig); + + _createClass(Tooltip, null, [{ + key: "VERSION", + get: function get() { + return VERSION$4; + } + }, { + key: "Default", + get: function get() { + return Default$3; + } + }, { + key: "NAME", + get: function get() { + return NAME$4; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$4; + } + }, { + key: "Event", + get: function get() { + return Event$1; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$4; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$3; + } + }]); + + return Tooltip; + }(); + /** + * jQuery + */ + + + $__default["default"].fn[NAME$4] = Tooltip._jQueryInterface; + $__default["default"].fn[NAME$4].Constructor = Tooltip; + + $__default["default"].fn[NAME$4].noConflict = function () { + $__default["default"].fn[NAME$4] = JQUERY_NO_CONFLICT$4; + return Tooltip._jQueryInterface; }; - - _proto._getOffset = function _getOffset() { - var _this4 = this; - - var offset = {}; - - if (typeof this.config.offset === 'function') { - offset.fn = function (data) { - data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element)); - return data; - }; - } else { - offset.offset = this.config.offset; - } - - return offset; + + /** + * Constants + */ + + var NAME$3 = 'popover'; + var VERSION$3 = '4.6.2'; + var DATA_KEY$3 = 'bs.popover'; + var EVENT_KEY$3 = "." + DATA_KEY$3; + var JQUERY_NO_CONFLICT$3 = $__default["default"].fn[NAME$3]; + var CLASS_PREFIX = 'bs-popover'; + var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); + var CLASS_NAME_FADE$2 = 'fade'; + var CLASS_NAME_SHOW$2 = 'show'; + var SELECTOR_TITLE = '.popover-header'; + var SELECTOR_CONTENT = '.popover-body'; + + var Default$2 = _extends({}, Tooltip.Default, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }); + + var DefaultType$2 = _extends({}, Tooltip.DefaultType, { + content: '(string|element|function)' + }); + + var Event = { + HIDE: "hide" + EVENT_KEY$3, + HIDDEN: "hidden" + EVENT_KEY$3, + SHOW: "show" + EVENT_KEY$3, + SHOWN: "shown" + EVENT_KEY$3, + INSERTED: "inserted" + EVENT_KEY$3, + CLICK: "click" + EVENT_KEY$3, + FOCUSIN: "focusin" + EVENT_KEY$3, + FOCUSOUT: "focusout" + EVENT_KEY$3, + MOUSEENTER: "mouseenter" + EVENT_KEY$3, + MOUSELEAVE: "mouseleave" + EVENT_KEY$3 }; - - _proto._getContainer = function _getContainer() { - if (this.config.container === false) { - return document.body; - } - - if (Util.isElement(this.config.container)) { - return $__default["default"](this.config.container); - } - - return $__default["default"](document).find(this.config.container); + /** + * Class definition + */ + + var Popover = /*#__PURE__*/function (_Tooltip) { + _inheritsLoose(Popover, _Tooltip); + + function Popover() { + return _Tooltip.apply(this, arguments) || this; + } + + var _proto = Popover.prototype; + + // Overrides + _proto.isWithContent = function isWithContent() { + return this.getTitle() || this._getContent(); + }; + + _proto.addAttachmentClass = function addAttachmentClass(attachment) { + $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); + }; + + _proto.getTipElement = function getTipElement() { + this.tip = this.tip || $__default["default"](this.config.template)[0]; + return this.tip; + }; + + _proto.setContent = function setContent() { + var $tip = $__default["default"](this.getTipElement()); // We use append for html objects to maintain js events + + this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle()); + + var content = this._getContent(); + + if (typeof content === 'function') { + content = content.call(this.element); + } + + this.setElementContent($tip.find(SELECTOR_CONTENT), content); + $tip.removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$2); + } // Private + ; + + _proto._getContent = function _getContent() { + return this.element.getAttribute('data-content') || this.config.content; + }; + + _proto._cleanTipClass = function _cleanTipClass() { + var $tip = $__default["default"](this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } + } // Static + ; + + Popover._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var data = $__default["default"](this).data(DATA_KEY$3); + + var _config = typeof config === 'object' ? config : null; + + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Popover(this, _config); + $__default["default"](this).data(DATA_KEY$3, data); + } + + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new TypeError("No method named \"" + config + "\""); + } + + data[config](); + } + }); + }; + + _createClass(Popover, null, [{ + key: "VERSION", + get: // Getters + function get() { + return VERSION$3; + } + }, { + key: "Default", + get: function get() { + return Default$2; + } + }, { + key: "NAME", + get: function get() { + return NAME$3; + } + }, { + key: "DATA_KEY", + get: function get() { + return DATA_KEY$3; + } + }, { + key: "Event", + get: function get() { + return Event; + } + }, { + key: "EVENT_KEY", + get: function get() { + return EVENT_KEY$3; + } + }, { + key: "DefaultType", + get: function get() { + return DefaultType$2; + } + }]); + + return Popover; + }(Tooltip); + /** + * jQuery + */ + + + $__default["default"].fn[NAME$3] = Popover._jQueryInterface; + $__default["default"].fn[NAME$3].Constructor = Popover; + + $__default["default"].fn[NAME$3].noConflict = function () { + $__default["default"].fn[NAME$3] = JQUERY_NO_CONFLICT$3; + return Popover._jQueryInterface; }; - - _proto._getAttachment = function _getAttachment(placement) { - return AttachmentMap[placement.toUpperCase()]; + + /** + * Constants + */ + + var NAME$2 = 'scrollspy'; + var VERSION$2 = '4.6.2'; + var DATA_KEY$2 = 'bs.scrollspy'; + var EVENT_KEY$2 = "." + DATA_KEY$2; + var DATA_API_KEY$1 = '.data-api'; + var JQUERY_NO_CONFLICT$2 = $__default["default"].fn[NAME$2]; + var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'; + var CLASS_NAME_ACTIVE$1 = 'active'; + var EVENT_ACTIVATE = "activate" + EVENT_KEY$2; + var EVENT_SCROLL = "scroll" + EVENT_KEY$2; + var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$1; + var METHOD_OFFSET = 'offset'; + var METHOD_POSITION = 'position'; + var SELECTOR_DATA_SPY = '[data-spy="scroll"]'; + var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group'; + var SELECTOR_NAV_LINKS = '.nav-link'; + var SELECTOR_NAV_ITEMS = '.nav-item'; + var SELECTOR_LIST_ITEMS = '.list-group-item'; + var SELECTOR_DROPDOWN$1 = '.dropdown'; + var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'; + var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle'; + var Default$1 = { + offset: 10, + method: 'auto', + target: '' }; - - _proto._setListeners = function _setListeners() { - var _this5 = this; - - var triggers = this.config.trigger.split(' '); - triggers.forEach(function (trigger) { - if (trigger === 'click') { - $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) { - return _this5.toggle(event); - }); - } else if (trigger !== TRIGGER_MANUAL) { - var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN; - var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT; - $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) { - return _this5._enter(event); - }).on(eventOut, _this5.config.selector, function (event) { - return _this5._leave(event); - }); + var DefaultType$1 = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; + /** + * Class definition + */ + + var ScrollSpy = /*#__PURE__*/function () { + function ScrollSpy(element, config) { + var _this = this; + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS); + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + $__default["default"](this._scrollElement).on(EVENT_SCROLL, function (event) { + return _this._process(event); + }); + this.refresh(); + + this._process(); + } // Getters + + + var _proto = ScrollSpy.prototype; + + // Public + _proto.refresh = function refresh() { + var _this2 = this; + + var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION; + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0; + this._offsets = []; + this._targets = []; + this._scrollHeight = this._getScrollHeight(); + var targets = [].slice.call(document.querySelectorAll(this._selector)); + targets.map(function (element) { + var target; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = document.querySelector(targetSelector); + } + + if (target) { + var targetBCR = target.getBoundingClientRect(); + + if (targetBCR.width || targetBCR.height) { + // TODO (fat): remove sketch reliance on jQuery position/offset + return [$__default["default"](target)[offsetMethod]().top + offsetBase, targetSelector]; + } + } + + return null; + }).filter(Boolean).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this2._offsets.push(item[0]); + + _this2._targets.push(item[1]); + }); + }; + + _proto.dispose = function dispose() { + $__default["default"].removeData(this._element, DATA_KEY$2); + $__default["default"](this._scrollElement).off(EVENT_KEY$2); + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } // Private + ; + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default$1, typeof config === 'object' && config ? config : {}); + + if (typeof config.target !== 'string' && Util.isElement(config.target)) { + var id = $__default["default"](config.target).attr('id'); + + if (!id) { + id = Util.getUID(NAME$2); + $__default["default"](config.target).attr('id', id); + } + + config.target = "#" + id; } - }); - - this._hideModalHandler = function () { - if (_this5.element) { - _this5.hide(); + + Util.typeCheckConfig(NAME$2, config, DefaultType$1); + return config; + }; + + _proto._getScrollTop = function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }; + + _proto._getScrollHeight = function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }; + + _proto._getOffsetHeight = function _getOffsetHeight() { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }; + + _proto._process = function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + + var scrollHeight = this._getScrollHeight(); + + var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + + return; + } + + if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { + this._activeTarget = null; + + this._clear(); + + return; + } + + for (var i = this._offsets.length; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } } }; - - $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler); - - if (this.config.selector) { - this.config = _extends({}, this.config, { - trigger: 'manual', - selector: '' + + _proto._activate = function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var queries = this._selector.split(',').map(function (selector) { + return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]"; }); - } else { - this._fixTitle(); - } - }; - - _proto._fixTitle = function _fixTitle() { - var titleType = typeof this.element.getAttribute('data-original-title'); - - if (this.element.getAttribute('title') || titleType !== 'string') { - this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); - this.element.setAttribute('title', ''); + + var $link = $__default["default"]([].slice.call(document.querySelectorAll(queries.join(',')))); + + if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) { + $link.closest(SELECTOR_DROPDOWN$1).find(SELECTOR_DROPDOWN_TOGGLE$1).addClass(CLASS_NAME_ACTIVE$1); + $link.addClass(CLASS_NAME_ACTIVE$1); + } else { + // Set triggered link as active + $link.addClass(CLASS_NAME_ACTIVE$1); // Set triggered links parents as active + // With both
    and