@syncfusion/ej2-dropdowns 27.2.5 → 28.1.35

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 (224) hide show
  1. package/README.md +2 -2
  2. package/dist/ej2-dropdowns.min.js +3 -3
  3. package/dist/ej2-dropdowns.umd.min.js +3 -3
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +511 -40
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +510 -38
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/dist/global/ej2-dropdowns.min.js +3 -3
  10. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  11. package/dist/global/index.d.ts +2 -2
  12. package/package.json +13 -13
  13. package/src/auto-complete/auto-complete.js +5 -2
  14. package/src/combo-box/combo-box.js +2 -1
  15. package/src/common/incremental-search.d.ts +1 -1
  16. package/src/common/incremental-search.js +5 -1
  17. package/src/common/virtual-scroll.js +2 -1
  18. package/src/drop-down-base/drop-down-base.js +14 -2
  19. package/src/drop-down-list/drop-down-list-model.d.ts +31 -0
  20. package/src/drop-down-list/drop-down-list.d.ts +45 -1
  21. package/src/drop-down-list/drop-down-list.js +213 -13
  22. package/src/drop-down-tree/drop-down-tree.d.ts +1 -0
  23. package/src/drop-down-tree/drop-down-tree.js +4 -3
  24. package/src/list-box/list-box.d.ts +4 -0
  25. package/src/list-box/list-box.js +9 -4
  26. package/src/mention/mention.js +6 -1
  27. package/src/multi-select/multi-select-model.d.ts +31 -0
  28. package/src/multi-select/multi-select.d.ts +45 -0
  29. package/src/multi-select/multi-select.js +250 -10
  30. package/styles/auto-complete/_tailwind3-definition.scss +2 -0
  31. package/styles/auto-complete/bds.css +75 -0
  32. package/styles/auto-complete/bds.scss +4 -0
  33. package/styles/auto-complete/highcontrast.css +1 -1
  34. package/styles/auto-complete/tailwind3.css +101 -0
  35. package/styles/auto-complete/tailwind3.scss +4 -0
  36. package/styles/bds-lite.css +3013 -0
  37. package/styles/bds-lite.scss +28 -0
  38. package/styles/bds.css +3855 -0
  39. package/styles/bds.scss +33 -0
  40. package/styles/bootstrap-dark-lite.css +41 -2
  41. package/styles/bootstrap-dark.css +41 -2
  42. package/styles/bootstrap-lite.css +30 -1
  43. package/styles/bootstrap.css +30 -1
  44. package/styles/bootstrap4-lite.css +30 -0
  45. package/styles/bootstrap4.css +30 -0
  46. package/styles/bootstrap5-dark-lite.css +31 -0
  47. package/styles/bootstrap5-dark.css +31 -0
  48. package/styles/bootstrap5-lite.css +31 -0
  49. package/styles/bootstrap5.3-lite.css +31 -3
  50. package/styles/bootstrap5.3.css +31 -3
  51. package/styles/bootstrap5.css +31 -0
  52. package/styles/combo-box/_tailwind3-definition.scss +2 -0
  53. package/styles/combo-box/bds.css +75 -0
  54. package/styles/combo-box/bds.scss +4 -0
  55. package/styles/combo-box/highcontrast.css +1 -1
  56. package/styles/combo-box/tailwind3.css +101 -0
  57. package/styles/combo-box/tailwind3.scss +4 -0
  58. package/styles/drop-down-base/_bigger.scss +3 -0
  59. package/styles/drop-down-base/_layout.scss +7 -0
  60. package/styles/drop-down-base/_tailwind3-definition.scss +98 -0
  61. package/styles/drop-down-base/bds.css +496 -0
  62. package/styles/drop-down-base/bds.scss +4 -0
  63. package/styles/drop-down-base/bootstrap-dark.css +4 -0
  64. package/styles/drop-down-base/bootstrap.css +4 -0
  65. package/styles/drop-down-base/bootstrap4.css +4 -0
  66. package/styles/drop-down-base/bootstrap5-dark.css +4 -0
  67. package/styles/drop-down-base/bootstrap5.3.css +4 -0
  68. package/styles/drop-down-base/bootstrap5.css +4 -0
  69. package/styles/drop-down-base/fabric-dark.css +4 -0
  70. package/styles/drop-down-base/fabric.css +4 -0
  71. package/styles/drop-down-base/fluent-dark.css +4 -0
  72. package/styles/drop-down-base/fluent.css +4 -0
  73. package/styles/drop-down-base/fluent2.css +9 -5
  74. package/styles/drop-down-base/highcontrast-light.css +4 -0
  75. package/styles/drop-down-base/highcontrast.css +4 -0
  76. package/styles/drop-down-base/material-dark.css +4 -0
  77. package/styles/drop-down-base/material.css +4 -0
  78. package/styles/drop-down-base/material3-dark.css +4 -0
  79. package/styles/drop-down-base/material3.css +4 -0
  80. package/styles/drop-down-base/tailwind-dark.css +4 -0
  81. package/styles/drop-down-base/tailwind.css +4 -0
  82. package/styles/drop-down-base/tailwind3.css +392 -0
  83. package/styles/drop-down-base/tailwind3.scss +4 -0
  84. package/styles/drop-down-list/_highcontrast-definition.scss +1 -1
  85. package/styles/drop-down-list/_layout.scss +18 -2
  86. package/styles/drop-down-list/_tailwind3-definition.scss +135 -0
  87. package/styles/drop-down-list/_theme.scss +3 -1
  88. package/styles/drop-down-list/bds.css +609 -0
  89. package/styles/drop-down-list/bds.scss +10 -0
  90. package/styles/drop-down-list/bootstrap-dark.css +18 -1
  91. package/styles/drop-down-list/bootstrap.css +13 -1
  92. package/styles/drop-down-list/bootstrap4.css +13 -0
  93. package/styles/drop-down-list/bootstrap5-dark.css +13 -0
  94. package/styles/drop-down-list/bootstrap5.3.css +13 -0
  95. package/styles/drop-down-list/bootstrap5.css +13 -0
  96. package/styles/drop-down-list/fabric-dark.css +18 -1
  97. package/styles/drop-down-list/fabric.css +13 -1
  98. package/styles/drop-down-list/fluent-dark.css +13 -1
  99. package/styles/drop-down-list/fluent.css +13 -1
  100. package/styles/drop-down-list/fluent2.css +13 -1
  101. package/styles/drop-down-list/highcontrast-light.css +9 -1
  102. package/styles/drop-down-list/highcontrast.css +19 -1
  103. package/styles/drop-down-list/icons/_bootstrap-dark.scss +4 -0
  104. package/styles/drop-down-list/icons/_bootstrap.scss +4 -0
  105. package/styles/drop-down-list/icons/_bootstrap4.scss +4 -0
  106. package/styles/drop-down-list/icons/_bootstrap5.3.scss +4 -0
  107. package/styles/drop-down-list/icons/_bootstrap5.scss +4 -0
  108. package/styles/drop-down-list/icons/_fabric-dark.scss +4 -0
  109. package/styles/drop-down-list/icons/_fabric.scss +4 -0
  110. package/styles/drop-down-list/icons/_fluent.scss +4 -0
  111. package/styles/drop-down-list/icons/_fluent2.scss +4 -0
  112. package/styles/drop-down-list/icons/_highcontrast.scss +4 -0
  113. package/styles/drop-down-list/icons/_material-dark.scss +4 -0
  114. package/styles/drop-down-list/icons/_material.scss +4 -0
  115. package/styles/drop-down-list/icons/_material3.scss +4 -0
  116. package/styles/drop-down-list/icons/_tailwind.scss +4 -0
  117. package/styles/drop-down-list/icons/_tailwind3.scss +14 -0
  118. package/styles/drop-down-list/material-dark.css +18 -1
  119. package/styles/drop-down-list/material.css +13 -1
  120. package/styles/drop-down-list/material3-dark.css +13 -1
  121. package/styles/drop-down-list/material3.css +13 -1
  122. package/styles/drop-down-list/tailwind-dark.css +13 -1
  123. package/styles/drop-down-list/tailwind.css +13 -1
  124. package/styles/drop-down-list/tailwind3.css +456 -0
  125. package/styles/drop-down-list/tailwind3.scss +10 -0
  126. package/styles/drop-down-tree/_bigger.scss +41 -7
  127. package/styles/drop-down-tree/_layout.scss +34 -10
  128. package/styles/drop-down-tree/_tailwind3-definition.scss +67 -0
  129. package/styles/drop-down-tree/_theme.scss +3 -3
  130. package/styles/drop-down-tree/bds.css +712 -0
  131. package/styles/drop-down-tree/bds.scss +10 -0
  132. package/styles/drop-down-tree/bootstrap5.3.css +0 -3
  133. package/styles/drop-down-tree/icons/_tailwind3.scss +11 -0
  134. package/styles/drop-down-tree/tailwind3.css +512 -0
  135. package/styles/drop-down-tree/tailwind3.scss +10 -0
  136. package/styles/fabric-dark-lite.css +40 -1
  137. package/styles/fabric-dark.css +40 -1
  138. package/styles/fabric-lite.css +30 -1
  139. package/styles/fabric.css +30 -1
  140. package/styles/fluent-dark-lite.css +31 -1
  141. package/styles/fluent-dark.css +31 -1
  142. package/styles/fluent-lite.css +31 -1
  143. package/styles/fluent.css +31 -1
  144. package/styles/fluent2-lite.css +45 -12
  145. package/styles/fluent2.css +45 -12
  146. package/styles/highcontrast-light-lite.css +22 -1
  147. package/styles/highcontrast-light.css +22 -1
  148. package/styles/highcontrast-lite.css +41 -1
  149. package/styles/highcontrast.css +41 -1
  150. package/styles/list-box/_bigger.scss +18 -1
  151. package/styles/list-box/_layout.scss +29 -3
  152. package/styles/list-box/_tailwind3-definition.scss +123 -0
  153. package/styles/list-box/_theme.scss +11 -0
  154. package/styles/list-box/bds.css +971 -0
  155. package/styles/list-box/bds.scss +6 -0
  156. package/styles/list-box/fluent2.css +1 -1
  157. package/styles/list-box/icons/_tailwind3.scss +25 -0
  158. package/styles/list-box/tailwind3.css +991 -0
  159. package/styles/list-box/tailwind3.scss +6 -0
  160. package/styles/material-dark-lite.css +40 -1
  161. package/styles/material-dark.css +40 -1
  162. package/styles/material-lite.css +30 -1
  163. package/styles/material.css +30 -1
  164. package/styles/material3-dark-lite.css +32 -5
  165. package/styles/material3-dark.css +32 -5
  166. package/styles/material3-lite.css +32 -5
  167. package/styles/material3.css +32 -5
  168. package/styles/mention/_tailwind3-definition.scss +1 -0
  169. package/styles/mention/bds.css +78 -0
  170. package/styles/mention/bds.scss +6 -0
  171. package/styles/mention/tailwind3.css +67 -0
  172. package/styles/mention/tailwind3.scss +6 -0
  173. package/styles/multi-select/_bigger.scss +2 -2
  174. package/styles/multi-select/_bootstrap-dark-definition.scss +1 -1
  175. package/styles/multi-select/_layout.scss +28 -5
  176. package/styles/multi-select/_material3-definition.scss +1 -1
  177. package/styles/multi-select/_tailwind3-definition.scss +227 -0
  178. package/styles/multi-select/_theme.scss +1 -1
  179. package/styles/multi-select/bds.css +1575 -0
  180. package/styles/multi-select/bds.scss +10 -0
  181. package/styles/multi-select/bootstrap-dark.css +19 -1
  182. package/styles/multi-select/bootstrap.css +13 -0
  183. package/styles/multi-select/bootstrap4.css +13 -0
  184. package/styles/multi-select/bootstrap5-dark.css +14 -0
  185. package/styles/multi-select/bootstrap5.3.css +14 -0
  186. package/styles/multi-select/bootstrap5.css +14 -0
  187. package/styles/multi-select/fabric-dark.css +18 -0
  188. package/styles/multi-select/fabric.css +13 -0
  189. package/styles/multi-select/fluent-dark.css +14 -0
  190. package/styles/multi-select/fluent.css +14 -0
  191. package/styles/multi-select/fluent2.css +22 -5
  192. package/styles/multi-select/highcontrast-light.css +9 -0
  193. package/styles/multi-select/highcontrast.css +18 -0
  194. package/styles/multi-select/icons/_bootstrap-dark.scss +4 -0
  195. package/styles/multi-select/icons/_bootstrap.scss +4 -0
  196. package/styles/multi-select/icons/_bootstrap4.scss +4 -0
  197. package/styles/multi-select/icons/_bootstrap5.3.scss +4 -0
  198. package/styles/multi-select/icons/_bootstrap5.scss +4 -0
  199. package/styles/multi-select/icons/_fabric-dark.scss +4 -0
  200. package/styles/multi-select/icons/_fabric.scss +4 -0
  201. package/styles/multi-select/icons/_fluent.scss +4 -0
  202. package/styles/multi-select/icons/_fluent2.scss +4 -0
  203. package/styles/multi-select/icons/_highcontrast.scss +4 -0
  204. package/styles/multi-select/icons/_material-dark.scss +4 -0
  205. package/styles/multi-select/icons/_material.scss +4 -0
  206. package/styles/multi-select/icons/_material3.scss +4 -0
  207. package/styles/multi-select/icons/_tailwind.scss +4 -0
  208. package/styles/multi-select/icons/_tailwind3.scss +26 -0
  209. package/styles/multi-select/material-dark.css +18 -0
  210. package/styles/multi-select/material.css +13 -0
  211. package/styles/multi-select/material3-dark.css +15 -4
  212. package/styles/multi-select/material3.css +15 -4
  213. package/styles/multi-select/tailwind-dark.css +13 -0
  214. package/styles/multi-select/tailwind.css +13 -0
  215. package/styles/multi-select/tailwind3.css +1398 -0
  216. package/styles/multi-select/tailwind3.scss +10 -0
  217. package/styles/tailwind-dark-lite.css +30 -1
  218. package/styles/tailwind-dark.css +30 -1
  219. package/styles/tailwind-lite.css +30 -1
  220. package/styles/tailwind.css +30 -1
  221. package/styles/tailwind3-lite.css +2890 -0
  222. package/styles/tailwind3-lite.scss +28 -0
  223. package/styles/tailwind3.css +3551 -0
  224. package/styles/tailwind3.scss +33 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.2.5
