@syncfusion/ej2-dropdowns 30.1.42 → 30.2.5

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 (123) hide show
  1. package/aceconfig.js +17 -0
  2. package/dist/ej2-dropdowns.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js +2 -2
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +149 -8
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +150 -8
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/dist/global/ej2-dropdowns.min.js +2 -2
  10. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +8 -8
  13. package/src/common/virtual-scroll.js +3 -0
  14. package/src/drop-down-base/drop-down-base.d.ts +2 -0
  15. package/src/drop-down-base/drop-down-base.js +87 -1
  16. package/src/drop-down-list/drop-down-list.js +4 -1
  17. package/src/list-box/list-box.d.ts +1 -0
  18. package/src/list-box/list-box.js +21 -3
  19. package/src/multi-select/multi-select.js +35 -3
  20. package/styles/bds-lite.css +12 -0
  21. package/styles/bds.css +12 -0
  22. package/styles/bootstrap-dark-lite.css +12 -0
  23. package/styles/bootstrap-dark.css +12 -0
  24. package/styles/bootstrap-lite.css +12 -0
  25. package/styles/bootstrap.css +12 -0
  26. package/styles/bootstrap4-lite.css +12 -0
  27. package/styles/bootstrap4.css +12 -0
  28. package/styles/bootstrap5-dark-lite.css +12 -0
  29. package/styles/bootstrap5-dark.css +12 -0
  30. package/styles/bootstrap5-lite.css +12 -0
  31. package/styles/bootstrap5.3-lite.css +12 -0
  32. package/styles/bootstrap5.3.css +12 -0
  33. package/styles/bootstrap5.css +12 -0
  34. package/styles/drop-down-tree/_layout.scss +5 -0
  35. package/styles/drop-down-tree/bds.css +3 -0
  36. package/styles/drop-down-tree/bootstrap-dark.css +3 -0
  37. package/styles/drop-down-tree/bootstrap.css +3 -0
  38. package/styles/drop-down-tree/bootstrap4.css +3 -0
  39. package/styles/drop-down-tree/bootstrap5-dark.css +3 -0
  40. package/styles/drop-down-tree/bootstrap5.3.css +3 -0
  41. package/styles/drop-down-tree/bootstrap5.css +3 -0
  42. package/styles/drop-down-tree/fabric-dark.css +3 -0
  43. package/styles/drop-down-tree/fabric.css +3 -0
  44. package/styles/drop-down-tree/fluent-dark.css +3 -0
  45. package/styles/drop-down-tree/fluent.css +3 -0
  46. package/styles/drop-down-tree/fluent2.css +3 -0
  47. package/styles/drop-down-tree/highcontrast-light.css +3 -0
  48. package/styles/drop-down-tree/highcontrast.css +3 -0
  49. package/styles/drop-down-tree/material-dark.css +3 -0
  50. package/styles/drop-down-tree/material.css +3 -0
  51. package/styles/drop-down-tree/material3-dark.css +3 -0
  52. package/styles/drop-down-tree/material3.css +3 -0
  53. package/styles/drop-down-tree/tailwind-dark.css +3 -0
  54. package/styles/drop-down-tree/tailwind.css +3 -0
  55. package/styles/drop-down-tree/tailwind3.css +3 -0
  56. package/styles/fabric-dark-lite.css +12 -0
  57. package/styles/fabric-dark.css +12 -0
  58. package/styles/fabric-lite.css +12 -0
  59. package/styles/fabric.css +12 -0
  60. package/styles/fluent-dark-lite.css +12 -0
  61. package/styles/fluent-dark.css +12 -0
  62. package/styles/fluent-lite.css +12 -0
  63. package/styles/fluent.css +12 -0
  64. package/styles/fluent2-lite.css +12 -0
  65. package/styles/fluent2.css +12 -0
  66. package/styles/highcontrast-light-lite.css +12 -0
  67. package/styles/highcontrast-light.css +12 -0
  68. package/styles/highcontrast-lite.css +12 -0
  69. package/styles/highcontrast.css +12 -0
  70. package/styles/list-box/_bds-definition.scss +1 -0
  71. package/styles/list-box/_bootstrap-dark-definition.scss +1 -0
  72. package/styles/list-box/_bootstrap-definition.scss +1 -0
  73. package/styles/list-box/_bootstrap4-definition.scss +1 -0
  74. package/styles/list-box/_bootstrap5-definition.scss +1 -0
  75. package/styles/list-box/_bootstrap5.3-definition.scss +1 -0
  76. package/styles/list-box/_fabric-dark-definition.scss +1 -0
  77. package/styles/list-box/_fabric-definition.scss +1 -0
  78. package/styles/list-box/_fluent-definition.scss +1 -0
  79. package/styles/list-box/_fluent2-definition.scss +1 -0
  80. package/styles/list-box/_fusionnew-definition.scss +1 -0
  81. package/styles/list-box/_highcontrast-definition.scss +1 -0
  82. package/styles/list-box/_highcontrast-light-definition.scss +1 -0
  83. package/styles/list-box/_layout.scss +8 -0
  84. package/styles/list-box/_material-dark-definition.scss +1 -0
  85. package/styles/list-box/_material-definition.scss +1 -0
  86. package/styles/list-box/_material3-definition.scss +1 -0
  87. package/styles/list-box/_tailwind-definition.scss +1 -0
  88. package/styles/list-box/_tailwind3-definition.scss +1 -0
  89. package/styles/list-box/bds.css +9 -0
  90. package/styles/list-box/bootstrap-dark.css +9 -0
  91. package/styles/list-box/bootstrap.css +9 -0
  92. package/styles/list-box/bootstrap4.css +9 -0
  93. package/styles/list-box/bootstrap5-dark.css +9 -0
  94. package/styles/list-box/bootstrap5.3.css +9 -0
  95. package/styles/list-box/bootstrap5.css +9 -0
  96. package/styles/list-box/fabric-dark.css +9 -0
  97. package/styles/list-box/fabric.css +9 -0
  98. package/styles/list-box/fluent-dark.css +9 -0
  99. package/styles/list-box/fluent.css +9 -0
  100. package/styles/list-box/fluent2.css +9 -0
  101. package/styles/list-box/highcontrast-light.css +9 -0
  102. package/styles/list-box/highcontrast.css +9 -0
  103. package/styles/list-box/material-dark.css +9 -0
  104. package/styles/list-box/material.css +9 -0
  105. package/styles/list-box/material3-dark.css +9 -0
  106. package/styles/list-box/material3.css +9 -0
  107. package/styles/list-box/tailwind-dark.css +9 -0
  108. package/styles/list-box/tailwind.css +9 -0
  109. package/styles/list-box/tailwind3.css +9 -0
  110. package/styles/material-dark-lite.css +12 -0
  111. package/styles/material-dark.css +12 -0
  112. package/styles/material-lite.css +12 -0
  113. package/styles/material.css +12 -0
  114. package/styles/material3-dark-lite.css +12 -0
  115. package/styles/material3-dark.css +12 -0
  116. package/styles/material3-lite.css +12 -0
  117. package/styles/material3.css +12 -0
  118. package/styles/tailwind-dark-lite.css +12 -0
  119. package/styles/tailwind-dark.css +12 -0
  120. package/styles/tailwind-lite.css +12 -0
  121. package/styles/tailwind.css +12 -0
  122. package/styles/tailwind3-lite.css +12 -0
  123. package/styles/tailwind3.css +12 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 30.1.42
