primeng 22.1.0 → 22.1.1

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 (460) hide show
  1. package/fesm2022/primeng-accordion.mjs +69 -53
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +19 -10
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +60 -59
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +72 -33
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +7 -7
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +13 -13
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +13 -13
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +13 -13
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +12 -30
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +12 -23
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +8 -3
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +3 -3
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +9 -8
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +10 -13
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +10 -10
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +45 -38
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +10 -10
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +10 -10
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +44 -45
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +111 -76
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +13 -13
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +17 -19
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +13 -13
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +7 -7
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +20 -20
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +14 -16
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +20 -19
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +10 -10
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +23 -27
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +34 -47
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +70 -39
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +15 -14
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +100 -98
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +47 -40
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +15 -17
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +20 -14
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +14 -8
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +11 -10
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +26 -24
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +82 -93
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +16 -15
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +14 -17
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +26 -19
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +13 -13
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +11 -11
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +19 -19
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +55 -51
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +103 -105
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +13 -13
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +3 -3
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +3 -3
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +3 -3
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +3 -3
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +3 -3
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +3 -3
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +3 -3
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +3 -3
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +3 -3
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +3 -3
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +3 -3
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +3 -3
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +3 -3
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +3 -3
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +3 -3
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-iftalabel.mjs +10 -10
  212. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  213. package/fesm2022/primeng-image.mjs +21 -23
  214. package/fesm2022/primeng-image.mjs.map +1 -1
  215. package/fesm2022/primeng-imagecompare.mjs +10 -10
  216. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  217. package/fesm2022/primeng-inplace.mjs +16 -16
  218. package/fesm2022/primeng-inplace.mjs.map +1 -1
  219. package/fesm2022/primeng-inputcolor.mjs +55 -46
  220. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  221. package/fesm2022/primeng-inputgroup.mjs +10 -10
  222. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  223. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  224. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  225. package/fesm2022/primeng-inputicon.mjs +10 -10
  226. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  227. package/fesm2022/primeng-inputmask.mjs +27 -19
  228. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  229. package/fesm2022/primeng-inputnumber.mjs +21 -21
  230. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  231. package/fesm2022/primeng-inputotp.mjs +15 -14
  232. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  233. package/fesm2022/primeng-inputpassword.mjs +13 -15
  234. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  235. package/fesm2022/primeng-inputtags.mjs +10 -10
  236. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  237. package/fesm2022/primeng-inputtext.mjs +18 -13
  238. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  239. package/fesm2022/primeng-keyfilter.mjs +13 -12
  240. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  241. package/fesm2022/primeng-knob.mjs +15 -13
  242. package/fesm2022/primeng-knob.mjs.map +1 -1
  243. package/fesm2022/primeng-label.mjs +10 -10
  244. package/fesm2022/primeng-label.mjs.map +1 -1
  245. package/fesm2022/primeng-license.mjs.map +1 -1
  246. package/fesm2022/primeng-listbox.mjs +67 -52
  247. package/fesm2022/primeng-listbox.mjs.map +1 -1
  248. package/fesm2022/primeng-megamenu.mjs +51 -31
  249. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  250. package/fesm2022/primeng-menu.mjs +48 -45
  251. package/fesm2022/primeng-menu.mjs.map +1 -1
  252. package/fesm2022/primeng-menubar.mjs +60 -38
  253. package/fesm2022/primeng-menubar.mjs.map +1 -1
  254. package/fesm2022/primeng-message.mjs +25 -29
  255. package/fesm2022/primeng-message.mjs.map +1 -1
  256. package/fesm2022/primeng-metergroup.mjs +16 -16
  257. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  258. package/fesm2022/primeng-motion.mjs +18 -18
  259. package/fesm2022/primeng-motion.mjs.map +1 -1
  260. package/fesm2022/primeng-multiselect.mjs +184 -150
  261. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  262. package/fesm2022/primeng-orderlist.mjs +14 -28
  263. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  264. package/fesm2022/primeng-organizationchart.mjs +16 -18
  265. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  266. package/fesm2022/primeng-overlay.mjs +48 -34
  267. package/fesm2022/primeng-overlay.mjs.map +1 -1
  268. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  269. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  270. package/fesm2022/primeng-paginator.mjs +16 -16
  271. package/fesm2022/primeng-paginator.mjs.map +1 -1
  272. package/fesm2022/primeng-panel.mjs +20 -24
  273. package/fesm2022/primeng-panel.mjs.map +1 -1
  274. package/fesm2022/primeng-panelmenu.mjs +62 -30
  275. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  276. package/fesm2022/primeng-passthrough.mjs +5 -7
  277. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  278. package/fesm2022/primeng-password.mjs +39 -31
  279. package/fesm2022/primeng-password.mjs.map +1 -1
  280. package/fesm2022/primeng-picklist.mjs +23 -20
  281. package/fesm2022/primeng-picklist.mjs.map +1 -1
  282. package/fesm2022/primeng-popover.mjs +23 -21
  283. package/fesm2022/primeng-popover.mjs.map +1 -1
  284. package/fesm2022/primeng-progressbar.mjs +13 -13
  285. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  286. package/fesm2022/primeng-progressspinner.mjs +10 -10
  287. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  288. package/fesm2022/primeng-radiobutton.mjs +17 -19
  289. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  290. package/fesm2022/primeng-rating.mjs +13 -13
  291. package/fesm2022/primeng-rating.mjs.map +1 -1
  292. package/fesm2022/primeng-ripple.mjs +31 -17
  293. package/fesm2022/primeng-ripple.mjs.map +1 -1
  294. package/fesm2022/primeng-scrollarea.mjs +25 -25
  295. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  296. package/fesm2022/primeng-scroller.mjs +65 -29
  297. package/fesm2022/primeng-scroller.mjs.map +1 -1
  298. package/fesm2022/primeng-scrollpanel.mjs +52 -26
  299. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  300. package/fesm2022/primeng-scrolltop.mjs +18 -19
  301. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  302. package/fesm2022/primeng-select.mjs +102 -51
  303. package/fesm2022/primeng-select.mjs.map +1 -1
  304. package/fesm2022/primeng-selectbutton.mjs +10 -10
  305. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  306. package/fesm2022/primeng-sidebar.mjs +143 -140
  307. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  308. package/fesm2022/primeng-skeleton.mjs +10 -10
  309. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  310. package/fesm2022/primeng-slider.mjs +22 -22
  311. package/fesm2022/primeng-slider.mjs.map +1 -1
  312. package/fesm2022/primeng-speeddial.mjs +30 -17
  313. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  314. package/fesm2022/primeng-splitbutton.mjs +18 -19
  315. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  316. package/fesm2022/primeng-splitter.mjs +20 -23
  317. package/fesm2022/primeng-splitter.mjs.map +1 -1
  318. package/fesm2022/primeng-stepper.mjs +64 -68
  319. package/fesm2022/primeng-stepper.mjs.map +1 -1
  320. package/fesm2022/primeng-steps.mjs +150 -127
  321. package/fesm2022/primeng-steps.mjs.map +1 -1
  322. package/fesm2022/primeng-styleclass.mjs +13 -9
  323. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  324. package/fesm2022/primeng-table.mjs +213 -190
  325. package/fesm2022/primeng-table.mjs.map +1 -1
  326. package/fesm2022/primeng-tabs.mjs +66 -50
  327. package/fesm2022/primeng-tabs.mjs.map +1 -1
  328. package/fesm2022/primeng-tag.mjs +10 -10
  329. package/fesm2022/primeng-tag.mjs.map +1 -1
  330. package/fesm2022/primeng-terminal.mjs +13 -13
  331. package/fesm2022/primeng-terminal.mjs.map +1 -1
  332. package/fesm2022/primeng-textarea.mjs +16 -12
  333. package/fesm2022/primeng-textarea.mjs.map +1 -1
  334. package/fesm2022/primeng-tieredmenu.mjs +65 -34
  335. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  336. package/fesm2022/primeng-timeline.mjs +13 -13
  337. package/fesm2022/primeng-timeline.mjs.map +1 -1
  338. package/fesm2022/primeng-toast.mjs +115 -121
  339. package/fesm2022/primeng-toast.mjs.map +1 -1
  340. package/fesm2022/primeng-togglebutton.mjs +10 -10
  341. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  342. package/fesm2022/primeng-toggleswitch.mjs +10 -10
  343. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  344. package/fesm2022/primeng-toolbar.mjs +16 -16
  345. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  346. package/fesm2022/primeng-tooltip.mjs +27 -14
  347. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  348. package/fesm2022/primeng-tree.mjs +55 -66
  349. package/fesm2022/primeng-tree.mjs.map +1 -1
  350. package/fesm2022/primeng-treeselect.mjs +28 -16
  351. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  352. package/fesm2022/primeng-treetable.mjs +139 -127
  353. package/fesm2022/primeng-treetable.mjs.map +1 -1
  354. package/fesm2022/primeng-usestyle.mjs +10 -6
  355. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  356. package/fesm2022/primeng-utils.mjs +13 -22
  357. package/fesm2022/primeng-utils.mjs.map +1 -1
  358. package/package.json +2 -2
  359. package/types/primeng-accordion.d.ts +27 -29
  360. package/types/primeng-api.d.ts +7 -1
  361. package/types/primeng-autocomplete.d.ts +64 -66
  362. package/types/primeng-avatar.d.ts +19 -21
  363. package/types/primeng-avatargroup.d.ts +9 -11
  364. package/types/primeng-badge.d.ts +15 -17
  365. package/types/primeng-basecomponent.d.ts +1 -1
  366. package/types/primeng-button.d.ts +34 -36
  367. package/types/primeng-buttongroup.d.ts +9 -11
  368. package/types/primeng-card.d.ts +16 -18
  369. package/types/primeng-carousel.d.ts +67 -69
  370. package/types/primeng-cascadeselect.d.ts +69 -71
  371. package/types/primeng-chart.d.ts +15 -17
  372. package/types/primeng-checkbox.d.ts +22 -24
  373. package/types/primeng-chip.d.ts +25 -27
  374. package/types/primeng-colorpicker.d.ts +31 -33
  375. package/types/primeng-commandmenu.d.ts +1 -1
  376. package/types/primeng-compare.d.ts +17 -19
  377. package/types/primeng-config.d.ts +1 -1
  378. package/types/primeng-confirmdialog.d.ts +14 -16
  379. package/types/primeng-confirmpopup.d.ts +23 -29
  380. package/types/primeng-contextmenu.d.ts +36 -38
  381. package/types/primeng-dataview.d.ts +25 -27
  382. package/types/primeng-datepicker.d.ts +107 -109
  383. package/types/primeng-dialog.d.ts +39 -41
  384. package/types/primeng-divider.d.ts +18 -20
  385. package/types/primeng-dock.d.ts +26 -28
  386. package/types/primeng-drawer.d.ts +30 -32
  387. package/types/primeng-dynamicdialog.d.ts +52 -56
  388. package/types/primeng-editor.d.ts +17 -19
  389. package/types/primeng-fieldset.d.ts +20 -22
  390. package/types/primeng-fileupload.d.ts +27 -29
  391. package/types/primeng-floatlabel.d.ts +15 -17
  392. package/types/primeng-fluid.d.ts +9 -11
  393. package/types/primeng-galleria.d.ts +69 -71
  394. package/types/primeng-gallery.d.ts +6 -6
  395. package/types/primeng-iconfield.d.ts +10 -12
  396. package/types/primeng-icons-baseicon.d.ts +6 -8
  397. package/types/primeng-iftalabel.d.ts +9 -11
  398. package/types/primeng-image.d.ts +31 -33
  399. package/types/primeng-imagecompare.d.ts +10 -12
  400. package/types/primeng-inplace.d.ts +15 -17
  401. package/types/primeng-inputcolor.d.ts +27 -29
  402. package/types/primeng-inputgroup.d.ts +13 -15
  403. package/types/primeng-inputmask.d.ts +15 -17
  404. package/types/primeng-inputnumber.d.ts +35 -37
  405. package/types/primeng-inputotp.d.ts +11 -13
  406. package/types/primeng-inputpassword.d.ts +9 -12
  407. package/types/primeng-inputtags.d.ts +13 -15
  408. package/types/primeng-inputtext.d.ts +14 -16
  409. package/types/primeng-knob.d.ts +17 -19
  410. package/types/primeng-label.d.ts +9 -11
  411. package/types/primeng-listbox.d.ts +4 -4
  412. package/types/primeng-megamenu.d.ts +52 -54
  413. package/types/primeng-menu.d.ts +40 -42
  414. package/types/primeng-menubar.d.ts +1 -1
  415. package/types/primeng-message.d.ts +20 -22
  416. package/types/primeng-metergroup.d.ts +27 -29
  417. package/types/primeng-motion.d.ts +1 -3
  418. package/types/primeng-multiselect.d.ts +104 -106
  419. package/types/primeng-orderlist.d.ts +16 -18
  420. package/types/primeng-organizationchart.d.ts +21 -23
  421. package/types/primeng-overlay.d.ts +1 -1
  422. package/types/primeng-paginator.d.ts +48 -52
  423. package/types/primeng-panelmenu.d.ts +45 -47
  424. package/types/primeng-password.d.ts +47 -49
  425. package/types/primeng-picklist.d.ts +16 -18
  426. package/types/primeng-popover.d.ts +3 -3
  427. package/types/primeng-progressbar.d.ts +17 -19
  428. package/types/primeng-progressspinner.d.ts +13 -15
  429. package/types/primeng-radiobutton.d.ts +22 -24
  430. package/types/primeng-rating.d.ts +26 -28
  431. package/types/primeng-ripple.d.ts +9 -11
  432. package/types/primeng-scrollarea.d.ts +34 -36
  433. package/types/primeng-scroller.d.ts +28 -30
  434. package/types/primeng-scrollpanel.d.ts +15 -17
  435. package/types/primeng-scrolltop.d.ts +17 -19
  436. package/types/primeng-select.d.ts +56 -58
  437. package/types/primeng-selectbutton.d.ts +14 -16
  438. package/types/primeng-sidebar.d.ts +33 -35
  439. package/types/primeng-skeleton.d.ts +14 -16
  440. package/types/primeng-slider.d.ts +34 -36
  441. package/types/primeng-speeddial.d.ts +39 -41
  442. package/types/primeng-splitbutton.d.ts +20 -22
  443. package/types/primeng-splitter.d.ts +15 -17
  444. package/types/primeng-stepper.d.ts +19 -31
  445. package/types/primeng-steps.d.ts +25 -27
  446. package/types/primeng-table.d.ts +17 -18
  447. package/types/primeng-tabs.d.ts +13 -23
  448. package/types/primeng-tag.d.ts +21 -23
  449. package/types/primeng-terminal.d.ts +17 -19
  450. package/types/primeng-textarea.d.ts +14 -16
  451. package/types/primeng-tieredmenu.d.ts +43 -45
  452. package/types/primeng-timeline.d.ts +18 -20
  453. package/types/primeng-toast.d.ts +48 -50
  454. package/types/primeng-togglebutton.d.ts +23 -25
  455. package/types/primeng-toggleswitch.d.ts +22 -24
  456. package/types/primeng-toolbar.d.ts +14 -16
  457. package/types/primeng-tooltip.d.ts +23 -25
  458. package/types/primeng-tree.d.ts +52 -54
  459. package/types/primeng-treeselect.d.ts +52 -48
  460. package/types/primeng-treetable.d.ts +109 -111