4
- * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
3
+ * version : 28.1.35
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
7
7
  * licensing@syncfusion.com. Any infringement will be prosecuted under
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-dropdowns@*",
3
- "_id": "@syncfusion/ej2-dropdowns@27.2.4",
3
+ "_id": "@syncfusion/ej2-dropdowns@28.1.33",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-kwUZ/36PpkSlj/Dt+Pely38/+otGDsjMAHtJqd6pucIRE+qskmr+68t6w+e1ejmxsCSRRgLJ8TTOILCNQQT6Mg==",
5
+ "_integrity": "sha512-YF/N6gzak5p8mSlO0jATbD2F7zvRtXy7f1FSAArLfDsGfphyb05cGkXSSDltP75YrGfnF5vKgqBBHH+7ALIczQ==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -36,22 +36,22 @@
36
36
  "/@syncfusion/ej2-spreadsheet",
37
37
  "/@syncfusion/ej2-vue-dropdowns"
38
38
  ],
39
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-27.2.4.tgz",
40
- "_shasum": "8e13af0cfcf786fbae3399f4fb7145e43b708535",
39
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-28.1.33.tgz",
40
+ "_shasum": "69ac2cb1f2709d957d0821455f7e6730e18f1d5f",
41
41
  "_spec": "@syncfusion/ej2-dropdowns@*",
