primeng 20.3.0 → 21.0.0-rc.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 (543) hide show
  1. package/fesm2022/primeng-accordion.mjs +103 -114
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +7 -7
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +31 -31
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +134 -78
  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 +40 -17
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +10 -10
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +56 -24
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +3 -3
  18. package/fesm2022/primeng-basecomponent.mjs +23 -20
  19. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  20. package/fesm2022/primeng-baseeditableholder.mjs +10 -10
  21. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  22. package/fesm2022/primeng-baseinput.mjs +15 -15
  23. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  24. package/fesm2022/primeng-basemodelholder.mjs +5 -5
  25. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  26. package/fesm2022/primeng-bind.mjs +13 -13
  27. package/fesm2022/primeng-bind.mjs.map +1 -1
  28. package/fesm2022/primeng-blockui.mjs +44 -24
  29. package/fesm2022/primeng-blockui.mjs.map +1 -1
  30. package/fesm2022/primeng-breadcrumb.mjs +99 -56
  31. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  32. package/fesm2022/primeng-button.mjs +212 -93
  33. package/fesm2022/primeng-button.mjs.map +1 -1
  34. package/fesm2022/primeng-buttongroup.mjs +10 -10
  35. package/fesm2022/primeng-card.mjs +31 -11
  36. package/fesm2022/primeng-card.mjs.map +1 -1
  37. package/fesm2022/primeng-carousel.mjs +23 -17
  38. package/fesm2022/primeng-carousel.mjs.map +1 -1
  39. package/fesm2022/primeng-cascadeselect.mjs +55 -46
  40. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  41. package/fesm2022/primeng-chart.mjs +10 -10
  42. package/fesm2022/primeng-chart.mjs.map +1 -1
  43. package/fesm2022/primeng-checkbox.mjs +37 -27
  44. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  45. package/fesm2022/primeng-chip.mjs +28 -12
  46. package/fesm2022/primeng-chip.mjs.map +1 -1
  47. package/fesm2022/primeng-classnames.mjs +10 -10
  48. package/fesm2022/primeng-classnames.mjs.map +1 -1
  49. package/fesm2022/primeng-colorpicker.mjs +120 -189
  50. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  51. package/fesm2022/primeng-config.mjs +16 -22
  52. package/fesm2022/primeng-config.mjs.map +1 -1
  53. package/fesm2022/primeng-confirmdialog.mjs +60 -56
  54. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  55. package/fesm2022/primeng-confirmpopup.mjs +269 -218
  56. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  57. package/fesm2022/primeng-contextmenu.mjs +556 -445
  58. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  59. package/fesm2022/primeng-dataview.mjs +21 -11
  60. package/fesm2022/primeng-dataview.mjs.map +1 -1
  61. package/fesm2022/primeng-datepicker.mjs +818 -861
  62. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  63. package/fesm2022/primeng-dialog.mjs +393 -313
  64. package/fesm2022/primeng-dialog.mjs.map +1 -1
  65. package/fesm2022/primeng-divider.mjs +19 -11
  66. package/fesm2022/primeng-divider.mjs.map +1 -1
  67. package/fesm2022/primeng-dock.mjs +51 -24
  68. package/fesm2022/primeng-dock.mjs.map +1 -1
  69. package/fesm2022/primeng-dragdrop.mjs +10 -10
  70. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  71. package/fesm2022/primeng-drawer.mjs +277 -261
  72. package/fesm2022/primeng-drawer.mjs.map +1 -1
  73. package/fesm2022/primeng-dynamicdialog.mjs +34 -19
  74. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  75. package/fesm2022/primeng-editor.mjs +12 -12
  76. package/fesm2022/primeng-editor.mjs.map +1 -1
  77. package/fesm2022/primeng-fieldset.mjs +108 -90
  78. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  79. package/fesm2022/primeng-fileupload.mjs +76 -66
  80. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  81. package/fesm2022/primeng-floatlabel.mjs +10 -10
  82. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  83. package/fesm2022/primeng-fluid.mjs +10 -10
  84. package/fesm2022/primeng-focustrap.mjs +7 -7
  85. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  86. package/fesm2022/primeng-galleria.mjs +261 -137
  87. package/fesm2022/primeng-galleria.mjs.map +1 -1
  88. package/fesm2022/primeng-iconfield.mjs +10 -10
  89. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  90. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  91. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  92. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  93. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  94. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  95. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  96. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  97. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  98. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  99. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  100. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  101. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  102. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  103. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  104. package/fesm2022/primeng-icons-ban.mjs +3 -3
  105. package/fesm2022/primeng-icons-bars.mjs +3 -3
  106. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  107. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  108. package/fesm2022/primeng-icons-blank.mjs +3 -3
  109. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  110. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  111. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  112. package/fesm2022/primeng-icons-check.mjs +3 -3
  113. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  114. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  115. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  116. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  117. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  118. package/fesm2022/primeng-icons-eye.mjs +3 -3
  119. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  120. package/fesm2022/primeng-icons-filter.mjs +3 -3
  121. package/fesm2022/primeng-icons-filterfill.mjs +3 -3
  122. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  123. package/fesm2022/primeng-icons-home.mjs +3 -3
  124. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  125. package/fesm2022/primeng-icons-minus.mjs +3 -3
  126. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  127. package/fesm2022/primeng-icons-plus.mjs +3 -3
  128. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  129. package/fesm2022/primeng-icons-search.mjs +3 -3
  130. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  131. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  132. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  133. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  134. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  135. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  136. package/fesm2022/primeng-icons-star.mjs +3 -3
  137. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  138. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  139. package/fesm2022/primeng-icons-times.mjs +3 -3
  140. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  141. package/fesm2022/primeng-icons-trash.mjs +3 -3
  142. package/fesm2022/primeng-icons-undo.mjs +3 -3
  143. package/fesm2022/primeng-icons-upload.mjs +3 -3
  144. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  145. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  146. package/fesm2022/primeng-iftalabel.mjs +10 -10
  147. package/fesm2022/primeng-image.mjs +225 -182
  148. package/fesm2022/primeng-image.mjs.map +1 -1
  149. package/fesm2022/primeng-imagecompare.mjs +12 -12
  150. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  151. package/fesm2022/primeng-inplace.mjs +22 -22
  152. package/fesm2022/primeng-inplace.mjs.map +1 -1
  153. package/fesm2022/primeng-inputgroup.mjs +10 -10
  154. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  155. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  156. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  157. package/fesm2022/primeng-inputicon.mjs +10 -10
  158. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  159. package/fesm2022/primeng-inputmask.mjs +16 -13
  160. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  161. package/fesm2022/primeng-inputnumber.mjs +42 -17
  162. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  163. package/fesm2022/primeng-inputotp.mjs +25 -17
  164. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  165. package/fesm2022/primeng-inputtext.mjs +51 -20
  166. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  167. package/fesm2022/primeng-keyfilter.mjs +7 -7
  168. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  169. package/fesm2022/primeng-knob.mjs +25 -25
  170. package/fesm2022/primeng-knob.mjs.map +1 -1
  171. package/fesm2022/primeng-listbox.mjs +60 -27
  172. package/fesm2022/primeng-listbox.mjs.map +1 -1
  173. package/fesm2022/primeng-megamenu.mjs +136 -52
  174. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  175. package/fesm2022/primeng-menu.mjs +291 -272
  176. package/fesm2022/primeng-menu.mjs.map +1 -1
  177. package/fesm2022/primeng-menubar.mjs +168 -59
  178. package/fesm2022/primeng-menubar.mjs.map +1 -1
  179. package/fesm2022/primeng-message.mjs +121 -145
  180. package/fesm2022/primeng-message.mjs.map +1 -1
  181. package/fesm2022/primeng-metergroup.mjs +108 -25
  182. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  183. package/fesm2022/primeng-motion.mjs +660 -0
  184. package/fesm2022/primeng-motion.mjs.map +1 -0
  185. package/fesm2022/primeng-multiselect.mjs +196 -77
  186. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  187. package/fesm2022/primeng-orderlist.mjs +69 -19
  188. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  189. package/fesm2022/primeng-organizationchart.mjs +25 -27
  190. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  191. package/fesm2022/primeng-overlay.mjs +207 -114
  192. package/fesm2022/primeng-overlay.mjs.map +1 -1
  193. package/fesm2022/primeng-overlaybadge.mjs +10 -10
  194. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  195. package/fesm2022/primeng-paginator.mjs +28 -20
  196. package/fesm2022/primeng-paginator.mjs.map +1 -1
  197. package/fesm2022/primeng-panel.mjs +71 -128
  198. package/fesm2022/primeng-panel.mjs.map +1 -1
  199. package/fesm2022/primeng-panelmenu.mjs +303 -205
  200. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  201. package/fesm2022/primeng-password.mjs +185 -184
  202. package/fesm2022/primeng-password.mjs.map +1 -1
  203. package/fesm2022/primeng-picklist.mjs +133 -95
  204. package/fesm2022/primeng-picklist.mjs.map +1 -1
  205. package/fesm2022/primeng-popover.mjs +151 -246
  206. package/fesm2022/primeng-popover.mjs.map +1 -1
  207. package/fesm2022/primeng-progressbar.mjs +28 -18
  208. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  209. package/fesm2022/primeng-progressspinner.mjs +10 -10
  210. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  211. package/fesm2022/primeng-radiobutton.mjs +30 -18
  212. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  213. package/fesm2022/primeng-rating.mjs +23 -12
  214. package/fesm2022/primeng-rating.mjs.map +1 -1
  215. package/fesm2022/primeng-ripple.mjs +22 -15
  216. package/fesm2022/primeng-ripple.mjs.map +1 -1
  217. package/fesm2022/primeng-scroller.mjs +19 -11
  218. package/fesm2022/primeng-scroller.mjs.map +1 -1
  219. package/fesm2022/primeng-scrollpanel.mjs +26 -22
  220. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  221. package/fesm2022/primeng-scrolltop.mjs +107 -110
  222. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  223. package/fesm2022/primeng-select.mjs +116 -65
  224. package/fesm2022/primeng-select.mjs.map +1 -1
  225. package/fesm2022/primeng-selectbutton.mjs +25 -15
  226. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  227. package/fesm2022/primeng-skeleton.mjs +23 -15
  228. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  229. package/fesm2022/primeng-slider.mjs +50 -25
  230. package/fesm2022/primeng-slider.mjs.map +1 -1
  231. package/fesm2022/primeng-speeddial.mjs +32 -29
  232. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  233. package/fesm2022/primeng-splitbutton.mjs +55 -31
  234. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  235. package/fesm2022/primeng-splitter.mjs +27 -18
  236. package/fesm2022/primeng-splitter.mjs.map +1 -1
  237. package/fesm2022/primeng-stepper.mjs +134 -154
  238. package/fesm2022/primeng-stepper.mjs.map +1 -1
  239. package/fesm2022/primeng-steps.mjs +13 -11
  240. package/fesm2022/primeng-steps.mjs.map +1 -1
  241. package/fesm2022/primeng-styleclass.mjs +8 -8
  242. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  243. package/fesm2022/primeng-table.mjs +719 -550
  244. package/fesm2022/primeng-table.mjs.map +1 -1
  245. package/fesm2022/primeng-tabs.mjs +134 -133
  246. package/fesm2022/primeng-tabs.mjs.map +1 -1
  247. package/fesm2022/primeng-tag.mjs +22 -11
  248. package/fesm2022/primeng-tag.mjs.map +1 -1
  249. package/fesm2022/primeng-terminal.mjs +14 -15
  250. package/fesm2022/primeng-terminal.mjs.map +1 -1
  251. package/fesm2022/primeng-textarea.mjs +39 -17
  252. package/fesm2022/primeng-textarea.mjs.map +1 -1
  253. package/fesm2022/primeng-tieredmenu.mjs +581 -474
  254. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  255. package/fesm2022/primeng-timeline.mjs +36 -23
  256. package/fesm2022/primeng-timeline.mjs.map +1 -1
  257. package/fesm2022/primeng-toast.mjs +155 -129
  258. package/fesm2022/primeng-toast.mjs.map +1 -1
  259. package/fesm2022/primeng-togglebutton.mjs +28 -14
  260. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  261. package/fesm2022/primeng-toggleswitch.mjs +28 -23
  262. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  263. package/fesm2022/primeng-toolbar.mjs +13 -13
  264. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  265. package/fesm2022/primeng-tooltip.mjs +40 -17
  266. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  267. package/fesm2022/primeng-tree.mjs +185 -108
  268. package/fesm2022/primeng-tree.mjs.map +1 -1
  269. package/fesm2022/primeng-treeselect.mjs +70 -43
  270. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  271. package/fesm2022/primeng-treetable.mjs +169 -127
  272. package/fesm2022/primeng-treetable.mjs.map +1 -1
  273. package/fesm2022/primeng-types-motion.mjs +4 -0
  274. package/fesm2022/primeng-types-motion.mjs.map +1 -0
  275. package/fesm2022/primeng-usestyle.mjs +3 -3
  276. package/package.json +653 -645
  277. package/{accordion/index.d.ts → types/primeng-accordion.d.ts} +37 -26
  278. package/{api/index.d.ts → types/primeng-api.d.ts} +27 -1
  279. package/{autocomplete/index.d.ts → types/primeng-autocomplete.d.ts} +37 -27
  280. package/{avatar/index.d.ts → types/primeng-avatar.d.ts} +18 -1
  281. package/{badge/index.d.ts → types/primeng-badge.d.ts} +36 -17
  282. package/{basecomponent/index.d.ts → types/primeng-basecomponent.d.ts} +6 -5
  283. package/{bind/index.d.ts → types/primeng-bind.d.ts} +2 -2
  284. package/{breadcrumb/index.d.ts → types/primeng-breadcrumb.d.ts} +7 -7
  285. package/{button/index.d.ts → types/primeng-button.d.ts} +89 -40
  286. package/{card/index.d.ts → types/primeng-card.d.ts} +30 -10
  287. package/{carousel/index.d.ts → types/primeng-carousel.d.ts} +16 -16
  288. package/{cascadeselect/index.d.ts → types/primeng-cascadeselect.d.ts} +33 -27
  289. package/{checkbox/index.d.ts → types/primeng-checkbox.d.ts} +5 -4
  290. package/{chip/index.d.ts → types/primeng-chip.d.ts} +14 -2
  291. package/{classnames/index.d.ts → types/primeng-classnames.d.ts} +1 -1
  292. package/{colorpicker/index.d.ts → types/primeng-colorpicker.d.ts} +28 -29
  293. package/{config/index.d.ts → types/primeng-config.d.ts} +0 -6
  294. package/{confirmdialog/index.d.ts → types/primeng-confirmdialog.d.ts} +51 -23
  295. package/{confirmpopup/index.d.ts → types/primeng-confirmpopup.d.ts} +64 -26
  296. package/{contextmenu/index.d.ts → types/primeng-contextmenu.d.ts} +47 -34
  297. package/{dataview/index.d.ts → types/primeng-dataview.d.ts} +19 -13
  298. package/{datepicker/index.d.ts → types/primeng-datepicker.d.ts} +52 -35
  299. package/{dialog/index.d.ts → types/primeng-dialog.d.ts} +92 -47
  300. package/{divider/index.d.ts → types/primeng-divider.d.ts} +1 -0
  301. package/{dock/index.d.ts → types/primeng-dock.d.ts} +8 -3
  302. package/{drawer/index.d.ts → types/primeng-drawer.d.ts} +51 -37
  303. package/{dynamicdialog/index.d.ts → types/primeng-dynamicdialog.d.ts} +22 -9
  304. package/{fieldset/index.d.ts → types/primeng-fieldset.d.ts} +43 -24
  305. package/{fileupload/index.d.ts → types/primeng-fileupload.d.ts} +31 -28
  306. package/{galleria/index.d.ts → types/primeng-galleria.d.ts} +96 -31
  307. package/{image/index.d.ts → types/primeng-image.d.ts} +69 -40
  308. package/{imagecompare/index.d.ts → types/primeng-imagecompare.d.ts} +6 -6
  309. package/{inplace/index.d.ts → types/primeng-inplace.d.ts} +10 -10
  310. package/{inputmask/index.d.ts → types/primeng-inputmask.d.ts} +3 -3
  311. package/{inputnumber/index.d.ts → types/primeng-inputnumber.d.ts} +10 -9
  312. package/{inputotp/index.d.ts → types/primeng-inputotp.d.ts} +6 -43
  313. package/types/primeng-inputtext.d.ts +116 -0
  314. package/{knob/index.d.ts → types/primeng-knob.d.ts} +1 -1
  315. package/{listbox/index.d.ts → types/primeng-listbox.d.ts} +41 -23
  316. package/{megamenu/index.d.ts → types/primeng-megamenu.d.ts} +23 -19
  317. package/{menu/index.d.ts → types/primeng-menu.d.ts} +31 -20
  318. package/{menubar/index.d.ts → types/primeng-menubar.d.ts} +19 -16
  319. package/{message/index.d.ts → types/primeng-message.d.ts} +22 -12
  320. package/{metergroup/index.d.ts → types/primeng-metergroup.d.ts} +44 -12
  321. package/types/primeng-motion.d.ts +396 -0
  322. package/{multiselect/index.d.ts → types/primeng-multiselect.d.ts} +119 -41
  323. package/{orderlist/index.d.ts → types/primeng-orderlist.d.ts} +25 -21
  324. package/{overlay/index.d.ts → types/primeng-overlay.d.ts} +88 -20
  325. package/{paginator/index.d.ts → types/primeng-paginator.d.ts} +25 -25
  326. package/{panel/index.d.ts → types/primeng-panel.d.ts} +30 -17
  327. package/{panelmenu/index.d.ts → types/primeng-panelmenu.d.ts} +25 -28
  328. package/{password/index.d.ts → types/primeng-password.d.ts} +74 -27
  329. package/{picklist/index.d.ts → types/primeng-picklist.d.ts} +59 -67
  330. package/{popover/index.d.ts → types/primeng-popover.d.ts} +32 -14
  331. package/{progressbar/index.d.ts → types/primeng-progressbar.d.ts} +9 -5
  332. package/{radiobutton/index.d.ts → types/primeng-radiobutton.d.ts} +1 -0
  333. package/{rating/index.d.ts → types/primeng-rating.d.ts} +11 -6
  334. package/{scroller/index.d.ts → types/primeng-scroller.d.ts} +17 -9
  335. package/{scrollpanel/index.d.ts → types/primeng-scrollpanel.d.ts} +3 -3
  336. package/{scrolltop/index.d.ts → types/primeng-scrolltop.d.ts} +21 -9
  337. package/{select/index.d.ts → types/primeng-select.d.ts} +46 -36
  338. package/{selectbutton/index.d.ts → types/primeng-selectbutton.d.ts} +7 -4
  339. package/{skeleton/index.d.ts → types/primeng-skeleton.d.ts} +1 -0
  340. package/{slider/index.d.ts → types/primeng-slider.d.ts} +1 -0
  341. package/{speeddial/index.d.ts → types/primeng-speeddial.d.ts} +17 -17
  342. package/{splitbutton/index.d.ts → types/primeng-splitbutton.d.ts} +23 -12
  343. package/{splitter/index.d.ts → types/primeng-splitter.d.ts} +1 -0
  344. package/{stepper/index.d.ts → types/primeng-stepper.d.ts} +12 -7
  345. package/{table/index.d.ts → types/primeng-table.d.ts} +51 -10
  346. package/{tabs/index.d.ts → types/primeng-tabs.d.ts} +57 -56
  347. package/{tag/index.d.ts → types/primeng-tag.d.ts} +7 -2
  348. package/{textarea/index.d.ts → types/primeng-textarea.d.ts} +14 -1
  349. package/{tieredmenu/index.d.ts → types/primeng-tieredmenu.d.ts} +51 -33
  350. package/{timeline/index.d.ts → types/primeng-timeline.d.ts} +14 -7
  351. package/{toast/index.d.ts → types/primeng-toast.d.ts} +40 -13
  352. package/{togglebutton/index.d.ts → types/primeng-togglebutton.d.ts} +10 -5
  353. package/{toggleswitch/index.d.ts → types/primeng-toggleswitch.d.ts} +6 -18
  354. package/{toolbar/index.d.ts → types/primeng-toolbar.d.ts} +9 -9
  355. package/{tooltip/index.d.ts → types/primeng-tooltip.d.ts} +21 -3
  356. package/{tree/index.d.ts → types/primeng-tree.d.ts} +77 -53
  357. package/{treeselect/index.d.ts → types/primeng-treeselect.d.ts} +62 -42
  358. package/{treetable/index.d.ts → types/primeng-treetable.d.ts} +55 -53
  359. package/types/{accordion/index.d.ts → primeng-types-accordion.d.ts} +9 -0
  360. package/types/{autocomplete/index.d.ts → primeng-types-autocomplete.d.ts} +76 -63
  361. package/types/{breadcrumb/index.d.ts → primeng-types-breadcrumb.d.ts} +27 -1
  362. package/types/{button/index.d.ts → primeng-types-button.d.ts} +37 -18
  363. package/types/{card/index.d.ts → primeng-types-card.d.ts} +10 -10
  364. package/types/{carousel/index.d.ts → primeng-types-carousel.d.ts} +22 -19
  365. package/types/{cascadeselect/index.d.ts → primeng-types-cascadeselect.d.ts} +44 -27
  366. package/types/{checkbox/index.d.ts → primeng-types-checkbox.d.ts} +22 -3
  367. package/types/{chip/index.d.ts → primeng-types-chip.d.ts} +4 -4
  368. package/types/{colorpicker/index.d.ts → primeng-types-colorpicker.d.ts} +5 -0
  369. package/types/{confirmdialog/index.d.ts → primeng-types-confirmdialog.d.ts} +46 -20
  370. package/types/{confirmpopup/index.d.ts → primeng-types-confirmpopup.d.ts} +36 -13
  371. package/types/{contextmenu/index.d.ts → primeng-types-contextmenu.d.ts} +31 -18
  372. package/types/{dataview/index.d.ts → primeng-types-dataview.d.ts} +63 -44
  373. package/types/{datepicker/index.d.ts → primeng-types-datepicker.d.ts} +111 -54
  374. package/types/{dialog/index.d.ts → primeng-types-dialog.d.ts} +15 -6
  375. package/types/{dock/index.d.ts → primeng-types-dock.d.ts} +13 -10
  376. package/types/{drawer/index.d.ts → primeng-types-drawer.d.ts} +12 -7
  377. package/types/{fieldset/index.d.ts → primeng-types-fieldset.d.ts} +15 -6
  378. package/types/primeng-types-fileupload.d.ts +360 -0
  379. package/types/{galleria/index.d.ts → primeng-types-galleria.d.ts} +72 -55
  380. package/types/{image/index.d.ts → primeng-types-image.d.ts} +45 -94
  381. package/types/{imagecompare/index.d.ts → primeng-types-imagecompare.d.ts} +16 -1
  382. package/types/{inplace/index.d.ts → primeng-types-inplace.d.ts} +18 -7
  383. package/types/{inputmask/index.d.ts → primeng-types-inputmask.d.ts} +1 -1
  384. package/types/{inputnumber/index.d.ts → primeng-types-inputnumber.d.ts} +3 -3
  385. package/types/primeng-types-inputotp.d.ts +101 -0
  386. package/types/{listbox/index.d.ts → primeng-types-listbox.d.ts} +123 -44
  387. package/types/{megamenu/index.d.ts → primeng-types-megamenu.d.ts} +30 -14
  388. package/types/{menu/index.d.ts → primeng-types-menu.d.ts} +35 -22
  389. package/types/{menubar/index.d.ts → primeng-types-menubar.d.ts} +23 -20
  390. package/types/{message/index.d.ts → primeng-types-message.d.ts} +36 -1
  391. package/types/{metergroup/index.d.ts → primeng-types-metergroup.d.ts} +78 -80
  392. package/types/primeng-types-motion.d.ts +26 -0
  393. package/types/{multiselect/index.d.ts → primeng-types-multiselect.d.ts} +135 -83
  394. package/types/{orderlist/index.d.ts → primeng-types-orderlist.d.ts} +44 -35
  395. package/types/primeng-types-overlay.d.ts +60 -0
  396. package/types/{paginator/index.d.ts → primeng-types-paginator.d.ts} +42 -6
  397. package/types/{panel/index.d.ts → primeng-types-panel.d.ts} +38 -1
  398. package/types/{panelmenu/index.d.ts → primeng-types-panelmenu.d.ts} +27 -10
  399. package/types/{password/index.d.ts → primeng-types-password.d.ts} +30 -7
  400. package/types/{picklist/index.d.ts → primeng-types-picklist.d.ts} +69 -74
  401. package/types/{popover/index.d.ts → primeng-types-popover.d.ts} +19 -12
  402. package/types/{progressbar/index.d.ts → primeng-types-progressbar.d.ts} +13 -9
  403. package/types/{rating/index.d.ts → primeng-types-rating.d.ts} +19 -7
  404. package/types/{scroller/index.d.ts → primeng-types-scroller.d.ts} +60 -50
  405. package/types/{scrollpanel/index.d.ts → primeng-types-scrollpanel.d.ts} +1 -1
  406. package/types/{scrolltop/index.d.ts → primeng-types-scrolltop.d.ts} +19 -10
  407. package/types/{select/index.d.ts → primeng-types-select.d.ts} +80 -49
  408. package/types/{selectbutton/index.d.ts → primeng-types-selectbutton.d.ts} +17 -2
  409. package/types/{speeddial/index.d.ts → primeng-types-speeddial.d.ts} +35 -17
  410. package/types/{splitbutton/index.d.ts → primeng-types-splitbutton.d.ts} +4 -4
  411. package/types/{splitter/index.d.ts → primeng-types-splitter.d.ts} +2 -2
  412. package/types/{stepper/index.d.ts → primeng-types-stepper.d.ts} +9 -0
  413. package/types/{table/index.d.ts → primeng-types-table.d.ts} +20 -11
  414. package/types/{tag/index.d.ts → primeng-types-tag.d.ts} +2 -2
  415. package/types/{tieredmenu/index.d.ts → primeng-types-tieredmenu.d.ts} +25 -17
  416. package/types/{timeline/index.d.ts → primeng-types-timeline.d.ts} +19 -29
  417. package/types/{toast/index.d.ts → primeng-types-toast.d.ts} +39 -22
  418. package/types/{togglebutton/index.d.ts → primeng-types-togglebutton.d.ts} +25 -24
  419. package/types/{toggleswitch/index.d.ts → primeng-types-toggleswitch.d.ts} +23 -1
  420. package/types/{toolbar/index.d.ts → primeng-types-toolbar.d.ts} +6 -6
  421. package/types/{tree/index.d.ts → primeng-types-tree.d.ts} +75 -41
  422. package/types/{treeselect/index.d.ts → primeng-types-treeselect.d.ts} +80 -53
  423. package/types/{treetable/index.d.ts → primeng-types-treetable.d.ts} +145 -156
  424. package/inputtext/index.d.ts +0 -97
  425. package/types/fileupload/index.d.ts +0 -576
  426. package/types/inputotp/index.d.ts +0 -31
  427. package/types/overlay/index.d.ts +0 -28
  428. /package/{animateonscroll/index.d.ts → types/primeng-animateonscroll.d.ts} +0 -0
  429. /package/{autofocus/index.d.ts → types/primeng-autofocus.d.ts} +0 -0
  430. /package/{avatargroup/index.d.ts → types/primeng-avatargroup.d.ts} +0 -0
  431. /package/{base/index.d.ts → types/primeng-base.d.ts} +0 -0
  432. /package/{baseeditableholder/index.d.ts → types/primeng-baseeditableholder.d.ts} +0 -0
  433. /package/{baseinput/index.d.ts → types/primeng-baseinput.d.ts} +0 -0
  434. /package/{basemodelholder/index.d.ts → types/primeng-basemodelholder.d.ts} +0 -0
  435. /package/{blockui/index.d.ts → types/primeng-blockui.d.ts} +0 -0
  436. /package/{buttongroup/index.d.ts → types/primeng-buttongroup.d.ts} +0 -0
  437. /package/{chart/index.d.ts → types/primeng-chart.d.ts} +0 -0
  438. /package/{dom/index.d.ts → types/primeng-dom.d.ts} +0 -0
  439. /package/{dragdrop/index.d.ts → types/primeng-dragdrop.d.ts} +0 -0
  440. /package/{editor/index.d.ts → types/primeng-editor.d.ts} +0 -0
  441. /package/{floatlabel/index.d.ts → types/primeng-floatlabel.d.ts} +0 -0
  442. /package/{fluid/index.d.ts → types/primeng-fluid.d.ts} +0 -0
  443. /package/{focustrap/index.d.ts → types/primeng-focustrap.d.ts} +0 -0
  444. /package/{iconfield/index.d.ts → types/primeng-iconfield.d.ts} +0 -0
  445. /package/{icons/angledoubledown/index.d.ts → types/primeng-icons-angledoubledown.d.ts} +0 -0
  446. /package/{icons/angledoubleleft/index.d.ts → types/primeng-icons-angledoubleleft.d.ts} +0 -0
  447. /package/{icons/angledoubleright/index.d.ts → types/primeng-icons-angledoubleright.d.ts} +0 -0
  448. /package/{icons/angledoubleup/index.d.ts → types/primeng-icons-angledoubleup.d.ts} +0 -0
  449. /package/{icons/angledown/index.d.ts → types/primeng-icons-angledown.d.ts} +0 -0
  450. /package/{icons/angleleft/index.d.ts → types/primeng-icons-angleleft.d.ts} +0 -0
  451. /package/{icons/angleright/index.d.ts → types/primeng-icons-angleright.d.ts} +0 -0
  452. /package/{icons/angleup/index.d.ts → types/primeng-icons-angleup.d.ts} +0 -0
  453. /package/{icons/arrowdown/index.d.ts → types/primeng-icons-arrowdown.d.ts} +0 -0
  454. /package/{icons/arrowdownleft/index.d.ts → types/primeng-icons-arrowdownleft.d.ts} +0 -0
  455. /package/{icons/arrowdownright/index.d.ts → types/primeng-icons-arrowdownright.d.ts} +0 -0
  456. /package/{icons/arrowleft/index.d.ts → types/primeng-icons-arrowleft.d.ts} +0 -0
  457. /package/{icons/arrowright/index.d.ts → types/primeng-icons-arrowright.d.ts} +0 -0
  458. /package/{icons/arrowup/index.d.ts → types/primeng-icons-arrowup.d.ts} +0 -0
  459. /package/{icons/ban/index.d.ts → types/primeng-icons-ban.d.ts} +0 -0
  460. /package/{icons/bars/index.d.ts → types/primeng-icons-bars.d.ts} +0 -0
  461. /package/{icons/baseicon/index.d.ts → types/primeng-icons-baseicon.d.ts} +0 -0
  462. /package/{icons/blank/index.d.ts → types/primeng-icons-blank.d.ts} +0 -0
  463. /package/{icons/calendar/index.d.ts → types/primeng-icons-calendar.d.ts} +0 -0
  464. /package/{icons/caretleft/index.d.ts → types/primeng-icons-caretleft.d.ts} +0 -0
  465. /package/{icons/caretright/index.d.ts → types/primeng-icons-caretright.d.ts} +0 -0
  466. /package/{icons/check/index.d.ts → types/primeng-icons-check.d.ts} +0 -0
  467. /package/{icons/chevrondown/index.d.ts → types/primeng-icons-chevrondown.d.ts} +0 -0
  468. /package/{icons/chevronleft/index.d.ts → types/primeng-icons-chevronleft.d.ts} +0 -0
  469. /package/{icons/chevronright/index.d.ts → types/primeng-icons-chevronright.d.ts} +0 -0
  470. /package/{icons/chevronup/index.d.ts → types/primeng-icons-chevronup.d.ts} +0 -0
  471. /package/{icons/exclamationtriangle/index.d.ts → types/primeng-icons-exclamationtriangle.d.ts} +0 -0
  472. /package/{icons/eye/index.d.ts → types/primeng-icons-eye.d.ts} +0 -0
  473. /package/{icons/eyeslash/index.d.ts → types/primeng-icons-eyeslash.d.ts} +0 -0
  474. /package/{icons/filter/index.d.ts → types/primeng-icons-filter.d.ts} +0 -0
  475. /package/{icons/filterfill/index.d.ts → types/primeng-icons-filterfill.d.ts} +0 -0
  476. /package/{icons/filterslash/index.d.ts → types/primeng-icons-filterslash.d.ts} +0 -0
  477. /package/{icons/home/index.d.ts → types/primeng-icons-home.d.ts} +0 -0
  478. /package/{icons/infocircle/index.d.ts → types/primeng-icons-infocircle.d.ts} +0 -0
  479. /package/{icons/minus/index.d.ts → types/primeng-icons-minus.d.ts} +0 -0
  480. /package/{icons/pencil/index.d.ts → types/primeng-icons-pencil.d.ts} +0 -0
  481. /package/{icons/plus/index.d.ts → types/primeng-icons-plus.d.ts} +0 -0
  482. /package/{icons/refresh/index.d.ts → types/primeng-icons-refresh.d.ts} +0 -0
  483. /package/{icons/search/index.d.ts → types/primeng-icons-search.d.ts} +0 -0
  484. /package/{icons/searchminus/index.d.ts → types/primeng-icons-searchminus.d.ts} +0 -0
  485. /package/{icons/searchplus/index.d.ts → types/primeng-icons-searchplus.d.ts} +0 -0
  486. /package/{icons/sortalt/index.d.ts → types/primeng-icons-sortalt.d.ts} +0 -0
  487. /package/{icons/sortamountdown/index.d.ts → types/primeng-icons-sortamountdown.d.ts} +0 -0
  488. /package/{icons/sortamountupalt/index.d.ts → types/primeng-icons-sortamountupalt.d.ts} +0 -0
  489. /package/{icons/spinner/index.d.ts → types/primeng-icons-spinner.d.ts} +0 -0
  490. /package/{icons/star/index.d.ts → types/primeng-icons-star.d.ts} +0 -0
  491. /package/{icons/starfill/index.d.ts → types/primeng-icons-starfill.d.ts} +0 -0
  492. /package/{icons/thlarge/index.d.ts → types/primeng-icons-thlarge.d.ts} +0 -0
  493. /package/{icons/times/index.d.ts → types/primeng-icons-times.d.ts} +0 -0
  494. /package/{icons/timescircle/index.d.ts → types/primeng-icons-timescircle.d.ts} +0 -0
  495. /package/{icons/trash/index.d.ts → types/primeng-icons-trash.d.ts} +0 -0
  496. /package/{icons/undo/index.d.ts → types/primeng-icons-undo.d.ts} +0 -0
  497. /package/{icons/upload/index.d.ts → types/primeng-icons-upload.d.ts} +0 -0
  498. /package/{icons/windowmaximize/index.d.ts → types/primeng-icons-windowmaximize.d.ts} +0 -0
  499. /package/{icons/windowminimize/index.d.ts → types/primeng-icons-windowminimize.d.ts} +0 -0
  500. /package/{icons/index.d.ts → types/primeng-icons.d.ts} +0 -0
  501. /package/{iftalabel/index.d.ts → types/primeng-iftalabel.d.ts} +0 -0
  502. /package/{inputgroup/index.d.ts → types/primeng-inputgroup.d.ts} +0 -0
  503. /package/{inputgroupaddon/index.d.ts → types/primeng-inputgroupaddon.d.ts} +0 -0
  504. /package/{inputicon/index.d.ts → types/primeng-inputicon.d.ts} +0 -0
  505. /package/{keyfilter/index.d.ts → types/primeng-keyfilter.d.ts} +0 -0
  506. /package/{organizationchart/index.d.ts → types/primeng-organizationchart.d.ts} +0 -0
  507. /package/{overlaybadge/index.d.ts → types/primeng-overlaybadge.d.ts} +0 -0
  508. /package/{passthrough/index.d.ts → types/primeng-passthrough.d.ts} +0 -0
  509. /package/{progressspinner/index.d.ts → types/primeng-progressspinner.d.ts} +0 -0
  510. /package/{ripple/index.d.ts → types/primeng-ripple.d.ts} +0 -0
  511. /package/{steps/index.d.ts → types/primeng-steps.d.ts} +0 -0
  512. /package/{styleclass/index.d.ts → types/primeng-styleclass.d.ts} +0 -0
  513. /package/{terminal/index.d.ts → types/primeng-terminal.d.ts} +0 -0
  514. /package/{ts-helpers/index.d.ts → types/primeng-ts-helpers.d.ts} +0 -0
  515. /package/types/{avatar/index.d.ts → primeng-types-avatar.d.ts} +0 -0
  516. /package/types/{avatargroup/index.d.ts → primeng-types-avatargroup.d.ts} +0 -0
  517. /package/types/{badge/index.d.ts → primeng-types-badge.d.ts} +0 -0
  518. /package/types/{blockui/index.d.ts → primeng-types-blockui.d.ts} +0 -0
  519. /package/types/{chart/index.d.ts → primeng-types-chart.d.ts} +0 -0
  520. /package/types/{divider/index.d.ts → primeng-types-divider.d.ts} +0 -0
  521. /package/types/{editor/index.d.ts → primeng-types-editor.d.ts} +0 -0
  522. /package/types/{floatlabel/index.d.ts → primeng-types-floatlabel.d.ts} +0 -0
  523. /package/types/{fluid/index.d.ts → primeng-types-fluid.d.ts} +0 -0
  524. /package/types/{iconfield/index.d.ts → primeng-types-iconfield.d.ts} +0 -0
  525. /package/types/{iftalabel/index.d.ts → primeng-types-iftalabel.d.ts} +0 -0
  526. /package/types/{inputgroup/index.d.ts → primeng-types-inputgroup.d.ts} +0 -0
  527. /package/types/{inputgroupaddon/index.d.ts → primeng-types-inputgroupaddon.d.ts} +0 -0
  528. /package/types/{inputicon/index.d.ts → primeng-types-inputicon.d.ts} +0 -0
  529. /package/types/{inputtext/index.d.ts → primeng-types-inputtext.d.ts} +0 -0
  530. /package/types/{knob/index.d.ts → primeng-types-knob.d.ts} +0 -0
  531. /package/types/{organizationchart/index.d.ts → primeng-types-organizationchart.d.ts} +0 -0
  532. /package/types/{overlaybadge/index.d.ts → primeng-types-overlaybadge.d.ts} +0 -0
  533. /package/types/{progressspinner/index.d.ts → primeng-types-progressspinner.d.ts} +0 -0
  534. /package/types/{radiobutton/index.d.ts → primeng-types-radiobutton.d.ts} +0 -0
  535. /package/types/{skeleton/index.d.ts → primeng-types-skeleton.d.ts} +0 -0
  536. /package/types/{slider/index.d.ts → primeng-types-slider.d.ts} +0 -0
  537. /package/types/{tabs/index.d.ts → primeng-types-tabs.d.ts} +0 -0
  538. /package/types/{terminal/index.d.ts → primeng-types-terminal.d.ts} +0 -0
  539. /package/types/{textarea/index.d.ts → primeng-types-textarea.d.ts} +0 -0
  540. /package/types/{tooltip/index.d.ts → primeng-types-tooltip.d.ts} +0 -0
  541. /package/{usestyle/index.d.ts → types/primeng-usestyle.d.ts} +0 -0
  542. /package/{utils/index.d.ts → types/primeng-utils.d.ts} +0 -0
  543. /package/{index.d.ts → types/primeng.d.ts} +0 -0