@@ -2,6 +2,8 @@ import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Injectable, forwardRef, InjectionToken, inject, input, booleanAttribute, numberAttribute, output, computed, viewChild, contentChild, signal, effect, untracked, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { ChevronDown } from '@primeicons/angular/chevron-down';
6
+ import { Times } from '@primeicons/angular/times';
5
7
  import { uuid, isNotEmpty, getFocusableElements, getFirstFocusableElement, focus, getLastFocusableElement } from '@primeuix/utils';
6
8
  import { SharedModule } from 'primeng/api';
7
9
  import { AutoFocus } from 'primeng/autofocus';
@@ -11,8 +13,6 @@ import * as i1 from 'primeng/bind';
11
13
  import { Bind } from 'primeng/bind';
12
14
  import { Chip } from 'primeng/chip';
13
15
  import { Fluid } from 'primeng/fluid';
14
- import { ChevronDown } from '@primeicons/angular/chevron-down';
15
- import { Times } from '@primeicons/angular/times';
16
16
  import { Overlay } from 'primeng/overlay';
17
17
  import { Tree } from 'primeng/tree';
18
18
  import { style } from '@primeuix/styles/treeselect';
@@ -61,10 +61,10 @@ class TreeSelectStyle extends BaseStyle {
61
61
  style = style;
62
62
  classes = classes;
63
63
  inlineStyles = inlineStyles;
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectStyle });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
65
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectStyle });
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectStyle, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectStyle, decorators: [{
68
68
  type: Injectable
69
69
  }] });
70
70
  /**
@@ -562,7 +562,13 @@ class TreeSelect extends BaseEditableHolder {
562
562
  ...(ngDevMode ? [{ debugName: "$labelText" }] : /* istanbul ignore next */ []));
563
563
  $placeholderText = computed(() => this.placeholder() || 'empty', /* @ts-ignore */
564
564
  ...(ngDevMode ? [{ debugName: "$placeholderText" }] : /* istanbul ignore next */ []));
