@syncfusion/ej2-dropdowns 20.1.60 → 20.2.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +2 -62
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +110 -104
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +73 -67
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/helpers/e2e/autocomplete.js +59 -43
  12. package/helpers/e2e/combobox.js +62 -46
  13. package/helpers/e2e/dropdownlist.js +71 -55
  14. package/helpers/e2e/index.js +11 -9
  15. package/helpers/e2e/listboxHelper.js +55 -38
  16. package/helpers/e2e/multiselect.js +104 -88
  17. package/package.json +11 -11
  18. package/src/common/incremental-search.js +1 -1
  19. package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
  20. package/src/drop-down-base/drop-down-base.d.ts +5 -1
  21. package/src/drop-down-base/drop-down-base.js +3 -5
  22. package/src/drop-down-list/drop-down-list.js +13 -15
  23. package/src/drop-down-tree/drop-down-tree-model.d.ts +2 -2
  24. package/src/drop-down-tree/drop-down-tree.js +5 -5
  25. package/src/list-box/list-box.d.ts +1 -0
  26. package/src/list-box/list-box.js +22 -13
  27. package/src/multi-select/multi-select-model.d.ts +1 -1
  28. package/src/multi-select/multi-select.d.ts +2 -1
  29. package/src/multi-select/multi-select.js +29 -28
  30. package/styles/auto-complete/_fusionnew-definition.scss +2 -0
  31. package/styles/auto-complete/_material3-definition.scss +2 -0
  32. package/styles/bootstrap-dark.css +59 -11
  33. package/styles/bootstrap.css +59 -11
  34. package/styles/bootstrap4.css +59 -11
  35. package/styles/bootstrap5-dark.css +60 -12
  36. package/styles/bootstrap5.css +60 -12
  37. package/styles/combo-box/_fusionnew-definition.scss +2 -0
  38. package/styles/combo-box/_material3-definition.scss +2 -0
  39. package/styles/drop-down-base/_fusionnew-definition.scss +111 -0
  40. package/styles/drop-down-base/_material3-definition.scss +111 -0
  41. package/styles/drop-down-list/_fusionnew-definition.scss +201 -0
  42. package/styles/drop-down-list/_material3-definition.scss +201 -0
  43. package/styles/drop-down-list/icons/_fusionnew.scss +14 -0
  44. package/styles/drop-down-list/icons/_material3.scss +14 -0
  45. package/styles/drop-down-tree/_fusionnew-definition.scss +60 -0
  46. package/styles/drop-down-tree/_material3-definition.scss +60 -0
  47. package/styles/drop-down-tree/icons/_fusionnew.scss +11 -0
  48. package/styles/drop-down-tree/icons/_material3.scss +11 -0
  49. package/styles/fabric-dark.css +59 -11
  50. package/styles/fabric.css +59 -11
  51. package/styles/fluent-dark.css +63 -15
  52. package/styles/fluent.css +60 -12
  53. package/styles/highcontrast-light.css +59 -11
  54. package/styles/highcontrast.css +59 -11
  55. package/styles/list-box/_bootstrap-dark-definition.scss +5 -1
  56. package/styles/list-box/_bootstrap-definition.scss +5 -1
  57. package/styles/list-box/_bootstrap4-definition.scss +5 -1
  58. package/styles/list-box/_bootstrap5-definition.scss +7 -2
  59. package/styles/list-box/_fabric-dark-definition.scss +5 -1
  60. package/styles/list-box/_fabric-definition.scss +5 -1
  61. package/styles/list-box/_fluent-definition.scss +7 -2
  62. package/styles/list-box/_fusionnew-definition.scss +113 -0
  63. package/styles/list-box/_highcontrast-definition.scss +5 -1
  64. package/styles/list-box/_highcontrast-light-definition.scss +5 -1
  65. package/styles/list-box/_layout.scss +36 -1
  66. package/styles/list-box/_material-dark-definition.scss +6 -2
  67. package/styles/list-box/_material-definition.scss +6 -2
  68. package/styles/list-box/_material3-definition.scss +119 -0
  69. package/styles/list-box/_tailwind-definition.scss +6 -2
  70. package/styles/list-box/_theme.scss +40 -8
  71. package/styles/list-box/bootstrap-dark.css +49 -11
  72. package/styles/list-box/bootstrap.css +59 -11
  73. package/styles/list-box/bootstrap4.css +59 -11
  74. package/styles/list-box/bootstrap5-dark.css +60 -12
  75. package/styles/list-box/bootstrap5.css +60 -12
  76. package/styles/list-box/fabric-dark.css +49 -11
  77. package/styles/list-box/fabric.css +59 -11
  78. package/styles/list-box/fluent-dark.css +63 -15
  79. package/styles/list-box/fluent.css +60 -12
  80. package/styles/list-box/highcontrast-light.css +49 -11
  81. package/styles/list-box/highcontrast.css +59 -11
  82. package/styles/list-box/icons/_fusionnew.scss +25 -0
  83. package/styles/list-box/icons/_material3.scss +25 -0
  84. package/styles/list-box/material-dark.css +50 -12
  85. package/styles/list-box/material.css +60 -12
  86. package/styles/list-box/tailwind-dark.css +60 -12
  87. package/styles/list-box/tailwind.css +60 -12
  88. package/styles/material-dark.css +60 -12
  89. package/styles/material.css +60 -12
  90. package/styles/multi-select/_fusionnew-definition.scss +219 -0
  91. package/styles/multi-select/_material3-definition.scss +219 -0
  92. package/styles/multi-select/icons/_fusionnew.scss +27 -0
  93. package/styles/multi-select/icons/_material3.scss +27 -0
  94. package/styles/tailwind-dark.css +60 -12
  95. package/styles/tailwind.css +60 -12