@@ -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, ChangeDetectionStrategy, Component, model, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, 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';
@@ -43,7 +43,8 @@ const classes = {
43
43
  'p-tree-node-content': true,
44
44
  'p-tree-node-selectable': instance.selectable,
45
45
  'p-tree-node-dragover': instance.isNodeDropActive(),
46
- 'p-tree-node-selected': instance.selectionMode === 'checkbox' && instance.tree.highlightOnSelect ? instance.checked : instance.selected
46
+ 'p-tree-node-selected': instance.selectionMode === 'checkbox' && instance.tree.highlightOnSelect ? instance.checked : instance.selected,
47
+ 'p-tree-node-contextmenu-selected': instance.isContextMenuSelected()
47
48
  }),
48
49
  nodeToggleButton: 'p-tree-node-toggle-button',
49
50
  nodeToggleIcon: 'p-tree-node-toggle-icon',
@@ -58,10 +59,10 @@ class TreeStyle extends BaseStyle {
58
59
  name = 'tree';
59
60
  style = style;
60
61
  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 });
62
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeStyle });
63
64
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeStyle, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeStyle, decorators: [{
65
66
  type: Injectable
66
67
  }] });
67
68
  /**
@@ -159,19 +160,37 @@ class UITreeNode extends BaseComponent {
159
160
  loadingMode;
160
161
  tree = inject(forwardRef(() => Tree));
161
162
  timeout;
162
- isPrevDropPointHovered = signal(false, ...(ngDevMode ? [{ debugName: "isPrevDropPointHovered" }] : []));
163
- isNextDropPointHovered = signal(false, ...(ngDevMode ? [{ debugName: "isNextDropPointHovered" }] : []));
164
- isNodeDropHovered = signal(false, ...(ngDevMode ? [{ debugName: "isNodeDropHovered" }] : []));
165
- isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable(), ...(ngDevMode ? [{ debugName: "isPrevDropPointActive" }] : []));
166
- isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable(), ...(ngDevMode ? [{ debugName: "isNextDropPointActive" }] : []));
167
- isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : []));
168
- dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), ...(ngDevMode ? [{ debugName: "dropPosition" }] : []));
163
+ isPrevDropPointHovered = signal(false, { ...(ngDevMode ? { debugName: "isPrevDropPointHovered" } : {}) });
164
+ isNextDropPointHovered = signal(false, { ...(ngDevMode ? { debugName: "isNextDropPointHovered" } : {}) });
165
+ isNodeDropHovered = signal(false, { ...(ngDevMode ? { debugName: "isNodeDropHovered" } : {}) });
166
+ isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable(), { ...(ngDevMode ? { debugName: "isPrevDropPointActive" } : {}) });
167
+ isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable(), { ...(ngDevMode ? { debugName: "isNextDropPointActive" } : {}) });
168
+ isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), { ...(ngDevMode ? { debugName: "isNodeDropActive" } : {}) });
169
+ dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), { ...(ngDevMode ? { debugName: "dropPosition" } : {}) });
169
170
  _componentStyle = inject(TreeStyle);
171
+ /**
172
+ * Computed signal that reactively tracks selection state.
173
+ */
174
+ _selected = computed(() => {
175
+ // Reading selection() makes this computed reactive to selection changes
176
+ this.tree.selection();
177
+ return this.tree.isSelected(this.node);
178
+ }, { ...(ngDevMode ? { debugName: "_selected" } : {}) });
179
+ /**
180
+ * Computed signal that reactively tracks context menu selection state.
181
+ */
182
+ _contextMenuSelected = computed(() => {
183
+ const selection = this.tree.contextMenuSelection();
184
+ if (!selection || !this.node) {
185
+ return false;
186
+ }
187
+ return selection === this.node || (selection.key && selection.key === this.node.key);
188
+ }, { ...(ngDevMode ? { debugName: "_contextMenuSelected" } : {}) });
170
189
  get selected() {
171
- return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this.isSelected() : undefined;
190
+ return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this._selected() : undefined;
172
191
  }