42
- "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
42
+ "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
43
43
  "author": {
44
44
  "name": "Syncfusion Inc."
45
45
  },
46
46
  "bundleDependencies": false,
47
47
  "dependencies": {
48
- "@syncfusion/ej2-base": "~27.2.5",
49
- "@syncfusion/ej2-data": "~27.2.2",
50
- "@syncfusion/ej2-inputs": "~27.2.4",
51
- "@syncfusion/ej2-lists": "~27.2.5",
52
- "@syncfusion/ej2-navigations": "~27.2.5",
53
- "@syncfusion/ej2-notifications": "~27.2.4",
54
- "@syncfusion/ej2-popups": "~27.2.2"
48
+ "@syncfusion/ej2-base": "~28.1.33",
49
+ "@syncfusion/ej2-data": "~28.1.33",
50
+ "@syncfusion/ej2-inputs": "~28.1.33",
51
+ "@syncfusion/ej2-lists": "~28.1.33",
52
+ "@syncfusion/ej2-navigations": "~28.1.35",
53
+ "@syncfusion/ej2-notifications": "~28.1.33",
54
+ "@syncfusion/ej2-popups": "~28.1.33"
55
55
  },
56
56
  "deprecated": false,
57
57
  "description": "Essential JS 2 DropDown Components",