@@ -92,7 +92,7 @@ function Search(inputVal, items, searchType, ignoreCase) {
92
92
  for (let i = 0, itemsData = listItems; i < itemsData.length; i++) {
93
93
  const item = itemsData[i];
94
94
  const text = (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
95
- if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, 'g').test(text))) {
95
+ if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, "g").test(text))) {
96
96
  itemData.item = item;
97
97
  itemData.index = i;
98
98
  return { item: item, index: i };
@@ -308,8 +308,7 @@ let DropDownBase = class DropDownBase extends Component {
308
308
  compareValue = value;
309
309
  dataSource.filter((item) => {
310
310
  const itemValue = getValue(fields.value, item);
311
- if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value)
312
- && itemValue.toString() === compareValue.toString()) {
311
+ if (!isNullOrUndefined(itemValue) && !isNullOrUndefined(value) && itemValue.toString() === compareValue.toString()) {
313
312
  value = getValue(fields.text, item);
314
313
  }
315
314
  });
@@ -732,7 +731,7 @@ let DropDownBase = class DropDownBase extends Component {
732
731
  if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {
733
732
  for (let i = 0; i < ulElement.childElementCount; i++) {
734
733
  if (ulElement.children[i].classList.contains('e-list-group-item')) {
735
- if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML === '') {
734
+ if (isNullOrUndefined(ulElement.children[i].innerHTML) || ulElement.children[i].innerHTML == "") {
736
735
  addClass([ulElement.children[i]], HIDE_GROUPLIST);
737
736
  }
738
737
  }
@@ -859,8 +858,8 @@ let DropDownBase = class DropDownBase extends Component {
859
858
  this.scrollStop(e);
860
859
  }
861
860
  scrollStop(e) {
862
- const target = !isNullOrUndefined(e) ? e.target : this.list;
863
- const liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
861
+ let target = !isNullOrUndefined(e) ? e.target : this.list;
862
+ let liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
864
863
  const topIndex = Math.round(target.scrollTop / liHeight);
865
864
  const liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
866
865
  for (let i = topIndex; i > -1; i--) {
@@ -948,10 +947,10 @@ let DropDownBase = class DropDownBase extends Component {
948
947
  Refer bug report https://bugzilla.mozilla.org/show_bug.cgi?id=137688
949
948
  Refer alternate solution https://stackoverflow.com/a/41696234/9133493*/
950
949
  if (isNaN(borderWidth)) {
951
- const borderTopWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-top-width'), 10);
952
- const borderBottomWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-bottom-width'), 10);
953
- const borderLeftWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-left-width'), 10);
954
- const borderRightWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-right-width'), 10);
950
+ let borderTopWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-top-width'), 10);
951
+ let borderBottomWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-bottom-width'), 10);
952
+ let borderLeftWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-left-width'), 10);
953
+ let borderRightWidth = parseInt(document.defaultView.getComputedStyle(this.list.parentElement, null).getPropertyValue('border-right-width'), 10);
955
954
  borderWidth = (borderTopWidth + borderBottomWidth + borderLeftWidth + borderRightWidth);
956
955
  }
957
956
  }
@@ -1218,8 +1217,7 @@ let DropDownBase = class DropDownBase extends Component {
1218
1217
  }
1219
1218
  if (this.itemTemplate && !isHeader) {
1220
1219
  const itemCheck = this.templateCompiler(this.itemTemplate);
1221
- const compiledString = itemCheck ?
1222
- compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
1220
+ const compiledString = itemCheck ? compile(select(this.itemTemplate, document).innerHTML.trim()) : compile(this.itemTemplate);
1223
1221
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1224
1222
  const addItemTemplate = compiledString(item, this, 'itemTemplate', this.itemTemplateId, this.isStringTemplate, null, li);
1225
1223
  if (addItemTemplate) {
@@ -1704,7 +1702,7 @@ let DropDownList = class DropDownList extends DropDownBase {
1704
1702
  return {
1705
1703
  'aria-disabled': 'false',
1706
1704
  'aria-owns': this.element.id + '_options',
1707
- 'role': 'listbox',
1705
+ 'role': 'combobox',
1708
1706
  'aria-haspopup': 'true',
1709
1707
  'aria-expanded': 'false',
1710
1708
  'aria-activedescendant': 'null',
@@ -1969,7 +1967,7 @@ let DropDownList = class DropDownList extends DropDownBase {
1969
1967
  }
1970
1968
  else {
1971
1969
  const delay = 100;
1972
- this.closePopup(delay);
1970
+ this.closePopup(delay, e);
1973
1971
  }
1974
1972
  }
1975
1973
  onMouseOver(e) {
@@ -2193,7 +2191,7 @@ let DropDownList = class DropDownList extends DropDownBase {
2193
2191
  this.isSelectCustom = false;
2194
2192
  this.onChangeEvent(e);
2195
2193
  }
2196
- this.hidePopup();
2194
+ this.hidePopup(e);
2197
2195
  this.focusDropDown(e);
2198
2196
  }
2199
2197
  else {
@@ -2390,9 +2388,9 @@ let DropDownList = class DropDownList extends DropDownBase {
2390
2388
  detach(this.valueTempElement);
2391
2389
  this.inputElement.style.display = 'block';
2392
2390
  }
2393
- const clearIcon = dropDownListClasses.clearIcon;
2394
- const isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
2395
- const clearElement = isFilterElement && this.filterInput.parentElement.querySelector('.' + clearIcon);
2391
+ let clearIcon = dropDownListClasses.clearIcon;
2392
+ let isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
2393
+ let clearElement = isFilterElement && this.filterInput.parentElement.querySelector('.' + clearIcon);
2396
2394
  if (this.isFiltering() && clearElement) {
2397
2395
  clearElement.style.removeProperty('visibility');
2398
2396
  }
@@ -2427,11 +2425,9 @@ let DropDownList = class DropDownList extends DropDownBase {
2427
2425
  if (this.setValue(e)) {
2428
2426
  return;
2429
2427
  }
2430
- if (this.isPopupOpen) {
2431
- attributes(this.targetElement(), { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
2432
- if (this.isFilterLayout() && this.filterInput) {
2433
- attributes(this.filterInput, { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
2434
- }
2428
+ attributes(this.targetElement(), { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
2429
+ if (this.isFilterLayout() && this.filterInput) {
2430
+ attributes(this.filterInput, { 'aria-activedescendant': this.selectedLI ? this.selectedLI.id : null });
2435
2431
  }
2436
2432
  if ((!this.isPopupOpen && !isNullOrUndefined(li)) || (this.isPopupOpen && !isNullOrUndefined(e) &&
2437
2433
  (e.type !== 'keydown' || e.type === 'keydown' && e.action === 'enter'))) {
@@ -2913,7 +2909,6 @@ let DropDownList = class DropDownList extends DropDownBase {
2913
2909
  this.initial = true;
2914
2910
  this.activeIndex = this.index;
2915
2911
  this.initRemoteRender = false;
2916
- this.initial = false;
2917
2912
  if (this.value && this.dataSource instanceof DataManager) {
2918
2913
  const checkField = isNullOrUndefined(this.fields.value) ? this.fields.text : this.fields.value;
2919
2914
  const checkVal = list.some((x) => x[checkField] === this.value);
@@ -2936,6 +2931,7 @@ let DropDownList = class DropDownList extends DropDownBase {
2936
2931
  else {
2937
2932
  this.updateValues();
2938
2933
  }
2934
+ this.initial = false;
2939
2935
  }
2940
2936
  if (this.getModuleName() !== 'autocomplete' && this.isFiltering() && !this.isTyped) {
2941
2937
  if (!this.actionCompleteData.isUpdated || ((!this.isCustomFilter
@@ -3359,7 +3355,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3359
3355
  }
3360
3356
  }
3361
3357
  }
3362
- closePopup(delay) {
3358
+ closePopup(delay, e) {
3363
3359
  this.isTyped = false;
3364
3360
  if (!(this.popupObj && document.body.contains(this.popupObj.element) && this.beforePopupOpen)) {
3365
3361
  return;
@@ -3395,7 +3391,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3395
3391
  EventHandler.remove(this.filterInput, 'paste', this.pasteHandler);
3396
3392
  this.filterInput = null;
3397
3393
  }
3398
- attributes(this.targetElement(), { 'aria-expanded': 'false', 'aria-activedescendant': null });
3394
+ attributes(this.targetElement(), { 'aria-expanded': 'false' });
3399
3395
  this.inputWrapper.container.classList.remove(dropDownListClasses.iconAnimation);
3400
3396
  if (this.isFiltering()) {
3401
3397
  this.actionCompleteData.isUpdated = false;
@@ -3407,7 +3403,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3407
3403
  delay: delay ? delay : 0
3408
3404
  };
3409
3405
  const popupInstance = this.popupObj;
3410
- const eventArgs = { popup: popupInstance, cancel: false, animation: animModel };
3406
+ const eventArgs = { popup: popupInstance, cancel: false, animation: animModel, event: e || null };
3411
3407
  this.trigger('close', eventArgs, (eventArgs) => {
3412
3408
  if (!isNullOrUndefined(this.popupObj) &&
3413
3409
  !isNullOrUndefined(this.popupObj.element.querySelector('.e-fixed-head'))) {
@@ -3628,7 +3624,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3628
3624
  || (!(props.dataSource instanceof DataManager) && props.dataSource.length === 0)))) {
3629
3625
  this.clearAll(null, props);
3630
3626
  }
3631
- if ((this.fields.groupBy && props.fields) && !this.isGroupChecking) {
3627
+ if ((this.fields.groupBy && props.fields) && !this.isGroupChecking && this.list) {
3632
3628
  EventHandler.remove(this.list, 'scroll', this.setFloatingHeader);
3633
3629
  EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);
3634
3630
  }
@@ -3913,7 +3909,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3913
3909
  if (!this.enabled) {
3914
3910
  return;
3915
3911
  }
3916
- if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list !== this.actionCompleteData.list) &&
3912
+ if (this.isFiltering() && this.dataSource instanceof DataManager && (this.actionData.list != this.actionCompleteData.list) &&
3917
3913
  this.actionData.list && this.actionData.ulElement) {
3918
3914
  this.actionCompleteData = this.actionData;
3919
3915
  this.onActionComplete(this.actionCompleteData.ulElement, this.actionCompleteData.list, null, true);
@@ -3975,7 +3971,7 @@ let DropDownList = class DropDownList extends DropDownBase {
3975
3971
  this.resetSelection();
3976
3972
  }
3977
3973
  }
3978
- this.closePopup();
3974
+ this.closePopup(0, e);
3979
3975
  const dataItem = this.getItemData();
3980
3976
  const isSelectVal = !isNullOrUndefined(this.selectedLI);
3981
3977
  if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
@@ -5509,7 +5505,7 @@ let DropDownTree = class DropDownTree extends Component {
5509
5505
  }
5510
5506
  else {
5511
5507
  if (this.showCheckBox) {
5512
- const difference = this.value.filter((e) => {
5508
+ let difference = this.value.filter((e) => {
5513
5509
  return this.treeObj.checkedNodes.indexOf(e) === -1;
5514
5510
  });
5515
5511
  if (difference.length > 0 || this.treeSettings.autoCheck) {
@@ -6273,7 +6269,7 @@ let DropDownTree = class DropDownTree extends Component {
6273
6269
  }
6274
6270
  else if (this.treeDataType === 1) {
6275
6271
  for (let i = 0, objlen = this.treeItems.length; i < objlen; i++) {
6276
- const dataId = getValue(this.fields.value, this.treeItems[i]);
6272
+ let dataId = getValue(this.fields.value, this.treeItems[i]);
6277
6273
  if (!isNullOrUndefined(this.treeItems[i]) && !isNullOrUndefined(dataId) && dataId.toString() === id) {
6278
6274
  return this.treeItems[i];
6279
6275
  }
@@ -6290,19 +6286,19 @@ let DropDownTree = class DropDownTree extends Component {
6290
6286
  return newChildItems;
6291
6287
  }
6292
6288
  for (let i = 0, objlen = obj.length; i < objlen; i++) {
6293
- const dataValue = getValue(mapper.value, obj[i]);
6289
+ let dataValue = getValue(mapper.value, obj[i]);
6294
6290
  if (obj[i] && dataValue && dataValue.toString() === id) {
6295
6291
  return obj[i];
6296
6292
  }
6297
6293
  else if (typeof mapper.child === 'string' && !isNullOrUndefined(getValue(mapper.child, obj[i]))) {
6298
- const childNodeData = getValue(mapper.child, obj[i]);
6294
+ let childNodeData = getValue(mapper.child, obj[i]);
6299
6295
  newChildItems = this.getChildNodeData(childNodeData, this.getChildMapperFields(mapper), id);
6300
6296
  if (newChildItems !== undefined) {
6301
6297
  break;
6302
6298
  }
6303
6299
  }
6304
6300
  else if (this.fields.dataSource instanceof DataManager && !isNullOrUndefined(getValue('child', obj[i]))) {
6305
- const child = 'child';
6301
+ let child = 'child';
6306
6302
  newChildItems = this.getChildNodeData(getValue(child, obj[i]), this.getChildMapperFields(mapper), id);
6307
6303
  if (newChildItems !== undefined) {
6308
6304
  break;
@@ -6421,7 +6417,7 @@ let DropDownTree = class DropDownTree extends Component {
6421
6417
  addClass([this.inputWrapper], SHOW_CHIP);
6422
6418
  }
6423
6419
  const chip = this.createElement('span', {
6424
- className: CHIP
6420
+ className: CHIP,
6425
6421
  });
6426
6422
  if (!this.inputEle.classList.contains(CHIP_INPUT)) {
6427
6423
  addClass([this.inputEle], CHIP_INPUT);
@@ -6557,7 +6553,7 @@ let DropDownTree = class DropDownTree extends Component {
6557
6553
  this.ensurePlaceHolder();
6558
6554
  }
6559
6555
  resetValue(isDynamicChange) {
6560
- if (this.value === [] && this.text === null) {
6556
+ if (this.value == [] && this.text == null) {
6561
6557
  return;
6562
6558
  }
6563
6559
  Input.setValue(null, this.inputEle, this.floatLabelType);
@@ -6938,10 +6934,10 @@ let DropDownTree = class DropDownTree extends Component {
6938
6934
  this.updateTreeSettings(newProp);
6939
6935
  break;
6940
6936
  case 'customTemplate':
6941
- if (this.mode !== 'Custom') {
6937
+ if (this.mode !== "Custom") {
6942
6938
  return;
6943
6939
  }
6944
- this.chipCollection.innerHTML = '';
6940
+ this.chipCollection.innerHTML = "";
6945
6941
  this.setTagValues();
6946
6942
  break;
6947
6943
  case 'sortOrder':
@@ -7159,7 +7155,7 @@ __decorate$2([
7159
7155
  Property('')
7160
7156
  ], DropDownTree.prototype, "cssClass", void 0);
7161
7157
  __decorate$2([
7162
- Property('${value.length} item(s) selected')
7158
+ Property("${value.length} item(s) selected")
7163
7159
  ], DropDownTree.prototype, "customTemplate", void 0);
7164
7160
  __decorate$2([
7165
7161
  Property(',')
@@ -8746,6 +8742,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
8746
8742
  constructor(option, element) {
8747
8743
  super(option, element);
8748
8744
  this.clearIconWidth = 0;
8745
+ this.previousFilterText = '';
8749
8746
  this.isValidKey = false;
8750
8747
  this.selectAllEventData = [];
8751
8748
  this.selectAllEventEle = [];
@@ -8819,7 +8816,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
8819
8816
  else if (containerAttr.indexOf(htmlAttr) > -1) {
8820
8817
  this.overAllWrapper.setAttribute(htmlAttr, this.htmlAttributes[htmlAttr]);
8821
8818
  }
8822
- else {
8819
+ else if (htmlAttr !== 'size') {
8823
8820
  this.inputElement.setAttribute(htmlAttr, this.htmlAttributes[htmlAttr]);
8824
8821
  }
8825
8822
  break;
@@ -9208,7 +9205,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9208
9205
  }
9209
9206
  }
9210
9207
  getValidLi() {
9211
- const liElement = this.ulElement.querySelector('li.' + dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');
9208
+ let liElement = this.ulElement.querySelector('li.' + dropDownBaseClasses.li + ':not(.' + HIDE_LIST + ')');
9212
9209
  return (!isNullOrUndefined(liElement) ? liElement : this.liCollections[0]);
9213
9210
  }
9214
9211
  checkSelectAll() {
@@ -9240,7 +9237,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9240
9237
  this.showPopup();
9241
9238
  }
9242
9239
  else {
9243
- this.hidePopup();
9240
+ this.hidePopup(e);
9244
9241
  }
9245
9242
  }
9246
9243
  else if (!this.openOnClick && this.mode === 'CheckBox' && !this.isPopupOpen()) {
@@ -9309,7 +9306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9309
9306
  const list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
9310
9307
  if (this.backCommand) {
9311
9308
  this.remoteCustomValue = false;
9312
- if (this.allowCustomValue && list.querySelectorAll('li').length === 0 && this.mainData.length > 0) {
9309
+ if (this.allowCustomValue && list.querySelectorAll('li').length == 0 && this.mainData.length > 0) {
9313
9310
  this.mainData = [];
9314
9311
  }
9315
9312
  this.onActionComplete(list, this.mainData);
@@ -9400,7 +9397,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9400
9397
  this.showPopup();
9401
9398
  }
9402
9399
  else {
9403
- this.hidePopup();
9400
+ this.hidePopup(e);
9404
9401
  if (this.mode === 'CheckBox') {
9405
9402
  this.showOverAllClear();
9406
9403
  this.inputFocus = true;
@@ -9478,6 +9475,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9478
9475
  }
9479
9476
  }
9480
9477
  }
9478
+ this.updateDataList();
9481
9479
  this.refreshListItems(null);
9482
9480
  if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
9483
9481
  this.updateDelimView();
@@ -9488,7 +9486,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9488
9486
  }
9489
9487
  this.overAllClear.style.display = 'none';
9490
9488
  if (this.isPopupOpen()) {
9491
- this.hidePopup();
9489
+ this.hidePopup(eve);
9492
9490
  }
9493
9491
  this.makeTextBoxEmpty();
9494
9492
  this.trigger('blur');
@@ -9682,7 +9680,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9682
9680
  popupKeyActions(e) {
9683
9681
  switch (e.keyCode) {
9684
9682
  case 38:
9685
- this.hidePopup();
9683
+ this.hidePopup(e);
9686
9684
  if (this.mode === 'CheckBox') {
9687
9685
  this.inputElement.focus();
9688
9686
  }
@@ -9701,10 +9699,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9701
9699
  if (!isNullOrUndefined(focusedItem)) {
9702
9700
  this.inputElement.setAttribute('aria-activedescendant', focusedItem.id);
9703
9701
  if (this.allowFiltering) {
9704
- const filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
9702
+ var filterInput = this.popupWrapper.querySelector('.' + FILTERINPUT);
9705
9703
  filterInput && filterInput.setAttribute('aria-activedescendant', focusedItem.id);
9706
9704
  }
9707
- else if (this.mode === 'CheckBox') {
9705
+ else if (this.mode == "CheckBox") {
9708
9706
  this.overAllWrapper.setAttribute('aria-activedescendant', focusedItem.id);
9709
9707
  }
9710
9708
  }
@@ -9764,7 +9762,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9764
9762
  break;
9765
9763
  case 27:
9766
9764
  e.preventDefault();
9767
- this.hidePopup();
9765
+ this.hidePopup(e);
9768
9766
  if (this.mode === 'CheckBox') {
9769
9767
  this.inputElement.focus();
9770
9768
  }
@@ -9781,7 +9779,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9781
9779
  return;
9782
9780
  case 9:
9783
9781
  e.preventDefault();
9784
- this.hidePopup();
9782
+ this.hidePopup(e);
9785
9783
  this.inputElement.focus();
9786
9784
  this.overAllWrapper.classList.add(FOCUS);
9787
9785
  }
@@ -9809,6 +9807,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9809
9807
  this.keyNavigation(e);
9810
9808
  }
9811
9809
  if (this.mode === 'CheckBox' && this.enableSelectionOrder) {
9810
+ if (this.allowFiltering) {
9811
+ this.previousFilterText = this.targetElement();
9812
+ }
9812
9813
  this.checkBackCommand(e);
9813
9814
  }
9814
9815
  this.expandTextbox();
@@ -9851,14 +9852,13 @@ let MultiSelect = class MultiSelect extends DropDownBase {
9851
9852
  if (!document.activeElement.classList.contains(FILTERINPUT)) {
9852
9853
  e.preventDefault();
9853
9854
  this.keyAction = true;
9854
- this.list.focus();
9855
9855
  }
9856
9856
  this.selectByKey(e);
9857
9857
  }
9858
9858
  this.checkPlaceholderSize();
9859
9859
  }
9860
9860
  checkBackCommand(e) {
9861
- if (e.keyCode === 8 && this.targetElement() === '') {
9861
+ if (e.keyCode === 8 && this.allowFiltering ? this.targetElement() !== this.previousFilterText : this.targetElement() === '') {
9862
9862
  this.backCommand = false;
9863
9863
  }
9864
9864
  else {
@@ -10004,7 +10004,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10004
10004
  }
10005
10005
  this.refreshSelection();
10006
10006
  if (this.closePopupOnSelect) {
10007
- this.hidePopup();
10007
+ this.hidePopup(e);
10008
10008
  }
10009
10009
  }
10010
10010
  this.refreshPlaceHolder();
@@ -10036,7 +10036,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10036
10036
  this.makeTextBoxEmpty();
10037
10037
  }
10038
10038
  if (this.closePopupOnSelect) {
10039
- this.hidePopup();
10039
+ this.hidePopup(e);
10040
10040
  }
10041
10041
  this.checkPlaceholderSize();
10042
10042
  }
@@ -10156,7 +10156,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10156
10156
  value = customVal;
10157
10157
  }
10158
10158
  if (this.isPopupOpen() && this.mode !== 'CheckBox') {
10159
- this.hidePopup();
10159
+ this.hidePopup(e);
10160
10160
  }
10161
10161
  if (!this.inputFocus) {
10162
10162
  this.inputElement.focus();
@@ -10196,7 +10196,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10196
10196
  this.expandTextbox();
10197
10197
  }
10198
10198
  removeAllItems(value, eve, isClearAll, element, mainElement) {
10199
- const index = this.value.indexOf(value);
10199
+ let index = this.value.indexOf(value);
10200
10200
  const removeVal = this.value.slice(0);
10201
10201
  removeVal.splice(index, 1);
10202
10202
  this.setProperties({ value: [].concat([], removeVal) }, true);
@@ -10269,7 +10269,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
10269
10269
  });
10270
10270
  this.invokeCheckboxSelection(element, eve, isClearAll);
10271
10271
  }
10272
- if (this.hideSelectedItem && this.fields.groupBy) {
10272
+ if (this.hideSelectedItem && this.fields.groupBy && element) {
10273
10273
  this.hideGroupItem(value);
10274
10274
  }
10275
10275
  if (this.hideSelectedItem && this.fixedHeaderElement && this.fields.groupBy && this.mode !== 'CheckBox' &&
@@ -11108,15 +11108,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11108
11108
  }
11109
11109
  }
11110
11110
  updateDataList() {
11111
- if (this.mainList && this.ulElement) {
11112
- const isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
11113
- const isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 &&
11114
- this.ulElement.children[0].childElementCount > 0) &&
11115
- (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
11116
- const isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0
11117
- && !(this.ulElement.childElementCount < this.mainList.childElementCount)
11118
- && (this.ulElement.children[0].childElementCount > 0
11119
- || (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
11111
+ if (this.mainList && this.ulElement && !(this.isFiltered || this.filterAction)) {
11112
+ let isDynamicGroupItemUpdate = this.mainList.childElementCount < this.ulElement.childElementCount;
11113
+ let isReactTemplateUpdate = ((this.ulElement.childElementCount > 0 && this.ulElement.children[0].childElementCount > 0) && (this.mainList.children[0].childElementCount < this.ulElement.children[0].childElementCount));
11114
+ let isAngularTemplateUpdate = this.itemTemplate && this.ulElement.childElementCount > 0 && !(this.ulElement.childElementCount < this.mainList.childElementCount) && (this.ulElement.children[0].childElementCount > 0 || (this.fields.groupBy && this.ulElement.children[1] && this.ulElement.children[1].childElementCount > 0));
11120
11115
  if (isDynamicGroupItemUpdate || isReactTemplateUpdate || isAngularTemplateUpdate) {
11121
11116
  //EJ2-57748 - for this task, we prevent the ul element cloning ( this.mainList = this.ulElement.cloneNode ? <HTMLElement>this.ulElement.cloneNode(true) : this.ulElement;)
11122
11117
  this.mainList = this.ulElement;
@@ -11333,7 +11328,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11333
11328
  this.focusAtFirstListItem();
11334
11329
  }
11335
11330
  if (this.closePopupOnSelect) {
11336
- this.hidePopup();
11331
+ this.hidePopup(e);
11337
11332
  }
11338
11333
  else {
11339
11334
  e.preventDefault();
@@ -11524,7 +11519,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11524
11519
  */
11525
11520
  showSpinner() {
11526
11521
  if (isNullOrUndefined(this.spinnerElement)) {
11527
- const filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');
11522
+ let filterClear = this.filterParent && this.filterParent.querySelector('.e-clear-icon.e-icons');
11528
11523
  if (this.overAllClear.style.display !== 'none' || filterClear) {
11529
11524
  this.spinnerElement = filterClear ? filterClear : this.overAllClear;
11530
11525
  }
@@ -11601,7 +11596,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11601
11596
  const raminElement = this.createElement('span', {
11602
11597
  className: REMAIN_WRAPPER$1
11603
11598
  });
11604
- const remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());
11599
+ let remainCompildTemp = remainContent.replace('${count}', this.value.length.toString());
11605
11600
  raminElement.innerText = remainCompildTemp;
11606
11601
  this.viewWrapper.appendChild(raminElement);
11607
11602
  this.renderReactTemplates();
@@ -11681,8 +11676,8 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11681
11676
  viewWrapper.removeChild(viewWrapper.firstChild);
11682
11677
  }
11683
11678
  raminElement.innerHTML = '';
11684
- const remainTemp = remainContent.replace('${count}', remaining.toString());
11685
- const totalTemp = totalContent.replace('${count}', remaining.toString());
11679
+ let remainTemp = remainContent.replace('${count}', remaining.toString());
11680
+ let totalTemp = totalContent.replace('${count}', remaining.toString());
11686
11681
  raminElement.innerText = (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) ? remainTemp : totalTemp;
11687
11682
  if (viewWrapper.firstChild && viewWrapper.firstChild.nodeType === 3) {
11688
11683
  viewWrapper.classList.remove(TOTAL_COUNT_WRAPPER$1);
@@ -11870,9 +11865,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
11870
11865
  else {
11871
11866
  for (let i = 0; i < li.length && i < count; i++) {
11872
11867
  this.removeHover();
11873
- const customVal = li[i].getAttribute('data-value');
11874
- const value = this.getFormattedValue(customVal);
11875
- const mainElement = this.mainList ? this.mainList.querySelectorAll(state ?
11868
+ let customVal = li[i].getAttribute('data-value');
11869
+ let value = this.getFormattedValue(customVal);
11870
+ let mainElement = this.mainList ? this.mainList.querySelectorAll(state ?
11876
11871
  'li.e-list-item:not([aria-selected="true"]):not(.e-reorder-hide)' :
11877
11872
  'li.e-list-item[aria-selected="true"]:not(.e-reorder-hide)')[i] : null;
11878
11873
  if (state) {
@@ -12135,7 +12130,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12135
12130
  break;
12136
12131
  case 'popupHeight':
12137
12132
  if (this.popupObj) {
12138
- const overAllHeight = parseInt(this.popupHeight, 10);
12133
+ let overAllHeight = parseInt(this.popupHeight, 10);
12139
12134
  if (this.popupHeight !== 'auto') {
12140
12135
  this.list.style.maxHeight = formatUnit(overAllHeight);
12141
12136
  this.popupWrapper.style.maxHeight = formatUnit(this.popupHeight);
@@ -12173,21 +12168,23 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12173
12168
  this.renderPopup();
12174
12169
  }
12175
12170
  presentItemValue(ulElement) {
12176
- const valuecheck = [];
12171
+ let valuecheck = [];
12177
12172
  for (let i = 0; i < this.value.length; i++) {
12178
- const checkEle = this.findListElement(((this.allowFiltering && !isNullOrUndefined(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', this.value[i]);
12173
+ let checkEle = this.findListElement(((this.allowFiltering && !isNullOrUndefined(this.mainList)) ? this.mainList : ulElement), 'li', 'data-value', this.value[i]);
12179
12174
  if (!checkEle) {
12180
12175
  valuecheck.push(this.value[i]);
12181
12176
  }
12182
12177
  }
12183
12178
  return valuecheck;
12184
12179
  }
12180
+ ;
12185
12181
  addNonPresentItems(valuecheck, ulElement, list, event) {
12186
12182
  this.dataSource.executeQuery(this.getForQuery(valuecheck)).then((e) => {
12187
12183
  this.addItem(e.result, list.length);
12188
12184
  this.updateActionList(ulElement, list, event);
12189
12185
  });
12190
12186
  }
12187
+ ;
12191
12188
  updateVal(newProp, oldProp, prop) {
12192
12189
  if (!this.list) {
12193
12190
  this.onLoadSelect();
@@ -12200,7 +12197,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12200
12197
  if (!isNullOrUndefined(this.value) && !this.allowCustomValue) {
12201
12198
  valuecheck = this.presentItemValue(this.ulElement);
12202
12199
  }
12203
- if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
12200
+ if (prop == 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
12204
12201
  && this.listData != null) {
12205
12202
  this.mainData = null;
12206
12203
  this.setDynValue = true;
@@ -12254,7 +12251,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12254
12251
  *
12255
12252
  * @returns {void}
12256
12253
  */
12257
- hidePopup() {
12254
+ hidePopup(e) {
12258
12255
  const delay = 100;
12259
12256
  if (this.isPopupOpen()) {
12260
12257
  const animModel = {
@@ -12262,7 +12259,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12262
12259
  duration: 100,
12263
12260
  delay: delay ? delay : 0
12264
12261
  };
12265
- const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel };
12262
+ const eventArgs = { popup: this.popupObj, cancel: false, animation: animModel, event: e || null };
12266
12263
  this.trigger('close', eventArgs, (eventArgs) => {
12267
12264
  if (!eventArgs.cancel) {
12268
12265
  if (this.fields.groupBy && this.mode !== 'CheckBox' && this.fixedHeaderElement) {
@@ -12309,7 +12306,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12309
12306
  const mainLiLength = this.ulElement.querySelectorAll('li.' + 'e-list-item').length;
12310
12307
  const liLength = this.ulElement.querySelectorAll('li.'
12311
12308
  + dropDownBaseClasses.li + '.' + HIDE_LIST).length;
12312
- if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length)) {
12309
+ if (mainLiLength > 0 && (mainLiLength === liLength) && (liLength === this.mainData.length) && !(this.targetElement() !== '' && this.allowCustomValue)) {
12313
12310
  this.beforePopupOpen = false;
12314
12311
  return;
12315
12312
  }
@@ -13409,6 +13406,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13409
13406
  }
13410
13407
  initWrapper() {
13411
13408
  const hiddenSelect = this.createElement('select', { className: 'e-hidden-select', attrs: { 'multiple': '' } });
13409
+ hiddenSelect.style.visibility = 'hidden';
13412
13410
  this.list.classList.add('e-listbox-wrapper');
13413
13411
  if (this.itemTemplate) {
13414
13412
  this.list.classList.add('e-list-template');
@@ -13694,14 +13692,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13694
13692
  triggerDrag(args) {
13695
13693
  let scrollParent;
13696
13694
  let boundRect;
13697
- const scrollMoved = 36;
13695
+ let scrollMoved = 36;
13698
13696
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13699
- const event = args.event;
13697
+ let event = args.event;
13700
13698
  let wrapper;
13701
- if (args.target && (args.target.classList.contains('e-listbox-wrapper') || args.target.classList.contains('e-list-item')
13702
- || args.target.classList.contains('e-filter-parent') || args.target.classList.contains('e-input-group'))) {
13703
- if (args.target.classList.contains('e-list-item') || args.target.classList.contains('e-filter-parent')
13704
- || args.target.classList.contains('e-input-group')) {
13699
+ if (args.target && (args.target.classList.contains("e-listbox-wrapper") || args.target.classList.contains("e-list-item")
13700
+ || args.target.classList.contains("e-filter-parent") || args.target.classList.contains("e-input-group"))) {
13701
+ if (args.target.classList.contains("e-list-item") || args.target.classList.contains("e-filter-parent")
13702
+ || args.target.classList.contains("e-input-group")) {
13705
13703
  wrapper = args.target.closest('.e-listbox-wrapper');
13706
13704
  }
13707
13705
  else {
@@ -13734,12 +13732,12 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13734
13732
  }
13735
13733
  }
13736
13734
  beforeDragEnd(args) {
13737
- const dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
13738
- if (this.value.indexOf(dragValue) > -1) {
13735
+ this.dragValue = this.getFormattedValue(args.droppedElement.getAttribute('data-value'));
13736
+ if (this.value.indexOf(this.dragValue) > -1) {
13739
13737
  args.items = this.getDataByValues(this.value);
13740
13738
  }
13741
13739
  else {
13742
- args.items = this.getDataByValues([dragValue]);
13740
+ args.items = this.getDataByValues([this.dragValue]);
13743
13741
  }
13744
13742
  this.trigger('beforeDrop', args);
13745
13743
  }
@@ -13755,8 +13753,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13755
13753
  const getArgs = this.getDragArgs({ target: args.droppedElement }, true);
13756
13754
  const sourceArgs = { previousData: this.dataSource };
13757
13755
  const destArgs = { previousData: listObj.dataSource };
13758
- let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource },
13759
- previousIndex: args.previousIndex, currentIndex: args.currentIndex });
13756
+ let dragArgs = extend({}, getArgs, { target: args.target, source: { previousData: this.dataSource }, previousIndex: args.previousIndex, currentIndex: args.currentIndex });
13760
13757
  if (listObj !== this) {
13761
13758
  const sourceArgs1 = extend(sourceArgs, { currentData: this.listData });
13762
13759
  dragArgs = extend(dragArgs, { source: sourceArgs1, destination: destArgs });
@@ -13850,14 +13847,14 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13850
13847
  currIdx++;
13851
13848
  });
13852
13849
  if (this.fields.groupBy) {
13853
- const sourceElem = this.renderItems(this.listData, this.fields);
13850
+ let sourceElem = this.renderItems(this.listData, this.fields);
13854
13851
  this.updateListItems(sourceElem, this.ulElement);
13855
13852
  this.setSelection();
13856
13853
  }
13857
13854
  if (listObj.sortOrder !== 'None' || this.selectionSettings.showCheckbox
13858
13855
  !== listObj.selectionSettings.showCheckbox || listObj.fields.groupBy || listObj.itemTemplate || this.itemTemplate) {
13859
13856
  const sortable = getComponent(ul, 'sortable');
13860
- const sourceElem = listObj.renderItems(listData, listObj.fields);
13857
+ let sourceElem = listObj.renderItems(listData, listObj.fields);
13861
13858
  listObj.updateListItems(sourceElem, ul);
13862
13859
  this.setSelection();
13863
13860
  if (sortable.placeHolderElement) {
@@ -13887,7 +13884,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13887
13884
  }
13888
13885
  updateListItems(sourceElem, destElem) {
13889
13886
  const i = 0;
13890
- destElem.innerHTML = '';
13887
+ destElem.innerHTML = "";
13891
13888
  while (i < sourceElem.childNodes.length) {
13892
13889
  destElem.appendChild(sourceElem.childNodes[i]);
13893
13890
  }
@@ -13947,7 +13944,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
13947
13944
  enableItems(items, enable = true, isValue) {
13948
13945
  let li;
13949
13946
  items.forEach((item) => {
13950
- const text = item;
13947
+ let text = item;
13951
13948
  li = this.findListElement(this.list, 'li', 'data-value', isValue ? text : this.getValueByText(text));
13952
13949
  if (!li) {
13953
13950
  return;
@@ -14678,7 +14675,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14678
14675
  });
14679
14676
  if (isRefresh) {
14680
14677
  if (fListBox.fields.groupBy) {
14681
- const sourceElem = fListBox.renderItems(listData, fListBox.fields);
14678
+ let sourceElem = fListBox.renderItems(listData, fListBox.fields);
14682
14679
  fListBox.updateListItems(sourceElem, fListBox.ulElement);
14683
14680
  }
14684
14681
  else {
@@ -14711,7 +14708,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14711
14708
  tListBox.jsonData = tJsonData;
14712
14709
  tListBox.sortedData = tSortData;
14713
14710
  if (isRefresh) {
14714
- const sourceElem = tListBox.renderItems(tListData, tListBox.fields);
14711
+ let sourceElem = tListBox.renderItems(tListData, tListBox.fields);
14715
14712
  tListBox.updateListItems(sourceElem, tListBox.ulElement);
14716
14713
  tListBox.setSelection();
14717
14714
  fListBox.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
@@ -14800,7 +14797,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14800
14797
  tListBox.jsonData = jsonData;
14801
14798
  fListBox.listData = fListBox.sortedData = fListBox.jsonData = [];
14802
14799
  if (isRefresh) {
14803
- const sourceElem = tListBox.renderItems(listData, tListBox.fields);
14800
+ let sourceElem = tListBox.renderItems(listData, tListBox.fields);
14804
14801
  tListBox.updateListItems(sourceElem, tListBox.ulElement);
14805
14802
  this.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
14806
14803
  }
@@ -14852,6 +14849,15 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14852
14849
  return listObj;
14853
14850
  }
14854
14851
  getGrabbedItems() {
14852
+ for (let i = 0; i < this.value.length; i++) {
14853
+ if (this.value[i] === this.dragValue) {
14854
+ const liColl = this.list.querySelectorAll('[aria-selected="true"]');
14855
+ for (let i = 0; i < liColl.length; i++) {
14856
+ liColl[i].classList.add('e-grabbed');
14857
+ }
14858
+ break;
14859
+ }
14860
+ }
14855
14861
  const elems = Array.prototype.slice.call(this.element.querySelectorAll('.e-grabbed'));
14856
14862
  return elems;
14857
14863
  }
@@ -14908,7 +14914,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14908
14914
  }
14909
14915
  }
14910
14916
  }
14911
- else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== 'KeyA') {
14917
+ else if (e.keyCode !== 37 && e.keyCode !== 39 && e.code !== "KeyA") {
14912
14918
  this.upDownKeyHandler(e);
14913
14919
  }
14914
14920
  }
@@ -14951,9 +14957,9 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
14951
14957
  this.selectHandler({ target: ul.children[fliIdx], ctrlKey: e.ctrlKey, shiftKey: e.shiftKey }, true);
14952
14958
  }
14953
14959
  if (this.selectionSettings.showCheckbox && e.ctrlKey && e.shiftKey && (e.keyCode === 36 || e.keyCode === 35)) {
14954
- const selectedidx = Array.prototype.indexOf.call(ul.children, fli);
14955
- const sidx = e.code === 'Home' ? 0 : selectedidx;
14956
- const eidx = e.code === 'Home' ? selectedidx : ul.children.length - 1;
14960
+ let selectedidx = Array.prototype.indexOf.call(ul.children, fli);
14961
+ let sidx = e.code === "Home" ? 0 : selectedidx;
14962
+ let eidx = e.code === "Home" ? selectedidx : ul.children.length - 1;
14957
14963
  for (let i = sidx; i <= eidx; i++) {
14958
14964
  const item = ul.children[i];
14959
14965
  this.notify('updatelist', { li: item, e: {