565
- $treeContainerStyle = computed(() => ({ 'max-height': this.scrollHeight() }), /* @ts-ignore */
565
+ $treeContainerStyle = computed(() => {
566
+ if (!this.virtualScroll()) {
567
+ return { 'max-height': this.scrollHeight() };
568
+ }
569
+ const height = this.virtualScrollOptions()?.scrollHeight ?? this.scrollHeight();
570
+ return { height, 'max-height': height, overflow: 'hidden' };
571
+ }, /* @ts-ignore */
566
572
  ...(ngDevMode ? [{ debugName: "$treeContainerStyle" }] : /* istanbul ignore next */ []));
567
573
  constructor() {
568
574
  super();
@@ -584,8 +590,12 @@ class TreeSelect extends BaseEditableHolder {
584
590
  }
585
591
  onOverlayBeforeEnter() {
586
592
  if (this.filter()) {
587
- isNotEmpty(this.filterValue) && this.treeViewChild()?._filter(this.filterValue);
588
- this.filterInputAutoFocus() && this.filterViewChild()?.nativeElement.focus();
593
+ if (isNotEmpty(this.filterValue)) {
594
+ this.treeViewChild()?._filter(this.filterValue);
595
+ }
596
+ if (this.filterInputAutoFocus()) {
597
+ this.filterViewChild()?.nativeElement.focus();
598
+ }
589
599
  }
590
600
  else {
591
601
  let focusableElements = getFocusableElements(this.panelEl()?.nativeElement);
@@ -713,7 +723,9 @@ class TreeSelect extends BaseEditableHolder {
713
723
  event.preventDefault();
714
724
  }
715
725
  else {
716
- this.overlayVisible() && this.hide(this.filter());
726
+ if (this.overlayVisible()) {
727
+ this.hide(this.filter());
728
+ }
717
729
  }
718
730
  }
719
731
  }
@@ -869,8 +881,8 @@ class TreeSelect extends BaseEditableHolder {
869
881
  this._value.set(value);
870
882
  this.updateTreeState();
871
883
  }
872
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
873
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: TreeSelect, isStandalone: true, selector: "p-tree-select, p-treeselect", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, labelStyle: { classPropertyName: "labelStyle", publicName: "labelStyle", isSignal: true, isRequired: false, transformFunction: null }, labelStyleClass: { classPropertyName: "labelStyleClass", publicName: "labelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterMode: { classPropertyName: "filterMode", publicName: "filterMode", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, filterInputAutoFocus: { classPropertyName: "filterInputAutoFocus", publicName: "filterInputAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onShow: "onShow", onHide: "onHide", onClear: "onClear", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onNodeUnselect: "onNodeUnselect", onNodeSelect: "onNodeSelect" }, host: { listeners: { "mousedown": "onClick($event)" }, properties: { "class": "cx('root')", "style": "sx('root')" } }, providers: [
884
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelect, deps: [], target: i0.ɵɵFactoryTarget.Component });
885
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: TreeSelect, isStandalone: true, selector: "p-tree-select, p-treeselect", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, labelStyle: { classPropertyName: "labelStyle", publicName: "labelStyle", isSignal: true, isRequired: false, transformFunction: null }, labelStyleClass: { classPropertyName: "labelStyleClass", publicName: "labelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: true, isRequired: false, transformFunction: null }, filterMode: { classPropertyName: "filterMode", publicName: "filterMode", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: true, isRequired: false, transformFunction: null }, filterInputAutoFocus: { classPropertyName: "filterInputAutoFocus", publicName: "filterInputAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: true, isRequired: false, transformFunction: null }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: true, isRequired: false, transformFunction: null }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, motionOptions: { classPropertyName: "motionOptions", publicName: "motionOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onShow: "onShow", onHide: "onHide", onClear: "onClear", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onNodeUnselect: "onNodeUnselect", onNodeSelect: "onNodeSelect" }, host: { listeners: { "mousedown": "onClick($event)" }, properties: { "class": "cx('root')", "style": "sx('root')" } }, providers: [
874
886
  TREESELECT_VALUE_ACCESSOR,
875
887
  TreeSelectStyle,
876
888
  {
@@ -1048,7 +1060,7 @@ class TreeSelect extends BaseEditableHolder {
1048
1060
  </p-overlay>
1049
1061
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "listener", "responsive", "options", "appendTo", "inline", "motionOptions", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "collapsedKeys", "selectionKeys", "contextMenu", "contextMenuSelection", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterInputAutoFocus", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "trackBy", "highlightOnSelect"], outputs: ["selectionChange", "collapsedKeysChange", "selectionKeysChange", "contextMenuSelectionChange", "filteredNodesChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDoubleClick", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: Times, selector: "svg[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDown, selector: "svg[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "disabled", "removable", "removeIcon", "chipProps"], outputs: ["onRemove", "onImageError"] }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1050
1062
  }
1051
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelect, decorators: [{
1063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelect, decorators: [{
1052
1064
  type: Component,
1053
1065
  args: [{
1054
1066
  selector: 'p-tree-select, p-treeselect',
@@ -1243,11 +1255,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
1243
1255
  }]
1244
1256
  }], ctorParameters: () => [], propDecorators: { inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], metaKeySelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaKeySelection", required: false }] }], display: [{ type: i0.Input, args: [{ isSignal: true, alias: "display", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], panelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyle", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], labelStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelStyle", required: false }] }], labelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelStyleClass", required: false }] }], overlayOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayOptions", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], filter: [{ type: i0.Input, args: [{ isSignal: true, alias: "filter", required: false }] }], filterBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterBy", required: false }] }], filterMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterMode", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], filterLocale: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterLocale", required: false }] }], filterInputAutoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterInputAutoFocus", required: false }] }], propagateSelectionDown: [{ type: i0.Input, args: [{ isSignal: true, alias: "propagateSelectionDown", required: false }] }], propagateSelectionUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "propagateSelectionUp", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], resetFilterOnHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "resetFilterOnHide", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], virtualScrollItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollItemSize", required: false }] }], virtualScrollOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScrollOptions", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], loadingMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingMode", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], motionOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "motionOptions", required: false }] }], onNodeExpand: [{ type: i0.Output, args: ["onNodeExpand"] }], onNodeCollapse: [{ type: i0.Output, args: ["onNodeCollapse"] }], onShow: [{ type: i0.Output, args: ["onShow"] }], onHide: [{ type: i0.Output, args: ["onHide"] }], onClear: [{ type: i0.Output, args: ["onClear"] }], onFilter: [{ type: i0.Output, args: ["onFilter"] }], onFocus: [{ type: i0.Output, args: ["onFocus"] }], onBlur: [{ type: i0.Output, args: ["onBlur"] }], onNodeUnselect: [{ type: i0.Output, args: ["onNodeUnselect"] }], onNodeSelect: [{ type: i0.Output, args: ["onNodeSelect"] }], focusInputViewChild: [{ type: i0.ViewChild, args: ['focusInput', { isSignal: true }] }], filterViewChild: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }], treeViewChild: [{ type: i0.ViewChild, args: ['tree', { isSignal: true }] }], panelEl: [{ type: i0.ViewChild, args: ['panel', { isSignal: true }] }], overlayViewChild: [{ type: i0.ViewChild, args: ['overlay', { isSignal: true }] }], firstHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['firstHiddenFocusableEl', { isSignal: true }] }], lastHiddenFocusableElementOnOverlay: [{ type: i0.ViewChild, args: ['lastHiddenFocusableEl', { isSignal: true }] }], valueTemplate: [{ type: i0.ContentChild, args: ['value', { ...{ descendants: false }, isSignal: true }] }], headerTemplate: [{ type: i0.ContentChild, args: ['header', { ...{ descendants: false }, isSignal: true }] }], emptyTemplate: [{ type: i0.ContentChild, args: ['empty', { ...{ descendants: false }, isSignal: true }] }], footerTemplate: [{ type: i0.ContentChild, args: ['footer', { ...{ descendants: false }, isSignal: true }] }], clearIconTemplate: [{ type: i0.ContentChild, args: ['clearicon', { ...{ descendants: false }, isSignal: true }] }], triggerIconTemplate: [{ type: i0.ContentChild, args: ['triggericon', { ...{ descendants: false }, isSignal: true }] }], dropdownIconTemplate: [{ type: i0.ContentChild, args: ['dropdownicon', { ...{ descendants: false }, isSignal: true }] }], filterIconTemplate: [{ type: i0.ContentChild, args: ['filtericon', { ...{ descendants: false }, isSignal: true }] }], closeIconTemplate: [{ type: i0.ContentChild, args: ['closeicon', { ...{ descendants: false }, isSignal: true }] }], itemTogglerIconTemplate: [{ type: i0.ContentChild, args: ['itemtogglericon', { ...{ descendants: false }, isSignal: true }] }], itemCheckboxIconTemplate: [{ type: i0.ContentChild, args: ['itemcheckboxicon', { ...{ descendants: false }, isSignal: true }] }], itemLoadingIconTemplate: [{ type: i0.ContentChild, args: ['itemloadingicon', { ...{ descendants: false }, isSignal: true }] }] } });
