@syncfusion/ej2-dropdowns 28.1.38 → 28.1.41

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 (87) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  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 +84 -33
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +85 -33
  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/package.json +8 -8
  12. package/src/combo-box/combo-box.js +2 -2
  13. package/src/common/interface.d.ts +1 -0
  14. package/src/common/virtual-scroll.js +1 -0
  15. package/src/drop-down-base/drop-down-base.js +3 -1
  16. package/src/drop-down-list/drop-down-list.d.ts +1 -0
  17. package/src/drop-down-list/drop-down-list.js +19 -4
  18. package/src/drop-down-tree/drop-down-tree.d.ts +1 -0
  19. package/src/drop-down-tree/drop-down-tree.js +13 -9
  20. package/src/list-box/list-box.js +1 -1
  21. package/src/mention/mention.js +3 -1
  22. package/src/multi-select/multi-select.d.ts +4 -2
  23. package/src/multi-select/multi-select.js +43 -15
  24. package/styles/bds-lite.css +8 -0
  25. package/styles/bds.css +8 -0
  26. package/styles/bootstrap-dark-lite.css +8 -0
  27. package/styles/bootstrap-dark.css +8 -0
  28. package/styles/bootstrap-lite.css +8 -0
  29. package/styles/bootstrap.css +8 -0
  30. package/styles/bootstrap4-lite.css +8 -0
  31. package/styles/bootstrap4.css +8 -0
  32. package/styles/bootstrap5-dark-lite.css +8 -0
  33. package/styles/bootstrap5-dark.css +8 -0
  34. package/styles/bootstrap5-lite.css +8 -0
  35. package/styles/bootstrap5.3-lite.css +8 -0
  36. package/styles/bootstrap5.3.css +8 -0
  37. package/styles/bootstrap5.css +8 -0
  38. package/styles/drop-down-list/_layout.scss +8 -0
  39. package/styles/drop-down-list/bds.css +8 -0
  40. package/styles/drop-down-list/bootstrap-dark.css +8 -0
  41. package/styles/drop-down-list/bootstrap.css +8 -0
  42. package/styles/drop-down-list/bootstrap4.css +8 -0
  43. package/styles/drop-down-list/bootstrap5-dark.css +8 -0
  44. package/styles/drop-down-list/bootstrap5.3.css +8 -0
  45. package/styles/drop-down-list/bootstrap5.css +8 -0
  46. package/styles/drop-down-list/fabric-dark.css +8 -0
  47. package/styles/drop-down-list/fabric.css +8 -0
  48. package/styles/drop-down-list/fluent-dark.css +8 -0
  49. package/styles/drop-down-list/fluent.css +8 -0
  50. package/styles/drop-down-list/fluent2.css +8 -0
  51. package/styles/drop-down-list/highcontrast-light.css +8 -0
  52. package/styles/drop-down-list/highcontrast.css +8 -0
  53. package/styles/drop-down-list/material-dark.css +8 -0
  54. package/styles/drop-down-list/material.css +8 -0
  55. package/styles/drop-down-list/material3-dark.css +8 -0
  56. package/styles/drop-down-list/material3.css +8 -0
  57. package/styles/drop-down-list/tailwind-dark.css +8 -0
  58. package/styles/drop-down-list/tailwind.css +8 -0
  59. package/styles/drop-down-list/tailwind3.css +8 -0
  60. package/styles/fabric-dark-lite.css +8 -0
  61. package/styles/fabric-dark.css +8 -0
  62. package/styles/fabric-lite.css +8 -0
  63. package/styles/fabric.css +8 -0
  64. package/styles/fluent-dark-lite.css +8 -0
  65. package/styles/fluent-dark.css +8 -0
  66. package/styles/fluent-lite.css +8 -0
  67. package/styles/fluent.css +8 -0
  68. package/styles/fluent2-lite.css +8 -0
  69. package/styles/fluent2.css +8 -0
  70. package/styles/highcontrast-light-lite.css +8 -0
  71. package/styles/highcontrast-light.css +8 -0
  72. package/styles/highcontrast-lite.css +8 -0
  73. package/styles/highcontrast.css +8 -0
  74. package/styles/material-dark-lite.css +8 -0
  75. package/styles/material-dark.css +8 -0
  76. package/styles/material-lite.css +8 -0
  77. package/styles/material.css +8 -0
  78. package/styles/material3-dark-lite.css +8 -0
  79. package/styles/material3-dark.css +8 -0
  80. package/styles/material3-lite.css +8 -0
  81. package/styles/material3.css +8 -0
  82. package/styles/tailwind-dark-lite.css +8 -0
  83. package/styles/tailwind-dark.css +8 -0
  84. package/styles/tailwind-lite.css +8 -0
  85. package/styles/tailwind.css +8 -0
  86. package/styles/tailwind3-lite.css +8 -0
  87. package/styles/tailwind3.css +8 -0
