@syncfusion/ej2-dropdowns 32.2.8 → 33.1.44

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 (216) 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 +490 -139
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +467 -114
  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 +3 -0
  13. package/src/common/virtual-scroll.d.ts +1 -0
  14. package/src/common/virtual-scroll.js +17 -1
  15. package/src/drop-down-base/drop-down-base.d.ts +2 -0
  16. package/src/drop-down-base/drop-down-base.js +42 -0
  17. package/src/drop-down-list/drop-down-list.d.ts +1 -0
  18. package/src/drop-down-list/drop-down-list.js +143 -30
  19. package/src/drop-down-tree/drop-down-tree-model.d.ts +1 -1
  20. package/src/drop-down-tree/drop-down-tree.d.ts +1 -1
  21. package/src/mention/mention.js +8 -4
  22. package/src/multi-select/multi-select.d.ts +2 -0
  23. package/src/multi-select/multi-select.js +254 -79
  24. package/styles/bds-lite.css +17 -9
  25. package/styles/bds.css +29 -15
  26. package/styles/bootstrap-dark-lite.css +17 -9
  27. package/styles/bootstrap-dark.css +27 -14
  28. package/styles/bootstrap-lite.css +17 -9
  29. package/styles/bootstrap.css +27 -14
  30. package/styles/bootstrap4-lite.css +17 -9
  31. package/styles/bootstrap4.css +27 -14
  32. package/styles/bootstrap5-dark-lite.css +17 -9
  33. package/styles/bootstrap5-dark.css +27 -14
  34. package/styles/bootstrap5-lite.css +17 -9
  35. package/styles/bootstrap5.3-lite.css +19 -9
  36. package/styles/bootstrap5.3.css +29 -14
  37. package/styles/bootstrap5.css +27 -14
  38. package/styles/drop-down-base/_bds-definition.scss +2 -2
  39. package/styles/drop-down-base/_bigger.scss +3 -3
  40. package/styles/drop-down-base/_bootstrap-dark-definition.scss +3 -3
  41. package/styles/drop-down-base/_bootstrap-definition.scss +3 -3
  42. package/styles/drop-down-base/_bootstrap4-definition.scss +3 -3
  43. package/styles/drop-down-base/_bootstrap5-dark-definition.scss +3 -3
  44. package/styles/drop-down-base/_bootstrap5-definition.scss +3 -3
  45. package/styles/drop-down-base/_bootstrap5.3-definition.scss +6 -3
  46. package/styles/drop-down-base/_fabric-dark-definition.scss +3 -3
  47. package/styles/drop-down-base/_fabric-definition.scss +3 -3
  48. package/styles/drop-down-base/_fluent-dark-definition.scss +3 -3
  49. package/styles/drop-down-base/_fluent-definition.scss +3 -3
  50. package/styles/drop-down-base/_fluent2-definition.scss +8 -5
  51. package/styles/drop-down-base/_fusionnew-definition.scss +2 -2
  52. package/styles/drop-down-base/_highcontrast-definition.scss +3 -3
  53. package/styles/drop-down-base/_highcontrast-light-definition.scss +3 -3
  54. package/styles/drop-down-base/_layout.scss +12 -1
  55. package/styles/drop-down-base/_material-dark-definition.scss +2 -2
  56. package/styles/drop-down-base/_material-definition.scss +2 -2
  57. package/styles/drop-down-base/_material3-dark-definition.scss +6 -4
  58. package/styles/drop-down-base/_material3-definition.scss +6 -4
  59. package/styles/drop-down-base/_tailwind-dark-definition.scss +4 -4
  60. package/styles/drop-down-base/_tailwind-definition.scss +4 -4
  61. package/styles/drop-down-base/_tailwind3-definition.scss +5 -2
  62. package/styles/drop-down-base/_theme.scss +6 -0
  63. package/styles/drop-down-base/bds.css +21 -11
  64. package/styles/drop-down-base/bootstrap-dark.css +19 -10
  65. package/styles/drop-down-base/bootstrap.css +19 -10
  66. package/styles/drop-down-base/bootstrap4.css +19 -10
  67. package/styles/drop-down-base/bootstrap5-dark.css +19 -10
  68. package/styles/drop-down-base/bootstrap5.3.css +21 -10
  69. package/styles/drop-down-base/bootstrap5.css +19 -10
  70. package/styles/drop-down-base/fabric-dark.css +19 -10
  71. package/styles/drop-down-base/fabric.css +19 -10
  72. package/styles/drop-down-base/fluent-dark.css +19 -10
  73. package/styles/drop-down-base/fluent.css +19 -10
  74. package/styles/drop-down-base/fluent2.css +28 -12
  75. package/styles/drop-down-base/highcontrast-light.css +19 -10
  76. package/styles/drop-down-base/highcontrast.css +19 -10
  77. package/styles/drop-down-base/material-dark.css +17 -9
  78. package/styles/drop-down-base/material.css +17 -9
  79. package/styles/drop-down-base/material3-dark.css +19 -9
  80. package/styles/drop-down-base/material3.css +19 -9
  81. package/styles/drop-down-base/tailwind-dark.css +21 -11
  82. package/styles/drop-down-base/tailwind.css +21 -11
  83. package/styles/drop-down-base/tailwind3.css +19 -9
  84. package/styles/drop-down-list/bds.css +4 -2
  85. package/styles/drop-down-list/bootstrap-dark.css +4 -2
  86. package/styles/drop-down-list/bootstrap.css +4 -2
  87. package/styles/drop-down-list/bootstrap4.css +4 -2
  88. package/styles/drop-down-list/bootstrap5-dark.css +4 -2
  89. package/styles/drop-down-list/bootstrap5.3.css +4 -2
  90. package/styles/drop-down-list/bootstrap5.css +4 -2
  91. package/styles/drop-down-list/fabric-dark.css +4 -2
  92. package/styles/drop-down-list/fabric.css +4 -2
  93. package/styles/drop-down-list/fluent-dark.css +4 -2
  94. package/styles/drop-down-list/fluent.css +4 -2
  95. package/styles/drop-down-list/fluent2.css +4 -2
  96. package/styles/drop-down-list/highcontrast-light.css +4 -2
  97. package/styles/drop-down-list/highcontrast.css +4 -2
  98. package/styles/drop-down-list/material-dark.css +4 -2
  99. package/styles/drop-down-list/material.css +4 -2
  100. package/styles/drop-down-list/material3-dark.css +4 -2
  101. package/styles/drop-down-list/material3.css +4 -2
  102. package/styles/drop-down-list/tailwind-dark.css +4 -2
  103. package/styles/drop-down-list/tailwind.css +4 -2
  104. package/styles/drop-down-list/tailwind3.css +4 -2
  105. package/styles/drop-down-tree/bds.css +4 -2
  106. package/styles/drop-down-tree/bootstrap-dark.css +4 -2
  107. package/styles/drop-down-tree/bootstrap.css +4 -2
  108. package/styles/drop-down-tree/bootstrap4.css +4 -2
  109. package/styles/drop-down-tree/bootstrap5-dark.css +4 -2
  110. package/styles/drop-down-tree/bootstrap5.3.css +4 -2
  111. package/styles/drop-down-tree/bootstrap5.css +4 -2
  112. package/styles/drop-down-tree/fabric-dark.css +4 -2
  113. package/styles/drop-down-tree/fabric.css +4 -2
  114. package/styles/drop-down-tree/fluent-dark.css +4 -2
  115. package/styles/drop-down-tree/fluent.css +4 -2
  116. package/styles/drop-down-tree/fluent2.css +4 -2
  117. package/styles/drop-down-tree/highcontrast-light.css +4 -2
  118. package/styles/drop-down-tree/highcontrast.css +4 -2
  119. package/styles/drop-down-tree/material-dark.css +4 -2
  120. package/styles/drop-down-tree/material.css +4 -2
  121. package/styles/drop-down-tree/material3-dark.css +4 -2
  122. package/styles/drop-down-tree/material3.css +4 -2
  123. package/styles/drop-down-tree/tailwind-dark.css +4 -2
  124. package/styles/drop-down-tree/tailwind.css +4 -2
  125. package/styles/drop-down-tree/tailwind3.css +4 -2
  126. package/styles/fabric-dark-lite.css +17 -9
  127. package/styles/fabric-dark.css +27 -14
  128. package/styles/fabric-lite.css +17 -9
  129. package/styles/fabric.css +27 -14
  130. package/styles/fluent-dark-lite.css +17 -9
  131. package/styles/fluent-dark.css +27 -14
  132. package/styles/fluent-lite.css +17 -9
  133. package/styles/fluent.css +27 -14
  134. package/styles/fluent2-lite.css +24 -10
  135. package/styles/fluent2.css +36 -16
  136. package/styles/highcontrast-light-lite.css +17 -9
  137. package/styles/highcontrast-light.css +27 -14
  138. package/styles/highcontrast-lite.css +17 -9
  139. package/styles/highcontrast.css +27 -14
  140. package/styles/list-box/bds.css +4 -2
  141. package/styles/list-box/bootstrap-dark.css +4 -2
  142. package/styles/list-box/bootstrap.css +4 -2
  143. package/styles/list-box/bootstrap4.css +4 -2
  144. package/styles/list-box/bootstrap5-dark.css +4 -2
  145. package/styles/list-box/bootstrap5.3.css +4 -2
  146. package/styles/list-box/bootstrap5.css +4 -2
  147. package/styles/list-box/fabric-dark.css +4 -2
  148. package/styles/list-box/fabric.css +4 -2
  149. package/styles/list-box/fluent-dark.css +4 -2
  150. package/styles/list-box/fluent.css +4 -2
  151. package/styles/list-box/fluent2.css +4 -2
  152. package/styles/list-box/highcontrast-light.css +4 -2
  153. package/styles/list-box/highcontrast.css +4 -2
  154. package/styles/list-box/material-dark.css +4 -2
  155. package/styles/list-box/material.css +4 -2
  156. package/styles/list-box/material3-dark.css +4 -2
  157. package/styles/list-box/material3.css +4 -2
  158. package/styles/list-box/tailwind-dark.css +4 -2
  159. package/styles/list-box/tailwind.css +4 -2
  160. package/styles/list-box/tailwind3.css +4 -2
  161. package/styles/material-dark-lite.css +17 -9
  162. package/styles/material-dark.css +25 -13
  163. package/styles/material-lite.css +17 -9
  164. package/styles/material.css +25 -13
  165. package/styles/material3-dark-lite.css +19 -9
  166. package/styles/material3-dark.css +27 -13
  167. package/styles/material3-lite.css +19 -9
  168. package/styles/material3.css +27 -13
  169. package/styles/mention/bds.css +4 -2
  170. package/styles/mention/bootstrap-dark.css +4 -2
  171. package/styles/mention/bootstrap.css +4 -2
  172. package/styles/mention/bootstrap4.css +4 -2
  173. package/styles/mention/bootstrap5-dark.css +4 -2
  174. package/styles/mention/bootstrap5.3.css +4 -2
  175. package/styles/mention/bootstrap5.css +4 -2
  176. package/styles/mention/fabric-dark.css +4 -2
  177. package/styles/mention/fabric.css +4 -2
  178. package/styles/mention/fluent-dark.css +4 -2
  179. package/styles/mention/fluent.css +4 -2
  180. package/styles/mention/fluent2.css +4 -2
  181. package/styles/mention/highcontrast-light.css +4 -2
  182. package/styles/mention/highcontrast.css +4 -2
  183. package/styles/mention/material-dark.css +4 -2
  184. package/styles/mention/material.css +4 -2
  185. package/styles/mention/material3-dark.css +4 -2
  186. package/styles/mention/material3.css +4 -2
  187. package/styles/mention/tailwind-dark.css +4 -2
  188. package/styles/mention/tailwind.css +4 -2
  189. package/styles/mention/tailwind3.css +4 -2
  190. package/styles/multi-select/bds.css +12 -6
  191. package/styles/multi-select/bootstrap-dark.css +12 -6
  192. package/styles/multi-select/bootstrap.css +12 -6
  193. package/styles/multi-select/bootstrap4.css +12 -6
  194. package/styles/multi-select/bootstrap5-dark.css +12 -6
  195. package/styles/multi-select/bootstrap5.3.css +12 -6
  196. package/styles/multi-select/bootstrap5.css +12 -6
  197. package/styles/multi-select/fabric-dark.css +12 -6
  198. package/styles/multi-select/fabric.css +12 -6
  199. package/styles/multi-select/fluent-dark.css +12 -6
  200. package/styles/multi-select/fluent.css +12 -6
  201. package/styles/multi-select/fluent2.css +12 -6
  202. package/styles/multi-select/highcontrast-light.css +12 -6
  203. package/styles/multi-select/highcontrast.css +12 -6
  204. package/styles/multi-select/material-dark.css +12 -6
  205. package/styles/multi-select/material.css +12 -6
  206. package/styles/multi-select/material3-dark.css +12 -6
  207. package/styles/multi-select/material3.css +12 -6
  208. package/styles/multi-select/tailwind-dark.css +12 -6
  209. package/styles/multi-select/tailwind.css +12 -6
  210. package/styles/multi-select/tailwind3.css +12 -6
  211. package/styles/tailwind-dark-lite.css +17 -9
  212. package/styles/tailwind-dark.css +29 -15
  213. package/styles/tailwind-lite.css +17 -9
  214. package/styles/tailwind.css +29 -15
  215. package/styles/tailwind3-lite.css +19 -9
  216. package/styles/tailwind3.css +27 -13
