@syncfusion/ej2-dropdowns 26.2.13 → 27.1.48

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 (438) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +1541 -847
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +1434 -717
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +15 -13
  12. package/src/auto-complete/auto-complete-model.d.ts +1 -1
  13. package/src/auto-complete/auto-complete.d.ts +2 -0
  14. package/src/auto-complete/auto-complete.js +52 -22
  15. package/src/combo-box/combo-box-model.d.ts +12 -5
  16. package/src/combo-box/combo-box.d.ts +10 -4
  17. package/src/combo-box/combo-box.js +73 -38
  18. package/src/common/incremental-search.d.ts +26 -11
  19. package/src/common/incremental-search.js +30 -16
  20. package/src/common/interface.d.ts +5 -5
  21. package/src/common/virtual-scroll.js +69 -36
  22. package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
  23. package/src/drop-down-base/drop-down-base.d.ts +6 -2
  24. package/src/drop-down-base/drop-down-base.js +100 -67
  25. package/src/drop-down-list/drop-down-list-model.d.ts +14 -7
  26. package/src/drop-down-list/drop-down-list.d.ts +11 -4
  27. package/src/drop-down-list/drop-down-list.js +299 -177
  28. package/src/drop-down-tree/drop-down-tree-model.d.ts +19 -0
  29. package/src/drop-down-tree/drop-down-tree.d.ts +26 -2
  30. package/src/drop-down-tree/drop-down-tree.js +205 -67
  31. package/src/list-box/list-box.js +72 -36
  32. package/src/mention/mention.d.ts +8 -0
  33. package/src/mention/mention.js +87 -24
  34. package/src/multi-select/checkbox-selection.js +3 -2
  35. package/src/multi-select/interface.d.ts +1 -0
  36. package/src/multi-select/multi-select-model.d.ts +15 -8
  37. package/src/multi-select/multi-select.d.ts +15 -5
  38. package/src/multi-select/multi-select.js +444 -237
  39. package/styles/auto-complete/bootstrap-dark.css +0 -50
  40. package/styles/auto-complete/bootstrap.css +0 -50
  41. package/styles/auto-complete/bootstrap4.css +0 -68
  42. package/styles/auto-complete/bootstrap5-dark.css +0 -54
  43. package/styles/auto-complete/bootstrap5.3.css +101 -0
  44. package/styles/auto-complete/bootstrap5.3.scss +4 -0
  45. package/styles/auto-complete/bootstrap5.css +0 -54
  46. package/styles/auto-complete/fabric-dark.css +0 -49
  47. package/styles/auto-complete/fabric.css +0 -42
  48. package/styles/auto-complete/fluent-dark.css +0 -41
  49. package/styles/auto-complete/fluent.css +0 -41
  50. package/styles/auto-complete/fluent2.css +1 -36
  51. package/styles/auto-complete/highcontrast-light.css +0 -37
  52. package/styles/auto-complete/highcontrast.css +0 -37
  53. package/styles/auto-complete/material-dark.css +0 -34
  54. package/styles/auto-complete/material.css +0 -55
  55. package/styles/auto-complete/material3-dark.css +0 -59
  56. package/styles/auto-complete/material3.css +0 -59
  57. package/styles/auto-complete/tailwind-dark.css +0 -35
  58. package/styles/auto-complete/tailwind.css +0 -35
  59. package/styles/bootstrap-dark-lite.css +2752 -0
  60. package/styles/bootstrap-dark-lite.scss +28 -0
  61. package/styles/bootstrap-dark.css +651 -604
  62. package/styles/bootstrap-dark.scss +6 -1
  63. package/styles/bootstrap-lite.css +2751 -0
  64. package/styles/bootstrap-lite.scss +28 -0
  65. package/styles/bootstrap.css +657 -610
  66. package/styles/bootstrap.scss +6 -1
  67. package/styles/bootstrap4-lite.css +2856 -0
  68. package/styles/bootstrap4-lite.scss +28 -0
  69. package/styles/bootstrap4.css +828 -755
  70. package/styles/bootstrap4.scss +6 -1
  71. package/styles/bootstrap5-dark-lite.css +2827 -0
  72. package/styles/bootstrap5-dark-lite.scss +28 -0
  73. package/styles/bootstrap5-dark.css +702 -651
  74. package/styles/bootstrap5-dark.scss +6 -1
  75. package/styles/bootstrap5-lite.css +2827 -0
  76. package/styles/bootstrap5-lite.scss +28 -0
  77. package/styles/bootstrap5.3-lite.css +2821 -0
  78. package/styles/bootstrap5.3-lite.scss +28 -0
  79. package/styles/bootstrap5.3.css +3552 -0
  80. package/styles/bootstrap5.3.scss +33 -0
  81. package/styles/bootstrap5.css +702 -651
  82. package/styles/bootstrap5.scss +6 -1
  83. package/styles/combo-box/bootstrap-dark.css +0 -50
  84. package/styles/combo-box/bootstrap.css +0 -50
  85. package/styles/combo-box/bootstrap4.css +0 -68
  86. package/styles/combo-box/bootstrap5-dark.css +0 -54
  87. package/styles/combo-box/bootstrap5.3.css +101 -0
  88. package/styles/combo-box/bootstrap5.3.scss +4 -0
  89. package/styles/combo-box/bootstrap5.css +0 -54
  90. package/styles/combo-box/fabric-dark.css +0 -49
  91. package/styles/combo-box/fabric.css +0 -42
  92. package/styles/combo-box/fluent-dark.css +0 -41
  93. package/styles/combo-box/fluent.css +0 -41
  94. package/styles/combo-box/fluent2.css +1 -36
  95. package/styles/combo-box/highcontrast-light.css +0 -37
  96. package/styles/combo-box/highcontrast.css +0 -37
  97. package/styles/combo-box/material-dark.css +0 -34
  98. package/styles/combo-box/material.css +0 -55
  99. package/styles/combo-box/material3-dark.css +0 -59
  100. package/styles/combo-box/material3.css +0 -59
  101. package/styles/combo-box/tailwind-dark.css +0 -35
  102. package/styles/combo-box/tailwind.css +0 -35
  103. package/styles/drop-down-base/_bds-definition.scss +0 -22
  104. package/styles/drop-down-base/_bigger.scss +195 -0
  105. package/styles/drop-down-base/_bootstrap-dark-definition.scss +0 -5
  106. package/styles/drop-down-base/_bootstrap-definition.scss +0 -5
  107. package/styles/drop-down-base/_bootstrap4-definition.scss +0 -9
  108. package/styles/drop-down-base/_bootstrap5-definition.scss +0 -19
  109. package/styles/drop-down-base/_bootstrap5.3-definition.scss +2 -21
  110. package/styles/drop-down-base/_fabric-dark-definition.scss +0 -5
  111. package/styles/drop-down-base/_fabric-definition.scss +0 -5
  112. package/styles/drop-down-base/_fluent-definition.scss +0 -19
  113. package/styles/drop-down-base/_fluent2-definition.scss +2 -23
  114. package/styles/drop-down-base/_fusionnew-definition.scss +0 -19
  115. package/styles/drop-down-base/_highcontrast-definition.scss +0 -9
  116. package/styles/drop-down-base/_highcontrast-light-definition.scss +0 -9
  117. package/styles/drop-down-base/_layout.scss +1 -57
  118. package/styles/drop-down-base/_material-dark-definition.scss +0 -4
  119. package/styles/drop-down-base/_material-definition.scss +0 -4
  120. package/styles/drop-down-base/_material3-definition.scss +0 -3
  121. package/styles/drop-down-base/_tailwind-definition.scss +0 -22
  122. package/styles/drop-down-base/_theme.scss +10 -91
  123. package/styles/drop-down-base/bootstrap-dark.css +75 -75
  124. package/styles/drop-down-base/bootstrap-dark.scss +1 -0
  125. package/styles/drop-down-base/bootstrap.css +75 -75
  126. package/styles/drop-down-base/bootstrap.scss +1 -0
  127. package/styles/drop-down-base/bootstrap4.css +79 -79
  128. package/styles/drop-down-base/bootstrap4.scss +1 -0
  129. package/styles/drop-down-base/bootstrap5-dark.css +89 -89
  130. package/styles/drop-down-base/bootstrap5-dark.scss +1 -0
  131. package/styles/drop-down-base/bootstrap5.3.css +411 -0
  132. package/styles/drop-down-base/bootstrap5.3.scss +4 -0
  133. package/styles/drop-down-base/bootstrap5.css +89 -89
  134. package/styles/drop-down-base/bootstrap5.scss +1 -0
  135. package/styles/drop-down-base/fabric-dark.css +75 -75
  136. package/styles/drop-down-base/fabric-dark.scss +1 -0
  137. package/styles/drop-down-base/fabric.css +75 -75
  138. package/styles/drop-down-base/fabric.scss +1 -0
  139. package/styles/drop-down-base/fluent-dark.css +101 -101
  140. package/styles/drop-down-base/fluent-dark.scss +1 -0
  141. package/styles/drop-down-base/fluent.css +101 -101
  142. package/styles/drop-down-base/fluent.scss +1 -0
  143. package/styles/drop-down-base/fluent2.css +97 -95
  144. package/styles/drop-down-base/fluent2.scss +1 -0
  145. package/styles/drop-down-base/highcontrast-light.css +75 -77
  146. package/styles/drop-down-base/highcontrast-light.scss +1 -0
  147. package/styles/drop-down-base/highcontrast.css +75 -77
  148. package/styles/drop-down-base/highcontrast.scss +1 -0
  149. package/styles/drop-down-base/material-dark.css +74 -74
  150. package/styles/drop-down-base/material-dark.scss +1 -0
  151. package/styles/drop-down-base/material.css +74 -74
  152. package/styles/drop-down-base/material.scss +1 -0
  153. package/styles/drop-down-base/material3-dark.css +74 -74
  154. package/styles/drop-down-base/material3-dark.scss +1 -0
  155. package/styles/drop-down-base/material3.css +74 -74
  156. package/styles/drop-down-base/material3.scss +1 -0
  157. package/styles/drop-down-base/tailwind-dark.css +135 -135
  158. package/styles/drop-down-base/tailwind-dark.scss +1 -0
  159. package/styles/drop-down-base/tailwind.css +135 -135
  160. package/styles/drop-down-base/tailwind.scss +1 -0
  161. package/styles/drop-down-list/_bds-definition.scss +0 -34
  162. package/styles/drop-down-list/_bigger.scss +713 -0
  163. package/styles/drop-down-list/_bootstrap-dark-definition.scss +0 -64
  164. package/styles/drop-down-list/_bootstrap-definition.scss +0 -64
  165. package/styles/drop-down-list/_bootstrap4-definition.scss +0 -81
  166. package/styles/drop-down-list/_bootstrap5-definition.scss +0 -67
  167. package/styles/drop-down-list/_bootstrap5.3-definition.scss +1 -67
  168. package/styles/drop-down-list/_fabric-dark-definition.scss +0 -57
  169. package/styles/drop-down-list/_fabric-definition.scss +0 -56
  170. package/styles/drop-down-list/_fluent-definition.scss +0 -57
  171. package/styles/drop-down-list/_fluent2-definition.scss +2 -35
  172. package/styles/drop-down-list/_fusionnew-definition.scss +0 -67
  173. package/styles/drop-down-list/_highcontrast-definition.scss +0 -60
  174. package/styles/drop-down-list/_highcontrast-light-definition.scss +0 -60
  175. package/styles/drop-down-list/_layout.scss +4 -82
  176. package/styles/drop-down-list/_material-dark-definition.scss +0 -33
  177. package/styles/drop-down-list/_material-definition.scss +0 -55
  178. package/styles/drop-down-list/_material3-definition.scss +0 -58
  179. package/styles/drop-down-list/_tailwind-definition.scss +0 -34
  180. package/styles/drop-down-list/_theme.scss +7 -0
  181. package/styles/drop-down-list/bootstrap-dark.css +90 -91
  182. package/styles/drop-down-list/bootstrap-dark.scss +1 -0
  183. package/styles/drop-down-list/bootstrap.css +90 -91
  184. package/styles/drop-down-list/bootstrap.scss +1 -0
  185. package/styles/drop-down-list/bootstrap4.css +105 -105
  186. package/styles/drop-down-list/bootstrap4.scss +1 -0
  187. package/styles/drop-down-list/bootstrap5-dark.css +87 -101
  188. package/styles/drop-down-list/bootstrap5-dark.scss +1 -0
  189. package/styles/drop-down-list/bootstrap5.3.css +481 -0
  190. package/styles/drop-down-list/bootstrap5.3.scss +10 -0
  191. package/styles/drop-down-list/bootstrap5.css +87 -101
  192. package/styles/drop-down-list/bootstrap5.scss +1 -0
  193. package/styles/drop-down-list/fabric-dark.css +89 -90
  194. package/styles/drop-down-list/fabric-dark.scss +1 -0
  195. package/styles/drop-down-list/fabric.css +89 -83
  196. package/styles/drop-down-list/fabric.scss +1 -0
  197. package/styles/drop-down-list/fluent-dark.css +73 -88
  198. package/styles/drop-down-list/fluent-dark.scss +1 -0
  199. package/styles/drop-down-list/fluent.css +73 -88
  200. package/styles/drop-down-list/fluent.scss +1 -0
  201. package/styles/drop-down-list/fluent2.css +76 -93
  202. package/styles/drop-down-list/fluent2.scss +1 -0
  203. package/styles/drop-down-list/highcontrast-light.css +78 -80
  204. package/styles/drop-down-list/highcontrast-light.scss +1 -0
  205. package/styles/drop-down-list/highcontrast.css +79 -80
  206. package/styles/drop-down-list/highcontrast.scss +1 -0
  207. package/styles/drop-down-list/material-dark.css +73 -73
  208. package/styles/drop-down-list/material-dark.scss +1 -0
  209. package/styles/drop-down-list/material.css +94 -94
  210. package/styles/drop-down-list/material.scss +1 -0
  211. package/styles/drop-down-list/material3-dark.css +98 -98
  212. package/styles/drop-down-list/material3-dark.scss +1 -0
  213. package/styles/drop-down-list/material3.css +98 -98
  214. package/styles/drop-down-list/material3.scss +1 -0
  215. package/styles/drop-down-list/tailwind-dark.css +95 -78
  216. package/styles/drop-down-list/tailwind-dark.scss +1 -0
  217. package/styles/drop-down-list/tailwind.css +95 -78
  218. package/styles/drop-down-list/tailwind.scss +1 -0
  219. package/styles/drop-down-tree/_bigger.scss +522 -0
  220. package/styles/drop-down-tree/_bootstrap5.3-definition.scss +5 -5
  221. package/styles/drop-down-tree/_fluent2-definition.scss +5 -3
  222. package/styles/drop-down-tree/_layout.scss +15 -491
  223. package/styles/drop-down-tree/_theme.scss +16 -4
  224. package/styles/drop-down-tree/bootstrap-dark.css +32 -37
  225. package/styles/drop-down-tree/bootstrap-dark.scss +1 -0
  226. package/styles/drop-down-tree/bootstrap.css +32 -37
  227. package/styles/drop-down-tree/bootstrap.scss +1 -0
  228. package/styles/drop-down-tree/bootstrap4.css +38 -47
  229. package/styles/drop-down-tree/bootstrap4.scss +1 -0
  230. package/styles/drop-down-tree/bootstrap5-dark.css +36 -55
  231. package/styles/drop-down-tree/bootstrap5-dark.scss +1 -0
  232. package/styles/drop-down-tree/bootstrap5.3.css +460 -0
  233. package/styles/drop-down-tree/bootstrap5.3.scss +10 -0
  234. package/styles/drop-down-tree/bootstrap5.css +36 -55
  235. package/styles/drop-down-tree/bootstrap5.scss +1 -0
  236. package/styles/drop-down-tree/fabric-dark.css +32 -37
  237. package/styles/drop-down-tree/fabric-dark.scss +1 -0
  238. package/styles/drop-down-tree/fabric.css +32 -37
  239. package/styles/drop-down-tree/fabric.scss +1 -0
  240. package/styles/drop-down-tree/fluent-dark.css +32 -51
  241. package/styles/drop-down-tree/fluent-dark.scss +1 -0
  242. package/styles/drop-down-tree/fluent.css +32 -51
  243. package/styles/drop-down-tree/fluent.scss +1 -0
  244. package/styles/drop-down-tree/fluent2.css +38 -53
  245. package/styles/drop-down-tree/fluent2.scss +1 -0
  246. package/styles/drop-down-tree/highcontrast-light.css +32 -39
  247. package/styles/drop-down-tree/highcontrast-light.scss +1 -0
  248. package/styles/drop-down-tree/highcontrast.css +41 -48
  249. package/styles/drop-down-tree/highcontrast.scss +1 -0
  250. package/styles/drop-down-tree/material-dark.css +32 -36
  251. package/styles/drop-down-tree/material-dark.scss +1 -0
  252. package/styles/drop-down-tree/material.css +32 -36
  253. package/styles/drop-down-tree/material.scss +1 -0
  254. package/styles/drop-down-tree/material3-dark.css +33 -37
  255. package/styles/drop-down-tree/material3-dark.scss +1 -0
  256. package/styles/drop-down-tree/material3.css +33 -37
  257. package/styles/drop-down-tree/material3.scss +1 -0
  258. package/styles/drop-down-tree/tailwind-dark.css +51 -73
  259. package/styles/drop-down-tree/tailwind-dark.scss +1 -0
  260. package/styles/drop-down-tree/tailwind.css +51 -73
  261. package/styles/drop-down-tree/tailwind.scss +1 -0
  262. package/styles/fabric-dark-lite.css +2730 -0
  263. package/styles/fabric-dark-lite.scss +28 -0
  264. package/styles/fabric-dark.css +657 -604
  265. package/styles/fabric-dark.scss +6 -1
  266. package/styles/fabric-lite.css +2731 -0
  267. package/styles/fabric-lite.scss +28 -0
  268. package/styles/fabric.css +667 -607
  269. package/styles/fabric.scss +6 -1
  270. package/styles/fluent-dark-lite.css +2866 -0
  271. package/styles/fluent-dark-lite.scss +28 -0
  272. package/styles/fluent-dark.css +703 -678
  273. package/styles/fluent-dark.scss +6 -1
  274. package/styles/fluent-lite.css +2866 -0
  275. package/styles/fluent-lite.scss +28 -0
  276. package/styles/fluent.css +703 -678
  277. package/styles/fluent.scss +6 -1
  278. package/styles/fluent2-lite.css +3050 -0
  279. package/styles/fluent2-lite.scss +28 -0
  280. package/styles/fluent2.css +739 -672
  281. package/styles/fluent2.scss +6 -1
  282. package/styles/highcontrast-light-lite.css +2847 -0
  283. package/styles/highcontrast-light-lite.scss +28 -0
  284. package/styles/highcontrast-light.css +652 -602
  285. package/styles/highcontrast-light.scss +6 -1
  286. package/styles/highcontrast-lite.css +2870 -0
  287. package/styles/highcontrast-lite.scss +28 -0
  288. package/styles/highcontrast.css +670 -619
  289. package/styles/highcontrast.scss +6 -1
  290. package/styles/list-box/_bigger.scss +173 -0
  291. package/styles/list-box/_bootstrap5-definition.scss +1 -0
  292. package/styles/list-box/_bootstrap5.3-definition.scss +17 -14
  293. package/styles/list-box/_fluent2-definition.scss +2 -0
  294. package/styles/list-box/_layout.scss +15 -127
  295. package/styles/list-box/_theme.scss +14 -51
  296. package/styles/list-box/bootstrap-dark.css +121 -129
  297. package/styles/list-box/bootstrap-dark.scss +1 -0
  298. package/styles/list-box/bootstrap.css +127 -135
  299. package/styles/list-box/bootstrap.scss +1 -0
  300. package/styles/list-box/bootstrap4.css +171 -183
  301. package/styles/list-box/bootstrap4.scss +1 -0
  302. package/styles/list-box/bootstrap5-dark.css +127 -149
  303. package/styles/list-box/bootstrap5-dark.scss +1 -0
  304. package/styles/list-box/bootstrap5.3.css +950 -0
  305. package/styles/list-box/bootstrap5.3.scss +6 -0
  306. package/styles/list-box/bootstrap5.css +127 -149
  307. package/styles/list-box/bootstrap5.scss +1 -0
  308. package/styles/list-box/fabric-dark.css +121 -129
  309. package/styles/list-box/fabric-dark.scss +1 -0
  310. package/styles/list-box/fabric.css +127 -135
  311. package/styles/list-box/fabric.scss +1 -0
  312. package/styles/list-box/fluent-dark.css +127 -149
  313. package/styles/list-box/fluent-dark.scss +1 -0
  314. package/styles/list-box/fluent.css +127 -149
  315. package/styles/list-box/fluent.scss +1 -0
  316. package/styles/list-box/fluent2.css +121 -156
  317. package/styles/list-box/fluent2.scss +1 -0
  318. package/styles/list-box/highcontrast-light.css +121 -131
  319. package/styles/list-box/highcontrast-light.scss +1 -0
  320. package/styles/list-box/highcontrast.css +127 -137
  321. package/styles/list-box/highcontrast.scss +1 -0
  322. package/styles/list-box/material-dark.css +121 -128
  323. package/styles/list-box/material-dark.scss +1 -0
  324. package/styles/list-box/material.css +127 -134
  325. package/styles/list-box/material.scss +1 -0
  326. package/styles/list-box/material3-dark.css +121 -128
  327. package/styles/list-box/material3-dark.scss +1 -0
  328. package/styles/list-box/material3.css +121 -128
  329. package/styles/list-box/material3.scss +1 -0
  330. package/styles/list-box/tailwind-dark.css +137 -162
  331. package/styles/list-box/tailwind-dark.scss +1 -0
  332. package/styles/list-box/tailwind.css +137 -162
  333. package/styles/list-box/tailwind.scss +1 -0
  334. package/styles/material-dark-lite.css +3513 -0
  335. package/styles/material-dark-lite.scss +28 -0
  336. package/styles/material-dark.css +1265 -1157
  337. package/styles/material-dark.scss +6 -1
  338. package/styles/material-lite.css +3545 -0
  339. package/styles/material-lite.scss +28 -0
  340. package/styles/material.css +1305 -1197
  341. package/styles/material.scss +6 -1
  342. package/styles/material3-dark-lite.css +3459 -0
  343. package/styles/material3-dark-lite.scss +28 -0
  344. package/styles/material3-dark.css +1614 -1248
  345. package/styles/material3-dark.scss +6 -1
  346. package/styles/material3-lite.css +3461 -0
  347. package/styles/material3-lite.scss +28 -0
  348. package/styles/material3.css +1614 -1248
  349. package/styles/material3.scss +6 -1
  350. package/styles/mention/bootstrap-dark.css +0 -5
  351. package/styles/mention/bootstrap.css +0 -5
  352. package/styles/mention/bootstrap4.css +0 -9
  353. package/styles/mention/bootstrap5-dark.css +0 -19
  354. package/styles/mention/bootstrap5.3.css +67 -0
  355. package/styles/mention/bootstrap5.3.scss +6 -0
  356. package/styles/mention/bootstrap5.css +0 -19
  357. package/styles/mention/fabric-dark.css +0 -5
  358. package/styles/mention/fabric.css +0 -5
  359. package/styles/mention/fluent-dark.css +0 -19
  360. package/styles/mention/fluent.css +0 -19
  361. package/styles/mention/fluent2.css +0 -22
  362. package/styles/mention/highcontrast-light.css +0 -7
  363. package/styles/mention/highcontrast.css +0 -7
  364. package/styles/mention/material-dark.css +0 -4
  365. package/styles/mention/material.css +0 -4
  366. package/styles/mention/material3-dark.css +0 -4
  367. package/styles/mention/material3.css +0 -4
  368. package/styles/mention/tailwind-dark.css +0 -22
  369. package/styles/mention/tailwind.css +0 -22
  370. package/styles/multi-select/_bds-definition.scss +0 -5
  371. package/styles/multi-select/_bigger.scss +2002 -0
  372. package/styles/multi-select/_bootstrap-dark-definition.scss +0 -9
  373. package/styles/multi-select/_bootstrap-definition.scss +0 -9
  374. package/styles/multi-select/_bootstrap4-definition.scss +0 -44
  375. package/styles/multi-select/_bootstrap5-definition.scss +0 -5
  376. package/styles/multi-select/_bootstrap5.3-definition.scss +0 -5
  377. package/styles/multi-select/_fabric-dark-definition.scss +2 -4
  378. package/styles/multi-select/_fabric-definition.scss +2 -4
  379. package/styles/multi-select/_fluent-definition.scss +0 -10
  380. package/styles/multi-select/_fluent2-definition.scss +2 -5
  381. package/styles/multi-select/_fusionnew-definition.scss +0 -5
  382. package/styles/multi-select/_highcontrast-definition.scss +1 -2
  383. package/styles/multi-select/_highcontrast-light-definition.scss +1 -2
  384. package/styles/multi-select/_layout.scss +33 -934
  385. package/styles/multi-select/_tailwind-definition.scss +0 -5
  386. package/styles/multi-select/_theme.scss +13 -34
  387. package/styles/multi-select/bootstrap-dark.css +314 -273
  388. package/styles/multi-select/bootstrap-dark.scss +1 -0
  389. package/styles/multi-select/bootstrap.css +314 -273
  390. package/styles/multi-select/bootstrap.scss +1 -0
  391. package/styles/multi-select/bootstrap4.css +405 -347
  392. package/styles/multi-select/bootstrap4.scss +1 -0
  393. package/styles/multi-select/bootstrap5-dark.css +350 -320
  394. package/styles/multi-select/bootstrap5-dark.scss +1 -0
  395. package/styles/multi-select/bootstrap5.3.css +1424 -0
  396. package/styles/multi-select/bootstrap5.3.scss +10 -0
  397. package/styles/multi-select/bootstrap5.css +350 -320
  398. package/styles/multi-select/bootstrap5.scss +1 -0
  399. package/styles/multi-select/fabric-dark.css +320 -273
  400. package/styles/multi-select/fabric-dark.scss +1 -0
  401. package/styles/multi-select/fabric.css +320 -273
  402. package/styles/multi-select/fabric.scss +1 -0
  403. package/styles/multi-select/fluent-dark.css +366 -361
  404. package/styles/multi-select/fluent-dark.scss +1 -0
  405. package/styles/multi-select/fluent.css +366 -361
  406. package/styles/multi-select/fluent.scss +1 -0
  407. package/styles/multi-select/fluent2.css +399 -355
  408. package/styles/multi-select/fluent2.scss +1 -0
  409. package/styles/multi-select/highcontrast-light.css +321 -278
  410. package/styles/multi-select/highcontrast-light.scss +1 -0
  411. package/styles/multi-select/highcontrast.css +321 -278
  412. package/styles/multi-select/highcontrast.scss +1 -0
  413. package/styles/multi-select/icons/_bootstrap4.scss +0 -9
  414. package/styles/multi-select/icons/_fluent.scss +0 -21
  415. package/styles/multi-select/icons/_fluent2.scss +5 -354
  416. package/styles/multi-select/icons/_material-dark.scss +5 -354
  417. package/styles/multi-select/icons/_material.scss +5 -354
  418. package/styles/multi-select/icons/_material3.scss +5 -354
  419. package/styles/multi-select/material-dark.css +960 -857
  420. package/styles/multi-select/material-dark.scss +1 -0
  421. package/styles/multi-select/material.css +960 -857
  422. package/styles/multi-select/material.scss +1 -0
  423. package/styles/multi-select/material3-dark.css +1277 -916
  424. package/styles/multi-select/material3-dark.scss +1 -0
  425. package/styles/multi-select/material3.css +1277 -916
  426. package/styles/multi-select/material3.scss +1 -0
  427. package/styles/multi-select/tailwind-dark.css +351 -327
  428. package/styles/multi-select/tailwind-dark.scss +1 -0
  429. package/styles/multi-select/tailwind.css +351 -327
  430. package/styles/multi-select/tailwind.scss +1 -0
  431. package/styles/tailwind-dark-lite.css +2813 -0
  432. package/styles/tailwind-dark-lite.scss +28 -0
  433. package/styles/tailwind-dark.css +930 -848
  434. package/styles/tailwind-dark.scss +6 -1
  435. package/styles/tailwind-lite.css +2813 -0
  436. package/styles/tailwind-lite.scss +28 -0
  437. package/styles/tailwind.css +930 -848
  438. package/styles/tailwind.scss +6 -1
