@syncfusion/ej2-dropdowns 26.2.13 → 27.1.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/ej2-dropdowns.min.js +2 -2
  2. package/dist/ej2-dropdowns.umd.min.js +2 -2
  3. package/dist/ej2-dropdowns.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-dropdowns.es2015.js +1541 -841
  5. package/dist/es6/ej2-dropdowns.es2015.js.map +1 -1
  6. package/dist/es6/ej2-dropdowns.es5.js +1432 -709
  7. package/dist/es6/ej2-dropdowns.es5.js.map +1 -1
  8. package/dist/global/ej2-dropdowns.min.js +2 -2
  9. package/dist/global/ej2-dropdowns.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +14 -13
  12. package/src/auto-complete/auto-complete-model.d.ts +1 -1
  13. package/src/auto-complete/auto-complete.d.ts +2 -0
  14. package/src/auto-complete/auto-complete.js +52 -22
  15. package/src/combo-box/combo-box-model.d.ts +12 -5
  16. package/src/combo-box/combo-box.d.ts +10 -4
  17. package/src/combo-box/combo-box.js +73 -38
  18. package/src/common/incremental-search.d.ts +26 -11
  19. package/src/common/incremental-search.js +30 -16
  20. package/src/common/interface.d.ts +5 -5
  21. package/src/common/virtual-scroll.js +69 -36
  22. package/src/drop-down-base/drop-down-base-model.d.ts +1 -1
  23. package/src/drop-down-base/drop-down-base.d.ts +7 -2
  24. package/src/drop-down-base/drop-down-base.js +101 -69
  25. package/src/drop-down-list/drop-down-list-model.d.ts +14 -7
  26. package/src/drop-down-list/drop-down-list.d.ts +11 -4
  27. package/src/drop-down-list/drop-down-list.js +303 -178
  28. package/src/drop-down-tree/drop-down-tree-model.d.ts +19 -0
  29. package/src/drop-down-tree/drop-down-tree.d.ts +26 -2
  30. package/src/drop-down-tree/drop-down-tree.js +206 -68
  31. package/src/list-box/list-box.js +64 -24
  32. package/src/mention/mention.d.ts +8 -0
  33. package/src/mention/mention.js +87 -24
  34. package/src/multi-select/checkbox-selection.js +3 -2
  35. package/src/multi-select/interface.d.ts +1 -0
  36. package/src/multi-select/multi-select-model.d.ts +15 -8
  37. package/src/multi-select/multi-select.d.ts +15 -5
  38. package/src/multi-select/multi-select.js +444 -237
  39. package/styles/auto-complete/bootstrap-dark.css +0 -50
  40. package/styles/auto-complete/bootstrap.css +0 -50
  41. package/styles/auto-complete/bootstrap4.css +0 -68
  42. package/styles/auto-complete/bootstrap5-dark.css +0 -54
  43. package/styles/auto-complete/bootstrap5.3.css +101 -0
  44. package/styles/auto-complete/bootstrap5.3.scss +4 -0
  45. package/styles/auto-complete/bootstrap5.css +0 -54
  46. package/styles/auto-complete/fabric-dark.css +0 -49
  47. package/styles/auto-complete/fabric.css +0 -42
  48. package/styles/auto-complete/fluent-dark.css +0 -41
  49. package/styles/auto-complete/fluent.css +0 -41
  50. package/styles/auto-complete/fluent2.css +1 -36
  51. package/styles/auto-complete/highcontrast-light.css +0 -37
  52. package/styles/auto-complete/highcontrast.css +0 -37
  53. package/styles/auto-complete/material-dark.css +0 -34
  54. package/styles/auto-complete/material.css +0 -55
  55. package/styles/auto-complete/material3-dark.css +0 -59
  56. package/styles/auto-complete/material3.css +0 -59
  57. package/styles/auto-complete/tailwind-dark.css +0 -35
  58. package/styles/auto-complete/tailwind.css +0 -35
  59. package/styles/bootstrap-dark-lite.css +2755 -0
  60. package/styles/bootstrap-dark-lite.scss +28 -0
  61. package/styles/bootstrap-dark.css +655 -605
  62. package/styles/bootstrap-dark.scss +6 -1
  63. package/styles/bootstrap-lite.css +2754 -0
  64. package/styles/bootstrap-lite.scss +28 -0
  65. package/styles/bootstrap.css +661 -611
  66. package/styles/bootstrap.scss +6 -1
  67. package/styles/bootstrap4-lite.css +2858 -0
  68. package/styles/bootstrap4-lite.scss +28 -0
  69. package/styles/bootstrap4.css +831 -756
  70. package/styles/bootstrap4.scss +6 -1
  71. package/styles/bootstrap5-dark-lite.css +2832 -0
  72. package/styles/bootstrap5-dark-lite.scss +28 -0
  73. package/styles/bootstrap5-dark.css +702 -646
  74. package/styles/bootstrap5-dark.scss +6 -1
  75. package/styles/bootstrap5-lite.css +2832 -0
  76. package/styles/bootstrap5-lite.scss +28 -0
  77. package/styles/bootstrap5.3-lite.css +2826 -0
  78. package/styles/bootstrap5.3-lite.scss +28 -0
  79. package/styles/bootstrap5.3.css +3557 -0
  80. package/styles/bootstrap5.3.scss +33 -0
  81. package/styles/bootstrap5.css +702 -646
  82. package/styles/bootstrap5.scss +6 -1
  83. package/styles/combo-box/bootstrap-dark.css +0 -50
  84. package/styles/combo-box/bootstrap.css +0 -50
  85. package/styles/combo-box/bootstrap4.css +0 -68
  86. package/styles/combo-box/bootstrap5-dark.css +0 -54
  87. package/styles/combo-box/bootstrap5.3.css +101 -0
  88. package/styles/combo-box/bootstrap5.3.scss +4 -0
  89. package/styles/combo-box/bootstrap5.css +0 -54
  90. package/styles/combo-box/fabric-dark.css +0 -49
  91. package/styles/combo-box/fabric.css +0 -42
  92. package/styles/combo-box/fluent-dark.css +0 -41
  93. package/styles/combo-box/fluent.css +0 -41
  94. package/styles/combo-box/fluent2.css +1 -36
  95. package/styles/combo-box/highcontrast-light.css +0 -37
  96. package/styles/combo-box/highcontrast.css +0 -37
  97. package/styles/combo-box/material-dark.css +0 -34
  98. package/styles/combo-box/material.css +0 -55
  99. package/styles/combo-box/material3-dark.css +0 -59
  100. package/styles/combo-box/material3.css +0 -59
  101. package/styles/combo-box/tailwind-dark.css +0 -35
  102. package/styles/combo-box/tailwind.css +0 -35
  103. package/styles/drop-down-base/_bds-definition.scss +0 -22
  104. package/styles/drop-down-base/_bigger.scss +195 -0
  105. package/styles/drop-down-base/_bootstrap-dark-definition.scss +0 -5
  106. package/styles/drop-down-base/_bootstrap-definition.scss +0 -5
  107. package/styles/drop-down-base/_bootstrap4-definition.scss +0 -9
  108. package/styles/drop-down-base/_bootstrap5-definition.scss +0 -19
  109. package/styles/drop-down-base/_bootstrap5.3-definition.scss +2 -21
  110. package/styles/drop-down-base/_fabric-dark-definition.scss +0 -5
  111. package/styles/drop-down-base/_fabric-definition.scss +0 -5
  112. package/styles/drop-down-base/_fluent-definition.scss +0 -19
  113. package/styles/drop-down-base/_fluent2-definition.scss +2 -23
  114. package/styles/drop-down-base/_fusionnew-definition.scss +0 -19
  115. package/styles/drop-down-base/_highcontrast-definition.scss +0 -9
  116. package/styles/drop-down-base/_highcontrast-light-definition.scss +0 -9
  117. package/styles/drop-down-base/_layout.scss +1 -57
  118. package/styles/drop-down-base/_material-dark-definition.scss +0 -4
  119. package/styles/drop-down-base/_material-definition.scss +0 -4
  120. package/styles/drop-down-base/_material3-definition.scss +0 -3
  121. package/styles/drop-down-base/_tailwind-definition.scss +0 -22
  122. package/styles/drop-down-base/_theme.scss +10 -91
  123. package/styles/drop-down-base/bootstrap-dark.css +75 -75
  124. package/styles/drop-down-base/bootstrap-dark.scss +1 -0
  125. package/styles/drop-down-base/bootstrap.css +75 -75
  126. package/styles/drop-down-base/bootstrap.scss +1 -0
  127. package/styles/drop-down-base/bootstrap4.css +79 -79
  128. package/styles/drop-down-base/bootstrap4.scss +1 -0
  129. package/styles/drop-down-base/bootstrap5-dark.css +89 -89
  130. package/styles/drop-down-base/bootstrap5-dark.scss +1 -0
  131. package/styles/drop-down-base/bootstrap5.3.css +411 -0
  132. package/styles/drop-down-base/bootstrap5.3.scss +4 -0
  133. package/styles/drop-down-base/bootstrap5.css +89 -89
  134. package/styles/drop-down-base/bootstrap5.scss +1 -0
  135. package/styles/drop-down-base/fabric-dark.css +75 -75
  136. package/styles/drop-down-base/fabric-dark.scss +1 -0
  137. package/styles/drop-down-base/fabric.css +75 -75
  138. package/styles/drop-down-base/fabric.scss +1 -0
  139. package/styles/drop-down-base/fluent-dark.css +101 -101
  140. package/styles/drop-down-base/fluent-dark.scss +1 -0
  141. package/styles/drop-down-base/fluent.css +101 -101
  142. package/styles/drop-down-base/fluent.scss +1 -0
  143. package/styles/drop-down-base/fluent2.css +97 -95
  144. package/styles/drop-down-base/fluent2.scss +1 -0
  145. package/styles/drop-down-base/highcontrast-light.css +75 -77
  146. package/styles/drop-down-base/highcontrast-light.scss +1 -0
  147. package/styles/drop-down-base/highcontrast.css +75 -77
  148. package/styles/drop-down-base/highcontrast.scss +1 -0
  149. package/styles/drop-down-base/material-dark.css +74 -74
  150. package/styles/drop-down-base/material-dark.scss +1 -0
  151. package/styles/drop-down-base/material.css +74 -74
  152. package/styles/drop-down-base/material.scss +1 -0
  153. package/styles/drop-down-base/material3-dark.css +74 -74
  154. package/styles/drop-down-base/material3-dark.scss +1 -0
  155. package/styles/drop-down-base/material3.css +74 -74
  156. package/styles/drop-down-base/material3.scss +1 -0
  157. package/styles/drop-down-base/tailwind-dark.css +135 -135
  158. package/styles/drop-down-base/tailwind-dark.scss +1 -0
  159. package/styles/drop-down-base/tailwind.css +135 -135
  160. package/styles/drop-down-base/tailwind.scss +1 -0
  161. package/styles/drop-down-list/_bds-definition.scss +0 -34
  162. package/styles/drop-down-list/_bigger.scss +713 -0
  163. package/styles/drop-down-list/_bootstrap-dark-definition.scss +0 -64
  164. package/styles/drop-down-list/_bootstrap-definition.scss +0 -64
  165. package/styles/drop-down-list/_bootstrap4-definition.scss +0 -81
  166. package/styles/drop-down-list/_bootstrap5-definition.scss +0 -67
  167. package/styles/drop-down-list/_bootstrap5.3-definition.scss +1 -67
  168. package/styles/drop-down-list/_fabric-dark-definition.scss +0 -57
  169. package/styles/drop-down-list/_fabric-definition.scss +0 -56
  170. package/styles/drop-down-list/_fluent-definition.scss +0 -57
  171. package/styles/drop-down-list/_fluent2-definition.scss +2 -35
  172. package/styles/drop-down-list/_fusionnew-definition.scss +0 -67
  173. package/styles/drop-down-list/_highcontrast-definition.scss +0 -60
  174. package/styles/drop-down-list/_highcontrast-light-definition.scss +0 -60
  175. package/styles/drop-down-list/_layout.scss +4 -82
  176. package/styles/drop-down-list/_material-dark-definition.scss +0 -33
  177. package/styles/drop-down-list/_material-definition.scss +0 -55
  178. package/styles/drop-down-list/_material3-definition.scss +0 -58
  179. package/styles/drop-down-list/_tailwind-definition.scss +0 -34
  180. package/styles/drop-down-list/_theme.scss +5 -0
  181. package/styles/drop-down-list/bootstrap-dark.css +91 -91
  182. package/styles/drop-down-list/bootstrap-dark.scss +1 -0
  183. package/styles/drop-down-list/bootstrap.css +91 -91
  184. package/styles/drop-down-list/bootstrap.scss +1 -0
  185. package/styles/drop-down-list/bootstrap4.css +105 -105
  186. package/styles/drop-down-list/bootstrap4.scss +1 -0
  187. package/styles/drop-down-list/bootstrap5-dark.css +87 -101
  188. package/styles/drop-down-list/bootstrap5-dark.scss +1 -0
  189. package/styles/drop-down-list/bootstrap5.3.css +481 -0
  190. package/styles/drop-down-list/bootstrap5.3.scss +10 -0
  191. package/styles/drop-down-list/bootstrap5.css +87 -101
  192. package/styles/drop-down-list/bootstrap5.scss +1 -0
  193. package/styles/drop-down-list/fabric-dark.css +90 -90
  194. package/styles/drop-down-list/fabric-dark.scss +1 -0
  195. package/styles/drop-down-list/fabric.css +90 -83
  196. package/styles/drop-down-list/fabric.scss +1 -0
  197. package/styles/drop-down-list/fluent-dark.css +74 -88
  198. package/styles/drop-down-list/fluent-dark.scss +1 -0
  199. package/styles/drop-down-list/fluent.css +74 -88
  200. package/styles/drop-down-list/fluent.scss +1 -0
  201. package/styles/drop-down-list/fluent2.css +77 -93
  202. package/styles/drop-down-list/fluent2.scss +1 -0
  203. package/styles/drop-down-list/highcontrast-light.css +79 -80
  204. package/styles/drop-down-list/highcontrast-light.scss +1 -0
  205. package/styles/drop-down-list/highcontrast.css +79 -80
  206. package/styles/drop-down-list/highcontrast.scss +1 -0
  207. package/styles/drop-down-list/material-dark.css +74 -73
  208. package/styles/drop-down-list/material-dark.scss +1 -0
  209. package/styles/drop-down-list/material.css +95 -94
  210. package/styles/drop-down-list/material.scss +1 -0
  211. package/styles/drop-down-list/material3-dark.css +99 -98
  212. package/styles/drop-down-list/material3-dark.scss +1 -0
  213. package/styles/drop-down-list/material3.css +99 -98
  214. package/styles/drop-down-list/material3.scss +1 -0
  215. package/styles/drop-down-list/tailwind-dark.css +96 -78
  216. package/styles/drop-down-list/tailwind-dark.scss +1 -0
  217. package/styles/drop-down-list/tailwind.css +96 -78
  218. package/styles/drop-down-list/tailwind.scss +1 -0
  219. package/styles/drop-down-tree/_bigger.scss +522 -0
  220. package/styles/drop-down-tree/_bootstrap5.3-definition.scss +5 -5
  221. package/styles/drop-down-tree/_fluent2-definition.scss +5 -3
  222. package/styles/drop-down-tree/_layout.scss +15 -491
  223. package/styles/drop-down-tree/_theme.scss +21 -4
  224. package/styles/drop-down-tree/bootstrap-dark.css +32 -37
  225. package/styles/drop-down-tree/bootstrap-dark.scss +1 -0
  226. package/styles/drop-down-tree/bootstrap.css +32 -37
  227. package/styles/drop-down-tree/bootstrap.scss +1 -0
  228. package/styles/drop-down-tree/bootstrap4.css +38 -47
  229. package/styles/drop-down-tree/bootstrap4.scss +1 -0
  230. package/styles/drop-down-tree/bootstrap5-dark.css +39 -55
  231. package/styles/drop-down-tree/bootstrap5-dark.scss +1 -0
  232. package/styles/drop-down-tree/bootstrap5.3.css +463 -0
  233. package/styles/drop-down-tree/bootstrap5.3.scss +10 -0
  234. package/styles/drop-down-tree/bootstrap5.css +39 -55
  235. package/styles/drop-down-tree/bootstrap5.scss +1 -0
  236. package/styles/drop-down-tree/fabric-dark.css +32 -37
  237. package/styles/drop-down-tree/fabric-dark.scss +1 -0
  238. package/styles/drop-down-tree/fabric.css +32 -37
  239. package/styles/drop-down-tree/fabric.scss +1 -0
  240. package/styles/drop-down-tree/fluent-dark.css +32 -51
  241. package/styles/drop-down-tree/fluent-dark.scss +1 -0
  242. package/styles/drop-down-tree/fluent.css +32 -51
  243. package/styles/drop-down-tree/fluent.scss +1 -0
  244. package/styles/drop-down-tree/fluent2.css +38 -53
  245. package/styles/drop-down-tree/fluent2.scss +1 -0
  246. package/styles/drop-down-tree/highcontrast-light.css +32 -39
  247. package/styles/drop-down-tree/highcontrast-light.scss +1 -0
  248. package/styles/drop-down-tree/highcontrast.css +41 -48
  249. package/styles/drop-down-tree/highcontrast.scss +1 -0
  250. package/styles/drop-down-tree/material-dark.css +32 -36
  251. package/styles/drop-down-tree/material-dark.scss +1 -0
  252. package/styles/drop-down-tree/material.css +32 -36
  253. package/styles/drop-down-tree/material.scss +1 -0
  254. package/styles/drop-down-tree/material3-dark.css +33 -37
  255. package/styles/drop-down-tree/material3-dark.scss +1 -0
  256. package/styles/drop-down-tree/material3.css +33 -37
  257. package/styles/drop-down-tree/material3.scss +1 -0
  258. package/styles/drop-down-tree/tailwind-dark.css +51 -73
  259. package/styles/drop-down-tree/tailwind-dark.scss +1 -0
  260. package/styles/drop-down-tree/tailwind.css +51 -73
  261. package/styles/drop-down-tree/tailwind.scss +1 -0
  262. package/styles/fabric-dark-lite.css +2733 -0
  263. package/styles/fabric-dark-lite.scss +28 -0
  264. package/styles/fabric-dark.css +668 -612
  265. package/styles/fabric-dark.scss +6 -1
  266. package/styles/fabric-lite.css +2734 -0
  267. package/styles/fabric-lite.scss +28 -0
  268. package/styles/fabric.css +673 -610
  269. package/styles/fabric.scss +6 -1
  270. package/styles/fluent-dark-lite.css +2869 -0
  271. package/styles/fluent-dark-lite.scss +28 -0
  272. package/styles/fluent-dark.css +707 -679
  273. package/styles/fluent-dark.scss +6 -1
  274. package/styles/fluent-lite.css +2869 -0
  275. package/styles/fluent-lite.scss +28 -0
  276. package/styles/fluent.css +707 -679
  277. package/styles/fluent.scss +6 -1
  278. package/styles/fluent2-lite.css +3053 -0
  279. package/styles/fluent2-lite.scss +28 -0
  280. package/styles/fluent2.css +746 -676
  281. package/styles/fluent2.scss +6 -1
  282. package/styles/highcontrast-light-lite.css +2850 -0
  283. package/styles/highcontrast-light-lite.scss +28 -0
  284. package/styles/highcontrast-light.css +655 -602
  285. package/styles/highcontrast-light.scss +6 -1
  286. package/styles/highcontrast-lite.css +2872 -0
  287. package/styles/highcontrast-lite.scss +28 -0
  288. package/styles/highcontrast.css +673 -620
  289. package/styles/highcontrast.scss +6 -1
  290. package/styles/list-box/_bigger.scss +173 -0
  291. package/styles/list-box/_bootstrap5-definition.scss +1 -0
  292. package/styles/list-box/_bootstrap5.3-definition.scss +17 -14
  293. package/styles/list-box/_fluent2-definition.scss +2 -0
  294. package/styles/list-box/_layout.scss +16 -127
  295. package/styles/list-box/_theme.scss +14 -51
  296. package/styles/list-box/bootstrap-dark.css +124 -130
  297. package/styles/list-box/bootstrap-dark.scss +1 -0
  298. package/styles/list-box/bootstrap.css +130 -136
  299. package/styles/list-box/bootstrap.scss +1 -0
  300. package/styles/list-box/bootstrap4.css +174 -184
  301. package/styles/list-box/bootstrap4.scss +1 -0
  302. package/styles/list-box/bootstrap5-dark.css +130 -150
  303. package/styles/list-box/bootstrap5-dark.scss +1 -0
  304. package/styles/list-box/bootstrap5.3.css +952 -0
  305. package/styles/list-box/bootstrap5.3.scss +6 -0
  306. package/styles/list-box/bootstrap5.css +130 -150
  307. package/styles/list-box/bootstrap5.scss +1 -0
  308. package/styles/list-box/fabric-dark.css +124 -130
  309. package/styles/list-box/fabric-dark.scss +1 -0
  310. package/styles/list-box/fabric.css +130 -136
  311. package/styles/list-box/fabric.scss +1 -0
  312. package/styles/list-box/fluent-dark.css +130 -150
  313. package/styles/list-box/fluent-dark.scss +1 -0
  314. package/styles/list-box/fluent.css +130 -150
  315. package/styles/list-box/fluent.scss +1 -0
  316. package/styles/list-box/fluent2.css +124 -157
  317. package/styles/list-box/fluent2.scss +1 -0
  318. package/styles/list-box/highcontrast-light.css +124 -132
  319. package/styles/list-box/highcontrast-light.scss +1 -0
  320. package/styles/list-box/highcontrast.css +130 -138
  321. package/styles/list-box/highcontrast.scss +1 -0
  322. package/styles/list-box/material-dark.css +124 -129
  323. package/styles/list-box/material-dark.scss +1 -0
  324. package/styles/list-box/material.css +130 -135
  325. package/styles/list-box/material.scss +1 -0
  326. package/styles/list-box/material3-dark.css +124 -129
  327. package/styles/list-box/material3-dark.scss +1 -0
  328. package/styles/list-box/material3.css +124 -129
  329. package/styles/list-box/material3.scss +1 -0
  330. package/styles/list-box/tailwind-dark.css +140 -163
  331. package/styles/list-box/tailwind-dark.scss +1 -0
  332. package/styles/list-box/tailwind.css +140 -163
  333. package/styles/list-box/tailwind.scss +1 -0
  334. package/styles/material-dark-lite.css +3516 -0
  335. package/styles/material-dark-lite.scss +28 -0
  336. package/styles/material-dark.css +1301 -1190
  337. package/styles/material-dark.scss +6 -1
  338. package/styles/material-lite.css +3548 -0
  339. package/styles/material-lite.scss +28 -0
  340. package/styles/material.css +1312 -1201
  341. package/styles/material.scss +6 -1
  342. package/styles/material3-dark-lite.css +3462 -0
  343. package/styles/material3-dark-lite.scss +28 -0
  344. package/styles/material3-dark.css +1618 -1249
  345. package/styles/material3-dark.scss +6 -1
  346. package/styles/material3-lite.css +3464 -0
  347. package/styles/material3-lite.scss +28 -0
  348. package/styles/material3.css +1618 -1249
  349. package/styles/material3.scss +6 -1
  350. package/styles/mention/bootstrap-dark.css +0 -5
  351. package/styles/mention/bootstrap.css +0 -5
  352. package/styles/mention/bootstrap4.css +0 -9
  353. package/styles/mention/bootstrap5-dark.css +0 -19
  354. package/styles/mention/bootstrap5.3.css +67 -0
  355. package/styles/mention/bootstrap5.3.scss +6 -0
  356. package/styles/mention/bootstrap5.css +0 -19
  357. package/styles/mention/fabric-dark.css +0 -5
  358. package/styles/mention/fabric.css +0 -5
  359. package/styles/mention/fluent-dark.css +0 -19
  360. package/styles/mention/fluent.css +0 -19
  361. package/styles/mention/fluent2.css +0 -22
  362. package/styles/mention/highcontrast-light.css +0 -7
  363. package/styles/mention/highcontrast.css +0 -7
  364. package/styles/mention/material-dark.css +0 -4
  365. package/styles/mention/material.css +0 -4
  366. package/styles/mention/material3-dark.css +0 -4
  367. package/styles/mention/material3.css +0 -4
  368. package/styles/mention/tailwind-dark.css +0 -22
  369. package/styles/mention/tailwind.css +0 -22
  370. package/styles/multi-select/_bds-definition.scss +0 -5
  371. package/styles/multi-select/_bigger.scss +2002 -0
  372. package/styles/multi-select/_bootstrap-dark-definition.scss +0 -9
  373. package/styles/multi-select/_bootstrap-definition.scss +0 -9
  374. package/styles/multi-select/_bootstrap4-definition.scss +0 -44
  375. package/styles/multi-select/_bootstrap5-definition.scss +0 -5
  376. package/styles/multi-select/_bootstrap5.3-definition.scss +0 -5
  377. package/styles/multi-select/_fabric-dark-definition.scss +2 -4
  378. package/styles/multi-select/_fabric-definition.scss +2 -4
  379. package/styles/multi-select/_fluent-definition.scss +0 -10
  380. package/styles/multi-select/_fluent2-definition.scss +2 -5
  381. package/styles/multi-select/_fusionnew-definition.scss +0 -5
  382. package/styles/multi-select/_highcontrast-definition.scss +1 -2
  383. package/styles/multi-select/_highcontrast-light-definition.scss +1 -2
  384. package/styles/multi-select/_layout.scss +33 -934
  385. package/styles/multi-select/_tailwind-definition.scss +0 -5
  386. package/styles/multi-select/_theme.scss +13 -34
  387. package/styles/multi-select/bootstrap-dark.css +314 -273
  388. package/styles/multi-select/bootstrap-dark.scss +1 -0
  389. package/styles/multi-select/bootstrap.css +314 -273
  390. package/styles/multi-select/bootstrap.scss +1 -0
  391. package/styles/multi-select/bootstrap4.css +405 -347
  392. package/styles/multi-select/bootstrap4.scss +1 -0
  393. package/styles/multi-select/bootstrap5-dark.css +350 -320
  394. package/styles/multi-select/bootstrap5-dark.scss +1 -0
  395. package/styles/multi-select/bootstrap5.3.css +1424 -0
  396. package/styles/multi-select/bootstrap5.3.scss +10 -0
  397. package/styles/multi-select/bootstrap5.css +350 -320
  398. package/styles/multi-select/bootstrap5.scss +1 -0
  399. package/styles/multi-select/fabric-dark.css +320 -273
  400. package/styles/multi-select/fabric-dark.scss +1 -0
  401. package/styles/multi-select/fabric.css +320 -273
  402. package/styles/multi-select/fabric.scss +1 -0
  403. package/styles/multi-select/fluent-dark.css +366 -361
  404. package/styles/multi-select/fluent-dark.scss +1 -0
  405. package/styles/multi-select/fluent.css +366 -361
  406. package/styles/multi-select/fluent.scss +1 -0
  407. package/styles/multi-select/fluent2.css +399 -355
  408. package/styles/multi-select/fluent2.scss +1 -0
  409. package/styles/multi-select/highcontrast-light.css +321 -278
  410. package/styles/multi-select/highcontrast-light.scss +1 -0
  411. package/styles/multi-select/highcontrast.css +321 -278
  412. package/styles/multi-select/highcontrast.scss +1 -0
  413. package/styles/multi-select/icons/_bootstrap4.scss +0 -9
  414. package/styles/multi-select/icons/_fluent.scss +0 -21
  415. package/styles/multi-select/icons/_fluent2.scss +5 -354
  416. package/styles/multi-select/icons/_material-dark.scss +5 -354
  417. package/styles/multi-select/icons/_material.scss +5 -354
  418. package/styles/multi-select/icons/_material3.scss +5 -354
  419. package/styles/multi-select/material-dark.css +960 -857
  420. package/styles/multi-select/material-dark.scss +1 -0
  421. package/styles/multi-select/material.css +960 -857
  422. package/styles/multi-select/material.scss +1 -0
  423. package/styles/multi-select/material3-dark.css +1277 -916
  424. package/styles/multi-select/material3-dark.scss +1 -0
  425. package/styles/multi-select/material3.css +1277 -916
  426. package/styles/multi-select/material3.scss +1 -0
  427. package/styles/multi-select/tailwind-dark.css +351 -327
  428. package/styles/multi-select/tailwind-dark.scss +1 -0
  429. package/styles/multi-select/tailwind.css +351 -327
  430. package/styles/multi-select/tailwind.scss +1 -0
  431. package/styles/tailwind-dark-lite.css +2816 -0
  432. package/styles/tailwind-dark-lite.scss +28 -0
  433. package/styles/tailwind-dark.css +933 -848
  434. package/styles/tailwind-dark.scss +6 -1
  435. package/styles/tailwind-lite.css +2816 -0
  436. package/styles/tailwind-lite.scss +28 -0
  437. package/styles/tailwind.css +933 -848
  438. package/styles/tailwind.scss +6 -1
