primeng 20.3.0 → 20.5.0-lts

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 (520) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/index.d.ts +6 -2
  3. package/animateonscroll/index.d.ts +1 -0
  4. package/api/index.d.ts +6 -1
  5. package/autocomplete/index.d.ts +1 -0
  6. package/autofocus/index.d.ts +1 -0
  7. package/avatar/index.d.ts +1 -0
  8. package/avatargroup/index.d.ts +1 -0
  9. package/badge/index.d.ts +2 -0
  10. package/basecomponent/index.d.ts +5 -2
  11. package/blockui/index.d.ts +1 -0
  12. package/breadcrumb/index.d.ts +1 -0
  13. package/button/index.d.ts +5 -1
  14. package/buttongroup/index.d.ts +1 -0
  15. package/card/index.d.ts +1 -0
  16. package/carousel/index.d.ts +1 -0
  17. package/cascadeselect/index.d.ts +1 -0
  18. package/chart/index.d.ts +1 -0
  19. package/chip/index.d.ts +1 -0
  20. package/colorpicker/index.d.ts +1 -0
  21. package/config/index.d.ts +5 -1
  22. package/confirmdialog/index.d.ts +1 -0
  23. package/confirmpopup/index.d.ts +1 -0
  24. package/contextmenu/index.d.ts +3 -1
  25. package/dataview/index.d.ts +1 -0
  26. package/datepicker/index.d.ts +1 -0
  27. package/dialog/index.d.ts +1 -0
  28. package/divider/index.d.ts +1 -0
  29. package/dock/index.d.ts +1 -0
  30. package/drawer/index.d.ts +1 -0
  31. package/dynamicdialog/index.d.ts +1 -0
  32. package/editor/index.d.ts +1 -0
  33. package/fesm2022/primeng-accordion.mjs +27 -23
  34. package/fesm2022/primeng-accordion.mjs.map +1 -1
  35. package/fesm2022/primeng-animateonscroll.mjs +8 -7
  36. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  37. package/fesm2022/primeng-api.mjs +146 -32
  38. package/fesm2022/primeng-api.mjs.map +1 -1
  39. package/fesm2022/primeng-autocomplete.mjs +18 -14
  40. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  41. package/fesm2022/primeng-autofocus.mjs +8 -7
  42. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  43. package/fesm2022/primeng-avatar.mjs +11 -10
  44. package/fesm2022/primeng-avatar.mjs.map +1 -1
  45. package/fesm2022/primeng-avatargroup.mjs +11 -10
  46. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  47. package/fesm2022/primeng-badge.mjs +17 -15
  48. package/fesm2022/primeng-badge.mjs.map +1 -1
  49. package/fesm2022/primeng-base.mjs +3 -3
  50. package/fesm2022/primeng-base.mjs.map +1 -1
  51. package/fesm2022/primeng-basecomponent.mjs +38 -25
  52. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  53. package/fesm2022/primeng-baseeditableholder.mjs +4 -4
  54. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  55. package/fesm2022/primeng-baseinput.mjs +4 -4
  56. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  57. package/fesm2022/primeng-basemodelholder.mjs +3 -3
  58. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  59. package/fesm2022/primeng-bind.mjs +8 -8
  60. package/fesm2022/primeng-bind.mjs.map +1 -1
  61. package/fesm2022/primeng-blockui.mjs +11 -10
  62. package/fesm2022/primeng-blockui.mjs.map +1 -1
  63. package/fesm2022/primeng-breadcrumb.mjs +47 -28
  64. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  65. package/fesm2022/primeng-button.mjs +34 -28
  66. package/fesm2022/primeng-button.mjs.map +1 -1
  67. package/fesm2022/primeng-buttongroup.mjs +11 -10
  68. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  69. package/fesm2022/primeng-card.mjs +12 -11
  70. package/fesm2022/primeng-card.mjs.map +1 -1
  71. package/fesm2022/primeng-carousel.mjs +11 -10
  72. package/fesm2022/primeng-carousel.mjs.map +1 -1
  73. package/fesm2022/primeng-cascadeselect.mjs +16 -15
  74. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  75. package/fesm2022/primeng-chart.mjs +11 -10
  76. package/fesm2022/primeng-chart.mjs.map +1 -1
  77. package/fesm2022/primeng-checkbox.mjs +11 -11
  78. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  79. package/fesm2022/primeng-chip.mjs +11 -10
  80. package/fesm2022/primeng-chip.mjs.map +1 -1
  81. package/fesm2022/primeng-classnames.mjs +8 -8
  82. package/fesm2022/primeng-classnames.mjs.map +1 -1
  83. package/fesm2022/primeng-colorpicker.mjs +12 -11
  84. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  85. package/fesm2022/primeng-config.mjs +6 -6
  86. package/fesm2022/primeng-config.mjs.map +1 -1
  87. package/fesm2022/primeng-confirmdialog.mjs +11 -10
  88. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  89. package/fesm2022/primeng-confirmpopup.mjs +12 -11
  90. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  91. package/fesm2022/primeng-contextmenu.mjs +28 -21
  92. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  93. package/fesm2022/primeng-dataview.mjs +11 -10
  94. package/fesm2022/primeng-dataview.mjs.map +1 -1
  95. package/fesm2022/primeng-datepicker.mjs +15 -12
  96. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  97. package/fesm2022/primeng-dialog.mjs +14 -13
  98. package/fesm2022/primeng-dialog.mjs.map +1 -1
  99. package/fesm2022/primeng-divider.mjs +11 -10
  100. package/fesm2022/primeng-divider.mjs.map +1 -1
  101. package/fesm2022/primeng-dock.mjs +36 -23
  102. package/fesm2022/primeng-dock.mjs.map +1 -1
  103. package/fesm2022/primeng-dragdrop.mjs +10 -10
  104. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  105. package/fesm2022/primeng-drawer.mjs +11 -10
  106. package/fesm2022/primeng-drawer.mjs.map +1 -1
  107. package/fesm2022/primeng-dynamicdialog.mjs +17 -16
  108. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  109. package/fesm2022/primeng-editor.mjs +11 -10
  110. package/fesm2022/primeng-editor.mjs.map +1 -1
  111. package/fesm2022/primeng-fieldset.mjs +12 -11
  112. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  113. package/fesm2022/primeng-fileupload.mjs +15 -14
  114. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  115. package/fesm2022/primeng-floatlabel.mjs +11 -10
  116. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  117. package/fesm2022/primeng-fluid.mjs +11 -10
  118. package/fesm2022/primeng-fluid.mjs.map +1 -1
  119. package/fesm2022/primeng-focustrap.mjs +8 -7
  120. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  121. package/fesm2022/primeng-galleria.mjs +32 -28
  122. package/fesm2022/primeng-galleria.mjs.map +1 -1
  123. package/fesm2022/primeng-iconfield.mjs +11 -10
  124. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  126. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  128. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  130. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  132. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  134. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  136. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  138. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  140. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  142. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  144. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  146. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  148. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  150. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  152. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-ban.mjs +3 -3
  154. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-bars.mjs +3 -3
  156. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  158. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-blank.mjs +3 -3
  160. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  162. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  164. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  166. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-check.mjs +3 -3
  168. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  170. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  172. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  174. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  176. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  178. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-eye.mjs +3 -3
  180. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  182. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-filter.mjs +3 -3
  184. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  186. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  188. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-home.mjs +3 -3
  190. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  192. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-minus.mjs +3 -3
  194. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  196. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-plus.mjs +3 -3
  198. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  200. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-search.mjs +3 -3
  202. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  204. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  206. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  208. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  210. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  211. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  212. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  213. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  214. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  215. package/fesm2022/primeng-icons-star.mjs +3 -3
  216. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  217. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  218. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  219. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  220. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  221. package/fesm2022/primeng-icons-times.mjs +3 -3
  222. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  223. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  224. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  225. package/fesm2022/primeng-icons-trash.mjs +3 -3
  226. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  227. package/fesm2022/primeng-icons-undo.mjs +3 -3
  228. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  229. package/fesm2022/primeng-icons-upload.mjs +3 -3
  230. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  231. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  232. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  233. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  234. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  235. package/fesm2022/primeng-iftalabel.mjs +11 -10
  236. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  237. package/fesm2022/primeng-image.mjs +12 -11
  238. package/fesm2022/primeng-image.mjs.map +1 -1
  239. package/fesm2022/primeng-imagecompare.mjs +11 -10
  240. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  241. package/fesm2022/primeng-inplace.mjs +17 -16
  242. package/fesm2022/primeng-inplace.mjs.map +1 -1
  243. package/fesm2022/primeng-inputgroup.mjs +11 -10
  244. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  245. package/fesm2022/primeng-inputgroupaddon.mjs +11 -10
  246. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  247. package/fesm2022/primeng-inputicon.mjs +11 -10
  248. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  249. package/fesm2022/primeng-inputmask.mjs +575 -15
  250. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  251. package/fesm2022/primeng-inputnumber.mjs +11 -10
  252. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  253. package/fesm2022/primeng-inputotp.mjs +20 -13
  254. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  255. package/fesm2022/primeng-inputtext.mjs +13 -12
  256. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  257. package/fesm2022/primeng-keyfilter.mjs +7 -7
  258. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  259. package/fesm2022/primeng-knob.mjs +26 -25
  260. package/fesm2022/primeng-knob.mjs.map +1 -1
  261. package/fesm2022/primeng-listbox.mjs +17 -15
  262. package/fesm2022/primeng-listbox.mjs.map +1 -1
  263. package/fesm2022/primeng-megamenu.mjs +60 -33
  264. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  265. package/fesm2022/primeng-menu.mjs +30 -25
  266. package/fesm2022/primeng-menu.mjs.map +1 -1
  267. package/fesm2022/primeng-menubar.mjs +59 -36
  268. package/fesm2022/primeng-menubar.mjs.map +1 -1
  269. package/fesm2022/primeng-message.mjs +11 -10
  270. package/fesm2022/primeng-message.mjs.map +1 -1
  271. package/fesm2022/primeng-metergroup.mjs +14 -13
  272. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  273. package/fesm2022/primeng-multiselect.mjs +16 -15
  274. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  275. package/fesm2022/primeng-orderlist.mjs +11 -10
  276. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  277. package/fesm2022/primeng-organizationchart.mjs +15 -14
  278. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  279. package/fesm2022/primeng-overlay.mjs +13 -12
  280. package/fesm2022/primeng-overlay.mjs.map +1 -1
  281. package/fesm2022/primeng-overlaybadge.mjs +11 -10
  282. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  283. package/fesm2022/primeng-paginator.mjs +12 -11
  284. package/fesm2022/primeng-paginator.mjs.map +1 -1
  285. package/fesm2022/primeng-panel.mjs +12 -11
  286. package/fesm2022/primeng-panel.mjs.map +1 -1
  287. package/fesm2022/primeng-panelmenu.mjs +52 -27
  288. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  289. package/fesm2022/primeng-password.mjs +20 -18
  290. package/fesm2022/primeng-password.mjs.map +1 -1
  291. package/fesm2022/primeng-picklist.mjs +85 -92
  292. package/fesm2022/primeng-picklist.mjs.map +1 -1
  293. package/fesm2022/primeng-popover.mjs +12 -11
  294. package/fesm2022/primeng-popover.mjs.map +1 -1
  295. package/fesm2022/primeng-progressbar.mjs +11 -10
  296. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  297. package/fesm2022/primeng-progressspinner.mjs +11 -10
  298. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  299. package/fesm2022/primeng-radiobutton.mjs +15 -14
  300. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  301. package/fesm2022/primeng-rating.mjs +11 -10
  302. package/fesm2022/primeng-rating.mjs.map +1 -1
  303. package/fesm2022/primeng-ripple.mjs +11 -10
  304. package/fesm2022/primeng-ripple.mjs.map +1 -1
  305. package/fesm2022/primeng-scroller.mjs +11 -11
  306. package/fesm2022/primeng-scroller.mjs.map +1 -1
  307. package/fesm2022/primeng-scrollpanel.mjs +11 -10
  308. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  309. package/fesm2022/primeng-scrolltop.mjs +12 -11
  310. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  311. package/fesm2022/primeng-select.mjs +16 -15
  312. package/fesm2022/primeng-select.mjs.map +1 -1
  313. package/fesm2022/primeng-selectbutton.mjs +12 -11
  314. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  315. package/fesm2022/primeng-skeleton.mjs +11 -10
  316. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  317. package/fesm2022/primeng-slider.mjs +11 -10
  318. package/fesm2022/primeng-slider.mjs.map +1 -1
  319. package/fesm2022/primeng-speeddial.mjs +12 -11
  320. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  321. package/fesm2022/primeng-splitbutton.mjs +12 -11
  322. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  323. package/fesm2022/primeng-splitter.mjs +12 -11
  324. package/fesm2022/primeng-splitter.mjs.map +1 -1
  325. package/fesm2022/primeng-stepper.mjs +58 -50
  326. package/fesm2022/primeng-stepper.mjs.map +1 -1
  327. package/fesm2022/primeng-steps.mjs +12 -11
  328. package/fesm2022/primeng-steps.mjs.map +1 -1
  329. package/fesm2022/primeng-styleclass.mjs +7 -7
  330. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  331. package/fesm2022/primeng-table.mjs +100 -91
  332. package/fesm2022/primeng-table.mjs.map +1 -1
  333. package/fesm2022/primeng-tabs.mjs +42 -37
  334. package/fesm2022/primeng-tabs.mjs.map +1 -1
  335. package/fesm2022/primeng-tag.mjs +11 -10
  336. package/fesm2022/primeng-tag.mjs.map +1 -1
  337. package/fesm2022/primeng-terminal.mjs +14 -13
  338. package/fesm2022/primeng-terminal.mjs.map +1 -1
  339. package/fesm2022/primeng-textarea.mjs +12 -11
  340. package/fesm2022/primeng-textarea.mjs.map +1 -1
  341. package/fesm2022/primeng-tieredmenu.mjs +25 -20
  342. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  343. package/fesm2022/primeng-timeline.mjs +11 -10
  344. package/fesm2022/primeng-timeline.mjs.map +1 -1
  345. package/fesm2022/primeng-toast.mjs +15 -14
  346. package/fesm2022/primeng-toast.mjs.map +1 -1
  347. package/fesm2022/primeng-togglebutton.mjs +12 -11
  348. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  349. package/fesm2022/primeng-toggleswitch.mjs +12 -11
  350. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  351. package/fesm2022/primeng-toolbar.mjs +11 -10
  352. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  353. package/fesm2022/primeng-tooltip.mjs +76 -13
  354. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  355. package/fesm2022/primeng-tree.mjs +160 -91
  356. package/fesm2022/primeng-tree.mjs.map +1 -1
  357. package/fesm2022/primeng-treeselect.mjs +29 -13
  358. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  359. package/fesm2022/primeng-treetable.mjs +70 -61
  360. package/fesm2022/primeng-treetable.mjs.map +1 -1
  361. package/fesm2022/primeng-usestyle.mjs +3 -3
  362. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  363. package/fieldset/index.d.ts +1 -0
  364. package/fileupload/index.d.ts +1 -0
  365. package/floatlabel/index.d.ts +1 -0
  366. package/fluid/index.d.ts +1 -0
  367. package/focustrap/index.d.ts +1 -0
  368. package/galleria/index.d.ts +2 -0
  369. package/iconfield/index.d.ts +1 -0
  370. package/iftalabel/index.d.ts +1 -0
  371. package/image/index.d.ts +1 -0
  372. package/imagecompare/index.d.ts +1 -0
  373. package/inplace/index.d.ts +1 -0
  374. package/inputgroup/index.d.ts +1 -0
  375. package/inputgroupaddon/index.d.ts +1 -0
  376. package/inputicon/index.d.ts +1 -0
  377. package/inputmask/index.d.ts +117 -10
  378. package/inputnumber/index.d.ts +1 -0
  379. package/inputotp/index.d.ts +1 -0
  380. package/inputtext/index.d.ts +1 -0
  381. package/knob/index.d.ts +2 -1
  382. package/listbox/index.d.ts +1 -0
  383. package/megamenu/index.d.ts +5 -2
  384. package/menu/index.d.ts +3 -2
  385. package/menubar/index.d.ts +5 -3
  386. package/message/index.d.ts +1 -0
  387. package/metergroup/index.d.ts +1 -0
  388. package/multiselect/index.d.ts +2 -1
  389. package/orderlist/index.d.ts +1 -0
  390. package/organizationchart/index.d.ts +2 -1
  391. package/overlay/index.d.ts +1 -0
  392. package/overlaybadge/index.d.ts +1 -0
  393. package/package.json +404 -404
  394. package/paginator/index.d.ts +1 -0
  395. package/panel/index.d.ts +1 -0
  396. package/panelmenu/index.d.ts +2 -1
  397. package/password/index.d.ts +3 -1
  398. package/picklist/index.d.ts +5 -4
  399. package/popover/index.d.ts +1 -0
  400. package/progressbar/index.d.ts +1 -0
  401. package/progressspinner/index.d.ts +1 -0
  402. package/radiobutton/index.d.ts +1 -0
  403. package/rating/index.d.ts +1 -0
  404. package/ripple/index.d.ts +1 -0
  405. package/scrollpanel/index.d.ts +1 -0
  406. package/scrolltop/index.d.ts +1 -0
  407. package/select/index.d.ts +1 -0
  408. package/selectbutton/index.d.ts +1 -0
  409. package/skeleton/index.d.ts +1 -0
  410. package/slider/index.d.ts +1 -0
  411. package/speeddial/index.d.ts +1 -0
  412. package/splitbutton/index.d.ts +1 -0
  413. package/splitter/index.d.ts +1 -0
  414. package/stepper/index.d.ts +8 -1
  415. package/steps/index.d.ts +1 -0
  416. package/table/index.d.ts +2 -1
  417. package/tabs/index.d.ts +5 -0
  418. package/tag/index.d.ts +1 -0
  419. package/terminal/index.d.ts +1 -0
  420. package/textarea/index.d.ts +1 -0
  421. package/tieredmenu/index.d.ts +2 -1
  422. package/timeline/index.d.ts +1 -0
  423. package/toast/index.d.ts +3 -2
  424. package/togglebutton/index.d.ts +1 -0
  425. package/toggleswitch/index.d.ts +1 -0
  426. package/toolbar/index.d.ts +1 -0
  427. package/tooltip/index.d.ts +18 -2
  428. package/tree/index.d.ts +46 -27
  429. package/treeselect/index.d.ts +7 -1
  430. package/treetable/index.d.ts +3 -2
  431. package/types/accordion/index.d.ts +1 -1
  432. package/types/autocomplete/index.d.ts +1 -1
  433. package/types/avatar/index.d.ts +1 -1
  434. package/types/avatargroup/index.d.ts +1 -1
  435. package/types/badge/index.d.ts +1 -1
  436. package/types/blockui/index.d.ts +1 -1
  437. package/types/breadcrumb/index.d.ts +1 -1
  438. package/types/button/index.d.ts +1 -1
  439. package/types/card/index.d.ts +1 -1
  440. package/types/carousel/index.d.ts +1 -1
  441. package/types/cascadeselect/index.d.ts +1 -1
  442. package/types/chart/index.d.ts +1 -1
  443. package/types/checkbox/index.d.ts +1 -1
  444. package/types/chip/index.d.ts +1 -1
  445. package/types/colorpicker/index.d.ts +1 -1
  446. package/types/confirmdialog/index.d.ts +1 -1
  447. package/types/confirmpopup/index.d.ts +1 -1
  448. package/types/contextmenu/index.d.ts +1 -1
  449. package/types/dataview/index.d.ts +1 -1
  450. package/types/datepicker/index.d.ts +1 -1
  451. package/types/dialog/index.d.ts +1 -1
  452. package/types/divider/index.d.ts +1 -1
  453. package/types/dock/index.d.ts +1 -1
  454. package/types/drawer/index.d.ts +1 -1
  455. package/types/editor/index.d.ts +1 -1
  456. package/types/fieldset/index.d.ts +1 -1
  457. package/types/fileupload/index.d.ts +1 -1
  458. package/types/floatlabel/index.d.ts +1 -1
  459. package/types/fluid/index.d.ts +1 -1
  460. package/types/galleria/index.d.ts +1 -1
  461. package/types/iconfield/index.d.ts +1 -1
  462. package/types/iftalabel/index.d.ts +1 -1
  463. package/types/image/index.d.ts +1 -1
  464. package/types/imagecompare/index.d.ts +1 -1
  465. package/types/inplace/index.d.ts +1 -1
  466. package/types/inputgroup/index.d.ts +1 -1
  467. package/types/inputgroupaddon/index.d.ts +1 -1
  468. package/types/inputicon/index.d.ts +1 -1
  469. package/types/inputmask/index.d.ts +1 -1
  470. package/types/inputnumber/index.d.ts +1 -1
  471. package/types/inputotp/index.d.ts +1 -1
  472. package/types/inputtext/index.d.ts +1 -1
  473. package/types/knob/index.d.ts +1 -1
  474. package/types/listbox/index.d.ts +1 -1
  475. package/types/megamenu/index.d.ts +1 -1
  476. package/types/menu/index.d.ts +1 -1
  477. package/types/menubar/index.d.ts +1 -1
  478. package/types/message/index.d.ts +1 -1
  479. package/types/metergroup/index.d.ts +1 -1
  480. package/types/multiselect/index.d.ts +1 -1
  481. package/types/orderlist/index.d.ts +1 -1
  482. package/types/organizationchart/index.d.ts +1 -1
  483. package/types/overlay/index.d.ts +1 -1
  484. package/types/overlaybadge/index.d.ts +1 -1
  485. package/types/paginator/index.d.ts +1 -1
  486. package/types/panel/index.d.ts +1 -1
  487. package/types/panelmenu/index.d.ts +1 -1
  488. package/types/password/index.d.ts +1 -1
  489. package/types/picklist/index.d.ts +1 -1
  490. package/types/popover/index.d.ts +1 -1
  491. package/types/progressbar/index.d.ts +1 -1
  492. package/types/progressspinner/index.d.ts +1 -1
  493. package/types/radiobutton/index.d.ts +1 -1
  494. package/types/rating/index.d.ts +1 -1
  495. package/types/scroller/index.d.ts +1 -1
  496. package/types/scrollpanel/index.d.ts +1 -1
  497. package/types/scrolltop/index.d.ts +1 -1
  498. package/types/select/index.d.ts +1 -1
  499. package/types/selectbutton/index.d.ts +1 -1
  500. package/types/skeleton/index.d.ts +1 -1
  501. package/types/slider/index.d.ts +1 -1
  502. package/types/speeddial/index.d.ts +1 -1
  503. package/types/splitbutton/index.d.ts +1 -1
  504. package/types/splitter/index.d.ts +1 -1
  505. package/types/stepper/index.d.ts +1 -1
  506. package/types/table/index.d.ts +1 -1
  507. package/types/tabs/index.d.ts +1 -1
  508. package/types/tag/index.d.ts +1 -1
  509. package/types/terminal/index.d.ts +1 -1
  510. package/types/textarea/index.d.ts +1 -1
  511. package/types/tieredmenu/index.d.ts +1 -1
  512. package/types/timeline/index.d.ts +1 -1
  513. package/types/toast/index.d.ts +1 -1
  514. package/types/togglebutton/index.d.ts +1 -1
  515. package/types/toggleswitch/index.d.ts +1 -1
  516. package/types/toolbar/index.d.ts +1 -1
  517. package/types/tooltip/index.d.ts +1 -1
  518. package/types/tree/index.d.ts +1 -1
  519. package/types/treeselect/index.d.ts +1 -1
  520. package/types/treetable/index.d.ts +1 -1
