PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.9.1
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.9.1
4.4.9.1 4.4.9 4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 All 141 releases
← All changes | assets/js/dist/admin/admin.js +216 -106 4.4.6 → 4.4.9.1 View file →
@@ -707,12 +707,9 @@
707 707 let lp_rest_url;
708 708 if ('undefined' !== typeof lpDataAdmin) {
709 709 lp_rest_url = lpDataAdmin.lp_rest_url;
710 710 lplistAPI.admin = {
711 - apiAdminNotice: lp_rest_url + 'lp/v1/admin/tools/admin-notices',
712 - apiAddons: lp_rest_url + 'lp/v1/addon/all',
713 - apiAddonAction: lp_rest_url + 'lp/v1/addon/action-n',
714 - apiAddonsPurchase: lp_rest_url + 'lp/v1/addon/info-addons-purchase',
711 + // apiAdminNotice: lp_rest_url + 'lp/v1/admin/tools/admin-notices',
715 712 apiSearchCourses: lp_rest_url + 'lp/v1/admin/tools/search-course',
716 713 apiSearchUsers: lp_rest_url + 'lp/v1/admin/tools/search-user',
717 714 apiAssignUserCourse: lp_rest_url + 'lp/v1/admin/tools/assign-user-course',
718 715 apiUnAssignUserCourse: lp_rest_url + 'lp/v1/admin/tools/unassign-user-course'
@@ -3624,8 +3621,9 @@
3624 3621 diacritics: true,
3625 3622 create: null,
3626 3623 createOnBlur: false,
3627 3624 createFilter: null,
3625 + clearAfterSelect: false,
3628 3626 highlight: true,
3629 3627 openOnFocus: true,
3630 3628 shouldOpen: null,
3631 3629 maxOptions: 50,
@@ -3823,11 +3821,12 @@
3823 3821 * Initialize from a <input type="text"> element.
3824 3822 *
3825 3823 */
3826 3824 var init_textbox = () => {
3825 + var _a, _b;
3827 3826 const data_raw = input.getAttribute(attr_data);
3828 3827 if (!data_raw) {
3829 - var value = input.value.trim() || '';
3828 + var value = (_b = (_a = input === null || input === void 0 ? void 0 : input.value) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : '';
3830 3829 if (!settings.allowEmptyOption && !value.length)
3831 3830 return;
3832 3831 const values = value.split(settings.delimiter);
3833 3832 (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.iterate)(values, (value) => {
@@ -3869,9 +3868,9 @@
3869 3868 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3870 3869 /* harmony export */ "default": () => (/* binding */ plugin)
3871 3870 /* harmony export */ });
3872 3871 /**
3873 -* Tom Select v2.4.3
3872 +* Tom Select v2.6.2
3874 3873 * Licensed under the Apache License, Version 2.0 (the "License");
3875 3874 */
3876 3875
3877 3876 /**
@@ -4047,9 +4046,9 @@
4047 4046 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4048 4047 /* harmony export */ "default": () => (/* binding */ plugin)
4049 4048 /* harmony export */ });
4050 4049 /**
4051 -* Tom Select v2.4.3
4050 +* Tom Select v2.6.2
4052 4051 * Licensed under the Apache License, Version 2.0 (the "License");
4053 4052 */
4054 4053
4055 4054 /**
@@ -4113,9 +4112,9 @@
4113 4112 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4114 4113 /* harmony export */ "default": () => (/* binding */ plugin)
4115 4114 /* harmony export */ });
4116 4115 /**
4117 -* Tom Select v2.4.3
4116 +* Tom Select v2.6.2
4118 4117 * Licensed under the Apache License, Version 2.0 (the "License");
4119 4118 */
4120 4119
4121 4120 /**
@@ -4307,9 +4306,9 @@
4307 4306 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4308 4307 /* harmony export */ "default": () => (/* binding */ plugin)
4309 4308 /* harmony export */ });
4310 4309 /**
4311 -* Tom Select v2.4.3
4310 +* Tom Select v2.6.2
4312 4311 * Licensed under the Apache License, Version 2.0 (the "License");
4313 4312 */
4314 4313
4315 4314 /**
@@ -4358,10 +4357,12 @@
4358 4357 const self = this;
4359 4358 const options = Object.assign({
4360 4359 className: 'clear-button',
4361 4360 title: 'Clear All',
4361 + role: 'button',
4362 + tabindex: 0,
4362 4363 html: data => {
4363 - return `<div class="${data.className}" title="${data.title}">&#10799;</div>`;
4364 + return `<div class="${data.className}" title="${data.title}" role="${data.role}" tabindex="${data.tabindex}">&times;</div>`;
4364 4365 }
4365 4366 }, userOptions);
4366 4367 self.on('initialize', () => {
4367 4368 var button = getDom(options.html(options));
@@ -4370,8 +4371,9 @@
4370 4371 self.clear();
4371 4372 if (self.settings.mode === 'single' && self.settings.allowEmptyOption) {
4372 4373 self.addItem('');
4373 4374 }
4375 + self.refreshOptions(false);
4374 4376 evt.preventDefault();
4375 4377 evt.stopPropagation();
4376 4378 });
4377 4379 self.control.appendChild(button);
@@ -4395,9 +4397,9 @@
4395 4397 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4396 4398 /* harmony export */ "default": () => (/* binding */ plugin)
4397 4399 /* harmony export */ });
4398 4400 /**
4399 -* Tom Select v2.4.3
4401 +* Tom Select v2.6.2
4400 4402 * Licensed under the Apache License, Version 2.0 (the "License");
4401 4403 */
4402 4404
4403 4405 /**
@@ -4630,9 +4632,9 @@
4630 4632 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4631 4633 /* harmony export */ "default": () => (/* binding */ plugin)
4632 4634 /* harmony export */ });
4633 4635 /**
4634 -* Tom Select v2.4.3
4636 +* Tom Select v2.6.2
4635 4637 * Licensed under the Apache License, Version 2.0 (the "License");
4636 4638 */
4637 4639
4638 4640 /**
@@ -4747,9 +4749,9 @@
4747 4749 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4748 4750 /* harmony export */ "default": () => (/* binding */ plugin)
4749 4751 /* harmony export */ });
4750 4752 /**
4751 -* Tom Select v2.4.3
4753 +* Tom Select v2.6.2
4752 4754 * Licensed under the Apache License, Version 2.0 (the "License");
4753 4755 */
4754 4756
4755 4757 const KEY_ESC = 27;
@@ -4902,8 +4904,9 @@
4902 4904 const self = this;
4903 4905 self.settings.shouldOpen = true; // make sure the input is shown even if there are no options to display in the dropdown
4904 4906
4905 4907 self.hook('before', 'setup', () => {
4908 + var _self$input;
4906 4909 self.focus_node = self.control;
4907 4910 addClasses(self.control_input, 'dropdown-input');
4908 4911 const div = getDom('<div class="dropdown-input-wrap">');
4909 4912 div.append(self.control_input);
@@ -4912,8 +4915,17 @@
4912 4915 // set a placeholder in the select control
4913 4916 const placeholder = getDom('<input class="items-placeholder" tabindex="-1" />');
4914 4917 placeholder.placeholder = self.settings.placeholder || '';
4915 4918 self.control.append(placeholder);
4919 + /**
4920 + * TomSelect renders a custom control with a focusable <input class="items-placeholder">.
4921 + * The source <select>'s aria-label is not automatically propagated to that input,
4922 + * which triggers "Missing form label" accessibility warnings.
4923 + * This helper copies the label from the <select> onto the generated input.
4924 + */
4925 + const label = (_self$input = self.input) == null ? void 0 : _self$input.getAttribute('aria-label');
4926 + if (!label) return;
4927 + placeholder.setAttribute('aria-label', label);
4916 4928 });
4917 4929 self.on('initialize', () => {
4918 4930 // set tabIndex on control to -1, otherwise [shift+tab] will put focus right back on control_input
4919 4931 self.control_input.addEventListener('keydown', evt => {
@@ -4976,9 +4988,9 @@
4976 4988 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4977 4989 /* harmony export */ "default": () => (/* binding */ plugin)
4978 4990 /* harmony export */ });
4979 4991 /**
4980 -* Tom Select v2.4.3
4992 +* Tom Select v2.6.2
4981 4993 * Licensed under the Apache License, Version 2.0 (the "License");
4982 4994 */
4983 4995
4984 4996 /**
@@ -5065,9 +5077,9 @@
5065 5077 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5066 5078 /* harmony export */ "default": () => (/* binding */ plugin)
5067 5079 /* harmony export */ });
5068 5080 /**
5069 -* Tom Select v2.4.3
5081 +* Tom Select v2.6.2
5070 5082 * Licensed under the Apache License, Version 2.0 (the "License");
5071 5083 */
5072 5084
5073 5085 /**
@@ -5106,9 +5118,9 @@
5106 5118 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5107 5119 /* harmony export */ "default": () => (/* binding */ plugin)
5108 5120 /* harmony export */ });
5109 5121 /**
5110 -* Tom Select v2.4.3
5122 +* Tom Select v2.6.2
5111 5123 * Licensed under the Apache License, Version 2.0 (the "License");
5112 5124 */
5113 5125
5114 5126 /**
@@ -5153,9 +5165,9 @@
5153 5165 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5154 5166 /* harmony export */ "default": () => (/* binding */ plugin)
5155 5167 /* harmony export */ });
5156 5168 /**
5157 -* Tom Select v2.4.3
5169 +* Tom Select v2.6.2
5158 5170 * Licensed under the Apache License, Version 2.0 (the "License");
5159 5171 */
5160 5172
5161 5173 const KEY_LEFT = 37;
@@ -5254,9 +5266,9 @@
5254 5266 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5255 5267 /* harmony export */ "default": () => (/* binding */ plugin)
5256 5268 /* harmony export */ });
5257 5269 /**
5258 -* Tom Select v2.4.3
5270 +* Tom Select v2.6.2
5259 5271 * Licensed under the Apache License, Version 2.0 (the "License");
5260 5272 */
5261 5273
5262 5274 /**
@@ -5274,16 +5286,8 @@
5274 5286 *
5275 5287 */
5276 5288
5277 5289 /**
5278 - * Escapes a string for use within HTML.
5279 - *
5280 - */
5281 -const escape_html = str => {
5282 - return (str + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
5283 -};
5284 -
5285 -/**
5286 5290 * Prevent default
5287 5291 *
5288 5292 */
5289 5293 const preventDefault = (evt, stop = false) => {
@@ -5345,28 +5349,31 @@
5345 5349 *
5346 5350 */
5347 5351
5348 5352 function plugin (userOptions) {
5353 + const self = this;
5349 5354 const options = Object.assign({
5350 - label: '&times;',
5355 + label: '×',
5351 5356 title: 'Remove',
5352 5357 className: 'remove',
5353 - append: true
5358 + tabindex: -1,
5359 + role: 'button',
5360 + html: data => {
5361 + var _data$tabindex;
5362 + const el = document.createElement('div');
5363 + el.className = data.className || '';
5364 + el.title = data.title || '';
5365 + el.setAttribute('role', data.role || 'button');
5366 + el.tabIndex = (_data$tabindex = data.tabindex) != null ? _data$tabindex : -1;
5367 + el.textContent = data.label || '';
5368 + return el;
5369 + }
5354 5370 }, userOptions);
5355 -
5356 - //options.className = 'remove-single';
5357 - var self = this;
5358 -
5359 - // override the render method to add remove button to each item
5360 - if (!options.append) {
5361 - return;
5362 - }
5363 - var html = '<a href="javascript:void(0)" class="' + options.className + '" tabindex="-1" title="' + escape_html(options.title) + '">' + options.label + '</a>';
5364 5371 self.hook('after', 'setupTemplates', () => {
5365 5372 var orig_render_item = self.settings.render.item;
5366 5373 self.settings.render.item = (data, escape) => {
5367 5374 var item = getDom(orig_render_item.call(self, data, escape));
5368 - var close_button = getDom(html);
5375 + var close_button = getDom(options.html(options));
5369 5376 item.appendChild(close_button);
5370 5377 addEvent(close_button, 'mousedown', evt => {
5371 5378 preventDefault(evt, true);
5372 5379 });
@@ -5403,9 +5410,9 @@
5403 5410 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5404 5411 /* harmony export */ "default": () => (/* binding */ plugin)
5405 5412 /* harmony export */ });
5406 5413 /**
5407 -* Tom Select v2.4.3
5414 +* Tom Select v2.6.2
5408 5415 * Licensed under the Apache License, Version 2.0 (the "License");
5409 5416 */
5410 5417
5411 5418 /**
@@ -5460,9 +5467,9 @@
5460 5467 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5461 5468 /* harmony export */ "default": () => (/* binding */ plugin)
5462 5469 /* harmony export */ });
5463 5470 /**
5464 -* Tom Select v2.4.3
5471 +* Tom Select v2.6.2
5465 5472 * Licensed under the Apache License, Version 2.0 (the "License");
5466 5473 */
5467 5474
5468 5475 /**
@@ -5544,9 +5551,9 @@
5544 5551 return arg;
5545 5552 };
5546 5553
5547 5554 /**
5548 - * Plugin: "restore_on_backspace" (Tom Select)
5555 + * Plugin: "virtual_scroll" (Tom Select)
5549 5556 * Copyright (c) contributors
5550 5557 *
5551 5558 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
5552 5559 * file except in compliance with the License. You may obtain a copy of the License at:
@@ -5568,8 +5575,12 @@
5568 5575 var dropdown_content;
5569 5576 var loading_more = false;
5570 5577 var load_more_opt;
5571 5578 var default_values = [];
5579 + var default_values_loaded = false;
5580 + var default_pagination;
5581 + var default_options = [];
5582 + var html_values = [];
5572 5583 if (!self.settings.shouldLoadMore) {
5573 5584 // return true if additional results should be loaded
5574 5585 self.settings.shouldLoadMore = () => {
5575 5586 const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
@@ -5599,9 +5610,9 @@
5599 5610 }];
5600 5611
5601 5612 // can we load more results for given query?
5602 5613 const canLoadMore = query => {
5603 - if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
5614 + if (self.settings.maxOptions !== null && typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
5604 5615 return false;
5605 5616 }
5606 5617 if (query in pagination && pagination[query]) {
5607 5618 return true;
@@ -5659,9 +5670,13 @@
5659 5670
5660 5671 // wrap the load
5661 5672 self.hook('instead', 'loadCallback', (options, optgroups) => {
5662 5673 if (!loading_more) {
5663 - self.clearOptions(clearFilter);
5674 + // When searching (non-empty query), keep selected items and HTML default options,
5675 + // but remove preloaded remote options so they don't bleed into search results.
5676 + // For empty query, use clearFilter (keeps default_values + items).
5677 + const activeFilter = self.lastValue !== '' ? (_option, value) => self.items.indexOf(value) >= 0 || html_values.indexOf(value) >= 0 : clearFilter;
5678 + self.clearOptions(activeFilter);
5664 5679 } else if (load_more_opt) {
5665 5680 const first_option = options[0];
5666 5681 if (first_option !== undefined) {
5667 5682 load_more_opt.dataset.value = first_option[self.settings.valueField];
@@ -5667,11 +5682,31 @@
5667 5682 load_more_opt.dataset.value = first_option[self.settings.valueField];
5668 5683 }
5669 5684 }
5670 5685 orig_loadCallback.call(self, options, optgroups);
5686 +
5687 + // After the initial preload (empty query), snapshot default_values and option objects
5688 + // so they can be restored when the user clears their search.
5689 + if (!loading_more && !default_values_loaded) {
5690 + default_values_loaded = true;
5691 + if (self.lastValue === '') {
5692 + default_values = Object.keys(self.options);
5693 + default_pagination = pagination[''];
5694 + default_options = Object.values(self.options);
5695 + }
5696 + }
5671 5697 loading_more = false;
5672 5698 });
5673 5699
5700 + // as the “loading_more” element will be removed from the dropdown,
5701 + // we activate the previous option if needed
5702 + // to avoid the dropdown being scrolled back to the first one
5703 + self.hook('before', 'refreshOptions', () => {
5704 + if (self.activeOption && "option" !== self.activeOption.getAttribute("role")) {
5705 + self.setActiveOption(self.activeOption.previousElementSibling);
5706 + }
5707 + });
5708 +
5674 5709 // add templates to dropdown
5675 5710 // loading_more if we have another url in the queue
5676 5711 // no_more_results if we don't have another url in the queue
5677 5712 self.hook('after', 'refreshOptions', () => {
@@ -5695,10 +5730,32 @@
5695 5730 dropdown_content.append(option);
5696 5731 }
5697 5732 });
5698 5733
5734 + // Restore preloaded options and pagination when clearing search
5735 + const restoreDefaults = () => {
5736 + if (!default_values_loaded) {
5737 + return;
5738 + }
5739 + // Re-add preloaded option objects (clearOptions can only remove, not restore)
5740 + self.addOptions(default_options);
5741 + // Remove any search results that are not part of the preloaded defaults
5742 + self.clearOptions(clearFilter);
5743 + if (default_pagination) {
5744 + pagination[''] = default_pagination;
5745 + }
5746 + };
5747 + self.on('type', query => {
5748 + if (query === '') {
5749 + restoreDefaults();
5750 + self.refreshOptions(false);
5751 + }
5752 + });
5753 + self.on('dropdown_close', restoreDefaults);
5754 +
5699 5755 // add scroll listener and default templates
5700 5756 self.on('initialize', () => {
5757 + html_values = Object.keys(self.options);
5701 5758 default_values = Object.keys(self.options);
5702 5759 dropdown_content = self.dropdown_content;
5703 5760
5704 5761 // default templates
@@ -5838,8 +5895,9 @@
5838 5895 this.isLocked = false;
5839 5896 this.isFocused = false;
5840 5897 this.isInputHidden = false;
5841 5898 this.isSetup = false;
5899 + this.isDropdownContentStale = true;
5842 5900 this.ignoreFocus = false;
5843 5901 this.ignoreHover = false;
5844 5902 this.hasOptions = false;
5845 5903 this.lastValue = '';
@@ -5914,9 +5972,9 @@
5914 5972 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(dropdown, settings.dropdownClass, inputMode);
5915 5973 if (settings.copyClassesToDropdown) {
5916 5974 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(dropdown, classes);
5917 5975 }
5918 - (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(dropdown_content, settings.dropdownContentClass);
5976 + ;(0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(dropdown_content, settings.dropdownContentClass);
5919 5977 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.append)(dropdown, dropdown_content);
5920 5978 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.getDom)(settings.dropdownParent || wrapper).appendChild(dropdown);
5921 5979 // default controlInput
5922 5980 if ((0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.isHtmlString)(settings.controlInput)) {
@@ -5921,9 +5979,9 @@
5921 5979 // default controlInput
5922 5980 if ((0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.isHtmlString)(settings.controlInput)) {
5923 5981 control_input = (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.getDom)(settings.controlInput);
5924 5982 // set attributes
5925 - var attrs = ['autocorrect', 'autocapitalize', 'autocomplete', 'spellcheck'];
5983 + var attrs = ['autocorrect', 'autocapitalize', 'autocomplete', 'spellcheck', 'aria-label'];
5926 5984 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(attrs, (attr) => {
5927 5985 if (input.getAttribute(attr)) {
5928 5986 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.setAttr)(control_input, { [attr]: input.getAttribute(attr) });
5929 5987 }
@@ -5984,8 +6042,10 @@
5984 6042 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.setAttr)(focus_node, { 'aria-labelledby': label_id });
5985 6043 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.setAttr)(dropdown_content, { 'aria-labelledby': label_id });
5986 6044 }
5987 6045 wrapper.style.width = input.style.width;
6046 + wrapper.style.minWidth = input.style.minWidth;
6047 + wrapper.style.maxWidth = input.style.maxWidth;
5988 6048 if (self.plugins.names.length) {
5989 6049 const classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');
5990 6050 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)([wrapper, dropdown], classes_plugins);
5991 6051 }
@@ -6003,9 +6063,9 @@
6003 6063 // after initializePlugins() so plugins can create/modify user defined loaders
6004 6064 if (settings.load && settings.loadThrottle) {
6005 6065 settings.load = (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.loadDebounce)(settings.load, settings.loadThrottle);
6006 6066 }
6007 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(dropdown, 'mousemove', () => {
6067 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(dropdown, 'mousemove', () => {
6008 6068 self.ignoreHover = false;
6009 6069 });
6010 6070 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(dropdown, 'mouseenter', (e) => {
6011 6071 var target_match = (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.parentMatch)(e.target, '[data-selectable]', dropdown);
@@ -6068,12 +6128,21 @@
6068 6128 if (self.isOpen) {
6069 6129 self.positionDropdown();
6070 6130 }
6071 6131 };
6132 + const input_invalid = () => {
6133 + if (self.isValid) {
6134 + self.isValid = false;
6135 + self.isInvalid = true;
6136 + self.refreshState();
6137 + }
6138 + };
6139 + (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(input, 'invalid', input_invalid);
6072 6140 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(document, 'mousedown', doc_mousedown);
6073 6141 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(window, 'scroll', win_scroll, passive_event);
6074 6142 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(window, 'resize', win_scroll, passive_event);
6075 6143 this._destroy = () => {
6144 + input.removeEventListener('invalid', input_invalid);
6076 6145 document.removeEventListener('mousedown', doc_mousedown);
6077 6146 window.removeEventListener('scroll', win_scroll);
6078 6147 window.removeEventListener('resize', win_scroll);
6079 6148 if (label)
@@ -6090,29 +6159,12 @@
6090 6159 self.sync(false);
6091 6160 settings.items = [];
6092 6161 delete settings.optgroups;
6093 6162 delete settings.options;
6094 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.addEvent)(input, 'invalid', () => {
6095 - if (self.isValid) {
6096 - self.isValid = false;
6097 - self.isInvalid = true;
6098 - self.refreshState();
6099 - }
6100 - });
6101 - self.updateOriginalInput();
6102 6163 self.refreshItems();
6103 6164 self.close(false);
6104 6165 self.inputState();
6105 6166 self.isSetup = true;
6106 - if (input.disabled) {
6107 - self.disable();
6108 - }
6109 - else if (input.readOnly) {
6110 - self.setReadOnly(true);
6111 - }
6112 - else {
6113 - self.enable(); //sets tabIndex
6114 - }
6115 6167 self.on('change', this.onChange);
6116 6168 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(input, 'tomselected', 'ts-hidden-accessible');
6117 6169 self.trigger('initialize');
6118 6170 // preload options
@@ -6208,11 +6260,20 @@
6208 6260 *
6209 6261 */
6210 6262 sync(get_settings = true) {
6211 6263 const self = this;
6212 - const settings = get_settings ? (0,_getSettings_js__WEBPACK_IMPORTED_MODULE_6__["default"])(self.input, { delimiter: self.settings.delimiter }) : self.settings;
6264 + const settings = get_settings ? (0,_getSettings_js__WEBPACK_IMPORTED_MODULE_6__["default"])(self.input, { delimiter: self.settings.delimiter, allowEmptyOption: self.settings.allowEmptyOption }) : self.settings;
6213 6265 self.setupOptions(settings.options, settings.optgroups);
6214 6266 self.setValue(settings.items || [], true); // silent prevents recursion
6267 + if (self.input.disabled) {
6268 + self.disable();
6269 + }
6270 + else if (self.input.readOnly) {
6271 + self.setReadOnly(true);
6272 + }
6273 + else {
6274 + self.enable(); //sets tabIndex
6275 + }
6215 6276 self.lastQuery = null; // so updated options will be displayed in dropdown
6216 6277 }
6217 6278 /**
6218 6279 * Triggered when the main control element
@@ -6243,9 +6304,9 @@
6243 6304 * This should propagate the event to the original DOM
6244 6305 * input / select element.
6245 6306 */
6246 6307 onChange() {
6247 - (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.triggerEvent)(this.input, 'input');
6308 + ;(0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.triggerEvent)(this.input, 'input');
6248 6309 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.triggerEvent)(this.input, 'change');
6249 6310 }
6250 6311 /**
6251 6312 * Triggered on <input> paste.
@@ -6340,9 +6401,9 @@
6340 6401 let next = self.getAdjacent(self.activeOption, 1);
6341 6402 if (next)
6342 6403 self.setActiveOption(next);
6343 6404 }
6344 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6405 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6345 6406 return;
6346 6407 // up: move selection up
6347 6408 case _constants_js__WEBPACK_IMPORTED_MODULE_5__.KEY_UP:
6348 6409 if (self.activeOption) {
@@ -6349,9 +6410,9 @@
6349 6410 let prev = self.getAdjacent(self.activeOption, -1);
6350 6411 if (prev)
6351 6412 self.setActiveOption(prev);
6352 6413 }
6353 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6414 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6354 6415 return;
6355 6416 // return: select active option
6356 6417 case _constants_js__WEBPACK_IMPORTED_MODULE_5__.KEY_RETURN:
6357 6418 if (self.canSelect(self.activeOption)) {
@@ -6383,9 +6444,9 @@
6383 6444 // prevent default [tab] behaviour of jump to the next field
6384 6445 // if select isFull, then the dropdown won't be open and [tab] will work normally
6385 6446 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6386 6447 }
6387 - if (self.settings.create && self.createItem()) {
6448 + else if (self.settings.create && self.createItem()) {
6388 6449 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6389 6450 }
6390 6451 }
6391 6452 return;
@@ -6507,18 +6568,24 @@
6507 6568 self.createItem(null, () => {
6508 6569 if (self.settings.closeAfterSelect) {
6509 6570 self.close();
6510 6571 }
6572 + else if (self.settings.clearAfterSelect) {
6573 + self.setTextboxValue();
6574 + }
6511 6575 });
6512 6576 }
6513 6577 else {
6514 6578 value = option.dataset.value;
6515 6579 if (typeof value !== 'undefined') {
6516 - self.lastQuery = null;
6580 + self.isDropdownContentStale = self.settings.hideSelected;
6517 6581 self.addItem(value);
6518 6582 if (self.settings.closeAfterSelect) {
6519 6583 self.close();
6520 6584 }
6585 + else if (self.settings.clearAfterSelect) {
6586 + self.setTextboxValue();
6587 + }
6521 6588 if (!self.settings.hideSelected && evt.type && /click/.test(evt.type)) {
6522 6589 self.setActiveOption(option);
6523 6590 }
6524 6591 }
@@ -6590,9 +6657,9 @@
6590 6657 */
6591 6658 loadCallback(options, optgroups) {
6592 6659 const self = this;
6593 6660 self.loading = Math.max(self.loading - 1, 0);
6594 - self.lastQuery = null;
6661 + self.isDropdownContentStale = true;
6595 6662 self.clearActiveOption(); // when new results load, focus should be on first option
6596 6663 self.setupOptions(options, optgroups);
6597 6664 self.refreshOptions(self.isFocused && !self.isInputHidden);
6598 6665 if (!self.loading) {
@@ -6689,9 +6756,9 @@
6689 6756 if (self.activeItems.indexOf(item) === -1) {
6690 6757 self.setActiveItemClass(item);
6691 6758 }
6692 6759 }
6693 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6760 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e);
6694 6761 }
6695 6762 else if ((eventName === 'click' && (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.isKeyDown)(_constants_js__WEBPACK_IMPORTED_MODULE_5__.KEY_SHORTCUT, e)) || (eventName === 'keydown' && (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.isKeyDown)('shiftKey', e))) {
6696 6763 if (item.classList.contains('active')) {
6697 6764 self.removeActiveItem(item);
@@ -6738,9 +6805,9 @@
6738 6805 * Clears all the active items
6739 6806 *
6740 6807 */
6741 6808 clearActiveItems() {
6742 - (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.removeClasses)(this.activeItems, 'active');
6809 + ;(0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.removeClasses)(this.activeItems, 'active');
6743 6810 this.activeItems = [];
6744 6811 }
6745 6812 /**
6746 6813 * Sets the selected item in the dropdown menu
@@ -6855,17 +6922,21 @@
6855 6922 var self = this;
6856 6923 if (self.isDisabled || self.isReadOnly)
6857 6924 return;
6858 6925 self.ignoreFocus = true;
6859 - if (self.control_input.offsetWidth) {
6860 - self.control_input.focus();
6861 - }
6862 - else {
6863 - self.focus_node.focus();
6864 - }
6926 + const focusTarget = this.control_input.offsetWidth ? this.control_input : this.focus_node;
6927 + focusTarget.focus();
6865 6928 setTimeout(() => {
6866 6929 self.ignoreFocus = false;
6867 - self.onFocus();
6930 + // Fix https://github.com/orchidjs/tom-select/issues/806
6931 + // Only proceed if this instance's element is still the active element. If Edge autofill
6932 + // (or anything else) has moved focus to a different element in the interim, calling
6933 + // onFocus() here would steal focus back and restart the cascade loop.
6934 + const root = focusTarget.getRootNode();
6935 + if (root.activeElement !== focusTarget) {
6936 + return;
6937 + }
6938 + this.onFocus();
6868 6939 }, 0);
6869 6940 }
6870 6941 /**
6871 6942 * Forces the control out of focus.
@@ -6921,10 +6992,15 @@
6921 6992 throw new Error('Tom Select "score" setting must be a function that returns a function');
6922 6993 }
6923 6994 }
6924 6995 // perform search
6925 - if (query !== self.lastQuery) {
6996 + if (self.isDropdownContentStale || query !== self.lastQuery) {
6926 6997 self.lastQuery = query;
6998 + // temp fix for https://github.com/orchidjs/tom-select/issues/987
6999 + // UI crashed when more than 30 same chars in a row, prevent search and return empt result
7000 + if (/(.)\1{15,}/.test(query)) {
7001 + query = '';
7002 + }
6927 7003 result = self.sifter.search(query, Object.assign(options, { score: calculateScore }));
6928 7004 self.currentResults = result;
6929 7005 }
6930 7006 else {
@@ -6933,9 +7009,9 @@
6933 7009 // filter out selected items
6934 7010 if (self.settings.hideSelected) {
6935 7011 result.items = result.items.filter((item) => {
6936 7012 let hashed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.hash_key)(item.id);
6937 - return !(hashed && self.items.indexOf(hashed) !== -1);
7013 + return !(hashed !== null && self.items.indexOf(hashed) !== -1);
6938 7014 });
6939 7015 }
6940 7016 return result;
6941 7017 }
@@ -7005,8 +7081,15 @@
7005 7081 for (j = 0, k = optgroups && optgroups.length; j < k; j++) {
7006 7082 optgroup = optgroups[j];
7007 7083 let order = option.$order;
7008 7084 let self_optgroup = self.optgroups[optgroup];
7085 + if (self_optgroup === undefined && typeof self.settings.optionGroupRegister === 'function') {
7086 + var regGroup;
7087 + if (regGroup = self.settings.optionGroupRegister.apply(self, [optgroup])) {
7088 + self.registerOptionGroup(regGroup);
7089 + }
7090 + }
7091 + self_optgroup = self.optgroups[optgroup];
7009 7092 if (self_optgroup === undefined) {
7010 7093 optgroup = '';
7011 7094 }
7012 7095 else {
@@ -7059,8 +7142,9 @@
7059 7142 }
7060 7143 });
7061 7144 dropdown_content.innerHTML = '';
7062 7145 (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.append)(dropdown_content, html);
7146 + self.isDropdownContentStale = false;
7063 7147 // highlight matching terms inline
7064 7148 if (self.settings.highlight) {
7065 7149 (0,_contrib_highlight_js__WEBPACK_IMPORTED_MODULE_4__.removeHighlight)(dropdown_content);
7066 7150 if (results.query.length && results.tokens.length) {
@@ -7153,14 +7237,15 @@
7153 7237 return false;
7154 7238 }
7155 7239 const key = (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.hash_key)(data[self.settings.valueField]);
7156 7240 if (key === null || self.options.hasOwnProperty(key)) {
7241 + self.updateOption(data[self.settings.valueField], data);
7157 7242 return false;
7158 7243 }
7159 7244 data.$order = data.$order || ++self.order;
7160 7245 data.$id = self.inputId + '-opt-' + data.$order;
7161 7246 self.options[key] = data;
7162 - self.lastQuery = null;
7247 + self.isDropdownContentStale = true;
7163 7248 if (user_created) {
7164 7249 self.userOptions[key] = user_created;
7165 7250 self.trigger('option_add', key, data);
7166 7251 }
@@ -7170,9 +7255,9 @@
7170 7255 * Add multiple options
7171 7256 *
7172 7257 */
7173 7258 addOptions(data, user_created = false) {
7174 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(data, (dat) => {
7259 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(data, (dat) => {
7175 7260 this.addOption(dat, user_created);
7176 7261 });
7177 7262 }
7178 7263 /**
@@ -7274,10 +7359,10 @@
7274 7359 if (item.classList.contains('active'))
7275 7360 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.addClasses)(item_new, 'active');
7276 7361 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.replaceNode)(item, item_new);
7277 7362 }
7278 - // invalidate last query because we might have updated the sortField
7279 - self.lastQuery = null;
7363 + // we might have updated the sortField
7364 + self.isDropdownContentStale = true;
7280 7365 }
7281 7366 /**
7282 7367 * Removes a single option.
7283 7368 *
@@ -7287,9 +7372,9 @@
7287 7372 value = (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.get_hash)(value);
7288 7373 self.uncacheValue(value);
7289 7374 delete self.userOptions[value];
7290 7375 delete self.options[value];
7291 - self.lastQuery = null;
7376 + self.isDropdownContentStale = true;
7292 7377 self.trigger('option_remove', value);
7293 7378 self.removeItem(value, silent);
7294 7379 }
7295 7380 /**
@@ -7306,9 +7391,9 @@
7306 7391 selected[key] = option;
7307 7392 }
7308 7393 });
7309 7394 this.options = this.sifter.items = selected;
7310 - this.lastQuery = null;
7395 + this.isDropdownContentStale = true;
7311 7396 this.trigger('option_clear');
7312 7397 }
7313 7398 /**
7314 7399 * Used by clearOptions() to decide whether or not an option should be removed
@@ -7438,8 +7523,12 @@
7438 7523 if (next) {
7439 7524 self.setActiveOption(next);
7440 7525 }
7441 7526 }
7527 + //remove input value when enabled
7528 + if (self.settings.clearAfterSelect) {
7529 + self.setTextboxValue();
7530 + }
7442 7531 // refreshOptions after setActiveOption(),
7443 7532 // otherwise setActiveOption() will be called by refreshOptions() with the wrong value
7444 7533 if (!self.isPending && !self.settings.closeAfterSelect) {
7445 7534 self.refreshOptions(self.isFocused && inputMode !== 'single');
@@ -7481,9 +7570,9 @@
7481 7570 self.activeItems.splice(idx, 1);
7482 7571 (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.removeClasses)(item, 'active');
7483 7572 }
7484 7573 self.items.splice(i, 1);
7485 - self.lastQuery = null;
7574 + self.isDropdownContentStale = true;
7486 7575 if (!self.settings.persist && self.userOptions.hasOwnProperty(value)) {
7487 7576 self.removeOption(value, silent);
7488 7577 }
7489 7578 if (i < self.caretPos) {
@@ -7515,8 +7604,14 @@
7515 7604 var caret = self.caretPos;
7516 7605 var output;
7517 7606 input = input || self.inputValue();
7518 7607 if (!self.canCreate(input)) {
7608 + const hash = (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.hash_key)(input);
7609 + if (hash) {
7610 + if (this.options[input]) {
7611 + self.addItem(input);
7612 + }
7613 + }
7519 7614 callback();
7520 7615 return false;
7521 7616 }
7522 7617 self.lock();
@@ -7554,9 +7649,9 @@
7554 7649 * Re-renders the selected item lists.
7555 7650 */
7556 7651 refreshItems() {
7557 7652 var self = this;
7558 - self.lastQuery = null;
7653 + self.isDropdownContentStale = true;
7559 7654 if (self.isSetup) {
7560 7655 self.addItems(self.items);
7561 7656 }
7562 7657 self.updateOriginalInput();
@@ -7633,9 +7728,9 @@
7633 7728 }
7634 7729 selected.push(option_el);
7635 7730 // marking empty option as selected can break validation
7636 7731 // fixes https://github.com/orchidjs/tom-select/issues/303
7637 - if (option_el != empty_option || has_selected > 0) {
7732 + if (option_el != empty_option || has_selected > 0 || self.settings.mode == 'multi') {
7638 7733 option_el.selected = true;
7639 7734 }
7640 7735 return option_el;
7641 7736 }
@@ -7776,9 +7871,9 @@
7776 7871 caret = (0,_vanilla_js__WEBPACK_IMPORTED_MODULE_8__.nodeIndex)(tail);
7777 7872 if (direction > 0) {
7778 7873 caret++;
7779 7874 }
7780 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(self.activeItems, (item) => rm_items.push(item));
7875 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(self.activeItems, (item) => rm_items.push(item));
7781 7876 }
7782 7877 else if ((self.isFocused || self.settings.mode === 'single') && self.items.length) {
7783 7878 const items = self.controlChildren();
7784 7879 let rm_item;
@@ -7794,9 +7889,9 @@
7794 7889 }
7795 7890 if (!self.shouldDelete(rm_items, e)) {
7796 7891 return false;
7797 7892 }
7798 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e, true);
7893 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.preventDefault)(e, true);
7799 7894 // perform removal
7800 7895 if (typeof caret !== 'undefined') {
7801 7896 self.setCaret(caret);
7802 7897 }
@@ -7813,9 +7908,9 @@
7813 7908 */
7814 7909 shouldDelete(items, evt) {
7815 7910 const values = items.map(item => item.dataset.value);
7816 7911 // allow the callback to abort
7817 - if (!values.length || (typeof this.settings.onDelete === 'function' && this.settings.onDelete(values, evt) === false)) {
7912 + if (!values.length || (typeof this.settings.onDelete === 'function' && this.settings.onDelete.call(this, values, evt) === false)) {
7818 7913 return false;
7819 7914 }
7820 7915 return true;
7821 7916 }
@@ -8032,9 +8127,9 @@
8032 8127 * caches.
8033 8128 *
8034 8129 */
8035 8130 clearCache() {
8036 - (0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(this.options, (option) => {
8131 + ;(0,_utils_js__WEBPACK_IMPORTED_MODULE_7__.iterate)(this.options, (option) => {
8037 8132 if (option.$div) {
8038 8133 option.$div.remove();
8039 8134 delete option.$div;
8040 8135 }
@@ -8513,19 +8608,19 @@
8513 8608
8514 8609 /******/ });
8515 8610 /************************************************************************/
8516 8611 /******/ // The module cache
8517 -/******/ var __webpack_module_cache__ = {};
8612 +/******/ const __webpack_module_cache__ = {};
8518 8613 /******/
8519 8614 /******/ // The require function
8520 8615 /******/ function __webpack_require__(moduleId) {
8521 8616 /******/ // Check if module is in cache
8522 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
8617 +/******/ const cachedModule = __webpack_module_cache__[moduleId];
8523 8618 /******/ if (cachedModule !== undefined) {
8524 8619 /******/ return cachedModule.exports;
8525 8620 /******/ }
8526 8621 /******/ // Create a new module (and put it into the cache)
8527 -/******/ var module = __webpack_module_cache__[moduleId] = {
8622 +/******/ const module = __webpack_module_cache__[moduleId] = {
8528 8623 /******/ id: moduleId,
8529 8624 /******/ // no module.loaded needed
8530 8625 /******/ exports: {}
8531 8626 /******/ };
@@ -8532,9 +8627,9 @@
8532 8627 /******/
8533 8628 /******/ // Execute the module function
8534 8629 /******/ if (!(moduleId in __webpack_modules__)) {
8535 8630 /******/ delete __webpack_module_cache__[moduleId];
8536 -/******/ var e = new Error("Cannot find module '" + moduleId + "'");
8631 +/******/ const e = new Error("Cannot find module '" + moduleId + "'");
8537 8632 /******/ e.code = 'MODULE_NOT_FOUND';
8538 8633 /******/ throw e;
8539 8634 /******/ }
8540 8635 /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
@@ -8547,9 +8642,9 @@
8547 8642 /******/ /* webpack/runtime/compat get default export */
8548 8643 /******/ (() => {
8549 8644 /******/ // getDefaultExport function for compatibility with non-harmony modules
8550 8645 /******/ __webpack_require__.n = (module) => {
8551 -/******/ var getter = module && module.__esModule ?
8646 +/******/ const getter = module && module.__esModule ?
8552 8647 /******/ () => (module['default']) :
8553 8648 /******/ () => (module);
8554 8649 /******/ __webpack_require__.d(getter, { a: getter });
8555 8650 /******/ return getter;
@@ -8557,14 +8652,29 @@
8557 8652 /******/ })();
8558 8653 /******/
8559 8654 /******/ /* webpack/runtime/define property getters */
8560 8655 /******/ (() => {
8561 -/******/ // define getter functions for harmony exports
8656 +/******/ // define getter/value functions for harmony exports
8562 8657 /******/ __webpack_require__.d = (exports, definition) => {
8563 -/******/ for(var key in definition) {
8564 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
8565 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
8658 +/******/ if(Array.isArray(definition)) {
8659 +/******/ var i = 0;
8660 +/******/ while(i < definition.length) {
8661 +/******/ var key = definition[i++];
8662 +/******/ var binding = definition[i++];
8663 +/******/ if(!__webpack_require__.o(exports, key)) {
8664 +/******/ if(binding === 0) {
8665 +/******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
8666 +/******/ } else {
8667 +/******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
8668 +/******/ }
8669 +/******/ } else if(binding === 0) { i++; }
8566 8670 /******/ }
8671 +/******/ } else {
8672 +/******/ for(var key in definition) {
8673 +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
8674 +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
8675 +/******/ }
8676 +/******/ }
8567 8677 /******/ }
8568 8678 /******/ };
8569 8679 /******/ })();
8570 8680 /******/
@@ -8569,9 +8679,9 @@
8569 8679 /******/ })();
8570 8680 /******/
8571 8681 /******/ /* webpack/runtime/hasOwnProperty shorthand */
8572 8682 /******/ (() => {
8573 -/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
8683 +/******/ __webpack_require__.o = (obj, prop) => (Object.hasOwn(obj, prop))
8574 8684 /******/ })();
8575 8685 /******/
8576 8686 /******/ /* webpack/runtime/make namespace object */
8577 8687 /******/ (() => {
@@ -8576,9 +8686,9 @@
8576 8686 /******/ /* webpack/runtime/make namespace object */
8577 8687 /******/ (() => {
8578 8688 /******/ // define __esModule on exports
8579 8689 /******/ __webpack_require__.r = (exports) => {
8580 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
8690 +/******/ if(Symbol.toStringTag) {
8581 8691 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8582 8692 /******/ }
8583 8693 /******/ Object.defineProperty(exports, '__esModule', { value: true });
8584 8694 /******/ };
@@ -8589,9 +8699,9 @@
8589 8699 /******/ __webpack_require__.nc = undefined;
8590 8700 /******/ })();
8591 8701 /******/
8592 8702 /************************************************************************/
8593 -var __webpack_exports__ = {};
8703 +let __webpack_exports__ = {};
8594 8704 // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
8595 8705 (() => {
8596 8706 "use strict";
8597 8707 /*!**************************************!*\