@@ -197,6 +197,7 @@ var DropDownList = /** @class */ (function (_super) {
197
197
  else if (floatElement) {
198
198
  classList(floatElement, ['e-label-bottom'], ['e-label-top']);
199
199
  }
200
+ floatElement = null;
200
201
  }
201
202
  };
202
203
  DropDownList.prototype.resetHandler = function (e) {
@@ -477,6 +478,7 @@ var DropDownList = /** @class */ (function (_super) {
477
478
  else {
478
479
  this.setSelection(element, null);
479
480
  }
481
+ element = null;
480
482
  }
481
483
  else {
482
484
  this.setSelection(this.liCollections[this.activeIndex], null);
@@ -633,7 +635,7 @@ var DropDownList = /** @class */ (function (_super) {
633
635
  if (formElement) {
634
636
  EventHandler.remove(formElement, 'reset', this.resetValueHandler);
635
637
  }
636
- if (!Browser.isDevice) {
638
+ if (!Browser.isDevice && !isNullOrUndefined(this.keyboardModule)) {
637
639
  this.keyboardModule.destroy();
638
640
  }
639
641
  if (this.showClearButton) {
@@ -754,10 +756,12 @@ var DropDownList = /** @class */ (function (_super) {
754
756
  var delay = 100;
755
757
  this.closePopup(delay, e);
756
758
  }
759
+ li = null;
757
760
  };
758
761
  DropDownList.prototype.onMouseOver = function (e) {
759
762
  var currentLi = closest(e.target, '.' + dropDownBaseClasses.li);
760
763
  this.setHover(currentLi);
764
+ currentLi = null;
761
765
  };
762
766
  DropDownList.prototype.setHover = function (li) {
763
767
  if (this.enabled && this.isValidLI(li) && !li.classList.contains(dropDownBaseClasses.hover)) {
@@ -895,6 +899,7 @@ var DropDownList = /** @class */ (function (_super) {
895
899
  this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
896
900
  this.list.scrollTop = 0;
897
901
  }
902
+ li = null;
898
903
  }
899
904
  else {
900
905
  var li = void 0;
@@ -909,6 +914,7 @@ var DropDownList = /** @class */ (function (_super) {
909
914
  this.setSelection(li, e);
910
915
  this.setScrollPosition();
911
916
  }
917
+ li = null;
912
918
  }
913
919
  }
914
920
  };
@@ -1142,6 +1148,7 @@ var DropDownList = /** @class */ (function (_super) {
1142
1148
  this.ulElement = this.list.querySelector('ul');
1143
1149
  this.handleVirtualKeyboardActions(e, this.pageCount);
1144
1150
  }
1151
+ nextItem = null;
1145
1152
  }
1146
1153
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
1147
1154
  var value = this.getItemData().value;
@@ -1178,6 +1185,7 @@ var DropDownList = /** @class */ (function (_super) {
1178
1185
  this.updateUpDownAction(e);
1179
1186
  }
1180
1187
  e.preventDefault();
1188
+ focusEle = null;
1181
1189
  };
1182
1190
  DropDownList.prototype.updateHomeEndAction = function (e, isVirtualKeyAction) {
1183
1191
  if (this.getModuleName() === 'dropdownlist') {
@@ -1298,6 +1306,7 @@ var DropDownList = /** @class */ (function (_super) {
1298
1306
  }
1299
1307
  this.hidePopup(e);
1300
1308
  this.focusDropDown(e);
1309
+ li = null;
1301
1310
  }
1302
1311
  else {
1303
1312
  this.showPopup();
@@ -1495,6 +1504,7 @@ var DropDownList = /** @class */ (function (_super) {
1495
1504
  ulElement = ulElement.cloneNode ? ulElement.cloneNode(true) : ulElement;
1496
1505
  this.actionCompleteData.ulElement = ulElement;
1497
1506
  }
1507
+ ulElement = null;
1498
1508
  }
1499
1509
  };
1500
1510
  DropDownList.prototype.updateSelectedItem = function (li, e, preventSelect, isSelection) {
@@ -1533,6 +1543,7 @@ var DropDownList = /** @class */ (function (_super) {
1533
1543
  this.setSelectOptions(li, e);
1534
1544
  }
1535
1545
  }
1546
+ li = null;
1536
1547
  };
1537
1548
  DropDownList.prototype.selectEventCallback = function (li, e, preventSelect, selectedData, value) {
1538
1549
  this.previousItemData = (!isNullOrUndefined(this.itemData)) ? this.itemData : null;
@@ -1567,6 +1578,7 @@ var DropDownList = /** @class */ (function (_super) {
1567
1578
  }
1568
1579
  this.activeIndex = this.getIndexByValue(value);
1569
1580
  }
1581
+ focusedItem = null;
1570
1582
  };
1571
1583
  DropDownList.prototype.activeItem = function (li) {
1572
1584
  if (this.isValidLI(li) && !li.classList.contains(dropDownBaseClasses.selected)) {
@@ -2289,6 +2301,7 @@ var DropDownList = /** @class */ (function (_super) {
2289
2301
  EventHandler.add(this.filterInput, 'keydown', this.onFilterDown, this);
2290
2302
  EventHandler.add(this.filterInput, 'blur', this.onBlurHandler, this);
2291
2303
  EventHandler.add(this.filterInput, 'paste', this.pasteHandler, this);
2304
+ parentElement = null;
2292
2305
  return this.filterInputObj;
2293
2306
  }
2294
2307
  else {
@@ -2452,6 +2465,7 @@ var DropDownList = /** @class */ (function (_super) {
2452
2465
  this.activeIndex = this.getIndexByValue(value);
2453
2466
  var element = this.findListElement(this.list, 'li', 'data-value', value);
2454
2467
  this.selectedLI = element;
2468
+ element = null;
2455
2469
  }
2456
2470
  else if (this.enableVirtualization && this.getModuleName() === 'autocomplete') {
2457
2471
  this.activeIndex = this.skeletonCount;
@@ -2497,8 +2511,9 @@ var DropDownList = /** @class */ (function (_super) {
2497
2511
  });
2498
2512
  return checkField;
2499
2513
  };
2500
- DropDownList.prototype.checkAndFetchItemData = function (list, value, checkField) {
2514
+ DropDownList.prototype.checkAndFetchItemData = function (list, value, checkField, isOffline) {
2501
2515
  var _this = this;
2516
+ if (isOffline === void 0) { isOffline = false; }
2502
2517
  var fieldValue = this.fields.value.split('.');
2503
2518
  var checkVal = list.some(function (x) {
2504
2519
  return isNullOrUndefined(x[checkField]) && fieldValue.length > 1 ?
@@ -2511,27 +2526,67 @@ var DropDownList = /** @class */ (function (_super) {
2511
2526
  });
2512
2527
  }
2513
2528
  if (!checkVal && this.dataSource instanceof DataManager) {
2514
- (this.dataSource).executeQuery(this.getQuery(this.query).where(new Predicate(checkField, 'equal', value)))
2515
- .then(function (e) {
2516
- if (e.result.length > 0) {
2517
- if (!_this.enableVirtualization) {
2518
- _this.addItem(e.result, list.length);
2529
+ if (isOffline) {
2530
+ this.searchOfflineData(value, checkField);
2531
+ }
2532
+ else {
2533
+ (this.dataSource).executeQuery(this.getQuery(this.query).where(new Predicate(checkField, 'equal', value)))
2534
+ .then(function (e) {
2535
+ if (e.result.length > 0) {
2536
+ if (!_this.enableVirtualization) {
2537
+ _this.addItem(e.result, list.length);
2538
+ }
2539
+ else {
2540
+ _this.itemData = e.result[0];
2541
+ var dataItem = _this.getItemData();
2542
+ if ((_this.value === dataItem.value && _this.text !== dataItem.text) ||
2543
+ (_this.value !== dataItem.value && _this.text === dataItem.text)) {
2544
+ _this.setProperties({ text: dataItem.text.toString() });
2545
+ Input.setValue(_this.text, _this.inputElement, _this.floatLabelType, _this.showClearButton);
2546
+ }
2547
+ }
2548
+ _this.updateValues();
2519
2549
  }
2520
2550
  else {
2521
- _this.itemData = e.result[0];
2522
- var dataItem = _this.getItemData();
2523
- if ((_this.value === dataItem.value && _this.text !== dataItem.text) ||
2524
- (_this.value !== dataItem.value && _this.text === dataItem.text)) {
2525
- _this.setProperties({ text: dataItem.text.toString() });
2526
- Input.setValue(_this.text, _this.inputElement, _this.floatLabelType, _this.showClearButton);
2527
- }
2551
+ _this.updateValues();
2528
2552
  }
2529
- _this.updateValues();
2530
- }
2531
- else {
2532
- _this.updateValues();
2553
+ });
2554
+ }
2555
+ }
2556
+ else {
2557
+ this.updateValues();
2558
+ }
2559
+ };
2560
+ DropDownList.prototype.searchOfflineData = function (value, checkField) {
2561
+ var _this = this;
2562
+ if (!(this.dataSource instanceof DataManager)) {
2563
+ this.updateValues();
2564
+ return;
2565
+ }
2566
+ var dataManager = this.dataSource;
2567
+ var fullData = dataManager.dataSource.json || [];
2568
+ if (fullData && fullData.length > 0) {
2569
+ var foundItem = fullData.find(function (item) {
2570
+ if (_this.fields.value && _this.fields.value.includes('.')) {
2571
+ var fieldValueArray = _this.fields.value.split('.');
2572
+ var fieldVal = _this.checkFieldValue(item, fieldValueArray);
2573
+ return fieldVal === value;
2533
2574
  }
2575
+ return item[checkField] === value;
2534
2576
  });
2577
+ if (foundItem) {
2578
+ this.itemData = foundItem;
2579
+ var dataItem = this.getItemData();
2580
+ if ((this.value === dataItem.value && this.text !== dataItem.text) ||
2581
+ (this.value !== dataItem.value && this.text === dataItem.text)) {
2582
+ this.setProperties({ text: dataItem.text.toString() });
2583
+ Input.setValue(this.text, this.inputElement, this.floatLabelType, this.showClearButton);
2584
+ }
2585
+ this.updateValues();
2586
+ }
2587
+ else {
2588
+ this.updateValues();
2589
+ }
2535
2590
  }
2536
2591
  else {
2537
2592
  this.updateValues();
@@ -2591,6 +2646,7 @@ var DropDownList = /** @class */ (function (_super) {
2591
2646
  if (!(this.enableVirtualization && isNullOrUndefined(element))) {
2592
2647
  this.removeFocus();
2593
2648
  }
2649
+ element = null;
2594
2650
  };
2595
2651
  DropDownList.prototype.updateSelection = function () {
2596
2652
  var selectedItem = this.list.querySelector('.' + dropDownBaseClasses.selected);
@@ -2609,6 +2665,7 @@ var DropDownList = /** @class */ (function (_super) {
2609
2665
  }
2610
2666
  this.list.querySelector('.' + dropDownBaseClasses.li).classList.add(dropDownListClasses.focus);
2611
2667
  }
2668
+ selectedItem = null;
2612
2669
  };
2613
2670
  DropDownList.prototype.updateSelectionList = function () {
2614
2671
  var selectedItem = this.list && this.list.querySelector('.' + 'e-active');
@@ -2752,6 +2809,7 @@ var DropDownList = /** @class */ (function (_super) {
2752
2809
  parseInt(getComputedStyle(_this.inputElement).paddingLeft, 10) +
2753
2810
  parseInt(getComputedStyle(_this.inputElement.parentElement).borderLeftWidth, 10));
2754
2811
  }
2812
+ firstItem = null;
2755
2813
  }
2756
2814
  _this.createPopup(popupEle_1, offsetValue, left);
2757
2815
  _this.popupContentElement = _this.popupObj.element.querySelector('.e-content');
@@ -3005,6 +3063,8 @@ var DropDownList = /** @class */ (function (_super) {
3005
3063
  }
3006
3064
  }
3007
3065
  _this.activeStateChange();
3066
+ actionList = null;
3067
+ ulElement = null;
3008
3068
  },
3009
3069
  targetExitViewport: function () {
3010
3070
  if (!Browser.isDevice) {
@@ -3044,6 +3104,7 @@ var DropDownList = /** @class */ (function (_super) {
3044
3104
  var clearElement = this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon);
3045
3105
  detach(this.filterInput);
3046
3106
  clearElement.parentElement.insertBefore(this.filterInput, clearElement);
3107
+ clearElement = null;
3047
3108
  };
3048
3109
  DropDownList.prototype.setPopupPosition = function (border) {
3049
3110
  var offsetValue;
@@ -3072,6 +3133,9 @@ var DropDownList = /** @class */ (function (_super) {
3072
3133
  }
3073
3134
  var inputHeight = this.inputWrapper.container.offsetHeight;
3074
3135
  offsetValue = offsetValue + liHeight + popupOffset - ((liHeight - inputHeight) / 2);
3136
+ selectedLI = null;
3137
+ firstItem = null;
3138
+ lastItem = null;
3075
3139
  return -offsetValue;
3076
3140
  };
3077
3141
  DropDownList.prototype.setWidth = function () {
@@ -3086,6 +3150,7 @@ var DropDownList = /** @class */ (function (_super) {
3086
3150
  width = (parseInt(width, 10) + (parseInt(getComputedStyle(firstItem).textIndent, 10) -
3087
3151
  parseInt(getComputedStyle(this.inputElement).paddingLeft, 10) +
3088
3152
  parseInt(getComputedStyle(this.inputElement.parentElement).borderLeftWidth, 10)) * 2) + 'px';
3153
+ firstItem = null;
3089
3154
  }
3090
3155
  return width;
3091
3156
  };
@@ -3342,7 +3407,7 @@ var DropDownList = /** @class */ (function (_super) {
3342
3407
  EventHandler.remove(this.filterInput, 'blur', this.onBlurHandler);
3343
3408
  EventHandler.remove(this.filterInput, 'paste', this.pasteHandler);
3344
3409
  }
3345
- if (this.allowFiltering && this.getModuleName() === 'dropdownlist') {
3410
+ if (this.allowFiltering && !isNullOrUndefined(this.filterInput) && this.getModuleName() === 'dropdownlist') {
3346
3411
  this.filterInput.removeAttribute('aria-activedescendant');
3347
3412
  this.filterInput.removeAttribute('aria-disabled');
3348
3413
  this.filterInput.removeAttribute('role');
@@ -3350,7 +3415,7 @@ var DropDownList = /** @class */ (function (_super) {
3350
3415
  this.filterInput.removeAttribute('autocapitalize');
3351
3416
  this.filterInput.removeAttribute('spellcheck');
3352
3417
  }
3353
- if (this.filterInput.parentNode) {
3418
+ if (!isNullOrUndefined(this.filterInput) && this.filterInput.parentNode) {
3354
3419
  this.filterInput.parentNode.removeChild(this.filterInput);
3355
3420
  var attrs = Array.prototype.slice.call(this.filterInput.attributes);
3356
3421
  for (var n = 0; n < attrs.length; n++) {
@@ -3501,6 +3566,7 @@ var DropDownList = /** @class */ (function (_super) {
3501
3566
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3502
3567
  this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3503
3568
  }
3569
+ ulElement = null;
3504
3570
  };
3505
3571
  DropDownList.prototype.destroyPopup = function () {
3506
3572
  this.isPopupOpen = false;
@@ -3707,6 +3773,8 @@ var DropDownList = /** @class */ (function (_super) {
3707
3773
  var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +
3708
3774
  parseInt(window.getComputedStyle(item).marginBottom, 10);
3709
3775
  listParent.remove();
3776
+ listParent = null;
3777
+ item = null;
3710
3778
  return listItemHeight;
3711
3779
  };
3712
3780
  DropDownList.prototype.setFooterTemplate = function (popupEle) {
@@ -3760,6 +3828,7 @@ var DropDownList = /** @class */ (function (_super) {
3760
3828
  }
3761
3829
  var contentEle = popupEle.querySelector('div.e-content');
3762
3830
  popupEle.insertBefore(this.header, contentEle);
3831
+ contentEle = null;
3763
3832
  };
3764
3833
  /**
3765
3834
  * Sets the enabled state to DropDownBase.
@@ -3824,6 +3893,7 @@ var DropDownList = /** @class */ (function (_super) {
3824
3893
  ((props.dataSource instanceof DataManager) || (!isNullOrUndefined(props) && Array.isArray(props.dataSource) &&
3825
3894
  !isNullOrUndefined(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {
3826
3895
  this.typedString = '';
3896
+ this.selectData = null;
3827
3897
  this.resetList(this.dataSource);
3828
3898
  }
3829
3899
  if (!this.isCustomFilter && !this.isFilterFocus && document.activeElement !== this.filterInput) {
@@ -3976,11 +4046,13 @@ var DropDownList = /** @class */ (function (_super) {
3976
4046
  return { value: void 0 };
3977
4047
  }
3978
4048
  if (this_1.enableVirtualization) {
4049
+ var isOfflineMode = this_1.dataSource instanceof DataManager &&
4050
+ this_1.dataSource.dataSource.offline === true;
3979
4051
  if (newProp.value && this_1.dataSource instanceof DataManager) {
3980
4052
  var checkField = isNullOrUndefined(this_1.fields.value) ? this_1.fields.text : this_1.fields.value;
3981
4053
  var value = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
3982
4054
  getValue(checkField, newProp.value) : newProp.value;
3983
- this_1.checkAndFetchItemData(this_1.listData, value, checkField);
4055
+ this_1.checkAndFetchItemData(this_1.listData, value, checkField, isOfflineMode);
3984
4056
  }
3985
4057
  this_1.updateValues();
3986
4058
  this_1.updateInputFields();
@@ -4060,6 +4132,7 @@ var DropDownList = /** @class */ (function (_super) {
4060
4132
  }
4061
4133
  }
4062
4134
  this_1.updateInputFields();
4135
+ element = null;
4063
4136
  }
4064
4137
  break;
4065
4138
  case 'footerTemplate':
@@ -4151,6 +4224,7 @@ var DropDownList = /** @class */ (function (_super) {
4151
4224
  }
4152
4225
  }
4153
4226
  };
4227
+ li = null;
4154
4228
  };
4155
4229
  DropDownList.prototype.updatePopupState = function () {
4156
4230
  if (this.beforePopupOpen) {
@@ -4323,6 +4397,7 @@ var DropDownList = /** @class */ (function (_super) {
4323
4397
  this.setValueTemplate();
4324
4398
  }
4325
4399
  }
4400
+ element = null;
4326
4401
  }
4327
4402
  else {
4328
4403
  this.resetSelection();
@@ -4448,6 +4523,7 @@ var DropDownList = /** @class */ (function (_super) {
4448
4523
  this.clear();
4449
4524
  }
4450
4525
  }
4526
+ li = null;
4451
4527
  }
4452
4528
  }
4453
4529
  }
@@ -4483,7 +4559,8 @@ var DropDownList = /** @class */ (function (_super) {
4483
4559
  if (this.inputElement) {
4484
4560
  var attrArray = ['readonly', 'aria-disabled', 'placeholder', 'aria-labelledby',
4485
4561
  'aria-expanded', 'autocomplete', 'aria-readonly', 'autocapitalize',
4486
- 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-describedby', 'aria-label'];
4562
+ 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-describedby', 'aria-label',
4563
+ 'role', 'value', 'style', 'type'];
4487
4564
  for (var i = 0; i < attrArray.length; i++) {
4488
4565
  this.inputElement.removeAttribute(attrArray[i]);
4489
4566
  }
@@ -4564,6 +4641,43 @@ var DropDownList = /** @class */ (function (_super) {
4564
4641
  detach(this.popupObj.element);
4565
4642
  this.popupObj.element = null;
4566
4643
  }
4644
+ if (this.list) {
4645
+ while (this.list.firstChild) {
4646
+ this.list.removeChild(this.list.firstChild);
4647
+ }
4648
+ if (this.list.parentNode) {
4649
+ this.list.parentNode.removeChild(this.list);
4650
+ }
4651
+ detach(this.list);
4652
+ }
4653
+ if (this.ulElement) {
4654
+ while (this.ulElement.firstChild) {
4655
+ this.ulElement.removeChild(this.ulElement.firstChild);
4656
+ }
4657
+ if (this.ulElement.parentNode) {
4658
+ this.ulElement.parentNode.removeChild(this.ulElement);
4659
+ }
4660
+ detach(this.ulElement);
4661
+ }
4662
+ if (this.actionData && this.actionData.ulElement) {
4663
+ while (this.actionData.ulElement.firstChild) {
4664
+ this.actionData.ulElement.removeChild(this.actionData.ulElement.firstChild);
4665
+ }
4666
+ detach(this.actionData.ulElement);
4667
+ this.actionData.ulElement = null;
4668
+ this.actionData.list = null;
4669
+ this.actionData = null;
4670
+ }
4671
+ if (this.actionCompleteData && this.actionCompleteData.ulElement) {
4672
+ while (this.actionCompleteData.ulElement.firstChild) {
4673
+ this.actionCompleteData.ulElement.removeChild(this.actionCompleteData.ulElement.firstChild);
4674
+ }
4675
+ detach(this.actionCompleteData.ulElement);
4676
+ this.actionCompleteData.ulElement = null;
4677
+ this.actionCompleteData.list = null;
4678
+ this.actionCompleteData = null;
4679
+ }
4680
+ this.listData = null;
4567
4681
  this.ulElement = null;
4568
4682
  this.list = null;
4569
4683
  this.clearIconElement = null;
@@ -4577,20 +4691,19 @@ var DropDownList = /** @class */ (function (_super) {
4577
4691
  this.header = null;
4578
4692
  this.previousSelectedLI = null;
4579
4693
  this.valueTempElement = null;
4580
- if (this.actionData.ulElement) {
4581
- detach(this.actionData.ulElement);
4582
- }
4583
- this.actionData.ulElement = null;
4584
- if (this.actionCompleteData.ulElement) {
4585
- detach(this.actionCompleteData.ulElement);
4586
- }
4587
- this.actionCompleteData.ulElement = null;
4694
+ this.resizer = null;
4588
4695
  if (this.inputElement && !isNullOrUndefined(this.inputElement.onchange)) {
4589
4696
  this.inputElement.onchange = null;
4590
4697
  }
4591
4698
  if (this.inputElement && !isNullOrUndefined(this.inputElement.onselect)) {
4592
4699
  this.inputElement.onselect = null;
4593
4700
  }
4701
+ if (this.enableVirtualization) {
4702
+ this.notify('destroy', { module: 'VirtualScroll' });
4703
+ this.virtualGroupDataSource = null;
4704
+ this.viewPortInfo = null;
4705
+ this.selectedValueInfo = null;
4706
+ }
4594
4707
  Input.destroy({
4595
4708
  element: this.inputElement,
4596
4709
  floatLabelType: this.floatLabelType,
@@ -417,7 +417,7 @@ export interface DropDownTreeModel extends ComponentModel{
417
417
  enableHtmlSanitizer?: boolean;
418
418
 
419
419
  /**
420
- * Enables rendering of raw text content in the Dropdown Tree component without HTML encoding.
420
+ * Enables rendering of raw text content in the Dropdown component without HTML encoding.
421
421
  * When set to true, the text will be displayed exactly as provided (including HTML tags or special characters),
422
422
  * instead of being encoded or truncated (e.g., `hiiih<hihi` will be shown as-is).
423
423
  *
@@ -586,7 +586,7 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
586
586
  */
587
587
  enableHtmlSanitizer: boolean;
588
588
  /**
589
- * Enables rendering of raw text content in the Dropdown Tree component without HTML encoding.
589
+ * Enables rendering of raw text content in the Dropdown component without HTML encoding.
590
590
  * When set to true, the text will be displayed exactly as provided (including HTML tags or special characters),
591
591
  * instead of being encoded or truncated (e.g., `hiiih<hihi` will be shown as-is).
592
592
  *
@@ -365,8 +365,10 @@ var Mention = /** @class */ (function (_super) {
365
365
  return;
366
366
  }
367
367
  this.isTyped = e.code !== 'Enter' && e.code !== 'Space' && e.code !== 'ArrowDown' && e.code !== 'ArrowUp' ? true : false;
368
- var isRteImage = document.activeElement.parentElement && document.activeElement.parentElement.querySelector('.e-rte-image') ? true : false;
369
- if (document.activeElement !== this.inputElement && !isRteImage) {
368
+ var activeParent = document.activeElement && document.activeElement.parentElement;
369
+ var isRteImage = activeParent && !!activeParent.querySelector('.e-rte-image');
370
+ var isBECodeDropdownFocused = activeParent && !!activeParent.querySelector('.e-blockeditor .e-code-block-container .e-input-group.e-input-focus');
371
+ if (document.activeElement !== this.inputElement && !isRteImage && !isBECodeDropdownFocused) {
370
372
  this.inputElement.focus();
371
373
  }
372
374
  if (this.isContentEditable(this.inputElement)) {
@@ -391,7 +393,7 @@ var Mention = /** @class */ (function (_super) {
391
393
  if (!this.requireLeadingSpace && lastWordRange && lastWordRange.includes(this.mentionChar)) {
392
394
  lastWordRange = this.mentionChar + lastWordRange.split(this.mentionChar).pop();
393
395
  }
394
- if (lastWordRange.includes(' ')) {
396
+ if (/\s|\u00A0/.test(lastWordRange)) {
395
397
  return;
396
398
  }
397
399
  }
@@ -925,7 +927,9 @@ var Mention = /** @class */ (function (_super) {
925
927
  };
926
928
  Mention.prototype.setHeight = function (popupEle) {
927
929
  if (this.popupHeight !== 'auto' && this.list) {
928
- this.list.style.maxHeight = (parseInt(this.listHeight, 10) - 2).toString() + 'px'; // due to box-sizing property
930
+ var parentStyle = getComputedStyle(this.list.parentElement);
931
+ var paddingY = parseInt(parentStyle.paddingTop || '0', 10) + parseInt(parentStyle.paddingBottom || '0', 10);
932
+ this.list.style.maxHeight = (parseInt(this.listHeight, 10) - 2 - paddingY).toString() + 'px'; // due to box-sizing property
929
933
  popupEle.style.maxHeight = formatUnit(this.popupHeight);
930
934
  }
931
935
  else {
@@ -45,6 +45,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
45
45
  private backCommand;
46
46
  private keyAction;
47
47
  private isSelectAll;
48
+ private isSelectAllClicked;
49
+ private isProcessingVirtualSelectAll;
48
50
  private clearIconWidth;
49
51
  private previousFilterText;
50
52
  private selectedElementID;