@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
@@ -429,11 +429,12 @@ var ListBox = /** @class */ (function (_super) {
429
429
  }
430
430
  if (this.allowFiltering) {
431
431
  filterElem = this.list.getElementsByClassName('e-input-filter')[0];
432
+ if (isNullOrUndefined(filterElem)) {
433
+ return;
434
+ }
432
435
  filterElem.selectionStart = txtLength;
433
436
  filterElem.selectionEnd = txtLength;
434
- if (filterElem.value !== '') {
435
- filterElem.focus();
436
- }
437
+ filterElem.focus();
437
438
  }
438
439
  }
439
440
  if (this.toolbarSettings.items.length && this.scope && this.scope.indexOf('#') > -1 && !isNullOrUndefined(e)) {
@@ -543,7 +544,7 @@ var ListBox = /** @class */ (function (_super) {
543
544
  }
544
545
  extend(items, args.items);
545
546
  this.trigger('beforeDrop', args);
546
- if (args.items !== items) {
547
+ if (JSON.stringify(args.items) !== JSON.stringify(items)) {
547
548
  this.customDraggedItem = args.items;
548
549
  }
549
550
  };
@@ -878,36 +879,47 @@ var ListBox = /** @class */ (function (_super) {
878
879
  * @returns {void}.
879
880
  */
880
881
  ListBox.prototype.removeItem = function (items, itemIndex) {
882
+ var _this = this;
881
883
  var liCollections = [];
882
884
  var liElement = this.list.querySelectorAll('.' + dropDownBaseClasses.li);
883
885
  if (items) {
884
886
  items = (items instanceof Array ? items : [items]);
885
887
  var fields = this.fields;
886
888
  var dataValue = void 0;
887
- var objValue = {};
889
+ var objValue = void 0;
888
890
  var dupData = [];
891
+ var itemIdx = void 0;
889
892
  extend(dupData, [], this.jsonData);
890
893
  var removeIdxes = [];
891
894
  var removeLiIdxes = [];
892
- for (var i = 0; i < dupData.length; i++) {
893
- var value = (dupData[i] instanceof Object) ? dupData[i][fields.value] : dupData[i].toString();
894
- objValue[value] = i;
895
- }
896
895
  for (var j = 0; j < items.length; j++) {
897
- dataValue = (items[j] instanceof Object) ? items[j][fields.value] : items[j].toString();
898
- if (objValue.hasOwnProperty(dataValue)) {
899
- var idx = objValue[dataValue];
900
- liCollections.push(liElement[idx]);
901
- removeIdxes.push(idx);
902
- removeLiIdxes.push(idx);
896
+ if (items[j] instanceof Object) {
897
+ dataValue = getValue(fields.value, items[j]);
898
+ }
899
+ else {
900
+ dataValue = items[j].toString();
901
+ }
902
+ for (var i = 0, len = dupData.length; i < len; i++) {
903
+ if (dupData[i] instanceof Object) {
904
+ objValue = getValue(fields.value, dupData[i]);
905
+ }
906
+ else {
907
+ objValue = dupData[i].toString();
908
+ }
909
+ if (objValue === dataValue) {
910
+ itemIdx = this.getIndexByValue(dataValue);
911
+ var idx = itemIdx === i ? itemIdx : i;
912
+ liCollections.push(liElement[idx]);
913
+ removeIdxes.push(idx);
914
+ removeLiIdxes.push(idx);
915
+ }
903
916
  }
904
917
  }
905
- for (var k = removeIdxes.length - 1; k >= 0; k--) {
906
- this.listData.splice(removeIdxes[k], 1);
907
- }
908
- for (var k = removeIdxes.length - 1; k >= 0; k--) {
909
- this.jsonData.splice(removeIdxes[k], 1);
910
- }
918
+ var validRemoveIdxes = removeIdxes.sort(function (a, b) { return b - a; });
919
+ validRemoveIdxes.forEach(function (idx) {
920
+ _this.listData.splice(idx, 1);
921
+ _this.jsonData.splice(idx, 1);
922
+ });
911
923
  for (var k = removeLiIdxes.length - 1; k >= 0; k--) {
912
924
  this.updateLiCollection(removeLiIdxes[k]);
913
925
  }
@@ -1005,6 +1017,7 @@ var ListBox = /** @class */ (function (_super) {
1005
1017
  * @returns {void}
1006
1018
  */
1007
1019
  ListBox.prototype.moveAllTo = function (targetId, index) {
1020
+ this.toolbarAction = 'moveAllTo';
1008
1021
  if (this.listData.length > 0) {
1009
1022
  var tlistbox = (targetId) ? getComponent(targetId, ListBox_1) : this.getScopedListBox();
1010
1023
  this.moveAllData(this, tlistbox, false, index);
@@ -1551,6 +1564,7 @@ var ListBox = /** @class */ (function (_super) {
1551
1564
  var item = _a[_i];
1552
1565
  if (!isNullOrUndefined(item)) {
1553
1566
  var key = fListBox.getFormattedValue(getValue((fListBox.fields.value ? fListBox.fields.value : 'value'), item));
1567
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1554
1568
  listDataMap_1[key] = item;
1555
1569
  }
1556
1570
  }
@@ -1717,24 +1731,33 @@ var ListBox = /** @class */ (function (_super) {
1717
1731
  var childNode = childNodes[i];
1718
1732
  if (childNode.classList.contains('e-disabled')) {
1719
1733
  tempLiColl.push(childNode);
1720
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1721
- tempData.push(fListBox.listData[i]);
1734
+ if (this.sortOrder != null) {
1735
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1736
+ tempData.push(fListBox.sortedData[i]);
1737
+ }
1738
+ else {
1739
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1740
+ tempData.push(fListBox.listData[i]);
1741
+ }
1722
1742
  }
1723
1743
  else {
1724
1744
  newFlistboxArray.push(i);
1725
1745
  }
1726
1746
  }
1727
1747
  flistboxarray = newFlistboxArray;
1728
- if (!isRefresh) {
1729
- moveTo(fListBox.ulElement, tListBox.ulElement, flistboxarray, index);
1730
- fListBox.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
1731
- }
1748
+ moveTo(fListBox.ulElement, tListBox.ulElement, flistboxarray, index);
1749
+ this.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
1732
1750
  if (isKey) {
1733
1751
  this.list.focus();
1734
1752
  }
1735
1753
  index = (index) ? index : listData.length;
1736
1754
  for (var i = 0; i < flistboxarray.length; i++) {
1737
- listData.splice(index + i, 0, fListBox.listData[flistboxarray[i]]);
1755
+ if (this.sortOrder != null) {
1756
+ listData.splice(index + i, 0, fListBox.sortedData[flistboxarray[i]]);
1757
+ }
1758
+ else {
1759
+ listData.splice(index + i, 0, fListBox.listData[flistboxarray[i]]);
1760
+ }
1738
1761
  }
1739
1762
  for (var i = 0; i < flistboxarray.length; i++) {
1740
1763
  jsonData.splice(index + i, 0, fListBox.jsonData[flistboxarray[i]]);
@@ -1772,6 +1795,17 @@ var ListBox = /** @class */ (function (_super) {
1772
1795
  fListBox.listData = fListBox.sortedData = fListBox.jsonData = tempData;
1773
1796
  }
1774
1797
  else if (fListBox.allowFiltering) {
1798
+ if (tempLiColl.length > 0) {
1799
+ var disabledData_1 = [];
1800
+ for (var i = 0; i < tempLiColl.length; i++) {
1801
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1802
+ disabledData_1.push(this.getDataByValue(tempLiColl[i].getAttribute('data-value')));
1803
+ }
1804
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1805
+ fListBox.listData = fListBox.listData.filter(function (obj1) {
1806
+ return !disabledData_1.some(function (obj2) { return obj1 === obj2; });
1807
+ });
1808
+ }
1775
1809
  for (var i = 0; i < fListBox.listData.length; i++) {
1776
1810
  for (var j = 0; j < fListBox.jsonData.length; j++) {
1777
1811
  if (fListBox.listData[i] === fListBox.jsonData[j]) {
@@ -1783,8 +1817,9 @@ var ListBox = /** @class */ (function (_super) {
1783
1817
  }
1784
1818
  if (isRefresh) {
1785
1819
  var sourceElem = tListBox.renderItems(listData, tListBox.fields);
1786
- tListBox.updateListItems(sourceElem, tListBox.ulElement);
1787
- fListBox.trigger('actionComplete', { items: tempItems, eventName: this.toolbarAction });
1820
+ if (!this.itemTemplate) {
1821
+ tListBox.updateListItems(sourceElem, tListBox.ulElement);
1822
+ }
1788
1823
  }
1789
1824
  else {
1790
1825
  tListBox.sortedData = listData;
@@ -1795,7 +1830,7 @@ var ListBox = /** @class */ (function (_super) {
1795
1830
  var btn = wrap.querySelector('[data-value="' + this.toolbarAction + '"]');
1796
1831
  btn.disabled = true;
1797
1832
  }
1798
- if (fListBox.listData.length === 0) {
1833
+ if (fListBox.listData.length === 0 && tempLiColl.length === 0) {
1799
1834
  fListBox.l10nUpdate();
1800
1835
  }
1801
1836
  };
@@ -2044,12 +2079,12 @@ var ListBox = /** @class */ (function (_super) {
2044
2079
  };
2045
2080
  ListBox.prototype.targetElement = function () {
2046
2081
  this.targetInputElement = this.list.getElementsByClassName('e-input-filter')[0];
2047
- return this.targetInputElement.value;
2082
+ return isNullOrUndefined(this.targetInputElement) ? null : this.targetInputElement.value;
2048
2083
  };
2049
2084
  ListBox.prototype.dataUpdater = function (dataSource, query, fields) {
2050
2085
  this.isDataFetched = false;
2051
2086
  var backCommand = true;
2052
- if (this.targetElement().trim() === '') {
2087
+ if (this.targetElement() && this.targetElement().trim() === '') {
2053
2088
  var list = this.mainList.cloneNode ? this.mainList.cloneNode(true) : this.mainList;
2054
2089
  if (backCommand) {
2055
2090
  this.remoteCustomValue = false;
@@ -2207,6 +2242,9 @@ var ListBox = /** @class */ (function (_super) {
2207
2242
  ListBox.prototype.updateSelectTag = function () {
2208
2243
  var ele = this.getSelectTag();
2209
2244
  var innerHTML = '';
2245
+ if (isNullOrUndefined(ele)) {
2246
+ return;
2247
+ }
2210
2248
  ele.innerHTML = '';
2211
2249
  if (this.value) {
2212
2250
  for (var i = 0, len = this.value.length; i < len; i++) {
@@ -2419,9 +2457,7 @@ var ListBox = /** @class */ (function (_super) {
2419
2457
  this.initDraggable();
2420
2458
  }
2421
2459
  else {
2422
- if (this.ulElement.classList.contains("e-sortable")) {
2423
- getComponent(this.ulElement, 'sortable').destroy();
2424
- }
2460
+ getComponent(this.ulElement, 'sortable').destroy();
2425
2461
  }
2426
2462
  break;
2427
2463
  case 'allowFiltering':
@@ -448,6 +448,14 @@ export declare class Mention extends DropDownBase {
448
448
  * @returns {void}
449
449
  */
450
450
  search(text: string, positionX: number, positionY: number): void;
451
+ /**
452
+ * Method to disable specific item in the popup.
453
+ *
454
+ * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.
455
+ * @returns {void}
456
+
457
+ */
458
+ disableItem(item: string | number | object | HTMLLIElement): void;
451
459
  /**
452
460
  * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
453
461
  *
@@ -48,7 +48,6 @@ var Mention = /** @class */ (function (_super) {
48
48
  * @private
49
49
  * @returns {void}
50
50
  */
51
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
52
51
  Mention.prototype.onPropertyChanged = function (newProp, oldProp) {
53
52
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
54
53
  var prop = _a[_i];
@@ -350,7 +349,7 @@ var Mention = /** @class */ (function (_super) {
350
349
  }
351
350
  this.isTyped = e.code !== 'Enter' && e.code !== 'Space' && e.code !== 'ArrowDown' && e.code !== 'ArrowUp' ? true : false;
352
351
  var isRteImage = document.activeElement.parentElement && document.activeElement.parentElement.querySelector('.e-rte-image') ? true : false;
353
- if (document.activeElement != this.inputElement && !isRteImage) {
352
+ if (document.activeElement !== this.inputElement && !isRteImage) {
354
353
  this.inputElement.focus();
355
354
  }
356
355
  if (this.isContentEditable(this.inputElement)) {
@@ -361,12 +360,12 @@ var Mention = /** @class */ (function (_super) {
361
360
  var lastWordRange = this.getLastLetter(currentRange);
362
361
  var lastTwoLetters = this.mentionChar.toString() + this.mentionChar.toString();
363
362
  // eslint-disable-next-line security/detect-non-literal-regexp
364
- var Regex = new RegExp(this.mentionChar.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
363
+ var Regex = new RegExp(this.mentionChar.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'), 'g');
365
364
  var charRegex = new RegExp('[a-zA-Z]', 'g');
366
365
  if (e.key === 'Shift' || e.keyCode === 37 || e.keyCode === 39) {
367
366
  return;
368
367
  }
369
- if (this.beforePopupOpen && this.isPopupOpen && lastWordRange == lastTwoLetters) {
368
+ if (this.beforePopupOpen && this.isPopupOpen && lastWordRange === lastTwoLetters) {
370
369
  this.hidePopup();
371
370
  return;
372
371
  }
@@ -398,7 +397,8 @@ var Mention = /** @class */ (function (_super) {
398
397
  if (!this.isContentEditable(this.inputElement)) {
399
398
  this.showPopup();
400
399
  }
401
- else if (this.isContentEditable(this.inputElement) && this.range && this.range.startContainer !== this.inputElement && e.keyCode !== 9) {
400
+ else if (this.isContentEditable(this.inputElement) && this.range &&
401
+ this.range.startContainer !== this.inputElement && e.keyCode !== 9) {
402
402
  this.showPopup();
403
403
  }
404
404
  }
@@ -423,7 +423,8 @@ var Mention = /** @class */ (function (_super) {
423
423
  }
424
424
  }
425
425
  else if (this.allowSpaces && this.queryString !== '' && currentRange && currentRange.trim() !== '' && currentRange.replace('\u00a0', ' ').lastIndexOf(' ') < currentRange.length - 1 &&
426
- e.keyCode !== 38 && e.keyCode !== 40 && e.keyCode !== 8 && (this.mentionChar.charCodeAt(0) === lastWordRange.charCodeAt(0) || (this.liCollections && this.liCollections.length > 0))) {
426
+ e.keyCode !== 38 && e.keyCode !== 40 && e.keyCode !== 8 && (this.mentionChar.charCodeAt(0) === lastWordRange.charCodeAt(0) ||
427
+ (this.liCollections && this.liCollections.length > 0))) {
427
428
  this.queryString = currentRange.substring(currentRange.lastIndexOf(this.mentionChar) + 1).replace('\u00a0', ' ');
428
429
  this.searchLists(e);
429
430
  }
@@ -504,6 +505,10 @@ var Mention = /** @class */ (function (_super) {
504
505
  if (this.isActive) {
505
506
  if (!isNullOrUndefined(ulElement)) {
506
507
  attributes(ulElement, { 'id': this.inputElement.id + '_options', 'role': 'listbox', 'aria-hidden': 'false' });
508
+ var isRTESlashMenuPopup = this.isRTE && this.cssClass && this.cssClass.indexOf('e-slash-menu') > -1;
509
+ if (isRTESlashMenuPopup) {
510
+ ulElement.id = this.inputElement.id + '_slash_menu_options';
511
+ }
507
512
  }
508
513
  var focusItem = this.fields.disabled ? ulElement.querySelector('.' + dropDownBaseClasses.li + ':not(.e-disabled)') : ulElement.querySelector('.' + dropDownBaseClasses.li);
509
514
  if (focusItem) {
@@ -632,7 +637,7 @@ var Mention = /** @class */ (function (_super) {
632
637
  if (isNullOrUndefined(text)) {
633
638
  return '';
634
639
  }
635
- var textValue = text.replace(/\u00A0/g, ' ');
640
+ var textValue = text.indexOf('\u200B') > -1 ? text.replace(/\u200B/g, '').replace(/\u00A0/g, ' ') : text.replace(/\u00A0/g, ' ');
636
641
  var words = textValue.split(/\s+/);
637
642
  var wordCnt = words.length - 1;
638
643
  return words[wordCnt].trim();
@@ -647,7 +652,7 @@ var Mention = /** @class */ (function (_super) {
647
652
  */
648
653
  Mention.prototype.showPopup = function () {
649
654
  this.beforePopupOpen = true;
650
- if (document.activeElement != this.inputElement) {
655
+ if (document.activeElement !== this.inputElement) {
651
656
  this.inputElement.focus();
652
657
  }
653
658
  this.queryString = this.didPopupOpenByTypingInitialChar ? this.queryString : '';
@@ -721,8 +726,14 @@ var Mention = /** @class */ (function (_super) {
721
726
  addClass([popupEle_1], _this.cssClass.split(' '));
722
727
  }
723
728
  }
724
- if (!isNullOrUndefined(_this.target)) {
725
- popupEle_1.id = _this.inputElement.id + '_popup';
729
+ var isRTESlashMenuPopup = _this.isRTE && _this.cssClass && _this.cssClass.indexOf('e-slash-menu') > -1;
730
+ if (isRTESlashMenuPopup) {
731
+ popupEle_1.id = _this.inputElement.id + '_slash_menu_popup';
732
+ }
733
+ else {
734
+ if (!isNullOrUndefined(_this.target)) {
735
+ popupEle_1.id = _this.inputElement.id + '_popup';
736
+ }
726
737
  }
727
738
  _this.listHeight = formatUnit(_this.popupHeight);
728
739
  if (!isNullOrUndefined(_this.list.querySelector('li')) && !_this.initRemoteRender) {
@@ -788,15 +799,15 @@ var Mention = /** @class */ (function (_super) {
788
799
  }
789
800
  else if (_this.collision && _this.collision.length > 0 && _this.collision.indexOf('bottom') > -1 && _this.collision.indexOf('right') === -1) {
790
801
  popupEle_1.style.left = formatUnit(coordinates_1.left);
791
- popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(popupHeight_1.toString()));
802
+ popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(popupHeight_1.toString(), 10));
792
803
  }
793
804
  else if (_this.collision && _this.collision.length > 0 && _this.collision.indexOf('bottom') > -1 && _this.collision.indexOf('right') > -1) {
794
805
  popupEle_1.style.left = formatUnit(popupLeft_1);
795
- popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(popupHeight_1.toString()));
806
+ popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(popupHeight_1.toString(), 10));
796
807
  }
797
808
  else {
798
809
  popupEle_1.style.left = formatUnit(coordinates_1.left);
799
- popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(_this.popupHeight.toString()));
810
+ popupEle_1.style.top = formatUnit(coordinates_1.top - parseInt(_this.popupHeight.toString(), 10));
800
811
  }
801
812
  _this.isCollided = false;
802
813
  _this.collision = [];
@@ -937,7 +948,8 @@ var Mention = /** @class */ (function (_super) {
937
948
  }
938
949
  this.isTyped = false;
939
950
  range.collapse(false);
940
- rect = range.getBoundingClientRect().top === 0 ? range.startContainer.getClientRects()[0] : range.getBoundingClientRect();
951
+ rect = range.getBoundingClientRect().top === 0 ? range.startContainer.getClientRects()[0] :
952
+ range.getBoundingClientRect();
941
953
  }
942
954
  var rectTop = rect.top;
943
955
  var rectLeft = rect.left;
@@ -963,7 +975,7 @@ var Mention = /** @class */ (function (_super) {
963
975
  width += this.range.startContainer.childNodes[i].getClientRects()[0].width;
964
976
  }
965
977
  else if (this.range.startContainer.childNodes[i].textContent !== '') {
966
- var span_1 = document.createElement("span");
978
+ var span_1 = document.createElement('span');
967
979
  span_1.innerHTML = this.range.startContainer.childNodes[i].nodeValue;
968
980
  document.body.appendChild(span_1);
969
981
  var textNodeWidth = span_1.offsetWidth;
@@ -975,7 +987,8 @@ var Mention = /** @class */ (function (_super) {
975
987
  if (!this.isContentEditable(this.inputElement)) {
976
988
  coordinates = {
977
989
  top: rectTop + windowTop + span.offsetTop + parseInt(computed.borderTopWidth, 10) +
978
- parseInt(computed.fontSize, 10) + 3 - element.scrollTop - (this.isCollided ? 10 : 0),
990
+ parseInt(computed.fontSize, 10) + 3 - element.scrollTop -
991
+ (this.isCollided ? 10 : 0),
979
992
  left: rectLeft + windowLeft + span.offsetLeft + parseInt(computed.borderLeftWidth, 10)
980
993
  };
981
994
  document.body.removeChild(div);
@@ -1059,7 +1072,7 @@ var Mention = /** @class */ (function (_super) {
1059
1072
  this.removeHover();
1060
1073
  var value = this.getFormattedValue(li.getAttribute('data-value'));
1061
1074
  var selectedData = this.getDataByValue(value);
1062
- if (!preventSelect && !isNullOrUndefined(e) && !(e.action === "down" || e.action === "up")) {
1075
+ if (!preventSelect && !isNullOrUndefined(e) && !(e.action === 'down' || e.action === 'up')) {
1063
1076
  var items = this.detachChanges(selectedData);
1064
1077
  this.isSelected = true;
1065
1078
  var eventArgs = {
@@ -1219,14 +1232,13 @@ var Mention = /** @class */ (function (_super) {
1219
1232
  };
1220
1233
  Mention.prototype.updateMentionValue = function (e) {
1221
1234
  var dataItem = this.getItemData();
1222
- var textSuffix;
1235
+ var textSuffix = typeof this.suffixText === 'string' ? this.suffixText : '';
1223
1236
  var value;
1224
1237
  var endPos;
1225
1238
  var range;
1226
1239
  var globalRange;
1227
1240
  var selection = this.inputElement.ownerDocument.getSelection();
1228
1241
  var startPos = this.getTriggerCharPosition();
1229
- textSuffix = typeof this.suffixText === 'string' ? this.suffixText : '';
1230
1242
  if (this.isSelectCancel) {
1231
1243
  this.isSelectCancel = false;
1232
1244
  return;
@@ -1255,7 +1267,8 @@ var Mention = /** @class */ (function (_super) {
1255
1267
  }
1256
1268
  globalRange = this.range;
1257
1269
  range = document.createRange();
1258
- if (((this.getTextRange() && this.getTextRange().lastIndexOf(this.mentionChar) !== -1) || this.getTextRange() && this.getTextRange().trim() === this.mentionChar)) {
1270
+ if (((this.getTextRange() && this.getTextRange().lastIndexOf(this.mentionChar) !== -1) || this.getTextRange() &&
1271
+ this.getTextRange().trim() === this.mentionChar)) {
1259
1272
  range.setStart(globalRange.startContainer, startPos);
1260
1273
  range.setEnd(globalRange.startContainer, endPos);
1261
1274
  }
@@ -1303,7 +1316,6 @@ var Mention = /** @class */ (function (_super) {
1303
1316
  var event_1 = new CustomEvent('content-changed', { detail: { click: true } });
1304
1317
  this.inputElement.dispatchEvent(event_1);
1305
1318
  }
1306
- ;
1307
1319
  this.onChangeEvent(e);
1308
1320
  }
1309
1321
  };
@@ -1326,7 +1338,6 @@ var Mention = /** @class */ (function (_super) {
1326
1338
  };
1327
1339
  Mention.prototype.setDisplayTemplate = function (e) {
1328
1340
  var _this = this;
1329
- var compiledString;
1330
1341
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1331
1342
  if (this.isReact) {
1332
1343
  this.clearTemplate(['displayTemplate']);
@@ -1342,7 +1353,7 @@ var Mention = /** @class */ (function (_super) {
1342
1353
  if (!this.isReact) {
1343
1354
  this.displayTempElement.innerHTML = '';
1344
1355
  }
1345
- compiledString = compile(this.displayTemplate);
1356
+ var compiledString = compile(this.displayTemplate);
1346
1357
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1347
1358
  var displayCompTemp = compiledString(this.itemData, this, 'displayTemplate', this.displayTemplateId, this.isStringTemplate, null, this.displayTempElement);
1348
1359
  if (displayCompTemp && displayCompTemp.length > 0) {
@@ -1364,7 +1375,6 @@ var Mention = /** @class */ (function (_super) {
1364
1375
  };
1365
1376
  Mention.prototype.setSpinnerTemplate = function () {
1366
1377
  var _this = this;
1367
- var compiledString;
1368
1378
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1369
1379
  if (this.isReact) {
1370
1380
  this.clearTemplate(['spinnerTemplate']);
@@ -1380,7 +1390,7 @@ var Mention = /** @class */ (function (_super) {
1380
1390
  if (!this.isReact) {
1381
1391
  this.spinnerTemplateElement.innerHTML = '';
1382
1392
  }
1383
- compiledString = compile(this.spinnerTemplate);
1393
+ var compiledString = compile(this.spinnerTemplate);
1384
1394
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1385
1395
  var spinnerCompTemp = compiledString(null, this, 'spinnerTemplate', this.spinnerTemplateId, this.isStringTemplate, null, this.spinnerTemplateElement);
1386
1396
  if (spinnerCompTemp && spinnerCompTemp.length > 0) {
@@ -1533,6 +1543,59 @@ var Mention = /** @class */ (function (_super) {
1533
1543
  this.popupObj.element.style.left = formatUnit(positionX);
1534
1544
  this.popupObj.element.style.top = formatUnit(positionY);
1535
1545
  };
1546
+ /**
1547
+ * Method to disable specific item in the popup.
1548
+ *
1549
+ * @param {string | number | object | HTMLLIElement} item - Specifies the item to be disabled.
1550
+ * @returns {void}
1551
+
1552
+ */
1553
+ Mention.prototype.disableItem = function (item) {
1554
+ if (this.fields.disabled) {
1555
+ if (!this.list) {
1556
+ this.renderList();
1557
+ }
1558
+ var itemIndex = -1;
1559
+ if (this.liCollections && this.liCollections.length > 0 && this.listData && this.fields.disabled) {
1560
+ if (typeof (item) === 'string') {
1561
+ itemIndex = this.getIndexByValue(item);
1562
+ }
1563
+ else if (typeof item === 'object') {
1564
+ if (item instanceof HTMLLIElement) {
1565
+ for (var index = 0; index < this.liCollections.length; index++) {
1566
+ if (this.liCollections[index] === item) {
1567
+ itemIndex = this.getIndexByValue(item.getAttribute('data-value'));
1568
+ break;
1569
+ }
1570
+ }
1571
+ }
1572
+ else {
1573
+ var value = JSON.parse(JSON.stringify(item))[this.fields.value];
1574
+ for (var index = 0; index < this.listData.length; index++) {
1575
+ if (JSON.parse(JSON.stringify(this.listData[index]))[this.fields.value] === value) {
1576
+ itemIndex = this.getIndexByValue(value);
1577
+ break;
1578
+ }
1579
+ }
1580
+ }
1581
+ }
1582
+ else {
1583
+ itemIndex = item;
1584
+ }
1585
+ var isValidIndex = itemIndex < this.liCollections.length && itemIndex > -1;
1586
+ if (isValidIndex && !(JSON.parse(JSON.stringify(this.listData[itemIndex]))[this.fields.disabled])) {
1587
+ var li = this.liCollections[itemIndex];
1588
+ if (li) {
1589
+ this.disableListItem(li);
1590
+ var parsedData = JSON.parse(JSON.stringify(this.listData[itemIndex]));
1591
+ parsedData[this.fields.disabled] = true;
1592
+ this.listData[itemIndex] = parsedData;
1593
+ this.dataSource = this.listData;
1594
+ }
1595
+ }
1596
+ }
1597
+ }
1598
+ };
1536
1599
  /**
1537
1600
  * Removes the component from the DOM and detaches all its related event handlers. Also it removes the attributes and classes.
1538
1601
  *
@@ -203,7 +203,8 @@ var CheckBoxSelection = /** @class */ (function () {
203
203
  };
204
204
  CheckBoxSelection.prototype.clickHandler = function (e) {
205
205
  var target;
206
- if (e.currentTarget.classList.contains(this.checkAllParent.className) || (e.currentTarget.classList.value === this.checkAllParent.className)) {
206
+ if (e.currentTarget.classList.contains(this.checkAllParent.className) ||
207
+ (e.currentTarget.classList.value === this.checkAllParent.className)) {
207
208
  target = e.currentTarget.firstElementChild.lastElementChild;
208
209
  }
209
210
  else {
@@ -258,7 +259,7 @@ var CheckBoxSelection = /** @class */ (function () {
258
259
  });
259
260
  this.parent.element.parentNode.insertBefore(this.filterInput, this.parent.element);
260
261
  var backIcon = false;
261
- if (Browser.isDevice) {
262
+ if (Browser.isDevice && this.parent.isDeviceFullScreen) {
262
263
  backIcon = true;
263
264
  this.parent.mobFilter = false;
264
265
  }
@@ -73,4 +73,5 @@ export interface IMulitSelect extends Component<HTMLElement> {
73
73
  isDynamicDataChange?: boolean;
74
74
  search?(e: KeyboardEventArgs): void;
75
75
  allowFiltering?: boolean;
76
+ isDeviceFullScreen: boolean;
76
77
  }
@@ -1,4 +1,4 @@
1
- import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { isCollide, Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue, SanitizeHtmlHelper, getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor, DataOptions } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
1
+ import { DropDownBase, SelectEventArgs, dropDownBaseClasses, PopupEventArgs, FilteringEventArgs } from '../drop-down-base/drop-down-base';import { FocusEventArgs, BeforeOpenEventArgs, FilterType, FieldSettings, ResultData } from '../drop-down-base/drop-down-base';import { FieldSettingsModel } from '../drop-down-base/drop-down-base-model';import { isCollide, Popup, createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { IInput, FloatLabelType, Input } from '@syncfusion/ej2-inputs';import { attributes, setValue , getValue } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, extend } from '@syncfusion/ej2-base';import { EventHandler, Property, Event, compile, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Animation, AnimationModel, Browser, prepend, Complex } from '@syncfusion/ej2-base';import { Search } from '../common/incremental-search';import { append, addClass, removeClass, closest, detach, remove, select, selectAll } from '@syncfusion/ej2-base';import { getUniqueID, formatUnit, isNullOrUndefined, isUndefined, ModuleDeclaration } from '@syncfusion/ej2-base';import { DataManager, Query, Predicate, JsonAdaptor, DataOptions } from '@syncfusion/ej2-data';import { SortOrder } from '@syncfusion/ej2-lists';import { createFloatLabel, removeFloating, floatLabelFocus, floatLabelBlur, encodePlaceholder } from './float-label';
2
2
  import {visualMode,MultiSelectChangeEventArgs,RemoveEventArgs,ISelectAllEventArgs,TaggingEventArgs,CustomValueEventArgs} from "./multi-select";
3
3
  import {DropDownBaseModel} from "../drop-down-base/drop-down-base-model";
4
4
 
@@ -92,7 +92,7 @@ export interface MultiSelectModel extends DropDownBaseModel{
92
92
  enableHtmlSanitizer?: boolean;
93
93
 
94
94
  /**
95
- * Defines whether to enable virtual scrolling in the component.
95
+ * Defines whether to enable virtual scrolling in the component.
96
96
  *
97
97
  * @default false
98
98
  */
@@ -298,6 +298,13 @@ export interface MultiSelectModel extends DropDownBaseModel{
298
298
  */
299
299
  allowFiltering?: boolean;
300
300
 
301
+ /**
302
+ * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
303
+ *
304
+ * @default true
305
+ */
306
+ isDeviceFullScreen?: boolean;
307
+
301
308
  /**
302
309
  * By default, the multiselect component fires the change event while focus out the component.
303
310
  * If you want to fires the change event on every value selection and remove, then disable the changeOnBlur property.
@@ -355,11 +362,11 @@ export interface MultiSelectModel extends DropDownBaseModel{
355
362
  value?: number[] | string[] | boolean[] | object[] | null ;
356
363
 
357
364
  /**
358
- * Defines whether the object binding is allowed or not in the component.
359
- *
360
- * @default false
361
- */
362
- allowObjectBinding?: boolean;
365
+ * Defines whether the object binding is allowed or not in the component.
366
+ *
367
+ * @default false
368
+ */
369
+ allowObjectBinding?: boolean;
363
370
 
364
371
  /**
365
372
  * Hides the selected item from the list item.
@@ -472,7 +479,7 @@ export interface MultiSelectModel extends DropDownBaseModel{
472
479
  *
473
480
  * @default false
474
481
  */
475
- addTagOnBlur?: boolean;
482
+ addTagOnBlur?: boolean;
476
483
 
477
484
  /**
478
485
  * Fires each time when selection changes happened in list items after model and input value get affected.
@@ -54,6 +54,8 @@ export declare class MultiSelect extends DropDownBase implements IInput {
54
54
  private isRemoteSelection;
55
55
  private isSelectAllTarget;
56
56
  private previousFocusItem;
57
+ private isRemoveSelection;
58
+ private currentRemoveValue;
57
59
  private selectedListData;
58
60
  /**
59
61
  * The `fields` property maps the columns of the data table and binds the data to the component.
@@ -322,6 +324,12 @@ export declare class MultiSelect extends DropDownBase implements IInput {
322
324
  * @default null
323
325
  */
324
326
  allowFiltering: boolean;
327
+ /**
328
+ * Defines whether the popup opens in fullscreen mode on mobile devices when filtering is enabled. When set to false, the popup will display similarly on both mobile and desktop devices.
329
+ *
330
+ * @default true
331
+ */
332
+ isDeviceFullScreen: boolean;
325
333
  /**
326
334
  * By default, the multiselect component fires the change event while focus out the component.
327
335
  * If you want to fires the change event on every value selection and remove, then disable the changeOnBlur property.
@@ -372,10 +380,10 @@ export declare class MultiSelect extends DropDownBase implements IInput {
372
380
  */
373
381
  value: number[] | string[] | boolean[] | object[] | null;
374
382
  /**
375
- * Defines whether the object binding is allowed or not in the component.
376
- *
377
- * @default false
378
- */
383
+ * Defines whether the object binding is allowed or not in the component.
384
+ *
385
+ * @default false
386
+ */
379
387
  allowObjectBinding: boolean;
380
388
  /**
381
389
  * Hides the selected item from the list item.
@@ -701,7 +709,7 @@ export declare class MultiSelect extends DropDownBase implements IInput {
701
709
  private escapeAction;
702
710
  private scrollBottom;
703
711
  private scrollTop;
704
- private IsScrollerAtEnd;
712
+ private isScrollerAtEnd;
705
713
  private selectListByKey;
706
714
  private refreshListItems;
707
715
  private removeSelectedChip;
@@ -867,12 +875,14 @@ export declare class MultiSelect extends DropDownBase implements IInput {
867
875
  /**
868
876
  * Hides the popup, if the popup in a open state.
869
877
  *
878
+ * @param {MouseEvent | KeyboardEventArgs} e - Specifies the mouse event or keyboard event.
870
879
  * @returns {void}
871
880
  */
872
881
  hidePopup(e?: MouseEvent | KeyboardEventArgs): void;
873
882
  /**
874
883
  * Shows the popup, if the popup in a closed state.
875
884
  *
885
+ * @param {MouseEvent | KeyboardEventArgs} e - Specifies the mouse event or keyboard event.
876
886
  * @returns {void}
877
887
  */
878
888
  showPopup(e?: MouseEvent | KeyboardEventArgs | TouchEvent): void;