@syncfusion/ej2-dropdowns 26.2.13 → 27.1.50

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 -841
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +1432 -709
  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 +14 -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 +7 -2
  24. package/src/drop-down-base/drop-down-base.js +101 -69
  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 +303 -178
  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 +206 -68
  31. package/src/list-box/list-box.js +64 -24
  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 +2755 -0
  60. package/styles/bootstrap-dark-lite.scss +28 -0
  61. package/styles/bootstrap-dark.css +655 -605
  62. package/styles/bootstrap-dark.scss +6 -1
  63. package/styles/bootstrap-lite.css +2754 -0
  64. package/styles/bootstrap-lite.scss +28 -0
  65. package/styles/bootstrap.css +661 -611
  66. package/styles/bootstrap.scss +6 -1
  67. package/styles/bootstrap4-lite.css +2858 -0
  68. package/styles/bootstrap4-lite.scss +28 -0
  69. package/styles/bootstrap4.css +831 -756
  70. package/styles/bootstrap4.scss +6 -1
  71. package/styles/bootstrap5-dark-lite.css +2832 -0
  72. package/styles/bootstrap5-dark-lite.scss +28 -0
  73. package/styles/bootstrap5-dark.css +702 -646
  74. package/styles/bootstrap5-dark.scss +6 -1
  75. package/styles/bootstrap5-lite.css +2832 -0
  76. package/styles/bootstrap5-lite.scss +28 -0
  77. package/styles/bootstrap5.3-lite.css +2826 -0
  78. package/styles/bootstrap5.3-lite.scss +28 -0
  79. package/styles/bootstrap5.3.css +3557 -0
  80. package/styles/bootstrap5.3.scss +33 -0
  81. package/styles/bootstrap5.css +702 -646
  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 +5 -0
  181. package/styles/drop-down-list/bootstrap-dark.css +91 -91
  182. package/styles/drop-down-list/bootstrap-dark.scss +1 -0
  183. package/styles/drop-down-list/bootstrap.css +91 -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 +90 -90
  194. package/styles/drop-down-list/fabric-dark.scss +1 -0
  195. package/styles/drop-down-list/fabric.css +90 -83
  196. package/styles/drop-down-list/fabric.scss +1 -0
  197. package/styles/drop-down-list/fluent-dark.css +74 -88
  198. package/styles/drop-down-list/fluent-dark.scss +1 -0
  199. package/styles/drop-down-list/fluent.css +74 -88
  200. package/styles/drop-down-list/fluent.scss +1 -0
  201. package/styles/drop-down-list/fluent2.css +77 -93
  202. package/styles/drop-down-list/fluent2.scss +1 -0
  203. package/styles/drop-down-list/highcontrast-light.css +79 -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 +74 -73
  208. package/styles/drop-down-list/material-dark.scss +1 -0
  209. package/styles/drop-down-list/material.css +95 -94
  210. package/styles/drop-down-list/material.scss +1 -0
  211. package/styles/drop-down-list/material3-dark.css +99 -98
  212. package/styles/drop-down-list/material3-dark.scss +1 -0
  213. package/styles/drop-down-list/material3.css +99 -98
  214. package/styles/drop-down-list/material3.scss +1 -0
  215. package/styles/drop-down-list/tailwind-dark.css +96 -78
  216. package/styles/drop-down-list/tailwind-dark.scss +1 -0
  217. package/styles/drop-down-list/tailwind.css +96 -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 +21 -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 +39 -55
  231. package/styles/drop-down-tree/bootstrap5-dark.scss +1 -0
  232. package/styles/drop-down-tree/bootstrap5.3.css +463 -0
  233. package/styles/drop-down-tree/bootstrap5.3.scss +10 -0
  234. package/styles/drop-down-tree/bootstrap5.css +39 -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 +2733 -0
  263. package/styles/fabric-dark-lite.scss +28 -0
  264. package/styles/fabric-dark.css +668 -612
  265. package/styles/fabric-dark.scss +6 -1
  266. package/styles/fabric-lite.css +2734 -0
  267. package/styles/fabric-lite.scss +28 -0
  268. package/styles/fabric.css +673 -610
  269. package/styles/fabric.scss +6 -1
  270. package/styles/fluent-dark-lite.css +2869 -0
  271. package/styles/fluent-dark-lite.scss +28 -0
  272. package/styles/fluent-dark.css +707 -679
  273. package/styles/fluent-dark.scss +6 -1
  274. package/styles/fluent-lite.css +2869 -0
  275. package/styles/fluent-lite.scss +28 -0
  276. package/styles/fluent.css +707 -679
  277. package/styles/fluent.scss +6 -1
  278. package/styles/fluent2-lite.css +3053 -0
  279. package/styles/fluent2-lite.scss +28 -0
  280. package/styles/fluent2.css +746 -676
  281. package/styles/fluent2.scss +6 -1
  282. package/styles/highcontrast-light-lite.css +2850 -0
  283. package/styles/highcontrast-light-lite.scss +28 -0
  284. package/styles/highcontrast-light.css +655 -602
  285. package/styles/highcontrast-light.scss +6 -1
  286. package/styles/highcontrast-lite.css +2872 -0
  287. package/styles/highcontrast-lite.scss +28 -0
  288. package/styles/highcontrast.css +673 -620
  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 +16 -127
  295. package/styles/list-box/_theme.scss +14 -51
  296. package/styles/list-box/bootstrap-dark.css +124 -130
  297. package/styles/list-box/bootstrap-dark.scss +1 -0
  298. package/styles/list-box/bootstrap.css +130 -136
  299. package/styles/list-box/bootstrap.scss +1 -0
  300. package/styles/list-box/bootstrap4.css +174 -184
  301. package/styles/list-box/bootstrap4.scss +1 -0
  302. package/styles/list-box/bootstrap5-dark.css +130 -150
  303. package/styles/list-box/bootstrap5-dark.scss +1 -0
  304. package/styles/list-box/bootstrap5.3.css +952 -0
  305. package/styles/list-box/bootstrap5.3.scss +6 -0
  306. package/styles/list-box/bootstrap5.css +130 -150
  307. package/styles/list-box/bootstrap5.scss +1 -0
  308. package/styles/list-box/fabric-dark.css +124 -130
  309. package/styles/list-box/fabric-dark.scss +1 -0
  310. package/styles/list-box/fabric.css +130 -136
  311. package/styles/list-box/fabric.scss +1 -0
  312. package/styles/list-box/fluent-dark.css +130 -150
  313. package/styles/list-box/fluent-dark.scss +1 -0
  314. package/styles/list-box/fluent.css +130 -150
  315. package/styles/list-box/fluent.scss +1 -0
  316. package/styles/list-box/fluent2.css +124 -157
  317. package/styles/list-box/fluent2.scss +1 -0
  318. package/styles/list-box/highcontrast-light.css +124 -132
  319. package/styles/list-box/highcontrast-light.scss +1 -0
  320. package/styles/list-box/highcontrast.css +130 -138
  321. package/styles/list-box/highcontrast.scss +1 -0
  322. package/styles/list-box/material-dark.css +124 -129
  323. package/styles/list-box/material-dark.scss +1 -0
  324. package/styles/list-box/material.css +130 -135
  325. package/styles/list-box/material.scss +1 -0
  326. package/styles/list-box/material3-dark.css +124 -129
  327. package/styles/list-box/material3-dark.scss +1 -0
  328. package/styles/list-box/material3.css +124 -129
  329. package/styles/list-box/material3.scss +1 -0
  330. package/styles/list-box/tailwind-dark.css +140 -163
  331. package/styles/list-box/tailwind-dark.scss +1 -0
  332. package/styles/list-box/tailwind.css +140 -163
  333. package/styles/list-box/tailwind.scss +1 -0
  334. package/styles/material-dark-lite.css +3516 -0
  335. package/styles/material-dark-lite.scss +28 -0
  336. package/styles/material-dark.css +1301 -1190
  337. package/styles/material-dark.scss +6 -1
  338. package/styles/material-lite.css +3548 -0
  339. package/styles/material-lite.scss +28 -0
  340. package/styles/material.css +1312 -1201
  341. package/styles/material.scss +6 -1
  342. package/styles/material3-dark-lite.css +3462 -0
  343. package/styles/material3-dark-lite.scss +28 -0
  344. package/styles/material3-dark.css +1618 -1249
  345. package/styles/material3-dark.scss +6 -1
  346. package/styles/material3-lite.css +3464 -0
  347. package/styles/material3-lite.scss +28 -0
  348. package/styles/material3.css +1618 -1249
  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 +2816 -0
  432. package/styles/tailwind-dark-lite.scss +28 -0
  433. package/styles/tailwind-dark.css +933 -848
  434. package/styles/tailwind-dark.scss +6 -1
  435. package/styles/tailwind-lite.css +2816 -0
  436. package/styles/tailwind-lite.scss +28 -0
  437. package/styles/tailwind.css +933 -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) {
@@ -1688,7 +1728,10 @@ var DropDownList = /** @class */ (function (_super) {
1688
1728
  }
1689
1729
  else {
1690
1730
  if (!isNullOrUndefined(this.hiddenElement)) {
1691
- this.hiddenElement.innerHTML = '<option selected>' + this.text + '</option>';
1731
+ var option = document.createElement('option');
1732
+ option.text = this.text;
1733
+ option.setAttribute('selected', '');
1734
+ this.hiddenElement.appendChild(option);
1692
1735
  var selectedElement = this.hiddenElement.querySelector('option');
1693
1736
  selectedElement.setAttribute('value', value.toString());
1694
1737
  }
@@ -1758,7 +1801,7 @@ var DropDownList = /** @class */ (function (_super) {
1758
1801
  this.typedString = this.filterInput.value;
1759
1802
  this.preventAutoFill = false;
1760
1803
  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)) {
1804
+ if ((this.enableVirtualization && this.getModuleName() !== 'autocomplete') || (this.getModuleName() === 'autocomplete' && !(this.dataSource instanceof DataManager)) || (this.getModuleName() === 'autocomplete' && (this.dataSource instanceof DataManager) && this.totalItemCount !== 0)) {
1762
1805
  this.getFilteringSkeletonCount();
1763
1806
  }
1764
1807
  break;
@@ -1809,9 +1852,10 @@ var DropDownList = /** @class */ (function (_super) {
1809
1852
  }
1810
1853
  }
1811
1854
  else {
1812
- filterQuery = (this.enableVirtualization && !isNullOrUndefined(this.customFilterQuery)) ? this.customFilterQuery.clone() : query ? query.clone() : this.query ? this.query.clone() : new Query();
1855
+ filterQuery = (this.enableVirtualization && !isNullOrUndefined(this.customFilterQuery)) ?
1856
+ this.customFilterQuery.clone() : query ? query.clone() : this.query ? this.query.clone() : new Query();
1813
1857
  }
1814
- if (this.enableVirtualization && this.viewPortInfo.endIndex != 0) {
1858
+ if (this.enableVirtualization && this.viewPortInfo.endIndex !== 0) {
1815
1859
  var takeValue = this.getTakeValue();
1816
1860
  var alreadySkipAdded = false;
1817
1861
  if (filterQuery) {
@@ -1825,35 +1869,39 @@ var DropDownList = /** @class */ (function (_super) {
1825
1869
  var queryTakeValue = 0;
1826
1870
  var querySkipValue = 0;
1827
1871
  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;
1872
+ for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {
1873
+ if (filterQuery.queries[queryElements].fn === 'onSkip') {
1874
+ querySkipValue = filterQuery.queries[queryElements].e.nos;
1831
1875
  }
1832
- if (filterQuery.queries[queryElements_1].fn === 'onTake') {
1833
- queryTakeValue = takeValue <= filterQuery.queries[queryElements_1].e.nos ? filterQuery.queries[queryElements_1].e.nos : takeValue;
1876
+ if (filterQuery.queries[queryElements].fn === 'onTake') {
1877
+ queryTakeValue = takeValue <= filterQuery.queries[queryElements].e.nos ?
1878
+ filterQuery.queries[queryElements].e.nos : takeValue;
1834
1879
  }
1835
1880
  }
1836
1881
  }
1837
1882
  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;
1883
+ for (var queryElements = 0; queryElements < this.query.queries.length; queryElements++) {
1884
+ if (this.query.queries[queryElements].fn === 'onTake') {
1885
+ queryTakeValue = takeValue <= this.query.queries[queryElements].e.nos ?
1886
+ this.query.queries[queryElements].e.nos : takeValue;
1841
1887
  }
1842
1888
  }
1843
1889
  }
1844
1890
  var skipExists = false;
1845
1891
  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;
1892
+ for (var queryElements = 0; queryElements < filterQuery.queries.length; queryElements++) {
1893
+ if (filterQuery.queries[queryElements].fn === 'onSkip') {
1894
+ querySkipValue = filterQuery.queries[queryElements].e.nos;
1895
+ filterQuery.queries.splice(queryElements, 1);
1896
+ alreadySkipAdded = false;
1897
+ --queryElements;
1851
1898
  continue;
1852
1899
  }
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;
1900
+ if (filterQuery.queries[queryElements].fn === 'onTake') {
1901
+ queryTakeValue = filterQuery.queries[queryElements].e.nos <= queryTakeValue ?
1902
+ queryTakeValue : filterQuery.queries[queryElements].e.nos;
1903
+ filterQuery.queries.splice(queryElements, 1);
1904
+ --queryElements;
1857
1905
  }
1858
1906
  }
1859
1907
  }
@@ -1905,7 +1953,7 @@ var DropDownList = /** @class */ (function (_super) {
1905
1953
  return;
1906
1954
  }
1907
1955
  _this.isCustomFilter = true;
1908
- _this.customFilterQuery = query ? query.clone() : query;
1956
+ _this.customFilterQuery = query.clone();
1909
1957
  _this.filteringAction(dataSource, query, fields);
1910
1958
  },
1911
1959
  baseEventArgs: e,
@@ -1933,8 +1981,8 @@ var DropDownList = /** @class */ (function (_super) {
1933
1981
  };
1934
1982
  DropDownList.prototype.filteringAction = function (dataSource, query, fields) {
1935
1983
  if (!isNullOrUndefined(this.filterInput)) {
1936
- this.beforePopupOpen = ((!this.isPopupOpen && this.getModuleName() === 'combobox' && this.filterInput.value === '') || this.getInitialData) ?
1937
- false : true;
1984
+ this.beforePopupOpen = ((!this.isPopupOpen && this.getModuleName() === 'combobox' && this.filterInput.value === '') ||
1985
+ this.getInitialData) ? false : true;
1938
1986
  var isNoData = this.list.classList.contains(dropDownBaseClasses.noData);
1939
1987
  if (this.filterInput.value.trim() === '' && !this.itemTemplate) {
1940
1988
  this.actionCompleteData.isUpdated = false;
@@ -2022,7 +2070,7 @@ var DropDownList = /** @class */ (function (_super) {
2022
2070
  });
2023
2071
  this.element.parentNode.insertBefore(this.filterInput, this.element);
2024
2072
  var backIcon = false;
2025
- if (Browser.isDevice) {
2073
+ if (Browser.isDevice && this.isDeviceFullScreen) {
2026
2074
  backIcon = true;
2027
2075
  }
2028
2076
  this.filterInputObj = Input.createInput({
@@ -2128,7 +2176,9 @@ var DropDownList = /** @class */ (function (_super) {
2128
2176
  if (this.isActive || !isNullOrUndefined(ulElement)) {
2129
2177
  var selectedItem = this.selectedLI ? this.selectedLI.cloneNode(true) : null;
2130
2178
  _super.prototype.onActionComplete.call(this, ulElement, list, e);
2131
- this.skeletonCount = this.totalItemCount != 0 && this.totalItemCount < (this.itemCount * 2) ? 0 : this.skeletonCount;
2179
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
2180
+ ((!(this.dataSource instanceof DataManager)) ||
2181
+ ((this.dataSource instanceof DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
2132
2182
  this.updateSelectElementData(this.allowFiltering);
2133
2183
  if (this.isRequested && !isNullOrUndefined(this.searchKeyEvent) && this.searchKeyEvent.type === 'keydown') {
2134
2184
  this.isRequested = false;
@@ -2151,20 +2201,21 @@ var DropDownList = /** @class */ (function (_super) {
2151
2201
  this.initialRemoteRender = false;
2152
2202
  if (this.value && this.dataSource instanceof DataManager) {
2153
2203
  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;
2204
+ var value_1 = this.allowObjectBinding && !isNullOrUndefined(this.value) ?
2205
+ getValue(checkField_1, this.value) : this.value;
2155
2206
  var fieldValue_1 = this.fields.value.split('.');
2156
2207
  var checkVal = list.some(function (x) {
2157
2208
  return isNullOrUndefined(x[checkField_1]) && fieldValue_1.length > 1 ?
2158
- _this.checkFieldValue(x, fieldValue_1) === value_5 : x[checkField_1] === value_5;
2209
+ _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;
2159
2210
  });
2160
2211
  if (this.enableVirtualization && this.virtualGroupDataSource) {
2161
2212
  checkVal = this.virtualGroupDataSource.some(function (x) {
2162
2213
  return isNullOrUndefined(x[checkField_1]) && fieldValue_1.length > 1 ?
2163
- _this.checkFieldValue(x, fieldValue_1) === value_5 : x[checkField_1] === value_5;
2214
+ _this.checkFieldValue(x, fieldValue_1) === value_1 : x[checkField_1] === value_1;
2164
2215
  });
2165
2216
  }
2166
2217
  if (!checkVal) {
2167
- this.dataSource.executeQuery(this.getQuery(this.query).where(new Predicate(checkField_1, 'equal', value_5)))
2218
+ this.dataSource.executeQuery(this.getQuery(this.query).where(new Predicate(checkField_1, 'equal', value_1)))
2168
2219
  .then(function (e) {
2169
2220
  if (e.result.length > 0) {
2170
2221
  _this.addItem(e.result, list.length);
@@ -2203,16 +2254,20 @@ var DropDownList = /** @class */ (function (_super) {
2203
2254
  }
2204
2255
  }
2205
2256
  // 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) {
2257
+ if ((this.allowCustom || (this.allowFiltering && !this.isValueInList(list, this.value) &&
2258
+ this.dataSource instanceof DataManager)) && !this.enableVirtualization) {
2207
2259
  this.addNewItem(list, selectedItem);
2208
2260
  }
2209
2261
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2210
- else if ((this.allowCustom || (this.allowFiltering && this.isValueInList(list, this.value))) && !this.enableVirtualization) {
2262
+ else if ((this.allowCustom || (this.allowFiltering && this.isValueInList(list, this.value))) &&
2263
+ !this.enableVirtualization) {
2211
2264
  this.addNewItem(list, selectedItem);
2212
2265
  }
2213
2266
  if (!isNullOrUndefined(this.itemData) || (isNullOrUndefined(this.itemData) && this.enableVirtualization)) {
2214
2267
  this.getSkeletonCount();
2215
- this.skeletonCount = this.totalItemCount != 0 && this.totalItemCount < (this.itemCount * 2) ? 0 : this.skeletonCount;
2268
+ this.skeletonCount = this.totalItemCount !== 0 && this.totalItemCount < (this.itemCount * 2) &&
2269
+ ((!(this.dataSource instanceof DataManager)) ||
2270
+ ((this.dataSource instanceof DataManager) && (this.totalItemCount <= this.itemCount))) ? 0 : this.skeletonCount;
2216
2271
  this.UpdateSkeleton();
2217
2272
  this.focusIndexItem();
2218
2273
  }
@@ -2237,7 +2292,7 @@ var DropDownList = /** @class */ (function (_super) {
2237
2292
  this.liCollections = this.list.querySelectorAll('.e-list-item');
2238
2293
  }
2239
2294
  }
2240
- if (this.enableVirtualization && tempItemCount != this.itemCount) {
2295
+ if (this.enableVirtualization && tempItemCount !== this.itemCount) {
2241
2296
  this.resetList(this.dataSource, this.fields);
2242
2297
  }
2243
2298
  }
@@ -2279,10 +2334,10 @@ var DropDownList = /** @class */ (function (_super) {
2279
2334
  DropDownList.prototype.addNewItem = function (listData, newElement) {
2280
2335
  var _this = this;
2281
2336
  if (!isNullOrUndefined(this.itemData) && !isNullOrUndefined(newElement)) {
2282
- var value_6 = this.getItemData().value;
2337
+ var value_2 = this.getItemData().value;
2283
2338
  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));
2339
+ return (((typeof data === 'string' || typeof data === 'number') && data === value_2) ||
2340
+ (getValue(_this.fields.value, data) === value_2));
2286
2341
  });
2287
2342
  if (!isExist) {
2288
2343
  this.addItem(this.itemData);
@@ -2316,7 +2371,8 @@ var DropDownList = /** @class */ (function (_super) {
2316
2371
  };
2317
2372
  DropDownList.prototype.focusIndexItem = function () {
2318
2373
  var value = this.getItemData().value;
2319
- this.activeIndex = ((this.enableVirtualization && !isNullOrUndefined(value)) || !this.enableVirtualization) ? this.getIndexByValue(value) : this.activeIndex;
2374
+ this.activeIndex = ((this.enableVirtualization && !isNullOrUndefined(value)) || !this.enableVirtualization) ?
2375
+ this.getIndexByValue(value) : this.activeIndex;
2320
2376
  var element = this.findListElement(this.list, 'li', 'data-value', value);
2321
2377
  this.selectedLI = element;
2322
2378
  this.activeItem(element);
@@ -2366,7 +2422,8 @@ var DropDownList = /** @class */ (function (_super) {
2366
2422
  popupEle.setAttribute('aria-label', _this.element.id);
2367
2423
  popupEle.setAttribute('role', 'dialog');
2368
2424
  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);
2425
+ _this.listContainerHeight = _this.allowFiltering && _this.getModuleName() === 'dropdownlist' && Browser.isDevice ?
2426
+ formatUnit(Math.round(window.outerHeight).toString() + 'px') : formatUnit(_this.popupHeight);
2370
2427
  if (_this.headerTemplate) {
2371
2428
  _this.setHeaderTemplate(popupEle);
2372
2429
  }
@@ -2378,11 +2435,13 @@ var DropDownList = /** @class */ (function (_super) {
2378
2435
  popupEle.style.top = '0px';
2379
2436
  if (_this.enableVirtualization && _this.itemTemplate) {
2380
2437
  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;
2438
+ _this.listItemHeight = listitems.length > 0 ? Math.ceil(listitems[0].getBoundingClientRect().height) +
2439
+ parseInt(window.getComputedStyle(listitems[0]).marginBottom, 10) : 0;
2382
2440
  }
2383
2441
  if (_this.enableVirtualization && !_this.list.classList.contains(dropDownBaseClasses.noData)) {
2384
2442
  _this.getSkeletonCount();
2385
- _this.skeletonCount = _this.totalItemCount < (_this.itemCount * 2) ? 0 : _this.skeletonCount;
2443
+ _this.skeletonCount = _this.totalItemCount < (_this.itemCount * 2) && ((!(_this.dataSource instanceof DataManager)) ||
2444
+ ((_this.dataSource instanceof DataManager) && (_this.totalItemCount <= _this.itemCount))) ? 0 : _this.skeletonCount;
2386
2445
  if (!_this.list.querySelector('.e-virtual-ddl-content')) {
2387
2446
  _this.list.appendChild(_this.createElement('div', {
2388
2447
  className: 'e-virtual-ddl-content',
@@ -2410,19 +2469,22 @@ var DropDownList = /** @class */ (function (_super) {
2410
2469
  popupEle.style.visibility = 'hidden';
2411
2470
  if (_this.popupHeight !== 'auto') {
2412
2471
  _this.searchBoxHeight = 0;
2413
- if (!isNullOrUndefined(searchBox.container) && _this.getModuleName() !== 'combobox' && _this.getModuleName() !== 'autocomplete') {
2472
+ if (!isNullOrUndefined(searchBox.container) &&
2473
+ _this.getModuleName() !== 'combobox' && _this.getModuleName() !== 'autocomplete') {
2414
2474
  _this.searchBoxHeight = (searchBox.container.parentElement).getBoundingClientRect().height;
2415
2475
  _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (_this.searchBoxHeight)).toString() + 'px';
2416
2476
  }
2417
2477
  if (_this.headerTemplate) {
2418
2478
  _this.header = _this.header ? _this.header : popupEle.querySelector('.e-ddl-header');
2419
2479
  var height = Math.round(_this.header.getBoundingClientRect().height);
2420
- _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (height + _this.searchBoxHeight)).toString() + 'px';
2480
+ _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2481
+ (height + _this.searchBoxHeight)).toString() + 'px';
2421
2482
  }
2422
2483
  if (_this.footerTemplate) {
2423
2484
  _this.footer = _this.footer ? _this.footer : popupEle.querySelector('.e-ddl-footer');
2424
2485
  var height = Math.round(_this.footer.getBoundingClientRect().height);
2425
- _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) - (height + _this.searchBoxHeight)).toString() + 'px';
2486
+ _this.listContainerHeight = (parseInt(_this.listContainerHeight, 10) -
2487
+ (height + _this.searchBoxHeight)).toString() + 'px';
2426
2488
  }
2427
2489
  _this.list.style.maxHeight = (parseInt(_this.listContainerHeight, 10) - 2).toString() + 'px'; // due to box-sizing property
2428
2490
  popupEle.style.maxHeight = formatUnit(_this.popupHeight);
@@ -2442,7 +2504,7 @@ var DropDownList = /** @class */ (function (_super) {
2442
2504
  else {
2443
2505
  _this.list.scrollTop = 0;
2444
2506
  }
2445
- if (Browser.isDevice && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||
2507
+ if (Browser.isDevice && _this.isDeviceFullScreen && (!_this.allowFiltering && (_this.getModuleName() === 'dropdownlist' ||
2446
2508
  (_this.isDropDownClick && _this.getModuleName() === 'combobox')))) {
2447
2509
  offsetValue = _this.getOffsetValue(popupEle);
2448
2510
  var firstItem = _this.isEmptyList() ? _this.list : _this.liCollections[0];
@@ -2457,7 +2519,8 @@ var DropDownList = /** @class */ (function (_super) {
2457
2519
  _this.getFocusElement();
2458
2520
  _this.checkCollision(popupEle);
2459
2521
  if (Browser.isDevice) {
2460
- if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) && !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {
2522
+ if ((parseInt(_this.popupWidth.toString(), 10) > window.outerWidth) &&
2523
+ !(_this.getModuleName() === 'dropdownlist' && _this.allowFiltering)) {
2461
2524
  _this.popupObj.element.classList.add('e-wide-popup');
2462
2525
  }
2463
2526
  _this.popupObj.element.classList.add(dropDownListClasses.device);
@@ -2465,7 +2528,7 @@ var DropDownList = /** @class */ (function (_super) {
2465
2528
  && !_this.allowFiltering && _this.isDropDownClick)) {
2466
2529
  _this.popupObj.collision = { X: 'fit', Y: 'fit' };
2467
2530
  }
2468
- if (_this.isFilterLayout()) {
2531
+ if (_this.isFilterLayout() && _this.isDeviceFullScreen) {
2469
2532
  _this.popupObj.element.classList.add(dropDownListClasses.mobileFilter);
2470
2533
  _this.popupObj.position = { X: 0, Y: 0 };
2471
2534
  _this.popupObj.dataBind();
@@ -2491,10 +2554,10 @@ var DropDownList = /** @class */ (function (_super) {
2491
2554
  }
2492
2555
  _this.selectedElementID = _this.selectedLI ? _this.selectedLI.id : null;
2493
2556
  if (_this.enableVirtualization) {
2494
- _this.notify("bindScrollEvent", {
2495
- module: "VirtualScroll",
2557
+ _this.notify('bindScrollEvent', {
2558
+ module: 'VirtualScroll',
2496
2559
  component: _this.getModuleName(),
2497
- enable: _this.enableVirtualization,
2560
+ enable: _this.enableVirtualization
2498
2561
  });
2499
2562
  setTimeout(function () {
2500
2563
  if (_this.value || _this.list.querySelector('.e-active')) {
@@ -2587,6 +2650,9 @@ var DropDownList = /** @class */ (function (_super) {
2587
2650
  _this.onActionComplete(_this.actionCompleteData.ulElement, _this.actionCompleteData.list, null, true);
2588
2651
  }
2589
2652
  }
2653
+ else if (_this.enableVirtualization) {
2654
+ _this.focusIndexItem();
2655
+ }
2590
2656
  },
2591
2657
  open: function () {
2592
2658
  EventHandler.add(document, 'mousedown', _this.onDocumentClick, _this);
@@ -2641,9 +2707,9 @@ var DropDownList = /** @class */ (function (_super) {
2641
2707
  };
2642
2708
  DropDownList.prototype.isElementInViewport = function (element) {
2643
2709
  var elementRect = element.getBoundingClientRect();
2644
- return (elementRect.top >= 0 && elementRect.left >= 0 && elementRect.bottom <= window.innerHeight && elementRect.right <= window.innerWidth);
2710
+ return (elementRect.top >= 0 && elementRect.left >= 0 && elementRect.bottom <= window.innerHeight &&
2711
+ elementRect.right <= window.innerWidth);
2645
2712
  };
2646
- ;
2647
2713
  DropDownList.prototype.setSearchBoxPosition = function () {
2648
2714
  var searchBoxHeight = this.filterInput.parentElement.getBoundingClientRect().height;
2649
2715
  this.popupObj.element.style.maxHeight = '100%';
@@ -2661,7 +2727,7 @@ var DropDownList = /** @class */ (function (_super) {
2661
2727
  var firstItem = this.isEmptyList() ? this.list : this.liCollections[0];
2662
2728
  var lastItem = this.isEmptyList() ? this.list : this.liCollections[this.getItems().length - 1];
2663
2729
  var liHeight = firstItem.getBoundingClientRect().height;
2664
- this.listItemHeight = liHeight;
2730
+ this.listItemHeight = liHeight + parseInt(window.getComputedStyle(firstItem).marginBottom, 10);
2665
2731
  var listHeight = this.list.offsetHeight / 2;
2666
2732
  var height = isNullOrUndefined(selectedLI) ? firstItem.offsetTop : selectedLI.offsetTop;
2667
2733
  var lastItemOffsetValue = lastItem.offsetTop;
@@ -2709,17 +2775,26 @@ var DropDownList = /** @class */ (function (_super) {
2709
2775
  }
2710
2776
  }
2711
2777
  if (!isNullOrUndefined(this.selectedLI)) {
2778
+ var selectedListMargin = this.selectedLI &&
2779
+ !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?
2780
+ parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;
2712
2781
  this.isUpwardScrolling = false;
2713
2782
  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;
2783
+ var lastElementValue = this.list.querySelector('li:last-of-type') ?
2784
+ this.list.querySelector('li:last-of-type').getAttribute('data-value') : null;
2785
+ var selectedLiOffsetTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
2786
+ this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +
2787
+ selectedListMargin)) : this.selectedLI.offsetTop;
2716
2788
  var currentOffset = this.list.offsetHeight;
2717
- var nextBottom = selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) + this.selectedLI.offsetHeight - this.list.scrollTop;
2789
+ var nextBottom = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2790
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;
2718
2791
  var nextOffset = this.list.scrollTop + nextBottom - currentOffset;
2719
2792
  var isScrollerCHanged = false;
2720
2793
  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;
2794
+ nextOffset = isInitial ? nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10) * 2 :
2795
+ nextOffset + parseInt(getComputedStyle(this.list).paddingTop, 10);
2796
+ var boxRange = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2797
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop;
2723
2798
  boxRange = this.fields.groupBy && !isNullOrUndefined(this.fixedHeaderElement) ?
2724
2799
  boxRange - this.fixedHeaderElement.offsetHeight : boxRange;
2725
2800
  if (this.activeIndex === 0 && !this.enableVirtualization) {
@@ -2728,31 +2803,32 @@ var DropDownList = /** @class */ (function (_super) {
2728
2803
  }
2729
2804
  else if (nextBottom > currentOffset || !(boxRange > 0 && this.list.offsetHeight > boxRange)) {
2730
2805
  var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;
2731
- var liCount = keyAction == "pageDown" ? this.getPageCount() - 2 : 1;
2806
+ var liCount = keyAction === 'pageDown' ? this.getPageCount() - 2 : 1;
2732
2807
  if (!this.enableVirtualization || this.isKeyBoardAction || isInitialSelection) {
2733
- if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue && currentElementValue === lastElementValue && keyAction != "end" && !this.isVirtualScrolling) {
2808
+ if (this.isKeyBoardAction && this.enableVirtualization && lastElementValue &&
2809
+ currentElementValue === lastElementValue && keyAction !== 'end' && !this.isVirtualScrolling) {
2734
2810
  this.isPreventKeyAction = true;
2735
2811
  if (this.enableVirtualization && this.itemTemplate) {
2736
2812
  this.list.scrollTop += nextOffset;
2737
2813
  }
2738
2814
  else {
2739
2815
  if (this.enableVirtualization) {
2740
- liCount = keyAction == "pageDown" ? this.getPageCount() + 1 : liCount;
2816
+ liCount = keyAction === 'pageDown' ? this.getPageCount() + 1 : liCount;
2741
2817
  }
2742
- this.list.scrollTop += this.selectedLI.offsetHeight * liCount;
2818
+ this.list.scrollTop += (this.selectedLI.offsetHeight + selectedListMargin) * liCount;
2743
2819
  }
2744
2820
  this.isPreventKeyAction = this.IsScrollerAtEnd() ? false : this.isPreventKeyAction;
2745
2821
  this.isKeyBoardAction = false;
2746
2822
  this.isPreventScrollAction = false;
2747
2823
  }
2748
- else if (this.enableVirtualization && keyAction == "end") {
2824
+ else if (this.enableVirtualization && keyAction === 'end') {
2749
2825
  this.isPreventKeyAction = false;
2750
2826
  this.isKeyBoardAction = false;
2751
2827
  this.isPreventScrollAction = false;
2752
2828
  this.list.scrollTop = this.list.scrollHeight;
2753
2829
  }
2754
2830
  else {
2755
- if (keyAction == "pageDown" && this.enableVirtualization && !this.isVirtualScrolling) {
2831
+ if (keyAction === 'pageDown' && this.enableVirtualization && !this.isVirtualScrolling) {
2756
2832
  this.isPreventKeyAction = false;
2757
2833
  this.isKeyBoardAction = false;
2758
2834
  this.isPreventScrollAction = false;
@@ -2761,13 +2837,14 @@ var DropDownList = /** @class */ (function (_super) {
2761
2837
  }
2762
2838
  }
2763
2839
  else {
2764
- this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ? this.virtualListInfo.startIndex * this.listItemHeight : 0;
2840
+ this.list.scrollTop = this.virtualListInfo && this.virtualListInfo.startIndex ?
2841
+ this.virtualListInfo.startIndex * this.listItemHeight : 0;
2765
2842
  }
2766
2843
  isScrollerCHanged = this.isKeyBoardAction;
2767
2844
  isScrollTopChanged = true;
2768
2845
  }
2769
2846
  this.isKeyBoardAction = isScrollerCHanged;
2770
- if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction == "down")) {
2847
+ if (this.enableVirtualization && this.fields.groupBy && this.fixedHeaderElement && (keyAction === 'down')) {
2771
2848
  setTimeout(function () {
2772
2849
  _this.scrollStop(null, true);
2773
2850
  }, 100);
@@ -2777,39 +2854,48 @@ var DropDownList = /** @class */ (function (_super) {
2777
2854
  DropDownList.prototype.scrollTop = function (keyAction) {
2778
2855
  if (keyAction === void 0) { keyAction = null; }
2779
2856
  if (!isNullOrUndefined(this.selectedLI)) {
2857
+ var selectedListMargin = this.selectedLI &&
2858
+ !isNaN(parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10)) ?
2859
+ parseInt(window.getComputedStyle(this.selectedLI).marginBottom, 10) : 0;
2780
2860
  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;
2861
+ var selectedLiOffsetTop = (this.virtualListInfo && this.virtualListInfo.startIndex) ?
2862
+ this.selectedLI.offsetTop + (this.virtualListInfo.startIndex * (this.selectedLI.offsetHeight +
2863
+ selectedListMargin)) : this.selectedLI.offsetTop;
2864
+ var nextOffset = selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight +
2865
+ selectedListMargin)) - this.list.scrollTop;
2866
+ var firstElementValue = this.list.querySelector('li.e-list-item:not(.e-virtual-list)') ?
2867
+ this.list.querySelector('li.e-list-item:not(.e-virtual-list)').getAttribute('data-value') : null;
2784
2868
  nextOffset = this.fields.groupBy && !isNullOrUndefined(this.fixedHeaderElement) ?
2785
2869
  nextOffset - this.fixedHeaderElement.offsetHeight : nextOffset;
2786
- var boxRange = (selectedLiOffsetTop - (virtualListCount * this.selectedLI.offsetHeight) + this.selectedLI.offsetHeight - this.list.scrollTop);
2870
+ var boxRange = (selectedLiOffsetTop - (virtualListCount * (this.selectedLI.offsetHeight + selectedListMargin)) +
2871
+ (this.selectedLI.offsetHeight + selectedListMargin) - this.list.scrollTop);
2787
2872
  var isPageUpKeyAction = this.enableVirtualization && this.getModuleName() === 'autocomplete' && nextOffset <= 0;
2788
2873
  if (this.activeIndex === 0 && !this.enableVirtualization) {
2789
2874
  this.list.scrollTop = 0;
2790
2875
  }
2791
2876
  else if (nextOffset < 0 || isPageUpKeyAction) {
2792
2877
  var currentElementValue = this.selectedLI ? this.selectedLI.getAttribute('data-value') : null;
2793
- var liCount = keyAction == "pageUp" ? this.getPageCount() - 2 : 1;
2878
+ var liCount = keyAction === 'pageUp' ? this.getPageCount() - 2 : 1;
2794
2879
  if (this.enableVirtualization) {
2795
- liCount = keyAction == "pageUp" ? this.getPageCount() : liCount;
2880
+ liCount = keyAction === 'pageUp' ? this.getPageCount() : liCount;
2796
2881
  }
2797
- if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue && currentElementValue === firstElementValue && keyAction != "home" && !this.isVirtualScrolling) {
2882
+ if (this.enableVirtualization && this.isKeyBoardAction && firstElementValue &&
2883
+ currentElementValue === firstElementValue && keyAction !== 'home' && !this.isVirtualScrolling) {
2798
2884
  this.isUpwardScrolling = true;
2799
2885
  this.isPreventKeyAction = true;
2800
- this.list.scrollTop -= this.selectedLI.offsetHeight * liCount;
2801
- this.isPreventKeyAction = this.list.scrollTop != 0 ? this.isPreventKeyAction : false;
2886
+ this.list.scrollTop -= (this.selectedLI.offsetHeight + selectedListMargin) * liCount;
2887
+ this.isPreventKeyAction = this.list.scrollTop !== 0 ? this.isPreventKeyAction : false;
2802
2888
  this.isKeyBoardAction = false;
2803
2889
  this.isPreventScrollAction = false;
2804
2890
  }
2805
- else if (this.enableVirtualization && keyAction == "home") {
2891
+ else if (this.enableVirtualization && keyAction === 'home') {
2806
2892
  this.isPreventScrollAction = false;
2807
2893
  this.isPreventKeyAction = true;
2808
2894
  this.isKeyBoardAction = false;
2809
2895
  this.list.scrollTo(0, 0);
2810
2896
  }
2811
2897
  else {
2812
- if (keyAction == "pageUp" && this.enableVirtualization && !this.isVirtualScrolling) {
2898
+ if (keyAction === 'pageUp' && this.enableVirtualization && !this.isVirtualScrolling) {
2813
2899
  this.isPreventKeyAction = false;
2814
2900
  this.isKeyBoardAction = false;
2815
2901
  this.isPreventScrollAction = false;
@@ -2823,6 +2909,9 @@ var DropDownList = /** @class */ (function (_super) {
2823
2909
  }
2824
2910
  }
2825
2911
  };
2912
+ DropDownList.prototype.IsScrollerAtEnd = function () {
2913
+ return this.list && this.list.scrollTop + this.list.clientHeight >= this.list.scrollHeight;
2914
+ };
2826
2915
  DropDownList.prototype.isEditTextBox = function () {
2827
2916
  return false;
2828
2917
  };
@@ -2843,7 +2932,7 @@ var DropDownList = /** @class */ (function (_super) {
2843
2932
  this.scrollBottom(false, false, e.action);
2844
2933
  break;
2845
2934
  default:
2846
- this.isKeyBoardAction = e.action == 'up' || e.action == 'pageUp' || e.action == 'open';
2935
+ this.isKeyBoardAction = e.action === 'up' || e.action === 'pageUp' || e.action === 'open';
2847
2936
  this.scrollTop(e.action);
2848
2937
  break;
2849
2938
  }
@@ -2859,7 +2948,8 @@ var DropDownList = /** @class */ (function (_super) {
2859
2948
  if (this.enableVirtualization) {
2860
2949
  this.list.scrollTop = 0;
2861
2950
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2862
- this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ? this.dataSource.length : 0;
2951
+ this.totalItemCount = this.dataCount = this.dataSource && this.dataSource.length ?
2952
+ this.dataSource.length : 0;
2863
2953
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2864
2954
  if (this.list.getElementsByClassName('e-virtual-ddl')[0]) {
2865
2955
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2887,7 +2977,8 @@ var DropDownList = /** @class */ (function (_super) {
2887
2977
  };
2888
2978
  DropDownList.prototype.closePopup = function (delay, e) {
2889
2979
  var _this = this;
2890
- var isFilterValue = !isNullOrUndefined(this.filterInput) && !isNullOrUndefined(this.filterInput.value) && this.filterInput.value !== '';
2980
+ var isFilterValue = !isNullOrUndefined(this.filterInput) &&
2981
+ !isNullOrUndefined(this.filterInput.value) && this.filterInput.value !== '';
2891
2982
  var typedString = this.getModuleName() === 'combobox' ? this.typedString : null;
2892
2983
  this.isTyped = false;
2893
2984
  this.isVirtualTrackHeight = false;
@@ -2902,7 +2993,7 @@ var DropDownList = /** @class */ (function (_super) {
2902
2993
  element: this.filterInput,
2903
2994
  floatLabelType: this.floatLabelType,
2904
2995
  properties: { placeholder: this.filterBarPlaceholder },
2905
- buttons: this.clearIconElement,
2996
+ buttons: this.clearIconElement
2906
2997
  }, this.clearIconElement);
2907
2998
  }
2908
2999
  this.filterInputObj = null;
@@ -2913,7 +3004,7 @@ var DropDownList = /** @class */ (function (_super) {
2913
3004
  var element = scrollableParentElements_1[_i];
2914
3005
  EventHandler.remove(element, 'scroll', this.scrollHandler);
2915
3006
  }
2916
- if (Browser.isDevice && this.isFilterLayout()) {
3007
+ if (Browser.isDevice && this.isFilterLayout() && this.isDeviceFullScreen) {
2917
3008
  removeClass([document.body, this.popupObj.element], dropDownListClasses.popupFullScreen);
2918
3009
  }
2919
3010
  if (this.isFilterLayout()) {
@@ -2954,15 +3045,18 @@ var DropDownList = /** @class */ (function (_super) {
2954
3045
  }
2955
3046
  if (this.enableVirtualization) {
2956
3047
  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 != "")) {
3048
+ this.viewPortInfo.endIndex = this.viewPortInfo && this.viewPortInfo.endIndex > 0 ?
3049
+ this.viewPortInfo.endIndex : this.itemCount;
3050
+ if (this.getModuleName() === 'autocomplete' || (this.getModuleName() === 'dropdownlist' &&
3051
+ !isNullOrUndefined(this.typedString) && this.typedString !== '') || (this.getModuleName() === 'combobox' &&
3052
+ this.allowFiltering && !isNullOrUndefined(this.typedString) && this.typedString !== '')) {
2959
3053
  this.checkAndResetCache();
2960
3054
  }
2961
3055
  }
2962
3056
  else if (this.getModuleName() === 'autocomplete') {
2963
3057
  this.checkAndResetCache();
2964
3058
  }
2965
- if ((this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox') && !(this.skeletonCount == 0)) {
3059
+ if ((this.getModuleName() === 'dropdownlist' || this.getModuleName() === 'combobox') && !(this.skeletonCount === 0)) {
2966
3060
  this.getSkeletonCount(true);
2967
3061
  }
2968
3062
  }
@@ -2999,7 +3093,8 @@ var DropDownList = /** @class */ (function (_super) {
2999
3093
  var dataSourceCount;
3000
3094
  if (this.dataSource instanceof DataManager) {
3001
3095
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3002
- dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ? this.virtualGroupDataSource.length : 0;
3096
+ dataSourceCount = this.virtualGroupDataSource && this.virtualGroupDataSource.length ?
3097
+ this.virtualGroupDataSource.length : 0;
3003
3098
  }
3004
3099
  else {
3005
3100
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -3020,10 +3115,10 @@ var DropDownList = /** @class */ (function (_super) {
3020
3115
  sentinelInfo: {},
3021
3116
  offsets: {},
3022
3117
  startIndex: 0,
3023
- endIndex: this.itemCount,
3118
+ endIndex: this.itemCount
3024
3119
  };
3025
3120
  if (this.getModuleName() === 'combobox') {
3026
- this.typedString = "";
3121
+ this.typedString = '';
3027
3122
  }
3028
3123
  this.previousStartIndex = 0;
3029
3124
  this.previousEndIndex = 0;
@@ -3044,7 +3139,7 @@ var DropDownList = /** @class */ (function (_super) {
3044
3139
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3045
3140
  this.list.getElementsByClassName('e-virtual-ddl')[0].style = this.GetVirtualTrackHeight();
3046
3141
  }
3047
- if (this.getModuleName() !== 'autocomplete' && this.totalItemCount != 0 && this.totalItemCount > (this.itemCount * 2)) {
3142
+ if (this.getModuleName() !== 'autocomplete' && this.totalItemCount !== 0 && this.totalItemCount > (this.itemCount * 2)) {
3048
3143
  this.getSkeletonCount();
3049
3144
  }
3050
3145
  this.UpdateSkeleton();
@@ -3100,7 +3195,8 @@ var DropDownList = /** @class */ (function (_super) {
3100
3195
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
3101
3196
  updatedCssClassValues = (this.cssClass.replace(/\s+/g, ' ')).trim();
3102
3197
  }
3103
- if (!isNullOrUndefined(closest(this.element, 'fieldset')) && closest(this.element, 'fieldset').disabled) {
3198
+ if (!isNullOrUndefined(closest(this.element, 'fieldset')) &&
3199
+ closest(this.element, 'fieldset').disabled) {
3104
3200
  this.enabled = false;
3105
3201
  }
3106
3202
  this.inputWrapper = Input.createInput({
@@ -3123,9 +3219,16 @@ var DropDownList = /** @class */ (function (_super) {
3123
3219
  this.inputElement.parentElement.insertBefore(this.element, this.inputElement);
3124
3220
  }
3125
3221
  this.hiddenElement = this.createElement('select', {
3126
- attrs: { 'aria-hidden': 'true', 'aria-label': this.getModuleName(), 'tabindex': '-1', 'class': dropDownListClasses.hiddenElement }
3222
+ attrs: {
3223
+ 'aria-hidden': 'true',
3224
+ 'tabindex': '-1',
3225
+ 'class': dropDownListClasses.hiddenElement
3226
+ }
3127
3227
  });
3128
3228
  prepend([this.hiddenElement], this.inputWrapper.container);
3229
+ if (!this.hiddenElement.hasAttribute('aria-label')) {
3230
+ this.hiddenElement.setAttribute('aria-label', this.getModuleName());
3231
+ }
3129
3232
  this.validationAttribute(this.element, this.hiddenElement);
3130
3233
  this.setReadOnly();
3131
3234
  this.setFields();
@@ -3134,7 +3237,8 @@ var DropDownList = /** @class */ (function (_super) {
3134
3237
  if (this.floatLabelType !== 'Never') {
3135
3238
  Input.calculateWidth(this.inputElement, this.inputWrapper.container);
3136
3239
  }
3137
- if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never') {
3240
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) &&
3241
+ this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0] && this.floatLabelType !== 'Never') {
3138
3242
  this.inputWrapper.container.getElementsByClassName('e-float-text-content')[0].classList.add('e-icon');
3139
3243
  }
3140
3244
  this.wireEvent();
@@ -3145,11 +3249,17 @@ var DropDownList = /** @class */ (function (_super) {
3145
3249
  this.hiddenElement.id = id + '_hidden';
3146
3250
  this.targetElement().setAttribute('tabindex', this.tabIndex);
3147
3251
  if ((this.getModuleName() === 'autocomplete' || this.getModuleName() === 'combobox') && !this.readonly) {
3148
- this.inputElement.setAttribute('aria-label', this.getModuleName());
3252
+ if (!this.inputElement.hasAttribute('aria-label')) {
3253
+ this.inputElement.setAttribute('aria-label', this.getModuleName());
3254
+ }
3149
3255
  }
3150
3256
  else if (this.getModuleName() === 'dropdownlist') {
3151
- attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
3152
- this.inputElement.setAttribute('aria-label', this.getModuleName());
3257
+ if (!this.targetElement().hasAttribute('aria-label')) {
3258
+ attributes(this.targetElement(), { 'aria-label': this.getModuleName() });
3259
+ }
3260
+ if (!this.inputElement.hasAttribute('aria-label')) {
3261
+ this.inputElement.setAttribute('aria-label', this.getModuleName());
3262
+ }
3153
3263
  this.inputElement.setAttribute('aria-expanded', 'false');
3154
3264
  }
3155
3265
  attributes(this.targetElement(), this.getAriaAttributes());
@@ -3175,7 +3285,8 @@ var DropDownList = /** @class */ (function (_super) {
3175
3285
  }
3176
3286
  else if (this.element.tagName === 'SELECT' && this.element.options[0]) {
3177
3287
  var selectElement = this.element;
3178
- this.value = this.allowObjectBinding ? this.getDataByValue(selectElement.options[selectElement.selectedIndex].value) : selectElement.options[selectElement.selectedIndex].value;
3288
+ this.value = this.allowObjectBinding ? this.getDataByValue(selectElement.options[selectElement.selectedIndex].value) :
3289
+ selectElement.options[selectElement.selectedIndex].value;
3179
3290
  this.text = isNullOrUndefined(this.value) ? null : selectElement.options[selectElement.selectedIndex].textContent;
3180
3291
  this.initValue();
3181
3292
  }
@@ -3213,7 +3324,8 @@ var DropDownList = /** @class */ (function (_super) {
3213
3324
  this.updateVirtualizationProperties(this.itemCount, this.allowFiltering);
3214
3325
  }
3215
3326
  this.viewPortInfo.startIndex = this.virtualItemStartIndex = 0;
3216
- this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ? this.viewPortInfo.endIndex : this.itemCount;
3327
+ this.viewPortInfo.endIndex = this.virtualItemEndIndex = this.viewPortInfo.startIndex > 0 ?
3328
+ this.viewPortInfo.endIndex : this.itemCount;
3217
3329
  };
3218
3330
  DropDownList.prototype.getListHeight = function () {
3219
3331
  var listParent = this.createElement('div', {
@@ -3227,7 +3339,8 @@ var DropDownList = /** @class */ (function (_super) {
3227
3339
  listParent.appendChild(item);
3228
3340
  document.body.appendChild(listParent);
3229
3341
  this.virtualListHeight = listParent.getBoundingClientRect().height;
3230
- var listItemHeight = Math.ceil(item.getBoundingClientRect().height);
3342
+ var listItemHeight = Math.ceil(item.getBoundingClientRect().height) +
3343
+ parseInt(window.getComputedStyle(item).marginBottom, 10);
3231
3344
  listParent.remove();
3232
3345
  return listItemHeight;
3233
3346
  };
@@ -3342,7 +3455,9 @@ var DropDownList = /** @class */ (function (_super) {
3342
3455
  EventHandler.add(this.list, 'scroll', this.setFloatingHeader, this);
3343
3456
  }
3344
3457
  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))) {
3458
+ || (!(props.dataSource instanceof DataManager) && props.dataSource.length === 0))) ||
3459
+ ((props.dataSource instanceof DataManager) || (!isNullOrUndefined(props) && Array.isArray(props.dataSource) &&
3460
+ !isNullOrUndefined(oldProps) && Array.isArray(oldProps.dataSource) && props.dataSource.length !== oldProps.dataSource.length))) {
3346
3461
  this.typedString = '';
3347
3462
  this.resetList(this.dataSource);
3348
3463
  }
@@ -3351,16 +3466,17 @@ var DropDownList = /** @class */ (function (_super) {
3351
3466
  }
3352
3467
  };
3353
3468
  DropDownList.prototype.checkCustomValue = function () {
3354
- var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ? getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
3469
+ var currentValue = this.allowObjectBinding && !isNullOrUndefined(this.value) ?
3470
+ getValue((this.fields.value) ? this.fields.value : '', this.value) : this.value;
3355
3471
  this.itemData = this.getDataByValue(currentValue);
3356
3472
  var dataItem = this.getItemData();
3357
3473
  var value = this.allowObjectBinding ? this.itemData : dataItem.value;
3358
3474
  var index = isNullOrUndefined(value) ? null : this.index;
3359
- if (isNullOrUndefined(index) && (currentValue == value)) {
3360
- this.setProperties({ 'text': dataItem.text, 'value': value });
3475
+ if ((isNullOrUndefined(index) && (currentValue === value)) || this.isAngular) {
3476
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'value': value });
3361
3477
  }
3362
3478
  else {
3363
- this.setProperties({ 'text': dataItem.text, 'index': index, 'value': value });
3479
+ this.setProperties({ 'text': dataItem.text ? dataItem.text.toString() : dataItem.text, 'index': index, 'value': value });
3364
3480
  }
3365
3481
  };
3366
3482
  DropDownList.prototype.updateInputFields = function () {
@@ -3378,8 +3494,8 @@ var DropDownList = /** @class */ (function (_super) {
3378
3494
  */
3379
3495
  DropDownList.prototype.onPropertyChanged = function (newProp, oldProp) {
3380
3496
  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)) {
3497
+ if (!isNullOrUndefined(newProp.dataSource) && !this.isTouched && (isNullOrUndefined(newProp.value) &&
3498
+ isNullOrUndefined(newProp.index)) && !isNullOrUndefined(this.preselectedIndex) && !isNullOrUndefined(this.index)) {
3383
3499
  newProp.index = this.index;
3384
3500
  }
3385
3501
  if (!isNullOrUndefined(newProp.value) || !isNullOrUndefined(newProp.index)) {
@@ -3439,8 +3555,8 @@ var DropDownList = /** @class */ (function (_super) {
3439
3555
  if (this_1.enableVirtualization) {
3440
3556
  this_1.updateValues();
3441
3557
  this_1.updateInputFields();
3442
- this_1.notify("setCurrentViewDataAsync", {
3443
- module: "VirtualScroll",
3558
+ this_1.notify('setCurrentViewDataAsync', {
3559
+ module: 'VirtualScroll'
3444
3560
  });
3445
3561
  break;
3446
3562
  }
@@ -3490,14 +3606,15 @@ var DropDownList = /** @class */ (function (_super) {
3490
3606
  this_1.clearAll();
3491
3607
  break;
3492
3608
  }
3493
- if (this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) && !isNullOrUndefined(oldProp.value) && this_1.isObjectInArray(newProp.value, [oldProp.value])) {
3609
+ if (this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) && !isNullOrUndefined(oldProp.value) &&
3610
+ this_1.isObjectInArray(newProp.value, [oldProp.value])) {
3494
3611
  return { value: void 0 };
3495
3612
  }
3496
3613
  if (this_1.enableVirtualization) {
3497
3614
  this_1.updateValues();
3498
3615
  this_1.updateInputFields();
3499
- this_1.notify("setCurrentViewDataAsync", {
3500
- module: "VirtualScroll",
3616
+ this_1.notify('setCurrentViewDataAsync', {
3617
+ module: 'VirtualScroll'
3501
3618
  });
3502
3619
  this_1.preventChange = this_1.isAngular && this_1.preventChange ? !this_1.preventChange : this_1.preventChange;
3503
3620
  break;
@@ -3510,7 +3627,8 @@ var DropDownList = /** @class */ (function (_super) {
3510
3627
  this_1.renderList();
3511
3628
  }
3512
3629
  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;
3630
+ var value = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
3631
+ getValue((this_1.fields.value) ? this_1.fields.value : '', newProp.value) : newProp.value;
3514
3632
  var item = this_1.getElementByValue(value);
3515
3633
  if (!this_1.checkValidLi(item)) {
3516
3634
  if (this_1.liCollections && this_1.liCollections.length === 100 &&
@@ -3521,8 +3639,9 @@ var DropDownList = /** @class */ (function (_super) {
3521
3639
  var listLength_2 = this_1.getItems().length;
3522
3640
  var checkField = isNullOrUndefined(this_1.fields.value) ? this_1.fields.text : this_1.fields.value;
3523
3641
  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)))
3642
+ var value_3 = this_1.allowObjectBinding && !isNullOrUndefined(newProp.value) ?
3643
+ getValue(checkField, newProp.value) : newProp.value;
3644
+ this_1.dataSource.executeQuery(this_1.getQuery(this_1.query).where(new Predicate(checkField, 'equal', value_3)))
3526
3645
  .then(function (e) {
3527
3646
  if (e.result.length > 0) {
3528
3647
  _this.addItem(e.result, listLength_2);
@@ -3600,7 +3719,8 @@ var DropDownList = /** @class */ (function (_super) {
3600
3719
  case 'floatLabelType':
3601
3720
  Input.removeFloating(this_1.inputWrapper);
3602
3721
  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') {
3722
+ if (!isNullOrUndefined(this_1.inputWrapper.buttons[0]) &&
3723
+ this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0] && this_1.floatLabelType !== 'Never') {
3604
3724
  this_1.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
3605
3725
  }
3606
3726
  break;
@@ -3646,7 +3766,8 @@ var DropDownList = /** @class */ (function (_super) {
3646
3766
  }
3647
3767
  else if (prop === 'value') {
3648
3768
  var fields = (_this.fields.value) ? _this.fields.value : '';
3649
- var value = _this.allowObjectBinding && !isNullOrUndefined(newProp) ? getValue(fields, newProp) : newProp;
3769
+ var value = _this.allowObjectBinding && !isNullOrUndefined(newProp) ?
3770
+ getValue(fields, newProp) : newProp;
3650
3771
  li = _this.getElementByValue(newProp);
3651
3772
  if (!_this.checkValidLi(li)) {
3652
3773
  _this.setOldValue(oldProp);
@@ -3674,7 +3795,7 @@ var DropDownList = /** @class */ (function (_super) {
3674
3795
  removeClass([this.inputWrapper.container], ['e-readonly']);
3675
3796
  }
3676
3797
  };
3677
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3798
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-empty-function
3678
3799
  DropDownList.prototype.setInputValue = function (newProp, oldProp) {
3679
3800
  };
3680
3801
  DropDownList.prototype.setCssClass = function (newClass, oldClass) {
@@ -3740,18 +3861,19 @@ var DropDownList = /** @class */ (function (_super) {
3740
3861
  this.removeHover();
3741
3862
  }
3742
3863
  if (!this.beforePopupOpen) {
3743
- this.notify("setCurrentViewDataAsync", {
3744
- module: "VirtualScroll",
3864
+ this.notify('setCurrentViewDataAsync', {
3865
+ module: 'VirtualScroll'
3745
3866
  });
3746
3867
  }
3747
3868
  }
3748
3869
  if (this.beforePopupOpen) {
3749
3870
  this.invokeRenderPopup(e);
3750
3871
  }
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,
3872
+ if (this.enableVirtualization && !this.allowFiltering && this.selectedValueInfo != null &&
3873
+ this.selectedValueInfo.startIndex > 0 && this.value != null) {
3874
+ this.notify('dataProcessAsync', {
3875
+ module: 'VirtualScroll',
3876
+ isOpen: true
3755
3877
  });
3756
3878
  }
3757
3879
  };
@@ -3999,7 +4121,7 @@ var DropDownList = /** @class */ (function (_super) {
3999
4121
  element: this.inputElement,
4000
4122
  floatLabelType: this.floatLabelType,
4001
4123
  properties: this.properties,
4002
- buttons: this.inputWrapper.container.querySelectorAll('.e-input-group-icon')[0],
4124
+ buttons: this.inputWrapper.container.querySelectorAll('.e-input-group-icon')[0]
4003
4125
  }, this.clearButton);
4004
4126
  this.clearButton = null;
4005
4127
  this.inputElement = null;
@@ -4081,6 +4203,9 @@ var DropDownList = /** @class */ (function (_super) {
4081
4203
  __decorate([
4082
4204
  Property(false)
4083
4205
  ], DropDownList.prototype, "allowFiltering", void 0);
4206
+ __decorate([
4207
+ Property(true)
4208
+ ], DropDownList.prototype, "isDeviceFullScreen", void 0);
4084
4209
  __decorate([
4085
4210
  Property(false)
4086
4211
  ], DropDownList.prototype, "readonly", void 0);