3
+ * version : 30.2.5
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-dropdowns",
3
- "version": "30.1.42",
3
+ "version": "30.2.5",
4
4
  "description": "Essential JS 2 DropDown Components",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -8,13 +8,13 @@
8
8
  "module": "./index.js",
9
9
  "es2015": "./dist/es6/ej2-dropdowns.es5.js",
10
10
  "dependencies": {
11
- "@syncfusion/ej2-base": "~30.1.42",
12
- "@syncfusion/ej2-data": "~30.1.40",
13
- "@syncfusion/ej2-inputs": "~30.1.40",
14
- "@syncfusion/ej2-lists": "~30.1.42",
15
- "@syncfusion/ej2-navigations": "~30.1.42",
16
- "@syncfusion/ej2-notifications": "~30.1.37",
17
- "@syncfusion/ej2-popups": "~30.1.42"
11
+ "@syncfusion/ej2-base": "~30.2.4",
12
+ "@syncfusion/ej2-data": "~30.2.4",
13
+ "@syncfusion/ej2-inputs": "~30.2.4",
14
+ "@syncfusion/ej2-lists": "~30.2.4",
15
+ "@syncfusion/ej2-navigations": "~30.2.5",
16
+ "@syncfusion/ej2-notifications": "~30.2.4",
17
+ "@syncfusion/ej2-popups": "~30.2.4"
18
18
  },
19
19
  "devDependencies": {},