@@ -2,10 +2,10 @@ export * from 'primeng/types/tree';
2
2
  import * as i1 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, InjectionToken, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
+ import { Injectable, InjectionToken, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, model, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
6
  import * as i2 from '@angular/forms';
7
7
  import { FormsModule } from '@angular/forms';
8
- import { getOuterWidth, getOuterHeight, find, hasClass, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
8
+ import { getOuterWidth, getOuterHeight, find, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
9
9
  import * as i4 from 'primeng/api';
10
10
  import { SharedModule, TranslationKeys, PrimeTemplate } from 'primeng/api';
11
11
  import * as i5 from 'primeng/autofocus';
@@ -58,10 +58,10 @@ class TreeStyle extends BaseStyle {
58
58
  name = 'tree';
59
59
  style = style;
60
60
  classes = classes;
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeStyle });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
62
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeStyle });
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeStyle, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeStyle, decorators: [{
65
65
  type: Injectable
66
66
  }] });
67
67
  /**
@@ -167,11 +167,32 @@ class UITreeNode extends BaseComponent {
167
167
  isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : []));
168
168
  dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), ...(ngDevMode ? [{ debugName: "dropPosition" }] : []));
169
169
  _componentStyle = inject(TreeStyle);
170
+ /**
171
+ * Computed signal that reactively tracks selection state.
172
+ */
173
+ _selected = computed(() => {
174
+ // Reading selection() makes this computed reactive to selection changes
175
+ this.tree.selection();
176
+ return this.tree.isSelected(this.node);
177
+ }, ...(ngDevMode ? [{ debugName: "_selected" }] : []));
178
+ /**
179
+ * Computed signal that reactively tracks context menu selection state.
180
+ */
181
+ _contextMenuSelected = computed(() => {
182
+ const selection = this.tree.contextMenuSelection();
183
+ if (!selection || !this.node) {
184
+ return false;
185
+ }
186
+ return selection === this.node || (selection.key && selection.key === this.node.key);
187
+ }, ...(ngDevMode ? [{ debugName: "_contextMenuSelected" }] : []));
170
188
  get selected() {
171
- return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this.isSelected() : undefined;
189
+ return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this._selected() : undefined;
172
190
  }