173
192
  get checked() {
174
- return this.tree.selectionMode === 'checkbox' ? this.isSelected() : undefined;
193
+ return this.tree.selectionMode === 'checkbox' ? this._selected() : undefined;
175
194
  }
176
195
  get nodeClass() {
177
196
  return this.tree._componentStyle.classes.node({ instance: this });
@@ -216,7 +235,10 @@ class UITreeNode extends BaseComponent {
216
235
  return this.tree.isNodeLeaf(this.node);
217
236
  }
218
237
  isSelected() {
219
- return this.tree.isSelected(this.node);
238
+ return this._selected();
239
+ }
240
+ isContextMenuSelected() {
241
+ return this._contextMenuSelected();
220
242
  }
221
243
  isSameNode(event) {
222
244
  return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
@@ -504,7 +526,7 @@ class UITreeNode extends BaseComponent {
504
526
  event.preventDefault();
505
527
  }
506
528
  setAllNodesTabIndexes() {
507
- const nodes = find(this.tree.el.nativeElement, '.p-tree-node');
529
+ const nodes = find(this.tree.el.nativeElement, '[data-pc-section="node"]');
508
530
  const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');
509
531
  [...nodes].forEach((node) => {
510
532
  node.tabIndex = -1;
@@ -540,7 +562,7 @@ class UITreeNode extends BaseComponent {
540
562
  }
541
563
  }
542
564
  findLastVisibleDescendant(nodeElement) {
543
- const listElement = Array.from(nodeElement.children).find((el) => hasClass(el, 'p-tree-node'));
565
+ const listElement = Array.from(nodeElement.children).find((el) => el.getAttribute('data-pc-section') === 'node');
544
566
  const childrenListElement = listElement?.children[1];
545
567
  if (childrenListElement && childrenListElement.children.length > 0) {
546
568
  const lastChildElement = childrenListElement.children[childrenListElement.children.length - 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: "21.0.1", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
597
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", 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)"
@@ -636,6 +658,7 @@ class UITreeNode extends BaseComponent {
636
658
  [tabindex]="-1"
637
659
  (click)="$event.preventDefault()"
638
660
  [pt]="getPTOptions('pcNodeCheckbox')"
661
+ [unstyled]="unstyled()"
639
662
  >
640
663
  <ng-container *ngIf="tree.checkboxIconTemplate || tree._checkboxIconTemplate">
641
664
  <ng-template #icon>
@@ -662,7 +685,7 @@ class UITreeNode extends BaseComponent {
662
685
  </span>
663
686
  </div>
664
687
  @if (isNextDropPointActive()) {
665
- <div [class]="cx('dropPoint')" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
688
+ <div [class]="cx('dropPoint', { next: true })" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
666
689
  }
667
690
  <ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group" [pBind]="ptm('nodeChildren')">
668
691
  <p-treeNode
@@ -675,18 +698,21 @@ class UITreeNode extends BaseComponent {
675
698
  [itemSize]="itemSize"
676
699
  [level]="level + 1"
677
700
  [loadingMode]="loadingMode"
701
+ [pt]="pt"
702
+ [unstyled]="unstyled()"
678
703
  ></p-treeNode>
679
704
  </ul>
680
705
  </li>
681
706
  }
682
- `, 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 });
707
+ `, 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
683
708
  }
684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: UITreeNode, decorators: [{
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UITreeNode, decorators: [{
685
710
  type: Component,
686
711
  args: [{
687
712
  selector: 'p-treeNode',
688
713
  standalone: true,
689
714
  imports: [CommonModule, Ripple, Checkbox, FormsModule, ChevronRightIcon, ChevronDownIcon, SpinnerIcon, SharedModule, BindModule],
715
+ changeDetection: ChangeDetectionStrategy.OnPush,
690
716
  template: `
691
717
  @if (node) {
692
718
  <li
@@ -751,6 +777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
751
777
  [tabindex]="-1"
752
778
  (click)="$event.preventDefault()"
753
779
  [pt]="getPTOptions('pcNodeCheckbox')"
780
+ [unstyled]="unstyled()"
754
781
  >
755
782
  <ng-container *ngIf="tree.checkboxIconTemplate || tree._checkboxIconTemplate">
756
783
  <ng-template #icon>
@@ -777,7 +804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
777
804
  </span>
778
805
  </div>
779
806
  @if (isNextDropPointActive()) {
780
- <div [class]="cx('dropPoint')" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
807
+ <div [class]="cx('dropPoint', { next: true })" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
781
808
  }
782
809
  <ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group" [pBind]="ptm('nodeChildren')">
783
810
  <p-treeNode
@@ -790,6 +817,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
790
817
  [itemSize]="itemSize"
791
818
  [level]="level + 1"
792
819
  [loadingMode]="loadingMode"
820
+ [pt]="pt"
821
+ [unstyled]="unstyled()"
793
822
  ></p-treeNode>
794
823
  </ul>
795
824
  </li>
@@ -858,7 +887,7 @@ class Tree extends BaseComponent {
858
887
  * A single treenode instance or an array to refer to the selections.
859
888
  * @group Props
860
889
  */
861
- selection;
890
+ selection = model(null, { ...(ngDevMode ? { debugName: "selection" } : {}) });
862
891
  /**
863
892
  * Style class of the component.
864
893
  * @deprecated since v20.0.0, use `class` instead.
@@ -870,6 +899,16 @@ class Tree extends BaseComponent {
870
899
  * @group Props
871
900
  */
872
901
  contextMenu;
902
+ /**
903
+ * Defines the behavior of context menu selection, in "separate" mode context menu updates contextMenuSelection property whereas in joint mode selection property is used instead so that when row selection is enabled, both row selection and context menu selection use the same property.
904
+ * @group Props
905
+ */
906
+ contextMenuSelectionMode = 'joint';
907
+ /**
908
+ * Selected node with a context menu.
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.
@@ -1098,52 +1131,60 @@ class Tree extends BaseComponent {
1098
1131
  */
1099
1132
  onFilter = new EventEmitter();
1100
1133
  /**
1101
- * Filter template.
1134
+ * Custom filter template.
1135
+ * @param {TreeFilterTemplateContext} context - filter context.
1136
+ * @see {@link TreeFilterTemplateContext}
1102
1137
  * @group Templates
1103
1138
  */
1104
1139
  filterTemplate;
1105
1140
  /**
1106
- * Node template.
1141
+ * Custom node template.
1107
1142
  * @group Templates
1108
1143
  */
1109
1144
  nodeTemplate;
1110
1145
  /**
1111
- * Header template.
1146
+ * Custom header template.
1112
1147
  * @group Templates
1113
1148
  */
1114
1149
  headerTemplate;
1115
1150
  /**
1116
- * Footer template.
1151
+ * Custom footer template.
1117
1152
  * @group Templates
1118
1153
  */
1119
1154
  footerTemplate;
1120
1155
  /**
1121
- * Loader template.
1156
+ * Custom loader template.
1157
+ * @param {TreeLoaderTemplateContext} context - loader context.
1158
+ * @see {@link TreeLoaderTemplateContext}
1122
1159
  * @group Templates
1123
1160
  */
1124
1161
  loaderTemplate;
1125
1162
  /**
1126
- * Empty message template.
1163
+ * Custom empty message template.
1127
1164
  * @group Templates
1128
1165
  */
1129
- emptyMessageTemplate;
1166
+ emptyTemplate;
1130
1167
  /**
1131
- * Toggler icon template.
1168
+ * Custom toggler icon template.
1169
+ * @param {TreeTogglerIconTemplateContext} context - toggler icon context.
1170
+ * @see {@link TreeTogglerIconTemplateContext}
1132
1171
  * @group Templates
1133
1172
  */
1134
1173
  togglerIconTemplate;
1135
1174
  /**
1136
- * Checkbox icon template.
1175
+ * Custom checkbox icon template.
1176
+ * @param {TreeCheckboxIconTemplateContext} context - checkbox icon context.
1177
+ * @see {@link TreeCheckboxIconTemplateContext}
1137
1178
  * @group Templates
1138
1179
  */
1139
1180
  checkboxIconTemplate;
1140
1181
  /**
1141
- * Loading icon template.
1182
+ * Custom loading icon template.
1142
1183
  * @group Templates
1143
1184
  */
1144
1185
  loadingIconTemplate;
1145
1186
  /**
1146
- * Filter icon template.
1187
+ * Custom filter icon template.
1147
1188
  * @group Templates
1148
1189
  */
1149
1190
  filterIconTemplate;
@@ -1153,7 +1194,7 @@ class Tree extends BaseComponent {
1153
1194
  contentViewChild;
1154
1195
  templates;
1155
1196
  _headerTemplate;
1156
- _emptyMessageTemplate;
1197
+ _emptyTemplate;
1157
1198
  _footerTemplate;
1158
1199
  _loaderTemplate;
1159
1200
  _togglerIconTemplate;
@@ -1171,7 +1212,7 @@ class Tree extends BaseComponent {
1171
1212
  this._headerTemplate = item.template;
1172
1213
  break;
1173
1214
  case 'empty':
1174
- this._emptyMessageTemplate = item.template;
1215
+ this._emptyTemplate = item.template;
1175
1216
  break;
1176
1217
  case 'footer':
1177
1218
  this._footerTemplate = item.template;
@@ -1286,10 +1327,11 @@ class Tree extends BaseComponent {
1286
1327
  }
1287
1328
  onNodeClick(event, node) {
1288
1329
  let eventTarget = event.target;
1289
- if (hasClass(eventTarget, 'p-tree-toggler') || hasClass(eventTarget, 'p-tree-toggler-icon')) {
1330
+ const section = eventTarget?.getAttribute?.('data-pc-section');
1331
+ if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1290
1332
  return;
1291
1333
  }
1292
- else if (this.selectionMode) {
1334
+ if (this.selectionMode) {
1293
1335
  if (node.selectable === false) {
1294
1336
  node.style = '--p-focus-ring-color: none;';
1295
1337
  return;
@@ -1307,27 +1349,26 @@ class Tree extends BaseComponent {
1307
1349
  }
1308
1350
  let index = this.findIndexInSelection(node);
1309
1351
  let selected = index >= 0;
1352
+ const currentSelection = this.selection();
1310
1353
  if (this.isCheckboxSelectionMode()) {
1311
1354
  if (selected) {
1312
1355
  if (this.propagateSelectionDown)
1313
1356
  this.propagateDown(node, false);
1314
1357
  else
1315
- this.selection = this.selection.filter((val, i) => i != index);
1358
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1316
1359
  if (this.propagateSelectionUp && node.parent) {
1317
1360
  this.propagateUp(node.parent, false);
1318
1361
  }
1319
- this.selectionChange.emit(this.selection);
1320
1362
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1321
1363
  }
1322
1364
  else {
1323
1365
  if (this.propagateSelectionDown)
1324
1366
  this.propagateDown(node, true);
1325
1367
  else
1326
- this.selection = [...(this.selection || []), node];
1368
+ this.selection.set([...(currentSelection || []), node]);
1327
1369
  if (this.propagateSelectionUp && node.parent) {
1328
1370
  this.propagateUp(node.parent, true);
1329
1371
  }
1330
- this.selectionChange.emit(this.selection);
1331
1372
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1332
1373
  }
1333
1374
  }
@@ -1337,22 +1378,20 @@ class Tree extends BaseComponent {
1337
1378
  let metaKey = event.metaKey || event.ctrlKey;
1338
1379
  if (selected && metaKey) {
1339
1380
  if (this.isSingleSelectionMode()) {
1340
- this.selectionChange.emit(null);
1381
+ this.selection.set(null);
1341
1382
  }
1342
1383
  else {
1343
- this.selection = this.selection.filter((val, i) => i != index);
1344
- this.selectionChange.emit(this.selection);
1384
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1345
1385
  }
1346
1386
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1347
1387
  }
1348
1388
  else {
1349
1389
  if (this.isSingleSelectionMode()) {
1350
- this.selectionChange.emit(node);
1390
+ this.selection.set(node);
1351
1391
  }
1352
1392
  else if (this.isMultipleSelectionMode()) {
1353
- this.selection = !metaKey ? [] : this.selection || [];
1354
- this.selection = [...this.selection, node];
1355
- this.selectionChange.emit(this.selection);
1393
+ const base = !metaKey ? [] : currentSelection || [];
1394
+ this.selection.set([...base, node]);
1356
1395
  }
1357
1396
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1358
1397
  }
@@ -1360,11 +1399,11 @@ class Tree extends BaseComponent {
1360
1399
  else {
1361
1400
  if (this.isSingleSelectionMode()) {
1362
1401
  if (selected) {
1363
- this.selection = null;
1402
+ this.selection.set(null);
1364
1403
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1365
1404
  }
1366
1405
  else {
1367
- this.selection = node;
1406
+ this.selection.set(node);
1368
1407
  setTimeout(() => {
1369
1408
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1370
1409
  });
@@ -1372,17 +1411,16 @@ class Tree extends BaseComponent {
1372
1411
  }
1373
1412
  else {
1374
1413
  if (selected) {
1375
- this.selection = this.selection.filter((val, i) => i != index);
1414
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1376
1415
  this.onNodeUnselect.emit({ originalEvent: event, node: node });
1377
1416
  }
1378
1417
  else {
1379
- this.selection = [...(this.selection || []), node];
1418
+ this.selection.set([...(currentSelection || []), node]);
1380
1419
  setTimeout(() => {
1381
1420
  this.onNodeSelect.emit({ originalEvent: event, node: node });
1382
1421
  });
1383
1422
  }
1384
1423
  }
1385
- this.selectionChange.emit(this.selection);
1386
1424
  }
1387
1425
  }
1388
1426
  }
@@ -1394,20 +1432,36 @@ class Tree extends BaseComponent {
1394
1432
  onNodeRightClick(event, node) {
1395
1433
  if (this.contextMenu) {
1396
1434
  let eventTarget = event.target;
1397
- if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {
1435
+ const section = eventTarget.getAttribute('data-pc-section');
1436
+ if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
1398
1437
  return;
1399
1438
  }
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
- }
1439
+ let index = this.findIndexInSelection(node);
1440
+ let isNodeSelected = index >= 0;
1441
+ const onContextMenuCallback = () => {
1409
1442
  this.contextMenu.show(event);
1443
+ this.contextMenu.hideCallback = () => {
1444
+ this.contextMenuSelection.set(null);
1445
+ };
1410
1446
  this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });
1447
+ };
1448
+ if (this.contextMenuSelectionMode === 'separate') {
1449
+ // In 'separate' mode: Update contextMenuSelection with clicked node, don't modify selection
1450
+ this.contextMenuSelection.set(node);
1451
+ onContextMenuCallback();
1452
+ }
1453
+ else if (this.contextMenuSelectionMode === 'joint') {
1454
+ // In 'joint' mode: Update only selection, don't touch contextMenuSelection
1455
+ if (!isNodeSelected) {
1456
+ if (this.isSingleSelectionMode()) {
1457
+ this.selection.set(node);
1458
+ }
1459
+ else {
1460
+ this.selection.set([node]);
1461
+ }
1462
+ }
1463
+ // If already selected, keep current selection as is
1464
+ onContextMenuCallback();
1411
1465
  }
1412
1466
  }
1413
1467
  }
@@ -1416,14 +1470,17 @@ class Tree extends BaseComponent {
1416
1470
  }
1417
1471
  findIndexInSelection(node) {
1418
1472
  let index = -1;
1419
- if (this.selectionMode && this.selection) {
1473
+ const currentSelection = this.selection();
1474
+ if (this.selectionMode && currentSelection) {
1420
1475
  if (this.isSingleSelectionMode()) {
1421
- let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;
1476
+ const sel = currentSelection;
1477
+ let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;
1422
1478
  index = areNodesEqual ? 0 : -1;
1423
1479
  }
1424
1480
  else {
1425
- for (let i = 0; i < this.selection.length; i++) {
1426
- let selectedNode = this.selection[i];
1481
+ const selArray = currentSelection;
1482
+ for (let i = 0; i < selArray.length; i++) {
1483
+ let selectedNode = selArray[i];
1427
1484
  let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;
1428
1485
  if (areNodesEqual) {
1429
1486
  index = i;
@@ -1472,15 +1529,16 @@ class Tree extends BaseComponent {
1472
1529
  childPartialSelected = true;
1473
1530
  }
1474
1531
  }
1532
+ const currentSelection = this.selection() || [];
1475
1533
  if (select && selectedCount == node.children.length) {
1476
- this.selection = [...(this.selection || []), node];
1534
+ this.selection.set([...currentSelection, node]);
1477
1535
  node.partialSelected = false;
1478
1536
  }
1479
1537
  else {
1480
1538
  if (!select) {
1481
1539
  let index = this.findIndexInSelection(node);
1482
1540
  if (index >= 0) {
1483
- this.selection = this.selection.filter((val, i) => i != index);
1541
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1484
1542
  }
1485
1543
  }
1486
1544
  if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length))
@@ -1497,11 +1555,12 @@ class Tree extends BaseComponent {
1497
1555
  }
1498
1556
  propagateDown(node, select) {
1499
1557
  let index = this.findIndexInSelection(node);
1558
+ const currentSelection = this.selection() || [];
1500
1559
  if (select && index == -1) {
1501
- this.selection = [...(this.selection || []), node];
1560
+ this.selection.set([...currentSelection, node]);
1502
1561
  }
1503
1562
  else if (!select && index > -1) {
1504
- this.selection = this.selection.filter((val, i) => i != index);
1563
+ this.selection.set(currentSelection.filter((_val, i) => i != index));
1505
1564
  }
1506
1565
  node.partialSelected = false;
1507
1566
  this.syncNodeOption(node, this.filteredNodes, 'partialSelected');
@@ -1768,9 +1827,20 @@ class Tree extends BaseComponent {
1768
1827
  this.dragStopSubscription.unsubscribe();
1769
1828
  }
1770
1829
  }
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')">
1830
+ get containerDataP() {
1831
+ return this.cn({
1832
+ loading: this.loading,
1833
+ scrollable: this.scrollHeight === 'flex'
1834
+ });
1835
+ }
1836
+ get wrapperDataP() {
1837
+ return this.cn({
1838
+ scrollable: this.scrollHeight === 'flex'
1839
+ });
1840
+ }
1841
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Tree, deps: [{ token: i4.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1842
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", 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: `
1843
+ <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
1844
  <i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
1775
1845
  <ng-container *ngIf="!loadingIcon">
1776
1846
  <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
@@ -1783,7 +1853,7 @@ class Tree extends BaseComponent {
1783
1853
  @if (filterTemplate || _filterTemplate) {
1784
1854
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
1785
1855
  } @else {
1786
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
1856
+ <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1787
1857
  <input
1788
1858
  #filter
1789
1859
  [pAutoFocus]="filterInputAutoFocus"
@@ -1795,8 +1865,9 @@ class Tree extends BaseComponent {
1795
1865
  (keydown.enter)="$event.preventDefault()"
1796
1866
  (input)="_filter($event.target?.value)"
1797
1867
  [pt]="ptm('pcFilterInput')"
1868
+ [unstyled]="unstyled()"
1798
1869
  />
1799
- <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1870
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
1800
1871
  <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
1801
1872
  <span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
1802
1873
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
@@ -1822,6 +1893,7 @@ class Tree extends BaseComponent {
1822
1893
  [options]="virtualScrollOptions"
1823
1894
  [pt]="ptm('virtualScroller')"
1824
1895
  hostName="tree"
1896
+ [attr.data-p]="wrapperDataP"
1825
1897
  >
1826
1898
  <ng-template #content let-items let-scrollerOptions="options">
1827
1899
  <ul
@@ -1849,6 +1921,7 @@ class Tree extends BaseComponent {
1849
1921
  [indentation]="indentation"
1850
1922
  [loadingMode]="loadingMode"
1851
1923
  [pt]="pt"
1924
+ [unstyled]="unstyled()"
1852
1925
  ></p-treeNode>
1853
1926
  </ul>
1854
1927
  </ng-template>
@@ -1859,7 +1932,7 @@ class Tree extends BaseComponent {
1859
1932
  </ng-container>
1860
1933
  </p-scroller>
1861
1934
  <ng-container *ngIf="!virtualScroll">
1862
- <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
1935
+ <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
1863
1936
  <ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
1864
1937
  <p-treeNode
1865
1938
  *ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
@@ -1870,6 +1943,7 @@ class Tree extends BaseComponent {
1870
1943
  [level]="0"
1871
1944
  [loadingMode]="loadingMode"
1872
1945
  [pt]="pt"
1946
+ [unstyled]="unstyled()"
1873
1947
  ></p-treeNode>
1874
1948
  </ul>
1875
1949
  </div>
@@ -1877,22 +1951,22 @@ class Tree extends BaseComponent {
1877
1951
  </ng-container>
1878
1952
 
1879
1953
  <div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
1880
- <ng-container *ngIf="!emptyMessageTemplate && !_emptyMessageTemplate; else emptyFilter">
1954
+ <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
1881
1955
  {{ emptyMessageLabel }}
1882
1956
  </ng-container>
1883
- <ng-template #emptyFilter *ngTemplateOutlet="emptyMessageTemplate || _emptyMessageTemplate"></ng-template>
1957
+ <ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
1884
1958
  </div>
1885
1959
  <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
1886
- `, 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 });
1960
+ `, 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", "pInputTextPT", "pInputTextUnstyled", "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
1961
  }
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: Tree, decorators: [{
1962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: Tree, decorators: [{
1889
1963
  type: Component,
1890
1964
  args: [{
1891
1965
  selector: 'p-tree',
1892
1966
  standalone: true,
1893
1967
  imports: [CommonModule, Scroller, SharedModule, SearchIcon, SpinnerIcon, InputText, FormsModule, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],
1894
1968
  template: `
1895
- <div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
1969
+ <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
1970
  <i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
1897
1971
  <ng-container *ngIf="!loadingIcon">
1898
1972
  <svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
@@ -1905,7 +1979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1905
1979
  @if (filterTemplate || _filterTemplate) {
1906
1980
  <ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
1907
1981
  } @else {
1908
- <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
1982
+ <p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
1909
1983
  <input
1910
1984
  #filter
1911
1985
  [pAutoFocus]="filterInputAutoFocus"
@@ -1917,8 +1991,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1917
1991
  (keydown.enter)="$event.preventDefault()"
1918
1992
  (input)="_filter($event.target?.value)"
1919
1993
  [pt]="ptm('pcFilterInput')"
1994
+ [unstyled]="unstyled()"
1920
1995
  />
1921
- <p-inputicon [pt]="ptm('pcFilterIconContainer')">
1996
+ <p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
1922
1997
  <svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
1923
1998
  <span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
1924
1999
  <ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
@@ -1944,6 +2019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1944
2019
  [options]="virtualScrollOptions"
1945
2020
  [pt]="ptm('virtualScroller')"
1946
2021
  hostName="tree"
2022
+ [attr.data-p]="wrapperDataP"
1947
2023
  >
1948
2024
  <ng-template #content let-items let-scrollerOptions="options">
1949
2025
  <ul
@@ -1971,6 +2047,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1971
2047
  [indentation]="indentation"
1972
2048
  [loadingMode]="loadingMode"
1973
2049
  [pt]="pt"
2050
+ [unstyled]="unstyled()"
1974
2051
  ></p-treeNode>
1975
2052
  </ul>
1976
2053
  </ng-template>
@@ -1981,7 +2058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1981
2058
  </ng-container>
1982
2059
  </p-scroller>
1983
2060
  <ng-container *ngIf="!virtualScroll">
1984
- <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
2061
+ <div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
1985
2062
  <ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
1986
2063
  <p-treeNode
1987
2064
  *ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
@@ -1992,6 +2069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1992
2069
  [level]="0"
1993
2070
  [loadingMode]="loadingMode"
1994
2071
  [pt]="pt"
2072
+ [unstyled]="unstyled()"
1995
2073
  ></p-treeNode>
1996
2074
  </ul>
1997
2075
  </div>
@@ -1999,10 +2077,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
1999
2077
  </ng-container>
2000
2078
 
2001
2079
  <div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
2002
- <ng-container *ngIf="!emptyMessageTemplate && !_emptyMessageTemplate; else emptyFilter">
2080
+ <ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
2003
2081
  {{ emptyMessageLabel }}
2004
2082
  </ng-container>
2005
- <ng-template #emptyFilter *ngTemplateOutlet="emptyMessageTemplate || _emptyMessageTemplate"></ng-template>
2083
+ <ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
2006
2084
  </div>
2007
2085
  <ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
2008
2086
  `,
@@ -2010,7 +2088,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2010
2088
  encapsulation: ViewEncapsulation.None,
2011
2089
  providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }],
2012
2090
  host: {
2013
- '[class]': "cn(cx('root'), styleClass)"
2091
+ '[class]': "cn(cx('root'), styleClass)",
2092
+ '[attr.data-p]': 'containerDataP'
2014
2093
  },
2015
2094
  hostDirectives: [Bind]
2016
2095
  }]
@@ -2022,13 +2101,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2022
2101
  type: Input
2023
2102
  }], loadingMode: [{
2024
2103
  type: Input
2025
- }], selection: [{
2026
- type: Input
2027
- }], styleClass: [{
2104
+ }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], styleClass: [{
2028
2105
  type: Input
2029
2106
  }], contextMenu: [{
2030
2107
  type: Input
2031
- }], draggableScope: [{
2108
+ }], contextMenuSelectionMode: [{
2109
+ type: Input
2110
+ }], contextMenuSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuSelection", required: false }] }, { type: i0.Output, args: ["contextMenuSelectionChange"] }], draggableScope: [{
2032
2111
  type: Input
2033
2112
  }], droppableScope: [{
2034
2113
  type: Input
@@ -2104,8 +2183,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2104
2183
  }], highlightOnSelect: [{
2105
2184
  type: Input,
2106
2185
  args: [{ transform: booleanAttribute }]
2107
- }], selectionChange: [{
2108
- type: Output
2109
2186
  }], onNodeSelect: [{
2110
2187
  type: Output
2111
2188
  }], onNodeUnselect: [{
@@ -2143,7 +2220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2143
2220
  }], loaderTemplate: [{
2144
2221
  type: ContentChild,
2145
2222
  args: ['loader', { descendants: false }]
2146
- }], emptyMessageTemplate: [{
2223
+ }], emptyTemplate: [{
2147
2224
  type: ContentChild,
2148
2225
  args: ['empty', { descendants: false }]
2149
2226
  }], togglerIconTemplate: [{
@@ -2187,11 +2264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
2187
2264
  args: ['dragleave', ['$event']]
2188
2265
  }] } });
2189
2266
  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] });
2267
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2268
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
2269
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
2193
2270
  }
2194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: TreeModule, decorators: [{
2271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TreeModule, decorators: [{
2195
2272
  type: NgModule,
2196
2273
  args: [{
2197
2274
  imports: [Tree, SharedModule],