@syncfusion/ej2-dropdowns 26.2.11 → 27.1.48

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