173
191
  get checked() {
174
- return this.tree.selectionMode === 'checkbox' ? this.isSelected() : undefined;
192
+ return this.tree.selectionMode === 'checkbox' ? this._selected() : undefined;
193
+ }
194
+ get contextMenuSelected() {
195
+ return this._contextMenuSelected();
175
196
  }
176
197
  get nodeClass() {
177
198
  return this.tree._componentStyle.classes.node({ instance: this });
@@ -191,6 +212,7 @@ class UITreeNode extends BaseComponent {
191
212
  selected: this.selected,
192
213
  checked: this.checked,
193
214
  partialChecked: this.node?.partialSelected,
215
+ contextMenuSelected: this.contextMenuSelected,
194
216
  leaf: this.isLeaf()
195
217
  }
196
218
  });
@@ -216,7 +238,10 @@ class UITreeNode extends BaseComponent {
216
238
  return this.tree.isNodeLeaf(this.node);
217
239
  }
218
240
  isSelected() {
219
- return this.tree.isSelected(this.node);
241
+ return this._selected();
242
+ }
243
+ isContextMenuSelected() {
244
+ return this._contextMenuSelected();
220
245
  }
221
246
  isSameNode(event) {
222
247
  return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
@@ -252,9 +277,9 @@ class UITreeNode extends BaseComponent {
252
277
  this.node.expanded = false;
253
278
  if (this.tree.virtualScroll) {
254
279
  this.tree.updateSerializedValue();
255
- this.focusVirtualNode();
256
280
  }
257
281
  this.tree.onNodeCollapse.emit({ originalEvent: event, node: this.node });
282
+ this.focusVirtualNode();
258
283
  }
259
284
  onNodeClick(event) {
260
285
  this.tree.onNodeClick(event, this.node);
@@ -504,7 +529,7 @@ class UITreeNode extends BaseComponent {
504
529
  event.preventDefault();
505
530
  }
506
531
  setAllNodesTabIndexes() {
507
- const nodes = find(this.tree.el.nativeElement, '.p-tree-node');
532
+ const nodes = find(this.tree.el.nativeElement, '[data-pc-section="node"]');
508
533
  const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');
509
534
  [...nodes].forEach((node) => {
510
535
  node.tabIndex = -1;
@@ -540,7 +565,7 @@ class UITreeNode extends BaseComponent {
540
565
  }
541
566
  }
542
567
  findLastVisibleDescendant(nodeElement) {
543
- const listElement = Array.from(nodeElement.children).find((el) => hasClass(el, 'p-tree-node'));
568
+ const listElement = Array.from(nodeElement.children).find((el) => el.getAttribute('data-pc-section') === 'node');
544
569
  const childrenListElement = listElement?.children[1];
545
570
  if (childrenListElement && childrenListElement.children.length > 0) {
546
571
  const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];
@@ -555,10 +580,7 @@ class UITreeNode extends BaseComponent {
555
580
  return parentNodeElement?.tagName === 'P-TREENODE' ? parentNodeElement : null;
556
581
  }
557
582
  focusNode(element) {
558
- if (this.tree.droppableNodes)
559
- element.children[1].focus();
560
- else
561
- element.children[0].focus();
583
+ element.children[0].focus();
562
584
  }
563
585
  focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {
564
586
  firstFocusableRow.tabIndex = '-1';
@@ -571,8 +593,8 @@ class UITreeNode extends BaseComponent {
571
593
  focus(node);
572
594
  }, 1);
573
595
  }
574
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
575
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: UITreeNode, isStandalone: true, selector: "p-treeNode", inputs: { rowNode: "rowNode", node: "node", parentNode: "parentNode", root: ["root", "root", booleanAttribute], index: ["index", "index", numberAttribute], firstChild: ["firstChild", "firstChild", booleanAttribute], lastChild: ["lastChild", "lastChild", booleanAttribute], level: ["level", "level", numberAttribute], indentation: ["indentation", "indentation", numberAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], loadingMode: "loadingMode" }, providers: [TreeStyle, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }], usesInheritance: true, ngImport: i0, template: `
596
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
597
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: UITreeNode, isStandalone: true, selector: "p-treeNode", inputs: { rowNode: "rowNode", node: "node", parentNode: "parentNode", root: ["root", "root", booleanAttribute], index: ["index", "index", numberAttribute], firstChild: ["firstChild", "firstChild", booleanAttribute], lastChild: ["lastChild", "lastChild", booleanAttribute], level: ["level", "level", numberAttribute], indentation: ["indentation", "indentation", numberAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], loadingMode: "loadingMode" }, providers: [TreeStyle, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }], usesInheritance: true, ngImport: i0, template: `
576
598
  @if (node) {
577
599
  <li
578
600
  [class]="cn(cx('node'), node.styleClass)"
@@ -675,13 +697,15 @@ class UITreeNode extends BaseComponent {
675
697
  [itemSize]="itemSize"
676
698
  [level]="level + 1"
677
699
  [loadingMode]="loadingMode"
700
+ [pt]="pt"
701
+ [unstyled]="unstyled()"
678
702
  ></p-treeNode>
679
703
  </ul>
680
704
  </li>
681
705
  }
682
706
  `, isInline: true, dependencies: [{ kind: "component", type: UITreeNode, selector: "p-treeNode", inputs: ["rowNode", "node", "parentNode", "root", "index", "firstChild", "lastChild", "level", "indentation", "itemSize", "loadingMode"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["hostName", "value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i3.Bind, selector: "[pBind]", inputs: ["pBind"] }], encapsulation: i0.ViewEncapsulation.None });
683
707
  }
684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UITreeNode, decorators: [{
708
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: UITreeNode, decorators: [{
685
709
  type: Component,
686
710
  args: [{
687
711
  selector: 'p-treeNode',
@@ -790,6 +814,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
790
814
  [itemSize]="itemSize"
791
815
  [level]="level + 1"
792
816
  [loadingMode]="loadingMode"
817
+ [pt]="pt"
818
+ [unstyled]="unstyled()"
793
819
  ></p-treeNode>
794
820
  </ul>
795
821
  </li>
@@ -834,6 +860,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
834
860
  */
835
861
  class Tree extends BaseComponent {
836
862
  dragDropService;
863
+ componentName = 'Tree';
837
864
  bindDirectiveInstance = inject(Bind, { self: true });
838
865
  $pcTree = inject(TREE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;
839
866
  onAfterViewChecked() {
@@ -858,7 +885,7 @@ class Tree extends BaseComponent {
858
885
  * A single treenode instance or an array to refer to the selections.
859
886
  * @group Props
860
887
  */
861
- selection;
888
+ selection = model(null, ...(ngDevMode ? [{ debugName: "selection" }] : []));
862
889
  /**
863
890
  * Style class of the component.
864
891
  * @deprecated since v20.0.0, use `class` instead.
@@ -870,6 +897,18 @@ class Tree extends BaseComponent {
870
897
  * @group Props
871
898
  */
872
899
  contextMenu;
900
+ /**
901
+ * Defines how the context menu selection behaves.
902
+ * When set to 'separate', context menu selection is handled independently from the main selection.
903
+ * When set to 'joint', context menu selection also updates the main selection.
904
+ * @group Props
905
+ */
906
+ contextMenuSelectionMode = 'separate';
907
+ /**
908
+ * A single treenode instance to refer to the context menu selection.
909
+ * @group Props
910
+ */
911
+ contextMenuSelection = model(null, ...(ngDevMode ? [{ debugName: "contextMenuSelection" }] : []));
873
912
  /**
874
913
  * Scope of the draggable nodes to match a droppableScope.
875
914
  * @group Props
@@ -1025,12 +1064,6 @@ class Tree extends BaseComponent {
1025
1064
  * @group Props
1026
1065
  */
1027
1066
  highlightOnSelect = false;
1028
- /**
1029
- * Callback to invoke on selection change.
1030
- * @param {(TreeNode<any> | TreeNode<any>[] | null)} event - Custom selection change event.
1031
- * @group Emits
1032
- */
1033
- selectionChange = new EventEmitter();
1034
1067
  /**
1035
1068
  * Callback to invoke when a node is selected.
1036
1069
  * @param {TreeNodeSelectEvent} event - Node select event.
@@ -1126,7 +1159,7 @@ class Tree extends BaseComponent {
1126
1159
  * Empty message template.
1127
1160
  * @group Templates
1128
1161
  */
1129
- emptyMessageTemplate;
1162
+ emptyTemplate;
1130
1163
  /**
1131
1164
  * Toggler icon template.
1132
1165
  * @group Templates
@@ -1153,7 +1186,7 @@ class Tree extends BaseComponent {
1153
1186
  contentViewChild;
1154
1187
  templates;
1155
1188
  _headerTemplate;
1156
- _emptyMessageTemplate;
1189
+ _emptyTemplate;
1157
1190
  _footerTemplate;
1158
1191
  _loaderTemplate;
1159
1192
  _togglerIconTemplate;
@@ -1171,7 +1204,7 @@ class Tree extends BaseComponent {
1171
1204
  this._headerTemplate = item.template;
1172
1205
  break;
1173
1206
  case 'empty':
1174
- this._emptyMessageTemplate = item.template;
1207
+ this._emptyTemplate = item.template;
1175
1208
  break;
1176
1209
  case 'footer':
1177
1210
  this._footerTemplate = item.template;
@@ -1286,10 +1319,11 @@ class Tree extends BaseComponent {
1286
1319
  }
1287
1320
  onNodeClick(event, node) {
1288
1321
  let eventTarget = event.target;
1289
- if (hasClass(eventTarget, 'p-tree-toggler') || hasClass(eventTarget, 'p-tree-toggler-icon')) {
1322
+ const section = eventTarget?.getAttribute?.('data-pc-section');
1323
+ if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1290
1324
  return;
1291
1325
  }
1292
- else if (this.selectionMode) {
1326
+ if (this.selectionMode) {
1293
1327
  if (node.selectable === false) {
1294
1328
  node.style = '--p-focus-ring-color: none;';
1295
1329
  return;
@@ -1307,27 +1341,26 @@ class Tree extends BaseComponent {
1307
1341
  }
1308
1342
  let index = this.findIndexInSelection(node);
1309
1343
  let selected = index >= 0;
1344
+ const currentSelection = this.selection();
1310
1345
  if (this.isCheckboxSelectionMode()) {
1311
1346
  if (selected) {
1312
1347
  if (this.propagateSelectionDown)
1313
1348
  this.propagateDown(node, false);
1314
1349
  else
1315
- this.selection = this.selection.filter((val, i) => i != index);
1350
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1316
1351
  if (this.propagateSelectionUp && node.parent) {
1317
1352
  this.propagateUp(node.parent, false);
1318
1353
  }
1319
- this.selectionChange.emit(this.selection);
1320
1354
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1321
1355
  }
1322
1356
  else {
1323
1357
  if (this.propagateSelectionDown)
1324
1358
  this.propagateDown(node, true);
1325
1359
  else
1326
- this.selection = [...(this.selection || []), node];
1360
+ this.selection.set([...(currentSelection || []), node]);
1327
1361
  if (this.propagateSelectionUp && node.parent) {
1328
1362
  this.propagateUp(node.parent, true);
1329
1363
  }
1330
- this.selectionChange.emit(this.selection);
1331
1364
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1332
1365
  }
1333
1366
  }
@@ -1337,22 +1370,20 @@ class Tree extends BaseComponent {
1337
1370
  let metaKey = event.metaKey || event.ctrlKey;
1338
1371
  if (selected && metaKey) {
1339
1372
  if (this.isSingleSelectionMode()) {
1340
- this.selectionChange.emit(null);
1373
+ this.selection.set(null);
1341
1374
  }
1342
1375
  else {
1343
- this.selection = this.selection.filter((val, i) => i != index);
1344
- this.selectionChange.emit(this.selection);
1376
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1345
1377
  }
1346
1378
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1347
1379
  }
1348
1380
  else {
1349
1381
  if (this.isSingleSelectionMode()) {
1350
- this.selectionChange.emit(node);
1382
+ this.selection.set(node);
1351
1383
  }
1352
1384
  else if (this.isMultipleSelectionMode()) {
1353
- this.selection = !metaKey ? [] : this.selection || [];
1354
- this.selection = [...this.selection, node];
1355
- this.selectionChange.emit(this.selection);
1385
+ const base = !metaKey ? [] : currentSelection || [];
1386
+ this.selection.set([...base, node]);
1356
1387
  }
1357
1388
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1358
1389
  }
@@ -1360,11 +1391,11 @@ class Tree extends BaseComponent {
1360
1391
  else {
1361
1392
  if (this.isSingleSelectionMode()) {
1362
1393
  if (selected) {
1363
- this.selection = null;
1394
+ this.selection.set(null);
1364
1395
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1365
1396
  }
1366
1397
  else {
1367
- this.selection = node;
1398
+ this.selection.set(node);
1368
1399
  setTimeout(() => {
1369
1400
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1370
1401
  });
@@ -1372,17 +1403,16 @@ class Tree extends BaseComponent {
1372
1403
  }
1373
1404
  else {
1374
1405
  if (selected) {
1375
- this.selection = this.selection.filter((val, i) => i != index);
1406
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1376
1407
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1377
1408
  }
1378
1409
  else {
1379
- this.selection = [...(this.selection || []), node];
1410
+ this.selection.set([...(currentSelection || []), node]);
1380
1411
  setTimeout(() => {
1381
1412
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1382
1413
  });
1383
1414
  }
1384
1415
  }
1385
- this.selectionChange.emit(this.selection);
1386
1416
  }
1387
1417
  }
1388
1418
  }
@@ -1394,20 +1424,36 @@ class Tree extends BaseComponent {
1394
1424
  onNodeRightClick(event, node) {
1395
1425
  if (this.contextMenu) {
1396
1426
  let eventTarget = event.target;
1397
- if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {
1427
+ const section = eventTarget.getAttribute('data-pc-section');
1428
+ if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1398
1429
  return;
1399
1430
  }
1400
- else {
1401
- let index = this.findIndexInSelection(node);
1402
- let selected = index >= 0;
1403
- if (!selected) {
1404
- if (this.isSingleSelectionMode())
1405
- this.selectionChange.emit(node);
1406
- else
1407
- this.selectionChange.emit([node]);
1408
- }
1431
+ let index = this.findIndexInSelection(node);
1432
+ let isNodeSelected = index >= 0;
1433
+ const onContextMenuCallback = () => {
1409
1434
  this.contextMenu.show(event);
1435
+ this.contextMenu.hideCallback = () => {
1436
+ this.contextMenuSelection.set(null);
1437
+ };
1410
1438
  this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });
1439
+ };
1440
+ if (this.contextMenuSelectionMode === 'separate') {
1441
+ // In 'separate' mode: Update contextMenuSelection with clicked node, don't modify selection
1442
+ this.contextMenuSelection.set(node);
1443
+ onContextMenuCallback();
1444
+ }
1445
+ else if (this.contextMenuSelectionMode === 'joint') {
1446
+ // In 'joint' mode: Update only selection, don't touch contextMenuSelection
1447
+ if (!isNodeSelected) {
1448
+ if (this.isSingleSelectionMode()) {
1449
+ this.selection.set(node);
1450
+ }
1451
+ else {
1452
+ this.selection.set([node]);
1453
+ }
1454
+ }
1455
+ // If already selected, keep current selection as is
1456
+ onContextMenuCallback();
1411
1457
  }
1412
1458
  }
1413
1459
  }
@@ -1416,14 +1462,17 @@ class Tree extends BaseComponent {
1416
1462
  }
1417
1463
  findIndexInSelection(node) {
1418
1464
  let index = -1;
1419
- if (this.selectionMode && this.selection) {
1465
+ const currentSelection = this.selection();
1466
+ if (this.selectionMode && currentSelection) {
1420
1467
  if (this.isSingleSelectionMode()) {
1421
- let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;
1468
+ const sel = currentSelection;
1469
+ let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;
1422
1470
  index = areNodesEqual ? 0 : -1;
1423
1471
  }
1424
1472
  else {
1425
- for (let i = 0; i < this.selection.length; i++) {
1426
- let selectedNode = this.selection[i];
1473
+ const selArray = currentSelection;
1474
+ for (let i = 0; i < selArray.length; i++) {
1475
+ let selectedNode = selArray[i];
1427
1476
  let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;
1428
1477
  if (areNodesEqual) {
1429
1478
  index = i;
@@ -1472,15 +1521,16 @@ class Tree extends BaseComponent {
1472
1521
  childPartialSelected = true;
1473
1522
  }
1474
1523
  }
1524
+ const currentSelection = this.selection() || [];
1475
1525
  if (select && selectedCount == node.children.length) {
1476
- this.selection = [...(this.selection || []), node];
1526
+ this.selection.set([...currentSelection, node]);
1477
1527
  node.partialSelected = false;
1478
1528
  }
1479
1529
  else {
1480
1530
  if (!select) {
1481
1531
  let index = this.findIndexInSelection(node);
1482
1532
  if (index >= 0) {
1483
- this.selection = this.selection.filter((val, i) => i != index);
1533
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1484
1534
  }
1485
1535
  }
1486
1536
  if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length))
@@ -1497,11 +1547,12 @@ class Tree extends BaseComponent {
1497
1547
  }
1498
1548
  propagateDown(node, select) {
1499
1549
  let index = this.findIndexInSelection(node);
1550
+ const currentSelection = this.selection() || [];
1500
1551
  if (select && index == -1) {
1501
- this.selection = [...(this.selection || []), node];
1552
+ this.selection.set([...currentSelection, node]);
1502
1553
  }
1503
1554
  else if (!select && index > -1) {
1504
- this.selection = this.selection.filter((val, i) => i != index);
1555
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1505
1556
  }
1506
1557
  node.partialSelected = false;
1507
1558
  this.syncNodeOption(node, this.filteredNodes, 'partialSelected');
@@ -1768,9 +1819,20 @@ class Tree extends BaseComponent {
1768
1819
  this.dragStopSubscription.unsubscribe();
1769
1820
  }
1770
1821
  }
1771
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Tree, deps: [{ token: i4.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1772
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: Tree, isStandalone: true, selector: "p-tree", inputs: { value: "value", selectionMode: "selectionMode", loadingMode: "loadingMode", selection: "selection", styleClass: "styleClass", contextMenu: "contextMenu", draggableScope: "draggableScope", droppableScope: "droppableScope", draggableNodes: ["draggableNodes", "draggableNodes", booleanAttribute], droppableNodes: ["droppableNodes", "droppableNodes", booleanAttribute], metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], propagateSelectionUp: ["propagateSelectionUp", "propagateSelectionUp", booleanAttribute], propagateSelectionDown: ["propagateSelectionDown", "propagateSelectionDown", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", emptyMessage: "emptyMessage", ariaLabel: "ariaLabel", togglerAriaLabel: "togglerAriaLabel", ariaLabelledBy: "ariaLabelledBy", validateDrop: ["validateDrop", "validateDrop", booleanAttribute], filter: ["filter", "filter", booleanAttribute], filterInputAutoFocus: ["filterInputAutoFocus", "filterInputAutoFocus", booleanAttribute], filterBy: "filterBy", filterMode: "filterMode", filterOptions: "filterOptions", filterPlaceholder: "filterPlaceholder", filteredNodes: "filteredNodes", filterLocale: "filterLocale", scrollHeight: "scrollHeight", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", indentation: ["indentation", "indentation", numberAttribute], _templateMap: "_templateMap", trackBy: "trackBy", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { selectionChange: "selectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onNodeContextMenuSelect: "onNodeContextMenuSelect", onNodeDoubleClick: "onNodeDoubleClick", onNodeDrop: "onNodeDrop", onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange", onFilter: "onFilter" }, host: { listeners: { "drop": "handleDropEvent($event)", "dragover": "handleDragOverEvent($event)", "dragenter": "handleDragEnterEvent()", "dragleave": "handleDragLeaveEvent($event)" }, properties: { "class": "cn(cx('root'), styleClass)" } }, providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }], queries: [{ propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "nodeTemplate", first: true, predicate: ["node"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "emptyMessageTemplate", first: true, predicate: ["empty"] }, { propertyName: "togglerIconTemplate", first: true, predicate: ["togglericon"] }, { propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i3.Bind }], ngImport: i0, template: `
1773
- <div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
1822
+ get containerDataP() {
1823
+ return this.cn({
1824
+ loading: this.loading,
1825
+ scrollable: this.scrollHeight === 'flex'
1826
+ });
1827
+ }
1828
+ get wrapperDataP() {
1829
+ return this.cn({
1830
+ scrollable: this.scrollHeight === 'flex'
1831
+ });
1832
+ }
1833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: Tree, deps: [{ token: i4.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1834
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: Tree, isStandalone: true, selector: "p-tree", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: false, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: false, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: false, isRequired: false, transformFunction: null }, contextMenuSelectionMode: { classPropertyName: "contextMenuSelectionMode", publicName: "contextMenuSelectionMode", isSignal: false, isRequired: false, transformFunction: null }, contextMenuSelection: { classPropertyName: "contextMenuSelection", publicName: "contextMenuSelection", isSignal: true, isRequired: false, transformFunction: null }, draggableScope: { classPropertyName: "draggableScope", publicName: "draggableScope", isSignal: false, isRequired: false, transformFunction: null }, droppableScope: { classPropertyName: "droppableScope", publicName: "droppableScope", isSignal: false, isRequired: false, transformFunction: null }, draggableNodes: { classPropertyName: "draggableNodes", publicName: "draggableNodes", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, droppableNodes: { classPropertyName: "droppableNodes", publicName: "droppableNodes", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, togglerAriaLabel: { classPropertyName: "togglerAriaLabel", publicName: "togglerAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, validateDrop: { classPropertyName: "validateDrop", publicName: "validateDrop", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterInputAutoFocus: { classPropertyName: "filterInputAutoFocus", publicName: "filterInputAutoFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterMode: { classPropertyName: "filterMode", publicName: "filterMode", isSignal: false, isRequired: false, transformFunction: null }, filterOptions: { classPropertyName: "filterOptions", publicName: "filterOptions", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filteredNodes: { classPropertyName: "filteredNodes", publicName: "filteredNodes", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, indentation: { classPropertyName: "indentation", publicName: "indentation", isSignal: false, isRequired: false, transformFunction: numberAttribute }, _templateMap: { classPropertyName: "_templateMap", publicName: "_templateMap", isSignal: false, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: false, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { selection: "selectionChange", contextMenuSelection: "contextMenuSelectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onNodeContextMenuSelect: "onNodeContextMenuSelect", onNodeDoubleClick: "onNodeDoubleClick", onNodeDrop: "onNodeDrop", onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange", onFilter: "onFilter" }, host: { listeners: { "drop": "handleDropEvent($event)", "dragover": "handleDragOverEvent($event)", "dragenter": "handleDragEnterEvent()", "dragleave": "handleDragLeaveEvent($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "attr.data-p": "containerDataP" } }, providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }], queries: [{ propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "nodeTemplate", first: true, predicate: ["node"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "togglerIconTemplate", first: true, predicate: ["togglericon"] }, { propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i3.Bind }], ngImport: i0, template: `
1835
+ <div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
1774
1836
  <i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
1775
1837
  <ng-container *ngIf="!loadingIcon">
1776
1838
  <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
@@ -1783,7 +1845,7 @@ class Tree extends BaseComponent {
1783
1845
  @if (filterTemplate || _filterTemplate) {
1784
1846
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
1785
1847
  } @else {
1786
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
1848
+ <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1787
1849
  <input
1788
1850
  #filter
1789
1851
  [pAutoFocus]="filterInputAutoFocus"
@@ -1795,8 +1857,9 @@ class Tree extends BaseComponent {
1795
1857
  (keydown.enter)="$event.preventDefault()"
1796
1858
  (input)="_filter($event.target?.value)"
1797
1859
  [pt]="ptm('pcFilterInput')"
1860
+ [unstyled]="unstyled()"
1798
1861
  />
1799
- <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1862
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
1800
1863
  <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
1801
1864
  <span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
1802
1865
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
@@ -1822,6 +1885,7 @@ class Tree extends BaseComponent {
1822
1885
  [options]="virtualScrollOptions"
1823
1886
  [pt]="ptm('virtualScroller')"
1824
1887
  hostName="tree"
1888
+ [attr.data-p]="wrapperDataP"
1825
1889
  >
1826
1890
  <ng-template #content let-items let-scrollerOptions="options">
1827
1891
  <ul
@@ -1849,6 +1913,7 @@ class Tree extends BaseComponent {
1849
1913
  [indentation]="indentation"
1850
1914
  [loadingMode]="loadingMode"
1851
1915
  [pt]="pt"
1916
+ [unstyled]="unstyled()"
1852
1917
  ></p-treeNode>
1853
1918
  </ul>
1854
1919
  </ng-template>
@@ -1859,7 +1924,7 @@ class Tree extends BaseComponent {
1859
1924
  </ng-container>
1860
1925
  </p-scroller>
1861
1926
  <ng-container *ngIf="!virtualScroll">
1862
- <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
1927
+ <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
1863
1928
  <ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
1864
1929
  <p-treeNode
1865
1930
  *ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
@@ -1870,6 +1935,7 @@ class Tree extends BaseComponent {
1870
1935
  [level]="0"
1871
1936
  [loadingMode]="loadingMode"
1872
1937
  [pt]="pt"
1938
+ [unstyled]="unstyled()"
1873
1939
  ></p-treeNode>
1874
1940
  </ul>
1875
1941
  </div>
@@ -1877,22 +1943,22 @@ class Tree extends BaseComponent {
1877
1943
  </ng-container>
1878
1944
 
1879
1945
  <div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
1880
- <ng-container *ngIf="!emptyMessageTemplate && !_emptyMessageTemplate; else emptyFilter">
1946
+ <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
1881
1947
  {{ emptyMessageLabel }}
1882
1948
  </ng-container>
1883
- <ng-template #emptyFilter *ngTemplateOutlet="emptyMessageTemplate || _emptyMessageTemplate"></ng-template>
1949
+ <ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
1884
1950
  </div>
1885
1951
  <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
1886
1952
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["hostName", "id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "styleClass"] }, { kind: "component", type: UITreeNode, selector: "p-treeNode", inputs: ["rowNode", "node", "parentNode", "root", "index", "firstChild", "lastChild", "level", "indentation", "itemSize", "loadingMode"] }, { kind: "ngmodule", type: AutoFocusModule }, { kind: "directive", type: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1887
1953
  }
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Tree, decorators: [{
1954
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: Tree, decorators: [{
1889
1955
  type: Component,
1890
1956
  args: [{
1891
1957
  selector: 'p-tree',
1892
1958
  standalone: true,
1893
1959
  imports: [CommonModule, Scroller, SharedModule, SearchIcon, SpinnerIcon, InputText, FormsModule, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],
1894
1960
  template: `
1895
- <div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
1961
+ <div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
1896
1962
  <i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
1897
1963
  <ng-container *ngIf="!loadingIcon">
1898
1964
  <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
@@ -1905,7 +1971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1905
1971
  @if (filterTemplate || _filterTemplate) {
1906
1972
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
1907
1973
  } @else {
1908
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
1974
+ <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1909
1975
  <input
1910
1976
  #filter
1911
1977
  [pAutoFocus]="filterInputAutoFocus"
@@ -1917,8 +1983,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1917
1983
  (keydown.enter)="$event.preventDefault()"
1918
1984
  (input)="_filter($event.target?.value)"
1919
1985
  [pt]="ptm('pcFilterInput')"
1986
+ [unstyled]="unstyled()"
1920
1987
  />
1921
- <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1988
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
1922
1989
  <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
1923
1990
  <span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
1924
1991
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
@@ -1944,6 +2011,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1944
2011
  [options]="virtualScrollOptions"
1945
2012
  [pt]="ptm('virtualScroller')"
1946
2013
  hostName="tree"
2014
+ [attr.data-p]="wrapperDataP"
1947
2015
  >
1948
2016
  <ng-template #content let-items let-scrollerOptions="options">
1949
2017
  <ul
@@ -1971,6 +2039,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1971
2039
  [indentation]="indentation"
1972
2040
  [loadingMode]="loadingMode"
1973
2041
  [pt]="pt"
2042
+ [unstyled]="unstyled()"
1974
2043
  ></p-treeNode>
1975
2044
  </ul>
1976
2045
  </ng-template>
@@ -1981,7 +2050,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1981
2050
  </ng-container>
1982
2051
  </p-scroller>
1983
2052
  <ng-container *ngIf="!virtualScroll">
1984
- <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
2053
+ <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
1985
2054
  <ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
1986
2055
  <p-treeNode
1987
2056
  *ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
@@ -1992,6 +2061,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1992
2061
  [level]="0"
1993
2062
  [loadingMode]="loadingMode"
1994
2063
  [pt]="pt"
2064
+ [unstyled]="unstyled()"
1995
2065
  ></p-treeNode>
1996
2066
  </ul>
1997
2067
  </div>
@@ -1999,10 +2069,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1999
2069
  </ng-container>
2000
2070
 
2001
2071
  <div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
2002
- <ng-container *ngIf="!emptyMessageTemplate && !_emptyMessageTemplate; else emptyFilter">
2072
+ <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
2003
2073
  {{ emptyMessageLabel }}
2004
2074
  </ng-container>
2005
- <ng-template #emptyFilter *ngTemplateOutlet="emptyMessageTemplate || _emptyMessageTemplate"></ng-template>
2075
+ <ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
2006
2076
  </div>
2007
2077
  <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
2008
2078
  `,
@@ -2010,7 +2080,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2010
2080
  encapsulation: ViewEncapsulation.None,
2011
2081
  providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }],
2012
2082
  host: {
2013
- '[class]': "cn(cx('root'), styleClass)"
2083
+ '[class]': "cn(cx('root'), styleClass)",
2084
+ '[attr.data-p]': 'containerDataP'
2014
2085
  },
2015
2086
  hostDirectives: [Bind]
2016
2087
  }]
@@ -2022,13 +2093,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2022
2093
  type: Input
2023
2094
  }], loadingMode: [{
2024
2095
  type: Input
2025
- }], selection: [{
2026
- type: Input
2027
- }], styleClass: [{
2096
+ }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], styleClass: [{
2028
2097
  type: Input
2029
2098
  }], contextMenu: [{
2030
2099
  type: Input
2031
- }], draggableScope: [{
2100
+ }], contextMenuSelectionMode: [{
2101
+ type: Input
2102
+ }], contextMenuSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuSelection", required: false }] }, { type: i0.Output, args: ["contextMenuSelectionChange"] }], draggableScope: [{
2032
2103
  type: Input
2033
2104
  }], droppableScope: [{
2034
2105
  type: Input
@@ -2104,8 +2175,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2104
2175
  }], highlightOnSelect: [{
2105
2176
  type: Input,
2106
2177
  args: [{ transform: booleanAttribute }]
2107
- }], selectionChange: [{
2108
- type: Output
2109
2178
  }], onNodeSelect: [{
2110
2179
  type: Output
2111
2180
  }], onNodeUnselect: [{
@@ -2143,7 +2212,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2143
2212
  }], loaderTemplate: [{
2144
2213
  type: ContentChild,
2145
2214
  args: ['loader', { descendants: false }]
2146
- }], emptyMessageTemplate: [{
2215
+ }], emptyTemplate: [{
2147
2216
  type: ContentChild,
2148
2217
  args: ['empty', { descendants: false }]
2149
2218
  }], togglerIconTemplate: [{
@@ -2187,11 +2256,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2187
2256
  args: ['dragleave', ['$event']]
2188
2257
  }] } });
2189
2258
  class TreeModule {
2190
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2191
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.4", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
2192
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
2259
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2260
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
2261
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
2193
2262
  }
2194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeModule, decorators: [{
2263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TreeModule, decorators: [{
2195
2264
  type: NgModule,
2196
2265
  args: [{
2197
2266
  imports: [Tree, SharedModule],