@syncfusion/ej2-dropdowns 23.2.7 → 24.1.41-566987

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 (353) hide show
  1. package/CHANGELOG.md +2040 -2150
  2. package/{README.md → ReadMe.md} +217 -217
  3. package/dist/ej2-dropdowns.umd.min.js +1 -10
  4. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-dropdowns.es2015.js +710 -172
  6. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  7. package/dist/es6/ej2-dropdowns.es5.js +871 -332
  8. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  9. package/helpers/e2e/autocomplete.js +13 -13
  10. package/helpers/e2e/combobox.js +13 -13
  11. package/helpers/e2e/dropdownlist.js +13 -13
  12. package/helpers/e2e/index.js +3 -3
  13. package/helpers/e2e/listboxHelper.js +13 -13
  14. package/helpers/e2e/multiselect.js +13 -13
  15. package/license +2 -2
  16. package/package.json +80 -80
  17. package/src/auto-complete/auto-complete-model.d.ts +188 -188
  18. package/src/auto-complete/auto-complete.d.ts +12 -12
  19. package/src/auto-complete/auto-complete.js +30 -25
  20. package/src/combo-box/combo-box-model.d.ts +224 -224
  21. package/src/combo-box/combo-box.d.ts +27 -27
  22. package/src/combo-box/combo-box.js +103 -31
  23. package/src/common/incremental-search.d.ts +1 -1
  24. package/src/common/incremental-search.js +50 -7
  25. package/src/common/interface.d.ts +2 -0
  26. package/src/common/virtual-scroll.js +68 -47
  27. package/src/drop-down-base/drop-down-base-model.d.ts +200 -200
  28. package/src/drop-down-base/drop-down-base.d.ts +38 -18
  29. package/src/drop-down-base/drop-down-base.js +174 -60
  30. package/src/drop-down-list/drop-down-list-model.d.ts +202 -202
  31. package/src/drop-down-list/drop-down-list.d.ts +14 -7
  32. package/src/drop-down-list/drop-down-list.js +325 -61
  33. package/src/drop-down-tree/drop-down-tree-model.d.ts +468 -468
  34. package/src/drop-down-tree/drop-down-tree.js +43 -39
  35. package/src/list-box/list-box-model.d.ts +193 -193
  36. package/src/list-box/list-box.d.ts +2 -2
  37. package/src/list-box/list-box.js +27 -20
  38. package/src/mention/mention-model.d.ts +261 -261
  39. package/src/mention/mention.js +24 -20
  40. package/src/multi-select/checkbox-selection.js +4 -1
  41. package/src/multi-select/multi-select-model.d.ts +512 -512
  42. package/src/multi-select/multi-select.js +23 -21
  43. package/styles/auto-complete/_all.scss +1 -1
  44. package/styles/auto-complete/_bds-definition.scss +2 -0
  45. package/styles/auto-complete/_bootstrap-dark-definition.scss +3 -3
  46. package/styles/auto-complete/_bootstrap-definition.scss +2 -2
  47. package/styles/auto-complete/_bootstrap4-definition.scss +11 -11
  48. package/styles/auto-complete/_bootstrap5-definition.scss +2 -2
  49. package/styles/auto-complete/_fabric-dark-definition.scss +2 -2
  50. package/styles/auto-complete/_fabric-definition.scss +2 -2
  51. package/styles/auto-complete/_fluent-definition.scss +2 -2
  52. package/styles/auto-complete/_fusionnew-definition.scss +2 -2
  53. package/styles/auto-complete/_highcontrast-definition.scss +2 -2
  54. package/styles/auto-complete/_highcontrast-light-definition.scss +2 -2
  55. package/styles/auto-complete/_material-dark-definition.scss +2 -2
  56. package/styles/auto-complete/_material-definition.scss +2 -2
  57. package/styles/auto-complete/_material3-definition.scss +2 -2
  58. package/styles/auto-complete/_tailwind-definition.scss +2 -2
  59. package/styles/auto-complete/material3-dark.scss +1 -1
  60. package/styles/auto-complete/material3.scss +1 -1
  61. package/styles/bootstrap-dark.css +16 -9
  62. package/styles/bootstrap.css +16 -9
  63. package/styles/bootstrap4.css +11 -9
  64. package/styles/bootstrap5-dark.css +11 -9
  65. package/styles/bootstrap5.css +11 -9
  66. package/styles/combo-box/_all.scss +1 -1
  67. package/styles/combo-box/_bds-definition.scss +2 -0
  68. package/styles/combo-box/_bootstrap-dark-definition.scss +2 -2
  69. package/styles/combo-box/_bootstrap-definition.scss +2 -2
  70. package/styles/combo-box/_bootstrap4-definition.scss +11 -11
  71. package/styles/combo-box/_bootstrap5-definition.scss +2 -2
  72. package/styles/combo-box/_fabric-dark-definition.scss +2 -2
  73. package/styles/combo-box/_fabric-definition.scss +2 -2
  74. package/styles/combo-box/_fluent-definition.scss +2 -2
  75. package/styles/combo-box/_fusionnew-definition.scss +2 -2
  76. package/styles/combo-box/_highcontrast-definition.scss +2 -2
  77. package/styles/combo-box/_highcontrast-light-definition.scss +3 -3
  78. package/styles/combo-box/_material-dark-definition.scss +2 -2
  79. package/styles/combo-box/_material-definition.scss +2 -2
  80. package/styles/combo-box/_material3-definition.scss +2 -2
  81. package/styles/combo-box/_tailwind-definition.scss +2 -2
  82. package/styles/combo-box/material3-dark.scss +1 -1
  83. package/styles/combo-box/material3.scss +1 -1
  84. package/styles/drop-down-base/_all.scss +2 -2
  85. package/styles/drop-down-base/_bds-definition.scss +134 -0
  86. package/styles/drop-down-base/_bootstrap-dark-definition.scss +83 -83
  87. package/styles/drop-down-base/_bootstrap-definition.scss +83 -83
  88. package/styles/drop-down-base/_bootstrap4-definition.scss +90 -90
  89. package/styles/drop-down-base/_bootstrap5-definition.scss +117 -117
  90. package/styles/drop-down-base/_definition.scss +23 -23
  91. package/styles/drop-down-base/_fabric-dark-definition.scss +86 -86
  92. package/styles/drop-down-base/_fabric-definition.scss +84 -84
  93. package/styles/drop-down-base/_fluent-definition.scss +121 -121
  94. package/styles/drop-down-base/_fusionnew-definition.scss +117 -117
  95. package/styles/drop-down-base/_highcontrast-definition.scss +105 -105
  96. package/styles/drop-down-base/_highcontrast-light-definition.scss +105 -105
  97. package/styles/drop-down-base/_layout.scss +187 -195
  98. package/styles/drop-down-base/_material-dark-definition.scss +86 -86
  99. package/styles/drop-down-base/_material-definition.scss +85 -85
  100. package/styles/drop-down-base/_material3-definition.scss +87 -87
  101. package/styles/drop-down-base/_tailwind-definition.scss +129 -129
  102. package/styles/drop-down-base/_theme.scss +391 -391
  103. package/styles/drop-down-base/bootstrap-dark.css +0 -8
  104. package/styles/drop-down-base/bootstrap.css +0 -8
  105. package/styles/drop-down-base/bootstrap4.css +0 -8
  106. package/styles/drop-down-base/bootstrap5-dark.css +0 -8
  107. package/styles/drop-down-base/bootstrap5.css +0 -8
  108. package/styles/drop-down-base/fabric-dark.css +0 -8
  109. package/styles/drop-down-base/fabric.css +0 -8
  110. package/styles/drop-down-base/fluent-dark.css +0 -8
  111. package/styles/drop-down-base/fluent.css +0 -8
  112. package/styles/drop-down-base/highcontrast-light.css +0 -8
  113. package/styles/drop-down-base/highcontrast.css +0 -8
  114. package/styles/drop-down-base/material-dark.css +0 -8
  115. package/styles/drop-down-base/material.css +0 -8
  116. package/styles/drop-down-base/material3-dark.css +0 -8
  117. package/styles/drop-down-base/material3-dark.scss +1 -1
  118. package/styles/drop-down-base/material3.css +0 -8
  119. package/styles/drop-down-base/material3.scss +1 -1
  120. package/styles/drop-down-base/tailwind-dark.css +0 -8
  121. package/styles/drop-down-base/tailwind.css +0 -8
  122. package/styles/drop-down-list/_all.scss +3 -3
  123. package/styles/drop-down-list/_bds-definition.scss +134 -0
  124. package/styles/drop-down-list/_bootstrap-dark-definition.scss +157 -157
  125. package/styles/drop-down-list/_bootstrap-definition.scss +156 -156
  126. package/styles/drop-down-list/_bootstrap4-definition.scss +202 -202
  127. package/styles/drop-down-list/_bootstrap5-definition.scss +201 -201
  128. package/styles/drop-down-list/_fabric-dark-definition.scss +128 -128
  129. package/styles/drop-down-list/_fabric-definition.scss +124 -124
  130. package/styles/drop-down-list/_fluent-definition.scss +185 -185
  131. package/styles/drop-down-list/_fusionnew-definition.scss +201 -201
  132. package/styles/drop-down-list/_highcontrast-definition.scss +142 -142
  133. package/styles/drop-down-list/_highcontrast-light-definition.scss +144 -144
  134. package/styles/drop-down-list/_layout.scss +315 -310
  135. package/styles/drop-down-list/_material-dark-definition.scss +143 -143
  136. package/styles/drop-down-list/_material-definition.scss +167 -167
  137. package/styles/drop-down-list/_material3-definition.scss +180 -180
  138. package/styles/drop-down-list/_tailwind-definition.scss +134 -134
  139. package/styles/drop-down-list/_theme.scss +10 -10
  140. package/styles/drop-down-list/bootstrap-dark.css +5 -0
  141. package/styles/drop-down-list/bootstrap.css +5 -0
  142. package/styles/drop-down-list/bootstrap4.css +5 -0
  143. package/styles/drop-down-list/bootstrap5-dark.css +5 -0
  144. package/styles/drop-down-list/bootstrap5.css +5 -0
  145. package/styles/drop-down-list/fabric-dark.css +5 -0
  146. package/styles/drop-down-list/fabric.css +5 -0
  147. package/styles/drop-down-list/fluent-dark.css +5 -0
  148. package/styles/drop-down-list/fluent.css +5 -0
  149. package/styles/drop-down-list/highcontrast-light.css +5 -0
  150. package/styles/drop-down-list/highcontrast.css +5 -0
  151. package/styles/drop-down-list/icons/_bds.scss +14 -0
  152. package/styles/drop-down-list/icons/_bootstrap-dark.scss +14 -14
  153. package/styles/drop-down-list/icons/_bootstrap.scss +14 -14
  154. package/styles/drop-down-list/icons/_bootstrap4.scss +14 -14
  155. package/styles/drop-down-list/icons/_bootstrap5.scss +14 -14
  156. package/styles/drop-down-list/icons/_fabric-dark.scss +14 -14
  157. package/styles/drop-down-list/icons/_fabric.scss +14 -14
  158. package/styles/drop-down-list/icons/_fluent.scss +14 -14
  159. package/styles/drop-down-list/icons/_fusionnew.scss +14 -14
  160. package/styles/drop-down-list/icons/_highcontrast-light.scss +14 -14
  161. package/styles/drop-down-list/icons/_highcontrast.scss +14 -14
  162. package/styles/drop-down-list/icons/_material-dark.scss +14 -14
  163. package/styles/drop-down-list/icons/_material.scss +14 -14
  164. package/styles/drop-down-list/icons/_material3.scss +14 -14
  165. package/styles/drop-down-list/icons/_tailwind.scss +14 -14
  166. package/styles/drop-down-list/material-dark.css +5 -0
  167. package/styles/drop-down-list/material.css +5 -0
  168. package/styles/drop-down-list/material3-dark.css +5 -0
  169. package/styles/drop-down-list/material3-dark.scss +1 -1
  170. package/styles/drop-down-list/material3.css +5 -0
  171. package/styles/drop-down-list/material3.scss +1 -1
  172. package/styles/drop-down-list/tailwind-dark.css +5 -0
  173. package/styles/drop-down-list/tailwind.css +5 -0
  174. package/styles/drop-down-tree/_all.scss +2 -2
  175. package/styles/drop-down-tree/_bds-definition.scss +61 -0
  176. package/styles/drop-down-tree/_bootstrap-dark-definition.scss +71 -71
  177. package/styles/drop-down-tree/_bootstrap-definition.scss +70 -70
  178. package/styles/drop-down-tree/_bootstrap4-definition.scss +71 -71
  179. package/styles/drop-down-tree/_bootstrap5-definition.scss +59 -59
  180. package/styles/drop-down-tree/_fabric-dark-definition.scss +71 -71
  181. package/styles/drop-down-tree/_fabric-definition.scss +71 -71
  182. package/styles/drop-down-tree/_fluent-definition.scss +65 -65
  183. package/styles/drop-down-tree/_fusionnew-definition.scss +59 -59
  184. package/styles/drop-down-tree/_highcontrast-definition.scss +71 -71
  185. package/styles/drop-down-tree/_highcontrast-light-definition.scss +71 -71
  186. package/styles/drop-down-tree/_layout.scss +1423 -1412
  187. package/styles/drop-down-tree/_material-dark-definition.scss +72 -72
  188. package/styles/drop-down-tree/_material-definition.scss +72 -72
  189. package/styles/drop-down-tree/_material3-definition.scss +76 -76
  190. package/styles/drop-down-tree/_tailwind-definition.scss +61 -61
  191. package/styles/drop-down-tree/_theme.scss +132 -132
  192. package/styles/drop-down-tree/bootstrap-dark.css +4 -0
  193. package/styles/drop-down-tree/bootstrap.css +4 -0
  194. package/styles/drop-down-tree/bootstrap4.css +4 -0
  195. package/styles/drop-down-tree/bootstrap5-dark.css +4 -0
  196. package/styles/drop-down-tree/bootstrap5.css +4 -0
  197. package/styles/drop-down-tree/fabric-dark.css +4 -0
  198. package/styles/drop-down-tree/fabric.css +4 -0
  199. package/styles/drop-down-tree/fluent-dark.css +6 -0
  200. package/styles/drop-down-tree/fluent.css +6 -0
  201. package/styles/drop-down-tree/highcontrast-light.css +4 -0
  202. package/styles/drop-down-tree/highcontrast.css +4 -0
  203. package/styles/drop-down-tree/icons/_bds.scss +11 -0
  204. package/styles/drop-down-tree/icons/_bootstrap-dark.scss +11 -11
  205. package/styles/drop-down-tree/icons/_bootstrap.scss +11 -11
  206. package/styles/drop-down-tree/icons/_bootstrap4.scss +11 -11
  207. package/styles/drop-down-tree/icons/_bootstrap5.scss +11 -11
  208. package/styles/drop-down-tree/icons/_fabric-dark.scss +11 -11
  209. package/styles/drop-down-tree/icons/_fabric.scss +11 -11
  210. package/styles/drop-down-tree/icons/_fluent.scss +11 -11
  211. package/styles/drop-down-tree/icons/_fusionnew.scss +11 -11
  212. package/styles/drop-down-tree/icons/_highcontrast-light.scss +11 -11
  213. package/styles/drop-down-tree/icons/_highcontrast.scss +11 -11
  214. package/styles/drop-down-tree/icons/_material-dark.scss +11 -11
  215. package/styles/drop-down-tree/icons/_material.scss +11 -11
  216. package/styles/drop-down-tree/icons/_material3.scss +11 -11
  217. package/styles/drop-down-tree/icons/_tailwind-dark.scss +11 -11
  218. package/styles/drop-down-tree/icons/_tailwind.scss +11 -11
  219. package/styles/drop-down-tree/material-dark.css +4 -0
  220. package/styles/drop-down-tree/material.css +4 -0
  221. package/styles/drop-down-tree/material3-dark.css +4 -0
  222. package/styles/drop-down-tree/material3-dark.scss +1 -1
  223. package/styles/drop-down-tree/material3.css +4 -0
  224. package/styles/drop-down-tree/material3.scss +1 -1
  225. package/styles/drop-down-tree/tailwind-dark.css +4 -0
  226. package/styles/drop-down-tree/tailwind.css +4 -0
  227. package/styles/fabric-dark.css +12 -9
  228. package/styles/fabric.css +12 -9
  229. package/styles/fluent-dark.css +18 -9
  230. package/styles/fluent.css +18 -9
  231. package/styles/highcontrast-light.css +12 -9
  232. package/styles/highcontrast.css +12 -9
  233. package/styles/list-box/_all.scss +2 -2
  234. package/styles/list-box/_bds-definition.scss +136 -0
  235. package/styles/list-box/_bootstrap-dark-definition.scss +126 -126
  236. package/styles/list-box/_bootstrap-definition.scss +119 -119
  237. package/styles/list-box/_bootstrap4-definition.scss +124 -124
  238. package/styles/list-box/_bootstrap5-definition.scss +120 -120
  239. package/styles/list-box/_fabric-dark-definition.scss +126 -126
  240. package/styles/list-box/_fabric-definition.scss +119 -119
  241. package/styles/list-box/_fluent-definition.scss +120 -120
  242. package/styles/list-box/_fusionnew-definition.scss +111 -111
  243. package/styles/list-box/_highcontrast-definition.scss +119 -119
  244. package/styles/list-box/_highcontrast-light-definition.scss +126 -126
  245. package/styles/list-box/_layout.scss +542 -542
  246. package/styles/list-box/_material-dark-definition.scss +126 -126
  247. package/styles/list-box/_material-definition.scss +119 -119
  248. package/styles/list-box/_material3-definition.scss +119 -119
  249. package/styles/list-box/_tailwind-definition.scss +119 -119
  250. package/styles/list-box/_theme.scss +382 -382
  251. package/styles/list-box/icons/_bds.scss +25 -0
  252. package/styles/list-box/icons/_bootstrap-dark.scss +25 -25
  253. package/styles/list-box/icons/_bootstrap.scss +25 -25
  254. package/styles/list-box/icons/_bootstrap4.scss +25 -25
  255. package/styles/list-box/icons/_bootstrap5.scss +25 -25
  256. package/styles/list-box/icons/_fabric-dark.scss +25 -25
  257. package/styles/list-box/icons/_fabric.scss +25 -25
  258. package/styles/list-box/icons/_fluent.scss +25 -25
  259. package/styles/list-box/icons/_fusionnew.scss +25 -25
  260. package/styles/list-box/icons/_highcontrast-light.scss +25 -25
  261. package/styles/list-box/icons/_highcontrast.scss +25 -25
  262. package/styles/list-box/icons/_material-dark.scss +25 -25
  263. package/styles/list-box/icons/_material.scss +25 -25
  264. package/styles/list-box/icons/_material3.scss +25 -25
  265. package/styles/list-box/icons/_tailwind-dark.scss +25 -25
  266. package/styles/list-box/icons/_tailwind.scss +25 -25
  267. package/styles/list-box/material3-dark.scss +1 -1
  268. package/styles/list-box/material3.scss +1 -1
  269. package/styles/material-dark.css +11 -9
  270. package/styles/material.css +11 -9
  271. package/styles/material3-dark.css +11 -9
  272. package/styles/material3-dark.scss +1 -1
  273. package/styles/material3.css +11 -9
  274. package/styles/material3.scss +1 -1
  275. package/styles/mention/_all.scss +1 -1
  276. package/styles/mention/_bds-definition.scss +1 -0
  277. package/styles/mention/_bootstrap-dark-definition.scss +3 -3
  278. package/styles/mention/_bootstrap-definition.scss +3 -3
  279. package/styles/mention/_bootstrap4-definition.scss +3 -3
  280. package/styles/mention/_bootstrap5-definition.scss +1 -1
  281. package/styles/mention/_fabric-dark-definition.scss +2 -2
  282. package/styles/mention/_fabric-definition.scss +3 -3
  283. package/styles/mention/_fluent-definition.scss +1 -1
  284. package/styles/mention/_fusionnew-definition.scss +1 -1
  285. package/styles/mention/_highcontrast-definition.scss +3 -3
  286. package/styles/mention/_highcontrast-light-definition.scss +3 -3
  287. package/styles/mention/_layout.scss +6 -6
  288. package/styles/mention/_material-dark-definition.scss +3 -3
  289. package/styles/mention/_material-definition.scss +3 -3
  290. package/styles/mention/_material3-definition.scss +1 -1
  291. package/styles/mention/_tailwind-definition.scss +1 -1
  292. package/styles/mention/material3-dark.scss +1 -1
  293. package/styles/mention/material3.scss +1 -1
  294. package/styles/multi-select/_all.scss +2 -2
  295. package/styles/multi-select/_bds-definition.scss +235 -0
  296. package/styles/multi-select/_bootstrap-dark-definition.scss +207 -203
  297. package/styles/multi-select/_bootstrap-definition.scss +196 -192
  298. package/styles/multi-select/_bootstrap4-definition.scss +278 -278
  299. package/styles/multi-select/_bootstrap5-definition.scss +230 -230
  300. package/styles/multi-select/_fabric-dark-definition.scss +192 -192
  301. package/styles/multi-select/_fabric-definition.scss +183 -183
  302. package/styles/multi-select/_fluent-definition.scss +246 -241
  303. package/styles/multi-select/_fusionnew-definition.scss +227 -227
  304. package/styles/multi-select/_highcontrast-definition.scss +303 -303
  305. package/styles/multi-select/_highcontrast-light-definition.scss +297 -297
  306. package/styles/multi-select/_layout.scss +2206 -2199
  307. package/styles/multi-select/_material-dark-definition.scss +230 -230
  308. package/styles/multi-select/_material-definition.scss +223 -223
  309. package/styles/multi-select/_material3-definition.scss +246 -246
  310. package/styles/multi-select/_tailwind-definition.scss +235 -235
  311. package/styles/multi-select/_theme.scss +586 -586
  312. package/styles/multi-select/bootstrap-dark.css +7 -1
  313. package/styles/multi-select/bootstrap.css +7 -1
  314. package/styles/multi-select/bootstrap4.css +2 -1
  315. package/styles/multi-select/bootstrap5-dark.css +2 -1
  316. package/styles/multi-select/bootstrap5.css +2 -1
  317. package/styles/multi-select/fabric-dark.css +3 -1
  318. package/styles/multi-select/fabric.css +3 -1
  319. package/styles/multi-select/fluent-dark.css +7 -1
  320. package/styles/multi-select/fluent.css +7 -1
  321. package/styles/multi-select/highcontrast-light.css +3 -1
  322. package/styles/multi-select/highcontrast.css +3 -1
  323. package/styles/multi-select/icons/_bds.scss +26 -0
  324. package/styles/multi-select/icons/_bootstrap-dark.scss +26 -26
  325. package/styles/multi-select/icons/_bootstrap.scss +26 -26
  326. package/styles/multi-select/icons/_bootstrap4.scss +37 -37
  327. package/styles/multi-select/icons/_bootstrap5.scss +26 -26
  328. package/styles/multi-select/icons/_fabric-dark.scss +26 -26
  329. package/styles/multi-select/icons/_fabric.scss +26 -26
  330. package/styles/multi-select/icons/_fluent.scss +55 -55
  331. package/styles/multi-select/icons/_fusionnew.scss +26 -26
  332. package/styles/multi-select/icons/_highcontrast-light.scss +26 -26
  333. package/styles/multi-select/icons/_highcontrast.scss +26 -26
  334. package/styles/multi-select/icons/_material-dark.scss +693 -693
  335. package/styles/multi-select/icons/_material.scss +693 -693
  336. package/styles/multi-select/icons/_material3.scss +692 -692
  337. package/styles/multi-select/icons/_tailwind.scss +26 -26
  338. package/styles/multi-select/material-dark.css +2 -1
  339. package/styles/multi-select/material.css +2 -1
  340. package/styles/multi-select/material3-dark.css +2 -1
  341. package/styles/multi-select/material3-dark.scss +1 -1
  342. package/styles/multi-select/material3.css +2 -1
  343. package/styles/multi-select/material3.scss +1 -1
  344. package/styles/multi-select/tailwind-dark.css +2 -1
  345. package/styles/multi-select/tailwind.css +2 -1
  346. package/styles/tailwind-dark.css +11 -9
  347. package/styles/tailwind.css +11 -9
  348. package/.eslintrc.json +0 -260
  349. package/dist/ej2-dropdowns.min.js +0 -10
  350. package/dist/global/ej2-dropdowns.min.js +0 -11
  351. package/dist/global/ej2-dropdowns.min.js.map +0 -1
  352. package/dist/global/index.d.ts +0 -14
  353. package/tslint.json +0 -111