1245
1257
  class TreeSelectModule {
1246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1247
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectModule, imports: [TreeSelect, SharedModule], exports: [TreeSelect, SharedModule] });
1248
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectModule, imports: [TreeSelect, SharedModule, SharedModule] });
1258
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1259
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectModule, imports: [TreeSelect, SharedModule], exports: [TreeSelect, SharedModule] });
1260
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectModule, imports: [TreeSelect, SharedModule, SharedModule] });
1249
1261
  }
1250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: TreeSelectModule, decorators: [{
1262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: TreeSelectModule, decorators: [{
1251
1263
  type: NgModule,
1252
1264
  args: [{
1253
1265
  imports: [TreeSelect, SharedModule],
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-treeselect.mjs","sources":["../../src/treeselect/style/treeselectstyle.ts","../../src/treeselect/treeselect.ts","../../src/treeselect/primeng-treeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/treeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-treeselect p-component p-inputwrapper',\n {\n 'p-treeselect-display-chip': instance.display() === 'chip',\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-filled': !instance.emptyValue(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-treeselect-open': instance.overlayVisible(),\n 'p-treeselect-fluid': instance.hasFluid,\n 'p-treeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-treeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-treeselect-label-container',\n label: ({ instance }) => [\n 'p-treeselect-label',\n {\n 'p-placeholder': instance.label() === instance.placeholder(),\n 'p-treeselect-label-empty': !instance.placeholder() && instance.emptyValue()\n }\n ],\n clearIcon: 'p-treeselect-clear-icon',\n chip: 'p-treeselect-chip-item',\n pcChip: 'p-treeselect-chip',\n dropdown: 'p-treeselect-dropdown',\n dropdownIcon: 'p-treeselect-dropdown-icon',\n panel: 'p-treeselect-overlay p-component-overlay p-component',\n treeContainer: 'p-treeselect-tree-container',\n emptyMessage: 'p-treeselect-empty-message'\n};\n\n@Injectable()\nexport class TreeSelectStyle extends BaseStyle {\n name = 'treeselect';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * TreeSelect is a form component to choose from hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/treeselect/)\n *\n * @module treeselectstyle\n *\n */\nexport enum TreeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-treeselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-treeselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-treeselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-treeselect-chip-item',\n /**\n * Class name of the clear icon element\n */\n clearIcon = 'p-treeselect-clear-icon',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-treeselect-chip',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-treeselect-dropdown',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-treeselect-dropdown-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-treeselect-overlay',\n /**\n * Class name of the tree container element\n */\n treeContainer = 'p-treeselect-tree-container',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-treeselect-empty-message'\n}\n\nexport interface TreeSelectStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n untracked,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@primeuix/motion';\nimport { focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isNotEmpty, uuid } from '@primeuix/utils';\nimport { OverlayOptions, ScrollerOptions, SharedModule, TreeNode } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport { Fluid } from 'primeng/fluid';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { Overlay } from 'primeng/overlay';\nimport { Tree, TreeFilterEvent, TreeNodeSelectEvent, TreeNodeUnSelectEvent } from 'primeng/tree';\nimport type { AppendTo, CSSProperties, InputSize, InputVariant } from 'primeng/types/shared';\nimport { Nullable } from 'primeng/ts-helpers';\nimport {\n TreeSelectDisplay,\n TreeSelectHeaderTemplateContext,\n TreeSelectItemCheckboxIconTemplateContext,\n TreeSelectItemTogglerIconTemplateContext,\n TreeSelectLoadingMode,\n TreeSelectNodeCollapseEvent,\n TreeSelectNodeExpandEvent,\n TreeSelectPassThrough,\n TreeSelectSelectionMode,\n TreeSelectValueTemplateContext\n} from 'primeng/types/treeselect';\nimport { TreeSelectStyle } from './style/treeselectstyle';\n\nexport const TREESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TreeSelect),\n multi: true\n};\n\nconst TREESELECT_INSTANCE = new InjectionToken<TreeSelect>('TREESELECT_INSTANCE');\n\n/**\n * TreeSelect is a form component to choose from hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-tree-select, p-treeselect',\n standalone: true,\n imports: [NgTemplateOutlet, Overlay, SharedModule, Tree, AutoFocus, TimesIcon, ChevronDownIcon, Chip, Bind],\n hostDirectives: [Bind],\n template: `\n <div class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenInputContainer')\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #focusInput\n type=\"text\"\n role=\"combobox\"\n [attr.id]=\"inputId()\"\n readonly\n [attr.disabled]=\"$inputDisabledAttr()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"$inputTabindex()\"\n [attr.aria-controls]=\"$ariaControls()\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"$ariaExpanded()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-label]=\"$inputAriaLabel()\"\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('hiddenInput')\"\n />\n </div>\n <div [class]=\"cx('labelContainer')\" [pBind]=\"ptm('labelContainer')\">\n <div [class]=\"cn(cx('label'), labelStyleClass())\" [style]=\"labelStyle()\" [pBind]=\"ptm('label')\">\n @if (valueTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueTemplate(); context: valueTemplateContext()\"></ng-container>\n } @else {\n @if (display() === 'comma') {\n {{ $labelText() }}\n } @else {\n @for (node of _value(); track node.key || $index) {\n <div [class]=\"cx('chipItem')\" [pBind]=\"ptm('chipItem')\">\n <p-chip [unstyled]=\"unstyled()\" [label]=\"node.label\" [class]=\"cx('pcChip')\" [pt]=\"ptm('pcChip')\" />\n </div>\n }\n @if (emptyValue()) {\n {{ $placeholderText() }}\n }\n }\n }\n </div>\n </div>\n @if ($showClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate()\"></ng-template>\n </span>\n }\n }\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" [attr.aria-expanded]=\"$ariaExpanded()\" [attr.aria-label]=\"'treeselect trigger'\" [pBind]=\"ptm('dropdown')\">\n @if ($showDefaultDropdownIcon()) {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"$dropdownIconTemplate()\"></ng-template>\n </span>\n }\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n (onBeforeHide)=\"onOverlayBeforeHide()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [attr.id]=\"listId\" [class]=\"cn(cx('panel'), panelStyleClass(), panelClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('panel')\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n @if (headerTemplate()) {\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: headerTemplateContext()\"></ng-container>\n }\n <div [class]=\"cx('treeContainer')\" [style]=\"$treeContainerStyle()\" [pBind]=\"ptm('treeContainer')\">\n <p-tree\n #tree\n [value]=\"_options()\"\n [propagateSelectionDown]=\"propagateSelectionDown()\"\n [propagateSelectionUp]=\"propagateSelectionUp()\"\n [selectionMode]=\"selectionMode()\"\n (selectionChange)=\"onSelectionChange($event)\"\n [selection]=\"_value()\"\n [metaKeySelection]=\"metaKeySelection()\"\n (onNodeExpand)=\"nodeExpand($event)\"\n (onNodeCollapse)=\"nodeCollapse($event)\"\n (onNodeSelect)=\"onSelect($event)\"\n [emptyMessage]=\"emptyMessage()\"\n (onNodeUnselect)=\"onUnselect($event)\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [filterMode]=\"filterMode()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [filterLocale]=\"filterLocale()\"\n [filteredNodes]=\"filteredNodes\"\n [virtualScroll]=\"virtualScroll()\"\n [virtualScrollItemSize]=\"virtualScrollItemSize()\"\n [virtualScrollOptions]=\"virtualScrollOptions()\"\n [loading]=\"loading()\"\n [filterInputAutoFocus]=\"filterInputAutoFocus()\"\n [loadingMode]=\"loadingMode()\"\n [pt]=\"ptm('pcTree')\"\n [unstyled]=\"unstyled()\"\n >\n @if (emptyTemplate()) {\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTogglerIconTemplate()) {\n <ng-template #togglericon let-expanded>\n <ng-container *ngTemplateOutlet=\"itemTogglerIconTemplate(); context: { $implicit: expanded }\"></ng-container>\n </ng-template>\n }\n @if (itemCheckboxIconTemplate()) {\n <ng-template #checkboxicon let-selected let-partialSelected=\"partialSelected\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate(); context: { $implicit: selected, partialSelected: partialSelected }\"></ng-container>\n </ng-template>\n }\n @if (itemLoadingIconTemplate()) {\n <ng-template #loadingicon>\n <ng-container *ngTemplateOutlet=\"itemLoadingIconTemplate()\"></ng-container>\n </ng-template>\n }\n @if (filterIconTemplate()) {\n <ng-template #filtericon>\n <ng-container *ngTemplateOutlet=\"filterIconTemplate()\"></ng-container>\n </ng-template>\n }\n </p-tree>\n </div>\n @if (footerTemplate()) {\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: footerTemplateContext()\"></ng-container>\n }\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TREESELECT_VALUE_ACCESSOR,\n TreeSelectStyle,\n {\n provide: TREESELECT_INSTANCE,\n useExisting: TreeSelect\n },\n {\n provide: PARENT_INSTANCE,\n useExisting: TreeSelect\n }\n ],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '(mousedown)': 'onClick($event)'\n }\n})\nexport class TreeSelect extends BaseEditableHolder<TreeSelectPassThrough> {\n componentName = 'TreeSelect';\n\n $pcTreeSelect: TreeSelect | undefined = inject(TREESELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(TreeSelectStyle);\n\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('400px');\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = input(false, { transform: booleanAttribute });\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n display = input<TreeSelectDisplay>('comma');\n /**\n * Defines the selection mode.\n * @group Props\n */\n selectionMode = input<TreeSelectSelectionMode>('single');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<string>('0');\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n panelClass = input<string | string[] | Set<string> | { [klass: string]: any }>();\n /**\n * Inline style of the panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the label element.\n * @group Props\n */\n labelStyle = input<CSSProperties>();\n /**\n * Style class of the label element.\n * @group Props\n */\n labelStyleClass = input<string>();\n /**\n * Specifies the options for the overlay.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Text to display when there are no options available. Defaults to value from PrimeNG locale configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n filter = input(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>('label');\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterMode = input<string>('lenient');\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n filterInputAutoFocus = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n propagateSelectionDown = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n propagateSelectionUp = input(true, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n resetFilterOnHide = input(true, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * An array of treenodes.\n * @defaultValue undefined\n * @group Props\n */\n options = input<TreeNode[]>();\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading = input(undefined, { transform: booleanAttribute });\n /**\n * Loading mode display.\n * @group Props\n */\n loadingMode = input<TreeSelectLoadingMode>('mask');\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<InputSize>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<InputVariant>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeSelectNodeExpandEvent} event - Custom node expand event.\n * @group Emits\n */\n onNodeExpand = output<TreeSelectNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeSelectNodeCollapseEvent} event - Custom node collapse event.\n * @group Emits\n */\n onNodeCollapse = output<TreeSelectNodeCollapseEvent>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onShow = output<any>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onHide = output<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n onClear = output<any>();\n /**\n * Callback to invoke when data is filtered.\n * @group Emits\n */\n onFilter = output<TreeFilterEvent>();\n /**\n * Callback to invoke when treeselect gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when treeselect loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - node unselect event.\n * @group Emits\n */\n onNodeUnselect = output<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - node select event.\n * @group Emits\n */\n onNodeSelect = output<TreeNodeSelectEvent>();\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n treeViewChild = viewChild<Tree>('tree');\n\n panelEl = viewChild<ElementRef>('panel');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public filteredNodes: TreeNode[] | undefined | null;\n\n filterValue: Nullable<string> = null;\n\n serializedValue: Nullable<any[]>;\n\n /**\n * Custom value template.\n * @param {TreeSelectValueTemplateContext} context - value context.\n * @see {@link TreeSelectValueTemplateContext}\n * @group Templates\n */\n valueTemplate = contentChild<TemplateRef<TreeSelectValueTemplateContext>>('value', { descendants: false });\n\n /**\n * Custom header template.\n * @param {TreeSelectHeaderTemplateContext} context - header context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom footer template.\n * @param {TreeSelectHeaderTemplateContext} context - footer context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('footer', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n triggerIconTemplate = contentChild<TemplateRef<void>>('triggericon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n\n /**\n * Custom item toggler icon template.\n * @param {TreeSelectItemTogglerIconTemplateContext} context - toggler icon context.\n * @see {@link TreeSelectItemTogglerIconTemplateContext}\n * @group Templates\n */\n itemTogglerIconTemplate = contentChild<TemplateRef<TreeSelectItemTogglerIconTemplateContext>>('itemtogglericon', { descendants: false });\n\n /**\n * Custom item checkbox icon template.\n * @param {TreeSelectItemCheckboxIconTemplateContext} context - checkbox icon context.\n * @see {@link TreeSelectItemCheckboxIconTemplateContext}\n * @group Templates\n */\n itemCheckboxIconTemplate = contentChild<TemplateRef<TreeSelectItemCheckboxIconTemplateContext>>('itemcheckboxicon', { descendants: false });\n\n /**\n * Custom item loading icon template.\n * @group Templates\n */\n itemLoadingIconTemplate = contentChild<TemplateRef<void>>('itemloadingicon', { descendants: false });\n\n focused = signal<boolean>(false);\n\n overlayVisible = signal<boolean>(false);\n\n _value = signal<any>(undefined);\n\n expandedNodes: any[] = [];\n\n _options = signal<TreeNode[] | undefined>(undefined);\n\n listId: string = '';\n\n valueTemplateContext = computed(() => ({ $implicit: this._value(), placeholder: this.placeholder() }));\n\n headerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n footerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n label = computed(() => {\n const value = this._value() || [];\n return value.length ? value.map((node: TreeNode) => node.label).join(', ') : this.selectionMode() === 'single' && this._value() ? this._value().label : this.placeholder();\n });\n\n emptyValue = computed(() => !this._value() || Object.keys(this._value()).length === 0);\n\n emptyOptions = computed(() => !this._options() || this._options()!.length === 0);\n\n $inputDisabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $inputTabindex = computed(() => (!this.$disabled() ? this.tabindex() : '-1'));\n\n $ariaControls = computed(() => (this.overlayVisible() ? this.listId : null));\n\n $ariaExpanded = computed(() => this.overlayVisible() ?? false);\n\n $inputAriaLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n const label = this.label();\n return ariaLabel || (label === 'p-emptylabel' ? undefined : label);\n });\n\n $showClearIcon = computed(() => this.checkValue() && !this.$disabled() && this.showClear());\n\n $showDefaultDropdownIcon = computed(() => !this.triggerIconTemplate() && !this.dropdownIconTemplate());\n\n $dropdownIconTemplate = computed(() => this.triggerIconTemplate() || this.dropdownIconTemplate());\n\n $labelText = computed(() => this.label() || 'empty');\n\n $placeholderText = computed(() => this.placeholder() || 'empty');\n\n $treeContainerStyle = computed(() => ({ 'max-height': this.scrollHeight() }));\n\n constructor() {\n super();\n\n // Handle options input changes\n effect(() => {\n const opts = this.options();\n untracked(() => {\n this._options.set(opts);\n this.updateTreeState();\n });\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n this.listId = uuid('pn_id_') + '_list';\n this.updateTreeState();\n }\n\n onOverlayBeforeEnter() {\n if (this.filter()) {\n isNotEmpty(this.filterValue) && this.treeViewChild()?._filter(<any>this.filterValue);\n this.filterInputAutoFocus() && this.filterViewChild()?.nativeElement.focus();\n } else {\n let focusableElements = <any>getFocusableElements(this.panelEl()?.nativeElement!);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n }\n\n onOverlayBeforeHide() {\n let focusableElements = <any>getFocusableElements(this.el.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n\n onSelectionChange(event: any) {\n this._value.set(event);\n this.onModelChange(this._value());\n }\n\n onClick(event: any) {\n if (this.$disabled()) {\n return;\n }\n const section = event.target?.getAttribute?.('data-pc-section');\n if (event.target?.closest?.('[data-pc-section=\"clearicon\"]')) {\n return;\n }\n if (!this.overlayViewChild()?.el?.nativeElement?.contains(event.target) && section !== 'box' && section !== 'icon') {\n if (this.overlayVisible()) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n //down\n case 'ArrowDown':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n this.onArrowDown(event);\n event.preventDefault();\n break;\n\n //space\n case 'Space':\n case 'Enter':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n break;\n\n //escape\n case 'Escape':\n if (this.overlayVisible()) {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n event.preventDefault();\n }\n break;\n\n //tab\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n }\n\n onFilterInput(event: Event) {\n this.filterValue = (event.target as HTMLInputElement).value;\n this.treeViewChild()?._filter(this.filterValue);\n this.onFilter.emit({\n filter: this.filterValue,\n filteredValue: this.treeViewChild()?.filteredNodes()\n });\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n onArrowDown(event: KeyboardEvent) {\n if (this.overlayVisible() && this.panelEl()?.nativeElement) {\n let focusableElements = <any>getFocusableElements(this.panelEl()!.nativeElement, '[data-pc-section=\"node\"]');\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n event.preventDefault();\n }\n }\n\n onFirstHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement\n ? getFirstFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])')\n : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n show() {\n this.overlayVisible.set(true);\n }\n\n hide(event?: any) {\n this.overlayVisible.set(false);\n this.resetFilter();\n\n this.onHide.emit(event);\n }\n\n clear(event: Event) {\n this._value.set(null);\n this.resetExpandedNodes();\n this.resetPartialSelected();\n this.onModelChange(this._value());\n this.onClear.emit(null);\n\n event.stopPropagation();\n }\n\n checkValue() {\n return this._value() !== null && isNotEmpty(this._value());\n }\n\n onTabKey(event: KeyboardEvent, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n\n event.preventDefault();\n } else {\n this.overlayVisible() && this.hide(this.filter());\n }\n }\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n resetFilter() {\n if (this.filter() && !this.resetFilterOnHide()) {\n this.filteredNodes = this.treeViewChild()?.filteredNodes();\n this.treeViewChild()?.resetFilter();\n } else {\n this.filterValue = null;\n }\n }\n\n updateTreeState() {\n if (this._value()) {\n let selectedNodes = this.selectionMode() === 'single' ? [this._value()] : [...this._value()];\n this.resetExpandedNodes();\n this.resetPartialSelected();\n if (selectedNodes && this._options()) {\n this.updateTreeBranchState(null, null, selectedNodes);\n }\n }\n }\n\n updateTreeBranchState(node: TreeNode | null, path: any, selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n this.expandPath(path);\n selectedNodes.splice(selectedNodes.indexOf(node), 1);\n }\n\n if (selectedNodes.length > 0 && node.children) {\n for (let childNode of node.children) {\n this.updateTreeBranchState(childNode, [...path, node], selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.updateTreeBranchState(childNode, [], selectedNodes);\n }\n }\n }\n\n expandPath(expandedNodes: TreeNode[]) {\n for (let node of expandedNodes) {\n node.expanded = true;\n }\n\n this.expandedNodes = [...expandedNodes];\n }\n\n nodeExpand(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeExpand.emit(event);\n this.expandedNodes.push(event.node);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n nodeCollapse(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeCollapse.emit(event);\n this.expandedNodes.splice(this.expandedNodes.indexOf(event.node), 1);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n resetExpandedNodes() {\n for (let node of this.expandedNodes) {\n node.expanded = false;\n }\n\n this.expandedNodes = [];\n }\n\n resetPartialSelected(nodes = this._options()): void {\n if (!nodes) {\n return;\n }\n\n for (let node of nodes) {\n node.partialSelected = false;\n\n if (node.children && node.children?.length > 0) {\n this.resetPartialSelected(node.children);\n }\n }\n }\n\n findSelectedNodes(node: TreeNode, keys: any[], selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n selectedNodes.push(node);\n delete keys[node.key as any];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n const value = this._value();\n\n if (value) {\n if (this.selectionMode() === 'single') {\n let areNodesEqual = (value.key && value.key === node.key) || value == node;\n index = areNodesEqual ? 0 : -1;\n } else {\n for (let i = 0; i < value.length; i++) {\n let selectedNode = value[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n onSelect(event: TreeNodeSelectEvent) {\n this.onNodeSelect.emit(event);\n\n if (this.selectionMode() === 'single') {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onUnselect(event: TreeNodeUnSelectEvent) {\n this.onNodeUnselect.emit(event);\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused.set(false);\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any): void {\n this._value.set(value);\n this.updateTreeState();\n }\n}\n\n@NgModule({\n imports: [TreeSelect, SharedModule],\n exports: [TreeSelect, SharedModule]\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["TimesIcon","ChevronDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"primeng-treeselect.mjs","sources":["../../src/treeselect/style/treeselectstyle.ts","../../src/treeselect/treeselect.ts","../../src/treeselect/primeng-treeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/treeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-treeselect p-component p-inputwrapper',\n {\n 'p-treeselect-display-chip': instance.display() === 'chip',\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-filled': !instance.emptyValue(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-treeselect-open': instance.overlayVisible(),\n 'p-treeselect-fluid': instance.hasFluid,\n 'p-treeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-treeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-treeselect-label-container',\n label: ({ instance }) => [\n 'p-treeselect-label',\n {\n 'p-placeholder': instance.label() === instance.placeholder(),\n 'p-treeselect-label-empty': !instance.placeholder() && instance.emptyValue()\n }\n ],\n clearIcon: 'p-treeselect-clear-icon',\n chip: 'p-treeselect-chip-item',\n pcChip: 'p-treeselect-chip',\n dropdown: 'p-treeselect-dropdown',\n dropdownIcon: 'p-treeselect-dropdown-icon',\n panel: 'p-treeselect-overlay p-component-overlay p-component',\n treeContainer: 'p-treeselect-tree-container',\n emptyMessage: 'p-treeselect-empty-message'\n};\n\n@Injectable()\nexport class TreeSelectStyle extends BaseStyle {\n name = 'treeselect';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * TreeSelect is a form component to choose from hierarchical data.\n *\n * [Live Demo](https://www.primeng.org/treeselect/)\n *\n * @module treeselectstyle\n *\n */\nexport enum TreeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-treeselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-treeselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-treeselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-treeselect-chip-item',\n /**\n * Class name of the clear icon element\n */\n clearIcon = 'p-treeselect-clear-icon',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-treeselect-chip',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-treeselect-dropdown',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-treeselect-dropdown-icon',\n /**\n * Class name of the panel element\n */\n panel = 'p-treeselect-overlay',\n /**\n * Class name of the tree container element\n */\n treeContainer = 'p-treeselect-tree-container',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-treeselect-empty-message'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionOptions } from '@primeuix/motion';\nimport { focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isNotEmpty, uuid } from '@primeuix/utils';\nimport { OverlayOptions, ScrollerOptions, SharedModule, TreeNode } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport { Fluid } from 'primeng/fluid';\nimport { Overlay } from 'primeng/overlay';\nimport { Tree, TreeFilterEvent, TreeNodeSelectEvent, TreeNodeUnSelectEvent } from 'primeng/tree';\nimport { Nullable } from 'primeng/ts-helpers';\nimport type { AppendTo, CSSProperties, InputSize, InputVariant } from 'primeng/types/shared';\nimport {\n TreeSelectDisplay,\n TreeSelectHeaderTemplateContext,\n TreeSelectItemCheckboxIconTemplateContext,\n TreeSelectItemTogglerIconTemplateContext,\n TreeSelectLoadingMode,\n TreeSelectNodeCollapseEvent,\n TreeSelectNodeExpandEvent,\n TreeSelectPassThrough,\n TreeSelectSelectionMode,\n TreeSelectValueTemplateContext\n} from 'primeng/types/treeselect';\nimport { TreeSelectStyle } from './style/treeselectstyle';\n\nexport const TREESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TreeSelect),\n multi: true\n};\n\nconst TREESELECT_INSTANCE = new InjectionToken<TreeSelect>('TREESELECT_INSTANCE');\n\n/**\n * TreeSelect is a form component to choose from hierarchical data.\n * @group Components\n */\n@Component({\n selector: 'p-tree-select, p-treeselect',\n standalone: true,\n imports: [NgTemplateOutlet, Overlay, SharedModule, Tree, AutoFocus, TimesIcon, ChevronDownIcon, Chip, Bind],\n hostDirectives: [Bind],\n template: `\n <div class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenInputContainer')\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #focusInput\n type=\"text\"\n role=\"combobox\"\n [attr.id]=\"inputId()\"\n readonly\n [attr.disabled]=\"$inputDisabledAttr()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.tabindex]=\"$inputTabindex()\"\n [attr.aria-controls]=\"$ariaControls()\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"$ariaExpanded()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-label]=\"$inputAriaLabel()\"\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('hiddenInput')\"\n />\n </div>\n <div [class]=\"cx('labelContainer')\" [pBind]=\"ptm('labelContainer')\">\n <div [class]=\"cn(cx('label'), labelStyleClass())\" [style]=\"labelStyle()\" [pBind]=\"ptm('label')\">\n @if (valueTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueTemplate(); context: valueTemplateContext()\"></ng-container>\n } @else {\n @if (display() === 'comma') {\n {{ $labelText() }}\n } @else {\n @for (node of _value(); track node.key || $index) {\n <div [class]=\"cx('chipItem')\" [pBind]=\"ptm('chipItem')\">\n <p-chip [unstyled]=\"unstyled()\" [label]=\"node.label\" [class]=\"cx('pcChip')\" [pt]=\"ptm('pcChip')\" />\n </div>\n }\n @if (emptyValue()) {\n {{ $placeholderText() }}\n }\n }\n }\n </div>\n </div>\n @if ($showClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate()\"></ng-template>\n </span>\n }\n }\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"tree\" [attr.aria-expanded]=\"$ariaExpanded()\" [attr.aria-label]=\"'treeselect trigger'\" [pBind]=\"ptm('dropdown')\">\n @if ($showDefaultDropdownIcon()) {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"$dropdownIconTemplate()\"></ng-template>\n </span>\n }\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter()\"\n (onBeforeHide)=\"onOverlayBeforeHide()\"\n (onShow)=\"onShow.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [attr.id]=\"listId\" [class]=\"cn(cx('panel'), panelStyleClass(), panelClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('panel')\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n @if (headerTemplate()) {\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: headerTemplateContext()\"></ng-container>\n }\n <div [class]=\"cx('treeContainer')\" [style]=\"$treeContainerStyle()\" [pBind]=\"ptm('treeContainer')\">\n <p-tree\n #tree\n [value]=\"_options()\"\n [propagateSelectionDown]=\"propagateSelectionDown()\"\n [propagateSelectionUp]=\"propagateSelectionUp()\"\n [selectionMode]=\"selectionMode()\"\n (selectionChange)=\"onSelectionChange($event)\"\n [selection]=\"_value()\"\n [metaKeySelection]=\"metaKeySelection()\"\n (onNodeExpand)=\"nodeExpand($event)\"\n (onNodeCollapse)=\"nodeCollapse($event)\"\n (onNodeSelect)=\"onSelect($event)\"\n [emptyMessage]=\"emptyMessage()\"\n (onNodeUnselect)=\"onUnselect($event)\"\n [filter]=\"filter()\"\n [filterBy]=\"filterBy()\"\n [filterMode]=\"filterMode()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [filterLocale]=\"filterLocale()\"\n [filteredNodes]=\"filteredNodes\"\n [virtualScroll]=\"virtualScroll()\"\n [virtualScrollItemSize]=\"virtualScrollItemSize()\"\n [virtualScrollOptions]=\"virtualScrollOptions()\"\n [loading]=\"loading()\"\n [filterInputAutoFocus]=\"filterInputAutoFocus()\"\n [loadingMode]=\"loadingMode()\"\n [pt]=\"ptm('pcTree')\"\n [unstyled]=\"unstyled()\"\n >\n @if (emptyTemplate()) {\n <ng-template #empty>\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n </ng-template>\n }\n @if (itemTogglerIconTemplate()) {\n <ng-template #togglericon let-expanded>\n <ng-container *ngTemplateOutlet=\"itemTogglerIconTemplate(); context: { $implicit: expanded }\"></ng-container>\n </ng-template>\n }\n @if (itemCheckboxIconTemplate()) {\n <ng-template #checkboxicon let-selected let-partialSelected=\"partialSelected\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate(); context: { $implicit: selected, partialSelected: partialSelected }\"></ng-container>\n </ng-template>\n }\n @if (itemLoadingIconTemplate()) {\n <ng-template #loadingicon>\n <ng-container *ngTemplateOutlet=\"itemLoadingIconTemplate()\"></ng-container>\n </ng-template>\n }\n @if (filterIconTemplate()) {\n <ng-template #filtericon>\n <ng-container *ngTemplateOutlet=\"filterIconTemplate()\"></ng-container>\n </ng-template>\n }\n </p-tree>\n </div>\n @if (footerTemplate()) {\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: footerTemplateContext()\"></ng-container>\n }\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TREESELECT_VALUE_ACCESSOR,\n TreeSelectStyle,\n {\n provide: TREESELECT_INSTANCE,\n useExisting: TreeSelect\n },\n {\n provide: PARENT_INSTANCE,\n useExisting: TreeSelect\n }\n ],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '(mousedown)': 'onClick($event)'\n }\n})\nexport class TreeSelect extends BaseEditableHolder<TreeSelectPassThrough> {\n componentName = 'TreeSelect';\n\n $pcTreeSelect: TreeSelect | undefined = inject(TREESELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(TreeSelectStyle);\n\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('400px');\n /**\n * Defines how multiple items can be selected, when true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = input(false, { transform: booleanAttribute });\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n display = input<TreeSelectDisplay>('comma');\n /**\n * Defines the selection mode.\n * @group Props\n */\n selectionMode = input<TreeSelectSelectionMode>('single');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<string>('0');\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n panelClass = input<string | string[] | Set<string> | { [klass: string]: any }>();\n /**\n * Inline style of the panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the label element.\n * @group Props\n */\n labelStyle = input<CSSProperties>();\n /**\n * Style class of the label element.\n * @group Props\n */\n labelStyleClass = input<string>();\n /**\n * Specifies the options for the overlay.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Text to display when there are no options available. Defaults to value from PrimeNG locale configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * When specified, displays an input field to filter the items.\n * @group Props\n */\n filter = input(false, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>('label');\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterMode = input<string>('lenient');\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Determines whether the filter input should be automatically focused when the component is rendered.\n * @group Props\n */\n filterInputAutoFocus = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to descendant nodes.\n * @group Props\n */\n propagateSelectionDown = input(true, { transform: booleanAttribute });\n /**\n * Whether checkbox selections propagate to ancestor nodes.\n * @group Props\n */\n propagateSelectionUp = input(true, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n resetFilterOnHide = input(true, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * An array of treenodes.\n * @defaultValue undefined\n * @group Props\n */\n options = input<TreeNode[]>();\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading = input(undefined, { transform: booleanAttribute });\n /**\n * Loading mode display.\n * @group Props\n */\n loadingMode = input<TreeSelectLoadingMode>('mask');\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<InputSize>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<InputVariant>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeSelectNodeExpandEvent} event - Custom node expand event.\n * @group Emits\n */\n onNodeExpand = output<TreeSelectNodeExpandEvent>();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeSelectNodeCollapseEvent} event - Custom node collapse event.\n * @group Emits\n */\n onNodeCollapse = output<TreeSelectNodeCollapseEvent>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onShow = output<any>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onHide = output<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n onClear = output<any>();\n /**\n * Callback to invoke when data is filtered.\n * @group Emits\n */\n onFilter = output<TreeFilterEvent>();\n /**\n * Callback to invoke when treeselect gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when treeselect loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeNodeUnSelectEvent} event - node unselect event.\n * @group Emits\n */\n onNodeUnselect = output<TreeNodeUnSelectEvent>();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeNodeSelectEvent} event - node select event.\n * @group Emits\n */\n onNodeSelect = output<TreeNodeSelectEvent>();\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n treeViewChild = viewChild<Tree>('tree');\n\n panelEl = viewChild<ElementRef>('panel');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public filteredNodes: TreeNode[] | undefined | null;\n\n filterValue: Nullable<string> = null;\n\n serializedValue: Nullable<any[]>;\n\n /**\n * Custom value template.\n * @param {TreeSelectValueTemplateContext} context - value context.\n * @see {@link TreeSelectValueTemplateContext}\n * @group Templates\n */\n valueTemplate = contentChild<TemplateRef<TreeSelectValueTemplateContext>>('value', { descendants: false });\n\n /**\n * Custom header template.\n * @param {TreeSelectHeaderTemplateContext} context - header context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom footer template.\n * @param {TreeSelectHeaderTemplateContext} context - footer context.\n * @see {@link TreeSelectHeaderTemplateContext}\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<TreeSelectHeaderTemplateContext>>('footer', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n triggerIconTemplate = contentChild<TemplateRef<void>>('triggericon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<void>>('dropdownicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n\n /**\n * Custom item toggler icon template.\n * @param {TreeSelectItemTogglerIconTemplateContext} context - toggler icon context.\n * @see {@link TreeSelectItemTogglerIconTemplateContext}\n * @group Templates\n */\n itemTogglerIconTemplate = contentChild<TemplateRef<TreeSelectItemTogglerIconTemplateContext>>('itemtogglericon', { descendants: false });\n\n /**\n * Custom item checkbox icon template.\n * @param {TreeSelectItemCheckboxIconTemplateContext} context - checkbox icon context.\n * @see {@link TreeSelectItemCheckboxIconTemplateContext}\n * @group Templates\n */\n itemCheckboxIconTemplate = contentChild<TemplateRef<TreeSelectItemCheckboxIconTemplateContext>>('itemcheckboxicon', { descendants: false });\n\n /**\n * Custom item loading icon template.\n * @group Templates\n */\n itemLoadingIconTemplate = contentChild<TemplateRef<void>>('itemloadingicon', { descendants: false });\n\n focused = signal<boolean>(false);\n\n overlayVisible = signal<boolean>(false);\n\n _value = signal<any>(undefined);\n\n expandedNodes: any[] = [];\n\n _options = signal<TreeNode[] | undefined>(undefined);\n\n listId: string = '';\n\n valueTemplateContext = computed(() => ({ $implicit: this._value(), placeholder: this.placeholder() }));\n\n headerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n footerTemplateContext = computed(() => ({ $implicit: this._value(), options: this._options() }));\n\n label = computed(() => {\n const value = this._value() || [];\n\n return value.length ? value.map((node: TreeNode) => node.label).join(', ') : this.selectionMode() === 'single' && this._value() ? this._value().label : this.placeholder();\n });\n\n emptyValue = computed(() => !this._value() || Object.keys(this._value()).length === 0);\n\n emptyOptions = computed(() => !this._options() || this._options()!.length === 0);\n\n $inputDisabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $inputTabindex = computed(() => (!this.$disabled() ? this.tabindex() : '-1'));\n\n $ariaControls = computed(() => (this.overlayVisible() ? this.listId : null));\n\n $ariaExpanded = computed(() => this.overlayVisible() ?? false);\n\n $inputAriaLabel = computed(() => {\n const ariaLabel = this.ariaLabel();\n const label = this.label();\n\n return ariaLabel || (label === 'p-emptylabel' ? undefined : label);\n });\n\n $showClearIcon = computed(() => this.checkValue() && !this.$disabled() && this.showClear());\n\n $showDefaultDropdownIcon = computed(() => !this.triggerIconTemplate() && !this.dropdownIconTemplate());\n\n $dropdownIconTemplate = computed(() => this.triggerIconTemplate() || this.dropdownIconTemplate());\n\n $labelText = computed(() => this.label() || 'empty');\n\n $placeholderText = computed(() => this.placeholder() || 'empty');\n\n $treeContainerStyle = computed(() => {\n if (!this.virtualScroll()) {\n return { 'max-height': this.scrollHeight() };\n }\n\n const height = this.virtualScrollOptions()?.scrollHeight ?? this.scrollHeight();\n\n return { height, 'max-height': height, overflow: 'hidden' };\n });\n\n constructor() {\n super();\n\n // Handle options input changes\n effect(() => {\n const opts = this.options();\n\n untracked(() => {\n this._options.set(opts);\n this.updateTreeState();\n });\n });\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n this.listId = uuid('pn_id_') + '_list';\n this.updateTreeState();\n }\n\n onOverlayBeforeEnter() {\n if (this.filter()) {\n if (isNotEmpty(this.filterValue)) {\n this.treeViewChild()?._filter(<any>this.filterValue);\n }\n\n if (this.filterInputAutoFocus()) {\n this.filterViewChild()?.nativeElement.focus();\n }\n } else {\n let focusableElements = <any>getFocusableElements(this.panelEl()?.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n }\n\n onOverlayBeforeHide() {\n let focusableElements = <any>getFocusableElements(this.el.nativeElement);\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n }\n\n onSelectionChange(event: any) {\n this._value.set(event);\n this.onModelChange(this._value());\n }\n\n onClick(event: any) {\n if (this.$disabled()) {\n return;\n }\n\n const section = event.target?.getAttribute?.('data-pc-section');\n\n if (event.target?.closest?.('[data-pc-section=\"clearicon\"]')) {\n return;\n }\n\n if (!this.overlayViewChild()?.el?.nativeElement?.contains(event.target) && section !== 'box' && section !== 'icon') {\n if (this.overlayVisible()) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n //down\n case 'ArrowDown':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n\n this.onArrowDown(event);\n event.preventDefault();\n break;\n\n //space\n case 'Space':\n case 'Enter':\n if (!this.overlayVisible()) {\n this.show();\n event.preventDefault();\n }\n\n break;\n\n //escape\n case 'Escape':\n if (this.overlayVisible()) {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n event.preventDefault();\n }\n\n break;\n\n //tab\n case 'Tab':\n this.onTabKey(event);\n break;\n\n default:\n break;\n }\n }\n\n onFilterInput(event: Event) {\n this.filterValue = (event.target as HTMLInputElement).value;\n this.treeViewChild()?._filter(this.filterValue);\n this.onFilter.emit({\n filter: this.filterValue,\n filteredValue: this.treeViewChild()?.filteredNodes()\n });\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n onArrowDown(event: KeyboardEvent) {\n if (this.overlayVisible() && this.panelEl()?.nativeElement) {\n let focusableElements = <any>getFocusableElements(this.panelEl()!.nativeElement, '[data-pc-section=\"node\"]');\n\n if (focusableElements && focusableElements.length > 0) {\n focusableElements[0].focus();\n }\n\n event.preventDefault();\n }\n }\n\n onFirstHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement\n ? getFirstFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])')\n : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n show() {\n this.overlayVisible.set(true);\n }\n\n hide(event?: any) {\n this.overlayVisible.set(false);\n this.resetFilter();\n\n this.onHide.emit(event);\n }\n\n clear(event: Event) {\n this._value.set(null);\n this.resetExpandedNodes();\n this.resetPartialSelected();\n this.onModelChange(this._value());\n this.onClear.emit(null);\n\n event.stopPropagation();\n }\n\n checkValue() {\n return this._value() !== null && isNotEmpty(this._value());\n }\n\n onTabKey(event: KeyboardEvent, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n\n event.preventDefault();\n } else {\n if (this.overlayVisible()) {\n this.hide(this.filter());\n }\n }\n }\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n resetFilter() {\n if (this.filter() && !this.resetFilterOnHide()) {\n this.filteredNodes = this.treeViewChild()?.filteredNodes();\n this.treeViewChild()?.resetFilter();\n } else {\n this.filterValue = null;\n }\n }\n\n updateTreeState() {\n if (this._value()) {\n let selectedNodes = this.selectionMode() === 'single' ? [this._value()] : [...this._value()];\n\n this.resetExpandedNodes();\n this.resetPartialSelected();\n\n if (selectedNodes && this._options()) {\n this.updateTreeBranchState(null, null, selectedNodes);\n }\n }\n }\n\n updateTreeBranchState(node: TreeNode | null, path: any, selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n this.expandPath(path);\n selectedNodes.splice(selectedNodes.indexOf(node), 1);\n }\n\n if (selectedNodes.length > 0 && node.children) {\n for (let childNode of node.children) {\n this.updateTreeBranchState(childNode, [...path, node], selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.updateTreeBranchState(childNode, [], selectedNodes);\n }\n }\n }\n\n expandPath(expandedNodes: TreeNode[]) {\n for (let node of expandedNodes) {\n node.expanded = true;\n }\n\n this.expandedNodes = [...expandedNodes];\n }\n\n nodeExpand(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeExpand.emit(event);\n this.expandedNodes.push(event.node);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n nodeCollapse(event: { originalEvent: Event; node: TreeNode }) {\n this.onNodeCollapse.emit(event);\n this.expandedNodes.splice(this.expandedNodes.indexOf(event.node), 1);\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n resetExpandedNodes() {\n for (let node of this.expandedNodes) {\n node.expanded = false;\n }\n\n this.expandedNodes = [];\n }\n\n resetPartialSelected(nodes = this._options()): void {\n if (!nodes) {\n return;\n }\n\n for (let node of nodes) {\n node.partialSelected = false;\n\n if (node.children && node.children?.length > 0) {\n this.resetPartialSelected(node.children);\n }\n }\n }\n\n findSelectedNodes(node: TreeNode, keys: any[], selectedNodes: TreeNode[]) {\n if (node) {\n if (this.isSelected(node)) {\n selectedNodes.push(node);\n delete keys[node.key as any];\n }\n\n if (Object.keys(keys).length && node.children) {\n for (let childNode of node.children) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n } else {\n for (let childNode of this._options() as TreeNode[]) {\n this.findSelectedNodes(childNode, keys, selectedNodes);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n const value = this._value();\n\n if (value) {\n if (this.selectionMode() === 'single') {\n let areNodesEqual = (value.key && value.key === node.key) || value == node;\n\n index = areNodesEqual ? 0 : -1;\n } else {\n for (let i = 0; i < value.length; i++) {\n let selectedNode = value[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n onSelect(event: TreeNodeSelectEvent) {\n this.onNodeSelect.emit(event);\n\n if (this.selectionMode() === 'single') {\n this.hide();\n this.focusInputViewChild()?.nativeElement.focus();\n }\n }\n\n onUnselect(event: TreeNodeUnSelectEvent) {\n this.onNodeUnselect.emit(event);\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused.set(false);\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any): void {\n this._value.set(value);\n this.updateTreeState();\n }\n}\n\n@NgModule({\n imports: [TreeSelect, SharedModule],\n exports: [TreeSelect, SharedModule]\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["TimesIcon","ChevronDownIcon"],"mappings":"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"}