@@ -28,7 +28,6 @@ import { Input } from '@syncfusion/ej2-inputs';
28
28
  import { incrementalSearch, resetIncrementalSearchValues } from '../common/incremental-search';
29
29
  import { DropDownBase, dropDownBaseClasses } from '../drop-down-base/drop-down-base';
30
30
  import { DataManager, Query, Predicate } from '@syncfusion/ej2-data';
31
- [];
32
31
  // don't use space in classnames
33
32
  export var dropDownListClasses = {
34
33
  root: 'e-dropdownlist',
@@ -58,7 +57,7 @@ export var dropDownListClasses = {
58
57
  popupFullScreen: 'e-popup-full-page',
59
58
  disableIcon: 'e-ddl-disable-icon',
60
59
  hiddenElement: 'e-ddl-hidden',
61
- virtualList: 'e-list-item e-virtual-list',
60
+ virtualList: 'e-list-item e-virtual-list'
62
61
  };
63
62
  var inputObject = {
64
63
  container: null,
@@ -90,9 +89,6 @@ var DropDownList = /** @class */ (function (_super) {
90
89
  _this.preventChange = false;
91
90
  _this.isTouched = false;
92
91
  _this.isFocused = false;
93
- _this.IsScrollerAtEnd = function () {
94
- return this.list && this.list.scrollTop + this.list.clientHeight >= this.list.scrollHeight;
95
- };
96
92
  return _this;
97
93
  }
98
94
  /**
@@ -157,7 +153,7 @@ var DropDownList = /** @class */ (function (_super) {
157
153
  sentinelInfo: {},
158
154
  offsets: {},
159
155
  startIndex: 0,
160
- endIndex: this.itemCount,
156
+ endIndex: this.itemCount
161
157
  };
162
158
  };
163
159
  DropDownList.prototype.setZIndex = function () {
@@ -231,7 +227,10 @@ var DropDownList = /** @class */ (function (_super) {
231
227
  this.resetSelection(properties);
232
228
  }
233
229
  var dataItem = this.getItemData();
234
- if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) || (this.allowObjectBinding && this.previousValue && this.isObjectInArray(this.previousValue, [this.allowCustom ? this.value ? this.value : dataItem : dataItem.value ? this.getDataByValue(dataItem.value) : dataItem]))) {
230
+ if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) ||
231
+ (this.allowObjectBinding && this.previousValue &&
232
+ this.isObjectInArray(this.previousValue, [this.allowCustom ? this.value ? this.value : dataItem :
233
+ dataItem.value ? this.getDataByValue(dataItem.value) : dataItem]))) {
235
234
  return;
236
235
  }
237
236
  this.onChangeEvent(e);
@@ -685,24 +684,26 @@ var DropDownList = /** @class */ (function (_super) {
685
684
  var queryStringUpdated = false;
686
685
  var activeElement = this.ulElement.getElementsByClassName('e-active')[0];
687
686
  var currentValue = activeElement ? activeElement.textContent : null;
688
- if (this.incrementalQueryString == '') {
687
+ if (this.incrementalQueryString === '') {
689
688
  this.incrementalQueryString = String.fromCharCode(e.charCode);
690
689
  this.incrementalPreQueryString = this.incrementalQueryString;
691
690
  }
692
- else if (String.fromCharCode(e.charCode).toLocaleLowerCase() == this.incrementalPreQueryString.toLocaleLowerCase()) {
691
+ else if (String.fromCharCode(e.charCode).toLocaleLowerCase() === this.incrementalPreQueryString.toLocaleLowerCase()) {
693
692
  queryStringUpdated = true;
694
693
  }
695
694
  else {
696
695
  this.incrementalQueryString = String.fromCharCode(e.charCode);
697
696
  }
698
- if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) || this.incrementalEndIndex == 0) {
697
+ if ((this.viewPortInfo.endIndex >= this.incrementalEndIndex && this.incrementalEndIndex <= this.totalItemCount) ||
698
+ this.incrementalEndIndex === 0) {
699
699
  updatingincrementalindex = true;
700
700
  this.incrementalStartIndex = this.incrementalEndIndex;
701
- if (this.incrementalEndIndex == 0) {
701
+ if (this.incrementalEndIndex === 0) {
702
702
  this.incrementalEndIndex = 100 > this.totalItemCount ? this.totalItemCount : 100;
703
703
  }
704
704
  else {
705
- this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100;
705
+ this.incrementalEndIndex = this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount :
706
+ this.incrementalEndIndex + 100;
706
707
  }
707
708
  this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
708
709
  updatingincrementalindex = true;
@@ -712,7 +713,8 @@ var DropDownList = /** @class */ (function (_super) {
712
713
  }
713
714
  var li = incrementalSearch(e.charCode, this.incrementalLiCollections, this.activeIndex, true, this.element.id, queryStringUpdated, currentValue, true);
714
715
  while (isNullOrUndefined(li) && this.incrementalEndIndex < this.totalItemCount) {
715
- this.updateIncrementalItemIndex(this.incrementalEndIndex, this.incrementalEndIndex + 100 > this.totalItemCount ? this.totalItemCount : this.incrementalEndIndex + 100);
716
+ this.updateIncrementalItemIndex(this.incrementalEndIndex, this.incrementalEndIndex + 100 > this.totalItemCount ?
717
+ this.totalItemCount : this.incrementalEndIndex + 100);
716
718
  this.updateIncrementalInfo(this.incrementalStartIndex, this.incrementalEndIndex);
717
719
  updatingincrementalindex = true;
718
720
  if (this.viewPortInfo.startIndex !== 0 || updatingincrementalindex) {
@@ -739,7 +741,8 @@ var DropDownList = /** @class */ (function (_super) {
739
741
  var index = li && this.getIndexByValue(li.getAttribute('data-value'));
740
742
  if (!index) {
741
743
  for (var i = 0; i < this.incrementalLiCollections.length; i++) {
742
- if (!isNullOrUndefined(li) && !isNullOrUndefined(li.getAttribute('data-value')) && this.incrementalLiCollections[i].getAttribute('data-value') === li.getAttribute('data-value').toString()) {
744
+ if (!isNullOrUndefined(li) && !isNullOrUndefined(li.getAttribute('data-value')) &&
745
+ this.incrementalLiCollections[i].getAttribute('data-value') === li.getAttribute('data-value').toString()) {
743
746
  index = i;
744
747
  index = this.incrementalStartIndex + index;
745
748
  break;
@@ -752,15 +755,18 @@ var DropDownList = /** @class */ (function (_super) {
752
755
  if (index) {
753
756
  if ((!(this.viewPortInfo.startIndex >= index)) || (!(index >= this.viewPortInfo.endIndex))) {
754
757
  var startIndex = index - ((this.itemCount / 2) - 2) > 0 ? index - ((this.itemCount / 2) - 2) : 0;
755
- var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
758
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ?
759
+ this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
756
760
  this.updateIncrementalView(startIndex, endIndex);
757
761
  }
758
762
  }
759
763
  if (!isNullOrUndefined(li)) {
760
764
  var index_1 = this.getIndexByValue(li.getAttribute('data-value')) - this.skeletonCount;
761
765
  if (index_1 > this.itemCount / 2) {
762
- var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount ? this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) : this.totalItemCount;
763
- var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ? this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
766
+ var startIndex = this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) < this.totalItemCount ?
767
+ this.viewPortInfo.startIndex + ((this.itemCount / 2) - 2) : this.totalItemCount;
768
+ var endIndex = this.viewPortInfo.startIndex + this.itemCount > this.totalItemCount ?
769
+ this.totalItemCount : this.viewPortInfo.startIndex + this.itemCount;
764
770
  this.updateIncrementalView(startIndex, endIndex);
765
771
  }
766
772
  li = this.getElementByValue(li.getAttribute('data-value'));
@@ -769,8 +775,11 @@ var DropDownList = /** @class */ (function (_super) {
769
775
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
770
776
  this.list.getElementsByClassName('e-virtual-ddl-content')[0].style = this.getTransformValues();
771
777
  if (this.enableVirtualization && !this.fields.groupBy) {
772
- var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
773
- this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
778
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
779
+ this.selectedLI.offsetTop +
780
+ (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
781
+ this.list.scrollTop = selectedLiOffsetTop -
782
+ (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
774
783
  }
775
784
  this.incrementalPreQueryString = this.incrementalQueryString;
776
785
  }
@@ -923,11 +932,11 @@ var DropDownList = /** @class */ (function (_super) {
923
932
  return;
924
933
  }
925
934
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
926
- var value_1 = this.getItemData().value;
927
- if (isNullOrUndefined(value_1)) {
928
- value_1 = 'null';
935
+ var value = this.getItemData().value;
936
+ if (isNullOrUndefined(value)) {
937
+ value = 'null';
929
938
  }
930
- var filterIndex = this.getIndexByValue(value_1);
939
+ var filterIndex = this.getIndexByValue(value);
931
940
  if (!isNullOrUndefined(filterIndex)) {
932
941
  this.activeIndex = filterIndex;
933
942
  }
@@ -936,11 +945,14 @@ var DropDownList = /** @class */ (function (_super) {
936
945
  if (this.isSelectFocusItem(focusEle) && !isVirtualKeyAction) {
937
946
  this.setSelection(focusEle, e);
938
947
  if (this.enableVirtualization) {
939
- var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
948
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop +
949
+ (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
940
950
  if (this.fields.groupBy) {
941
- selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex == 0 ? this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;
951
+ selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex === 0 ?
952
+ this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;
942
953
  }
943
- this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
954
+ this.list.scrollTop = selectedLiOffsetTop -
955
+ (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
944
956
  }
945
957
  }
946
958
  else if (!isNullOrUndefined(this.liCollections)) {
@@ -976,37 +988,45 @@ var DropDownList = /** @class */ (function (_super) {
976
988
  }
977
989
  }
978
990
  if (!isNullOrUndefined(nextItem)) {
979
- var focusAtFirstElement = this.liCollections[this.skeletonCount] && this.liCollections[this.skeletonCount].classList.contains('e-item-focus');
991
+ var focusAtFirstElement = this.liCollections[this.skeletonCount] &&
992
+ this.liCollections[this.skeletonCount].classList.contains('e-item-focus');
980
993
  this.setSelection(nextItem, e);
981
994
  if (focusAtFirstElement && this.enableVirtualization && this.getModuleName() === 'autocomplete' && !isVirtualKeyAction) {
982
- var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
983
- selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex == 0 && this.fields.groupBy ? this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;
995
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
996
+ this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) :
997
+ this.selectedLI.offsetTop;
998
+ selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex === 0 && this.fields.groupBy ?
999
+ this.selectedLI.offsetHeight - selectedLiOffsetTop : selectedLiOffsetTop - this.selectedLI.offsetHeight;
984
1000
  this.list.scrollTop = selectedLiOffsetTop - (this.list.querySelectorAll('.e-virtual-list').length * this.selectedLI.offsetHeight);
985
1001
  }
986
1002
  }
987
1003
  else if (this.enableVirtualization && !this.isPopupOpen && this.getModuleName() !== 'autocomplete' && ((this.viewPortInfo.endIndex !== this.totalItemCount && e.action === 'down') || (this.viewPortInfo.startIndex !== 0 && e.action === 'up'))) {
988
1004
  if (e.action === 'down') {
989
- this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex + this.itemCount) < (this.totalItemCount - this.itemCount) ? this.viewPortInfo.startIndex + this.itemCount : this.totalItemCount - this.itemCount;
1005
+ this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex + this.itemCount) <
1006
+ (this.totalItemCount - this.itemCount) ? this.viewPortInfo.startIndex + this.itemCount :
1007
+ this.totalItemCount - this.itemCount;
990
1008
  this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;
991
1009
  this.updateVirtualItemIndex();
992
1010
  this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;
993
1011
  this.resetList(this.dataSource, this.fields, this.query);
994
1012
  this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;
995
- var value_2 = this.liCollections[0].getAttribute('data-value') !== "null" ? this.getFormattedValue(this.liCollections[0].getAttribute('data-value')) : null;
996
- var selectedData = this.getDataByValue(value_2);
1013
+ var value = this.liCollections[0].getAttribute('data-value') !== 'null' ?
1014
+ this.getFormattedValue(this.liCollections[0].getAttribute('data-value')) : null;
1015
+ var selectedData = this.getDataByValue(value);
997
1016
  if (selectedData) {
998
1017
  this.itemData = selectedData;
999
1018
  }
1000
1019
  }
1001
1020
  else if (e.action === 'up') {
1002
- this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex - this.itemCount) > 0 ? this.viewPortInfo.startIndex - this.itemCount : 0;
1021
+ this.viewPortInfo.startIndex = (this.viewPortInfo.startIndex - this.itemCount) > 0 ?
1022
+ this.viewPortInfo.startIndex - this.itemCount : 0;
1003
1023
  this.viewPortInfo.endIndex = this.viewPortInfo.startIndex + this.itemCount;
1004
1024
  this.updateVirtualItemIndex();
1005
1025
  this.isCustomFilter = this.getModuleName() === 'combobox' ? true : this.isCustomFilter;
1006
1026
  this.resetList(this.dataSource, this.fields, this.query);
1007
1027
  this.isCustomFilter = this.getModuleName() === 'combobox' ? false : this.isCustomFilter;
1008
- 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;
1009
- var selectedData = this.getDataByValue(value_3);
1028
+ var value = this.liCollections[this.liCollections.length - 1].getAttribute('data-value') !== 'null' ? this.getFormattedValue(this.liCollections[this.liCollections.length - 1].getAttribute('data-value')) : null;
1029
+ var selectedData = this.getDataByValue(value);
1010
1030
  if (selectedData) {
1011
1031
  this.itemData = selectedData;
1012
1032
  }
@@ -1018,8 +1038,8 @@ var DropDownList = /** @class */ (function (_super) {
1018
1038
  }
1019
1039
  }
1020
1040
  if (this.allowFiltering && !this.enableVirtualization && this.getModuleName() !== 'autocomplete') {
1021
- var value_4 = this.getItemData().value;
1022
- var filterIndex = this.getIndexByValueFilter(value_4, this.actionCompleteData.ulElement);
1041
+ var value = this.getItemData().value;
1042
+ var filterIndex = this.getIndexByValueFilter(value, this.actionCompleteData.ulElement);
1023
1043
  if (!isNullOrUndefined(filterIndex)) {
1024
1044
  this.activeIndex = filterIndex;
1025
1045
  }
@@ -1128,13 +1148,18 @@ var DropDownList = /** @class */ (function (_super) {
1128
1148
  }
1129
1149
  break;
1130
1150
  case 'pageUp':
1131
- this.activeIndex = this.getModuleName() === 'autocomplete' ? this.getIndexByValue(this.selectedLI.getAttribute('data-value')) + this.getPageCount() - 1 : this.getIndexByValue(this.previousValue);
1151
+ this.activeIndex = this.getModuleName() === 'autocomplete' ?
1152
+ this.getIndexByValue(this.selectedLI.getAttribute('data-value')) + this.getPageCount() - 1 :
1153
+ this.getIndexByValue(this.previousValue);
1132
1154
  this.pageUpSelection(this.activeIndex - this.getPageCount(), e, true);
1133
1155
  e.preventDefault();
1134
1156
  break;
1135
1157
  case 'pageDown':
1136
- this.activeIndex = this.getModuleName() === 'autocomplete' ? this.getIndexByValue(this.selectedLI.getAttribute('data-value')) - this.getPageCount() : this.getIndexByValue(this.previousValue);
1137
- this.pageDownSelection(!isNullOrUndefined(this.activeIndex) ? (this.activeIndex + this.getPageCount()) : (2 * this.getPageCount()), e, true);
1158
+ this.activeIndex = this.getModuleName() === 'autocomplete' ?
1159
+ this.getIndexByValue(this.selectedLI.getAttribute('data-value')) - this.getPageCount() :
1160
+ this.getIndexByValue(this.previousValue);
1161
+ this.pageDownSelection(!isNullOrUndefined(this.activeIndex) ?
1162
+ (this.activeIndex + this.getPageCount()) : (2 * this.getPageCount()), e, true);
1138
1163
  e.preventDefault();
1139
1164
  break;
1140
1165
  case 'home':
@@ -1175,7 +1200,8 @@ var DropDownList = /** @class */ (function (_super) {
1175
1200
  DropDownList.prototype.pageUpSelection = function (steps, event, isVirtualKeyAction) {
1176
1201
  var previousItem = steps >= 0 ? this.liCollections[steps + 1] : this.liCollections[0];
1177
1202
  if ((this.enableVirtualization && this.activeIndex == null)) {
1178
- previousItem = (this.liCollections.length >= steps && steps >= 0) ? this.liCollections[steps + this.skeletonCount + 1] : this.liCollections[0];
1203
+ previousItem = (this.liCollections.length >= steps && steps >= 0) ?
1204
+ this.liCollections[steps + this.skeletonCount + 1] : this.liCollections[0];
1179
1205
  }
1180
1206
  if (!isNullOrUndefined(previousItem) && previousItem.classList.contains('e-virtual-list')) {
1181
1207
  previousItem = this.liCollections[this.skeletonCount];
@@ -1192,7 +1218,9 @@ var DropDownList = /** @class */ (function (_super) {
1192
1218
  };
1193
1219
  DropDownList.prototype.PageUpDownSelection = function (previousItem, event) {
1194
1220
  if (this.enableVirtualization) {
1195
- if (!isNullOrUndefined(previousItem) && ((this.getModuleName() !== 'autocomplete' && !previousItem.classList.contains('e-active')) || (this.getModuleName() === 'autocomplete' && !previousItem.classList.contains('e-item-focus')))) {
1221
+ if (!isNullOrUndefined(previousItem) && ((this.getModuleName() !== 'autocomplete' &&
1222
+ !previousItem.classList.contains('e-active')) || (this.getModuleName() === 'autocomplete' &&
1223
+ !previousItem.classList.contains('e-item-focus')))) {
1196
1224
  this.setSelection(previousItem, event);
1197
1225
  }
1198
1226
  }
@@ -1337,7 +1365,8 @@ var DropDownList = /** @class */ (function (_super) {
1337
1365
  this.removeSelection();
1338
1366
  li.classList.add(dropDownBaseClasses.selected);
1339
1367
  this.removeHover();
1340
- var value = li.getAttribute('data-value') !== null ? this.getFormattedValue(li.getAttribute('data-value')) : null;
1368
+ var value = li.getAttribute('data-value') !== null ?
1369
+ this.getFormattedValue(li.getAttribute('data-value')) : null;
1341
1370
  var selectedData = this.getDataByValue(value);
1342
1371
  if (!this.initial && !preventSelect && !isNullOrUndefined(e)) {
1343
1372
  var items = this.detachChanges(selectedData);
@@ -1370,8 +1399,9 @@ var DropDownList = /** @class */ (function (_super) {
1370
1399
  };
1371
1400
  DropDownList.prototype.selectEventCallback = function (li, e, preventSelect, selectedData, value) {
1372
1401
  this.previousItemData = (!isNullOrUndefined(this.itemData)) ? this.itemData : null;
1373
- if (this.itemData != selectedData) {
1374
- this.previousValue = (!isNullOrUndefined(this.itemData)) ? typeof this.itemData == "object" && !this.allowObjectBinding ? this.checkFieldValue(this.itemData, this.fields.value.split('.')) : this.itemData : null;
1402
+ if (this.itemData !== selectedData) {
1403
+ this.previousValue = (!isNullOrUndefined(this.itemData)) ? typeof this.itemData == 'object' &&
1404
+ !this.allowObjectBinding ? this.checkFieldValue(this.itemData, this.fields.value.split('.')) : this.itemData : null;
1375
1405
  }
1376
1406
  this.item = li;
1377
1407
  this.itemData = selectedData;
@@ -1435,7 +1465,10 @@ var DropDownList = /** @class */ (function (_super) {
1435
1465
  if (this.isFiltering() && clearElement) {
1436
1466
  clearElement.style.removeProperty('visibility');
1437
1467
  }
1438
- if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) || (this.allowObjectBinding && (this.previousValue != null && this.isObjectInArray(this.previousValue, [this.allowCustom && this.isObjectCustomValue ? this.value ? this.value : dataItem : dataItem.value ? this.getDataByValue(dataItem.value) : dataItem])))) {
1468
+ if ((!this.allowObjectBinding && (this.previousValue === dataItem.value)) || (this.allowObjectBinding &&
1469
+ (this.previousValue != null && this.isObjectInArray(this.previousValue, [this.allowCustom &&
1470
+ this.isObjectCustomValue ? this.value ? this.value : dataItem : dataItem.value ?
1471
+ this.getDataByValue(dataItem.value) : dataItem])))) {
1439
1472
  this.isSelected = false;
1440
1473
  return true;
1441
1474
  }
@@ -1457,15 +1490,18 @@ var DropDownList = /** @class */ (function (_super) {
1457
1490
  this.setSelectOptions(li, e);
1458
1491
  if (this.enableVirtualization && this.value) {
1459
1492
  var fields = (this.fields.value) ? this.fields.value : '';
1460
- var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ? getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
1493
+ var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ?
1494
+ getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
1461
1495
  if (this.dataSource instanceof DataManager) {
1462
1496
  var getItem = new DataManager(this.virtualGroupDataSource).executeLocal(new Query().where(new Predicate(fields, 'equal', currentValue)));
1463
1497
  if (getItem && getItem.length > 0) {
1464
1498
  this.itemData = getItem[0];
1465
1499
  var dataItem = this.getItemData();
1466
- var value = this.allowObjectBinding ? this.getDataByValue(dataItem.value) : dataItem.value;
1467
- if ((this.value === dataItem.value && this.text !== dataItem.text) || (this.value !== dataItem.value && this.text === dataItem.text)) {
1468
- this.setProperties({ 'text': dataItem.text, 'value': value });
1500
+ var value = this.allowObjectBinding ?
1501
+ this.getDataByValue(dataItem.value) : dataItem.value;
1502
+ if ((this.value === dataItem.value && this.text !== dataItem.text) ||
1503
+ (this.value !== dataItem.value && this.text === dataItem.text)) {
1504
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
1469
1505
  }
1470
1506
  }
1471
1507
  }
@@ -1474,9 +1510,11 @@ var DropDownList = /** @class */ (function (_super) {
1474
1510
  if (getItem && getItem.length > 0) {
1475
1511
  this.itemData = getItem[0];
1476
1512
  var dataItem = this.getItemData();
1477
- var value = this.allowObjectBinding ? this.getDataByValue(dataItem.value) : dataItem.value;
1478
- if ((this.value === dataItem.value && this.text !== dataItem.text) || (this.value !== dataItem.value && this.text === dataItem.text)) {
1479
- this.setProperties({ 'text': dataItem.text, 'value': value });
1513
+ var value = this.allowObjectBinding ?
1514
+ this.getDataByValue(dataItem.value) : dataItem.value;
1515
+ if ((this.value === dataItem.value && this.text !== dataItem.text) ||
1516
+ (this.value !== dataItem.value && this.text === dataItem.text)) {
1517
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
1480
1518
  }
1481
1519
  }
1482
1520
  }
@@ -1588,6 +1626,7 @@ var DropDownList = /** @class */ (function (_super) {
1588
1626
  * To trigger the change event for list.
1589
1627
  *
1590
1628
  * @param {MouseEvent | KeyboardEvent | TouchEvent} eve - Specifies the event arguments.
1629
+ * @param {boolean} isCustomValue - Specifies whether the value is custom value or not.
1591
1630
  * @returns {void}
1592
1631
  */
1593
1632
  DropDownList.prototype.onChangeEvent = function (eve, isCustomValue) {
@@ -1605,8 +1644,9 @@ var DropDownList = /** @class */ (function (_super) {
1605
1644
  }
1606
1645
  }
1607
1646
  }
1608
- var value = this.allowObjectBinding ? isCustomValue ? this.value : this.getDataByValue(dataItem.value) : dataItem.value;
1609
- this.setProperties({ 'index': index, 'text': dataItem.text, 'value': value }, true);
1647
+ var value = this.allowObjectBinding ? isCustomValue ?
1648
+ this.value : this.getDataByValue(dataItem.value) : dataItem.value;
1649
+ this.setProperties({ 'index': index, 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value }, true);
1610
1650
  this.detachChangeEvent(eve);
1611
1651
  };
1612
1652
  DropDownList.prototype.detachChanges = function (value) {
@@ -1758,7 +1798,7 @@ var DropDownList = /** @class */ (function (_super) {
1758
1798
  this.typedString = this.filterInput.value;
1759
1799
  this.preventAutoFill = false;
1760
1800
  this.searchLists(e);
1761
- if ((this.enableVirtualization && this.getModuleName() !== 'autocomplete') || (this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount != 0)) {
1801
+ if ((this.enableVirtualization && this.getModuleName() !== 'autocomplete') || (this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount !== 0)) {
1762
1802
  this.getFilteringSkeletonCount();
1763
1803
  }
1764
1804
  break;
@@ -1809,9 +1849,10 @@ var DropDownList = /** @class */ (function (_super) {
1809
1849
  }
1810
1850
  }
1811
1851
  else {
1812
- filterQuery = (this.enableVirtualization && !isNullOrUndefined(this.customFilterQuery)) ? this.customFilterQuery.clone() : query ? query.clone() : this.query ? this.query.clone() : new Query();
1852
+ filterQuery = (this.enableVirtualization && !isNullOrUndefined(this.customFilterQuery)) ?
1853
+ this.customFilterQuery.clone() : query ? query.clone() : this.query ? this.query.clone() : new Query();
1813
1854
  }
1814
- if (this.enableVirtualization && this.viewPortInfo.endIndex != 0) {
1855
+ if (this.enableVirtualization && this.viewPortInfo.endIndex !== 0) {
1815
1856
  var takeValue = this.getTakeValue();
1816
1857
  var alreadySkipAdded = false;
1817
1858
  if (filterQuery) {
@@ -1825,35 +1866,39 @@ var DropDownList = /** @class */ (function (_super) {
1825
1866
  var queryTakeValue = 0;
1826
1867
  var querySkipValue = 0;
1827
1868
  if (filterQuery && filterQuery.queries.length > 0) {
1828
- for (var queryElements_1 = 0; queryElements_1 < filterQuery.queries.length; queryElements_1++) {
1829
- if (filterQuery.queries[queryElements_1].fn === 'onSkip') {
1830
- querySkipValue = filterQuery.queries[queryElements_1].e.nos;
1869
+ for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {
1870
+ if (filterQuery.queries[queryElements].fn === 'onSkip') {
1871
+ querySkipValue = filterQuery.queries[queryElements].e.nos;
1831
1872
  }
1832
- if (filterQuery.queries[queryElements_1].fn === 'onTake') {
1833
- queryTakeValue = takeValue <= filterQuery.queries[queryElements_1].e.nos ? filterQuery.queries[queryElements_1].e.nos : takeValue;
1873
+ if (filterQuery.queries[queryElements].fn === 'onTake') {
1874
+ queryTakeValue = takeValue <= filterQuery.queries[queryElements].e.nos ?
1875
+ filterQuery.queries[queryElements].e.nos : takeValue;
1834
1876
  }
1835
1877
  }
1836
1878
  }
1837
1879
  if (queryTakeValue <= 0 && this.query && this.query.queries.length > 0) {
1838
- for (var queryElements_2 = 0; queryElements_2 < this.query.queries.length; queryElements_2++) {
1839
- if (this.query.queries[queryElements_2].fn === 'onTake') {
1840
- queryTakeValue = takeValue <= this.query.queries[queryElements_2].e.nos ? this.query.queries[queryElements_2].e.nos : takeValue;
1880
+ for (var queryElements = 0; queryElements < this.query.queries.length; queryElements++) {
1881
+ if (this.query.queries[queryElements].fn === 'onTake') {
1882
+ queryTakeValue = takeValue <= this.query.queries[queryElements].e.nos ?
1883
+ this.query.queries[queryElements].e.nos : takeValue;
1841
1884
  }
1842
1885
  }
1843
1886
  }
1844
1887
  var skipExists = false;
1845
1888
  if (filterQuery && filterQuery.queries.length > 0) {
1846
- for (var queryElements_3 = 0; queryElements_3 < filterQuery.queries.length; queryElements_3++) {
1847
- if (filterQuery.queries[queryElements_3].fn === 'onSkip') {
1848
- querySkipValue = filterQuery.queries[queryElements_3].e.nos;
1849
- filterQuery.queries.splice(queryElements_3, 1);
1850
- --queryElements_3;
1889
+ for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {
1890
+ if (filterQuery.queries[queryElements].fn === 'onSkip') {
1891
+ querySkipValue = filterQuery.queries[queryElements].e.nos;
1892
+ filterQuery.queries.splice(queryElements, 1);
1893
+ alreadySkipAdded = false;
1894
+ --queryElements;
1851
1895
  continue;
1852
1896
  }
1853
- if (filterQuery.queries[queryElements_3].fn === 'onTake') {
1854
- queryTakeValue = filterQuery.queries[queryElements_3].e.nos <= queryTakeValue ? queryTakeValue : filterQuery.queries[queryElements_3].e.nos;
1855
- filterQuery.queries.splice(queryElements_3, 1);
1856
- --queryElements_3;
1897
+ if (filterQuery.queries[queryElements].fn === 'onTake') {
1898
+ queryTakeValue = filterQuery.queries[queryElements].e.nos <= queryTakeValue ?
1899
+ queryTakeValue : filterQuery.queries[queryElements].e.nos;
1900
+ filterQuery.queries.splice(queryElements, 1);
1901
+ --queryElements;
1857
1902
  }
1858
1903
  }
1859
1904
  }
@@ -1905,7 +1950,7 @@ var DropDownList = /** @class */ (function (_super) {
1905
1950
  return;
1906
1951
  }
1907
1952
  _this.isCustomFilter = true;
1908
- _this.customFilterQuery = query ? query.clone() : query;
1953
+ _this.customFilterQuery = query.clone();
1909
1954
  _this.filteringAction(dataSource, query, fields);
1910
1955
  },
1911
1956
  baseEventArgs: e,
@@ -1933,8 +1978,8 @@ var DropDownList = /** @class */ (function (_super) {
1933
1978
  };
1934
1979
  DropDownList.prototype.filteringAction = function (dataSource, query, fields) {
1935
1980
  if (!isNullOrUndefined(this.filterInput)) {
1936
- this.beforePopupOpen = ((!this.isPopupOpen && this.getModuleName() === 'combobox' && this.filterInput.value === '') || this.getInitialData) ?
1937
- false : true;
1981
+ this.beforePopupOpen = ((!this.isPopupOpen && this.getModuleName() === 'combobox' && this.filterInput.value === '') ||
1982
+ this.getInitialData) ? false : true;
1938
1983
  var isNoData = this.list.classList.contains(dropDownBaseClasses.noData);
1939
1984
  if (this.filterInput.value.trim() === '' && !this.itemTemplate) {
1940
1985
  this.actionCompleteData.isUpdated = false;
@@ -2022,7 +2067,7 @@ var DropDownList = /** @class */ (function (_super) {
2022
2067
  });
2023
2068
  this.element.parentNode.insertBefore(this.filterInput, this.element);
2024
2069
  var backIcon = false;
2025
- if (Browser.isDevice) {
2070
+ if (Browser.isDevice && this.isDeviceFullScreen) {
2026
2071
  backIcon = true;
2027
2072
  }
2028
2073
  this.filterInputObj = Input.createInput({
@@ -2128,7 +2173,9 @@ var DropDownList = /** @class */ (function (_super) {
2128
2173
  if (this.isActive || !isNullOrUndefined(ulElement)) {
2129
2174
  var selectedItem = this.selectedLI ? this.selectedLI.cloneNode(true) : null;
2130
2175
  _super.prototype.onActionComplete.call(this, ulElement, list, e);
2131
- this.skeletonCount = this.totalItemCount != 0 && this.totalItemCount < (this.itemCount * 2) ? 0 : this.skeletonCount;
2176
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
2177
+ ((!(this.dataSource instanceof DataManager)) ||
2178
+ ((this.dataSource instanceof DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
2132
2179
  this.updateSelectElementData(this.allowFiltering);
2133
2180
  if (this.isRequested && !isNullOrUndefined(this.searchKeyEvent) && this.searchKeyEvent.type === 'keydown') {
2134
2181
  this.isRequested = false;
@@ -2151,20 +2198,21 @@ var DropDownList = /** @class */ (function (_super) {
2151
2198
  this.initialRemoteRender = false;
2152
2199
  if (this.value && this.dataSource instanceof DataManager) {
2153
2200
  var checkField_1 = isNullOrUndefined(this.fields.value) ? this.fields.text : this.fields.value;
2154
- var value_5 = this.allowObjectBinding && !isNullOrUndefined(this.value) ? getValue(checkField_1, this.value) : this.value;
2201
+ var value_1 = this.allowObjectBinding && !isNullOrUndefined(this.value) ?
2202
+ getValue(checkField_1, this.value) : this.value;
2155
2203
  var fieldValue_1 = this.fields.value.split('.');
2156
2204
  var checkVal = list.some(function (x) {
2157
2205
  return isNullOrUndefined(x[checkField_1]) && fieldValue_1.length > 1 ?
2158
- _this.checkFieldValue(x, fieldValue_1) === value_5 : x[checkField_1] === value_5;
2206
+ _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;
2159
2207
  });
2160
2208
  if (this.enableVirtualization && this.virtualGroupDataSource) {
2161
2209
  checkVal = this.virtualGroupDataSource.some(function (x) {
2162
2210
  return isNullOrUndefined(x[checkField_1]) && fieldValue_1.length > 1 ?
2163
- _this.checkFieldValue(x, fieldValue_1) === value_5 : x[checkField_1] === value_5;
2211
+ _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;
2164
2212
  });
2165
2213
  }
2166
2214
  if (!checkVal) {
2167
- this.dataSource.executeQuery(this.getQuery(this.query).where(new Predicate(checkField_1, 'equal', value_5)))
2215
+ this.dataSource.executeQuery(this.getQuery(this.query).where(new Predicate(checkField_1, 'equal', value_1)))
2168
2216
  .then(function (e) {
2169
2217
  if (e.result.length > 0) {
2170
2218
  _this.addItem(e.result, list.length);
@@ -2203,16 +2251,20 @@ var DropDownList = /** @class */ (function (_super) {
2203
2251
  }
2204
2252
  }
2205
2253
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2206
- if ((this.allowCustom || (this.allowFiltering && !this.isValueInList(list, this.value) && this.dataSource instanceof DataManager)) && !this.enableVirtualization) {
2254
+ if ((this.allowCustom || (this.allowFiltering && !this.isValueInList(list, this.value) &&
2255
+ this.dataSource instanceof DataManager)) && !this.enableVirtualization) {
2207
2256
  this.addNewItem(list, selectedItem);
2208
2257
  }
2209
2258
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2210
- else if ((this.allowCustom || (this.allowFiltering && this.isValueInList(list, this.value))) && !this.enableVirtualization) {
2259
+ else if ((this.allowCustom || (this.allowFiltering && this.isValueInList(list, this.value))) &&
2260
+ !this.enableVirtualization) {
2211
2261
  this.addNewItem(list, selectedItem);
2212
2262
  }
2213
2263
  if (!isNullOrUndefined(this.itemData) || (isNullOrUndefined(this.itemData) && this.enableVirtualization)) {
2214
2264
  this.getSkeletonCount();
2215
- this.skeletonCount = this.totalItemCount != 0 && this.totalItemCount < (this.itemCount * 2) ? 0 : this.skeletonCount;
2265
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
2266
+ ((!(this.dataSource instanceof DataManager)) ||
2267
+ ((this.dataSource instanceof DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
2216
2268
  this.UpdateSkeleton();
2217
2269
  this.focusIndexItem();
2218
2270
  }
@@ -2237,7 +2289,7 @@ var DropDownList = /** @class */ (function (_super) {
2237
2289
  this.liCollections = this.list.querySelectorAll('.e-list-item');
2238
2290
  }
2239
2291
  }
2240
- if (this.enableVirtualization && tempItemCount != this.itemCount) {
2292
+ if (this.enableVirtualization && tempItemCount !== this.itemCount) {
2241
2293
  this.resetList(this.dataSource, this.fields);
2242
2294
  }
2243
2295
  }
@@ -2279,10 +2331,10 @@ var DropDownList = /** @class */ (function (_super) {
2279
2331
  DropDownList.prototype.addNewItem = function (listData, newElement) {
2280
2332
  var _this = this;
2281
2333
  if (!isNullOrUndefined(this.itemData) && !isNullOrUndefined(newElement)) {
2282
- var value_6 = this.getItemData().value;
2334
+ var value_2 = this.getItemData().value;
2283
2335
  var isExist = listData.some(function (data) {
2284
- return (((typeof data === 'string' || typeof data === 'number') && data === value_6) ||
2285
- (getValue(_this.fields.value, data) === value_6));
2336
+ return (((typeof data === 'string' || typeof data === 'number') && data === value_2) ||
2337
+ (getValue(_this.fields.value, data) === value_2));
2286
2338
  });
2287
2339
  if (!isExist) {
2288
2340
  this.addItem(this.itemData);
@@ -2316,7 +2368,8 @@ var DropDownList = /** @class */ (function (_super) {
2316
2368
  };
2317
2369
  DropDownList.prototype.focusIndexItem = function () {
2318
2370
  var value = this.getItemData().value;
2319
- this.activeIndex = ((this.enableVirtualization && !isNullOrUndefined(value)) || !this.enableVirtualization) ? this.getIndexByValue(value) : this.activeIndex;
2371
+ this.activeIndex = ((this.enableVirtualization && !isNullOrUndefined(value)) || !this.enableVirtualization) ?
2372
+ this.getIndexByValue(value) : this.activeIndex;
2320
2373
  var element = this.findListElement(this.list, 'li', 'data-value', value);
2321
2374
  this.selectedLI = element;
2322
2375
  this.activeItem(element);
@@ -2366,7 +2419,8 @@ var DropDownList = /** @class */ (function (_super) {
2366
2419
  popupEle.setAttribute('aria-label', _this.element.id);
2367
2420
  popupEle.setAttribute('role', 'dialog');
2368
2421
  var searchBox = _this.setSearchBox(popupEle);
2369
- _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice ? formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(_this.popupHeight);
2422
+ _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice ?
2423
+ formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(_this.popupHeight);
2370
2424
  if (_this.headerTemplate) {
2371
2425
  _this.setHeaderTemplate(popupEle);
2372
2426
  }
@@ -2378,11 +2432,13 @@ var DropDownList = /** @class */ (function (_super) {
2378
2432
  popupEle.style.top = '0px';
2379
2433
  if (_this.enableVirtualization && _this.itemTemplate) {
2380
2434
  var listitems = popupEle.querySelectorAll('li.e-list-item:not(.e-virtual-list)');
2381
- _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) : 0;
2435
+ _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) +
2436
+ parseInt(window.getComputedStyle(listitems[0]).marginBottom, 10) : 0;
2382
2437
  }
2383
2438
  if (_this.enableVirtualization && !_this.list.classList.contains(dropDownBaseClasses.noData)) {
2384
2439
  _this.getSkeletonCount();
2385
- _this.skeletonCount = _this.totalItemCount < (_this.itemCount * 2) ? 0 : _this.skeletonCount;
2440
+ _this.skeletonCount = _this.totalItemCount < (_this.itemCount * 2) && ((!(_this.dataSource instanceof DataManager)) ||
2441
+ ((_this.dataSource instanceof DataManager) && (_this.totalItemCount <= _this.itemCount))) ? 0 : _this.skeletonCount;
2386
2442
  if (!_this.list.querySelector('.e-virtual-ddl-content')) {
2387
2443
  _this.list.appendChild(_this.createElement('div', {
2388
2444
  className: 'e-virtual-ddl-content',
@@ -2410,19 +2466,22 @@ var DropDownList = /** @class */ (function (_super) {
2410
2466
  popupEle.style.visibility = 'hidden';
2411
2467
  if (_this.popupHeight !== 'auto') {
2412
2468
  _this.searchBoxHeight = 0;
2413
- if (!isNullOrUndefined(searchBox.container) && _this.getModuleName() !== 'combobox' && _this.getModuleName() !== 'autocomplete') {
2469
+ if (!isNullOrUndefined(searchBox.container) &&
2470
+ _this.getModuleName() !== 'combobox' && _this.getModuleName() !== 'autocomplete') {
2414
2471
  _this.searchBoxHeight = (searchBox.container.parentElement).getBoundingClientRect().height;
2415
2472
  _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (_this.searchBoxHeight)).toString() + 'px';
2416
2473
  }
2417
2474
  if (_this.headerTemplate) {
2418
2475
  _this.header = _this.header ? _this.header : popupEle.querySelector('.e-ddl-header');
2419
2476
  var height = Math.round(_this.header.getBoundingClientRect().height);
2420
- _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (height + _this.searchBoxHeight)).toString() + 'px';
2477
+ _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2478
+ (height + _this.searchBoxHeight)).toString() + 'px';
2421
2479
  }
2422
2480
  if (_this.footerTemplate) {
2423
2481
  _this.footer = _this.footer ? _this.footer : popupEle.querySelector('.e-ddl-footer');
2424
2482
  var height = Math.round(_this.footer.getBoundingClientRect().height);
2425
- _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (height + _this.searchBoxHeight)).toString() + 'px';
2483
+ _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2484
+ (height + _this.searchBoxHeight)).toString() + 'px';
2426
2485
  }
2427
2486
  _this.list.style.maxHeight = (parseInt(_this.listContainerHeight, 10) - 2).toString() + 'px'; // due to box-sizing property
2428
2487
  popupEle.style.maxHeight = formatUnit(_this.popupHeight);
@@ -2442,7 +2501,7 @@ var DropDownList = /** @class */ (function (_super) {
2442
2501
  else {
2443
2502
  _this.list.scrollTop = 0;
2444
2503
  }
2445
- if (Browser.isDevice && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||
2504
+ if (Browser.isDevice && _this.isDeviceFullScreen && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||
2446
2505
  (_this.isDropDownClick && _this.getModuleName() === 'combobox')))) {
2447
2506
  offsetValue = _this.getOffsetValue(popupEle);
2448
2507
  var firstItem = _this.isEmptyList() ? _this.list : _this.liCollections[0];
@@ -2457,7 +2516,8 @@ var DropDownList = /** @class */ (function (_super) {
2457
2516
  _this.getFocusElement();
2458
2517
  _this.checkCollision(popupEle);
2459
2518
  if (Browser.isDevice) {
2460
- if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) && !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {
2519
+ if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) &&
2520
+ !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {
2461
2521
  _this.popupObj.element.classList.add('e-wide-popup');
2462
2522
  }
2463
2523
  _this.popupObj.element.classList.add(dropDownListClasses.device);
@@ -2465,7 +2525,7 @@ var DropDownList = /** @class */ (function (_super) {
2465
2525
  && !_this.allowFiltering && _this.isDropDownClick)) {
2466
2526
  _this.popupObj.collision = { X: 'fit', Y: 'fit' };
2467
2527
  }
2468
- if (_this.isFilterLayout()) {
2528
+ if (_this.isFilterLayout() && _this.isDeviceFullScreen) {
2469
2529
  _this.popupObj.element.classList.add(dropDownListClasses.mobileFilter);
2470
2530
  _this.popupObj.position = { X: 0, Y: 0 };
2471
2531
  _this.popupObj.dataBind();
@@ -2491,10 +2551,10 @@ var DropDownList = /** @class */ (function (_super) {
2491
2551
  }
2492
2552
  _this.selectedElementID = _this.selectedLI ? _this.selectedLI.id : null;
2493
2553
  if (_this.enableVirtualization) {
2494
- _this.notify("bindScrollEvent", {
2495
- module: "VirtualScroll",
2554
+ _this.notify('bindScrollEvent', {
2555
+ module: 'VirtualScroll',
2496
2556
  component: _this.getModuleName(),
2497
- enable: _this.enableVirtualization,
2557
+ enable: _this.enableVirtualization
2498
2558
  });
2499
2559
  setTimeout(function () {
2500
2560
  if (_this.value || _this.list.querySelector('.e-active')) {
@@ -2587,6 +2647,9 @@ var DropDownList = /** @class */ (function (_super) {
2587
2647
  _this.onActionComplete(_this.actionCompleteData.ulElement, _this.actionCompleteData.list, null, true);
2588
2648
  }
2589
2649
  }
2650
+ else if (_this.enableVirtualization) {
2651
+ _this.focusIndexItem();
2652
+ }
2590
2653
  },
2591
2654
  open: function () {
2592
2655
  EventHandler.add(document, 'mousedown', _this.onDocumentClick, _this);
@@ -2641,9 +2704,9 @@ var DropDownList = /** @class */ (function (_super) {
2641
2704
  };
2642
2705
  DropDownList.prototype.isElementInViewport = function (element) {
2643
2706
  var elementRect = element.getBoundingClientRect();
2644
- return (elementRect.top >= 0 && elementRect.left >= 0 && elementRect.bottom <= window.innerHeight && elementRect.right <= window.innerWidth);
2707
+ return (elementRect.top >= 0 && elementRect.left >= 0 && elementRect.bottom <= window.innerHeight &&
2708
+ elementRect.right <= window.innerWidth);
2645
2709
  };
2646
- ;
2647
2710
  DropDownList.prototype.setSearchBoxPosition = function () {
2648
2711
  var searchBoxHeight = this.filterInput.parentElement.getBoundingClientRect().height;
2649
2712
  this.popupObj.element.style.maxHeight = '100%';
@@ -2661,7 +2724,7 @@ var DropDownList = /** @class */ (function (_super) {
2661
2724
  var firstItem = this.isEmptyList() ? this.list : this.liCollections[0];
2662
2725
  var lastItem = this.isEmptyList() ? this.list : this.liCollections[this.getItems().length - 1];
2663
2726
  var liHeight = firstItem.getBoundingClientRect().height;
2664
- this.listItemHeight = liHeight;
2727
+ this.listItemHeight = liHeight + parseInt(window.getComputedStyle(firstItem).marginBottom, 10);
2665
2728
  var listHeight = this.list.offsetHeight / 2;
2666
2729
  var height = isNullOrUndefined(selectedLI) ? firstItem.offsetTop : selectedLI.offsetTop;
2667
2730
  var lastItemOffsetValue = lastItem.offsetTop;
@@ -2709,17 +2772,26 @@ var DropDownList = /** @class */ (function (_super) {
2709
2772
  }
2710
2773
  }
2711
2774
  if (!isNullOrUndefined(this.selectedLI)) {
2775
+ var selectedListMargin = this.selectedLI &&
2776
+ !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?
2777
+ parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;
2712
2778
  this.isUpwardScrolling = false;
2713
2779
  var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
2714
- var lastElementValue = this.list.querySelector('li:last-of-type') ? this.list.querySelector('li:last-of-type').getAttribute('data-value') : null;
2715
- var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
2780
+ var lastElementValue = this.list.querySelector('li:last-of-type') ?
2781
+ this.list.querySelector('li:last-of-type').getAttribute('data-value') : null;
2782
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
2783
+ this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +
2784
+ selectedListMargin)) : this.selectedLI.offsetTop;
2716
2785
  var currentOffset = this.list.offsetHeight;
2717
- var nextBottom = selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) + this.selectedLI.offsetHeight - this.list.scrollTop;
2786
+ var nextBottom = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2787
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;
2718
2788
  var nextOffset = this.list.scrollTop + nextBottom - currentOffset;
2719
2789
  var isScrollerCHanged = false;
2720
2790
  var isScrollTopChanged = false;
2721
- nextOffset = isInitial ? nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10) * 2 : nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10);
2722
- var boxRange = selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) + this.selectedLI.offsetHeight - this.list.scrollTop;
2791
+ nextOffset = isInitial ? nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10) * 2 :
2792
+ nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10);
2793
+ var boxRange = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2794
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;
2723
2795
  boxRange = this.fields.groupBy && !isNullOrUndefined(this.fixedHeaderElement) ?
2724
2796
  boxRange - this.fixedHeaderElement.offsetHeight : boxRange;
2725
2797
  if (this.activeIndex === 0 && !this.enableVirtualization) {
@@ -2728,31 +2800,32 @@ var DropDownList = /** @class */ (function (_super) {
2728
2800
  }
2729
2801
  else if (nextBottom > currentOffset || !(boxRange > 0 && this.list.offsetHeight > boxRange)) {
2730
2802
  var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;
2731
- var liCount = keyAction == "pageDown" ? this.getPageCount() - 2 : 1;
2803
+ var liCount = keyAction === 'pageDown' ? this.getPageCount() - 2 : 1;
2732
2804
  if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {
2733
- if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue && currentElementValue === lastElementValue && keyAction != "end" && !this.isVirtualScrolling) {
2805
+ if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue &&
2806
+ currentElementValue === lastElementValue && keyAction !== 'end' && !this.isVirtualScrolling) {
2734
2807
  this.isPreventKeyAction = true;
2735
2808
  if (this.enableVirtualization && this.itemTemplate) {
2736
2809
  this.list.scrollTop += nextOffset;
2737
2810
  }
2738
2811
  else {
2739
2812
  if (this.enableVirtualization) {
2740
- liCount = keyAction == "pageDown" ? this.getPageCount() + 1 : liCount;
2813
+ liCount = keyAction === 'pageDown' ? this.getPageCount() + 1 : liCount;
2741
2814
  }
2742
- this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
2815
+ this.list.scrollTop += (this.selectedLI.offsetHeight + selectedListMargin) * liCount;
2743
2816
  }
2744
2817
  this.isPreventKeyAction = this.IsScrollerAtEnd() ? false : this.isPreventKeyAction;
2745
2818
  this.isKeyBoardAction = false;
2746
2819
  this.isPreventScrollAction = false;
2747
2820
  }
2748
- else if (this.enableVirtualization && keyAction == "end") {
2821
+ else if (this.enableVirtualization && keyAction === 'end') {
2749
2822
  this.isPreventKeyAction = false;
2750
2823
  this.isKeyBoardAction = false;
2751
2824
  this.isPreventScrollAction = false;
2752
2825
  this.list.scrollTop = this.list.scrollHeight;
2753
2826
  }
2754
2827
  else {
2755
- if (keyAction == "pageDown" && this.enableVirtualization && !this.isVirtualScrolling) {
2828
+ if (keyAction === 'pageDown' && this.enableVirtualization && !this.isVirtualScrolling) {
2756
2829
  this.isPreventKeyAction = false;
2757
2830
  this.isKeyBoardAction = false;
2758
2831
  this.isPreventScrollAction = false;
@@ -2761,13 +2834,14 @@ var DropDownList = /** @class */ (function (_super) {
2761
2834
  }
2762
2835
  }
2763
2836
  else {
2764
- this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.virtualListInfo.startIndex * this.listItemHeight : 0;
2837
+ this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
2838
+ this.virtualListInfo.startIndex * this.listItemHeight : 0;
2765
2839
  }
2766
2840
  isScrollerCHanged = this.isKeyBoardAction;
2767
2841
  isScrollTopChanged = true;
2768
2842
  }
2769
2843
  this.isKeyBoardAction = isScrollerCHanged;
2770
- if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction == "down")) {
2844
+ if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction === 'down')) {
2771
2845
  setTimeout(function () {
2772
2846
  _this.scrollStop(null, true);
2773
2847
  }, 100);
@@ -2777,39 +2851,48 @@ var DropDownList = /** @class */ (function (_super) {
2777
2851
  DropDownList.prototype.scrollTop = function (keyAction) {
2778
2852
  if (keyAction === void 0) { keyAction = null; }
2779
2853
  if (!isNullOrUndefined(this.selectedLI)) {
2854
+ var selectedListMargin = this.selectedLI &&
2855
+ !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?
2856
+ parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;
2780
2857
  var virtualListCount = this.list.querySelectorAll('.e-virtual-list').length;
2781
- var selectedLiOffsetTop = (this.virtualListInfo && this.virtualListInfo.startIndex) ? this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * this.selectedLI.offsetHeight) : this.selectedLI.offsetTop;
2782
- var nextOffset = selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) - this.list.scrollTop;
2783
- var firstElementValue = this.list.querySelector('li.e-list-item:not(.e-virtual-list)') ? this.list.querySelector('li.e-list-item:not(.e-virtual-list)').getAttribute('data-value') : null;
2858
+ var selectedLiOffsetTop = (this.virtualListInfo && this.virtualListInfo.startIndex) ?
2859
+ this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +
2860
+ selectedListMargin)) : this.selectedLI.offsetTop;
2861
+ var nextOffset = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight +
2862
+ selectedListMargin)) - this.list.scrollTop;
2863
+ var firstElementValue = this.list.querySelector('li.e-list-item:not(.e-virtual-list)') ?
2864
+ this.list.querySelector('li.e-list-item:not(.e-virtual-list)').getAttribute('data-value') : null;
2784
2865
  nextOffset = this.fields.groupBy && !isNullOrUndefined(this.fixedHeaderElement) ?
2785
2866
  nextOffset - this.fixedHeaderElement.offsetHeight : nextOffset;
2786
- var boxRange = (selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) + this.selectedLI.offsetHeight - this.list.scrollTop);
2867
+ var boxRange = (selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2868
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop);
2787
2869
  var isPageUpKeyAction = this.enableVirtualization && this.getModuleName() === 'autocomplete' && nextOffset <= 0;
2788
2870
  if (this.activeIndex === 0 && !this.enableVirtualization) {
2789
2871
  this.list.scrollTop = 0;
2790
2872
  }
2791
2873
  else if (nextOffset < 0 || isPageUpKeyAction) {
2792
2874
  var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;
2793
- var liCount = keyAction == "pageUp" ? this.getPageCount() - 2 : 1;
2875
+ var liCount = keyAction === 'pageUp' ? this.getPageCount() - 2 : 1;
2794
2876
  if (this.enableVirtualization) {
2795
- liCount = keyAction == "pageUp" ? this.getPageCount() : liCount;
2877
+ liCount = keyAction === 'pageUp' ? this.getPageCount() : liCount;
2796
2878
  }
2797
- if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue && currentElementValue === firstElementValue && keyAction != "home" && !this.isVirtualScrolling) {
2879
+ if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue &&
2880
+ currentElementValue === firstElementValue && keyAction !== 'home' && !this.isVirtualScrolling) {
2798
2881
  this.isUpwardScrolling = true;
2799
2882
  this.isPreventKeyAction = true;
2800
- this.list.scrollTop -= this.selectedLI.offsetHeight * liCount;
2801
- this.isPreventKeyAction = this.list.scrollTop != 0 ? this.isPreventKeyAction : false;
2883
+ this.list.scrollTop -= (this.selectedLI.offsetHeight + selectedListMargin) * liCount;
2884
+ this.isPreventKeyAction = this.list.scrollTop !== 0 ? this.isPreventKeyAction : false;
2802
2885
  this.isKeyBoardAction = false;
2803
2886
  this.isPreventScrollAction = false;
2804
2887
  }
2805
- else if (this.enableVirtualization && keyAction == "home") {
2888
+ else if (this.enableVirtualization && keyAction === 'home') {
2806
2889
  this.isPreventScrollAction = false;
2807
2890
  this.isPreventKeyAction = true;
2808
2891
  this.isKeyBoardAction = false;
2809
2892
  this.list.scrollTo(0, 0);
2810
2893
  }
2811
2894
  else {
2812
- if (keyAction == "pageUp" && this.enableVirtualization && !this.isVirtualScrolling) {
2895
+ if (keyAction === 'pageUp' && this.enableVirtualization && !this.isVirtualScrolling) {
2813
2896
  this.isPreventKeyAction = false;
2814
2897
  this.isKeyBoardAction = false;
2815
2898
  this.isPreventScrollAction = false;
@@ -2823,6 +2906,9 @@ var DropDownList = /** @class */ (function (_super) {
2823
2906
  }
2824
2907
  }
2825
2908
  };
2909
+ DropDownList.prototype.IsScrollerAtEnd = function () {
2910
+ return this.list && this.list.scrollTop + this.list.clientHeight >= this.list.scrollHeight;
2911
+ };
2826
2912
  DropDownList.prototype.isEditTextBox = function () {
2827
2913
  return false;
2828
2914
  };
@@ -2843,7 +2929,7 @@ var DropDownList = /** @class */ (function (_super) {
2843
2929
  this.scrollBottom(false, false, e.action);
2844
2930
  break;
2845
2931
  default:
2846
- this.isKeyBoardAction = e.action == 'up' || e.action == 'pageUp' || e.action == 'open';
2932
+ this.isKeyBoardAction = e.action === 'up' || e.action === 'pageUp' || e.action === 'open';
2847
2933
  this.scrollTop(e.action);
2848
2934
  break;
2849
2935
  }
@@ -2859,7 +2945,8 @@ var DropDownList = /** @class */ (function (_super) {
2859
2945
  if (this.enableVirtualization) {
2860
2946
  this.list.scrollTop = 0;
2861
2947
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2862
- this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
2948
+ this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ?
2949
+ this.dataSource.length : 0;
2863
2950
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2864
2951
  if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {
2865
2952
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2887,7 +2974,8 @@ var DropDownList = /** @class */ (function (_super) {
2887
2974
  };
2888
2975
  DropDownList.prototype.closePopup = function (delay, e) {
2889
2976
  var _this = this;
2890
- var isFilterValue = !isNullOrUndefined(this.filterInput) && !isNullOrUndefined(this.filterInput.value) && this.filterInput.value !== '';
2977
+ var isFilterValue = !isNullOrUndefined(this.filterInput) &&
2978
+ !isNullOrUndefined(this.filterInput.value) && this.filterInput.value !== '';
2891
2979
  var typedString = this.getModuleName() === 'combobox' ? this.typedString : null;
2892
2980
  this.isTyped = false;
2893
2981
  this.isVirtualTrackHeight = false;
@@ -2902,7 +2990,7 @@ var DropDownList = /** @class */ (function (_super) {
2902
2990
  element: this.filterInput,
2903
2991
  floatLabelType: this.floatLabelType,
2904
2992
  properties: { placeholder: this.filterBarPlaceholder },
2905
- buttons: this.clearIconElement,
2993
+ buttons: this.clearIconElement
2906
2994
  }, this.clearIconElement);
2907
2995
  }
2908
2996
  this.filterInputObj = null;
@@ -2913,7 +3001,7 @@ var DropDownList = /** @class */ (function (_super) {
2913
3001
  var element = scrollableParentElements_1[_i];
2914
3002
  EventHandler.remove(element, 'scroll', this.scrollHandler);
2915
3003
  }
2916
- if (Browser.isDevice && this.isFilterLayout()) {
3004
+ if (Browser.isDevice && this.isFilterLayout() && this.isDeviceFullScreen) {
2917
3005
  removeClass([document.body, this.popupObj.element], dropDownListClasses.popupFullScreen);
2918
3006
  }
2919
3007
  if (this.isFilterLayout()) {
@@ -2954,15 +3042,18 @@ var DropDownList = /** @class */ (function (_super) {
2954
3042
  }
2955
3043
  if (this.enableVirtualization) {
2956
3044
  if ((this.value == null || this.isTyped)) {
2957
- this.viewPortInfo.endIndex = this.viewPortInfo && this.viewPortInfo.endIndex > 0 ? this.viewPortInfo.endIndex : this.itemCount;
2958
- if (this.getModuleName() === 'autocomplete' || (this.getModuleName() === 'dropdownlist' && !isNullOrUndefined(this.typedString) && this.typedString != "") || (this.getModuleName() === 'combobox' && this.allowFiltering && !isNullOrUndefined(this.typedString) && this.typedString != "")) {
3045
+ this.viewPortInfo.endIndex = this.viewPortInfo && this.viewPortInfo.endIndex > 0 ?
3046
+ this.viewPortInfo.endIndex : this.itemCount;
3047
+ if (this.getModuleName() === 'autocomplete' || (this.getModuleName() === 'dropdownlist' &&
3048
+ !isNullOrUndefined(this.typedString) && this.typedString !== '') || (this.getModuleName() === 'combobox' &&
3049
+ this.allowFiltering && !isNullOrUndefined(this.typedString) && this.typedString !== '')) {
2959
3050
  this.checkAndResetCache();
2960
3051
  }
2961
3052
  }
2962
3053
  else if (this.getModuleName() === 'autocomplete') {
2963
3054
  this.checkAndResetCache();
2964
3055
  }
2965
- if ((this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox') && !(this.skeletonCount == 0)) {
3056
+ if ((this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox') && !(this.skeletonCount === 0)) {
2966
3057
  this.getSkeletonCount(true);
2967
3058
  }
2968
3059
  }
@@ -2999,7 +3090,8 @@ var DropDownList = /** @class */ (function (_super) {
2999
3090
  var dataSourceCount;
3000
3091
  if (this.dataSource instanceof DataManager) {
3001
3092
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3002
- dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ? this.virtualGroupDataSource.length : 0;
3093
+ dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ?
3094
+ this.virtualGroupDataSource.length : 0;
3003
3095
  }
3004
3096
  else {
3005
3097
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -3020,10 +3112,10 @@ var DropDownList = /** @class */ (function (_super) {
3020
3112
  sentinelInfo: {},
3021
3113
  offsets: {},
3022
3114
  startIndex: 0,
3023
- endIndex: this.itemCount,
3115
+ endIndex: this.itemCount
3024
3116
  };
3025
3117
  if (this.getModuleName() === 'combobox') {
3026
- this.typedString = "";
3118
+ this.typedString = '';
3027
3119
  }
3028
3120
  this.previousStartIndex = 0;
3029
3121
  this.previousEndIndex = 0;
@@ -3044,7 +3136,7 @@ var DropDownList = /** @class */ (function (_super) {
3044
3136
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3045
3137
  this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
3046
3138
  }
3047
- if (this.getModuleName() !== 'autocomplete' && this.totalItemCount != 0 && this.totalItemCount > (this.itemCount * 2)) {
3139
+ if (this.getModuleName() !== 'autocomplete' && this.totalItemCount !== 0 && this.totalItemCount > (this.itemCount * 2)) {
3048
3140
  this.getSkeletonCount();
3049
3141
  }
3050
3142
  this.UpdateSkeleton();
@@ -3100,7 +3192,8 @@ var DropDownList = /** @class */ (function (_super) {
3100
3192
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
3101
3193
  updatedCssClassValues = (this.cssClass.replace(/\s+/g, ' ')).trim();
3102
3194
  }
3103
- if (!isNullOrUndefined(closest(this.element, 'fieldset')) && closest(this.element, 'fieldset').disabled) {
3195
+ if (!isNullOrUndefined(closest(this.element, 'fieldset')) &&
3196
+ closest(this.element, 'fieldset').disabled) {
3104
3197
  this.enabled = false;
3105
3198
  }
3106
3199
  this.inputWrapper = Input.createInput({
@@ -3123,9 +3216,16 @@ var DropDownList = /** @class */ (function (_super) {
3123
3216
  this.inputElement.parentElement.insertBefore(this.element, this.inputElement);
3124
3217
  }
3125
3218
  this.hiddenElement = this.createElement('select', {
3126
- attrs: { 'aria-hidden': 'true', 'aria-label': this.getModuleName(), 'tabindex': '-1', 'class': dropDownListClasses.hiddenElement }
3219
+ attrs: {
3220
+ 'aria-hidden': 'true',
3221
+ 'tabindex': '-1',
3222
+ 'class': dropDownListClasses.hiddenElement
3223
+ }
3127
3224
  });
3128
3225
  prepend([this.hiddenElement], this.inputWrapper.container);
3226
+ if (!this.hiddenElement.hasAttribute('aria-label')) {
3227
+ this.hiddenElement.setAttribute('aria-label', this.getModuleName());
3228
+ }
3129
3229
  this.validationAttribute(this.element, this.hiddenElement);
3130
3230
  this.setReadOnly();
3131
3231
  this.setFields();
@@ -3134,7 +3234,8 @@ var DropDownList = /** @class */ (function (_super) {
3134
3234
  if (this.floatLabelType !== 'Never') {
3135
3235
  Input.calculateWidth(this.inputElement, this.inputWrapper.container);
3136
3236
  }
3137
- if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never') {
3237
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) &&
3238
+ this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never') {
3138
3239
  this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
3139
3240
  }
3140
3241
  this.wireEvent();
@@ -3145,11 +3246,17 @@ var DropDownList = /** @class */ (function (_super) {
3145
3246
  this.hiddenElement.id = id + '_hidden';
3146
3247
  this.targetElement().setAttribute('tabindex', this.tabIndex);
3147
3248
  if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') && !this.readonly) {
3148
- this.inputElement.setAttribute('aria-label', this.getModuleName());
3249
+ if (!this.inputElement.hasAttribute('aria-label')) {
3250
+ this.inputElement.setAttribute('aria-label', this.getModuleName());
3251
+ }
3149
3252
  }
3150
3253
  else if (this.getModuleName() === 'dropdownlist') {
3151
- attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
3152
- this.inputElement.setAttribute('aria-label', this.getModuleName());
3254
+ if (!this.targetElement().hasAttribute('aria-label')) {
3255
+ attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
3256
+ }
3257
+ if (!this.inputElement.hasAttribute('aria-label')) {
3258
+ this.inputElement.setAttribute('aria-label', this.getModuleName());
3259
+ }
3153
3260
  this.inputElement.setAttribute('aria-expanded', 'false');
3154
3261
  }
3155
3262
  attributes(this.targetElement(), this.getAriaAttributes());
@@ -3175,7 +3282,8 @@ var DropDownList = /** @class */ (function (_super) {
3175
3282
  }
3176
3283
  else if (this.element.tagName === 'SELECT' && this.element.options[0]) {
3177
3284
  var selectElement = this.element;
3178
- this.value = this.allowObjectBinding ? this.getDataByValue(selectElement.options[selectElement.selectedIndex].value) : selectElement.options[selectElement.selectedIndex].value;
3285
+ this.value = this.allowObjectBinding ? this.getDataByValue(selectElement.options[selectElement.selectedIndex].value) :
3286
+ selectElement.options[selectElement.selectedIndex].value;
3179
3287
  this.text = isNullOrUndefined(this.value) ? null : selectElement.options[selectElement.selectedIndex].textContent;
3180
3288
  this.initValue();
3181
3289
  }
@@ -3213,7 +3321,8 @@ var DropDownList = /** @class */ (function (_super) {
3213
3321
  this.updateVirtualizationProperties(this.itemCount, this.allowFiltering);
3214
3322
  }
3215
3323
  this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;
3216
- this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ? this.viewPortInfo.endIndex : this.itemCount;
3324
+ this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ?
3325
+ this.viewPortInfo.endIndex : this.itemCount;
3217
3326
  };
3218
3327
  DropDownList.prototype.getListHeight = function () {
3219
3328
  var listParent = this.createElement('div', {
@@ -3227,7 +3336,8 @@ var DropDownList = /** @class */ (function (_super) {
3227
3336
  listParent.appendChild(item);
3228
3337
  document.body.appendChild(listParent);
3229
3338
  this.virtualListHeight = listParent.getBoundingClientRect().height;
3230
- var listItemHeight = Math.ceil(item.getBoundingClientRect().height);
3339
+ var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +
3340
+ parseInt(window.getComputedStyle(item).marginBottom, 10);
3231
3341
  listParent.remove();
3232
3342
  return listItemHeight;
3233
3343
  };
@@ -3342,7 +3452,9 @@ var DropDownList = /** @class */ (function (_super) {
3342
3452
  EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);
3343
3453
  }
3344
3454
  if (!(!isNullOrUndefined(props) && (isNullOrUndefined(props.dataSource)
3345
- || (!(props.dataSource instanceof DataManager) && props.dataSource.length === 0))) || ((props.dataSource instanceof DataManager) || (!isNullOrUndefined(props) && Array.isArray(props.dataSource) && !isNullOrUndefined(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {
3455
+ || (!(props.dataSource instanceof DataManager) && props.dataSource.length === 0))) ||
3456
+ ((props.dataSource instanceof DataManager) || (!isNullOrUndefined(props) && Array.isArray(props.dataSource) &&
3457
+ !isNullOrUndefined(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {
3346
3458
  this.typedString = '';
3347
3459
  this.resetList(this.dataSource);
3348
3460
  }
@@ -3351,16 +3463,17 @@ var DropDownList = /** @class */ (function (_super) {
3351
3463
  }
3352
3464
  };
3353
3465
  DropDownList.prototype.checkCustomValue = function () {
3354
- var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ? getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
3466
+ var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ?
3467
+ getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
3355
3468
  this.itemData = this.getDataByValue(currentValue);
3356
3469
  var dataItem = this.getItemData();
3357
3470
  var value = this.allowObjectBinding ? this.itemData : dataItem.value;
3358
3471
  var index = isNullOrUndefined(value) ? null : this.index;
3359
- if (isNullOrUndefined(index) && (currentValue == value)) {
3360
- this.setProperties({ 'text': dataItem.text, 'value': value });
3472
+ if ((isNullOrUndefined(index) && (currentValue === value)) || this.isAngular) {
3473
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
3361
3474
  }
3362
3475
  else {
3363
- this.setProperties({ 'text': dataItem.text, 'index': index, 'value': value });
3476
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'index': index, 'value': value });
3364
3477
  }
3365
3478
  };
3366
3479
  DropDownList.prototype.updateInputFields = function () {
@@ -3378,8 +3491,8 @@ var DropDownList = /** @class */ (function (_super) {
3378
3491
  */
3379
3492
  DropDownList.prototype.onPropertyChanged = function (newProp, oldProp) {
3380
3493
  var _this = this;
3381
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3382
- if (!isNullOrUndefined(newProp.dataSource) && !this.isTouched && (isNullOrUndefined(newProp.value) && isNullOrUndefined(newProp.index)) && !isNullOrUndefined(this.preselectedIndex) && !isNullOrUndefined(this.index)) {
3494
+ if (!isNullOrUndefined(newProp.dataSource) && !this.isTouched && (isNullOrUndefined(newProp.value) &&
3495
+ isNullOrUndefined(newProp.index)) && !isNullOrUndefined(this.preselectedIndex) && !isNullOrUndefined(this.index)) {
3383
3496
  newProp.index = this.index;
3384
3497
  }
3385
3498
  if (!isNullOrUndefined(newProp.value) || !isNullOrUndefined(newProp.index)) {
@@ -3439,8 +3552,8 @@ var DropDownList = /** @class */ (function (_super) {
3439
3552
  if (this_1.enableVirtualization) {
3440
3553
  this_1.updateValues();
3441
3554
  this_1.updateInputFields();
3442
- this_1.notify("setCurrentViewDataAsync", {
3443
- module: "VirtualScroll",
3555
+ this_1.notify('setCurrentViewDataAsync', {
3556
+ module: 'VirtualScroll'
3444
3557
  });
3445
3558
  break;
3446
3559
  }
@@ -3490,14 +3603,15 @@ var DropDownList = /** @class */ (function (_super) {
3490
3603
  this_1.clearAll();
3491
3604
  break;
3492
3605
  }
3493
- if (this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) && !isNullOrUndefined(oldProp.value) && this_1.isObjectInArray(newProp.value, [oldProp.value])) {
3606
+ if (this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) && !isNullOrUndefined(oldProp.value) &&
3607
+ this_1.isObjectInArray(newProp.value, [oldProp.value])) {
3494
3608
  return { value: void 0 };
3495
3609
  }
3496
3610
  if (this_1.enableVirtualization) {
3497
3611
  this_1.updateValues();
3498
3612
  this_1.updateInputFields();
3499
- this_1.notify("setCurrentViewDataAsync", {
3500
- module: "VirtualScroll",
3613
+ this_1.notify('setCurrentViewDataAsync', {
3614
+ module: 'VirtualScroll'
3501
3615
  });
3502
3616
  this_1.preventChange = this_1.isAngular && this_1.preventChange ? !this_1.preventChange : this_1.preventChange;
3503
3617
  break;
@@ -3510,7 +3624,8 @@ var DropDownList = /** @class */ (function (_super) {
3510
3624
  this_1.renderList();
3511
3625
  }
3512
3626
  if (!this_1.initialRemoteRender) {
3513
- var value = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ? getValue((this_1.fields.value) ? this_1.fields.value : '', newProp.value) : newProp.value;
3627
+ var value = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
3628
+ getValue((this_1.fields.value) ? this_1.fields.value : '', newProp.value) : newProp.value;
3514
3629
  var item = this_1.getElementByValue(value);
3515
3630
  if (!this_1.checkValidLi(item)) {
3516
3631
  if (this_1.liCollections && this_1.liCollections.length === 100 &&
@@ -3521,8 +3636,9 @@ var DropDownList = /** @class */ (function (_super) {
3521
3636
  var listLength_2 = this_1.getItems().length;
3522
3637
  var checkField = isNullOrUndefined(this_1.fields.value) ? this_1.fields.text : this_1.fields.value;
3523
3638
  this_1.typedString = '';
3524
- var value_7 = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ? getValue(checkField, newProp.value) : newProp.value;
3525
- this_1.dataSource.executeQuery(this_1.getQuery(this_1.query).where(new Predicate(checkField, 'equal', value_7)))
3639
+ var value_3 = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
3640
+ getValue(checkField, newProp.value) : newProp.value;
3641
+ this_1.dataSource.executeQuery(this_1.getQuery(this_1.query).where(new Predicate(checkField, 'equal', value_3)))
3526
3642
  .then(function (e) {
3527
3643
  if (e.result.length > 0) {
3528
3644
  _this.addItem(e.result, listLength_2);
@@ -3600,7 +3716,8 @@ var DropDownList = /** @class */ (function (_super) {
3600
3716
  case 'floatLabelType':
3601
3717
  Input.removeFloating(this_1.inputWrapper);
3602
3718
  Input.addFloating(this_1.inputElement, newProp.floatLabelType, this_1.placeholder, this_1.createElement);
3603
- if (!isNullOrUndefined(this_1.inputWrapper.buttons[0]) && this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0] && this_1.floatLabelType !== 'Never') {
3719
+ if (!isNullOrUndefined(this_1.inputWrapper.buttons[0]) &&
3720
+ this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0] && this_1.floatLabelType !== 'Never') {
3604
3721
  this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
3605
3722
  }
3606
3723
  break;
@@ -3646,7 +3763,8 @@ var DropDownList = /** @class */ (function (_super) {
3646
3763
  }
3647
3764
  else if (prop === 'value') {
3648
3765
  var fields = (_this.fields.value) ? _this.fields.value : '';
3649
- var value = _this.allowObjectBinding && !isNullOrUndefined(newProp) ? getValue(fields, newProp) : newProp;
3766
+ var value = _this.allowObjectBinding && !isNullOrUndefined(newProp) ?
3767
+ getValue(fields, newProp) : newProp;
3650
3768
  li = _this.getElementByValue(newProp);
3651
3769
  if (!_this.checkValidLi(li)) {
3652
3770
  _this.setOldValue(oldProp);
@@ -3674,7 +3792,7 @@ var DropDownList = /** @class */ (function (_super) {
3674
3792
  removeClass([this.inputWrapper.container], ['e-readonly']);
3675
3793
  }
3676
3794
  };
3677
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3795
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function
3678
3796
  DropDownList.prototype.setInputValue = function (newProp, oldProp) {
3679
3797
  };
3680
3798
  DropDownList.prototype.setCssClass = function (newClass, oldClass) {
@@ -3740,18 +3858,19 @@ var DropDownList = /** @class */ (function (_super) {
3740
3858
  this.removeHover();
3741
3859
  }
3742
3860
  if (!this.beforePopupOpen) {
3743
- this.notify("setCurrentViewDataAsync", {
3744
- module: "VirtualScroll",
3861
+ this.notify('setCurrentViewDataAsync', {
3862
+ module: 'VirtualScroll'
3745
3863
  });
3746
3864
  }
3747
3865
  }
3748
3866
  if (this.beforePopupOpen) {
3749
3867
  this.invokeRenderPopup(e);
3750
3868
  }
3751
- if (this.enableVirtualization && !this.allowFiltering && this.selectedValueInfo != null && this.selectedValueInfo.startIndex > 0 && this.value != null) {
3752
- this.notify("dataProcessAsync", {
3753
- module: "VirtualScroll",
3754
- isOpen: true,
3869
+ if (this.enableVirtualization && !this.allowFiltering && this.selectedValueInfo != null &&
3870
+ this.selectedValueInfo.startIndex > 0 && this.value != null) {
3871
+ this.notify('dataProcessAsync', {
3872
+ module: 'VirtualScroll',
3873
+ isOpen: true
3755
3874
  });
3756
3875
  }
3757
3876
  };
@@ -3999,7 +4118,7 @@ var DropDownList = /** @class */ (function (_super) {
3999
4118
  element: this.inputElement,
4000
4119
  floatLabelType: this.floatLabelType,
4001
4120
  properties: this.properties,
4002
- buttons: this.inputWrapper.container.querySelectorAll('.e-input-group-icon')[0],
4121
+ buttons: this.inputWrapper.container.querySelectorAll('.e-input-group-icon')[0]
4003
4122
  }, this.clearButton);
4004
4123
  this.clearButton = null;
4005
4124
  this.inputElement = null;
@@ -4081,6 +4200,9 @@ var DropDownList = /** @class */ (function (_super) {
4081
4200
  __decorate([
4082
4201
  Property(false)
4083
4202
  ], DropDownList.prototype, "allowFiltering", void 0);
4203
+ __decorate([
4204
+ Property(true)
4205
+ ], DropDownList.prototype, "isDeviceFullScreen", void 0);
4084
4206
  __decorate([
4085
4207
  Property(false)
4086
4208
  ], DropDownList.prototype, "readonly", void 0);