@@ -533,6 +533,7 @@ class VirtualScroll {
533
533
  }
534
534
  if (this.component === 'multiselect') {
535
535
  this.parent.updatevirtualizationList();
536
+ this.parent.checkMaxSelection();
536
537
  }
537
538
  this.parent.getSkeletonCount();
538
539
  this.parent.skeletonCount = this.parent.totalItemCount !== 0 && this.parent.totalItemCount < this.parent.itemCount * 2 &&
@@ -1927,8 +1928,10 @@ let DropDownBase = class DropDownBase extends Component {
1927
1928
  scrollStop(e, isDownkey) {
1928
1929
  const target = !isNullOrUndefined(e) ? e.target : this.list;
1929
1930
  const computedHeight = getComputedStyle(this.getValidLi(), null).getPropertyValue('height');
1931
+ const computedMarginValue = getComputedStyle(this.getValidLi(), null).getPropertyValue('margin-bottom');
1932
+ const marginValue = parseInt(computedMarginValue, 10);
1930
1933
  const liHeight = this.getModuleName() === 'multiselect' ? parseFloat(computedHeight) : parseInt(computedHeight, 10);
1931
- const topIndex = Math.round(target.scrollTop / liHeight);
1934
+ const topIndex = Math.round(target.scrollTop / (liHeight + marginValue));
1932
1935
  const liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
1933
1936
  const virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
1934
1937
  for (let i = topIndex; i > -1; i--) {
@@ -2830,6 +2833,7 @@ let DropDownList = class DropDownList extends DropDownBase {
2830
2833
  this.autoFill = false;
2831
2834
  this.isUpdateHeaderHeight = false;
2832
2835
  this.isUpdateFooterHeight = false;
2836
+ this.isReactTemplateUpdate = false;
2833
2837
  }
2834
2838
  /**
2835
2839
  * Initialize the event handler.
@@ -3092,7 +3096,9 @@ let DropDownList = class DropDownList extends DropDownBase {
3092
3096
  };
3093
3097
  }
3094
3098
  setEnableRtl() {
3095
- Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
3099
+ if (!isNullOrUndefined(this.inputElement) && !isNullOrUndefined(this.inputElement.parentElement)) {
3100
+ Input.setEnableRtl(this.enableRtl, [this.inputElement.parentElement]);
3101
+ }
3096
3102
  if (this.popupObj) {
3097
3103
  this.popupObj.enableRtl = this.enableRtl;
3098
3104
  this.popupObj.dataBind();
@@ -4197,6 +4203,7 @@ let DropDownList = class DropDownList extends DropDownBase {
4197
4203
  setTimeout(() => {
4198
4204
  proxy.cloneElements();
4199
4205
  proxy.isSecondClick = true;
4206
+ proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
4200
4207
  }, duration);
4201
4208
  }
4202
4209
  }
@@ -5028,6 +5035,7 @@ let DropDownList = class DropDownList extends DropDownBase {
5028
5035
  if (this.getInitialData) {
5029
5036
  this.updateActionCompleteDataValues(ulElement, list);
5030
5037
  this.getInitialData = false;
5038
+ this.isReactTemplateUpdate = true;
5031
5039
  this.searchLists(this.filterArgs);
5032
5040
  return;
5033
5041
  }
@@ -5455,6 +5463,9 @@ let DropDownList = class DropDownList extends DropDownBase {
5455
5463
  addClass([this.inputWrapper.container], [dropDownListClasses.iconAnimation]);
5456
5464
  }
5457
5465
  this.renderReactTemplates();
5466
+ if (this.isReact && this.isFiltering() && this.dataSource instanceof DataManager && this.list.querySelector('ul') && !this.isSecondClick) {
5467
+ this.executeCloneElements();
5468
+ }
5458
5469
  if (!isNullOrUndefined(this.popupObj)) {
5459
5470
  this.popupObj.show(new Animation(eventArgs.animation), (this.zIndex === 1000) ? this.element : null);
5460
5471
  }
@@ -5551,6 +5562,10 @@ let DropDownList = class DropDownList extends DropDownBase {
5551
5562
  this.destroyPopup();
5552
5563
  if (this.isFiltering() && this.actionCompleteData.list && this.actionCompleteData.list.length > 0) {
5553
5564
  this.isActive = true;
5565
+ if (this.isReactTemplateUpdate && this.isReact && this.itemTemplate && !this.enableVirtualization) {
5566
+ this.actionCompleteData.ulElement = this.renderItems(this.actionCompleteData.list, this.fields);
5567
+ this.isReactTemplateUpdate = false;
5568
+ }
5554
5569
  if (this.enableVirtualization) {
5555
5570
  this.onActionComplete(this.ulElement, this.listData, null, true);
5556
5571
  }
@@ -6008,6 +6023,9 @@ let DropDownList = class DropDownList extends DropDownBase {
6008
6023
  }
6009
6024
  updateInitialData() {
6010
6025
  const currentData = this.selectData;
6026
+ if (isNullOrUndefined(currentData)) {
6027
+ return;
6028
+ }
6011
6029
  const ulElement = this.renderItems(currentData, this.fields);
6012
6030
  this.list.scrollTop = 0;
6013
6031
  this.virtualListInfo = {
@@ -6040,7 +6058,7 @@ let DropDownList = class DropDownList extends DropDownBase {
6040
6058
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6041
6059
  this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
6042
6060
  }
6043
- else if (!this.list.querySelector('.e-virtual-ddl')) {
6061
+ else if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
6044
6062
  const virualElement = this.createElement('div', {
6045
6063
  id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
6046
6064
  });
@@ -6789,7 +6807,7 @@ let DropDownList = class DropDownList extends DropDownBase {
6789
6807
  if (this.isReact && this.isFiltering() && this.itemTemplate != null) {
6790
6808
  setTimeout(() => {
6791
6809
  proxy.cloneElements();
6792
- proxy.isSecondClick = true;
6810
+ proxy.isSecondClick = proxy.isReact && proxy.isFiltering() && proxy.dataSource instanceof DataManager && !proxy.list.querySelector('ul') ? false : true;
6793
6811
  }, duration);
6794
6812
  }
6795
6813
  }
@@ -6846,7 +6864,7 @@ let DropDownList = class DropDownList extends DropDownBase {
6846
6864
  if (isSelectVal && this.enableVirtualization && this.selectedLI.classList) {
6847
6865
  isSelectVal = this.selectedLI.classList.contains('e-active');
6848
6866
  }
6849
- if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
6867
+ if (this.inputElement && this.inputElement.value === '' && !this.isInteracted && (this.isSelectCustom ||
6850
6868
  isSelectVal && this.inputElement.value !== dataItem.text)) {
6851
6869
  this.isSelectCustom = false;
6852
6870
  this.clearAll(e);
@@ -7496,7 +7514,7 @@ let DropDownTree = class DropDownTree extends Component {
7496
7514
  if (firstUl && firstUl.getAttribute('aria-multiselectable')) {
7497
7515
  firstUl.removeAttribute('aria-multiselectable');
7498
7516
  }
7499
- this.oldValue = this.value;
7517
+ this.setOldValue();
7500
7518
  if (!this.isRemoteData) {
7501
7519
  this.isInitialized = true;
7502
7520
  }
@@ -7916,7 +7934,7 @@ let DropDownTree = class DropDownTree extends Component {
7916
7934
  this.triggerChangeEvent(event);
7917
7935
  }
7918
7936
  this.removeValue = false;
7919
- this.oldValue = this.value;
7937
+ this.setOldValue();
7920
7938
  this.trigger('blur');
7921
7939
  }
7922
7940
  updateView() {
@@ -7949,7 +7967,7 @@ let DropDownTree = class DropDownTree extends Component {
7949
7967
  element: this.element
7950
7968
  };
7951
7969
  this.trigger('change', eventArgs);
7952
- this.oldValue = this.value;
7970
+ this.setOldValue();
7953
7971
  }
7954
7972
  }
7955
7973
  ddtCompareValues(oldValue, newValue) {
@@ -8416,6 +8434,7 @@ let DropDownTree = class DropDownTree extends Component {
8416
8434
  frameSpan.classList.add(CHECK);
8417
8435
  ariaState = 'true';
8418
8436
  if (!this.isReverseUpdate) {
8437
+ this.setOldValue();
8419
8438
  this.isCheckAllCalled = true;
8420
8439
  this.treeObj.checkAll();
8421
8440
  if (!this.changeOnBlur) {
@@ -8578,7 +8597,7 @@ let DropDownTree = class DropDownTree extends Component {
8578
8597
  }
8579
8598
  }
8580
8599
  if (valArr.length !== 0) {
8581
- this.oldValue = this.value;
8600
+ this.setOldValue();
8582
8601
  this.setProperties({ value: valArr }, true);
8583
8602
  this.setValidValue();
8584
8603
  }
@@ -8589,7 +8608,7 @@ let DropDownTree = class DropDownTree extends Component {
8589
8608
  else {
8590
8609
  data = this.getItems(this.text);
8591
8610
  if (!isNullOrUndefined(data)) {
8592
- this.oldValue = this.value;
8611
+ this.setOldValue();
8593
8612
  this.setProperties({ value: [data[this.fields.value].toString()] }, true);
8594
8613
  this.setValidValue();
8595
8614
  }
@@ -8604,7 +8623,7 @@ let DropDownTree = class DropDownTree extends Component {
8604
8623
  return;
8605
8624
  }
8606
8625
  if (!this.isInitialized) {
8607
- this.oldValue = this.value;
8626
+ this.setOldValue();
8608
8627
  if (this.treeObj.selectedNodes.length > 0 && !this.showCheckBox) {
8609
8628
  this.setProperties({ value: this.treeObj.selectedNodes }, true);
8610
8629
  if (this.allowMultiSelection) {
@@ -9189,7 +9208,7 @@ let DropDownTree = class DropDownTree extends Component {
9189
9208
  }
9190
9209
  onBeforeSelect(args) {
9191
9210
  if (args.isInteracted) {
9192
- this.oldValue = this.value ? this.value.slice() : this.value;
9211
+ this.setOldValue();
9193
9212
  if (this.value === null) {
9194
9213
  this.setProperties({ value: [] }, true);
9195
9214
  }
@@ -9310,7 +9329,7 @@ let DropDownTree = class DropDownTree extends Component {
9310
9329
  }
9311
9330
  beforeCheck(args) {
9312
9331
  if (args.isInteracted) {
9313
- this.oldValue = this.value ? this.value.slice() : this.value;
9332
+ this.setOldValue();
9314
9333
  }
9315
9334
  }
9316
9335
  onNodeExpanded() {
@@ -9856,7 +9875,7 @@ let DropDownTree = class DropDownTree extends Component {
9856
9875
  }
9857
9876
  Input.setValue(null, this.inputEle, this.floatLabelType);
9858
9877
  if (!isDynamicChange) {
9859
- this.oldValue = this.value;
9878
+ this.setOldValue();
9860
9879
  this.setProperties({ value: [] }, true);
9861
9880
  this.showOrHideValueTemplate(false);
9862
9881
  }
@@ -9892,6 +9911,9 @@ let DropDownTree = class DropDownTree extends Component {
9892
9911
  this.setLocale(false);
9893
9912
  }
9894
9913
  }
9914
+ setOldValue() {
9915
+ this.oldValue = Array.isArray(this.value) ? this.value.slice() : this.value;
9916
+ }
9895
9917
  selectAllItems(state) {
9896
9918
  if (this.showCheckBox) {
9897
9919
  if (state) {
@@ -11297,7 +11319,7 @@ let ComboBox = class ComboBox extends DropDownList {
11297
11319
  this.onChangeEvent(e);
11298
11320
  }
11299
11321
  }
11300
- if (e.action === 'enter' && this.inputElement.value.trim() === '') {
11322
+ if (e.action === 'enter' && this.inputElement.value === '') {
11301
11323
  this.clearAll(e);
11302
11324
  }
11303
11325
  else if (this.isTyped && !this.isSelected && isNullOrUndefined(li)) {
@@ -11342,7 +11364,7 @@ let ComboBox = class ComboBox extends DropDownList {
11342
11364
  this.onChangeEvent(null);
11343
11365
  }
11344
11366
  }
11345
- else if (this.inputElement.value.trim() !== '') {
11367
+ else if (this.inputElement.value !== '') {
11346
11368
  const previousValue = this.value;
11347
11369
  if (isNullOrUndefined(value)) {
11348
11370
  const value = this.inputElement.value === '' ? null : this.inputElement.value;
@@ -12487,11 +12509,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12487
12509
  this.storedSelectAllHeight = 0;
12488
12510
  this.isUpdateHeaderHeight = false;
12489
12511
  this.isUpdateFooterHeight = false;
12512
+ this.isBlurDispatching = false;
12513
+ this.isFilterPrevented = false;
12490
12514
  this.isValidKey = false;
12491
12515
  this.selectAllEventData = [];
12492
12516
  this.selectAllEventEle = [];
12493
- this.resetMainList = null;
12494
- this.resetFilteredData = false;
12495
12517
  this.preventSetCurrentData = false;
12496
12518
  this.isSelectAllLoop = false;
12497
12519
  this.scrollFocusStatus = false;
@@ -12946,6 +12968,19 @@ let MultiSelect = class MultiSelect extends DropDownBase {
12946
12968
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12947
12969
  this.totalItemCount = e.count;
12948
12970
  }
12971
+ if (this.value && list && list.length > 0 && this.allowFiltering && this.mode !== 'CheckBox' && !this.enableVirtualization && !this.isFilterPrevented && !this.allowCustomValue) {
12972
+ const allItemsInValue = list.every((item) => {
12973
+ const itemValue = getValue((this.fields.value) ? this.fields.value : '', item);
12974
+ return this.value.some((val) => {
12975
+ const value = this.allowObjectBinding ? getValue((this.fields.value) ? this.fields.value : '', val) : val;
12976
+ return itemValue === value;
12977
+ });
12978
+ });
12979
+ if (allItemsInValue) {
12980
+ ulElement.innerHTML = '';
12981
+ list = [];
12982
+ }
12983
+ }
12949
12984
  /* eslint-enable @typescript-eslint/no-unused-vars */
12950
12985
  super.onActionComplete(ulElement, list, e);
12951
12986
  this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
@@ -13035,6 +13070,9 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13035
13070
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
13036
13071
  this.initialValueUpdate();
13037
13072
  }
13073
+ else {
13074
+ this.initialValueUpdate(this.listData, true);
13075
+ }
13038
13076
  this.initialUpdate();
13039
13077
  this.refreshPlaceHolder();
13040
13078
  if (this.mode !== 'CheckBox' && this.changeOnBlur) {
@@ -13594,6 +13632,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13594
13632
  }
13595
13633
  onBlurHandler(eve, isDocClickFromCheck) {
13596
13634
  let target;
13635
+ if (this.isBlurDispatching && this.isAngular) {
13636
+ this.isBlurDispatching = false;
13637
+ return;
13638
+ }
13597
13639
  if (!isNullOrUndefined(eve)) {
13598
13640
  target = eve.relatedTarget;
13599
13641
  }
@@ -13639,10 +13681,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13639
13681
  }
13640
13682
  }
13641
13683
  this.updateDataList();
13642
- if (this.resetMainList) {
13643
- this.mainList = this.resetMainList;
13644
- this.resetMainList = null;
13645
- }
13646
13684
  this.refreshListItems(null);
13647
13685
  if (this.mode !== 'Box' && this.mode !== 'CheckBox') {
13648
13686
  this.updateDelimView();
@@ -13676,6 +13714,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
13676
13714
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never')) {
13677
13715
  this.overAllWrapper.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
13678
13716
  }
13717
+ this.isBlurDispatching = true;
13718
+ if (this.isAngular) {
13719
+ this.dispatchEvent(this.inputElement, 'blur');
13720
+ }
13679
13721
  }