@@ -103,6 +103,13 @@ export interface TreeSettingsModel {
103
103
 
104
104
  autoCheck?: boolean;
105
105
 
106
+ /**
107
+ * Determines whether the disabled children will be checked or not if their parent is checked.
108
+ *
109
+ * @default true
110
+ */
111
+ checkDisabledChildren?: boolean;
112
+
106
113
  /**
107
114
  * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
108
115
  * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
@@ -462,6 +469,18 @@ export interface DropDownTreeModel extends ComponentModel{
462
469
  */
463
470
  value?: string[];
464
471
 
472
+ /**
473
+ * Specifies the way to customize the selected values in the Dropdown Tree component based on application needs. If the **valueTemplate** property is set, the template content overrides the displayed item text.
474
+ * The property accepts [template string] (https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID holding the content. The context for the valueTemplate comes from the data object passed to it.
475
+ *
476
+ * @default null
477
+ * @angularType string | object
478
+ * @reactType string | function | JSX.Element
479
+ * @vueType string | function
480
+ * @aspType string
481
+ */
482
+ valueTemplate?: string | Function;
483
+
465
484
  /**
466
485
  * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
467
486
  * You can also set the width in pixel values.
@@ -91,6 +91,12 @@ export declare class TreeSettings extends ChildProperty<TreeSettings> {
91
91
  * @default false
92
92
  */
93
93
  autoCheck: boolean;
94
+ /**
95
+ * Determines whether the disabled children will be checked or not if their parent is checked.
96
+ *
97
+ * @default true
98
+ */
99
+ checkDisabledChildren: boolean;
94
100
  /**
95
101
  * Specifies the action on which the parent items in the pop-up should expand or collapse. The available actions are
96
102
  * * `Auto` - In desktop, the expand or collapse operation happens when you double-click the node,
@@ -148,8 +154,8 @@ export interface DdtPopupEventArgs {
148
154
  */
149
155
  popup: Popup;
150
156
  /**
151
- * Determines whether the current popup close action needs to be prevented or not.
152
- */
157
+ * Determines whether the current popup close action needs to be prevented or not.
158
+ */
153
159
  cancel?: boolean;
154
160
  }