@@ -12,6 +12,7 @@ import { TreeView } from '@syncfusion/ej2-navigations';
12
12
  */
13
13
  var queryString = '';
14
14
  var prevString = '';
15
+ var tempQueryString = '';
15
16
  var matches$1 = [];
16
17
  var activeClass = 'e-active';
17
18
  var prevElementId = '';
@@ -26,21 +27,49 @@ var prevElementId = '';
26
27
  * @param {string} elementId - Specifies the list element ID.
27
28
  * @returns {Element} Returns list item based on key code matches with list text content.
28
29
  */
29
- function incrementalSearch(keyCode, items, selectedIndex, ignoreCase, elementId) {
30
- queryString += String.fromCharCode(keyCode);
31
- setTimeout(function () {
32
- queryString = '';
33
- }, 1000);
30
+ function incrementalSearch(keyCode, items, selectedIndex, ignoreCase, elementId, queryStringUpdated, currentValue, isVirtual, refresh) {
31
+ if (!queryStringUpdated || queryString === '') {
32
+ if (tempQueryString != '') {
33
+ queryString = tempQueryString + String.fromCharCode(keyCode);
34
+ tempQueryString = '';
35
+ }
36
+ else {
37
+ queryString += String.fromCharCode(keyCode);
38
+ }
39
+ }
40
+ else if (queryString == prevString) {
41
+ tempQueryString = String.fromCharCode(keyCode);
42
+ }
43
+ if (isVirtual) {
44
+ setTimeout(function () {
45
+ tempQueryString = '';
46
+ }, 700);
47
+ setTimeout(function () {
48
+ queryString = '';
49
+ }, 3000);
50
+ }
51
+ else {
52
+ setTimeout(function () {
53
+ queryString = '';
54
+ }, 1000);
55
+ }
34
56
  var index;
35
57
  queryString = ignoreCase ? queryString.toLowerCase() : queryString;
36
- if (prevElementId === elementId && prevString === queryString) {
58
+ if (prevElementId === elementId && prevString === queryString && !refresh) {
37
59
  for (var i = 0; i < matches$1.length; i++) {
38
60
  if (matches$1[i].classList.contains(activeClass)) {
39
61
  index = i;
40
62
  break;
41
63
  }
64
+ if (currentValue && matches$1[i].textContent.toLowerCase() === currentValue.toLowerCase()) {
65
+ index = i;
66
+ break;
67
+ }
42
68
  }
43
69
  index = index + 1;
70
+ if (isVirtual) {
71
+ return matches$1[index] && matches$1.length - 1 != index ? matches$1[index] : matches$1[matches$1.length];
72
+ }
44
73
  return matches$1[index] ? matches$1[index] : matches$1[0];
45
74
  }
46
75
  else {
@@ -70,6 +99,20 @@ function incrementalSearch(keyCode, items, selectedIndex, ignoreCase, elementId)
70
99
  } while (i !== selectedIndex);
71
100
  prevString = queryString;
72
101
  prevElementId = elementId;
102
+ if (isVirtual) {
103
+ var indexUpdated = false;
104
+ for (var i_1 = 0; i_1 < matches$1.length; i_1++) {
105
+ if (currentValue && matches$1[i_1].textContent.toLowerCase() === currentValue.toLowerCase()) {
106
+ index = i_1;
107
+ indexUpdated = true;
108
+ break;
109
+ }
110
+ }
111
+ if (currentValue && indexUpdated) {
112
+ index = index + 1;
113
+ }
114
+ return matches$1[index] ? matches$1[index] : matches$1[0];
115
+ }
73
116
  return matches$1[0];
74
117
  }
75
118
  }
@@ -106,7 +149,7 @@ function Search(inputVal, items, searchType, ignoreCase, dataSource, fields, typ
106
149
  });
107
150
  });
108
151
  }
109
- text = dataSource && filterValue ? (ignoreCase ? filterValue.toLocaleLowerCase() : filterValue).replace(/^\s+|\s+$/g, '') : (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
152
+ text = dataSource && filterValue ? (ignoreCase ? filterValue.toString().toLocaleLowerCase() : filterValue).replace(/^\s+|\s+$/g, '') : (ignoreCase ? item.textContent.toLocaleLowerCase() : item.textContent).replace(/^\s+|\s+$/g, '');
110
153
  /* eslint-disable security/detect-non-literal-regexp */
111
154
  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))) {
112
155
  itemData.item = item;
@@ -195,53 +238,53 @@ function revertHighlightSearch(content) {
195
238
  }
196
239
  }
197
240
 