13680
13722
  calculateWidth() {
13681
13723
  let elementWidth;
@@ -15310,6 +15352,10 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15310
15352
  if (!this.list) {
15311
15353
  super.render();
15312
15354
  }
15355
+ if (this.popupObj && document.body.contains(this.popupObj.element) && this.allowFiltering) {
15356
+ this.refreshPopup();
15357
+ return;
15358
+ }
15313
15359
  if (!this.popupObj) {
15314
15360
  if (!isNullOrUndefined(this.popupWrapper)) {
15315
15361
  document.body.appendChild(this.popupWrapper);
@@ -15764,7 +15810,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15764
15810
  });
15765
15811
  }
15766
15812
  search(e) {
15767
- this.resetFilteredData = true;
15768
15813
  this.preventSetCurrentData = false;
15769
15814
  this.firstItem = this.dataSource && this.dataSource.length > 0 ? this.dataSource[0] : null;
15770
15815
  if (!isNullOrUndefined(e)) {
@@ -15801,6 +15846,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15801
15846
  cancel: false
15802
15847
  };
15803
15848
  this.trigger('filtering', eventArgs, (eventArgs) => {
15849
+ this.isFilterPrevented = eventArgs.cancel;
15804
15850
  if (!eventArgs.cancel) {
15805
15851
  if (!this.isFiltered && !eventArgs.preventDefaultAction) {
15806
15852
  this.filterAction = true;
@@ -15980,7 +16026,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15980
16026
  else {
15981
16027
  if (this.listData) {
15982
16028
  if (this.enableVirtualization) {
15983
- if (delim) {
16029
+ if (delim && !this.isDynamicRemoteVirtualData) {
15984
16030
  data = this.delimiterWrapper && this.delimiterWrapper.innerHTML === '' ? data :
15985
16031
  this.delimiterWrapper.innerHTML;
15986
16032
  }
@@ -15993,7 +16039,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
15993
16039
  }
15994
16040
  else {
15995
16041
  temp = isInitialVirtualData && delim ? this.text : this.getTextByValue(value);
15996
- const textValues = isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
16042
+ const textValues = this.isDynamicRemoteVirtualData && value != null && value !== '' ? this.getTextByValue(value) : isInitialVirtualData ? this.text : (this.text && this.text !== '' ? this.text + this.delimiterChar + temp : temp);
15997
16043
  data += temp + delimiterChar + ' ';
15998
16044
  text.push(textValues);
15999
16045
  hiddenElementContent = this.hiddenElement.innerHTML;
@@ -16153,7 +16199,7 @@ let MultiSelect = class MultiSelect extends DropDownBase {
16153
16199
  (this.mode === 'Box' || this.mode === 'Default'))) ||
16154
16200
  (this.enableVirtualization && value != null && text != null && !isCustomData)) {
16155
16201
  const currentText = [];
16156
- const textValues = this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
16202
+ const textValues = this.isDynamicRemoteVirtualData && text != null && text !== '' ? text : this.text != null && this.text !== '' ? this.text + this.delimiterChar + text : text;
16157
16203
  currentText.push(textValues);
16158
16204
  this.setProperties({ text: currentText.toString() }, true);
16159
16205
  this.addChip(text, value);
@@ -17461,11 +17507,6 @@ let MultiSelect = class MultiSelect extends DropDownBase {
17461
17507
  onPropertyChanged(newProp, oldProp) {
17462
17508
  if (newProp.dataSource && !isNullOrUndefined(Object.keys(newProp.dataSource))
17463
17509
  || newProp.query && !isNullOrUndefined(Object.keys(newProp.query))) {
17464
- if (this.resetFilteredData) {
17465
- // The filtered data is not being reset in the component after the user focuses out.
17466
- this.resetMainList = !this.resetMainList ? this.mainList : this.resetMainList;
17467
- this.resetFilteredData = false;
17468
- }
17469
17510
  this.mainList = null;
17470
17511
  this.mainData = null;
17471
17512
  this.isFirstClick = false;
@@ -17732,6 +17773,12 @@ let MultiSelect = class MultiSelect extends DropDownBase {
17732
17773
  if (!this.enableVirtualization || (this.enableVirtualization && (!(this.dataSource instanceof DataManager)))) {
17733
17774
  this.initialValueUpdate();
17734
17775
  }
17776
+ else if (!this.isInitRemoteVirtualData) {
17777
+ this.isDynamicRemoteVirtualData = true;
17778
+ this.initialValueUpdate(this.listData, true);
17779
+ this.isDynamicRemoteVirtualData = false;
17780
+ this.initialUpdate();
17781
+ }
17735
17782
  if (this.mode !== 'Box' && !this.inputFocus) {
17736
17783
  this.updateDelimView();
17737
17784
  }
@@ -18324,9 +18371,11 @@ let MultiSelect = class MultiSelect extends DropDownBase {
18324
18371
  if (e.result.length > 0) {
18325
18372
  listItems = e.result;
18326
18373
  this.initStatus = false;
18374
+ this.isInitRemoteVirtualData = true;
18327
18375
  setTimeout(() => {
18328
18376
  this.initialValueUpdate(listItems, true);
18329
18377
  this.initialUpdate();
18378
+ this.isInitRemoteVirtualData = false;
18330
18379
  }, 100);
18331
18380
  this.initStatus = true;
18332
18381
  }
@@ -21327,7 +21376,7 @@ let ListBox = ListBox_1 = class ListBox extends DropDownBase {
21327
21376
  }
21328
21377
  }
21329
21378
  KeyUp(e) {
21330
- if (this.allowFiltering && e.ctrlKey && e.keyCode === 65) {
21379
+ if (this.allowFiltering && ((e.ctrlKey && e.keyCode === 65) || (e.keyCode === 8 && !this.filterInput.value))) {
21331
21380
  e.preventDefault();
21332
21381
  return;
21333
21382
  }
@@ -22061,7 +22110,9 @@ let Mention = class Mention extends DropDownBase {
22061
22110
  ? document.querySelector(this.target)
22062
22111
  : this.target) : this.element;
22063
22112
  if (this.isContentEditable(this.inputElement)) {
22064
- this.inputElement.setAttribute('contenteditable', 'true');
22113
+ if (!this.inputElement.hasAttribute('contenteditable')) {
22114
+ this.inputElement.setAttribute('contenteditable', 'true');
22115
+ }
22065
22116
  addClass([this.inputElement], ['e-mention']);
22066
22117
  if (isNullOrUndefined(this.target)) {
22067
22118
  addClass([this.inputElement], ['e-editable-element']);