155
161
  export interface DdtDataBoundEventArgs {
@@ -328,6 +334,7 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
328
334
  private isClicked;
329
335
  private isCheckAllCalled;
330
336
  private isFromFilterChange;
337
+ private valueTemplateContainer;
331
338
  /**
332
339
  * Specifies the template that renders to the popup list content of the
333
340
  * Dropdown Tree component when the data fetch request from the remote server fails.
@@ -622,6 +629,17 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
622
629
  * @aspType Object
623
630
  */
624
631
  value: string[];
632
+ /**
633
+ * Specifies the way to customize the selected values in the Dropdown Tree component based on application needs. If the **valueTemplate** property is set, the template content overrides the displayed item text.
634
+ * The property accepts [template string] (https://ej2.syncfusion.com/documentation/common/template-engine/) or HTML element ID holding the content. The context for the valueTemplate comes from the data object passed to it.
635
+ *
636
+ * @default null
637
+ * @angularType string | object
638
+ * @reactType string | function | JSX.Element
639
+ * @vueType string | function
640
+ * @aspType string
641
+ */
642
+ valueTemplate: string | Function;
625
643
  /**
626
644
  * Specifies the width of the component. By default, the component width sets based on the width of its parent container.
627
645
  * You can also set the width in pixel values.
@@ -778,6 +796,8 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
778
796
  [key: string]: string;
779
797
  };
780
798
  private updateOverFlowView;
799
+ private checkRemainingTemplate;
800
+ private updateChipAndValueTemplate;
781
801
  private updateRemainTemplate;
782
802
  private getOverflowVal;
783
803
  private updateDelimMode;
@@ -797,6 +817,8 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
797
817
  private setTreeValue;
798
818
  private setTreeText;
799
819
  private setSelectedValue;
820
+ private setValueTemplate;
821
+ private getValueTemplateElement;
800
822
  private setValidValue;
801
823
  private getItems;
802
824
  private getNestedItems;
@@ -842,6 +864,8 @@ export declare class DropDownTree extends Component<HTMLElement> implements INot
842
864
  private getChildNodeData;
843
865
  private getChildMapperFields;
844
866
  private removeSelectedData;
867
+ private initializeValueTemplate;
868
+ private showOrHideValueTemplate;
845
869
  private updateSelectedValues;
846
870
  private setChipValues;
847
871
  private setTagValues;
@@ -137,6 +137,9 @@ var TreeSettings = /** @class */ (function (_super) {
137
137
  __decorate([
138
138
  Property(false)
139
139
  ], TreeSettings.prototype, "autoCheck", void 0);
140
+ __decorate([
141
+ Property(true)
142
+ ], TreeSettings.prototype, "checkDisabledChildren", void 0);
140
143
  __decorate([
141
144
  Property('Auto')
142
145
  ], TreeSettings.prototype, "expandOn", void 0);
@@ -344,9 +347,11 @@ var DropDownTree = /** @class */ (function (_super) {
344
347
  firstUl.removeAttribute('aria-multiselectable');
345
348
  }
346
349
  this.oldValue = this.value;
347
- this.isInitialized = true;
350
+ if (!this.isRemoteData) {
351
+ this.isInitialized = true;
352
+ }
348
353
  this.hasTemplate = this.itemTemplate || this.headerTemplate || this.footerTemplate || this.actionFailureTemplate
349
- || this.noRecordsTemplate || this.customTemplate;
354
+ || this.noRecordsTemplate || this.customTemplate || this.valueTemplate;
350
355
  this.renderComplete();
351
356
  };
352
357
  DropDownTree.prototype.hideCheckAll = function (flag) {
@@ -390,6 +395,7 @@ var DropDownTree = /** @class */ (function (_super) {
390
395
  cancel: false,
391
396
  event: e
392
397
  };
398
+ var focusedElement;
393
399
  this.trigger('keyPress', eventArgs, function (observedArgs) {
394
400
  if (!observedArgs.cancel) {
395
401
  switch (e.action) {
@@ -404,7 +410,7 @@ var DropDownTree = /** @class */ (function (_super) {
404
410
  case 'moveDown':
405
411
  e.preventDefault();
406
412
  _this.filterObj.element.blur();
407
- var focusedElement = _this.treeObj.element.querySelector('li');
413
+ focusedElement = _this.treeObj.element.querySelector('li');
408
414
  if (focusedElement) {
409
415
  focusedElement.focus();
410
416
  }
@@ -753,6 +759,9 @@ var DropDownTree = /** @class */ (function (_super) {
753
759
  removeClass([this.inputEle], CHIP_INPUT);
754
760
  }
755
761
  }
762
+ if (isValue && this.mode !== 'Custom') {
763
+ this.showOrHideValueTemplate(true);
764
+ }
756
765
  if (!this.wrapText && isValue) {
757
766
  this.updateView();
758
767
  }
@@ -825,6 +834,7 @@ var DropDownTree = /** @class */ (function (_super) {
825
834
  if (this.chipWrapper && (this.value && this.value.length !== 0)) {
826
835
  removeClass([this.chipWrapper], HIDEICON);
827
836
  addClass([this.inputEle], CHIP_INPUT);
837
+ this.showOrHideValueTemplate(false, true);
828
838
  }
829
839
  addClass([this.inputWrapper], SHOW_CHIP);
830
840
  if (this.popupObj) {
@@ -838,6 +848,7 @@ var DropDownTree = /** @class */ (function (_super) {
838
848
  if (this.mode === 'Delimiter') {
839
849
  removeClass([this.inputWrapper], SHOW_CHIP);
840
850
  removeClass([this.inputEle], CHIP_INPUT);
851
+ this.showOrHideValueTemplate(true);
841
852
  }
842
853
  else {
843
854
  addClass([this.inputWrapper], SHOW_CHIP);
@@ -966,7 +977,8 @@ var DropDownTree = /** @class */ (function (_super) {
966
977
  _this.clickHandler(e);
967
978
  break;
968
979
  case 'moveDown':
969
- focusedElement = _this.treeObj.element.querySelector('li');
980
+ e.preventDefault();
981
+ focusedElement = _this.treeObj.element.querySelector('li[tabindex="0"]') || _this.treeObj.element.querySelector('li');
970
982
  focusedElement.focus();
971
983
  addClass([focusedElement], ['e-node-focus']);
972
984
  break;
@@ -1019,6 +1031,12 @@ var DropDownTree = /** @class */ (function (_super) {
1019
1031
  }
1020
1032
  if (!isNOU(this.value)) {
1021
1033
  if (this.mode !== 'Box') {
1034
+ if (this.valueTemplate) {
1035
+ remaining = this.updateChipAndValueTemplate(false, downIconWidth, remainSize);
1036
+ this.checkRemainingTemplate(remaining, remainElement, remainContent, totalContent);
1037
+ this.updateDelimMode();
1038
+ return;
1039
+ }
1022
1040
  for (var index = 0; !isNOU(this.value[index]); index++) {
1023
1041
  data += (index === 0) ? '' : this.delimiterChar + ' ';
1024
1042
  temp = this.getOverflowVal(index);
@@ -1061,48 +1079,10 @@ var DropDownTree = /** @class */ (function (_super) {
1061
1079
  }
1062
1080
  }
1063
1081
  else {
1064
- addClass([this.chipWrapper], HIDEICON);
1065
- var ele = this.chipWrapper.cloneNode(true);
1066
- var chips = selectAll('.' + CHIP, ele);
1067
- for (var i = 0; i < chips.length; i++) {
1068
- temp = this.overFlowWrapper.innerHTML;
1069
- this.overFlowWrapper.appendChild(chips[i]);
1070
- data = this.overFlowWrapper.innerHTML;
1071
- wrapperleng = this.overFlowWrapper.offsetWidth;
1072
- overAllContainer = this.inputWrapper.offsetWidth;
1073
- if ((wrapperleng + downIconWidth + this.clearIconWidth) > overAllContainer) {
1074
- if (tempData !== undefined && tempData !== '') {
1075
- temp = tempData;
1076
- i = tempIndex + 1;
1077
- }
1078
- this.overFlowWrapper.innerHTML = temp;
1079
- remaining = this.value.length - i;
1080
- wrapperleng = this.overFlowWrapper.offsetWidth;
1081
- while (((wrapperleng + remainSize + downIconWidth + this.clearIconWidth) >= overAllContainer)
1082
- && wrapperleng !== 0 && this.overFlowWrapper.innerHTML !== '') {
1083
- this.overFlowWrapper.removeChild(this.overFlowWrapper.lastChild);
1084
- remaining++;
1085
- wrapperleng = this.overFlowWrapper.offsetWidth;
1086
- }
1087
- break;
1088
- }
1089
- else if ((wrapperleng + remainSize + downIconWidth + this.clearIconWidth) <= overAllContainer) {
1090
- tempData = data;
1091
- tempIndex = i;
1092
- }
1093
- else if (i === 0) {
1094
- tempData = '';
1095
- tempIndex = -1;
1096
- }
1097
- }
1082
+ remaining = this.updateChipAndValueTemplate(true, downIconWidth, remainSize);
1098
1083
  }
1099
1084
  }
1100
- if (remaining > 0) {
1101
- this.overFlowWrapper.appendChild(this.updateRemainTemplate(remainElement, remaining, remainContent, totalContent));
1102
- }
1103
- if (this.mode === 'Box' && !this.overFlowWrapper.classList.contains(TOTAL_COUNT_WRAPPER)) {
1104
- addClass([remainElement], REMAIN_COUNT);
1105
- }
1085
+ this.checkRemainingTemplate(remaining, remainElement, remainContent, totalContent);
1106
1086
  }
1107
1087
  else {
1108
1088
  this.overFlowWrapper.innerHTML = '';
@@ -1110,13 +1090,67 @@ var DropDownTree = /** @class */ (function (_super) {
1110
1090
  }
1111
1091
  this.updateDelimMode();
1112
1092
  };
1093
+ DropDownTree.prototype.checkRemainingTemplate = function (remaining, remainElement, remainContent, totalContent) {
1094
+ if (remaining > 0) {
1095
+ this.overFlowWrapper.appendChild(this.updateRemainTemplate(remainElement, remaining, remainContent, totalContent));
1096
+ }
1097
+ if (this.mode === 'Box' && !this.overFlowWrapper.classList.contains(TOTAL_COUNT_WRAPPER)) {
1098
+ addClass([remainElement], REMAIN_COUNT);
1099
+ }
1100
+ };
1101
+ DropDownTree.prototype.updateChipAndValueTemplate = function (isChip, downIconWidth, remainSize) {
1102
+ if (downIconWidth === void 0) { downIconWidth = 0; }
1103
+ var currentHtmlContent = '';
1104
+ var overAllContainer;
1105
+ var previousHtmlContent;
1106
+ var previousData;
1107
+ var index = 1;
1108
+ var wrapperLength;
1109
+ var remainingItemsCount;
1110
+ addClass([isChip ? this.chipWrapper : this.valueTemplateContainer], HIDEICON);
1111
+ var clonedElement = (isChip ? this.chipWrapper :
1112
+ this.valueTemplateContainer).cloneNode(true);
1113
+ var valueElements = isChip ? selectAll('.' + CHIP, clonedElement) : Array.prototype.slice.call(clonedElement.children);
1114
+ for (var i = 0; i < valueElements.length; i++) {
1115
+ previousHtmlContent = this.overFlowWrapper.innerHTML;
1116
+ this.overFlowWrapper.appendChild(valueElements[i]);
1117
+ currentHtmlContent = this.overFlowWrapper.innerHTML;
1118
+ wrapperLength = this.overFlowWrapper.offsetWidth;
1119
+ overAllContainer = this.inputWrapper.offsetWidth;
1120
+ if ((wrapperLength + downIconWidth + this.clearIconWidth) > overAllContainer) {
1121
+ if (previousData !== undefined && previousData !== '') {
1122
+ previousHtmlContent = previousData;
1123
+ i = index + 1;
1124
+ }
1125
+ this.overFlowWrapper.innerHTML = previousHtmlContent;
1126
+ remainingItemsCount = this.value.length - i;
1127
+ wrapperLength = this.overFlowWrapper.offsetWidth;
1128
+ while (((wrapperLength + remainSize + downIconWidth + this.clearIconWidth) >= overAllContainer)
1129
+ && wrapperLength !== 0 && this.overFlowWrapper.innerHTML !== '') {
1130
+ this.overFlowWrapper.removeChild(this.overFlowWrapper.lastChild);
1131
+ remainingItemsCount++;
1132
+ wrapperLength = this.overFlowWrapper.offsetWidth;
1133
+ }
1134
+ break;
1135
+ }
1136
+ else if ((wrapperLength + remainSize + downIconWidth + this.clearIconWidth) <= overAllContainer) {
1137
+ previousData = currentHtmlContent;
1138
+ index = i;
1139
+ }
1140
+ else if (i === 0) {
1141
+ previousData = '';
1142
+ index = -1;
1143
+ }
1144
+ }
1145
+ return remainingItemsCount;
1146
+ };
1113
1147
  DropDownTree.prototype.updateRemainTemplate = function (remainElement, remaining, remainContent, totalContent) {
1114
1148
  if (this.overFlowWrapper.firstChild && this.overFlowWrapper.firstChild.nodeType === 3 &&
1115
1149
  this.overFlowWrapper.firstChild.nodeValue === '') {
1116
1150
  this.overFlowWrapper.removeChild(this.overFlowWrapper.firstChild);
1117
1151
  }
1118
1152
  remainElement.innerHTML = '';
1119
- remainElement.innerText = (this.overFlowWrapper.firstChild && (this.overFlowWrapper.firstChild.nodeType === 3 || this.mode === 'Box')) ?
1153
+ remainElement.innerText = (this.overFlowWrapper.firstChild && (this.overFlowWrapper.firstChild.nodeType === 3 || this.mode === 'Box' || this.valueTemplateContainer)) ?
1120
1154
  remainContent.replace('${count}', remaining.toString()) : totalContent.replace('${count}', remaining.toString());
1121
1155
  if (this.overFlowWrapper.firstChild && (this.overFlowWrapper.firstChild.nodeType === 3 || this.mode === 'Box')) {
1122
1156
  removeClass([this.overFlowWrapper], TOTAL_COUNT_WRAPPER);
@@ -1463,10 +1497,37 @@ var DropDownTree = /** @class */ (function (_super) {
1463
1497
  this.currentValue = this.value;
1464
1498
  }
1465
1499
  };
1500
+ DropDownTree.prototype.setValueTemplate = function () {
1501
+ var _this = this;
1502
+ if (this.valueTemplate) {
1503
+ var compiledString = this.initializeValueTemplate();
1504
+ this.getValueTemplateElement(this.value[0], compiledString);
1505
+ if (this.hasTemplate && this.portals) {
1506
+ if (this.treeObj.portals) {
1507
+ this.portals = this.portals.concat(this.treeObj.portals.filter(function (item) {
1508
+ return !_this.portals.includes(item);
1509
+ }));
1510
+ }
1511
+ if (this.isReact) {
1512
+ this.renderReactTemplates(this.reactCallBack);
1513
+ }
1514
+ }
1515
+ this.showOrHideValueTemplate(true);
1516
+ }
1517
+ };
1518
+ DropDownTree.prototype.getValueTemplateElement = function (value, compiledString) {
1519
+ var selectedData = this.getNodeData(value, this.isFilteredData ? this.treeData : this.treeItems);
1520
+ var templateElements = compiledString(selectedData, this, 'valueTemplate', this.element.id + "valueTemplate", this.isStringTemplate, undefined, this.valueTemplateContainer);
1521
+ if (templateElements) {
1522
+ templateElements = Array.prototype.slice.call(templateElements);
1523
+ append(templateElements, this.valueTemplateContainer);
1524
+ }
1525
+ };
1466
1526
  DropDownTree.prototype.setValidValue = function () {
1467
1527
  var _this = this;
1468
1528
  if (!this.showCheckBox && !this.allowMultiSelection) {
1469
1529
  Input.setValue(this.text, this.inputEle, this.floatLabelType);
1530
+ this.setValueTemplate();
1470
1531
  var id = this.value[0].toString();
1471
1532
  if (this.treeObj.selectedNodes[0] !== id) {
1472
1533
  setValue('selectedNodes', [id], this.treeObj);
@@ -1562,7 +1623,8 @@ var DropDownTree = /** @class */ (function (_super) {
1562
1623
  expandOn: this.treeSettings.expandOn,
1563
1624
  loadOnDemand: this.treeSettings.loadOnDemand,
1564
1625
  nodeSelecting: this.onBeforeSelect.bind(this),
1565
- nodeTemplate: this.itemTemplate
1626
+ nodeTemplate: this.itemTemplate,
1627
+ checkDisabledChildren: this.treeSettings.checkDisabledChildren
1566
1628
  });
1567
1629
  this.treeObj.root = this.root ? this.root : this;
1568
1630
  this.treeObj.appendTo(this.tree);
@@ -1655,12 +1717,14 @@ var DropDownTree = /** @class */ (function (_super) {
1655
1717
  removeClass([oldFocussedNode], 'e-node-focus');
1656
1718
  }
1657
1719
  }
1658
- if (!_this.allowFiltering) {
1659
- focusedElement.focus();
1720
+ if (!isNOU(focusedElement)) {
1721
+ if (!_this.allowFiltering) {
1722
+ focusedElement.focus();
1723
+ }
1724
+ addClass([focusedElement], ['e-node-focus']);
1660
1725
  }
1661
- addClass([focusedElement], ['e-node-focus']);
1662
1726
  }
1663
- if (_this.treeObj.checkedNodes.length > 0) {
1727
+ if (_this.treeObj.checkedNodes.length > 0 && !_this.isFilterRestore) {
1664
1728
  var nodes = _this.treeObj.element.querySelectorAll('li');
1665
1729
  var checkedNodes = _this.treeObj.element.querySelectorAll('li[aria-checked=true]');
1666
1730
  if ((checkedNodes.length === nodes.length || _this.checkSelectAll) && _this.checkBoxElement) {
@@ -1679,8 +1743,10 @@ var DropDownTree = /** @class */ (function (_super) {
1679
1743
  });
1680
1744
  };
1681
1745
  DropDownTree.prototype.reactCallBack = function () {
1682
- this.updatePopupHeight();
1683
- this.popupObj.refreshPosition();
1746
+ if (!isNOU(this.popupObj)) {
1747
+ this.updatePopupHeight();
1748
+ this.popupObj.refreshPosition();
1749
+ }
1684
1750
  };
1685
1751
  DropDownTree.prototype.updatePopupHeight = function () {
1686
1752
  if (this.isFirstRender) {
@@ -1819,6 +1885,7 @@ var DropDownTree = /** @class */ (function (_super) {
1819
1885
  this.updateView();
1820
1886
  }
1821
1887
  this.treeObj.element.focus();
1888
+ this.isInitialized = true;
1822
1889
  }
1823
1890
  var eventArgs = { data: args.data };
1824
1891
  this.trigger('dataBound', eventArgs);
@@ -2038,6 +2105,7 @@ var DropDownTree = /** @class */ (function (_super) {
2038
2105
  this.setProperties({ text: selectedText }, true);
2039
2106
  this.currentText = this.text;
2040
2107
  this.currentValue = this.value;
2108
+ this.setValueTemplate();
2041
2109
  if (!isNOU(this.value) && this.value.length > 0) {
2042
2110
  this.inputWrapper.setAttribute('aria-label', args.nodeData.text.toString());
2043
2111
  }
@@ -2181,11 +2249,13 @@ var DropDownTree = /** @class */ (function (_super) {
2181
2249
  var isValid = this.getValidMode();
2182
2250
  if (this.chipWrapper.classList.contains(HIDEICON) && isValid) {
2183
2251
  removeClass([this.chipWrapper], HIDEICON);
2252
+ this.showOrHideValueTemplate(false, true);
2184
2253
  addClass([this.inputWrapper], SHOW_CHIP);
2185
2254
  }
2186
2255
  else if (!isValid) {
2187
2256
  addClass([this.chipWrapper], HIDEICON);
2188
2257
  removeClass([this.inputWrapper], SHOW_CHIP);
2258
+ this.showOrHideValueTemplate(true);
2189
2259
  }
2190
2260
  var isValue = this.value !== null ? (this.value.length !== 0 ? true : false) : false;
2191
2261
  if (isValid && isValue) {
@@ -2200,6 +2270,7 @@ var DropDownTree = /** @class */ (function (_super) {
2200
2270
  if (this.chipWrapper) {
2201
2271
  addClass([this.chipWrapper], HIDEICON);
2202
2272
  removeClass([this.inputWrapper], SHOW_CHIP);
2273
+ this.showOrHideValueTemplate(true);
2203
2274
  }
2204
2275
  }
2205
2276
  };
@@ -2208,6 +2279,7 @@ var DropDownTree = /** @class */ (function (_super) {
2208
2279
  removeClass([this.inputEle], CHIP_INPUT);
2209
2280
  if (this.chipWrapper) {
2210
2281
  addClass([this.chipWrapper], HIDEICON);
2282
+ this.showOrHideValueTemplate(true);
2211
2283
  }
2212
2284
  }
2213
2285
  };
@@ -2220,7 +2292,8 @@ var DropDownTree = /** @class */ (function (_super) {
2220
2292
  if (!this.isFilteredData) {
2221
2293
  this.setProperties({ value: this.isFromFilterChange && newValues && newValues.length === 0 ? this.value : newValues }, true);
2222
2294
  this.isFromFilterChange = false;
2223
- if (newValues && newValues.length !== 0 && !this.showCheckBox && !this.ddtCompareValues(this.treeObj.selectedNodes, this.value.slice())) {
2295
+ if (newValues && newValues.length !== 0 && !this.showCheckBox &&
2296
+ !this.ddtCompareValues(this.treeObj.selectedNodes, this.value.slice())) {
2224
2297
  this.treeObj.selectedNodes = this.value.slice();
2225
2298
  this.treeObj.dataBind();
2226
2299
  }
@@ -2259,12 +2332,14 @@ var DropDownTree = /** @class */ (function (_super) {
2259
2332
  addClass([this.inputEle], CHIP_INPUT);
2260
2333
  if (this.chipWrapper) {
2261
2334
  removeClass([this.chipWrapper], HIDEICON);
2335
+ this.showOrHideValueTemplate(false, true);
2262
2336
  }
2263
2337
  }
2264
2338
  var isValue = this.value ? (this.value.length ? true : false) : false;
2265
2339
  if (this.chipWrapper && (this.mode === 'Box' && !isValue)) {
2266
2340
  addClass([this.chipWrapper], HIDEICON);
2267
2341
  removeClass([this.inputEle], CHIP_INPUT);
2342
+ this.showOrHideValueTemplate(true);
2268
2343
  }
2269
2344
  this.updateSelectedValues();
2270
2345
  };
@@ -2280,7 +2355,7 @@ var DropDownTree = /** @class */ (function (_super) {
2280
2355
  }
2281
2356
  if (isNOU(data)) {
2282
2357
  if (this.treeSettings.loadOnDemand) {
2283
- data = this.getNodeData(value);
2358
+ data = this.getNodeData(value, this.treeItems);
2284
2359
  }
2285
2360
  else {
2286
2361
  data = this.treeObj.getNode(value);
@@ -2291,21 +2366,21 @@ var DropDownTree = /** @class */ (function (_super) {
2291
2366
  }
2292
2367
  return data;
2293
2368
  };
2294
- DropDownTree.prototype.getNodeData = function (id) {
2369
+ DropDownTree.prototype.getNodeData = function (id, dataSource) {
2295
2370
  var childItems;
2296
2371
  if (isNOU(id)) {
2297
2372
  return childItems;
2298
2373
  }
2299
2374
  else if (this.treeDataType === 1) {
2300
- for (var i = 0, objlen = this.treeItems.length; i < objlen; i++) {
2301
- var dataId = getValue(this.fields.value, this.treeItems[i]);
2302
- if (!isNOU(this.treeItems[i]) && !isNOU(dataId) && dataId.toString() === id) {
2303
- return this.treeItems[i];
2375
+ for (var i = 0, objlen = dataSource.length; i < objlen; i++) {
2376
+ var dataId = getValue(this.fields.value, dataSource[i]);
2377
+ if (!isNOU(dataSource[i]) && !isNOU(dataId) && dataId.toString() === id) {
2378
+ return dataSource[i];
2304
2379
  }
2305
2380
  }
2306
2381
  }
2307
2382
  else {
2308
- return this.getChildNodeData(this.treeItems, this.fields, id);
2383
+ return this.getChildNodeData(dataSource, this.fields, id);
2309
2384
  }
2310
2385
  return childItems;
2311
2386
  };
@@ -2350,7 +2425,41 @@ var DropDownTree = /** @class */ (function (_super) {
2350
2425
  }
2351
2426
  }
2352
2427
  };
2428
+ DropDownTree.prototype.initializeValueTemplate = function () {
2429
+ if (!this.valueTemplate) {
2430
+ return null;
2431
+ }
2432
+ if (this.valueTemplateContainer) {
2433
+ while (this.valueTemplateContainer.firstChild) {
2434
+ this.valueTemplateContainer.removeChild(this.valueTemplateContainer.firstChild);
2435
+ }
2436
+ }
2437
+ else {
2438
+ this.valueTemplateContainer = this.createElement('span', { className: OVERFLOW_VIEW + ' ' + SHOW_TEXT + ' ' + 'e-input-value' + ' ' + HIDEICON });
2439
+ }
2440
+ this.inputWrapper.insertBefore(this.valueTemplateContainer, this.inputEle);
2441
+ return this.templateComplier(this.valueTemplate);
2442
+ };
2443
+ DropDownTree.prototype.showOrHideValueTemplate = function (show, showChip) {
2444
+ if (showChip === void 0) { showChip = false; }
2445
+ if (!this.valueTemplateContainer || this.mode === 'Box') {
2446
+ return;
2447
+ }
2448
+ if (show) {
2449
+ removeClass([this.valueTemplateContainer], HIDEICON);
2450
+ addClass([this.inputWrapper], SHOW_CHIP);
2451
+ addClass([this.inputEle], CHIP_INPUT);
2452
+ }
2453
+ else {
2454
+ addClass([this.valueTemplateContainer], HIDEICON);
2455
+ if (!showChip) {
2456
+ removeClass([this.inputWrapper], SHOW_CHIP);
2457
+ removeClass([this.inputEle], CHIP_INPUT);
2458
+ }
2459
+ }
2460
+ };
2353
2461
  DropDownTree.prototype.updateSelectedValues = function () {
2462
+ var _this = this;
2354
2463
  this.dataValue = '';
2355
2464
  var temp;
2356
2465
  var text;
@@ -2365,6 +2474,7 @@ var DropDownTree = /** @class */ (function (_super) {
2365
2474
  this.selectedData = [];
2366
2475
  }
2367
2476
  if (!isNOU(this.value)) {
2477
+ var compiledString = this.initializeValueTemplate();
2368
2478
  for (var i = 0, len = this.value.length; i < len; i++) {
2369
2479
  selectedData = this.getSelectedData(this.value[i]);
2370
2480
  text = getValue(this.treeSettings.loadOnDemand ? this.fields.text : 'text', selectedData);
@@ -2384,6 +2494,19 @@ var DropDownTree = /** @class */ (function (_super) {
2384
2494
  }
2385
2495
  hiddenInputValue += '<option selected value ="' + this.value[i] + '">' +
2386
2496
  this.selectedText[this.selectedText.length - 1] + '</option>';
2497
+ if (this.valueTemplate) {
2498
+ this.getValueTemplateElement(this.value[i], compiledString);
2499
+ }
2500
+ }
2501
+ if (this.hasTemplate && this.portals) {
2502
+ if (this.treeObj.portals) {
2503
+ this.portals = this.portals.concat(this.treeObj.portals.filter(function (item) {
2504
+ return !_this.portals.includes(item);
2505
+ }));
2506
+ }
2507
+ if (this.isReact) {
2508
+ this.renderReactTemplates(this.reactCallBack);
2509
+ }
2387
2510
  }
2388
2511
  if (this.selectedText.length >= 1) {
2389
2512
  this.setProperties({ text: textValue }, true);
@@ -2399,6 +2522,7 @@ var DropDownTree = /** @class */ (function (_super) {
2399
2522
  addClass([this.chipWrapper], HIDEICON);
2400
2523
  removeClass([this.inputWrapper], SHOW_CHIP);
2401
2524
  }
2525
+ this.showOrHideValueTemplate(true);
2402
2526
  }
2403
2527
  Input.setValue(this.dataValue, this.inputEle, this.floatLabelType);
2404
2528
  if (textValue === '') {
@@ -2463,6 +2587,7 @@ var DropDownTree = /** @class */ (function (_super) {
2463
2587
  }
2464
2588
  if (this.chipWrapper.classList.contains(HIDEICON)) {
2465
2589
  removeClass([this.chipWrapper], HIDEICON);
2590
+ this.showOrHideValueTemplate(false, true);
2466
2591
  }
2467
2592
  var chipContent = this.createElement('span', { className: CHIP_CONTENT });
2468
2593
  var template = this.customTemplate;
@@ -2600,6 +2725,7 @@ var DropDownTree = /** @class */ (function (_super) {
2600
2725
  if (!isDynamicChange) {
2601
2726
  this.oldValue = this.value;
2602
2727
  this.setProperties({ value: [] }, true);
2728
+ this.showOrHideValueTemplate(false);
2603
2729
  }
2604
2730
  if (isNOU(this.value) || this.value.length === 0) {
2605
2731
  this.inputWrapper.setAttribute('aria-label', this.getModuleName());
@@ -2671,18 +2797,20 @@ var DropDownTree = /** @class */ (function (_super) {
2671
2797
  }
2672
2798
  };
2673
2799
  DropDownTree.prototype.updateTreeSettings = function (prop) {
2674
- var value = Object.keys(prop.treeSettings)[0];
2675
- if (value === 'autoCheck') {
2800
+ if (prop === 'autoCheck') {
2676
2801
  this.treeObj.autoCheck = this.treeSettings.autoCheck;
2677
2802
  }
2678
- else if (value === 'loadOnDemand') {
2803
+ else if (prop === 'loadOnDemand') {
2679
2804
  this.treeObj.loadOnDemand = this.treeSettings.loadOnDemand;
2680
2805
  }
2681
- else if (value === 'expandOn') {
2806
+ else if (prop === 'expandOn') {
2682
2807
  this.treeObj.expandOn = this.treeSettings.expandOn;
2683
2808
  this.treeObj.dataBind();
2684
2809
  return;
2685
2810
  }
2811
+ else if (prop === 'checkDisabledChildren') {
2812
+ this.treeObj.checkDisabledChildren = this.treeSettings.checkDisabledChildren;
2813
+ }
2686
2814
  this.treeObj.dataBind();
2687
2815
  this.setMultiSelect();
2688
2816
  this.updateValue(this.value);
@@ -2748,6 +2876,9 @@ var DropDownTree = /** @class */ (function (_super) {
2748
2876
  }
2749
2877
  addClass([this.noRecord], NODATACONTAINER);
2750
2878
  prepend([this.noRecord], this.popupDiv);
2879
+ if (this.treeObj) {
2880
+ this.treeObj.element.removeAttribute('aria-activedescendant');
2881
+ }
2751
2882
  };
2752
2883
  DropDownTree.prototype.updateRecordTemplate = function (action) {
2753
2884
  if (this.treeItems && this.treeItems.length <= 0) {
@@ -2830,7 +2961,7 @@ var DropDownTree = /** @class */ (function (_super) {
2830
2961
  return;
2831
2962
  }
2832
2963
  if (!this.wrapText) {
2833
- var overFlow = select('.' + OVERFLOW_VIEW, this.inputWrapper);
2964
+ var overFlow = select('.e-overflow:not(.e-input-value)', this.inputWrapper);
2834
2965
  if (overFlow) {
2835
2966
  overFlow.innerHTML = '';
2836
2967
  }
@@ -2969,7 +3100,10 @@ var DropDownTree = /** @class */ (function (_super) {
2969
3100
  this.updateOption();
2970
3101
  break;
2971
3102
  case 'treeSettings':
2972
- this.updateTreeSettings(newProp);
3103
+ for (var _b = 0, _c = Object.keys(newProp.treeSettings); _b < _c.length; _b++) {
3104
+ var prop_1 = _c[_b];
3105
+ this.updateTreeSettings(prop_1);
3106
+ }
2973
3107
  break;
2974
3108
  case 'customTemplate':
2975
3109
  if (this.mode !== 'Custom') {
@@ -3089,7 +3223,7 @@ var DropDownTree = /** @class */ (function (_super) {
3089
3223
  detach(this.hiddenElement);
3090
3224
  Input.setRipple(false, [this.inputObj]);
3091
3225
  this.element.classList.remove('e-input');
3092
- if (this.showCheckBox || this.allowMultiSelection) {
3226
+ if (this.showCheckBox || this.allowMultiSelection || (this.value && this.valueTemplateContainer)) {
3093
3227
  this.element.classList.remove(CHIP_INPUT);
3094
3228
  }
3095
3229
  detach(this.inputObj.container);
@@ -3141,7 +3275,8 @@ var DropDownTree = /** @class */ (function (_super) {
3141
3275
  DropDownTree.prototype.destroyPopup = function () {
3142
3276
  this.isPopupOpen = false;
3143
3277
  if (this.isReact) {
3144
- this.clearTemplate();
3278
+ this.clearTemplate(['headerTemplate', 'footerTemplate', 'itemTemplate', 'actionFailureTemplate',
3279
+ 'noRecordsTemplate', 'customTemplate']);
3145
3280
  }
3146
3281
  if (this.popupObj) {
3147
3282
  this.popupObj.destroy();
@@ -3337,6 +3472,9 @@ var DropDownTree = /** @class */ (function (_super) {
3337
3472
  __decorate([
3338
3473
  Property(null)
3339
3474
  ], DropDownTree.prototype, "value", void 0);
3475
+ __decorate([
3476
+ Property(null)
3477
+ ], DropDownTree.prototype, "valueTemplate", void 0);
3340
3478
  __decorate([
3341
3479
  Property('100%')
3342
3480
  ], DropDownTree.prototype, "width", void 0);