@@ -76,7 +76,7 @@
76
76
  "module": "./index.js",
77
77
  "name": "@syncfusion/ej2-dropdowns",
78
78
  "typings": "index.d.ts",
79
- "version": "27.2.5",
79
+ "version": "28.1.35",
80
80
  "sideEffects": false,
81
81
  "homepage": "https://www.syncfusion.com/javascript-ui-controls"
82
82
  }
@@ -234,11 +234,11 @@ var AutoComplete = /** @class */ (function (_super) {
234
234
  });
235
235
  this.list.appendChild(virtualElement).appendChild(this.list.querySelector('.e-list-parent'));
236
236
  }
237
- if (!this.list.querySelector('.e-virtual-ddl') && document.getElementsByClassName('e-popup') && document.getElementsByClassName('e-popup')[0]) {
237
+ if (!this.list.querySelector('.e-virtual-ddl') && this.list.parentElement) {
238
238
  var virtualElement = this.createElement('div', {
239
239
  id: this.element.id + '_popup', className: 'e-virtual-ddl', styles: this.GetVirtualTrackHeight()
240
240
  });
241
- document.getElementsByClassName('e-popup')[0].querySelector('.e-dropdownbase').appendChild(virtualElement);
241
+ this.list.parentElement.querySelector('.e-dropdownbase').appendChild(virtualElement);
242
242
  }
243
243
  }
