@syncfusion/ej2-dropdowns 32.2.9 → 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 (215) 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 +407 -116
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +382 -91
  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.js +84 -14
  18. package/src/drop-down-tree/drop-down-tree-model.d.ts +1 -1
  19. package/src/drop-down-tree/drop-down-tree.d.ts +1 -1
  20. package/src/mention/mention.js +8 -4
  21. package/src/multi-select/multi-select.d.ts +2 -0
  22. package/src/multi-select/multi-select.js +228 -72
  23. package/styles/bds-lite.css +17 -9
  24. package/styles/bds.css +29 -15
  25. package/styles/bootstrap-dark-lite.css +17 -9
  26. package/styles/bootstrap-dark.css +27 -14
  27. package/styles/bootstrap-lite.css +17 -9
  28. package/styles/bootstrap.css +27 -14
  29. package/styles/bootstrap4-lite.css +17 -9
  30. package/styles/bootstrap4.css +27 -14
  31. package/styles/bootstrap5-dark-lite.css +17 -9
  32. package/styles/bootstrap5-dark.css +27 -14
  33. package/styles/bootstrap5-lite.css +17 -9
  34. package/styles/bootstrap5.3-lite.css +19 -9
  35. package/styles/bootstrap5.3.css +29 -14
  36. package/styles/bootstrap5.css +27 -14
  37. package/styles/drop-down-base/_bds-definition.scss +2 -2
  38. package/styles/drop-down-base/_bigger.scss +3 -3
  39. package/styles/drop-down-base/_bootstrap-dark-definition.scss +3 -3
  40. package/styles/drop-down-base/_bootstrap-definition.scss +3 -3
  41. package/styles/drop-down-base/_bootstrap4-definition.scss +3 -3
  42. package/styles/drop-down-base/_bootstrap5-dark-definition.scss +3 -3
  43. package/styles/drop-down-base/_bootstrap5-definition.scss +3 -3
  44. package/styles/drop-down-base/_bootstrap5.3-definition.scss +6 -3
  45. package/styles/drop-down-base/_fabric-dark-definition.scss +3 -3
  46. package/styles/drop-down-base/_fabric-definition.scss +3 -3
  47. package/styles/drop-down-base/_fluent-dark-definition.scss +3 -3
  48. package/styles/drop-down-base/_fluent-definition.scss +3 -3
  49. package/styles/drop-down-base/_fluent2-definition.scss +8 -5
  50. package/styles/drop-down-base/_fusionnew-definition.scss +2 -2
  51. package/styles/drop-down-base/_highcontrast-definition.scss +3 -3
  52. package/styles/drop-down-base/_highcontrast-light-definition.scss +3 -3
  53. package/styles/drop-down-base/_layout.scss +12 -1
  54. package/styles/drop-down-base/_material-dark-definition.scss +2 -2
  55. package/styles/drop-down-base/_material-definition.scss +2 -2
  56. package/styles/drop-down-base/_material3-dark-definition.scss +6 -4
  57. package/styles/drop-down-base/_material3-definition.scss +6 -4
  58. package/styles/drop-down-base/_tailwind-dark-definition.scss +4 -4
  59. package/styles/drop-down-base/_tailwind-definition.scss +4 -4
  60. package/styles/drop-down-base/_tailwind3-definition.scss +5 -2
  61. package/styles/drop-down-base/_theme.scss +6 -0
  62. package/styles/drop-down-base/bds.css +21 -11
  63. package/styles/drop-down-base/bootstrap-dark.css +19 -10
  64. package/styles/drop-down-base/bootstrap.css +19 -10
  65. package/styles/drop-down-base/bootstrap4.css +19 -10
  66. package/styles/drop-down-base/bootstrap5-dark.css +19 -10
  67. package/styles/drop-down-base/bootstrap5.3.css +21 -10
  68. package/styles/drop-down-base/bootstrap5.css +19 -10
  69. package/styles/drop-down-base/fabric-dark.css +19 -10
  70. package/styles/drop-down-base/fabric.css +19 -10
  71. package/styles/drop-down-base/fluent-dark.css +19 -10
  72. package/styles/drop-down-base/fluent.css +19 -10
  73. package/styles/drop-down-base/fluent2.css +28 -12
  74. package/styles/drop-down-base/highcontrast-light.css +19 -10
  75. package/styles/drop-down-base/highcontrast.css +19 -10
  76. package/styles/drop-down-base/material-dark.css +17 -9
  77. package/styles/drop-down-base/material.css +17 -9
  78. package/styles/drop-down-base/material3-dark.css +19 -9
  79. package/styles/drop-down-base/material3.css +19 -9
  80. package/styles/drop-down-base/tailwind-dark.css +21 -11
  81. package/styles/drop-down-base/tailwind.css +21 -11
  82. package/styles/drop-down-base/tailwind3.css +19 -9
  83. package/styles/drop-down-list/bds.css +4 -2
  84. package/styles/drop-down-list/bootstrap-dark.css +4 -2
  85. package/styles/drop-down-list/bootstrap.css +4 -2
  86. package/styles/drop-down-list/bootstrap4.css +4 -2
  87. package/styles/drop-down-list/bootstrap5-dark.css +4 -2
  88. package/styles/drop-down-list/bootstrap5.3.css +4 -2
  89. package/styles/drop-down-list/bootstrap5.css +4 -2
  90. package/styles/drop-down-list/fabric-dark.css +4 -2
  91. package/styles/drop-down-list/fabric.css +4 -2
  92. package/styles/drop-down-list/fluent-dark.css +4 -2
  93. package/styles/drop-down-list/fluent.css +4 -2
  94. package/styles/drop-down-list/fluent2.css +4 -2
  95. package/styles/drop-down-list/highcontrast-light.css +4 -2
  96. package/styles/drop-down-list/highcontrast.css +4 -2
  97. package/styles/drop-down-list/material-dark.css +4 -2
  98. package/styles/drop-down-list/material.css +4 -2
  99. package/styles/drop-down-list/material3-dark.css +4 -2
  100. package/styles/drop-down-list/material3.css +4 -2
  101. package/styles/drop-down-list/tailwind-dark.css +4 -2
  102. package/styles/drop-down-list/tailwind.css +4 -2
  103. package/styles/drop-down-list/tailwind3.css +4 -2
  104. package/styles/drop-down-tree/bds.css +4 -2
  105. package/styles/drop-down-tree/bootstrap-dark.css +4 -2
  106. package/styles/drop-down-tree/bootstrap.css +4 -2
  107. package/styles/drop-down-tree/bootstrap4.css +4 -2
  108. package/styles/drop-down-tree/bootstrap5-dark.css +4 -2
  109. package/styles/drop-down-tree/bootstrap5.3.css +4 -2
  110. package/styles/drop-down-tree/bootstrap5.css +4 -2
  111. package/styles/drop-down-tree/fabric-dark.css +4 -2
  112. package/styles/drop-down-tree/fabric.css +4 -2
  113. package/styles/drop-down-tree/fluent-dark.css +4 -2
  114. package/styles/drop-down-tree/fluent.css +4 -2
  115. package/styles/drop-down-tree/fluent2.css +4 -2
  116. package/styles/drop-down-tree/highcontrast-light.css +4 -2
  117. package/styles/drop-down-tree/highcontrast.css +4 -2
  118. package/styles/drop-down-tree/material-dark.css +4 -2
  119. package/styles/drop-down-tree/material.css +4 -2
  120. package/styles/drop-down-tree/material3-dark.css +4 -2
  121. package/styles/drop-down-tree/material3.css +4 -2
  122. package/styles/drop-down-tree/tailwind-dark.css +4 -2
  123. package/styles/drop-down-tree/tailwind.css +4 -2
  124. package/styles/drop-down-tree/tailwind3.css +4 -2
  125. package/styles/fabric-dark-lite.css +17 -9
  126. package/styles/fabric-dark.css +27 -14
  127. package/styles/fabric-lite.css +17 -9
  128. package/styles/fabric.css +27 -14
  129. package/styles/fluent-dark-lite.css +17 -9
  130. package/styles/fluent-dark.css +27 -14
  131. package/styles/fluent-lite.css +17 -9
  132. package/styles/fluent.css +27 -14
  133. package/styles/fluent2-lite.css +24 -10
  134. package/styles/fluent2.css +36 -16
  135. package/styles/highcontrast-light-lite.css +17 -9
  136. package/styles/highcontrast-light.css +27 -14
  137. package/styles/highcontrast-lite.css +17 -9
  138. package/styles/highcontrast.css +27 -14
  139. package/styles/list-box/bds.css +4 -2
  140. package/styles/list-box/bootstrap-dark.css +4 -2
  141. package/styles/list-box/bootstrap.css +4 -2
  142. package/styles/list-box/bootstrap4.css +4 -2
  143. package/styles/list-box/bootstrap5-dark.css +4 -2
  144. package/styles/list-box/bootstrap5.3.css +4 -2
  145. package/styles/list-box/bootstrap5.css +4 -2
  146. package/styles/list-box/fabric-dark.css +4 -2
  147. package/styles/list-box/fabric.css +4 -2
  148. package/styles/list-box/fluent-dark.css +4 -2
  149. package/styles/list-box/fluent.css +4 -2
  150. package/styles/list-box/fluent2.css +4 -2
  151. package/styles/list-box/highcontrast-light.css +4 -2
  152. package/styles/list-box/highcontrast.css +4 -2
  153. package/styles/list-box/material-dark.css +4 -2
  154. package/styles/list-box/material.css +4 -2
  155. package/styles/list-box/material3-dark.css +4 -2
  156. package/styles/list-box/material3.css +4 -2
  157. package/styles/list-box/tailwind-dark.css +4 -2
  158. package/styles/list-box/tailwind.css +4 -2
  159. package/styles/list-box/tailwind3.css +4 -2
  160. package/styles/material-dark-lite.css +17 -9
  161. package/styles/material-dark.css +25 -13
  162. package/styles/material-lite.css +17 -9
  163. package/styles/material.css +25 -13
  164. package/styles/material3-dark-lite.css +19 -9
  165. package/styles/material3-dark.css +27 -13
  166. package/styles/material3-lite.css +19 -9
  167. package/styles/material3.css +27 -13
  168. package/styles/mention/bds.css +4 -2
  169. package/styles/mention/bootstrap-dark.css +4 -2
  170. package/styles/mention/bootstrap.css +4 -2
  171. package/styles/mention/bootstrap4.css +4 -2
  172. package/styles/mention/bootstrap5-dark.css +4 -2
  173. package/styles/mention/bootstrap5.3.css +4 -2
  174. package/styles/mention/bootstrap5.css +4 -2
  175. package/styles/mention/fabric-dark.css +4 -2
  176. package/styles/mention/fabric.css +4 -2
  177. package/styles/mention/fluent-dark.css +4 -2
  178. package/styles/mention/fluent.css +4 -2
  179. package/styles/mention/fluent2.css +4 -2
  180. package/styles/mention/highcontrast-light.css +4 -2
  181. package/styles/mention/highcontrast.css +4 -2
  182. package/styles/mention/material-dark.css +4 -2
  183. package/styles/mention/material.css +4 -2
  184. package/styles/mention/material3-dark.css +4 -2
  185. package/styles/mention/material3.css +4 -2
  186. package/styles/mention/tailwind-dark.css +4 -2
  187. package/styles/mention/tailwind.css +4 -2
  188. package/styles/mention/tailwind3.css +4 -2
  189. package/styles/multi-select/bds.css +12 -6
  190. package/styles/multi-select/bootstrap-dark.css +12 -6
  191. package/styles/multi-select/bootstrap.css +12 -6
  192. package/styles/multi-select/bootstrap4.css +12 -6
  193. package/styles/multi-select/bootstrap5-dark.css +12 -6
  194. package/styles/multi-select/bootstrap5.3.css +12 -6
  195. package/styles/multi-select/bootstrap5.css +12 -6
  196. package/styles/multi-select/fabric-dark.css +12 -6
  197. package/styles/multi-select/fabric.css +12 -6
  198. package/styles/multi-select/fluent-dark.css +12 -6
  199. package/styles/multi-select/fluent.css +12 -6
  200. package/styles/multi-select/fluent2.css +12 -6
  201. package/styles/multi-select/highcontrast-light.css +12 -6
  202. package/styles/multi-select/highcontrast.css +12 -6
  203. package/styles/multi-select/material-dark.css +12 -6
  204. package/styles/multi-select/material.css +12 -6
  205. package/styles/multi-select/material3-dark.css +12 -6
  206. package/styles/multi-select/material3.css +12 -6
  207. package/styles/multi-select/tailwind-dark.css +12 -6
  208. package/styles/multi-select/tailwind.css +12 -6
  209. package/styles/multi-select/tailwind3.css +12 -6
  210. package/styles/tailwind-dark-lite.css +17 -9
  211. package/styles/tailwind-dark.css +29 -15
  212. package/styles/tailwind-lite.css +17 -9
  213. package/styles/tailwind.css +29 -15
  214. package/styles/tailwind3-lite.css +19 -9
  215. package/styles/tailwind3.css +27 -13
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 32.2.9
3
+ * version : 33.1.44
4
4
  * Copyright Syncfusion Inc. 2001 - 2025. 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": "32.2.9",