20
20
  "keywords": [
@@ -219,6 +219,9 @@ var VirtualScroll = /** @class */ (function () {
219
219
  isListUpdated = false;
220
220
  }
221
221
  else if (this.parent.viewPortInfo.startIndex !== 0) {
222
+ if (this.parent.dataSource instanceof DataManager) {
223
+ this.parent.setCurrentView = false;
224
+ }
222
225
  this.parent.updateVirtualReOrderList(true);
223
226
  var oldUlElement = this.parent.list.querySelector('.e-list-parent' + ':not(.e-reorder)');
224
227
  if (oldUlElement) {
@@ -200,6 +200,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
200
200
  protected isFilterAction: boolean;
201
201
  private isUpdateGroupTemplate;
202
202
  private groupHeaderItems;
203
+ protected isCustomReset: boolean;
203
204
  private fiteredGroupHeaderItems;
204
205
  protected keyboardModule: KeyboardEvents;
205
206
  protected enableRtlElements: HTMLElement[];
@@ -583,6 +584,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
583
584
  */
584
585
  private setListData;
585
586
  private updateGroupHeaderItems;
587
+ private setCustomListData;
586
588
  protected handleVirtualKeyboardActions(e: KeyboardEventArgs, pageCount: number): void;
587
589
  protected updatePopupState(): void;
588
590
  protected updatePopupPosition(): void;
@@ -945,6 +945,87 @@ var DropDownBase = /** @class */ (function (_super) {
945
945
  this.fiteredGroupHeaderItems = clonedHeaders;
946
946
  }
947
947
  };
948
+ DropDownBase.prototype.setCustomListData = function (dataSource, fields, query, event) {
949
+ var _this = this;
950
+ fields = fields ? fields : this.fields;
951
+ var ulElement;
952
+ this.isActive = true;
953
+ this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
954
+ if (!this.isRequesting) {
955
+ this.isRequesting = true;
956
+ this.showSpinner();
957
+ this.isRequesting = false;
958
+ var isReOrder = true;
959
+ var listItems = void 0;
960
+ if (this.isVirtualizationEnabled && !this.virtualGroupDataSource && this.fields.groupBy) {
961
+ var data = new DataManager(this.dataSource).executeLocal(new Query().group(this.fields.groupBy));
962
+ this.virtualGroupDataSource = data.records;
963
+ }
964
+ var dataManager = this.isVirtualizationEnabled &&
965
+ this.virtualGroupDataSource
966
+ && !this.isCustomDataUpdated ? new DataManager(this.virtualGroupDataSource) :
967
+ new DataManager(dataSource);
968
+ listItems = (this.getQuery(query)).executeLocal(dataManager);
969
+ if (!this.virtualSelectAll) {
970
+ var newQuery = this.getQuery(query);
971
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
972
+ if (this.isVirtualizationEnabled && (listItems.count !== 0 &&
973
+ listItems.count < (this.itemCount * 2)) && !this.appendUncheckList) {
974
+ if (newQuery) {
975
+ for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
976
+ if (newQuery.queries[queryElements].fn === 'onTake') {
977
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
978
+ newQuery.queries[queryElements].e.nos = listItems.count;
979
+ listItems = (newQuery).executeLocal(dataManager);
980
+ }
981
+ if (this.getModuleName() === 'multiselect' && (newQuery.queries[queryElements].e.condition === 'or' || newQuery.queries[queryElements].e.operator === 'equal') && !this.isCustomFiltering) {
982
+ isReOrder = false;
983
+ }
984
+ }
985
+ if (isReOrder) {
986
+ listItems = (newQuery).executeLocal(dataManager);
987
+ this.isVirtualTrackHeight = (!(this.dataSource instanceof DataManager) &&
988
+ !this.isCustomDataUpdated) ? true : false;
989
+ }
990
+ }
991
+ }
992
+ else {
993
+ this.isVirtualTrackHeight = false;
994
+ if (newQuery) {
995
+ for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
996
+ if (this.getModuleName() === 'multiselect' && ((newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.condition === 'or') || (newQuery.queries[queryElements].e && newQuery.queries[queryElements].e.operator === 'equal'))) {
997
+ isReOrder = false;
998
+ }
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+ if (isReOrder && (!(this.dataSource instanceof DataManager) && !this.isCustomDataUpdated) &&
1004
+ !this.virtualSelectAll) {
1005
+ // eslint-disable @typescript-eslint/no-explicit-any
1006
+ this.dataCount = this.totalItemCount = this.virtualSelectAll ? listItems.length :
1007
+ listItems.count;
1008
+ }
1009
+ listItems = this.isVirtualizationEnabled ? listItems.result : listItems;
1010
+ this.isPreventChange = this.isAngular && this.preventChange ? true : this.isPreventChange;
1011
+ this.isCustomFiltering = false;
1012
+ if (this.isIncrementalRequest) {
1013
+ ulElement = this.renderItems(listItems, fields);
1014
+ return;
1015
+ }
1016
+ ulElement = this.renderItems(listItems, fields);
1017
+ this.onActionComplete(ulElement, listItems, event);
1018
+ if (this.groupTemplate) {
1019
+ this.renderGroupTemplate(ulElement);
1020
+ }
1021
+ this.bindChildItems(listItems, ulElement, fields);
1022
+ setTimeout(function () {
1023
+ if (_this.getModuleName() === 'multiselect' && _this.itemTemplate != null && (ulElement.childElementCount > 0 && (ulElement.children[0].childElementCount > 0 || (_this.fields.groupBy && ulElement.children[1] && ulElement.children[1].childElementCount > 0)))) {
1024
+ _this.updateDataList();
1025
+ }
1026
+ });
1027
+ }
1028
+ };
948
1029
  DropDownBase.prototype.handleVirtualKeyboardActions = function (e, pageCount) {
949
1030
  // Used this method in component side.
950
1031
  };
@@ -1674,7 +1755,12 @@ var DropDownBase = /** @class */ (function (_super) {
1674
1755
  }
1675
1756
  dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length && this.addedNewItem ? this.selectData : dataSource;
1676
1757
  this.addedNewItem = false;
1677
- this.setListData(dataSource, fields, query, e);
1758
+ if (this.isCustomReset && this.getModuleName() === 'multiselect') {
1759
+ this.setCustomListData(dataSource, fields, query, e);
1760
+ }
1761
+ else {
1762
+ this.setListData(dataSource, fields, query, e);
1763
+ }
1678
1764
  }
1679
1765
  };
1680
1766
  DropDownBase.prototype.updateSelectElementData = function (isFiltering) {
@@ -1584,6 +1584,9 @@ var DropDownList = /** @class */ (function (_super) {
1584
1584
  }
1585
1585
  if (!isNullOrUndefined(dataItem.value) && !this.enableVirtualization && this.allowFiltering) {
1586
1586
  this.activeIndex = this.getIndexByValueFilter(dataItem.value, this.actionCompleteData.ulElement);
1587
+ if (isNullOrUndefined(this.activeIndex)) {
1588
+ this.activeIndex = this.getIndexByValue(dataItem.value);
1589
+ }
1587
1590
  }
1588
1591
  var clearIcon = dropDownListClasses.clearIcon;
1589
1592
  var isFilterElement = this.isFiltering() && this.filterInput && (this.getModuleName() === 'combobox');
@@ -2605,7 +2608,7 @@ var DropDownList = /** @class */ (function (_super) {
2605
2608
  popupEle.setAttribute('aria-label', _this.element.id);
2606
2609
  popupEle.setAttribute('role', 'dialog');
2607
2610
  var searchBox = _this.setSearchBox(popupEle);
2608
- _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice ?
2611
+ _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice && _this.isDeviceFullScreen ?
2609
2612
  formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(_this.popupHeight);
2610
2613
  if (_this.headerTemplate) {
2611
2614
  _this.setHeaderTemplate(popupEle);
@@ -137,6 +137,7 @@ export declare class ListBox extends DropDownBase {
137
137
  private customDraggedItem;
138
138
  private timer;
139
139
  private inputFormName;
140
+ private selectedListItemCount;
140
141
  /**
141
142
  * Sets the CSS classes to root element of this component, which helps to customize the
142
143
  * complete styles.
@@ -194,6 +194,22 @@ var ListBox = /** @class */ (function (_super) {
194
194
  this.unSelectAllText = l10nSelect.getConstant('unSelectAllText');
195
195
  this.popupWrapper = this.list;
196
196
  this.checkBoxSelectionModule.checkAllParent = null;
197
+ if (this.filterParent) {
198
+ var parentNode = this.filterParent.parentNode;
199
+ if (parentNode) {
200
+ var firstChild = this.filterParent.querySelector('input.e-input-filter');
201
+ if (!firstChild.classList.contains('e-input-focus') && !firstChild.classList.contains('e-valid-input')
202
+ && this.selectedListItemCount === 0) {
203
+ this.filterParent = null;
204
+ }
205
+ if (this.selectedListItemCount > 0 && this.showSelectAll) {
206
+ this.filterParent = null;
207
+ }
208
+ }
209
+ else {
210
+ this.filterParent = null;
211
+ }
212
+ }
197
213
  this.notify('selectAll', {});
198
214
  }
199
215
  };
@@ -303,7 +319,7 @@ var ListBox = /** @class */ (function (_super) {
303
319
  ListBox.prototype.setHeight = function () {
304
320
  var ele = this.toolbarSettings.items.length ? this.list.parentElement : this.list;
305
321
  ele.style.height = formatUnit(this.height);
306
- if (this.allowFiltering && this.height.toString().indexOf('%') < 0) {
322
+ if (this.allowFiltering && this.height.toString().indexOf('%') > 0) {
307
323
  addClass([this.list], 'e-filter-list');
308
324
  }
309
325
  else {
@@ -392,6 +408,7 @@ var ListBox = /** @class */ (function (_super) {
392
408
  }
393
409
  }
394
410
  _super.prototype.onActionComplete.call(this, ulElement, list, e);
411
+ this.initWrapper();
395
412
  if (this.allowFiltering && !isNullOrUndefined(searchEle)) {
396
413
  this.list.insertBefore(searchEle, this.list.firstElementChild);
397
414
  this.filterParent = this.list.getElementsByClassName('e-filter-parent')[0];
@@ -410,7 +427,6 @@ var ListBox = /** @class */ (function (_super) {
410
427
  });
411
428
  }
412
429
  }
413
- this.initWrapper();
414
430
  this.setSelection(this.value, true, false, !this.isRendered);
415
431
  this.initDraggable();
416
432
  this.mainList = this.ulElement;
@@ -1231,6 +1247,7 @@ var ListBox = /** @class */ (function (_super) {
1231
1247
  }
1232
1248
  }
1233
1249
  var len = this.getSelectedItems().length;
1250
+ this.selectedListItemCount = len;
1234
1251
  if (this.showSelectAll && searchCount) {
1235
1252
  this.notify('checkSelectAll', { module: 'CheckBoxSelection',
1236
1253
  value: (searchCount === len) ? 'check' : (len === 0) ? 'uncheck' : 'indeterminate' });
@@ -2049,7 +2066,8 @@ var ListBox = /** @class */ (function (_super) {
2049
2066
  e.preventDefault();
2050
2067
  return;
2051
2068
  }
2052
- var char = String.fromCharCode(e.keyCode);
2069
+ var char = e.code && e.keyCode >= 96 && e.keyCode <= 105 ?
2070
+ String.fromCharCode(e.keyCode - 48) : String.fromCharCode(e.keyCode);
2053
2071
  var isWordCharacter = char.match(/\w/);
2054
2072
  var isWordAccentCharacter = char.match(/[A-Za-z0-9\u00C0-\u024F ]/);
2055
2073
  if (!isNullOrUndefined(isWordCharacter) || !isNullOrUndefined(isWordAccentCharacter)) {
@@ -617,7 +617,7 @@ var MultiSelect = /** @class */ (function (_super) {
617
617
  }
618
618
  var isContainsValue = valuecheck.some(function (item) { return item !== null; });
619
619
  if (valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
620
- && this.listData != null && isContainsValue) {
620
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate)) && isContainsValue) {
621
621
  this.isaddNonPresentItems = true;
622
622
  this.addNonPresentItems(valuecheck, this.ulElement, this.listData);
623
623
  this.isaddNonPresentItems = false;
@@ -1115,6 +1115,7 @@ var MultiSelect = /** @class */ (function (_super) {
1115
1115
  MultiSelect.prototype.checkForCustomValue = function (query, fields) {
1116
1116
  var dataChecks = !this.getValueByText(this.inputElement.value, this.ignoreCase);
1117
1117
  var field = fields ? fields : this.fields;
1118
+ this.isCustomReset = true;
1118
1119
  if (this.allowCustomValue && dataChecks) {
1119
1120
  var value = this.inputElement.value;
1120
1121
  var customData = (!isNullOrUndefined(this.mainData) && this.mainData.length > 0) ?
@@ -1168,6 +1169,7 @@ var MultiSelect = /** @class */ (function (_super) {
1168
1169
  var tempData = JSON.parse(JSON.stringify(this.listData));
1169
1170
  tempData.splice(0, 0, dataItem_1);
1170
1171
  this.resetList(tempData, field, query);
1172
+ this.focusAtLastListItem(value);
1171
1173
  }
1172
1174
  }
1173
1175
  else if (this.listData) {
@@ -1196,6 +1198,7 @@ var MultiSelect = /** @class */ (function (_super) {
1196
1198
  }
1197
1199
  }
1198
1200
  }
1201
+ this.isCustomReset = false;
1199
1202
  if (this.value && this.value.length) {
1200
1203
  this.refreshSelection();
1201
1204
  }
@@ -2469,11 +2472,20 @@ var MultiSelect = /** @class */ (function (_super) {
2469
2472
  };
2470
2473
  MultiSelect.prototype.removeChipSelection = function () {
2471
2474
  if (this.chipCollectionWrapper) {
2475
+ var selectedChips = this.chipCollectionWrapper.querySelectorAll('span.' + CHIP + '.' + CHIP_SELECTED);
2476
+ if (selectedChips && selectedChips.length > 0) {
2477
+ for (var i = 0; i < selectedChips.length; i++) {
2478
+ selectedChips[i].removeAttribute('aria-live');
2479
+ }
2480
+ }
2472
2481
  this.removeChipFocus();
2473
2482
  }
2474
2483
  };
2475
2484
  MultiSelect.prototype.addChipSelection = function (element, e) {
2476
2485
  addClass([element], CHIP_SELECTED);
2486
+ if (element) {
2487
+ element.setAttribute('aria-live', 'polite');
2488
+ }
2477
2489
  this.trigger('chipSelection', e);
2478
2490
  };
2479
2491
  MultiSelect.prototype.getVirtualDataByValue = function (value) {
@@ -2674,6 +2686,9 @@ var MultiSelect = /** @class */ (function (_super) {
2674
2686
  var collection = _this.list.querySelectorAll('li.'
2675
2687
  + dropDownBaseClasses.li + ':not(.e-active)');
2676
2688
  removeClass(collection, 'e-disable');
2689
+ var mainListCollection = _this.mainList.querySelectorAll('li.'
2690
+ + dropDownBaseClasses.li + ':not(.e-active)');
2691
+ removeClass(mainListCollection, 'e-disable');
2677
2692
  }
2678
2693
  _this.trigger('removed', eventArgs);
2679
2694
  var targetEle_1 = eve && eve.currentTarget;
@@ -2975,7 +2990,7 @@ var MultiSelect = /** @class */ (function (_super) {
2975
2990
  var itemData = { text: value, value: value };
2976
2991
  var chip = this.createElement('span', {
2977
2992
  className: CHIP,
2978
- attrs: { 'data-value': value, 'title': data }
2993
+ attrs: { 'data-value': value, 'title': data, 'role': 'option', 'aria-selected': 'true' }
2979
2994
  });
2980
2995
  var compiledString;
2981
2996
  var chipContent = this.createElement('span', { className: CHIP_CONTENT });
@@ -5545,7 +5560,8 @@ var MultiSelect = /** @class */ (function (_super) {
5545
5560
  }
5546
5561
  var isContainsValue = valuecheck.some(function (item) { return item !== null; });
5547
5562
  if (prop === 'value' && valuecheck.length > 0 && this.dataSource instanceof DataManager && !isNullOrUndefined(this.value)
5548
- && this.listData != null && isContainsValue) {
5563
+ && this.listData != null && (!this.enableVirtualization || (this.enableVirtualization && this.valueTemplate))
5564
+ && isContainsValue) {
5549
5565
  this.mainData = null;
5550
5566
  this.setDynValue = true;
5551
5567
  this.isaddNonPresentItems = true;
@@ -5861,6 +5877,22 @@ var MultiSelect = /** @class */ (function (_super) {
5861
5877
  else {
5862
5878
  this.setProperties({ value: null }, true);
5863
5879
  }
5880
+ this.checkAndResetCache();
5881
+ if (this.enableVirtualization) {
5882
+ this.updateInitialData();
5883
+ if (this.chipCollectionWrapper) {
5884
+ this.chipCollectionWrapper.innerHTML = '';
5885
+ }
5886
+ if (!this.isCustomDataUpdated) {
5887
+ this.notify('setGeneratedData', {
5888
+ module: 'VirtualScroll'
5889
+ });
5890
+ }
5891
+ this.list.scrollTop = 0;
5892
+ this.virtualListInfo = null;
5893
+ this.previousStartIndex = 0;
5894
+ this.previousEndIndex = this.itemCount;
5895
+ }
5864
5896
  };
5865
5897
  /**
5866
5898
  * To Initialize the control rendering
@@ -1169,6 +1169,9 @@ ejs-dropdownlist {
1169
1169
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1170
1170
  margin: 0 7px;
1171
1171
  }
1172
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1173
+ top: 15px;
1174
+ }
1172
1175
 
1173
1176
  .e-ddt-icon-hide {
1174
1177
  display: none;
@@ -2716,6 +2719,15 @@ ejs-listbox {
2716
2719
  padding: 12px 12px;
2717
2720
  position: relative;
2718
2721
  }
2722
+ .e-listbox-wrapper .e-list-icon,
2723
+ .e-listbox-container .e-list-icon,
2724
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2725
+ display: inline-block;
2726
+ vertical-align: middle;
2727
+ width: auto;
2728
+ height: auto;
2729
+ padding-bottom: 1px;
2730
+ }
2719
2731
 
2720
2732
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2721
2733
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
package/styles/bds.css CHANGED
@@ -1402,6 +1402,9 @@ ejs-dropdownlist {
1402
1402
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1403
1403
  margin: 0 7px;
1404
1404
  }
1405
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1406
+ top: 15px;
1407
+ }
1405
1408
 
1406
1409
  .e-ddt-icon-hide {
1407
1410
  display: none;
@@ -3429,6 +3432,15 @@ ejs-listbox {
3429
3432
  padding: 12px 12px;
3430
3433
  position: relative;
3431
3434
  }
3435
+ .e-listbox-wrapper .e-list-icon,
3436
+ .e-listbox-container .e-list-icon,
3437
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
3438
+ display: inline-block;
3439
+ vertical-align: middle;
3440
+ width: auto;
3441
+ height: auto;
3442
+ padding-bottom: 1px;
3443
+ }
3432
3444
 
3433
3445
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
3434
3446
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -970,6 +970,9 @@ ejs-dropdownlist {
970
970
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
971
971
  margin: 0 10px;
972
972
  }
973
+ .e-ddt.e-float-input .e-float-text.e-label-top {
974
+ top: 15px;
975
+ }
973
976
 
974
977
  .e-ddt-icon-hide {
975
978
  display: none;
@@ -2504,6 +2507,15 @@ ejs-listbox {
2504
2507
  padding: 13px 16px;
2505
2508
  position: relative;
2506
2509
  }
2510
+ .e-listbox-wrapper .e-list-icon,
2511
+ .e-listbox-container .e-list-icon,
2512
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2513
+ display: inline-block;
2514
+ vertical-align: middle;
2515
+ width: auto;
2516
+ height: auto;
2517
+ padding-bottom: 0;
2518
+ }
2507
2519
 
2508
2520
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2509
2521
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1147,6 +1147,9 @@ ejs-dropdownlist {
1147
1147
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1148
1148
  margin: 0 10px;
1149
1149
  }
1150
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1151
+ top: 15px;
1152
+ }
1150
1153
 
1151
1154
  .e-ddt-icon-hide {
1152
1155
  display: none;
@@ -3077,6 +3080,15 @@ ejs-listbox {
3077
3080
  padding: 13px 16px;
3078
3081
  position: relative;
3079
3082
  }
3083
+ .e-listbox-wrapper .e-list-icon,
3084
+ .e-listbox-container .e-list-icon,
3085
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
3086
+ display: inline-block;
3087
+ vertical-align: middle;
3088
+ width: auto;
3089
+ height: auto;
3090
+ padding-bottom: 0;
3091
+ }
3080
3092
 
3081
3093
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
3082
3094
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -973,6 +973,9 @@ ejs-dropdownlist {
973
973
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
974
974
  margin: 0 10px;
975
975
  }
976
+ .e-ddt.e-float-input .e-float-text.e-label-top {
977
+ top: 15px;
978
+ }
976
979
 
977
980
  .e-ddt-icon-hide {
978
981
  display: none;
@@ -2500,6 +2503,15 @@ ejs-listbox {
2500
2503
  padding: 13px 16px;
2501
2504
  position: relative;
2502
2505
  }
2506
+ .e-listbox-wrapper .e-list-icon,
2507
+ .e-listbox-container .e-list-icon,
2508
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2509
+ display: inline-block;
2510
+ vertical-align: middle;
2511
+ width: auto;
2512
+ height: auto;
2513
+ padding-bottom: 0;
2514
+ }
2503
2515
 
2504
2516
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2505
2517
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1150,6 +1150,9 @@ ejs-dropdownlist {
1150
1150
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1151
1151
  margin: 0 10px;
1152
1152
  }
1153
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1154
+ top: 15px;
1155
+ }
1153
1156
 
1154
1157
  .e-ddt-icon-hide {
1155
1158
  display: none;
@@ -3073,6 +3076,15 @@ ejs-listbox {
3073
3076
  padding: 13px 16px;
3074
3077
  position: relative;
3075
3078
  }
3079
+ .e-listbox-wrapper .e-list-icon,
3080
+ .e-listbox-container .e-list-icon,
3081
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
3082
+ display: inline-block;
3083
+ vertical-align: middle;
3084
+ width: auto;
3085
+ height: auto;
3086
+ padding-bottom: 0;
3087
+ }
3076
3088
 
3077
3089
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
3078
3090
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1006,6 +1006,9 @@ ejs-dropdownlist {
1006
1006
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1007
1007
  margin: 0 8px;
1008
1008
  }
1009
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1010
+ top: 15px;
1011
+ }
1009
1012
 
1010
1013
  .e-ddt-icon-hide {
1011
1014
  display: none;
@@ -2605,6 +2608,15 @@ ejs-listbox {
2605
2608
  padding: 10px 16px 10px 16px;
2606
2609
  position: relative;
2607
2610
  }
2611
+ .e-listbox-wrapper .e-list-icon,
2612
+ .e-listbox-container .e-list-icon,
2613
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2614
+ display: inline-block;
2615
+ vertical-align: middle;
2616
+ width: auto;
2617
+ height: auto;
2618
+ padding-bottom: 1px;
2619
+ }
2608
2620
 
2609
2621
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2610
2622
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1201,6 +1201,9 @@ ejs-dropdownlist {
1201
1201
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1202
1202
  margin: 0 8px;
1203
1203
  }
1204
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1205
+ top: 15px;
1206
+ }
1204
1207
 
1205
1208
  .e-ddt-icon-hide {
1206
1209
  display: none;
@@ -3303,6 +3306,15 @@ ejs-listbox {
3303
3306
  padding: 10px 16px 10px 16px;
3304
3307
  position: relative;
3305
3308
  }
3309
+ .e-listbox-wrapper .e-list-icon,
3310
+ .e-listbox-container .e-list-icon,
3311
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
3312
+ display: inline-block;
3313
+ vertical-align: middle;
3314
+ width: auto;
3315
+ height: auto;
3316
+ padding-bottom: 1px;
3317
+ }
3306
3318
 
3307
3319
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
3308
3320
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1025,6 +1025,9 @@ ejs-dropdownlist {
1025
1025
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1026
1026
  margin: 0 8px;
1027
1027
  }
1028
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1029
+ top: 15px;
1030
+ }
1028
1031
 
1029
1032
  .e-ddt-icon-hide {
1030
1033
  display: none;
@@ -2582,6 +2585,15 @@ ejs-listbox {
2582
2585
  padding: 10px 12px;
2583
2586
  position: relative;
2584
2587
  }
2588
+ .e-listbox-wrapper .e-list-icon,
2589
+ .e-listbox-container .e-list-icon,
2590
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2591
+ display: inline-block;
2592
+ vertical-align: middle;
2593
+ width: auto;
2594
+ height: auto;
2595
+ padding-bottom: 2px;
2596
+ }
2585
2597
 
2586
2598
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2587
2599
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1212,6 +1212,9 @@ ejs-dropdownlist {
1212
1212
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1213
1213
  margin: 0 8px;
1214
1214
  }
1215
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1216
+ top: 15px;
1217
+ }
1215
1218
 
1216
1219
  .e-ddt-icon-hide {
1217
1220
  display: none;
@@ -3244,6 +3247,15 @@ ejs-listbox {
3244
3247
  padding: 10px 12px;
3245
3248
  position: relative;
3246
3249
  }
3250
+ .e-listbox-wrapper .e-list-icon,
3251
+ .e-listbox-container .e-list-icon,
3252
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
3253
+ display: inline-block;
3254
+ vertical-align: middle;
3255
+ width: auto;
3256
+ height: auto;
3257
+ padding-bottom: 2px;
3258
+ }
3247
3259
 
3248
3260
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
3249
3261
  .e-small .e-listbox-container.e-filter-list .e-list-parent {
@@ -1025,6 +1025,9 @@ ejs-dropdownlist {
1025
1025
  .e-ddt.e-rtl.e-popup .e-selectall-parent .e-all-text {
1026
1026
  margin: 0 8px;
1027
1027
  }
1028
+ .e-ddt.e-float-input .e-float-text.e-label-top {
1029
+ top: 15px;
1030
+ }
1028
1031
 
1029
1032
  .e-ddt-icon-hide {
1030
1033
  display: none;
@@ -2582,6 +2585,15 @@ ejs-listbox {
2582
2585
  padding: 10px 12px;
2583
2586
  position: relative;
2584
2587
  }
2588
+ .e-listbox-wrapper .e-list-icon,
2589
+ .e-listbox-container .e-list-icon,
2590
+ .e-listboxtool-wrapper .e-listbox-wrapper .e-list-icon {
2591
+ display: inline-block;
2592
+ vertical-align: middle;
2593
+ width: auto;
2594
+ height: auto;
2595
+ padding-bottom: 2px;
2596
+ }
2585
2597
 
2586
2598
  .e-small .e-listbox-wrapper.e-filter-list .e-list-parent,
2587
2599
  .e-small .e-listbox-container.e-filter-list .e-list-parent {