244
244
  if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount !== 0)) {
@@ -273,6 +273,9 @@ var AutoComplete = /** @class */ (function (_super) {
273
273
  if (!isNullOrUndefined(item)) {
274
274
  removeClass([item], dropDownListClasses.focus);
275
275
  }
276
+ if (!isNullOrUndefined(this.itemData) && !this.enableVirtualization) {
277
+ this.focusIndexItem();
278
+ }
276
279
  this.postBackAction();
277
280
  };
278
281
  AutoComplete.prototype.postBackAction = function () {
@@ -326,7 +326,7 @@ var ComboBox = /** @class */ (function (_super) {
326
326
  var inputValue = this.inputElement.value;
327
327
  var dataSource = this.sortedData;
328
328
  var type = this.typeOfData(dataSource).typeof;
329
- var activeItem = Search(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type);
329
+ var activeItem = Search(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type, this.ignoreAccent);
330
330
  if (this.enableVirtualization && inputValue !== '' && this.getModuleName() !== 'autocomplete' && this.isTyped && !this.allowFiltering) {
331
331
  var updatingincrementalindex = false;
332
332
  var isEndIndexValid = this.viewPortInfo.endIndex >= this.incrementalEndIndex &&
@@ -553,6 +553,7 @@ var ComboBox = /** @class */ (function (_super) {
553
553
  _super.prototype.clearAll.call(this, e);
554
554
  }
555
555
  if (this.isFiltering() && !isNullOrUndefined(e) && e.target === this.inputWrapper.clearButton) {
556
+ this.typedString = this.filterInput.value;
556
557
  this.searchLists(e);
557
558
  }
558
559
  };
@@ -31,7 +31,7 @@ export declare function incrementalSearch(keyCode: number, items: HTMLElement[],
31
31
  */
32
32
  export declare function Search(inputVal: string, items: HTMLElement[], searchType: SearchType, ignoreCase?: boolean, dataSource?: (string | number | boolean | {
33
33
  [key: string]: Object;
34
- })[], fields?: any, type?: string): {
34
+ })[], fields?: any, type?: string, ignoreAccent?: boolean): {
35
35
  item: Element | null;
36
36
  index: number | null;
37
37
  };
@@ -123,7 +123,7 @@ export function incrementalSearch(keyCode, items, selectedIndex, ignoreCase, ele
123
123
  * @param {string} [type] - Specifies the type.
124
124
  * @returns {{ item: Element | null, index: number | null }} Returns the search matched items.
125
125
  */
126
- export function Search(inputVal, items, searchType, ignoreCase, dataSource, fields, type) {
126
+ export function Search(inputVal, items, searchType, ignoreCase, dataSource, fields, type, ignoreAccent) {
127
127
  var listItems = items;
128
128
  ignoreCase = ignoreCase !== undefined && ignoreCase !== null ? ignoreCase : true;
129
129
  var itemData = { item: null, index: null };
@@ -149,6 +149,10 @@ export function Search(inputVal, items, searchType, ignoreCase, dataSource, fiel
149
149
  }
150
150
  var text = dataSource && filterValue ? (ignoreCase ? filterValue.toString().toLocaleLowerCase() : filterValue).replace(/^\s+|\s+$/g, '') : (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
151
151
  /* eslint-disable security/detect-non-literal-regexp */
152
+ if (ignoreAccent && text && queryStr) {
153
+ text = text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
154
+ queryStr = queryStr.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
155
+ }
152
156
  if ((searchType === 'Equal' && text === queryStr) || (searchType === 'StartsWith' && text.substr(0, strLength) === queryStr) || (searchType === 'EndsWith' && text.substr(text.length - queryStr.length) === queryStr) || (searchType === 'Contains' && new RegExp(queryStr, 'g').test(text))) {
153
157
  itemData.item = item;
154
158
  itemData.index = i;
@@ -491,7 +491,8 @@ var VirtualScroll = /** @class */ (function () {
491
491
  direction: direction, sentinelInfo: info, offsets: e,
492
492
  startIndex: this.parent.previousStartIndex, endIndex: this.parent.previousEndIndex
493
493
  };
494
- var vHeight = this.parent.popupContentElement.getBoundingClientRect().height;
494
+ var vHeight = this.parent.popupContentElement ?
495
+ this.parent.popupContentElement.getBoundingClientRect().height : 0;
495
496
  //Row Start and End Index calculation
496
497
  var rowHeight = this.parent.listItemHeight;
497
498
  var exactTopIndex = e.top / rowHeight;
@@ -1032,7 +1032,13 @@ var DropDownBase = /** @class */ (function (_super) {
1032
1032
  var focusItem = this.fields.disabled ? listElement.querySelector('.' + dropDownBaseClasses.li + ':not(.e-disabled') : listElement.querySelector('.' + dropDownBaseClasses.li);
1033
1033
  var selectedItem = listElement.querySelector('.' + dropDownBaseClasses.selected);
1034
1034
  if (focusItem && !selectedItem) {
1035
- focusItem.classList.add(dropDownBaseClasses.focus);
1035
+ if (this.isVirtualizationEnabled && this.viewPortInfo.startIndex !== 0) {
1036
+ var elements = this.ulElement.querySelectorAll('li.' + dropDownBaseClasses.li + ':not(.e-virtual-list)' + ':not(.e-hide-listitem)');
1037
+ focusItem = elements && elements.length > 0 ? elements[2] : focusItem;
1038
+ }
1039
+ if (focusItem) {
1040
+ focusItem.classList.add(dropDownBaseClasses.focus);
1041
+ }
1036
1042
  }
1037
1043
  if (list.length <= 0) {
1038
1044
  this.l10nUpdate();
@@ -1256,6 +1262,12 @@ var DropDownBase = /** @class */ (function (_super) {
1256
1262
  new DataManager(dataSource).executeLocal(new Query().take(100))
1257
1263
  : dataSource;
1258
1264
  ulElement = this.templateListItem((this.getModuleName() === 'autocomplete') ? spliceData : dataSource, fields);
1265
+ if (this.isIncrementalRequest) {
1266
+ this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);
1267
+ this.incrementalUlElement = ulElement;
1268
+ this.incrementalListData = listData;
1269
+ return ulElement;
1270
+ }
1259
1271
  if (this.isVirtualizationEnabled) {
1260
1272
  var oldUlElement = this.list.querySelector('.e-list-parent');
1261
1273
  var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
@@ -1543,7 +1555,7 @@ var DropDownBase = /** @class */ (function (_super) {
1543
1555
  updateData.dataSource = this.dataSource;
1544
1556
  }
1545
1557
  if (this.getModuleName() === 'listbox') {
1546
- if (!this.isReact || (this.isReact && !isNullOrUndefined(newProp.dataSource))) {
1558
+ if (!this.isReact || (this.isReact && (!isNullOrUndefined(newProp.dataSource) || !isNullOrUndefined(newProp.sortOrder)))) {
1547
1559
  this.updateDataSource(updateData, oldProp);
1548
1560
  }
1549
1561
  }
@@ -166,6 +166,15 @@ export interface DropDownListModel extends DropDownBaseModel{
166
166
  */
167
167
  enableVirtualization?: boolean;
168
168
 
169
+ /**
170
+ * Gets or sets a value that indicates whether the DropDownList popup can be resized.
171
+ * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
172
+ * allowing the user to resize the width and height of the popup.
173
+ *
174
+ * @default false
175
+ */
176
+ allowResize?: boolean;
177
+
169
178
  /**
170
179
  * Gets or sets the display text of the selected item in the component.
171
180
  *
@@ -280,4 +289,26 @@ export interface DropDownListModel extends DropDownBaseModel{
280
289
  */
281
290
  focus?: EmitType<Object>;
282
291
 
292
+ /**
293
+ * Triggers when the user finishes resizing the DropDown popup.
294
+ *
295
+ * @event resizeStop
296
+ */
297
+ resizeStop?: EmitType<Object>;
298
+
299
+ /**
300
+ * Triggers continuously while the DropDown popup is being resized by the user.
301
+ * This event provides live updates on the width and height of the popup.
302
+ *
303
+ * @event resizing
304
+ */
305
+ resizing?: EmitType<Object>;
306
+
307
+ /**
308
+ * Triggers when the user starts resizing the DropDown popup.
309
+ *
310
+ * @event resizeStart
311
+ */
312
+ resizeStart?: EmitType<Object>;
313
+
283
314
  }
@@ -110,6 +110,16 @@ export declare class DropDownList extends DropDownBase implements IInput {
110
110
  protected isFocused: boolean;
111
111
  private clearButton;
112
112
  protected autoFill: boolean;
113
+ private resizer;
114
+ private isResizing;
115
+ private originalHeight;
116
+ private originalWidth;
117
+ private originalMouseX;
118
+ private originalMouseY;
119
+ private resizeHeight;
120
+ private resizeWidth;
121
+ private isUpdateHeaderHeight;
122
+ private isUpdateFooterHeight;
113
123
  /**
114
124
  * Sets CSS classes to the root element of the component that allows customization of appearance.
115
125
  *
@@ -254,6 +264,14 @@ export declare class DropDownList extends DropDownBase implements IInput {
254
264
  * @default false
255
265
  */
256
266
  enableVirtualization: boolean;
267
+ /**
268
+ * Gets or sets a value that indicates whether the DropDownList popup can be resized.
269
+ * When set to `true`, a resize handle appears in the bottom-right corner of the popup,
270
+ * allowing the user to resize the width and height of the popup.
271
+ *
272
+ * @default false
273
+ */
274
+ allowResize: boolean;
257
275
  /**
258
276
  * Gets or sets the display text of the selected item in the component.
259
277
  *
@@ -355,6 +373,25 @@ export declare class DropDownList extends DropDownBase implements IInput {
355
373
  * @event focus
356
374
  */
357
375
  focus: EmitType<Object>;
376
+ /**
377
+ * Triggers when the user finishes resizing the DropDown popup.
378
+ *
379
+ * @event resizeStop
380
+ */
381
+ resizeStop: EmitType<Object>;
382
+ /**
383
+ * Triggers continuously while the DropDown popup is being resized by the user.
384
+ * This event provides live updates on the width and height of the popup.
385
+ *
386
+ * @event resizing
387
+ */
388
+ resizing: EmitType<Object>;
389
+ /**
390
+ * Triggers when the user starts resizing the DropDown popup.
391
+ *
392
+ * @event resizeStart
393
+ */
394
+ resizeStart: EmitType<Object>;
358
395
  /**
359
396
  * * Constructor for creating the DropDownList component.
360
397
  *
@@ -410,6 +447,8 @@ export declare class DropDownList extends DropDownBase implements IInput {
410
447
  protected focusOutAction(e?: MouseEvent | KeyboardEventArgs): void;
411
448
  protected onFocusOut(e?: MouseEvent | KeyboardEventArgs): void;
412
449
  protected onFocus(e?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent): void;
450
+ protected resizingWireEvent(): void;
451
+ protected resizingUnWireEvent(): void;
413
452
  private resetValueHandler;
414
453
  protected wireEvent(): void;
415
454
  protected bindCommonEvent(): void;
@@ -425,6 +464,9 @@ export declare class DropDownList extends DropDownBase implements IInput {
425
464
  private wireListEvents;
426
465
  private onSearch;
427
466
  private onServerIncrementalSearch;
467
+ protected startResizing(event: MouseEvent | TouchEvent): void;
468
+ protected resizePopup(event?: MouseEvent | TouchEvent): void;
469
+ protected stopResizing(event: MouseEvent | TouchEvent): void;
428
470
  protected onMouseClick(e: MouseEvent): void;
429
471
  private onMouseOver;
430
472
  private setHover;
@@ -535,7 +577,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
535
577
  [key: string]: Object;
536
578
  }, index?: number): void;
537
579
  private actionCompleteDataUpdate;
538
- private focusIndexItem;
580
+ protected focusIndexItem(): void;
539
581
  protected updateSelection(): void;
540
582
  private updateSelectionList;
541
583
  protected removeFocus(): void;
@@ -615,6 +657,7 @@ export declare class DropDownList extends DropDownBase implements IInput {
615
657
  * @returns {void}
616
658
  */
617
659
  showPopup(e?: MouseEvent | KeyboardEventArgs | TouchEvent): void;
660
+ private executeCloneElements;
618
661
  private invokeRenderPopup;
619
662
  protected renderHightSearch(): void;
620
663
  /**
@@ -690,6 +733,7 @@ export interface DropDownListClassList {
690
733
  backIcon: string;
691
734
  filterBarClearIcon: string;
692
735
  filterInput: string;
736
+ resizeIcon: string;
693
737
  filterParent: string;
694
738
  mobileFilter: string;
695
739
  footer: string;