198
- var __assign = (undefined && undefined.__assign) || function () {
199
- __assign = Object.assign || function(t) {
200
- for (var s, i = 1, n = arguments.length; i < n; i++) {
201
- s = arguments[i];
202
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
203
- t[p] = s[p];
204
- }
205
- return t;
206
- };
207
- return __assign.apply(this, arguments);
208
- };
209
- var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
210
- return new (P || (P = Promise))(function (resolve, reject) {
211
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
212
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
213
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
214
- step((generator = generator.apply(thisArg, _arguments || [])).next());
215
- });
216
- };
217
- var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
218
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
219
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
220
- function verb(n) { return function (v) { return step([n, v]); }; }
221
- function step(op) {
222
- if (f) throw new TypeError("Generator is already executing.");
223
- while (_) try {
224
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
225
- if (y = 0, t) op = [op[0] & 2, t.value];
226
- switch (op[0]) {
227
- case 0: case 1: t = op; break;
228
- case 4: _.label++; return { value: op[1], done: false };
229
- case 5: _.label++; y = op[1]; op = [0]; continue;
230
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
231
- default:
232
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
233
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
234
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
235
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
236
- if (t[2]) _.ops.pop();
237
- _.trys.pop(); continue;
238
- }
239
- op = body.call(thisArg, _);
240
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
241
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
242
- }
243
- };
244
- var VirtualScroll = /** @__PURE__ @class */ (function () {
241
+ var __assign = (undefined && undefined.__assign) || function () {
242
+ __assign = Object.assign || function(t) {
243
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
244
+ s = arguments[i];
245
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
246
+ t[p] = s[p];
247
+ }
248
+ return t;
249
+ };
250
+ return __assign.apply(this, arguments);
251
+ };
252
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
253
+ return new (P || (P = Promise))(function (resolve, reject) {
254
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
255
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
256
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
257
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
258
+ });
259
+ };
260
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
261
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
262
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
263
+ function verb(n) { return function (v) { return step([n, v]); }; }
264
+ function step(op) {
265
+ if (f) throw new TypeError("Generator is already executing.");
266
+ while (_) try {
267
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
268
+ if (y = 0, t) op = [op[0] & 2, t.value];
269
+ switch (op[0]) {
270
+ case 0: case 1: t = op; break;
271
+ case 4: _.label++; return { value: op[1], done: false };
272
+ case 5: _.label++; y = op[1]; op = [0]; continue;
273
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
274
+ default:
275
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
276
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
277
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
278
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
279
+ if (t[2]) _.ops.pop();
280
+ _.trys.pop(); continue;
281
+ }
282
+ op = body.call(thisArg, _);
283
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
284
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
285
+ }
286
+ };
287
+ var VirtualScroll = /** @class */ (function () {
245
288
  function VirtualScroll(parent) {
246
289
  var _this = this;
247
290
  this.sentinelInfo = {
@@ -344,9 +387,24 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
344
387
  query = this.getPageQuery(query, virtualItemStartIndex, virtualItemEndIndex);
345
388
  }
346
389
  }
390
+ var tempCustomFilter = this.parent.isCustomFilter;
391
+ if (this.component === 'combobox') {
392
+ var totalData = 0;
393
+ if (this.parent.dataSource instanceof DataManager) {
394
+ totalData = this.parent.dataSource.dataSource.json.length;
395
+ }
396
+ else if (this.parent.dataSource && this.parent.dataSource.length > 0) {
397
+ totalData = this.parent.dataSource.length;
398
+ }
399
+ if (totalData > 0) {
400
+ this.parent.isCustomFilter = (totalData == this.parent.totalItemCount && this.parent.queryString != this.parent.typedString) ? true : this.parent.isCustomFilter;
401
+ }
402
+ }
347
403
  this.parent.resetList(dataSource, this.parent.fields, query);
404
+ this.parent.isCustomFilter = tempCustomFilter;
348
405
  };
349
406
  VirtualScroll.prototype.removeSkipAndTakeEvents = function (query) {
407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
350
408
  query.queries = query.queries.filter(function (event) {
351
409
  return event.fn !== 'onSkip' && event.fn !== 'onTake';
352
410
  });
@@ -375,6 +433,9 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
375
433
  if (virtualContentElement) {
376
434
  (virtualContentElement).style = this.parent.getTransformValues();
377
435
  }
436
+ if (this.parent.fields.groupBy) {
437
+ this.parent.scrollStop();
438
+ }
378
439
  };
379
440
  VirtualScroll.prototype.generateQueryAndSetQueryIndexAsync = function (query, isPopupOpen) {
380
441
  var isStartIndexInitialised = false;
@@ -425,6 +486,9 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
425
486
  }
426
487
  else {
427
488
  this.parent.getSkeletonCount(true);
489
+ if (this.component === 'combobox') {
490
+ this.parent.skeletonCount = this.parent.totalItemCount != 0 && this.parent.totalItemCount < (this.parent.itemCount * 2) ? 0 : this.parent.skeletonCount;
491
+ }
428
492
  }
429
493
  }
430
494
  return [4 /*yield*/, this.dataProcessAsync()];
@@ -587,26 +651,26 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
587
651
  * Common source
588
652
  */
589
653
 