3
+ "version": "33.1.44",
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": "~32.2.9",
12
- "@syncfusion/ej2-data": "~32.2.3",
13
- "@syncfusion/ej2-inputs": "~32.2.8",
14
- "@syncfusion/ej2-lists": "~32.2.7",
15
- "@syncfusion/ej2-navigations": "~32.2.9",
16
- "@syncfusion/ej2-notifications": "~32.2.3",
17
- "@syncfusion/ej2-popups": "~32.2.8"
11
+ "@syncfusion/ej2-base": "~33.1.44",
12
+ "@syncfusion/ej2-data": "~33.1.44",
13
+ "@syncfusion/ej2-inputs": "~33.1.44",
14
+ "@syncfusion/ej2-lists": "~33.1.44",
15
+ "@syncfusion/ej2-navigations": "~33.1.44",
16
+ "@syncfusion/ej2-notifications": "~33.1.44",
17
+ "@syncfusion/ej2-popups": "~33.1.44"
18
18
  },
19
19
  "devDependencies": {},
20
20
  "keywords": [
@@ -841,6 +841,9 @@ var ComboBox = /** @class */ (function (_super) {
841
841
  break;
842
842
  case 'allowCustom':
843
843
  break;
844
+ case 'placeholder':
845
+ Input.setPlaceholder(newProp.placeholder, this.inputElement, this.getModuleName());
846
+ break;
844
847
  default: {
845
848
  // eslint-disable-next-line max-len
846
849
  var comboProps = this.getPropObject(prop, newProp, oldProp);
@@ -37,6 +37,7 @@ export declare class VirtualScroll {
37
37
  private options;
38
38
  private touchModule;
39
39
  private component;
40
+ private scrollHandler;
40
41
  constructor(parent: IDropdownlist);
41
42
  addEventListener(): void;
42
43
  removeEventListener(): void;
@@ -104,7 +104,8 @@ var VirtualScroll = /** @class */ (function () {
104
104
  this.touchModule = new Touch(this.parent.popupContentElement, {
105
105
  scroll: this.popupScrollHandler.bind(this)
106
106
  });
107
- EventHandler.add(this.parent.popupContentElement, 'scroll', this.virtualScrollHandler(callback), this);
107
+ this.scrollHandler = this.virtualScrollHandler(callback);
108
+ EventHandler.add(this.parent.popupContentElement, 'scroll', this.scrollHandler, this);
108
109
  };
109
110
  VirtualScroll.prototype.getModuleName = function () {
110
111
  return 'VirtualScroll';
@@ -243,6 +244,7 @@ var VirtualScroll = /** @class */ (function () {
243
244
  this.parent.resetList(this.parent.dataSource, this.parent.fields, query);
244
245
  isListUpdated = false;
245
246
  this.parent.appendUncheckList = this.parent.dataSource instanceof DataManager ? this.parent.appendUncheckList : false;
247
+ oldUlElement = null;
246
248
  }
247
249
  }
248
250
  else {
@@ -258,6 +260,7 @@ var VirtualScroll = /** @class */ (function () {
258
260
  this.parent.setCurrentView = false;
259
261
  this.parent.resetList(this.parent.dataSource, this.parent.fields, query);
260
262
  isListUpdated = false;
263
+ reOrderList = null;
261
264
  }
262
265
  this.parent.totalItemsCount();
263
266
  }
@@ -273,6 +276,7 @@ var VirtualScroll = /** @class */ (function () {
273
276
  if (oldUlElement) {
274
277
  this.parent.list.querySelector('.e-virtual-ddl-content').removeChild(oldUlElement);
275
278
  }
279
+ oldUlElement = null;
276
280
  }
277
281
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
278
282
  var alreadyAddedData = this.parent.generatedDataObject[index];
@@ -606,6 +610,18 @@ var VirtualScroll = /** @class */ (function () {
606
610
  };
607
611
  };
608
612
  VirtualScroll.prototype.destroy = function () {
613
+ if (this.parent.popupContentElement) {
614
+ EventHandler.remove(this.parent.popupContentElement, 'wheel mousedown', this.popupScrollHandler);
615
+ EventHandler.remove(this.parent.popupContentElement, 'scroll', this.scrollHandler);
616
+ }
617
+ // Destroy touch module
618
+ if (this.touchModule) {
619
+ this.touchModule.destroy();
620
+ this.touchModule = null;
621
+ }
622
+ // Clear references
623
+ this.containerElementRect = null;
624
+ this.scrollHandler = null;
609
625
  this.removeEventListener();
610
626
  };
611
627
  return VirtualScroll;
@@ -302,6 +302,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
302
302
  protected isPrimitiveData: boolean;
303
303
  protected isCustomFiltering: boolean;
304
304
  protected debounceTimer: ReturnType<typeof setTimeout> | null;
305
+ private skeletonInstances;
305
306
  protected virtualListInfo: VirtualInfo;
306
307
  protected viewPortInfo: VirtualInfo;
307
308
  protected selectedValueInfo: VirtualInfo;
@@ -532,6 +533,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
532
533
  protected GetVirtualTrackHeight(): string;
533
534
  protected getTransformValues(): string;
534
535
  protected UpdateSkeleton(isSkeletonCountChange?: boolean, skeletonCount?: number): void;
536
+ protected destroySkeletons(): void;
535
537
  protected getLocaleName(): string;
536
538
  protected getTextByValue(value: string | number | boolean): string;
537
539
  protected getFormattedValue(value: string): string | number | boolean;
@@ -385,6 +385,7 @@ var DropDownBase = /** @class */ (function (_super) {
385
385
  }
386
386
  }
387
387
  }
388
+ ele = null;
388
389
  };
389
390
  DropDownBase.prototype.checkAndResetCache = function () {
390
391
  if (this.isVirtualizationEnabled) {
@@ -487,6 +488,9 @@ var DropDownBase = /** @class */ (function (_super) {
487
488
  DropDownBase.prototype.UpdateSkeleton = function (isSkeletonCountChange, skeletonCount) {
488
489
  var isContainSkeleton = this.list.querySelector('.e-virtual-ddl-content');
489
490
  var isContainVirtualList = this.list.querySelector('.e-virtual-list');
491
+ if (!this.skeletonInstances) {
492
+ this.skeletonInstances = [];
493
+ }
490
494
  if (isContainSkeleton && (!isContainVirtualList || isSkeletonCountChange) && this.isVirtualizationEnabled) {
491
495
  var totalSkeletonCount = isSkeletonCountChange ? skeletonCount : this.skeletonCount;
492
496
  for (var i = 0; i < totalSkeletonCount; i++) {
@@ -500,6 +504,7 @@ var DropDownBase = /** @class */ (function (_super) {
500
504
  width: '95%',
501
505
  cssClass: 'e-skeleton-text'
502
506
  });
507
+ this.skeletonInstances.push(skeleton);
503
508
  skeleton.appendTo(this.createElement('div'));
504
509
  liElement.appendChild(skeleton.element);
505
510
  if (isContainSkeleton.firstChild) {
@@ -532,6 +537,16 @@ var DropDownBase = /** @class */ (function (_super) {
532
537
  }
533
538
  }
534
539
  };
540
+ DropDownBase.prototype.destroySkeletons = function () {
541
+ if (this.skeletonInstances && this.skeletonInstances.length > 0) {
542
+ this.skeletonInstances.forEach(function (skeleton) {
543
+ if (skeleton && !skeleton.isDestroyed) {
544
+ skeleton.destroy();
545
+ }
546
+ });
547
+ this.skeletonInstances = [];
548
+ }
549
+ };
535
550
  DropDownBase.prototype.getLocaleName = function () {
536
551
  return 'drop-down-base';
537
552
  };
@@ -665,6 +680,8 @@ var DropDownBase = /** @class */ (function (_super) {
665
680
  }
666
681
  this.updateFields(fields.text, fields.value, isSelectGroupCheck ? fields.groupBy : this.fields.groupBy, this.fields.htmlAttributes, this.fields.iconCss, this.fields.disabled);
667
682
  this.resetList(jsonElement, fields);
683
+ element = null;
684
+ group = null;
668
685
  };
669
686
  DropDownBase.prototype.updateFields = function (text, value, groupBy, htmlAttributes, iconCss, disabled) {
670
687
  var field = {
@@ -1203,6 +1220,12 @@ var DropDownBase = /** @class */ (function (_super) {
1203
1220
  this.ulElement = this.list.querySelector('ul');
1204
1221
  this.postRender(this.list, list, this.bindEvent);
1205
1222
  }
1223
+ else if (this.getModuleName() === 'dropdownlist' && this.isVirtualizationEnabled) {
1224
+ this.list.innerHTML = '';
1225
+ this.createVirtualContent();
1226
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1227
+ this.updateListElements(this.listData);
1228
+ }
1206
1229
  }
1207
1230
  if (this.getModuleName() === 'multiselect' && this.isAngular && this.ngEle) {
1208
1231
  var popupHolder_1 = this.list;
@@ -1460,6 +1483,7 @@ var DropDownBase = /** @class */ (function (_super) {
1460
1483
  }
1461
1484
  this.fixedHeaderElement.innerHTML = groupData.innerHTML;
1462
1485
  this.renderGroupTemplate(this.fixedHeaderElement);
1486
+ groupData = null;
1463
1487
  };
1464
1488
  DropDownBase.prototype.updateGroupFixedHeader = function (element, target) {
1465
1489
  if (this.fixedHeaderElement && this.list && this.list.parentElement) {
@@ -1580,6 +1604,8 @@ var DropDownBase = /** @class */ (function (_super) {
1580
1604
  this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1581
1605
  this.updateListElements(listData);
1582
1606
  }
1607
+ oldUlElement = null;
1608
+ virtualUlElement = null;
1583
1609
  }
1584
1610
  }
1585
1611
  return ulElement;
@@ -2110,6 +2136,7 @@ var DropDownBase = /** @class */ (function (_super) {
2110
2136
  this.updateSelection();
2111
2137
  }
2112
2138
  this.addedNewItem = true;
2139
+ liCollections = null;
2113
2140
  };
2114
2141
  /**
2115
2142
  * Checks if the given HTML element is disabled.
@@ -2227,13 +2254,28 @@ var DropDownBase = /** @class */ (function (_super) {
2227
2254
  detach(this.list);
2228
2255
  }
2229
2256
  }
2257
+ if (this.generatedDataObject) {
2258
+ this.generatedDataObject = {};
2259
+ }
2260
+ this.destroySkeletons();
2230
2261
  this.liCollections = null;
2262
+ this.incrementalLiCollections = null;
2263
+ this.incrementalUlElement = null;
2231
2264
  this.ulElement = null;
2265
+ this.fixedHeaderElement = null;
2232
2266
  this.list = null;
2267
+ this.item = null;
2233
2268
  this.enableRtlElements = null;
2234
2269
  this.groupHeaderItems = null;
2235
2270
  this.fiteredGroupHeaderItems = null;
2236
2271
  this.rippleFun = null;
2272
+ this.popupContentElement = null;
2273
+ this.virtualListInfo = null;
2274
+ this.viewPortInfo = null;
2275
+ this.selectedValueInfo = null;
2276
+ this.virtualGroupDataSource = null;
2277
+ this.virtualSelectAllData = null;
2278
+ this.incrementalListData = null;
2237
2279
  _super.prototype.destroy.call(this);
2238
2280
  };
2239
2281
  __decorate([
@@ -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;
@@ -2632,6 +2646,7 @@ var DropDownList = /** @class */ (function (_super) {
2632
2646
  if (!(this.enableVirtualization && isNullOrUndefined(element))) {
2633
2647
  this.removeFocus();
2634
2648
  }
2649
+ element = null;
2635
2650
  };
2636
2651
  DropDownList.prototype.updateSelection = function () {
2637
2652
  var selectedItem = this.list.querySelector('.' + dropDownBaseClasses.selected);
@@ -2650,6 +2665,7 @@ var DropDownList = /** @class */ (function (_super) {
2650
2665
  }
2651
2666
  this.list.querySelector('.' + dropDownBaseClasses.li).classList.add(dropDownListClasses.focus);
2652
2667
  }
2668
+ selectedItem = null;
2653
2669
  };
2654
2670
  DropDownList.prototype.updateSelectionList = function () {
2655
2671
  var selectedItem = this.list && this.list.querySelector('.' + 'e-active');
@@ -2793,6 +2809,7 @@ var DropDownList = /** @class */ (function (_super) {
2793
2809
  parseInt(getComputedStyle(_this.inputElement).paddingLeft, 10) +
2794
2810
  parseInt(getComputedStyle(_this.inputElement.parentElement).borderLeftWidth, 10));
2795
2811
  }
2812
+ firstItem = null;
2796
2813
  }
2797
2814
  _this.createPopup(popupEle_1, offsetValue, left);
2798
2815
  _this.popupContentElement = _this.popupObj.element.querySelector('.e-content');
@@ -3046,6 +3063,8 @@ var DropDownList = /** @class */ (function (_super) {
3046
3063
  }
3047
3064
  }
3048
3065
  _this.activeStateChange();
3066
+ actionList = null;
3067
+ ulElement = null;
3049
3068
  },
3050
3069
  targetExitViewport: function () {
3051
3070
  if (!Browser.isDevice) {
@@ -3085,6 +3104,7 @@ var DropDownList = /** @class */ (function (_super) {
3085
3104
  var clearElement = this.filterInput.parentElement.querySelector('.' + dropDownListClasses.clearIcon);
3086
3105
  detach(this.filterInput);
3087
3106
  clearElement.parentElement.insertBefore(this.filterInput, clearElement);
3107
+ clearElement = null;
3088
3108
  };
3089
3109
  DropDownList.prototype.setPopupPosition = function (border) {
3090
3110
  var offsetValue;
@@ -3113,6 +3133,9 @@ var DropDownList = /** @class */ (function (_super) {
3113
3133
  }
3114
3134
  var inputHeight = this.inputWrapper.container.offsetHeight;
3115
3135
  offsetValue = offsetValue + liHeight + popupOffset - ((liHeight - inputHeight) / 2);
3136
+ selectedLI = null;
3137
+ firstItem = null;
3138
+ lastItem = null;
3116
3139
  return -offsetValue;
3117
3140
  };
3118
3141
  DropDownList.prototype.setWidth = function () {
@@ -3127,6 +3150,7 @@ var DropDownList = /** @class */ (function (_super) {
3127
3150
  width = (parseInt(width, 10) + (parseInt(getComputedStyle(firstItem).textIndent, 10) -
3128
3151
  parseInt(getComputedStyle(this.inputElement).paddingLeft, 10) +
3129
3152
  parseInt(getComputedStyle(this.inputElement.parentElement).borderLeftWidth, 10)) * 2) + 'px';
3153
+ firstItem = null;
3130
3154
  }
3131
3155
  return width;
3132
3156
  };
@@ -3383,7 +3407,7 @@ var DropDownList = /** @class */ (function (_super) {
3383
3407
  EventHandler.remove(this.filterInput, 'blur', this.onBlurHandler);
3384
3408
  EventHandler.remove(this.filterInput, 'paste', this.pasteHandler);
3385
3409
  }
3386
- if (this.allowFiltering && this.getModuleName() === 'dropdownlist') {
3410
+ if (this.allowFiltering && !isNullOrUndefined(this.filterInput) && this.getModuleName() === 'dropdownlist') {
3387
3411
  this.filterInput.removeAttribute('aria-activedescendant');
3388
3412
  this.filterInput.removeAttribute('aria-disabled');
3389
3413
  this.filterInput.removeAttribute('role');
@@ -3391,7 +3415,7 @@ var DropDownList = /** @class */ (function (_super) {
3391
3415
  this.filterInput.removeAttribute('autocapitalize');
3392
3416
  this.filterInput.removeAttribute('spellcheck');
3393
3417
  }
3394
- if (this.filterInput.parentNode) {
3418
+ if (!isNullOrUndefined(this.filterInput) && this.filterInput.parentNode) {
3395
3419
  this.filterInput.parentNode.removeChild(this.filterInput);
3396
3420
  var attrs = Array.prototype.slice.call(this.filterInput.attributes);
3397
3421
  for (var n = 0; n < attrs.length; n++) {
@@ -3542,6 +3566,7 @@ var DropDownList = /** @class */ (function (_super) {
3542
3566
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3543
3567
  this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3544
3568
  }
3569
+ ulElement = null;
3545
3570
  };
3546
3571
  DropDownList.prototype.destroyPopup = function () {
3547
3572
  this.isPopupOpen = false;
@@ -3748,6 +3773,8 @@ var DropDownList = /** @class */ (function (_super) {
3748
3773
  var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +
3749
3774
  parseInt(window.getComputedStyle(item).marginBottom, 10);
3750
3775
  listParent.remove();
3776
+ listParent = null;
3777
+ item = null;
3751
3778
  return listItemHeight;
3752
3779
  };
3753
3780
  DropDownList.prototype.setFooterTemplate = function (popupEle) {
@@ -3801,6 +3828,7 @@ var DropDownList = /** @class */ (function (_super) {
3801
3828
  }
3802
3829
  var contentEle = popupEle.querySelector('div.e-content');
3803
3830
  popupEle.insertBefore(this.header, contentEle);
3831
+ contentEle = null;
3804
3832
  };
3805
3833
  /**
3806
3834
  * Sets the enabled state to DropDownBase.
@@ -3865,6 +3893,7 @@ var DropDownList = /** @class */ (function (_super) {
3865
3893
  ((props.dataSource instanceof DataManager) || (!isNullOrUndefined(props) && Array.isArray(props.dataSource) &&
3866
3894
  !isNullOrUndefined(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {
3867
3895
  this.typedString = '';
3896
+ this.selectData = null;
3868
3897
  this.resetList(this.dataSource);
3869
3898
  }
3870
3899
  if (!this.isCustomFilter && !this.isFilterFocus && document.activeElement !== this.filterInput) {
@@ -4017,9 +4046,9 @@ var DropDownList = /** @class */ (function (_super) {
4017
4046
  return { value: void 0 };
4018
4047
  }
4019
4048
  if (this_1.enableVirtualization) {
4049
+ var isOfflineMode = this_1.dataSource instanceof DataManager &&
4050
+ this_1.dataSource.dataSource.offline === true;
4020
4051
  if (newProp.value && this_1.dataSource instanceof DataManager) {
4021
- var isOfflineMode = this_1.dataSource instanceof DataManager &&
4022
- this_1.dataSource.dataSource.offline === true;
4023
4052
  var checkField = isNullOrUndefined(this_1.fields.value) ? this_1.fields.text : this_1.fields.value;
4024
4053
  var value = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
4025
4054
  getValue(checkField, newProp.value) : newProp.value;
@@ -4103,6 +4132,7 @@ var DropDownList = /** @class */ (function (_super) {
4103
4132
  }
4104
4133
  }
4105
4134
  this_1.updateInputFields();
4135
+ element = null;
4106
4136
  }
4107
4137
  break;
4108
4138
  case 'footerTemplate':
@@ -4194,6 +4224,7 @@ var DropDownList = /** @class */ (function (_super) {
4194
4224
  }
4195
4225
  }
4196
4226
  };
4227
+ li = null;
4197
4228
  };
4198
4229
  DropDownList.prototype.updatePopupState = function () {
4199
4230
  if (this.beforePopupOpen) {
@@ -4366,6 +4397,7 @@ var DropDownList = /** @class */ (function (_super) {
4366
4397
  this.setValueTemplate();
4367
4398
  }
4368
4399
  }
4400
+ element = null;
4369
4401
  }
4370
4402
  else {
4371
4403
  this.resetSelection();
@@ -4491,6 +4523,7 @@ var DropDownList = /** @class */ (function (_super) {
4491
4523
  this.clear();
4492
4524
  }
4493
4525
  }
4526
+ li = null;
4494
4527
  }
4495
4528
  }
4496
4529
  }
@@ -4526,7 +4559,8 @@ var DropDownList = /** @class */ (function (_super) {
4526
4559
  if (this.inputElement) {
4527
4560
  var attrArray = ['readonly', 'aria-disabled', 'placeholder', 'aria-labelledby',
4528
4561
  'aria-expanded', 'autocomplete', 'aria-readonly', 'autocapitalize',
4529
- 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-describedby', 'aria-label'];
4562
+ 'spellcheck', 'aria-autocomplete', 'aria-live', 'aria-describedby', 'aria-label',
4563
+ 'role', 'value', 'style', 'type'];
4530
4564
  for (var i = 0; i < attrArray.length; i++) {
4531
4565
  this.inputElement.removeAttribute(attrArray[i]);
4532
4566
  }
@@ -4607,6 +4641,43 @@ var DropDownList = /** @class */ (function (_super) {
4607
4641
  detach(this.popupObj.element);
4608
4642
  this.popupObj.element = null;
4609
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;
4610
4681
  this.ulElement = null;
4611
4682
  this.list = null;
4612
4683
  this.clearIconElement = null;
@@ -4620,20 +4691,19 @@ var DropDownList = /** @class */ (function (_super) {
4620
4691
  this.header = null;
4621
4692
  this.previousSelectedLI = null;
4622
4693
  this.valueTempElement = null;
4623
- if (this.actionData.ulElement) {
4624
- detach(this.actionData.ulElement);
4625
- }
4626
- this.actionData.ulElement = null;
4627
- if (this.actionCompleteData.ulElement) {
4628
- detach(this.actionCompleteData.ulElement);
4629
- }
4630
- this.actionCompleteData.ulElement = null;
4694
+ this.resizer = null;
4631
4695
  if (this.inputElement && !isNullOrUndefined(this.inputElement.onchange)) {
4632
4696
  this.inputElement.onchange = null;
4633
4697
  }
4634
4698
  if (this.inputElement && !isNullOrUndefined(this.inputElement.onselect)) {
4635
4699
  this.inputElement.onselect = null;
4636
4700
  }
4701
+ if (this.enableVirtualization) {
4702
+ this.notify('destroy', { module: 'VirtualScroll' });
4703
+ this.virtualGroupDataSource = null;
4704
+ this.viewPortInfo = null;
4705
+ this.selectedValueInfo = null;
4706
+ }
4637
4707
  Input.destroy({
4638
4708
  element: this.inputElement,
4639
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;