590
- var __extends = (undefined && undefined.__extends) || (function () {
591
- var extendStatics = function (d, b) {
592
- extendStatics = Object.setPrototypeOf ||
593
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
594
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
595
- return extendStatics(d, b);
596
- };
597
- return function (d, b) {
598
- extendStatics(d, b);
599
- function __() { this.constructor = d; }
600
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
601
- };
602
- })();
603
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
604
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
605
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
606
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
607
- return c > 3 && r && Object.defineProperty(target, key, r), r;
608
- };
609
- var FieldSettings = /** @__PURE__ @class */ (function (_super) {
654
+ var __extends = (undefined && undefined.__extends) || (function () {
655
+ var extendStatics = function (d, b) {
656
+ extendStatics = Object.setPrototypeOf ||
657
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
658
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
659
+ return extendStatics(d, b);
660
+ };
661
+ return function (d, b) {
662
+ extendStatics(d, b);
663
+ function __() { this.constructor = d; }
664
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
665
+ };
666
+ })();
667
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
668
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
669
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
670
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
671
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
672
+ };
673
+ var FieldSettings = /** @class */ (function (_super) {
610
674
  __extends(FieldSettings, _super);
611
675
  function FieldSettings() {
612
676
  return _super !== null && _super.apply(this, arguments) || this;
@@ -655,7 +719,7 @@ var HIDE_GROUPLIST = 'e-hide-group-header';
655
719
  /**
656
720
  * DropDownBase component will generate the list items based on given data and act as base class to drop-down related components
657
721
  */
658
- var DropDownBase = /** @__PURE__ @class */ (function (_super) {
722
+ var DropDownBase = /** @class */ (function (_super) {
659
723
  __extends(DropDownBase, _super);
660
724
  /**
661
725
  * * Constructor for DropDownBase class
@@ -678,6 +742,9 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
678
742
  _this.virtualizedItemsCount = 0;
679
743
  _this.totalItemCount = 0;
680
744
  _this.dataCount = 0;
745
+ _this.isRemoteDataUpdated = false;
746
+ _this.isIncrementalRequest = false;
747
+ _this.itemCount = 10;
681
748
  return _this;
682
749
  }
683
750
  DropDownBase.prototype.getPropObject = function (prop, newProp, oldProp) {
@@ -1074,7 +1141,7 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1074
1141
  if (!eventArgs.cancel) {
1075
1142
  _this.isRequesting = true;
1076
1143
  _this.showSpinner();
1077
- if (dataSource instanceof DataManager) {
1144
+ if (dataSource instanceof DataManager && !_this.virtualGroupDataSource) {
1078
1145
  _this.isRequested = true;
1079
1146
  if (_this.isDataFetched) {
1080
1147
  _this.emptyDataRequest(fields);
@@ -1083,8 +1150,39 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1083
1150
  eventArgs.data.executeQuery(_this.getQuery(eventArgs.query)).then(function (e) {
1084
1151
  _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;
1085
1152
  _this.trigger('actionComplete', e, function (e) {
1153
+ if (!_this.virtualGroupDataSource && _this.isVirtualizationEnabled) {
1154
+ _this.isRemoteDataUpdated = true;
1155
+ if ((_this.getModuleName() === 'combobox' && _this.isAllowFiltering && _this.isVirtualizationEnabled && e.result)) {
1156
+ e.result = e.result.result;
1157
+ }
1158
+ if (e.result.length > 0) {
1159
+ var dataSource_2 = e.result;
1160
+ if (_this.isVirtualizationEnabled && _this.fields.groupBy) {
1161
+ var data = new DataManager(dataSource_2).executeLocal(new Query().group(_this.fields.groupBy));
1162
+ _this.virtualGroupDataSource = data.records;
1163
+ }
1164
+ else {
1165
+ _this.virtualGroupDataSource = dataSource_2;
1166
+ _this.hideSpinner();
1167
+ _this.isRequested = false;
1168
+ _this.isRequesting = false;
1169
+ _this.setListData(dataSource_2, fields, query, event);
1170
+ return;
1171
+ }
1172
+ }
1173
+ _this.hideSpinner();
1174
+ _this.isRequested = false;
1175
+ _this.isRequesting = false;
1176
+ _this.updatePopupState();
1177
+ return;
1178
+ }
1086
1179
  if (!e.cancel) {
1180
+ _this.isRequesting = false;
1087
1181
  var listItems = e.result;
1182
+ if (_this.isIncrementalRequest) {
1183
+ ulElement = _this.renderItems(listItems, fields);
1184
+ return;
1185
+ }
1088
1186
  if (listItems.length === 0) {
1089
1187
  _this.isDataFetched = true;
1090
1188
  }
@@ -1098,7 +1196,6 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1098
1196
  _this.isRequested = false;
1099
1197
  _this.bindChildItems(listItems, ulElement, fields, e);
1100
1198
  }
1101
- _this.isRequesting = false;
1102
1199
  });
1103
1200
  }).catch(function (e) {
1104
1201
  _this.isRequested = false;
@@ -1109,8 +1206,25 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1109
1206
  }
1110
1207
  else {
1111
1208
  _this.isRequesting = false;
1112
- var dataManager = new DataManager(eventArgs.data);
1113
- var listItems = (_this.getQuery(eventArgs.query)).executeLocal(dataManager);
1209
+ var listItems = void 0;
1210
+ if (_this.isVirtualizationEnabled && !_this.virtualGroupDataSource && _this.fields.groupBy) {
1211
+ var data = new DataManager(_this.dataSource).executeLocal(new Query().group(_this.fields.groupBy));
1212
+ _this.virtualGroupDataSource = data.records;
1213
+ }
1214
+ var dataManager = _this.isVirtualizationEnabled && _this.virtualGroupDataSource ? new DataManager(_this.virtualGroupDataSource) : new DataManager(eventArgs.data);
1215
+ listItems = (_this.getQuery(eventArgs.query)).executeLocal(dataManager);
1216
+ if (_this.isVirtualizationEnabled && _this.getModuleName() === 'autocomplete' && (listItems.count != 0 && listItems.count < (_this.itemCount * 2))) {
1217
+ var newQuery = _this.getQuery(eventArgs.query);
1218
+ if (newQuery) {
1219
+ for (var queryElements = 0; queryElements < newQuery.queries.length; queryElements++) {
1220
+ if (newQuery.queries[queryElements].fn === 'onTake') {
1221
+ newQuery.queries[queryElements].e.nos = listItems.count;
1222
+ listItems = (newQuery).executeLocal(dataManager);
1223
+ break;
1224
+ }
1225
+ }
1226
+ }
1227
+ }
1114
1228
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1115
1229
  _this.dataCount = listItems.count;
1116
1230
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1120,6 +1234,10 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1120
1234
  var localDataArgs = { cancel: false, result: listItems };
1121
1235
  _this.isPreventChange = _this.isAngular && _this.preventChange ? true : _this.isPreventChange;
1122
1236
  _this.trigger('actionComplete', localDataArgs, function (localDataArgs) {
1237
+ if (_this.isIncrementalRequest) {
1238
+ ulElement = _this.renderItems(localDataArgs.result, fields);
1239
+ return;
1240
+ }
1123
1241
  if (!localDataArgs.cancel) {
1124
1242
  ulElement = _this.renderItems(localDataArgs.result, fields);
1125
1243
  _this.onActionComplete(ulElement, localDataArgs.result, event);
@@ -1139,6 +1257,12 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1139
1257
  });
1140
1258
  }
1141
1259
  };
1260
+ DropDownBase.prototype.updatePopupState = function () {
1261
+ // Used this method in component side.
1262
+ };
1263
+ DropDownBase.prototype.updateRemoteData = function () {
1264
+ this.setListData(this.dataSource, this.fields, this.query);
1265
+ };
1142
1266
  DropDownBase.prototype.bindChildItems = function (listItems, ulElement, fields, e) {
1143
1267
  var _this = this;
1144
1268
  if (listItems.length >= 100 && this.getModuleName() === 'autocomplete') {
@@ -1194,6 +1318,7 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1194
1318
  var listItems = [];
1195
1319
  this.onActionComplete(this.renderItems(listItems, fields), listItems);
1196
1320
  this.isRequested = false;
1321
+ this.isRequesting = false;
1197
1322
  this.hideSpinner();
1198
1323
  };
1199
1324
  DropDownBase.prototype.showSpinner = function () {
@@ -1226,7 +1351,9 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1226
1351
  if (this.isReact) {
1227
1352
  this.clearTemplate(['itemTemplate', 'groupTemplate', 'actionFailureTemplate', 'noRecordsTemplate']);
1228
1353
  }
1229
- this.fixedHeaderElement = isNullOrUndefined(this.fixedHeaderElement) ? this.fixedHeaderElement : null;
1354
+ if (!this.isVirtualizationEnabled) {
1355
+ this.fixedHeaderElement = isNullOrUndefined(this.fixedHeaderElement) ? this.fixedHeaderElement : null;
1356
+ }
1230
1357
  if (this.getModuleName() === 'multiselect' && this.properties.allowCustomValue && this.fields.groupBy) {
1231
1358
  for (var i = 0; i < ulElement.childElementCount; i++) {
1232
1359
  if (ulElement.children[i].classList.contains('e-list-group-item')) {
@@ -1367,25 +1494,67 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1367
1494
  this.scrollStop(e);
1368
1495
  }
1369
1496
  };
1370
- DropDownBase.prototype.scrollStop = function (e) {
1497
+ DropDownBase.prototype.scrollStop = function (e, isDownkey) {
1371
1498
  var target = !isNullOrUndefined(e) ? e.target : this.list;
1372
1499
  var liHeight = parseInt(getComputedStyle(this.getValidLi(), null).getPropertyValue('height'), 10);
1373
1500
  var topIndex = Math.round(target.scrollTop / liHeight);
1374
1501
  var liCollections = this.list.querySelectorAll('li' + ':not(.e-hide-listitem)');
1502
+ var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
1503
+ var count = 0;
1504
+ var isCount = false;
1375
1505
  for (var i = topIndex; i > -1; i--) {
1376
- if (!isNullOrUndefined(liCollections[i]) && liCollections[i].classList.contains(dropDownBaseClasses.group)) {
1377
- var currentLi = liCollections[i];
1378
- this.fixedHeaderElement.innerHTML = currentLi.innerHTML;
1379
- this.fixedHeaderElement.style.top = target.scrollTop + 'px';
1380
- this.fixedHeaderElement.style.display = 'block';
1381
- break;
1506
+ var index = this.isVirtualizationEnabled ? i + virtualListCount : i;
1507
+ if (this.isVirtualizationEnabled) {
1508
+ var groupListLength = this.list.querySelectorAll('.e-list-group-item').length;
1509
+ var loadedGroupList = 0;
1510
+ if (isCount) {
1511
+ count++;
1512
+ }
1513
+ if (this.updateGroupHeader(index, liCollections, target)) {
1514
+ loadedGroupList++;
1515
+ if (count >= this.getPageCount()) {
1516
+ break;
1517
+ }
1518
+ if (groupListLength <= loadedGroupList) {
1519
+ break;
1520
+ }
1521
+ }
1522
+ if (isDownkey) {
1523
+ if ((!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.selected) && this.getModuleName() !== 'autocomplete') || (!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.focus) && this.getModuleName() === 'autocomplete')) {
1524
+ count++;
1525
+ isCount = true;
1526
+ }
1527
+ }
1382
1528
  }
1383
1529
  else {
1384
- this.fixedHeaderElement.style.display = 'none';
1385
- this.fixedHeaderElement.style.top = 'none';
1530
+ if (this.updateGroupHeader(index, liCollections, target)) {
1531
+ break;
1532
+ }
1386
1533
  }
1387
1534
  }
1388
1535
  };
1536
+ DropDownBase.prototype.getPageCount = function (returnExactCount) {
1537
+ var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :
1538
+ getComputedStyle(this.getItems()[0], null).getPropertyValue('height');
1539
+ var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));
1540
+ return returnExactCount ? pageCount : Math.round(pageCount);
1541
+ };
1542
+ DropDownBase.prototype.updateGroupHeader = function (index, liCollections, target) {
1543
+ if (!isNullOrUndefined(liCollections[index]) && liCollections[index].classList.contains(dropDownBaseClasses.group)) {
1544
+ this.updateGroupFixedHeader(liCollections[index], target);
1545
+ return true;
1546
+ }
1547
+ else {
1548
+ this.fixedHeaderElement.style.display = 'none';
1549
+ this.fixedHeaderElement.style.top = 'none';
1550
+ return false;
1551
+ }
1552
+ };
1553
+ DropDownBase.prototype.updateGroupFixedHeader = function (element, target) {
1554
+ this.fixedHeaderElement.innerHTML = element.innerHTML;
1555
+ this.fixedHeaderElement.style.top = target.scrollTop + 'px';
1556
+ this.fixedHeaderElement.style.display = 'block';
1557
+ };
1389
1558
  DropDownBase.prototype.getValidLi = function () {
1390
1559
  return this.liCollections[0];
1391
1560
  };
@@ -1419,45 +1588,54 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1419
1588
  var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
1420
1589
  if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
1421
1590
  virtualUlElement.replaceChild(ulElement, oldUlElement);
1422
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1423
- this.ulElement = this.list.querySelector('ul');
1424
- this.listData = listData;
1425
- this.postRender(this.list, listData, this.bindEvent);
1591
+ this.updateListElements(listData);
1426
1592
  }
1427
1593
  else if ((!virtualUlElement)) {
1428
1594
  this.list.innerHTML = '';
1429
- this.list.appendChild(ulElement);
1430
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1431
- this.ulElement = this.list.querySelector('ul');
1432
- this.listData = listData;
1433
- this.postRender(this.list, listData, this.bindEvent);
1595
+ this.createVirtualContent();
1596
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1597
+ this.updateListElements(listData);
1434
1598
  }
1435
1599
  }
1436
1600
  }
1437
1601
  else {
1438
1602
  ulElement = this.createListItems(listData, fields);
1603
+ if (this.isIncrementalRequest) {
1604
+ this.incrementalLiCollections = ulElement.querySelectorAll('.' + dropDownBaseClasses.li);
1605
+ this.incrementalUlElement = ulElement;
1606
+ this.incrementalListData = listData;
1607
+ return ulElement;
1608
+ }
1439
1609
  if (this.isVirtualizationEnabled) {
1440
1610
  var oldUlElement = this.list.querySelector('.e-list-parent');
1441
1611
  var virtualUlElement = this.list.querySelector('.e-virtual-ddl-content');
1442
1612
  if ((listData.length >= this.virtualizedItemsCount && oldUlElement && virtualUlElement) || (oldUlElement && virtualUlElement && this.isAllowFiltering) || (oldUlElement && virtualUlElement && this.getModuleName() === 'autocomplete')) {
1443
1613
  virtualUlElement.replaceChild(ulElement, oldUlElement);
1444
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1445
- this.ulElement = this.list.querySelector('ul');
1446
- this.listData = listData;
1447
- this.postRender(this.list, listData, this.bindEvent);
1614
+ this.updateListElements(listData);
1448
1615
  }
1449
1616
  else if ((!virtualUlElement)) {
1450
1617
  this.list.innerHTML = '';
1451
- this.list.appendChild(ulElement);
1452
- this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1453
- this.ulElement = this.list.querySelector('ul');
1454
- this.listData = listData;
1455
- this.postRender(this.list, listData, this.bindEvent);
1618
+ this.createVirtualContent();
1619
+ this.list.querySelector('.e-virtual-ddl-content').appendChild(ulElement);
1620
+ this.updateListElements(listData);
1456
1621
  }
1457
1622
  }
1458
1623
  }
1459
1624
  return ulElement;
1460
1625
  };
1626
+ DropDownBase.prototype.createVirtualContent = function () {
1627
+ if (!this.list.querySelector('.e-virtual-ddl-content')) {
1628
+ this.list.appendChild(this.createElement('div', {
1629
+ className: 'e-virtual-ddl-content',
1630
+ }));
1631
+ }
1632
+ };
1633
+ DropDownBase.prototype.updateListElements = function (listData) {
1634
+ this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
1635
+ this.ulElement = this.list.querySelector('ul');
1636
+ this.listData = listData;
1637
+ this.postRender(this.list, listData, this.bindEvent);
1638
+ };
1461
1639
  DropDownBase.prototype.templateListItem = function (dataSource, fields) {
1462
1640
  var option = this.listOption(dataSource, fields);
1463
1641
  option.templateID = this.itemTemplateId;
@@ -1529,11 +1707,11 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1529
1707
  * @param {string | number | boolean} value - Specifies given value.
1530
1708
  * @returns {number} Returns the index of the item.
1531
1709
  */
1532
- DropDownBase.prototype.getIndexByValueFilter = function (value) {
1710
+ DropDownBase.prototype.getIndexByValue = function (value) {
1533
1711
  var index;
1534
- var listItems = this.renderItems(this.selectData, this.fields);
1535
- for (var i = 0; i < listItems.children.length; i++) {
1536
- if (!isNullOrUndefined(value) && listItems.children[i].getAttribute('data-value') === value.toString()) {
1712
+ var listItems = this.getItems();
1713
+ for (var i = 0; i < listItems.length; i++) {
1714
+ if (!isNullOrUndefined(value) && listItems[i].getAttribute('data-value') === value.toString()) {
1537
1715
  index = i;
1538
1716
  break;
1539
1717
  }
@@ -1546,11 +1724,11 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
1546
1724
  * @param {string | number | boolean} value - Specifies given value.
1547
1725
  * @returns {number} Returns the index of the item.
1548
1726
  */
1549
- DropDownBase.prototype.getIndexByValue = function (value) {
1727
+ DropDownBase.prototype.getIndexByValueFilter = function (value) {
1550
1728
  var index;
1551
- var listItems = this.getItems();
1552
- for (var i = 0; i < listItems.length; i++) {
1553
- if (!isNullOrUndefined(value) && listItems[i].getAttribute('data-value') === value.toString()) {
1729
+ var listItems = this.renderItems(this.selectData, this.fields);
1730
+ for (var i = 0; i < listItems.children.length; i++) {
1731
+ if (!isNullOrUndefined(value) && listItems.children[i].getAttribute('data-value') === value.toString()) {
1554
1732
  index = i;
1555
1733
  break;
1556
1734
  }
@@ -2033,25 +2211,25 @@ var DropDownBase = /** @__PURE__ @class */ (function (_super) {
2033
2211
  * export all modules from current location
2034
2212
  */
2035
2213
 
2036
- var __extends$1 = (undefined && undefined.__extends) || (function () {
2037
- var extendStatics = function (d, b) {
2038
- extendStatics = Object.setPrototypeOf ||
2039
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2040
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
2041
- return extendStatics(d, b);
2042
- };
2043
- return function (d, b) {
2044
- extendStatics(d, b);
2045
- function __() { this.constructor = d; }
2046
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2047
- };
2048
- })();
2049
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2050
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2051
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2052
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2053
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2054
- };
2214
+ var __extends$1 = (undefined && undefined.__extends) || (function () {
2215
+ var extendStatics = function (d, b) {
2216
+ extendStatics = Object.setPrototypeOf ||
2217
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2218
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
2219
+ return extendStatics(d, b);
2220
+ };
2221
+ return function (d, b) {
2222
+ extendStatics(d, b);
2223
+ function __() { this.constructor = d; }
2224
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2225
+ };
2226
+ })();
2227
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2228
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2229
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2230
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2231
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2232
+ };
2055
2233
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
2056
2234
  /// <reference path='../drop-down-base/drop-down-base-model.d.ts'/>
2057
2235
  // don't use space in classnames
@@ -2100,7 +2278,7 @@ var inputObject = {
2100
2278
  * dropDownListObj.appendTo("#list");
2101
2279
  * ```
2102
2280
  */
2103
- var DropDownList = /** @__PURE__ @class */ (function (_super) {
2281
+ var DropDownList = /** @class */ (function (_super) {
2104
2282
  __extends$1(DropDownList, _super);
2105
2283
  /**
2106
2284
  * * Constructor for creating the DropDownList component.
@@ -2115,7 +2293,6 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2115
2293
  _this.isListSearched = false;
2116
2294
  _this.preventChange = false;
2117
2295
  _this.isAngular = false;
2118
- _this.itemCount = 10;
2119
2296
  _this.virtualListHeight = 0;
2120
2297
  _this.isVirtualScrolling = false;
2121
2298
  _this.isPreventScrollAction = false;
@@ -2130,6 +2307,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2130
2307
  _this.pageCount = 0;
2131
2308
  _this.isPreventKeyAction = false;
2132
2309
  _this.generatedDataObject = {};
2310
+ _this.incrementalQueryString = '';
2311
+ _this.incrementalEndIndex = 0;
2312
+ _this.incrementalStartIndex = 0;
2313
+ _this.incrementalPreQueryString = '';
2133
2314
  _this.isTouched = false;
2134
2315
  _this.virtualListInfo = {
2135
2316
  currentPageNumber: null,
@@ -2239,8 +2420,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2239
2420
  };
2240
2421
  DropDownList.prototype.renderList = function (e, isEmptyData) {
2241
2422
  _super.prototype.render.call(this, e, isEmptyData);
2242
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2243
- this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
2423
+ if (!(this.dataSource instanceof DataManager)) {
2424
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2425
+ this.totalItemCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
2426
+ }
2244
2427
  this.unWireListEvents();
2245
2428
  this.wireListEvents();
2246
2429
  };
@@ -2704,12 +2887,136 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2704
2887
  DropDownList.prototype.isValidLI = function (li) {
2705
2888
  return (li && li.hasAttribute('role') && li.getAttribute('role') === 'option');
2706
2889
  };
2890
+ DropDownList.prototype.updateIncrementalInfo = function (startIndex, endIndex) {
2891
+ this.viewPortInfo.startIndex = startIndex;
2892
+ this.viewPortInfo.endIndex = endIndex;
2893
+ this.updateVirtualItemIndex();
2894
+ this.isIncrementalRequest = true;
2895
+ this.resetList(this.dataSource, this.fields, this.query);
2896
+ this.isIncrementalRequest = false;
2897
+ };
2898
+ DropDownList.prototype.updateIncrementalView = function (startIndex, endIndex) {
2899
+ this.viewPortInfo.startIndex = startIndex;
2900
+ this.viewPortInfo.endIndex = endIndex;
2901
+ this.updateVirtualItemIndex();
2902
+ this.resetList(this.dataSource, this.fields, this.query);
2903
+ this.UpdateSkeleton();
2904
+ this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
2905
+ this.ulElement = this.list.querySelector('ul');
2906
+ };
2907
+ DropDownList.prototype.updateIncrementalItemIndex = function (startIndex, endIndex) {
2908
+ this.incrementalStartIndex = startIndex;
2909
+ this.incrementalEndIndex = endIndex;
2910
+ };
2707
2911
  DropDownList.prototype.incrementalSearch = function (e) {
2708
2912
  if (this.liCollections.length > 0) {
2709
- var li = incrementalSearch(e.charCode, this.liCollections, this.activeIndex, true, this.element.id);
2710
- if (!isNullOrUndefined(li)) {
2711
- this.setSelection(li, e);
2712
- this.setScrollPosition();
2913
+ if (this.enableVirtualization) {
2914
+ var updatingincrementalindex = false;
2915
+ var queryStringUpdated = false;
2916
+ var activeElement = this.ulElement.getElementsByClassName('e-active')[0];
2917
+ var currentValue = activeElement ? activeElement.textContent : null;
2918
+ if (this.incrementalQueryString == '') {
2919
+ this.incrementalQueryString = String.fromCharCode(e.charCode);
2920
+ this.incrementalPreQueryString = this.incrementalQueryString;
2921
+ }
2922
+ else if (String.fromCharCode(e.charCode).toLocaleLowerCase() == this.incrementalPreQueryString.toLocaleLowerCase()) {
2923
+ queryStringUpdated = true;
2924
+ }
2925
+ else {
2926
+ this.incrementalQueryString = String.fromCharCode(e.charCode);
2927
+ }
2928
+ if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) || this.incrementalEndIndex == 0) {
2929
+ updatingincrementalindex = true;
2930
+ this.incrementalStartIndex = this.incrementalEndIndex;
2931
+ if (this.incrementalEndIndex == 0) {
2932
+ this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;
2933
+ }
2934
+ else {
2935
+ this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100;
2936
+ }
2937
+ this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
2938
+ updatingincrementalindex = true;
2939
+ }
2940
+ if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
2941
+ this.updateIncrementalView(0, this.itemCount);
2942
+ }
2943
+ var li = incrementalSearch(e.charCode, this.incrementalLiCollections, this.activeIndex, true, this.element.id, queryStringUpdated, currentValue, true);
2944
+ while (isNullOrUndefined(li) && this.incrementalEndIndex < this.totalItemCount) {
2945
+ this.updateIncrementalItemIndex(this.incrementalEndIndex, this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100);
2946
+ this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
2947
+ updatingincrementalindex = true;
2948
+ if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
2949
+ this.updateIncrementalView(0, this.itemCount);
2950
+ }
2951
+ li = incrementalSearch(e.charCode, this.incrementalLiCollections, 0, true, this.element.id, queryStringUpdated, currentValue, true, true);
2952
+ if (!isNullOrUndefined(li)) {
2953
+ break;
2954
+ }
2955
+ if (isNullOrUndefined(li) && this.incrementalEndIndex >= this.totalItemCount) {
2956
+ this.updateIncrementalItemIndex(0, 100 > this.totalItemCount ? this.totalItemCount : 100);
2957
+ break;
2958
+ }
2959
+ }
2960
+ if (isNullOrUndefined(li) && this.incrementalEndIndex >= this.totalItemCount) {
2961
+ this.updateIncrementalItemIndex(0, 100 > this.totalItemCount ? this.totalItemCount : 100);
2962
+ this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
2963
+ updatingincrementalindex = true;
2964
+ if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
2965
+ this.updateIncrementalView(0, this.itemCount);
2966
+ }
2967
+ li = incrementalSearch(e.charCode, this.incrementalLiCollections, 0, true, this.element.id, queryStringUpdated, currentValue, true, true);
2968
+ }
2969
+ var index = li && this.getIndexByValue(li.getAttribute('data-value'));
2970
+ if (!index) {
2971
+ for (var i = 0; i < this.incrementalLiCollections.length; i++) {
2972
+ if (!isNullOrUndefined(li) && !isNullOrUndefined(li.getAttribute('data-value')) && this.incrementalLiCollections[i].getAttribute('data-value') === li.getAttribute('data-value').toString()) {
2973
+ index = i;
2974
+ index = this.incrementalStartIndex + index;
2975
+ break;
2976
+ }
2977
+ }
2978
+ }
2979
+ else {
2980
+ index = index - this.skeletonCount;
2981
+ }
2982
+ if (index) {
2983
+ if ((!(this.viewPortInfo.startIndex >= index)) || (!(index >= this.viewPortInfo.endIndex))) {
2984
+ var startIndex = index - ((this.itemCount / 2) - 2) > 0 ? index - ((this.itemCount / 2) - 2) : 0;
2985
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
2986
+ this.updateIncrementalView(startIndex, endIndex);
2987
+ }
2988
+ }
2989
+ if (!isNullOrUndefined(li)) {
2990
+ var index_1 = this.getIndexByValue(li.getAttribute('data-value')) - this.skeletonCount;
2991
+ if (index_1 > this.itemCount / 2) {
2992
+ var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount ? this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) : this.totalItemCount;
2993
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
2994
+ this.updateIncrementalView(startIndex, endIndex);
2995
+ }
2996
+ li = this.getElementByValue(li.getAttribute('data-value'));
2997
+ this.setSelection(li, e);
2998
+ this.setScrollPosition();
2999
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3000
+ this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3001
+ if (this.enableVirtualization && !this.fields.groupBy) {
3002
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
3003
+ this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
3004
+ }
3005
+ this.incrementalPreQueryString = this.incrementalQueryString;
3006
+ }
3007
+ else {
3008
+ this.updateIncrementalView(0, this.itemCount);
3009
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3010
+ this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3011
+ this.list.scrollTop = 0;
3012
+ }
3013
+ }
3014
+ else {
3015
+ var li = incrementalSearch(e.charCode, this.liCollections, this.activeIndex, true, this.element.id);
3016
+ if (!isNullOrUndefined(li)) {
3017
+ this.setSelection(li, e);
3018
+ this.setScrollPosition();
3019
+ }
2713
3020
  }
2714
3021
  }
2715
3022
  };
@@ -2765,6 +3072,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2765
3072
  if (isNullOrUndefined(this.list) && !this.isRequested && !isTabAction && e.action !== 'escape') {
2766
3073
  this.searchKeyEvent = e;
2767
3074
  this.renderList(e);
3075
+ this.UpdateSkeleton();
3076
+ this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
3077
+ this.ulElement = this.list.querySelector('ul');
2768
3078
  }
2769
3079
  if (isNullOrUndefined(this.list) || (!isNullOrUndefined(this.liCollections) &&
2770
3080
  isNavigation && this.liCollections.length === 0) || this.isRequested) {
@@ -2842,7 +3152,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2842
3152
  var focusEle = this.list.querySelector('.' + dropDownListClasses.focus);
2843
3153
  if (this.isSelectFocusItem(focusEle) && !isVirtualKeyAction) {
2844
3154
  this.setSelection(focusEle, e);
2845
- if (this.enableVirtualization) {
3155
+ if (this.enableVirtualization && !this.fields.groupBy && this.getModuleName() !== 'combobox') {
2846
3156
  var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
2847
3157
  this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
2848
3158
  }
@@ -2870,7 +3180,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2870
3180
  }
2871
3181
  else {
2872
3182
  if (this.getModuleName() === 'autocomplete') {
2873
- var value = this.selectedLI.dataset.value;
3183
+ var value = this.getFormattedValue(this.selectedLI.getAttribute('data-value'));
2874
3184
  nextItem = this.getElementByValue(value);
2875
3185
  }
2876
3186
  else {
@@ -2882,26 +3192,75 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2882
3192
  if (!isNullOrUndefined(nextItem)) {
2883
3193
  this.setSelection(nextItem, e);
2884
3194
  }
3195
+ else if (this.enableVirtualization && !this.isPopupOpen && this.getModuleName() !== 'autocomplete' && ((this.viewPortInfo.endIndex !== this.totalItemCount && e.action === 'down') || (this.viewPortInfo.startIndex !== 0 && e.action === 'up'))) {
3196
+ if (e.action === 'down') {
3197
+ this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex + this.itemCount) < (this.totalItemCount - this.itemCount) ? this.viewPortInfo.startIndex + this.itemCount : this.totalItemCount - this.itemCount;
3198
+ this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;
3199
+ this.updateVirtualItemIndex();
3200
+ this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;
3201
+ this.resetList(this.dataSource, this.fields, this.query);
3202
+ this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;
3203
+ var value_2 = this.liCollections[0].getAttribute('data-value') !== "null" ? this.getFormattedValue(this.liCollections[0].getAttribute('data-value')) : null;
3204
+ var selectedData = this.getDataByValue(value_2);
3205
+ if (selectedData) {
3206
+ this.itemData = selectedData;
3207
+ }
3208
+ }
3209
+ else if (e.action === 'up') {
3210
+ this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex - this.itemCount) > 0 ? this.viewPortInfo.startIndex - this.itemCount : 0;
3211
+ this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;
3212
+ this.updateVirtualItemIndex();
3213
+ this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;
3214
+ this.resetList(this.dataSource, this.fields, this.query);
3215
+ this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;
3216
+ var value_3 = this.liCollections[this.liCollections.length - 1].getAttribute('data-value') !== "null" ? this.getFormattedValue(this.liCollections[this.liCollections.length - 1].getAttribute('data-value')) : null;
3217
+ var selectedData = this.getDataByValue(value_3);
3218
+ if (selectedData) {
3219
+ this.itemData = selectedData;
3220
+ }
3221
+ }
3222
+ this.UpdateSkeleton();
3223
+ this.liCollections = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
3224
+ this.ulElement = this.list.querySelector('ul');
3225
+ this.handleVirtualKeyboardActions(e, this.pageCount);
3226
+ }
2885
3227
  }
2886
3228
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
2887
- var value_2 = this.getItemData().value;
2888
- var filterIndex = this.getIndexByValueFilter(value_2);
3229
+ var value_4 = this.getItemData().value;
3230
+ var filterIndex = this.getIndexByValueFilter(value_4);
2889
3231
  if (!isNullOrUndefined(filterIndex)) {
2890
3232
  this.activeIndex = filterIndex;
2891
3233
  }
2892
3234
  }
2893
3235
  e.preventDefault();
2894
3236
  };
3237
+ DropDownList.prototype.updateVirtualItemIndex = function () {
3238
+ this.virtualItemStartIndex = this.viewPortInfo.startIndex;
3239
+ this.virtualItemEndIndex = this.viewPortInfo.endIndex;
3240
+ this.virtualListInfo = this.viewPortInfo;
3241
+ };
2895
3242
  DropDownList.prototype.updateHomeEndAction = function (e, isVirtualKeyAction) {
2896
3243
  if (this.getModuleName() === 'dropdownlist') {
2897
3244
  var findLi = 0;
2898
3245
  if (e.action === 'home') {
2899
3246
  findLi = 0;
2900
- if (this.enableVirtualization) {
3247
+ if (this.enableVirtualization && this.isPopupOpen) {
2901
3248
  findLi = this.skeletonCount;
2902
3249
  }
3250
+ else if (this.enableVirtualization && !this.isPopupOpen && this.viewPortInfo.startIndex !== 0) {
3251
+ this.viewPortInfo.startIndex = 0;
3252
+ this.viewPortInfo.endIndex = this.itemCount;
3253
+ this.updateVirtualItemIndex();
3254
+ this.resetList(this.dataSource, this.fields, this.query);
3255
+ }
2903
3256
  }
2904
3257
  else {
3258
+ if (this.enableVirtualization && !this.isPopupOpen && this.viewPortInfo.endIndex !== this.totalItemCount) {
3259
+ this.viewPortInfo.startIndex = this.totalItemCount - this.itemCount;
3260
+ this.viewPortInfo.endIndex = this.totalItemCount;
3261
+ this.updateVirtualItemIndex();
3262
+ this.resetList(this.dataSource, this.fields, this.query);
3263
+ }
2905
3264
  findLi = this.getItems().length - 1;
2906
3265
  }
2907
3266
  e.preventDefault();
@@ -2997,12 +3356,6 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
2997
3356
  DropDownList.prototype.isSelectFocusItem = function (element) {
2998
3357
  return !isNullOrUndefined(element);
2999
3358
  };
3000
- DropDownList.prototype.getPageCount = function (returnExactCount) {
3001
- var liHeight = this.list.classList.contains(dropDownBaseClasses.noData) ? null :
3002
- getComputedStyle(this.getItems()[0], null).getPropertyValue('height');
3003
- var pageCount = Math.round(this.list.getBoundingClientRect().height / parseInt(liHeight, 10));
3004
- return returnExactCount ? pageCount : Math.round(pageCount);
3005
- };
3006
3359
  DropDownList.prototype.pageUpSelection = function (steps, event, isVirtualKeyAction) {
3007
3360
  var previousItem = steps >= 0 ? this.liCollections[steps + 1] : this.liCollections[0];
3008
3361
  if ((this.enableVirtualization && this.activeIndex == null) || isVirtualKeyAction) {
@@ -3265,7 +3618,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3265
3618
  .then(function (e) {
3266
3619
  if (e.result.length > 0) {
3267
3620
  _this.itemData = e.result[0];
3268
- _this.setProperties({ 'text': e.result[0].text, 'value': e.result[0].value }, true);
3621
+ var dataItem = _this.getItemData();
3622
+ if ((_this.value === dataItem.value && _this.text !== dataItem.text) || (_this.value !== dataItem.value && _this.text === dataItem.text)) {
3623
+ _this.setProperties({ 'text': dataItem.text, 'value': dataItem.value });
3624
+ }
3269
3625
  }
3270
3626
  });
3271
3627
  }
@@ -3273,7 +3629,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3273
3629
  var getItem = new DataManager(this.dataSource).executeLocal(new Query().where(new Predicate(fields, 'equal', this.value)));
3274
3630
  if (getItem && getItem.length > 0) {
3275
3631
  this.itemData = getItem[0];
3276
- this.setProperties({ 'text': getItem[0].text, 'value': getItem[0].value }, true);
3632
+ var dataItem = this.getItemData();
3633
+ if ((this.value === dataItem.value && this.text !== dataItem.text) || (this.value !== dataItem.value && this.text === dataItem.text)) {
3634
+ this.setProperties({ 'text': dataItem.text, 'value': dataItem.value });
3635
+ }
3277
3636
  }
3278
3637
  }
3279
3638
  }
@@ -3535,7 +3894,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3535
3894
  this.typedString = this.filterInput.value;
3536
3895
  this.preventAutoFill = false;
3537
3896
  this.searchLists(e);
3538
- if (this.enableVirtualization) {
3897
+ if ((this.enableVirtualization && this.getModuleName() !== 'autocomplete') || (this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount != 0)) {
3539
3898
  this.getFilteringSkeletonCount();
3540
3899
  }
3541
3900
  break;
@@ -3550,19 +3909,28 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3550
3909
  var currentSkeletonCount = this.skeletonCount;
3551
3910
  this.getSkeletonCount(true);
3552
3911
  this.skeletonCount = this.dataCount > this.itemCount * 2 ? this.skeletonCount : difference > this.skeletonCount ? this.skeletonCount : difference > 0 ? difference : 0;
3912
+ var skeletonUpdated = true;
3913
+ if (this.getModuleName() === 'autocomplete' && (this.totalItemCount != 0 && this.totalItemCount < (this.itemCount * 2))) {
3914
+ this.skeletonCount = 0;
3915
+ skeletonUpdated = false;
3916
+ }
3553
3917
  if (!this.list.classList.contains(dropDownBaseClasses.noData)) {
3554
3918
  var isSkeletonCountChange = currentSkeletonCount !== this.skeletonCount;
3555
- if (currentSkeletonCount !== this.skeletonCount) {
3919
+ if (currentSkeletonCount !== this.skeletonCount && skeletonUpdated) {
3556
3920
  this.UpdateSkeleton(true, Math.abs(currentSkeletonCount - this.skeletonCount));
3557
3921
  }
3558
3922
  else {
3559
3923
  this.UpdateSkeleton();
3560
3924
  }
3561
3925
  this.liCollections = this.list.querySelectorAll('.e-list-item');
3562
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3563
- this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
3564
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3565
- this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3926
+ if ((this.list.getElementsByClassName('e-virtual-ddl').length > 0)) {
3927
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3928
+ this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
3929
+ }
3930
+ if (this.list.getElementsByClassName('e-virtual-ddl-content').length > 0) {
3931
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3932
+ this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
3933
+ }
3566
3934
  }
3567
3935
  };
3568
3936
  DropDownList.prototype.getSkeletonCount = function (retainSkeleton) {
@@ -3615,12 +3983,26 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3615
3983
  else {
3616
3984
  filterQuery = query ? query.clone() : this.query ? this.query.clone() : new Query();
3617
3985
  }
3618
- if (this.enableVirtualization && (this.viewPortInfo.endIndex != 0)) {
3986
+ if (this.enableVirtualization && (this.viewPortInfo.endIndex != 0) && (!(this.dataSource instanceof DataManager) || (this.dataSource instanceof DataManager && this.virtualGroupDataSource))) {
3619
3987
  var takeValue = this.getTakeValue();
3620
- if (this.allowFiltering) {
3988
+ var alreadySkipAdded = false;
3989
+ if (filterQuery) {
3990
+ for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {
3991
+ if (filterQuery.queries[queryElements].fn === 'onSkip') {
3992
+ alreadySkipAdded = true;
3993
+ break;
3994
+ }
3995
+ }
3996
+ }
3997
+ if (this.allowFiltering || !this.isPopupOpen || !alreadySkipAdded) {
3621
3998
  filterQuery.skip(this.virtualItemStartIndex);
3622
3999
  }
3623
- filterQuery.take(takeValue);
4000
+ if (this.isIncrementalRequest) {
4001
+ filterQuery.take(this.incrementalEndIndex);
4002
+ }
4003
+ else {
4004
+ filterQuery.take(takeValue);
4005
+ }
3624
4006
  filterQuery.requiresCount();
3625
4007
  }
3626
4008
  return filterQuery;
@@ -3864,7 +4246,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3864
4246
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3865
4247
  DropDownList.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {
3866
4248
  var _this = this;
3867
- if (this.dataSource instanceof DataManager && !isNullOrUndefined(e)) {
4249
+ if (this.dataSource instanceof DataManager && !isNullOrUndefined(e) && !this.virtualGroupDataSource) {
3868
4250
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3869
4251
  this.totalItemCount = e.count;
3870
4252
  }
@@ -3891,7 +4273,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
3891
4273
  this.list.scrollTop = 0;
3892
4274
  }
3893
4275
  if (!isNullOrUndefined(ulElement)) {
3894
- attributes(ulElement, { 'id': this.element.id + '_options', 'role': 'listbox', 'aria-hidden': 'false' });
4276
+ attributes(ulElement, { 'id': this.element.id + '_options', 'role': 'listbox', 'aria-hidden': 'false', 'aria-label': 'listbox' });
3895
4277
  }
3896
4278
  if (this.initRemoteRender) {
3897
4279
  this.initial = true;
@@ -4017,10 +4399,10 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4017
4399
  DropDownList.prototype.addNewItem = function (listData, newElement) {
4018
4400
  var _this = this;
4019
4401
  if (!isNullOrUndefined(this.itemData) && !isNullOrUndefined(newElement)) {
4020
- var value_3 = this.getItemData().value;
4402
+ var value_5 = this.getItemData().value;
4021
4403
  var isExist = listData.some(function (data) {
4022
- return (((typeof data === 'string' || typeof data === 'number') && data === value_3) ||
4023
- (getValue(_this.fields.value, data) === value_3));
4404
+ return (((typeof data === 'string' || typeof data === 'number') && data === value_5) ||
4405
+ (getValue(_this.fields.value, data) === value_5));
4024
4406
  });
4025
4407
  if (!isExist) {
4026
4408
  this.addItem(this.itemData);
@@ -4111,6 +4493,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4111
4493
  DropDownList.prototype.GetVirtualTrackHeight = function () {
4112
4494
  var height = this.totalItemCount === this.viewPortInfo.endIndex ? this.totalItemCount * this.listItemHeight - this.itemCount * this.listItemHeight : this.totalItemCount * this.listItemHeight;
4113
4495
  var heightDimension = "height: " + (height - this.itemCount * this.listItemHeight) + "px;";
4496
+ if (this.getModuleName() === 'autocomplete' && this.skeletonCount === 0) {
4497
+ return "height: 0px;";
4498
+ }
4114
4499
  return heightDimension;
4115
4500
  };
4116
4501
  DropDownList.prototype.renderPopup = function (e) {
@@ -4125,6 +4510,8 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4125
4510
  var popupEle = _this.createElement('div', {
4126
4511
  id: _this.element.id + '_popup', className: 'e-ddl e-popup ' + (_this.cssClass !== null ? _this.cssClass : '')
4127
4512
  });
4513
+ popupEle.setAttribute('aria-label', _this.element.id);
4514
+ popupEle.setAttribute('role', 'dialog');
4128
4515
  var searchBox = _this.setSearchBox(popupEle);
4129
4516
  _this.listHeight = formatUnit(_this.popupHeight);
4130
4517
  if (_this.headerTemplate) {
@@ -4209,9 +4596,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4209
4596
  parseInt(getComputedStyle(_this.inputElement.parentElement).borderLeftWidth, 10));
4210
4597
  }
4211
4598
  }
4212
- _this.getFocusElement();
4213
4599
  _this.createPopup(popupEle, offsetValue, left);
4214
4600
  _this.popupContentElement = _this.popupObj.element.querySelector('.e-content');
4601
+ _this.getFocusElement();
4215
4602
  _this.checkCollision(popupEle);
4216
4603
  if (Browser.isDevice) {
4217
4604
  _this.popupObj.element.classList.add(dropDownListClasses.device);
@@ -4251,7 +4638,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4251
4638
  enable: _this.enableVirtualization,
4252
4639
  });
4253
4640
  setTimeout(function () {
4254
- if (_this.value) {
4641
+ if (_this.value || _this.list.querySelector('.e-active')) {
4255
4642
  _this.updateSelectionList();
4256
4643
  if (_this.selectedValueInfo && _this.viewPortInfo && _this.viewPortInfo.offsets.top) {
4257
4644
  _this.list.scrollTop = _this.viewPortInfo.offsets.top;
@@ -4262,8 +4649,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4262
4649
  }
4263
4650
  }, 5);
4264
4651
  }
4265
- attributes(_this.targetElement(), { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_options' });
4652
+ attributes(_this.targetElement(), { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });
4266
4653
  _this.inputElement.setAttribute('aria-expanded', 'true');
4654
+ _this.inputElement.setAttribute('aria-controls', _this.element.id);
4267
4655
  var inputParent = _this.isFiltering() ? _this.filterInput.parentElement : _this.inputWrapper.container;
4268
4656
  addClass([inputParent], [dropDownListClasses.inputFocus]);
4269
4657
  var animModel = { name: 'FadeIn', duration: 100 };
@@ -4328,7 +4716,12 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4328
4716
  _this.destroyPopup();
4329
4717
  if (_this.isFiltering() && _this.actionCompleteData.list && _this.actionCompleteData.list[0]) {
4330
4718
  _this.isActive = true;
4331
- _this.onActionComplete(_this.actionCompleteData.ulElement, _this.actionCompleteData.list, null, true);
4719
+ if (_this.enableVirtualization) {
4720
+ _this.onActionComplete(_this.ulElement, _this.listData, null, true);
4721
+ }
4722
+ else {
4723
+ _this.onActionComplete(_this.actionCompleteData.ulElement, _this.actionCompleteData.list, null, true);
4724
+ }
4332
4725
  }
4333
4726
  },
4334
4727
  open: function () {
@@ -4435,6 +4828,7 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4435
4828
  return width;
4436
4829
  };
4437
4830
  DropDownList.prototype.scrollBottom = function (isInitial, isInitialSelection, keyAction) {
4831
+ var _this = this;
4438
4832
  if (isInitialSelection === void 0) { isInitialSelection = false; }
4439
4833
  if (keyAction === void 0) { keyAction = null; }
4440
4834
  if (isNullOrUndefined(this.selectedLI) && this.enableVirtualization) {
@@ -4499,6 +4893,11 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4499
4893
 
4500
4894
  }
4501
4895
  this.isKeyBoardAction = isScrollerCHanged;
4896
+ if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction == "down")) {
4897
+ setTimeout(function () {
4898
+ _this.scrollStop(null, true);
4899
+ }, 100);
4900
+ }
4502
4901
  }
4503
4902
  };
4504
4903
  DropDownList.prototype.scrollTop = function (keyAction) {
@@ -4704,7 +5103,15 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4704
5103
  if (this.isReact && this.isFiltering() && this.itemTemplate != null) {
4705
5104
  this.actionCompleteData.ulElement = this.ulElement.cloneNode(true);
4706
5105
  }
4707
- var dataSourceCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
5106
+ var dataSourceCount;
5107
+ if (this.dataSource instanceof DataManager) {
5108
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5109
+ dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ? this.virtualGroupDataSource.length : 0;
5110
+ }
5111
+ else {
5112
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5113
+ dataSourceCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
5114
+ }
4708
5115
  if (this.enableVirtualization && this.isFiltering() && this.value != null && isFilterValue && this.totalItemCount !== dataSourceCount) {
4709
5116
  this.updateInitialData();
4710
5117
  this.checkAndResetCache();
@@ -4727,8 +5134,14 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4727
5134
  }
4728
5135
  this.previousStartIndex = 0;
4729
5136
  this.previousEndIndex = 0;
4730
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4731
- this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
5137
+ if (this.dataSource instanceof DataManager) {
5138
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5139
+ this.totalItemCount = this.dataCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ? this.virtualGroupDataSource.length : 0;
5140
+ }
5141
+ else {
5142
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5143
+ this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
5144
+ }
4732
5145
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4733
5146
  if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {
4734
5147
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -4838,6 +5251,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
4838
5251
  }
4839
5252
  else if (this.getModuleName() === 'dropdownlist') {
4840
5253
  attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
5254
+ this.inputElement.setAttribute('aria-label', this.getModuleName());
5255
+ this.inputElement.setAttribute('aria-expanded', 'false');
5256
+ this.inputElement.setAttribute('aria-controls', this.element.id + '_popups');
4841
5257
  }
4842
5258
  attributes(this.targetElement(), this.getAriaAttributes());
4843
5259
  this.updateDataAttribute(this.htmlAttributes);
@@ -5103,6 +5519,14 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5103
5519
  this_1.clearAll();
5104
5520
  break;
5105
5521
  }
5522
+ if (this_1.enableVirtualization) {
5523
+ this_1.updateValues();
5524
+ this_1.updateInputFields();
5525
+ this_1.notify("setCurrentViewDataAsync", {
5526
+ module: "VirtualScroll",
5527
+ });
5528
+ break;
5529
+ }
5106
5530
  if (!this_1.list) {
5107
5531
  if (this_1.dataSource instanceof DataManager) {
5108
5532
  this_1.initRemoteRender = true;
@@ -5146,6 +5570,15 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5146
5570
  this_1.clearAll();
5147
5571
  break;
5148
5572
  }
5573
+ if (this_1.enableVirtualization) {
5574
+ this_1.updateValues();
5575
+ this_1.updateInputFields();
5576
+ this_1.notify("setCurrentViewDataAsync", {
5577
+ module: "VirtualScroll",
5578
+ });
5579
+ this_1.preventChange = this_1.isAngular && this_1.preventChange ? !this_1.preventChange : this_1.preventChange;
5580
+ break;
5581
+ }
5149
5582
  this_1.notify('beforeValueChange', { newProp: newProp }); // gird component value type change
5150
5583
  if (!this_1.list) {
5151
5584
  if (this_1.dataSource instanceof DataManager) {
@@ -5295,6 +5728,12 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5295
5728
  }
5296
5729
  };
5297
5730
  };
5731
+ DropDownList.prototype.updatePopupState = function () {
5732
+ if (this.beforePopupOpen) {
5733
+ this.beforePopupOpen = false;
5734
+ this.showPopup();
5735
+ }
5736
+ };
5298
5737
  DropDownList.prototype.setReadOnly = function () {
5299
5738
  if (this.readonly) {
5300
5739
  addClass([this.inputWrapper.container], ['e-readonly']);
@@ -5427,6 +5866,9 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5427
5866
  this.closePopup(0, e);
5428
5867
  var dataItem = this.getItemData();
5429
5868
  var isSelectVal = !isNullOrUndefined(this.selectedLI);
5869
+ if (isSelectVal && this.enableVirtualization && this.selectedLI.classList) {
5870
+ isSelectVal = this.selectedLI.classList.contains('e-active');
5871
+ }
5430
5872
  if (this.inputElement && this.inputElement.value.trim() === '' && !this.isInteracted && (this.isSelectCustom ||
5431
5873
  isSelectVal && this.inputElement.value !== dataItem.text)) {
5432
5874
  this.isSelectCustom = false;
@@ -5676,25 +6118,25 @@ var DropDownList = /** @__PURE__ @class */ (function (_super) {
5676
6118
  * export all modules from current location
5677
6119
  */
5678
6120
 
5679
- var __extends$2 = (undefined && undefined.__extends) || (function () {
5680
- var extendStatics = function (d, b) {
5681
- extendStatics = Object.setPrototypeOf ||
5682
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5683
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
5684
- return extendStatics(d, b);
5685
- };
5686
- return function (d, b) {
5687
- extendStatics(d, b);
5688
- function __() { this.constructor = d; }
5689
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5690
- };
5691
- })();
5692
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5693
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5694
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5695
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5696
- return c > 3 && r && Object.defineProperty(target, key, r), r;
5697
- };
6121
+ var __extends$2 = (undefined && undefined.__extends) || (function () {
6122
+ var extendStatics = function (d, b) {
6123
+ extendStatics = Object.setPrototypeOf ||
6124
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6125
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6126
+ return extendStatics(d, b);
6127
+ };
6128
+ return function (d, b) {
6129
+ extendStatics(d, b);
6130
+ function __() { this.constructor = d; }
6131
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6132
+ };
6133
+ })();
6134
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6135
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6136
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6137
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6138
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6139
+ };
5698
6140
  var RTL = 'e-rtl';
5699
6141
  var DROPDOWNTREE = 'e-ddt';
5700
6142
  var HIDDENELEMENT = 'e-ddt-hidden';
@@ -5744,7 +6186,7 @@ var OVERFLOW_VIEW = 'e-overflow';
5744
6186
  var SHOW_TEXT = 'e-show-text';
5745
6187
  var TOTAL_COUNT_WRAPPER = 'e-total-count';
5746
6188
  var REMAIN_COUNT = 'e-wrap-count';
5747
- var Fields = /** @__PURE__ @class */ (function (_super) {
6189
+ var Fields = /** @class */ (function (_super) {
5748
6190
  __extends$2(Fields, _super);
5749
6191
  function Fields() {
5750
6192
  return _super !== null && _super.apply(this, arguments) || this;
@@ -5796,7 +6238,7 @@ var Fields = /** @__PURE__ @class */ (function (_super) {
5796
6238
  ], Fields.prototype, "value", void 0);
5797
6239
  return Fields;
5798
6240
  }(ChildProperty));
5799
- var TreeSettings = /** @__PURE__ @class */ (function (_super) {
6241
+ var TreeSettings = /** @class */ (function (_super) {
5800
6242
  __extends$2(TreeSettings, _super);
5801
6243
  function TreeSettings() {
5802
6244
  return _super !== null && _super.apply(this, arguments) || this;
@@ -5824,7 +6266,7 @@ var TreeSettings = /** @__PURE__ @class */ (function (_super) {
5824
6266
  * ddtObj.appendTo("#tree");
5825
6267
  * ```
5826
6268
  */
5827
- var DropDownTree = /** @__PURE__ @class */ (function (_super) {
6269
+ var DropDownTree = /** @class */ (function (_super) {
5828
6270
  __extends$2(DropDownTree, _super);
5829
6271
  function DropDownTree(options, element) {
5830
6272
  var _this = _super.call(this, options, element) || this;
@@ -5920,14 +6362,17 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
5920
6362
  DropDownTree.prototype.render = function () {
5921
6363
  var isTree = select('#' + this.element.id + '_tree', document);
5922
6364
  if (isTree) {
5923
- var popupDiv = select('#' + this.element.id + '_popup', document);
6365
+ var popupDiv = select('#' + this.element.id + '_options', document);
5924
6366
  detach(popupDiv ? popupDiv : isTree.parentElement);
5925
6367
  }
5926
6368
  this.ensureAutoCheck();
5927
6369
  if (this.element.tagName === 'INPUT') {
5928
6370
  this.inputEle = this.element;
5929
6371
  if (isNullOrUndefined(this.inputEle.getAttribute('role'))) {
5930
- this.inputEle.setAttribute('role', 'textbox');
6372
+ this.inputEle.setAttribute('aria-expanded', 'false');
6373
+ this.inputEle.setAttribute('role', 'combobox');
6374
+ this.inputEle.setAttribute('aria-haspopup', 'tree');
6375
+ this.inputEle.setAttribute('aria-controls', this.element.id + "_options");
5931
6376
  }
5932
6377
  if (isNullOrUndefined(this.inputEle.getAttribute('type'))) {
5933
6378
  this.inputEle.setAttribute('type', 'text');
@@ -6095,8 +6540,12 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
6095
6540
  }
6096
6541
  _this.treeObj.fields = _this.getTreeFields(fields);
6097
6542
  _this.treeObj.dataBind();
6098
- if (_this.hasTemplate && _this.portals) {
6099
- _this.portals = [].concat(_this.treeObj.portals);
6543
+ if (_this.hasTemplate && _this.portals && _this.treeObj.portals) {
6544
+ for (var i = 0; i < _this.treeObj.portals.length; i++) {
6545
+ if (_this.portals.indexOf(_this.treeObj.portals[i]) == -1) {
6546
+ _this.portals.push(_this.treeObj.portals[i]);
6547
+ }
6548
+ }
6100
6549
  if (_this.isReact) {
6101
6550
  _this.renderReactTemplates();
6102
6551
  }
@@ -6556,16 +7005,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
6556
7005
  }
6557
7006
  };
6558
7007
  DropDownTree.prototype.getAriaAttributes = function () {
6559
- var disable = this.enabled ? 'false' : 'true';
6560
- return {
6561
- 'aria-disabled': disable,
6562
- 'aria-owns': this.element.id + '_options',
6563
- 'role': 'listbox',
6564
- 'aria-haspopup': 'true',
6565
- 'aria-expanded': 'false',
6566
- 'aria-activedescendant': 'null',
6567
- 'aria-labelledby': this.hiddenElement.id
6568
- };
7008
+ return {};
6569
7009
  };
6570
7010
  DropDownTree.prototype.updateOverFlowView = function () {
6571
7011
  this.overFlowWrapper.classList.remove(TOTAL_COUNT_WRAPPER);
@@ -6916,7 +7356,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
6916
7356
  }
6917
7357
  }
6918
7358
  else {
6919
- this.inputWrapper.setAttribute(htmlAttr, this.htmlAttributes["" + htmlAttr]);
7359
+ this.inputEle.setAttribute(htmlAttr, this.htmlAttributes["" + htmlAttr]);
6920
7360
  }
6921
7361
  }
6922
7362
  }
@@ -7170,8 +7610,10 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7170
7610
  addClass([_this.inputWrapper], [ICONANIMATION]);
7171
7611
  if (_this.isFirstRender) {
7172
7612
  _this.popupEle = _this.createElement('div', {
7173
- id: _this.element.id + '_popup', className: POPUP_CLASS + ' ' + (_this.cssClass != null ? _this.cssClass : '')
7613
+ id: _this.element.id + '_options', className: POPUP_CLASS + ' ' + (_this.cssClass != null ? _this.cssClass : '')
7174
7614
  });
7615
+ _this.popupEle.setAttribute('role', 'region');
7616
+ _this.popupEle.setAttribute('aria-label', _this.element.id);
7175
7617
  document.body.appendChild(_this.popupEle);
7176
7618
  _this.createPopup(_this.popupEle);
7177
7619
  }
@@ -7207,7 +7649,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7207
7649
  }
7208
7650
  }
7209
7651
  if (!isCancelled) {
7210
- attributes(_this.inputWrapper, { 'aria-expanded': 'true' });
7652
+ attributes(_this.inputEle, { 'aria-expanded': 'true' });
7211
7653
  _this.popupObj.show(null, (_this.zIndex === 1000) ? _this.inputEle : null);
7212
7654
  removeClass([_this.popupEle], DDTHIDEICON);
7213
7655
  _this.updatePopupHeight();
@@ -7659,8 +8101,12 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
7659
8101
  }
7660
8102
  };
7661
8103
  DropDownTree.prototype.onNodeExpanded = function (args) {
7662
- if (this.hasTemplate && this.portals) {
7663
- this.portals = [].concat(this.treeObj.portals);
8104
+ if (this.hasTemplate && this.portals && this.treeObj.portals) {
8105
+ for (var i = 0; i < this.treeObj.portals.length; i++) {
8106
+ if (this.portals.indexOf(this.treeObj.portals[i]) == -1) {
8107
+ this.portals.push(this.treeObj.portals[i]);
8108
+ }
8109
+ }
7664
8110
  /* eslint-enable */
7665
8111
  this.renderReactTemplates();
7666
8112
  }
@@ -8693,7 +9139,7 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8693
9139
  if (this.popupEle) {
8694
9140
  addClass([this.popupEle], DDTHIDEICON);
8695
9141
  }
8696
- attributes(this.inputWrapper, { 'aria-expanded': 'false' });
9142
+ attributes(this.inputEle, { 'aria-expanded': 'false' });
8697
9143
  if (this.popupObj && this.isPopupOpen) {
8698
9144
  this.popupObj.hide();
8699
9145
  if (this.inputFocus) {
@@ -8899,25 +9345,25 @@ var DropDownTree = /** @__PURE__ @class */ (function (_super) {
8899
9345
  * export all modules from current location
8900
9346
  */
8901
9347
 
8902
- var __extends$3 = (undefined && undefined.__extends) || (function () {
8903
- var extendStatics = function (d, b) {
8904
- extendStatics = Object.setPrototypeOf ||
8905
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
8906
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
8907
- return extendStatics(d, b);
8908
- };
8909
- return function (d, b) {
8910
- extendStatics(d, b);
8911
- function __() { this.constructor = d; }
8912
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
8913
- };
8914
- })();
8915
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8916
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8917
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8918
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8919
- return c > 3 && r && Object.defineProperty(target, key, r), r;
8920
- };
9348
+ var __extends$3 = (undefined && undefined.__extends) || (function () {
9349
+ var extendStatics = function (d, b) {
9350
+ extendStatics = Object.setPrototypeOf ||
9351
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9352
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
9353
+ return extendStatics(d, b);
9354
+ };
9355
+ return function (d, b) {
9356
+ extendStatics(d, b);
9357
+ function __() { this.constructor = d; }
9358
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9359
+ };
9360
+ })();
9361
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9362
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9363
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9364
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9365
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9366
+ };
8921
9367
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
8922
9368
  /// <reference path='../drop-down-list/drop-down-list-model.d.ts'/>
8923
9369
  var SPINNER_CLASS = 'e-atc-spinner-icon';
@@ -8942,7 +9388,7 @@ var inputObject$1 = {
8942
9388
  * games.appendTo("#list");
8943
9389
  * ```
8944
9390
  */
8945
- var ComboBox = /** @__PURE__ @class */ (function (_super) {
9391
+ var ComboBox = /** @class */ (function (_super) {
8946
9392
  __extends$3(ComboBox, _super);
8947
9393
  /**
8948
9394
  * *Constructor for creating the component
@@ -9115,7 +9561,7 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
9115
9561
  if (this.isSelectCustom) {
9116
9562
  this.removeSelection();
9117
9563
  }
9118
- if (!this.preventAutoFill && this.getModuleName() === 'combobox' && this.isTyped) {
9564
+ if (!this.preventAutoFill && this.getModuleName() === 'combobox' && this.isTyped && !this.enableVirtualization) {
9119
9565
  setTimeout(function () {
9120
9566
  _this.inlineSearch();
9121
9567
  });
@@ -9124,7 +9570,7 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
9124
9570
  ComboBox.prototype.getFocusElement = function () {
9125
9571
  var dataItem = this.isSelectCustom ? { text: '' } : this.getItemData();
9126
9572
  var selected = !isNullOrUndefined(this.list) ? this.list.querySelector('.' + dropDownListClasses.selected) : this.list;
9127
- var isSelected = dataItem.text === this.inputElement.value && !isNullOrUndefined(selected);
9573
+ var isSelected = dataItem.text && dataItem.text.toString() === this.inputElement.value && !isNullOrUndefined(selected);
9128
9574
  if (isSelected) {
9129
9575
  return selected;
9130
9576
  }
@@ -9134,6 +9580,70 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
9134
9580
  var dataSource = this.sortedData;
9135
9581
  var type = this.typeOfData(dataSource).typeof;
9136
9582
  var activeItem = Search(inputValue, this.liCollections, this.filterType, true, dataSource, this.fields, type);
9583
+ if (this.enableVirtualization && inputValue !== '' && this.getModuleName() !== 'autocomplete' && this.isTyped && !this.allowFiltering) {
9584
+ var updatingincrementalindex = false;
9585
+ if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) || this.incrementalEndIndex == 0) {
9586
+ updatingincrementalindex = true;
9587
+ this.incrementalStartIndex = this.incrementalEndIndex;
9588
+ if (this.incrementalEndIndex == 0) {
9589
+ this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;
9590
+ }
9591
+ else {
9592
+ this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100;
9593
+ }
9594
+ this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
9595
+ updatingincrementalindex = true;
9596
+ }
9597
+ if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
9598
+ this.updateIncrementalView(0, this.itemCount);
9599
+ }
9600
+ activeItem = Search(inputValue, this.incrementalLiCollections, this.filterType, true, dataSource, this.fields, type);
9601
+ while (isNullOrUndefined(activeItem) && this.incrementalEndIndex < this.totalItemCount) {
9602
+ this.incrementalStartIndex = this.incrementalEndIndex;
9603
+ this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100;
9604
+ this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
9605
+ updatingincrementalindex = true;
9606
+ if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
9607
+ this.updateIncrementalView(0, this.itemCount);
9608
+ }
9609
+ activeItem = Search(inputValue, this.incrementalLiCollections, this.filterType, true, dataSource, this.fields, type);
9610
+ if (!isNullOrUndefined(activeItem)) {
9611
+ break;
9612
+ }
9613
+ if (isNullOrUndefined(activeItem) && this.incrementalEndIndex >= this.totalItemCount) {
9614
+ this.incrementalStartIndex = 0;
9615
+ this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;
9616
+ break;
9617
+ }
9618
+ }
9619
+ if (activeItem.index) {
9620
+ if ((!(this.viewPortInfo.startIndex >= activeItem.index)) || (!(activeItem.index >= this.viewPortInfo.endIndex))) {
9621
+ var startIndex = activeItem.index - ((this.itemCount / 2) - 2) > 0 ? activeItem.index - ((this.itemCount / 2) - 2) : 0;
9622
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
9623
+ if (startIndex != this.viewPortInfo.startIndex) {
9624
+ this.updateIncrementalView(startIndex, endIndex);
9625
+ }
9626
+ }
9627
+ }
9628
+ if (!isNullOrUndefined(activeItem.item)) {
9629
+ var index_1 = this.getIndexByValue(activeItem.item.getAttribute('data-value')) - this.skeletonCount;
9630
+ if (index_1 > this.itemCount / 2) {
9631
+ var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount ? this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) : this.totalItemCount;
9632
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
9633
+ this.updateIncrementalView(startIndex, endIndex);
9634
+ }
9635
+ activeItem.item = this.getElementByValue(activeItem.item.getAttribute('data-value'));
9636
+ }
9637
+ else {
9638
+ this.updateIncrementalView(0, this.itemCount);
9639
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9640
+ this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
9641
+ this.list.scrollTop = 0;
9642
+ }
9643
+ if (activeItem && activeItem.item) {
9644
+ activeItem.item = this.getElementByValue(activeItem.item.getAttribute('data-value'));
9645
+ }
9646
+ }
9137
9647
  var activeElement = activeItem.item;
9138
9648
  if (!isNullOrUndefined(activeElement)) {
9139
9649
  var count = this.getIndexByValue(activeElement.getAttribute('data-value')) - 1;
@@ -9144,6 +9654,14 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
9144
9654
  if (!this.enableVirtualization) {
9145
9655
  this.list.scrollTop = count * height + fixedHead;
9146
9656
  }
9657
+ else {
9658
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9659
+ this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
9660
+ if (this.enableVirtualization && !this.fields.groupBy) {
9661
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? activeElement.offsetTop + (this.virtualListInfo.startIndex * activeElement.offsetHeight) : activeElement.offsetTop;
9662
+ this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * activeElement.offsetHeight);
9663
+ }
9664
+ }
9147
9665
  addClass([activeElement], dropDownListClasses.focus);
9148
9666
  }
9149
9667
  }
@@ -9767,25 +10285,25 @@ var ComboBox = /** @__PURE__ @class */ (function (_super) {
9767
10285
  * export all modules from current location
9768
10286
  */
9769
10287
 
9770
- var __extends$4 = (undefined && undefined.__extends) || (function () {
9771
- var extendStatics = function (d, b) {
9772
- extendStatics = Object.setPrototypeOf ||
9773
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9774
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
9775
- return extendStatics(d, b);
9776
- };
9777
- return function (d, b) {
9778
- extendStatics(d, b);
9779
- function __() { this.constructor = d; }
9780
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9781
- };
9782
- })();
9783
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9784
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9785
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9786
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9787
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9788
- };
10288
+ var __extends$4 = (undefined && undefined.__extends) || (function () {
10289
+ var extendStatics = function (d, b) {
10290
+ extendStatics = Object.setPrototypeOf ||
10291
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10292
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
10293
+ return extendStatics(d, b);
10294
+ };
10295
+ return function (d, b) {
10296
+ extendStatics(d, b);
10297
+ function __() { this.constructor = d; }
10298
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10299
+ };
10300
+ })();
10301
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
10302
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10303
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10304
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10305
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10306
+ };
9789
10307
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
9790
10308
  /// <reference path='../combo-box/combo-box-model.d.ts'/>
9791
10309
  dropDownListClasses.root = 'e-autocomplete';
@@ -9801,7 +10319,7 @@ dropDownListClasses.icon = 'e-input-group-icon e-ddl-icon e-search-icon';
9801
10319
  * atcObj.appendTo("#list");
9802
10320
  * ```
9803
10321
  */
9804
- var AutoComplete = /** @__PURE__ @class */ (function (_super) {
10322
+ var AutoComplete = /** @class */ (function (_super) {
9805
10323
  __extends$4(AutoComplete, _super);
9806
10324
  /**
9807
10325
  * * Constructor for creating the widget
@@ -9843,7 +10361,7 @@ var AutoComplete = /** @__PURE__ @class */ (function (_super) {
9843
10361
  if (!(this.dataSource instanceof DataManager) && dataType === 'string' || dataType === 'number') {
9844
10362
  filterQuery.where('', filterType, queryString, this.ignoreCase, this.ignoreAccent);
9845
10363
  }
9846
- else {
10364
+ else if ((!this.enableVirtualization) || (this.enableVirtualization && (!(this.dataSource instanceof DataManager) || (this.dataSource instanceof DataManager && this.virtualGroupDataSource)))) {
9847
10365
  var mapping = !isNullOrUndefined(this.fields.value) ? this.fields.value : '';
9848
10366
  filterQuery.where(mapping, filterType, queryString, this.ignoreCase, this.ignoreAccent);
9849
10367
  }
@@ -9859,7 +10377,7 @@ var AutoComplete = /** @__PURE__ @class */ (function (_super) {
9859
10377
  }
9860
10378
  filterQuery.take(this.suggestionCount);
9861
10379
  }
9862
- if (this.enableVirtualization) {
10380
+ if (this.enableVirtualization && (!(this.dataSource instanceof DataManager) || (this.dataSource instanceof DataManager && this.virtualGroupDataSource))) {
9863
10381
  var takeValue = this.getTakeValue();
9864
10382
  filterQuery.skip(this.virtualItemStartIndex);
9865
10383
  filterQuery.take(takeValue);
@@ -9941,7 +10459,7 @@ var AutoComplete = /** @__PURE__ @class */ (function (_super) {
9941
10459
  document.getElementsByClassName('e-popup')[0].querySelector('.e-dropdownbase').appendChild(virualElement);
9942
10460
  }
9943
10461
  }
9944
- if (this.enableVirtualization) {
10462
+ if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount != 0)) {
9945
10463
  this.getFilteringSkeletonCount();
9946
10464
  }
9947
10465
  }
@@ -9962,7 +10480,12 @@ var AutoComplete = /** @__PURE__ @class */ (function (_super) {
9962
10480
  };
9963
10481
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9964
10482
  AutoComplete.prototype.onActionComplete = function (ulElement, list, e, isUpdated) {
9965
- this.fixedHeaderElement = null;
10483
+ if (!this.enableVirtualization) {
10484
+ this.fixedHeaderElement = null;
10485
+ }
10486
+ if ((this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount != 0)) {
10487
+ this.getFilteringSkeletonCount();
10488
+ }
9966
10489
  _super.prototype.onActionComplete.call(this, ulElement, list, e);
9967
10490
  var item = this.list.querySelector('.' + dropDownListClasses.li);
9968
10491
  if (!isNullOrUndefined(item)) {
@@ -10398,25 +10921,25 @@ function encodePlaceholder(placeholder) {
10398
10921
  }
10399
10922
  /* eslint-enable valid-jsdoc */
10400
10923
 
10401
- var __extends$5 = (undefined && undefined.__extends) || (function () {
10402
- var extendStatics = function (d, b) {
10403
- extendStatics = Object.setPrototypeOf ||
10404
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10405
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
10406
- return extendStatics(d, b);
10407
- };
10408
- return function (d, b) {
10409
- extendStatics(d, b);
10410
- function __() { this.constructor = d; }
10411
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10412
- };
10413
- })();
10414
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
10415
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10416
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10417
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10418
- return c > 3 && r && Object.defineProperty(target, key, r), r;
10419
- };
10924
+ var __extends$5 = (undefined && undefined.__extends) || (function () {
10925
+ var extendStatics = function (d, b) {
10926
+ extendStatics = Object.setPrototypeOf ||
10927
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
10928
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
10929
+ return extendStatics(d, b);
10930
+ };
10931
+ return function (d, b) {
10932
+ extendStatics(d, b);
10933
+ function __() { this.constructor = d; }
10934
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10935
+ };
10936
+ })();
10937
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
10938
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10939
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10940
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10941
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10942
+ };
10420
10943
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
10421
10944
  /// <reference path='../drop-down-base/drop-down-base-model.d.ts'/>
10422
10945
  var FOCUS = 'e-input-focus';
@@ -10473,7 +10996,7 @@ var FILTERINPUT = 'e-input-filter';
10473
10996
  * </script>
10474
10997
  * ```
10475
10998
  */
10476
- var MultiSelect = /** @__PURE__ @class */ (function (_super) {
10999
+ var MultiSelect = /** @class */ (function (_super) {
10477
11000
  __extends$5(MultiSelect, _super);
10478
11001
  /**
10479
11002
  * Constructor for creating the DropDownList widget.
@@ -10646,7 +11169,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
10646
11169
  if (_this.popupObj) {
10647
11170
  _this.popupObj.show(eventArgs.animation, (_this.zIndex === 1000) ? _this.element : null);
10648
11171
  }
10649
- attributes(_this.inputElement, { 'aria-expanded': 'true', 'aria-owns': _this.inputElement.id + '_options' });
11172
+ attributes(_this.inputElement, { 'aria-expanded': 'true', 'aria-owns': _this.element.id + '_popup', 'aria-controls': _this.element.id });
10650
11173
  _this.updateAriaActiveDescendant();
10651
11174
  if (_this.isFirstClick) {
10652
11175
  _this.loadTemplate();
@@ -10727,7 +11250,7 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
10727
11250
  };
10728
11251
  MultiSelect.prototype.updateListARIA = function () {
10729
11252
  if (!isNullOrUndefined(this.ulElement)) {
10730
- attributes(this.ulElement, { 'id': this.element.id + '_options', 'role': 'listbox', 'aria-hidden': 'false' });
11253
+ attributes(this.ulElement, { 'id': this.element.id + '_options', 'role': 'listbox', 'aria-hidden': 'false', 'aria-label': 'list' });
10731
11254
  }
10732
11255
  var disableStatus = !isNullOrUndefined(this.inputElement) && (this.inputElement.disabled) ? true : false;
10733
11256
  if (!this.isPopupOpen() && !isNullOrUndefined(this.inputElement)) {
@@ -14324,6 +14847,8 @@ var MultiSelect = /** @__PURE__ @class */ (function (_super) {
14324
14847
  this.setWidth(this.width);
14325
14848
  this.overAllWrapper.appendChild(this.componentWrapper);
14326
14849
  this.popupWrapper = this.createElement('div', { id: this.element.id + '_popup', className: POPUP_WRAPPER });
14850
+ this.popupWrapper.setAttribute('aria-label', this.element.id);
14851
+ this.popupWrapper.setAttribute('role', 'dialog');
14327
14852
  if (this.mode === 'Delimiter' || this.mode === 'CheckBox') {
14328
14853
  this.delimiterWrapper = this.createElement('span', { className: DELIMITER_WRAPPER, styles: 'display:none' });
14329
14854
  this.componentWrapper.appendChild(this.delimiterWrapper);
@@ -14797,7 +15322,7 @@ var FOCUS$1 = 'e-input-focus';
14797
15322
  /**
14798
15323
  * The Multiselect enable CheckBoxSelection call this inject module.
14799
15324
  */
14800
- var CheckBoxSelection = /** @__PURE__ @class */ (function () {
15325
+ var CheckBoxSelection = /** @class */ (function () {
14801
15326
  function CheckBoxSelection(parent) {
14802
15327
  this.activeLi = [];
14803
15328
  this.activeEle = [];
@@ -15054,7 +15579,10 @@ var CheckBoxSelection = /** @__PURE__ @class */ (function () {
15054
15579
  'role': 'combobox',
15055
15580
  'autocomplete': 'off',
15056
15581
  'autocapitalize': 'off',
15057
- 'spellcheck': 'false'
15582
+ 'spellcheck': 'false',
15583
+ 'aria-label': 'multiselect',
15584
+ 'aria-expanded': 'true',
15585
+ 'aria-controls': args.popupElement.id
15058
15586
  });
15059
15587
  this.clearIconElement = this.filterInput.parentElement.querySelector('.' + clearIcon);
15060
15588
  if (!Browser.isDevice && this.clearIconElement) {
@@ -15293,31 +15821,31 @@ var CheckBoxSelection = /** @__PURE__ @class */ (function () {
15293
15821
  * export all modules from current location
15294
15822
  */
15295
15823
 
15296
- var __extends$6 = (undefined && undefined.__extends) || (function () {
15297
- var extendStatics = function (d, b) {
15298
- extendStatics = Object.setPrototypeOf ||
15299
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15300
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
15301
- return extendStatics(d, b);
15302
- };
15303
- return function (d, b) {
15304
- extendStatics(d, b);
15305
- function __() { this.constructor = d; }
15306
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15307
- };
15308
- })();
15309
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
15310
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15311
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15312
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15313
- return c > 3 && r && Object.defineProperty(target, key, r), r;
15314
- };
15824
+ var __extends$6 = (undefined && undefined.__extends) || (function () {
15825
+ var extendStatics = function (d, b) {
15826
+ extendStatics = Object.setPrototypeOf ||
15827
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15828
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
15829
+ return extendStatics(d, b);
15830
+ };
15831
+ return function (d, b) {
15832
+ extendStatics(d, b);
15833
+ function __() { this.constructor = d; }
15834
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15835
+ };
15836
+ })();
15837
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
15838
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15839
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15840
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
15841
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
15842
+ };
15315
15843
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
15316
15844
  /// <reference path='../drop-down-base/drop-down-base-model.d.ts'/>
15317
15845
  /**
15318
15846
  * Defines the Selection settings of List Box.
15319
15847
  */
15320
- var SelectionSettings = /** @__PURE__ @class */ (function (_super) {
15848
+ var SelectionSettings = /** @class */ (function (_super) {
15321
15849
  __extends$6(SelectionSettings, _super);
15322
15850
  function SelectionSettings() {
15323
15851
  return _super !== null && _super.apply(this, arguments) || this;
@@ -15339,7 +15867,7 @@ var SelectionSettings = /** @__PURE__ @class */ (function (_super) {
15339
15867
  /**
15340
15868
  * Defines the toolbar settings of List Box.
15341
15869
  */
15342
- var ToolbarSettings = /** @__PURE__ @class */ (function (_super) {
15870
+ var ToolbarSettings = /** @class */ (function (_super) {
15343
15871
  __extends$6(ToolbarSettings, _super);
15344
15872
  function ToolbarSettings() {
15345
15873
  return _super !== null && _super.apply(this, arguments) || this;
@@ -15372,7 +15900,7 @@ var ToolbarSettings = /** @__PURE__ @class */ (function (_super) {
15372
15900
  * </script>
15373
15901
  * ```
15374
15902
  */
15375
- var ListBox = /** @__PURE__ @class */ (function (_super) {
15903
+ var ListBox = /** @class */ (function (_super) {
15376
15904
  __extends$6(ListBox, _super);
15377
15905
  /**
15378
15906
  * Constructor for creating the ListBox component.
@@ -15419,6 +15947,12 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
15419
15947
  var hiddenSelect = this.createElement('select', { className: 'e-hidden-select', attrs: { 'multiple': '' } });
15420
15948
  hiddenSelect.style.visibility = 'hidden';
15421
15949
  this.list.classList.add('e-listbox-wrapper');
15950
+ this.list.querySelector('.e-list-parent').setAttribute('role', 'presentation');
15951
+ var groupHdrs = this.list.querySelectorAll('.e-list-group-item');
15952
+ for (var i = 0; i < groupHdrs.length; i++) {
15953
+ groupHdrs[i].removeAttribute('tabindex');
15954
+ groupHdrs[i].setAttribute('role', 'option');
15955
+ }
15422
15956
  if (this.itemTemplate) {
15423
15957
  this.list.classList.add('e-list-template');
15424
15958
  }
@@ -16483,7 +17017,8 @@ var ListBox = /** @__PURE__ @class */ (function (_super) {
16483
17017
  'autocomplete': 'off',
16484
17018
  'autocorrect': 'off',
16485
17019
  'autocapitalize': 'off',
16486
- 'spellcheck': 'false'
17020
+ 'spellcheck': 'false',
17021
+ 'role': 'textbox'
16487
17022
  });
16488
17023
  if (this.height.toString().indexOf('%') < 0) {
16489
17024
  addClass([this.list], 'e-filter-list');
@@ -17746,30 +18281,30 @@ var listBoxClasses = {
17746
18281
  * export all modules from current location
17747
18282
  */
17748
18283
 
17749
- var __extends$7 = (undefined && undefined.__extends) || (function () {
17750
- var extendStatics = function (d, b) {
17751
- extendStatics = Object.setPrototypeOf ||
17752
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
17753
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
17754
- return extendStatics(d, b);
17755
- };
17756
- return function (d, b) {
17757
- extendStatics(d, b);
17758
- function __() { this.constructor = d; }
17759
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17760
- };
17761
- })();
17762
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
17763
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17764
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17765
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17766
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17767
- };
18284
+ var __extends$7 = (undefined && undefined.__extends) || (function () {
18285
+ var extendStatics = function (d, b) {
18286
+ extendStatics = Object.setPrototypeOf ||
18287
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
18288
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
18289
+ return extendStatics(d, b);
18290
+ };
18291
+ return function (d, b) {
18292
+ extendStatics(d, b);
18293
+ function __() { this.constructor = d; }
18294
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
18295
+ };
18296
+ })();
18297
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
18298
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18299
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
18300
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18301
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18302
+ };
17768
18303
  /**
17769
18304
  * The Mention component is used to list someone or something based on user input in textarea, input,
17770
18305
  * or any other editable element from which the user can select.
17771
18306
  */
17772
- var Mention = /** @__PURE__ @class */ (function (_super) {
18307
+ var Mention = /** @class */ (function (_super) {
17773
18308
  __extends$7(Mention, _super);
17774
18309
  /**
17775
18310
  * * Constructor for creating the widget
@@ -17890,6 +18425,7 @@ var Mention = /** @__PURE__ @class */ (function (_super) {
17890
18425
  }
17891
18426
  }
17892
18427
  this.inputElement.setAttribute('role', 'textbox');
18428
+ this.inputElement.setAttribute('aria-label', 'mention');
17893
18429
  this.queryString = this.elementValue();
17894
18430
  this.wireEvent();
17895
18431
  };
@@ -18200,7 +18736,10 @@ var Mention = /** @__PURE__ @class */ (function (_super) {
18200
18736
  var value = this.getFormattedValue(focusItem.getAttribute('data-value'));
18201
18737
  this.selectEventCallback(focusItem, this.getDataByValue(value), value, true);
18202
18738
  }
18203
- if (this.beforePopupOpen) {
18739
+ if (this.beforePopupOpen && this.isPopupOpen) {
18740
+ if (this.initRemoteRender && !isNullOrUndefined(this.popupObj.element)) {
18741
+ this.popupObj.element.remove();
18742
+ }
18204
18743
  this.renderPopup();
18205
18744
  }
18206
18745
  }